From d6b5551bff867250edcdc36455ef32844ee2b935 Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Tue, 4 Nov 2014 20:23:22 +0300 Subject: convert server data for using with hercules. --- .gitignore | 150 +- COPYING | 912 ++- athena-start | 72 + conf/atcommand.conf | 72 + conf/atcommand_athena.conf | 7 - conf/atcommand_local.conf.example | 497 -- conf/battle.conf | 61 + conf/battle/battle.conf | 152 + conf/battle/battleground.conf | 17 + conf/battle/client.conf | 128 + conf/battle/drops.conf | 134 + conf/battle/exp.conf | 91 + conf/battle/feature.conf | 29 + conf/battle/gm.conf | 37 + conf/battle/guild.conf | 49 + conf/battle/homunc.conf | 45 + conf/battle/items.conf | 95 + conf/battle/misc.conf | 137 + conf/battle/monster.conf | 218 + conf/battle/party.conf | 54 + conf/battle/pet.conf | 77 + conf/battle/player.conf | 170 + conf/battle/skill.conf | 305 + conf/battle/status.conf | 24 + conf/battle_athena.conf | 752 --- conf/battle_local.conf.example | 1 - conf/battlegrounds.conf | 125 + conf/build-magic.sh | 21 - conf/channels.conf | 64 + conf/char-server.conf | 187 + conf/char_athena.conf | 137 - conf/char_local.conf.example | 25 - conf/charhelp.txt | 28 + conf/eathena-monitor.conf.example | 14 - conf/gm_account.txt.example | 1 - conf/grf-files.txt | 12 + conf/groups.conf | 276 + conf/help.txt | 307 + conf/help.txt.example | 193 - conf/import-tmpl/battle_conf.txt | 0 conf/import-tmpl/char_conf.txt | 0 conf/import-tmpl/inter_conf.txt | 0 conf/import-tmpl/log_conf.txt | 0 conf/import-tmpl/login_conf.txt | 0 conf/import-tmpl/map_conf.txt | 0 conf/import-tmpl/msg_conf.txt | 0 conf/import-tmpl/packet_conf.txt | 0 conf/import-tmpl/script_conf.txt | 0 conf/inter-server.conf | 152 + conf/inter_athena.conf | 31 - conf/ladmin_athena.conf | 28 - conf/ladmin_local.conf.example | 10 - conf/lan_support.conf | 41 - conf/login-server.conf | 156 + conf/login_athena.conf | 130 - conf/login_local.conf.example | 30 - conf/logs.conf | 134 + conf/magic.conf.template | 1835 ------ conf/magic.conf.tmw.template | 1617 ------ conf/map-server.conf | 115 + conf/map_athena.conf | 19 - conf/map_local.conf.example | 15 - conf/maps.conf | 17 + conf/messages.conf | 1538 +++++ conf/msg_athena.conf | 528 -- conf/packet.conf | 66 + conf/plugins.conf | 39 + conf/readme.txt | 22 + conf/script.conf | 29 + conf/script_athena.conf | 2 - conf/subnet.conf | 6 + conf/water.txt | 54 - conf/water_height.txt | 68 - data/000-0-0.wlk | Bin 3029 -> 0 bytes data/000-0.wlk | Bin 2213 -> 0 bytes data/000-1.wlk | Bin 19204 -> 0 bytes data/000-2-0.wlk | Bin 2760 -> 0 bytes data/000-2-1.wlk | Bin 5491 -> 0 bytes data/000-2-2.wlk | Bin 4344 -> 0 bytes data/000-2-3.wlk | Bin 2760 -> 0 bytes data/001-1.wlk | Bin 43754 -> 0 bytes data/001-2-0.wlk | Bin 4756 -> 0 bytes data/001-2-2.wlk | Bin 4624 -> 0 bytes data/001-2-3.wlk | Bin 4624 -> 0 bytes data/001-2-4.wlk | Bin 5746 -> 0 bytes data/001-2-5.wlk | Bin 4426 -> 0 bytes data/001-2-6.wlk | Bin 5746 -> 0 bytes data/001-2-7.wlk | Bin 5746 -> 0 bytes data/001-2-8.wlk | Bin 5746 -> 0 bytes data/001-2-9.wlk | Bin 5746 -> 0 bytes data/resnametable.txt | 17 - db/GeoIP.dat | Bin 0 -> 668134 bytes db/abra_db.txt | 14 + db/attr_fix.txt | 53 - db/card_labels.txt | 1 - db/cashshop_db.conf | 4 + db/castle_db.txt | 0 db/const.txt | 3583 +++++++++++- db/create_arrow_db.txt | 11 + db/elemental_db.txt | 7 + db/elemental_skill_db.txt | 7 + db/exp.txt | 99 - db/exp2.txt | 99 - db/guild_skill_tree.txt | 12 + db/homun_skill_tree.txt | 15 + db/item_bluebox.txt | 7 - db/item_cardalbum.txt | 7 - db/item_db.txt | 61 - db/item_db2.conf | 3 + db/item_descriptions.txt | 1 - db/item_giftbox.txt | 7 - db/item_noequip.txt | 4 - db/item_scroll.txt | 5 - db/item_violetbox.txt | 7 - db/job_db1.txt | 70 - db/job_db2-2.txt | 26 - db/job_db2.txt | 87 +- db/magicmushroom_db.txt | 3 + db/map_index.txt | 17 + db/mercenary_db.txt | 5 + db/mercenary_skill_db.txt | 5 + db/mob_avail.txt | 15 + db/mob_branch.txt | 9 - db/mob_chat_db.txt | 4 + db/mob_classchange.txt | 5 + db/mob_db.txt | 13 - db/mob_db2.txt | 5 + db/mob_item_ratio.txt | 30 + db/mob_pouch.txt | 5 + db/mob_skill_db.txt | 66 - db/mob_skill_db2.txt | 54 + db/pet_db.txt | 60 + db/pet_db2.txt | 60 + db/produce_db.txt | 9 + db/quest_db.txt | 24 + db/questvars.txt | 36 - db/re/attr_fix.txt | 56 + db/re/exp.txt | 59 + db/re/exp_guild.txt | 51 + db/re/exp_homun.txt | 151 + db/re/homunculus_db.txt | 20 + db/re/item_chain.conf | 21 + db/re/item_combo_db.txt | 5 + db/re/item_db.conf | 1509 +++++ db/re/item_group.conf | 20 + db/re/item_packages.conf | 26 + db/re/job_db1.txt | 7 + db/re/level_penalty.txt | 14 + db/re/map_cache.dat | Bin 0 -> 3522 bytes db/re/map_zone_db.conf | 446 ++ db/re/mob_boss.txt | 5 + db/re/mob_branch.txt | 5 + db/re/mob_db.txt | 13 + db/re/mob_poring.txt | 5 + db/re/mob_race2_db.txt | 5 + db/re/mob_skill_db.txt | 122 + db/re/refine_db.txt | 31 + db/re/skill_cast_db.txt | 1949 +++++++ db/re/skill_castnodex_db.txt | 57 + db/re/skill_db.txt | 1274 ++++ db/re/skill_require_db.txt | 1028 ++++ db/re/skill_tree.conf | 38 + db/re/skill_unit_db.txt | 189 + db/re/statpoint.txt | 255 + db/sc_config.txt | 442 ++ db/size_fix.txt | 7 + db/skill_changematerial_db.txt | 11 + db/skill_db.txt | 45 - db/skill_improvise_db.txt | 12 + db/skill_reproduce_db.txt | 7 + db/skill_require_db.txt | 4 - db/skill_tree.txt | 15 - db/spellbook_db.txt | 7 + db/statpoint.txt | 255 - debug-start | 72 + doc/atcommands.txt | 1457 +++++ doc/ea_job_system.txt | 197 + doc/effect_list.txt | 986 ++++ doc/item_bonus.txt | 418 ++ doc/item_db.txt | 308 + doc/map_cache.txt | 68 + doc/md5_hashcheck.txt | 58 + doc/mob_db_mode_list.txt | 110 + doc/packet_struct_notation.txt | 118 + doc/permissions.txt | 35 + doc/quest_variables.txt | 108 + doc/sample/bank_test.txt | 80 + doc/sample/basejob_baseclass_upper.txt | 18 + doc/sample/checkoption.txt | 19 + doc/sample/delitem2.txt | 39 + doc/sample/getequipcardid.txt | 26 + doc/sample/getequipid.txt | 16 + doc/sample/getiteminfo.txt | 23 + doc/sample/getmonsterinfo.txt | 23 + doc/sample/gstorage_test.txt | 36 + doc/sample/localized_npc.txt | 148 + doc/sample/npc_dynamic_shop.txt | 93 + doc/sample/npc_extend_shop.txt | 351 ++ doc/sample/npc_live_dialogues.txt | 53 + doc/sample/npc_test_array.txt | 43 + doc/sample/npc_test_chat.txt | 37 + doc/sample/npc_test_checkweight.txt | 158 + doc/sample/npc_test_duplicate.txt | 33 + doc/sample/npc_test_func.txt | 35 + doc/sample/npc_test_npctimer.txt | 42 + doc/sample/npc_test_npctimer2.txt | 23 + doc/sample/npc_test_pcre.txt | 402 ++ doc/sample/npc_test_quest.txt | 52 + doc/sample/npc_test_setitemx.txt | 44 + doc/sample/npc_test_setmapflag.txt | 32 + doc/sample/npc_test_skill.txt | 37 + doc/sample/npc_test_time.txt | 25 + doc/sample/npc_trader_sample.txt | 58 + doc/script_commands.txt | 8924 +++++++++++++++++++++++++++++ doc/whisper_sys.txt | 52 + doc/woe_time_explanation.txt | 102 + gm/.placeholder | 0 npc/000-0-0/_import.txt | 1 - npc/000-0-0/mapflags.txt | 3 +- npc/000-0-0/q'onan.txt | 3 +- npc/000-0-0/sailors.txt | 8 +- npc/000-0/_import.txt | 1 - npc/000-0/mapflags.txt | 3 +- npc/000-0/sailors.txt | 3 +- npc/000-1/_import.txt | 1 - npc/000-1/ale.txt | 4 +- npc/000-1/astapolos.txt | 4 +- npc/000-1/chest.txt | 5 +- npc/000-1/cookiemaster.txt | 4 +- npc/000-1/couwan.txt | 4 +- npc/000-1/darlin.txt | 4 +- npc/000-1/fexil.txt | 4 +- npc/000-1/gugli.txt | 39 +- npc/000-1/gulukan.txt | 4 +- npc/000-1/jalad.txt | 4 +- npc/000-1/lean.txt | 4 +- npc/000-1/max.txt | 4 +- npc/000-1/muller.txt | 4 +- npc/000-1/panels.txt | 6 +- npc/000-1/sapartan.txt | 4 +- npc/000-1/shop.txt | 3 +- npc/000-1/silvio.txt | 4 +- npc/000-1/tarlan.txt | 4 +- npc/000-1/tibbo.txt | 4 +- npc/000-2-0/_import.txt | 1 - npc/000-2-0/billybons.txt | 4 +- npc/000-2-0/doors.txt | 8 +- npc/000-2-0/julia.txt | 16 +- npc/000-2-0/note.txt | 3 +- npc/000-2-1/_import.txt | 1 - npc/000-2-1/alige.txt | 37 +- npc/000-2-1/arpan.txt | 18 +- npc/000-2-1/chefgado.txt | 12 +- npc/000-2-1/chest.txt | 3 +- npc/000-2-1/dan.txt | 4 +- npc/000-2-1/devis.txt | 4 +- npc/000-2-1/hammock.txt | 16 +- npc/000-2-1/knife.txt | 4 +- npc/000-2-1/peter.txt | 9 +- npc/000-2-1/q'onan.txt | 4 +- npc/000-2-1/savepoint.txt | 16 +- npc/000-2-2/_import.txt | 1 - npc/000-2-2/doors.txt | 10 +- npc/000-2-2/mapflags.txt | 2 +- npc/000-2-2/ratto.txt | 3 +- npc/000-2-3/_import.txt | 1 - npc/000-2-3/box.txt | 3 +- npc/000-2-3/elmo.txt | 4 +- npc/000-2-3/hammock.txt | 3 +- npc/000-2-3/nard.txt | 4 +- npc/000-2-3/piourocket.txt | 4 +- npc/000-2-3/sailors.txt | 3 +- npc/001-1/_import.txt | 1 - npc/001-1/artaxe.txt | 4 +- npc/001-1/cookiemaster.txt | 6 +- npc/001-1/doors.txt | 8 +- npc/001-2-0/_import.txt | 1 - npc/001-2-0/resa.txt | 4 +- npc/001-2-2/_import.txt | 1 - npc/001-2-3/_import.txt | 1 - npc/001-2-4/_import.txt | 1 - npc/001-2-4/doors.txt | 2 +- npc/001-2-5/_import.txt | 1 - npc/001-2-6/_import.txt | 1 - npc/001-2-7/_import.txt | 1 - npc/001-2-8/_import.txt | 1 - npc/001-2-9/_import.txt | 1 - npc/functions/inventoryplace.txt | 2 +- npc/functions/main.txt | 44 + npc/functions/savepoint.txt | 2 +- npc/items/croconut.txt | 10 +- npc/items/oldbook.txt | 2 +- npc/re/scripts_main.conf | 2 + save/account.txt.example | 13 - script-checker | 42 + sql-files/item_db.sql | 6183 ++++++++++++++++++++ sql-files/item_db2.sql | 48 + sql-files/item_db_re.sql | 8358 +++++++++++++++++++++++++++ sql-files/logs.sql | 157 + sql-files/main.sql | 843 +++ sql-files/mob_db.sql | 1187 ++++ sql-files/mob_db2.sql | 113 + sql-files/mob_db_re.sql | 2255 ++++++++ sql-files/mob_skill_db.sql | 5805 +++++++++++++++++++ sql-files/mob_skill_db2.sql | 160 + sql-files/mob_skill_db_re.sql | 8027 ++++++++++++++++++++++++++ sql-files/tools/convert_engine_innodb.sql | 56 + sql-files/tools/convert_engine_myisam.sql | 56 + sql-files/tools/convert_passwords.sql | 3 + sql-files/upgrades/2013-02-14--16-15.sql | 7 + sql-files/upgrades/2013-02-15--18-06.sql | 3 + sql-files/upgrades/2013-03-05--01-05.sql | 3 + sql-files/upgrades/2013-03-06--00-00.sql | 9 + sql-files/upgrades/2013-03-09--01-56.sql | 4 + sql-files/upgrades/2013-03-27--18-35.sql | 3 + sql-files/upgrades/2013-04-16--01-24.sql | 3 + sql-files/upgrades/2013-04-16--02-15.sql | 4 + sql-files/upgrades/2013-10-09--21-38.sql | 3 + sql-files/upgrades/2013-10-10--16-36.sql | 7 + sql-files/upgrades/2013-10-27--16-47.sql | 6 + sql-files/upgrades/2013-10-30--19-53.sql | 5 + sql-files/upgrades/2013-10-30--21-12.sql | 3 + sql-files/upgrades/2013-10-31--07-49.sql | 6 + sql-files/upgrades/2013-11-09--00-03.sql | 5 + sql-files/upgrades/2013-11-15--00-06.sql | 105 + sql-files/upgrades/2013-11-15--19-57.sql | 5 + sql-files/upgrades/2013-11-16--07-49.sql | 3 + sql-files/upgrades/2013-11-18--08-23.sql | 65 + sql-files/upgrades/2013-12-24--00-15.sql | 8 + sql-files/upgrades/2014-01-04--16-47.sql | 61 + sql-files/upgrades/2014-01-06--17-22.sql | 16 + sql-files/upgrades/2014-02-19--17-57.sql | 4 + sql-files/upgrades/2014-03-25--23-57.sql | 3 + sql-files/upgrades/2014-04-07--22-04.sql | 3 + sql-files/upgrades/2014-04-26--10-00.sql | 3 + sql-files/upgrades/2014-05-17--00-06.sql | 3 + sql-files/upgrades/2014-09-01--16-53.sql | 5 + sql-files/upgrades/2014-11-03--00-45.sql | 3 + sql-files/upgrades/index.txt | 26 + sysinfogen.sh | 259 + 340 files changed, 66750 insertions(+), 7744 deletions(-) create mode 100755 athena-start create mode 100644 conf/atcommand.conf delete mode 100644 conf/atcommand_athena.conf delete mode 100644 conf/atcommand_local.conf.example create mode 100644 conf/battle.conf create mode 100644 conf/battle/battle.conf create mode 100644 conf/battle/battleground.conf create mode 100644 conf/battle/client.conf create mode 100644 conf/battle/drops.conf create mode 100644 conf/battle/exp.conf create mode 100644 conf/battle/feature.conf create mode 100644 conf/battle/gm.conf create mode 100644 conf/battle/guild.conf create mode 100644 conf/battle/homunc.conf create mode 100644 conf/battle/items.conf create mode 100644 conf/battle/misc.conf create mode 100644 conf/battle/monster.conf create mode 100644 conf/battle/party.conf create mode 100644 conf/battle/pet.conf create mode 100644 conf/battle/player.conf create mode 100644 conf/battle/skill.conf create mode 100644 conf/battle/status.conf delete mode 100644 conf/battle_athena.conf delete mode 100644 conf/battle_local.conf.example create mode 100644 conf/battlegrounds.conf delete mode 100755 conf/build-magic.sh create mode 100644 conf/channels.conf create mode 100644 conf/char-server.conf delete mode 100644 conf/char_athena.conf delete mode 100644 conf/char_local.conf.example create mode 100644 conf/charhelp.txt delete mode 100644 conf/eathena-monitor.conf.example delete mode 100644 conf/gm_account.txt.example create mode 100644 conf/groups.conf create mode 100644 conf/help.txt delete mode 100644 conf/help.txt.example create mode 100644 conf/import-tmpl/battle_conf.txt create mode 100644 conf/import-tmpl/char_conf.txt create mode 100644 conf/import-tmpl/inter_conf.txt create mode 100644 conf/import-tmpl/log_conf.txt create mode 100644 conf/import-tmpl/login_conf.txt create mode 100644 conf/import-tmpl/map_conf.txt create mode 100644 conf/import-tmpl/msg_conf.txt create mode 100644 conf/import-tmpl/packet_conf.txt create mode 100644 conf/import-tmpl/script_conf.txt create mode 100644 conf/inter-server.conf delete mode 100644 conf/inter_athena.conf delete mode 100644 conf/ladmin_athena.conf delete mode 100644 conf/ladmin_local.conf.example delete mode 100644 conf/lan_support.conf create mode 100644 conf/login-server.conf delete mode 100644 conf/login_athena.conf delete mode 100644 conf/login_local.conf.example create mode 100644 conf/logs.conf delete mode 100644 conf/magic.conf.template delete mode 100644 conf/magic.conf.tmw.template create mode 100644 conf/map-server.conf delete mode 100644 conf/map_athena.conf delete mode 100644 conf/map_local.conf.example create mode 100644 conf/maps.conf create mode 100644 conf/messages.conf delete mode 100644 conf/msg_athena.conf create mode 100644 conf/packet.conf create mode 100644 conf/plugins.conf create mode 100644 conf/readme.txt create mode 100644 conf/script.conf delete mode 100644 conf/script_athena.conf create mode 100644 conf/subnet.conf delete mode 100644 conf/water.txt delete mode 100644 conf/water_height.txt delete mode 100644 data/000-0-0.wlk delete mode 100644 data/000-0.wlk delete mode 100644 data/000-1.wlk delete mode 100644 data/000-2-0.wlk delete mode 100644 data/000-2-1.wlk delete mode 100644 data/000-2-2.wlk delete mode 100644 data/000-2-3.wlk delete mode 100644 data/001-1.wlk delete mode 100644 data/001-2-0.wlk delete mode 100644 data/001-2-2.wlk delete mode 100644 data/001-2-3.wlk delete mode 100644 data/001-2-4.wlk delete mode 100644 data/001-2-5.wlk delete mode 100644 data/001-2-6.wlk delete mode 100644 data/001-2-7.wlk delete mode 100644 data/001-2-8.wlk delete mode 100644 data/001-2-9.wlk delete mode 100644 data/resnametable.txt create mode 100644 db/GeoIP.dat create mode 100644 db/abra_db.txt delete mode 100644 db/attr_fix.txt delete mode 100644 db/card_labels.txt create mode 100644 db/cashshop_db.conf create mode 100644 db/castle_db.txt create mode 100644 db/create_arrow_db.txt create mode 100644 db/elemental_db.txt create mode 100644 db/elemental_skill_db.txt delete mode 100644 db/exp.txt delete mode 100644 db/exp2.txt create mode 100644 db/guild_skill_tree.txt create mode 100644 db/homun_skill_tree.txt delete mode 100644 db/item_bluebox.txt delete mode 100644 db/item_cardalbum.txt delete mode 100644 db/item_db.txt create mode 100644 db/item_db2.conf delete mode 100644 db/item_descriptions.txt delete mode 100644 db/item_giftbox.txt delete mode 100644 db/item_noequip.txt delete mode 100644 db/item_scroll.txt delete mode 100644 db/item_violetbox.txt delete mode 100644 db/job_db1.txt delete mode 100644 db/job_db2-2.txt create mode 100644 db/magicmushroom_db.txt create mode 100644 db/map_index.txt create mode 100644 db/mercenary_db.txt create mode 100644 db/mercenary_skill_db.txt create mode 100644 db/mob_avail.txt delete mode 100644 db/mob_branch.txt create mode 100644 db/mob_chat_db.txt create mode 100644 db/mob_classchange.txt delete mode 100644 db/mob_db.txt create mode 100644 db/mob_db2.txt create mode 100644 db/mob_item_ratio.txt create mode 100644 db/mob_pouch.txt delete mode 100644 db/mob_skill_db.txt create mode 100644 db/mob_skill_db2.txt create mode 100644 db/pet_db.txt create mode 100644 db/pet_db2.txt create mode 100644 db/produce_db.txt create mode 100644 db/quest_db.txt delete mode 100644 db/questvars.txt create mode 100644 db/re/attr_fix.txt create mode 100644 db/re/exp.txt create mode 100644 db/re/exp_guild.txt create mode 100644 db/re/exp_homun.txt create mode 100644 db/re/homunculus_db.txt create mode 100644 db/re/item_chain.conf create mode 100644 db/re/item_combo_db.txt create mode 100644 db/re/item_db.conf create mode 100644 db/re/item_group.conf create mode 100644 db/re/item_packages.conf create mode 100644 db/re/job_db1.txt create mode 100644 db/re/level_penalty.txt create mode 100644 db/re/map_cache.dat create mode 100644 db/re/map_zone_db.conf create mode 100644 db/re/mob_boss.txt create mode 100644 db/re/mob_branch.txt create mode 100644 db/re/mob_db.txt create mode 100644 db/re/mob_poring.txt create mode 100644 db/re/mob_race2_db.txt create mode 100644 db/re/mob_skill_db.txt create mode 100644 db/re/refine_db.txt create mode 100644 db/re/skill_cast_db.txt create mode 100644 db/re/skill_castnodex_db.txt create mode 100644 db/re/skill_db.txt create mode 100644 db/re/skill_require_db.txt create mode 100644 db/re/skill_tree.conf create mode 100644 db/re/skill_unit_db.txt create mode 100644 db/re/statpoint.txt create mode 100644 db/sc_config.txt create mode 100644 db/size_fix.txt create mode 100644 db/skill_changematerial_db.txt delete mode 100644 db/skill_db.txt create mode 100644 db/skill_improvise_db.txt create mode 100644 db/skill_reproduce_db.txt delete mode 100644 db/skill_require_db.txt delete mode 100644 db/skill_tree.txt create mode 100644 db/spellbook_db.txt delete mode 100644 db/statpoint.txt create mode 100755 debug-start create mode 100644 doc/atcommands.txt create mode 100644 doc/ea_job_system.txt create mode 100644 doc/effect_list.txt create mode 100644 doc/item_bonus.txt create mode 100644 doc/item_db.txt create mode 100644 doc/map_cache.txt create mode 100644 doc/md5_hashcheck.txt create mode 100644 doc/mob_db_mode_list.txt create mode 100644 doc/packet_struct_notation.txt create mode 100644 doc/permissions.txt create mode 100644 doc/quest_variables.txt create mode 100644 doc/sample/bank_test.txt create mode 100644 doc/sample/basejob_baseclass_upper.txt create mode 100644 doc/sample/checkoption.txt create mode 100644 doc/sample/delitem2.txt create mode 100644 doc/sample/getequipcardid.txt create mode 100644 doc/sample/getequipid.txt create mode 100644 doc/sample/getiteminfo.txt create mode 100644 doc/sample/getmonsterinfo.txt create mode 100644 doc/sample/gstorage_test.txt create mode 100644 doc/sample/localized_npc.txt create mode 100644 doc/sample/npc_dynamic_shop.txt create mode 100644 doc/sample/npc_extend_shop.txt create mode 100644 doc/sample/npc_live_dialogues.txt create mode 100644 doc/sample/npc_test_array.txt create mode 100644 doc/sample/npc_test_chat.txt create mode 100644 doc/sample/npc_test_checkweight.txt create mode 100644 doc/sample/npc_test_duplicate.txt create mode 100644 doc/sample/npc_test_func.txt create mode 100644 doc/sample/npc_test_npctimer.txt create mode 100644 doc/sample/npc_test_npctimer2.txt create mode 100644 doc/sample/npc_test_pcre.txt create mode 100644 doc/sample/npc_test_quest.txt create mode 100644 doc/sample/npc_test_setitemx.txt create mode 100644 doc/sample/npc_test_setmapflag.txt create mode 100644 doc/sample/npc_test_skill.txt create mode 100644 doc/sample/npc_test_time.txt create mode 100644 doc/sample/npc_trader_sample.txt create mode 100644 doc/script_commands.txt create mode 100644 doc/whisper_sys.txt create mode 100644 doc/woe_time_explanation.txt delete mode 100644 gm/.placeholder create mode 100644 npc/functions/main.txt create mode 100644 npc/re/scripts_main.conf delete mode 100644 save/account.txt.example create mode 100755 script-checker create mode 100644 sql-files/item_db.sql create mode 100644 sql-files/item_db2.sql create mode 100644 sql-files/item_db_re.sql create mode 100644 sql-files/logs.sql create mode 100644 sql-files/main.sql create mode 100644 sql-files/mob_db.sql create mode 100644 sql-files/mob_db2.sql create mode 100644 sql-files/mob_db_re.sql create mode 100644 sql-files/mob_skill_db.sql create mode 100644 sql-files/mob_skill_db2.sql create mode 100644 sql-files/mob_skill_db_re.sql create mode 100644 sql-files/tools/convert_engine_innodb.sql create mode 100644 sql-files/tools/convert_engine_myisam.sql create mode 100644 sql-files/tools/convert_passwords.sql create mode 100644 sql-files/upgrades/2013-02-14--16-15.sql create mode 100644 sql-files/upgrades/2013-02-15--18-06.sql create mode 100644 sql-files/upgrades/2013-03-05--01-05.sql create mode 100644 sql-files/upgrades/2013-03-06--00-00.sql create mode 100644 sql-files/upgrades/2013-03-09--01-56.sql create mode 100644 sql-files/upgrades/2013-03-27--18-35.sql create mode 100644 sql-files/upgrades/2013-04-16--01-24.sql create mode 100644 sql-files/upgrades/2013-04-16--02-15.sql create mode 100644 sql-files/upgrades/2013-10-09--21-38.sql create mode 100644 sql-files/upgrades/2013-10-10--16-36.sql create mode 100644 sql-files/upgrades/2013-10-27--16-47.sql create mode 100644 sql-files/upgrades/2013-10-30--19-53.sql create mode 100644 sql-files/upgrades/2013-10-30--21-12.sql create mode 100644 sql-files/upgrades/2013-10-31--07-49.sql create mode 100644 sql-files/upgrades/2013-11-09--00-03.sql create mode 100644 sql-files/upgrades/2013-11-15--00-06.sql create mode 100644 sql-files/upgrades/2013-11-15--19-57.sql create mode 100644 sql-files/upgrades/2013-11-16--07-49.sql create mode 100644 sql-files/upgrades/2013-11-18--08-23.sql create mode 100644 sql-files/upgrades/2013-12-24--00-15.sql create mode 100644 sql-files/upgrades/2014-01-04--16-47.sql create mode 100644 sql-files/upgrades/2014-01-06--17-22.sql create mode 100644 sql-files/upgrades/2014-02-19--17-57.sql create mode 100644 sql-files/upgrades/2014-03-25--23-57.sql create mode 100644 sql-files/upgrades/2014-04-07--22-04.sql create mode 100644 sql-files/upgrades/2014-04-26--10-00.sql create mode 100644 sql-files/upgrades/2014-05-17--00-06.sql create mode 100644 sql-files/upgrades/2014-09-01--16-53.sql create mode 100644 sql-files/upgrades/2014-11-03--00-45.sql create mode 100644 sql-files/upgrades/index.txt create mode 100755 sysinfogen.sh diff --git a/.gitignore b/.gitignore index 341662f6..32ea3e37 100644 --- a/.gitignore +++ b/.gitignore @@ -1,45 +1,117 @@ -*.class -*.DS_Store - -# Local configuration files -conf/*_local.conf -conf/eathena-monitor.conf -conf/gm_account.txt -conf/help.txt -conf/magic.conf -conf/motd.txt -conf/spells-build.sh - -# Build files -eathena-monitor - -# Copied/linked server executables -char-server -login-server -map-server - -# Tools executables -tools/retab - -# Server files +#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 +/Makefile.cache +/map-server +/mapcache +/configure + +# /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 -/gm/gm.log.* -/gm.log.* -/online.* -/save/*.tmp -/save/*.txt -/save/*.txt_* +/log/*.leaks + +# /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~ - -# java converter -tools/tmwcon/converter.jar -tools/tmwcon/server-data/ -tools/tmwcon/summary.txt -tools/tmwcon/tmwdata - -# local server -LOCALINFO diff --git a/COPYING b/COPYING index 5b6e7c66..94a9ed02 100644 --- a/COPYING +++ b/COPYING @@ -1,285 +1,626 @@ - GNU GENERAL PUBLIC LICENSE - Version 2, June 1991 + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 - Copyright (C) 1989, 1991 Free Software Foundation, Inc. - 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + Copyright (C) 2007 Free Software Foundation, Inc. Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. - Preamble + Preamble - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -License is intended to guarantee your freedom to share and change free -software--to make sure the software is free for all its users. This -General Public License applies to most of the Free Software -Foundation's software and to any other program whose authors commit to -using it. (Some other Free Software Foundation software is covered by -the GNU Library General Public License instead.) You can apply it to + 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 -this service 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. +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 make restrictions that forbid -anyone to deny you these rights or to ask you to surrender the rights. -These restrictions translate to certain responsibilities for you if you -distribute copies of the software, or if you modify it. + 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 give the recipients all the rights that -you have. 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. - - We protect your rights with two steps: (1) copyright the software, and -(2) offer you this license which gives you legal permission to copy, -distribute and/or modify the software. - - Also, for each author's protection and ours, we want to make certain -that everyone understands that there is no warranty for this free -software. If the software is modified by someone else and passed on, we -want its recipients to know that what they have is not the original, so -that any problems introduced by others will not reflect on the original -authors' reputations. - - Finally, any free program is threatened constantly by software -patents. We wish to avoid the danger that redistributors of a free -program will individually obtain patent licenses, in effect making the -program proprietary. To prevent this, we have made it clear that any -patent must be licensed for everyone's free use or not licensed at all. +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. - - GNU GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License applies to any program or other work which contains -a notice placed by the copyright holder saying it may be distributed -under the terms of this General Public License. The "Program", below, -refers to any such program or work, and a "work based on the Program" -means either the Program or any derivative work under copyright law: -that is to say, a work containing the Program or a portion of it, -either verbatim or with modifications and/or translated into another -language. (Hereinafter, translation is included without limitation in -the term "modification".) Each licensee is addressed as "you". - -Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running the Program is not restricted, and the output from the Program -is covered only if its contents constitute a work based on the -Program (independent of having been made by running the Program). -Whether that is true depends on what the Program does. - - 1. You may copy and distribute 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 and disclaimer of warranty; keep intact all the -notices that refer to this License and to the absence of any warranty; -and give any other recipients of the Program a copy of this License -along with the Program. - -You may charge a fee for the physical act of transferring a copy, and -you may at your option offer warranty protection in exchange for a fee. - - 2. You may modify your copy or copies of the Program or any portion -of it, thus forming a work based on the Program, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) You must cause the modified files to carry prominent notices - stating that you changed the files and the date of any change. - - b) You must cause any work that you distribute or publish, that in - whole or in part contains or is derived from the Program or any - part thereof, to be licensed as a whole at no charge to all third - parties under the terms of this License. - - c) If the modified program normally reads commands interactively - when run, you must cause it, when started running for such - interactive use in the most ordinary way, to print or display an - announcement including an appropriate copyright notice and a - notice that there is no warranty (or else, saying that you provide - a warranty) and that users may redistribute the program under - these conditions, and telling the user how to view a copy of this - License. (Exception: if the Program itself is interactive but - does not normally print such an announcement, your work based on - the Program is not required to print an announcement.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Program, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Program, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Program. - -In addition, mere aggregation of another work not based on the Program -with the Program (or with a work based on the Program) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may copy and distribute the Program (or a work based on it, -under Section 2) in object code or executable form under the terms of -Sections 1 and 2 above provided that you also do one of the following: - - a) Accompany it with the complete corresponding machine-readable - source code, which must be distributed under the terms of Sections - 1 and 2 above on a medium customarily used for software interchange; or, - - b) Accompany it with a written offer, valid for at least three - years, to give any third party, for a charge no more than your - cost of physically performing source distribution, a complete - machine-readable copy of the corresponding source code, to be - distributed under the terms of Sections 1 and 2 above on a medium - customarily used for software interchange; or, - - c) Accompany it with the information you received as to the offer - to distribute corresponding source code. (This alternative is - allowed only for noncommercial distribution and only if you - received the program in object code or executable form with such - an offer, in accord with Subsection b above.) - -The source code for a work means the preferred form of the work for -making modifications to it. For an executable work, complete source -code means all the source code for all modules it contains, plus any -associated interface definition files, plus the scripts used to -control compilation and installation of the executable. However, as a -special exception, the source code distributed need not include -anything that is normally distributed (in either source or binary -form) with the major components (compiler, kernel, and so on) of the -operating system on which the executable runs, unless that component -itself accompanies the executable. - -If distribution of executable or object code is made by offering -access to copy from a designated place, then offering equivalent -access to copy the source code from the same place counts as -distribution of the source code, even though third parties are not -compelled to copy the source along with the object code. - - 4. You may not copy, modify, sublicense, or distribute the Program -except as expressly provided under this License. Any attempt -otherwise to copy, modify, sublicense or distribute the Program is -void, and will automatically terminate your rights under this License. -However, parties who have received copies, or rights, from you under -this License will not have their licenses terminated so long as such -parties remain in full compliance. - - 5. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Program or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Program (or any work based on the -Program), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Program or works based on it. - - 6. Each time you redistribute the Program (or any work based on the -Program), the recipient automatically receives a license from the -original licensor to copy, distribute or modify the Program subject to -these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties to + + 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. - 7. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or + 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 -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Program at all. For example, if a patent -license would not permit royalty-free redistribution of the Program by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Program. - -If any portion of this section is held invalid or unenforceable under -any particular circumstance, the balance of the section is intended to -apply and the section as a whole is intended to apply in other -circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system, which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 8. If the distribution and/or use of the Program is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Program under this License -may add an explicit geographical distribution limitation excluding -those countries, so that distribution is permitted only in or among -countries not thus excluded. In such case, this License incorporates -the limitation as if written in the body of this License. - - 9. The Free Software Foundation may publish revised and/or new versions -of the General Public License from time to time. Such new versions will +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 a version number of this License which applies to it and "any -later version", you have the option of following the terms and conditions -either of that version or of any later version published by the Free -Software Foundation. If the Program does not specify a version number of -this License, you may choose any version ever published by the Free Software -Foundation. - - 10. If you wish to incorporate parts of the Program into other free -programs whose distribution conditions are different, write to the author -to ask for permission. For software which is copyrighted by the Free -Software Foundation, write to the Free Software Foundation; we sometimes -make exceptions for this. Our decision will be guided by the two goals -of preserving the free status of all derivatives of our free software and -of promoting the sharing and reuse of software generally. - - NO WARRANTY - - 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, 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. - - 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR -REDISTRIBUTE 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. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs + 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 @@ -287,15 +628,15 @@ 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 -convey the exclusion of warranty; and each file should have at least +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. Copyright (C) - This program is free software; you can redistribute it and/or modify + 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 2 of the License, or + 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, @@ -304,37 +645,30 @@ the "copyright" line and a pointer to where the full notice is found. 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, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - + along with this program. If not, see . Also add information on how to contact you by electronic and paper mail. -If the program is interactive, make it output a short notice like this -when it starts in an interactive mode: + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: - Gnomovision version 69, Copyright (C) year name of author - Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + Copyright (C) + 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, the commands you use may -be called something other than `show w' and `show c'; they could even be -mouse-clicks or menu items--whatever suits your program. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a "copyright disclaimer" for the program, if -necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the program - `Gnomovision' (which makes passes at compilers) written by James Hacker. - - , 1 April 1989 - Ty Coon, President of Vice - -This 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 Library General -Public License instead of this License. +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 +. + + 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 +. diff --git a/athena-start b/athena-start new file mode 100755 index 00000000..eb3dbdf5 --- /dev/null +++ b/athena-start @@ -0,0 +1,72 @@ +#!/bin/sh +# athena starting script by rowla +# modified by shazeya@syafi.com (NL101541) + +PATH=./:$PATH + +L_SRV=login-server +C_SRV=char-server +M_SRV=map-server + +print_start() { +# more << EOF +echo "Athena Starting..." +echo " (c) 2003 Athena Project" +echo " modified by shazeya@syafi.com" +echo "" +#echo "Debug informations will appear," +#echo "since this is a test release." +#echo "" +echo "checking..." +#EOF +} + +check_files() { + + for i in ${L_SRV} ${C_SRV} ${M_SRV} + do + if [ ! -f ./$i ]; then + echo "$i does not exist, or can't run." + echo "Stop. Check your compile." + exit 1; + fi + done + +# more << EOF +echo "Check complete." +echo "Looks good, a nice Athena!" +#EOF +} + + +case $1 in + 'start') + print_start + check_files + + exec ./${L_SRV}& + echo $! > .${L_SRV}.pid + exec ./${C_SRV}& + echo $! > .${C_SRV}.pid + exec ./${M_SRV}& + echo $! > .${M_SRV}.pid + + echo "Now Started Athena." +;; + 'stop') + for i in .${L_SRV}.pid .${C_SRV}.pid .${M_SRV}.pid + do + if [ -e ./$i ]; then + kill $(cat $i) + rm $i + fi + done +;; + 'restart') + $0 stop + $0 start +;; + *) + echo "Usage: athena-start { start | stop | restart }" +;; +esac diff --git a/conf/atcommand.conf b/conf/atcommand.conf new file mode 100644 index 00000000..df497206 --- /dev/null +++ b/conf/atcommand.conf @@ -0,0 +1,72 @@ +/* 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 + : ["", ...] +*/ + +aliases: { + mobinfo: ["monsterinfo", "mi"] + iteminfo: ["ii"] + time: ["date", "serverdate", "servertime"] + 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"] +} + +/* List of commands that should not be logged at all */ +/* Add as many commands as you like */ +nolog: { + iteminfo: 1 + mobinfo: 1 +} + +/* Commands help file */ +help: { + @include "conf/help.txt" +} diff --git a/conf/atcommand_athena.conf b/conf/atcommand_athena.conf deleted file mode 100644 index 82204f1a..00000000 --- a/conf/atcommand_athena.conf +++ /dev/null @@ -1,7 +0,0 @@ -// Athena atcommand Configuration file. -// Translated by Peter Kieser - - -// local settings for this server in this file -import: conf/atcommand_local.conf - diff --git a/conf/atcommand_local.conf.example b/conf/atcommand_local.conf.example deleted file mode 100644 index 0e87addc..00000000 --- a/conf/atcommand_local.conf.example +++ /dev/null @@ -1,497 +0,0 @@ -// Athena atcommand Local Configuration file. - -// Set here the symbol that you want to use for your commands -// Only 1 character is get (default is '@'). You can set any character, -// except control-character (0x00-0x1f), '%' (party chat speaking) and '/' (standard ragnarok GM commands) -// With default character, all commands begin by a '@': @revive -command_symbol: @ - - -// 0: normal player commands - -// Displays helpfile in Athena base directory. -help: 0 - -// Give server time. (6 same commands) -time: 0 -date: 0 -server_date: 0 -serverdate: 0 -server_time: 0 -servertime: 0 - -// To change your (own) email (characters protection) -// note: this command doesn't check email itself, but check structure of the email (xxx@xxx) -// if you want be sure of each e-mail disable this option (value: 100) -email: 0 - -// To become GM (need password; password is set in login_athena.conf). -// special!: only a non-GM (player with gm level 0) need to have this command. -// if you change the value, be sure of what you do! -// To be able to create a gm with @gm, you must: -// - give a level to level_new_gm (parameter of login_athena.conf) (not 0) -// - enable to level 0 the @gm command (atcommand_athena.conf) (default 100) - Only level 0 can give access to this command -// - enable gm commands to normal player (battle_athena.conf, atcommand_gm_only parameter) -// - and normal player must give correct password when he use the @gm command (gm_pass paramter in login_athena.conf) -gm: 100 - - -//------------------------- -// 40: "Dev" - -// Broadcast to the whole server -broadcast: 40 - -// Broadcast to the map you are on -local_broadcast: 40 - -// Suicide your character. -die: 40 - -// Locate someone on a map, returns your coordinates if the person isn't on. -where: 40 - -// Spawns you to set points in major cities. -go: 40 - -// Warp yourself to a person. -goto: 40 - -// follow a player (including warping to them) -follow: 40 - -// Disconnects a user from the server (1 command + right click menu for GM "(name) force to quit"). -kick: 40 - -// Returns list of logged in characters with their position. -who: 40 - -// Returns list of logged in characters with their party/guild. -whogroup: 40 - -// Returns list of logged in characters with their position in a specifical map. -whomap: 40 - -// Returns list of logged in characters with their party/guild in a specifical map. -whomapgroup: 40 - -// Like @who+@who2+who3, but only for GM. -whogm: 40 - -// Enables you to view other characters stats. -charstats: 40 - -// Heals a person to full HP/SP. -heal: 40 - -// GM Hide (hides you from monsters and most reporting functions). -// To hide from other players use @invisible -hide: 40 - -// Enables you to to jump randomly on a map (that you are already on). -jump: 40 - -// Warps you to your last save point. -return: 40 - -// Warp yourself to a certain map, at (x,y) coordinates. -warp: 40 - -// Changes GM clothes color (2 same commands) -dye: 40 -ccolor: 40 - -// Changes own hair style. -hairstyle: 40 - -// Changes own hair color. -haircolor: 40 - -// Deletes all your items. -itemreset: 40 - -// Sets your spawn point (aka save point). -save: 40 - -// Send text to the GM log -log: 40 -l: 40 - -// Send text to the GM log and local chat -tee: 40 -t: 40 - -//-------------------- -// 50: Event coordinators - -// make yourself invisible to everyone -invisible: 50 - -// make yourself visible to everyone -visible: 50 - -// Spawns a monster, and a certain amount -spawn: 50 - -//Summons a monster, and a certain amount -summon: 50 - -//-------------------- -// 60: "GM" - -// Enable all wispers for a player -inall: 60 - -// Disable all wispers for a player -exall: 60 - -// Shows Stats Of All Characters Online -charstatsall: 60 - -// Turns PVP (Person v. Person) off on a map. -pvpoff: 60 - -// Enables PVP on a map. -pvpon: 60 - -// Sets the speed you can walk/attack at. Default is 150. -speed: 60 - -// Kill all monsters in map (with drops) -killmonster: 60 - -// Kill all monsters in map (without drops) -killmonster2: 60 - -// Check which characters are online from a characters IP address -ipcheck: 60 - -// store all your items -storeall: 60 - -// allow other players to hit you out of pvp -killable: 60 - -// look up a skill by name -skillid: 60 - -// use a skill by id -useskill: 60 - -// make another player killable -charkillable: 60 - -// Resurects yourself. -alive: 60 - -// Levels your character to specified level (adds to your level). -blvl: 60 - -// Raises your job level (3 same commands). -jlvl: 60 - -// Unmute a player -unmute: 60 - -// Sets another persons base level. -charblvl: 60 - -// Changes the sex of an online player (all characters on the account) -charchangesex: 60 - -// Remove items from a character -chardelitem: 60 - -// Sets another persons job level. -charjlvl: 60 - -// Gives another character status points -charstpoint: 60 - -// Gives another character skill points -charskpoint: 60 - -// Resets another character's stats -charreset: 60 - -// Resets another character's status, skills -charstreset: 60 -charskreset: 60 - -// resets a char back to when it was first created -charwipe: 60 - -// Saves the respawn point of another character. -charsave: 60 - -// Kill another character without hitting them. -kill: 60 - -// Enable hitting a player even when not in pvp -killer: 60 - -// Warps a character to you -recall: 60 - -// Revives a character, and heals them. -revive: 60 - -// Warp another person to a certain map, at (x,y) coordinates -charwarp: 60 - -// Change Status of your character -str: 60 -agi: 60 -vit: 60 -int: 60 -dex: 60 -luk: 60 - -// Gets all skills -allskills: 60 - -// sets GM stats to maximum -allstats: 60 - -// Gives you job points. -stpoint: 60 - -// Gives you skill points of desired amount. -skpoint: 60 - -// To block definitively a player -block: 60 - -// To unblock a player -unblock: 60 - -// To ban a player for a limited time -ban: 60 - -// To unban a player -unban: 60 - -// To send specified character in jails -jail: 60 - -// To discharge a prisoner -unjail: 60 - -// drop a players possessions on the ground -chardropall: 60 - -// put a players possessions in storage -charstoreall: 60 - -// iterate over players -// forward -hugo: 60 -// backward -linus: 60 - -//---------------------- -// 80: "eA Dev" - -// set magic properties on a char -setmagic: 80 - -// list magic properties on a char -magicinfo: 80 - -// Set your character display options. (Visual effects of your character) -option: 80 - -// Gives you money (zeny) of desired amount. -zeny: 80 - -// Changes another character's zenny -charzeny: 80 - -// Set options on another character. -charoption: 80 - -// Create a static warp portal that lasts until the next reboot -addwarp: 80 - -// Set the map you are on to day. -day: 80 - -// Kills everyone on the server. -doom: 80 - -// Kills everyone on the map you are on. -doommap: 80 - -// Set the map you are currently on to night. -night: 80 - -// Recalls Everyone To Your Coordinates -recallall: 80 - -// Revives all players on the map. -raisemap: 80 - -// Revives all players on the server. -raise: 80 - -// Enables a NPC. -enablenpc: 80 - -// Disables a NPC. -disablenpc: 80 - -// Move a NPC -npcmove: 80 - -// turn skills on for a map -skillon: 80 - -// turn skills off for a map -skilloff: 80 - -// Enables lost skills. -lostskill: 80 - -// find id of item by name -idsearch: 80 - -// Creates an item of your choosing, either Item ID or Name (1 command + /item). -item: 80 - -// Creates weapon of desired element. -produce: 80 - -// ?? -itemcheck: 80 - - -//--------------------------- -// 99: "Admin" - -// drop all your items -dropall: 99 - -// Enables GVG on a map (2 same commands). -gvgon: 99 -gpvpon: 99 - -// Turns GVG (Guild v. Guild) off on a map (2 same commands). -gvgoff: 99 -gpvpoff: 99 - -// Enables platinum skills. -questskill: 99 - -// Display your ignore list (people from which you ignore wisps) -ignorelist: 99 - -// Display ignore list of a player (people from which the player ignore wisps) -charignorelist: 99 - -// Brings up your guild storage wherever you are. -gstorage: 99 - -// Do some visual effect on your character -effect: 99 - -// Changes character's model -charmodel: 99 - -// Starts Guild Wars -agitstart: 99 - -// Ends Guild Wars -agitend: 99 - -// Levels your guild to specified level -guildlvl: 99 - -// craete a party/guild -guild: 99 -party: 99 - -// Warps all online character of a guild to you. (at least one member of that guild must be on.) -guildrecall: 99 - -// Warps all online character of a party to you. (at least one party member must be online.) -partyrecall: 99 - -// Allows you to spy on any Guilds Guild chat. (at least one member of that guild must be on.) -guildspy: 99 - -//Allows you to spy on any party's party chat. (at least one party member must be online.) -partyspy: 99 - -// Saves a warp point. -memo: 99 - -// To get a peco to (un)ride for another player. -charmountpeco: 99 - -// Change your appearence to other players to a mob. -disguise: 99 - -//Restore your normal appearance. -undisguise: 99 - -// To change disguise of another player/GM -chardisguise: 99 -charundisguise: 99 - -// Display all items of a player (disabled due to reformed GM guidelines) -charitemlist: 99 - -// Display all items of a player's storage (disabled due to reformed GM guidelines) -charstoragelist: 99 - -// Display all items of a player's cart (disabled due to reformed GM guidelines) -charcartlist: 99 - -// Enables platinum skills of another player. -charquestskill: 99 - -// Enables lost skills of another player. -charlostskill: 99 - -// Changes your apperance. -model: 99 - -// To get a peco to (un)ride -mountpeco: 99 - -// Broadcast (with or without name). -kami: 99 -kamib: 99 - -// Disconnect all users from the server -kickall: 99 - -// Closes Map-Server -mapexit: 99 - -// Give information about terrain/area (debug function) -gat: 99 - -// Enables debugging -packet: 99 - -// Shows information about the map -mapinfo: 99 - -// Re-load item database (admin command) -reloaditemdb: 99 - -// Re-load monsters database (admin command) -reloadmobdb: 99 - -// Re-load skills database (admin command) -reloadskilldb: 99 - -// Re-load scripts (admin command) -reloadscript: 99 - -// Re-load GM level (admin command) -reloadgmdb: 99 - -// Brings up your personal storage wherever you are. -storage: 99 diff --git a/conf/battle.conf b/conf/battle.conf new file mode 100644 index 00000000..1eddfae3 --- /dev/null +++ b/conf/battle.conf @@ -0,0 +1,61 @@ +//-------------------------------------------------------------- +// Hercules Battle Configuration File +// Originally Translated by Peter Kieser +// Made in to plainer English by Ancyker +// Splitted up into multiple files by Skotlex. +//-------------------------------------------------------------- + +//General battle-related settings. +import: conf/battle/battle.conf + +//Settings specific to the client. +import: conf/battle/client.conf + +//General drop-related configs. +import: conf/battle/drops.conf + +//Experience rates, exp penalties, stats and max level settings. +import: conf/battle/exp.conf + +//GM levels, atcommands and hack-related configs. +import: conf/battle/gm.conf + +//Guild and WoE settings +import: conf/battle/guild.conf + +//Battleground settings +import: conf/battle/battleground.conf + +//Item/card-specific and crafting related options. +import: conf/battle/items.conf + +//Mob related configuration +import: conf/battle/monster.conf + +//Party related configuration +import: conf/battle/party.conf + +//Pet related configuration +import: conf/battle/pet.conf + +//Homunc related configuration +import: conf/battle/homunc.conf + +//Player specific settings +import: conf/battle/player.conf + +//Skill related settings +import: conf/battle/skill.conf + +//Status change related settings +import: conf/battle/status.conf + +//Feature control (on/off) settings +import: conf/battle/feature.conf + +// Anything else that didn't fit anywhere else. +// Includes duel, day/night, mute/manner, log settings. +import: conf/battle/misc.conf + +//Your custom config goes here. +import: conf/import/battle_conf.txt diff --git a/conf/battle/battle.conf b/conf/battle/battle.conf new file mode 100644 index 00000000..2e84a23e --- /dev/null +++ b/conf/battle/battle.conf @@ -0,0 +1,152 @@ +//-------------------------------------------------------------- +// Hercules Battle Configuration File +// Originally Translated by Peter Kieser +// Made in to plainer English by Ancyker +//-------------------------------------------------------------- +// 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, 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: 17 + +// Critical adjustment rate for non-players (Note 2) +mob_critical_rate: 100 +critical_rate: 100 + +// Should normal attacks give you a walk delay? (Note 3) +// If no, 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: 15 + +// 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 no/0 will be like always endure) +player_damage_delay_rate: 100 + +// Should race or element be used to consider someone undead? +// 0 = element undead +// 1 = race undead +// 2 = both (either one works) +undead_detect_type: 0 + +// Does HP recover if hit by an attribute that's same as your own? (Note 1) +// (Will not work in Renewal) +attribute_recover: no + +// What is the minimum and maximum hitrate of normal attacks? +min_hitrate: 5 +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. +agi_penalty_target: 1 + +// Amount of enemies required to be targetting player before FLEE begins to be penalized +agi_penalty_count: 3 + +// Amount of FLEE penalized per each attacking monster more than agi_penalty_count +agi_penalty_num: 10 + +// 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. +vit_penalty_target: 1 + +// 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: 5 + +// 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) +attack_direction_change: 15 + +// 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 yes, even thought it degrades performance a bit. +delay_battle_damage: yes + +// 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 "no", setting this to "yes" 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: no + +// If both the attacker and the target are on the same tile, should the target be knocked back to the left? +// Official behavior is "yes", setting this to "no" will knock the target back behind the attacker. +knockback_left: yes + +// Should the target be able of dodging damage by snapping away to the edge of the screen? +// Official behavior is "no" +snap_dodge: no diff --git a/conf/battle/battleground.conf b/conf/battle/battleground.conf new file mode 100644 index 00000000..b4c0b2fb --- /dev/null +++ b/conf/battle/battleground.conf @@ -0,0 +1,17 @@ +//-------------------------------------------------------------- +// Hercules Battle Configuration File +// Originally Translated by Peter Kieser +// Made in to plainer English by Ancyker +//-------------------------------------------------------------- +// 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) +//-------------------------------------------------------------- + +// 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/battle/client.conf b/conf/battle/client.conf new file mode 100644 index 00000000..5089fa4a --- /dev/null +++ b/conf/battle/client.conf @@ -0,0 +1,128 @@ +//-------------------------------------------------------------- +// Hercules Battle Configuration File +// Originally Translated by Peter Kieser +// Made in to plainer English by Ancyker +//-------------------------------------------------------------- +// 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, 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: 1 + +// Minimum delay between whisper/global/party/guild messages (in ms) +// Messages that break this threshold are silently omitted. +min_chat_delay: 0 + +// Valid range of dyes and styles on the client. +min_hair_style: 0 +max_hair_style: 29 +min_hair_color: 0 +max_hair_color: 8 +min_cloth_color: 0 +max_cloth_color: 4 + +// When set to yes, 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: yes + +// "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: 14 + +// 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: no + +// Save Clothes color. (This will degrade performance) (Note 1) +save_clothcolor: yes + +// 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 yes if your cloth palettes +// pack doesn't has wedding palettes (or has less than the other jobs) +wedding_ignorepalette: no + +// Do not display cloth colors for the Xmas costume? +// Set this to yes if your cloth palettes pack doesn't has Xmas palettes (or has less than the other jobs) +xmas_ignorepalette: no + +// Do not display cloth colors for the Summer costume? +// Set this to yes if your cloth palettes pack doesn't has Summer palettes (or has less than the other jobs) +summer_ignorepalette: no + +// Do not display cloth colors for the Hanbok costume? +// Set this to yes if your cloth palettes pack doesn't has Hanbok palettes (or has less than the other jobs) +hanbok_ignorepalette: no + +// Show Hercules version to users when the login? +display_version: no + +// When affected with the "Hallucination" status effect, send the effect to client? (Note 1) +// Note: Set to 'no' if the client lags due to the "Wavy" screen effect. +display_hallucination: yes + +// 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: yes + +// Randomizes the dice emoticon server-side, to prevent clients from forging +// packets for the desired number. (Note 1) +client_reshuffle_dice: yes + +// 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: no + +// 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 diff --git a/conf/battle/drops.conf b/conf/battle/drops.conf new file mode 100644 index 00000000..424c46f5 --- /dev/null +++ b/conf/battle/drops.conf @@ -0,0 +1,134 @@ +//-------------------------------------------------------------- +// Hercules Battle Configuration File +// Originally Translated by Peter Kieser +// Made in to plainer English by Ancyker +//-------------------------------------------------------------- +// Note 1: Value is a config switch (on/off, yes/no or 1/0) +// 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: no + +// How long does it take for an item to disappear from the floor after it is dropped? (in milliseconds) +flooritem_lifetime: 60000 + +// 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: 3000 + +// 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: 1000 + +// 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: 1000 + +// 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) + +// 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: no + +// Can the monster's drop rate become 0? (Note 1) +// Default: no (as in official servers). +drop_rate0item: no + +// 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). +drops_by_luk2: 0 + +// 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 + +// Make broadcast ** Player1 won Pupa's Pupa Card (chance 0.01%) *** +// This can be set to any value between 0~10000. +// Note: It also announces STEAL skill usage with rare items +// 0 = don't show announces at all +// 1 = show announces for 0.01% drop chance items +// 333 = show announces for 3.33% or lower drop chance items +// 10000 = show announces for all items +rare_drop_announce: 0 diff --git a/conf/battle/exp.conf b/conf/battle/exp.conf new file mode 100644 index 00000000..7c781d3a --- /dev/null +++ b/conf/battle/exp.conf @@ -0,0 +1,91 @@ +//-------------------------------------------------------------- +// Hercules Battle Configuration File +// Originally Translated by Peter Kieser +// Made in to plainer English by Ancyker +//-------------------------------------------------------------- +// 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: 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) +base_exp_rate: 100 + +// Rate at which job exp. is given. (Note 2) +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: no + +// 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: 25 + +// 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) +exp_bonus_max_attacker: 12 + +// 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: yes + +// 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: 100 + +// Job exp. penalty rate (Each 100 is 1% of their exp) +death_penalty_job: 100 + +// 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: no + +// Will display zeny earned (from mobs, trades, etc) (Note 1) +disp_zeny: no + +// Use the contents of db/statpoint.txt when doing a stats reset and leveling up? (Note 1) +// If no, an equation will be used which preserves statpoints earned/lost +// through external means (ie: stat point buyers/sellers) +use_statpoint_table: yes diff --git a/conf/battle/feature.conf b/conf/battle/feature.conf new file mode 100644 index 00000000..161ea324 --- /dev/null +++ b/conf/battle/feature.conf @@ -0,0 +1,29 @@ +//-------------------------------------------------------------- +// Hercules Feature 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) +//-------------------------------------------------------------- + +// Buying store (Note 1) +// Requires: 2010-04-27aRagexeRE or later +feature.buying_store: on + +// Search stores (Note 1) +// Requires: 2010-08-03aRagexeRE or later +feature.search_stores: on + +// Atcommand suggestions (Note 1) +// If one type incomplete atcommand, it will suggest the complete ones. +feature.atcommand_suggestions: off + +// Banking (Note 1) +// Requires: 2013-07-24aRagexe or later +feature.banking: on + +// 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. +feature.auction: off diff --git a/conf/battle/gm.conf b/conf/battle/gm.conf new file mode 100644 index 00000000..7370da6c --- /dev/null +++ b/conf/battle/gm.conf @@ -0,0 +1,37 @@ +//-------------------------------------------------------------- +// Hercules Battle Configuration File +// Originally Translated by Peter Kieser +// Made in to plainer English by Ancyker +//-------------------------------------------------------------- +// Note 1: Value is a config switch (on/off, yes/no or 1/0) +// 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: 100 + +// Maximum number of slave-clones that can be have by using the @slaveclone at command. (0 denotes unlimited quantity) +atcommand_slave_clone_limit: 25 + +// If 'no', commands require exact player name. If 'yes', 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: yes + +// (@) @allstats/@str/@agi/@vit/@int/@dex/@luk +// allow gms to bypass the maximum stat parameter? ( if yes gm stats can go up to 32k ) default: no +atcommand_max_stat_bypass: no + +// Ban people that try trade dupe. +// Duration of the ban, in minutes (default: 5). To disable the ban, set 0. +ban_hack_trade: 5 + +// 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: 2 diff --git a/conf/battle/guild.conf b/conf/battle/guild.conf new file mode 100644 index 00000000..91c39fe7 --- /dev/null +++ b/conf/battle/guild.conf @@ -0,0 +1,49 @@ +//-------------------------------------------------------------- +// Hercules Battle Configuration File +// Originally Translated by Peter Kieser +// Made in to plainer English by Ancyker +//-------------------------------------------------------------- +// Note 1: Value is a config switch (on/off, yes/no or 1/0) +// Note 2: Value is in percents (100 means 100%) +//-------------------------------------------------------------- + +// When making a guild, an Emperium is consumed? (Note 1) +guild_emperium_check: yes + +// Maximum tax limit on a guild member. +guild_exp_limit: 50 + +// Maximum castles one guild can own (0 = unlimited) +guild_max_castles: 0 + +// Restart guild skills cooldown by relog? (Note 1) +// When "no", you relog with the same cooldown remaining as from when you logged out, "yes" restarts the cooldown upon login to its full duration. +guild_skill_relog_delay: no + +// 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: no + +// 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: 2 + +// Can guild members invite/expel members inside guild castles in WoE/GvG? (Note 1) +// default: no +guild_castle_invite: no +guild_castle_expulsion: no \ No newline at end of file diff --git a/conf/battle/homunc.conf b/conf/battle/homunc.conf new file mode 100644 index 00000000..a7b96cb2 --- /dev/null +++ b/conf/battle/homunc.conf @@ -0,0 +1,45 @@ +//-------------------------------------------------------------- +// Hercules Battle Configuration File +// Originally Translated by Peter Kieser +// Made in to plainer English by Ancyker +//-------------------------------------------------------------- +// 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) +//-------------------------------------------------------------- + +// 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. +hom_setting: 0x3D + +// The rate a homunculus will get friendly by feeding it. (Note 2) +homunculus_friendly_rate: 100 + +// Can you name a homunculus more then once? (Note 1) +hom_rename: yes + +// 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: yes + +// Does autoloot work, when a monster is killed by homunculus only? +homunculus_autoloot: yes + +// Should homunculi Vaporize when Master dies? +homunculus_auto_vapor: yes + +// Max level for regular Homunculus +homunculus_max_level: 99 + +// Max level for Homunculus S +homunculus_S_max_level: 150 diff --git a/conf/battle/items.conf b/conf/battle/items.conf new file mode 100644 index 00000000..09210a3e --- /dev/null +++ b/conf/battle/items.conf @@ -0,0 +1,95 @@ +//-------------------------------------------------------------- +// Hercules Battle Configuration File +// Originally Translated by Peter Kieser +// Made in to plainer English by Ancyker +//-------------------------------------------------------------- +// 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) +//-------------------------------------------------------------- + +// 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 yes, the rest of the zeny above the char's capacity will disappear. +vending_over_max: yes + +// 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: yes + +// 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: yes + +// Should summoned monsters check the player's base level? (dead branches) (Note 1) +// On officials this is no - monsters summoned from dead/bloody branches can be ANY level. +// Change to 'yes' to only summon monsters less than or equal to the player's base level. +random_monster_checklv: no + +// 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: yes + +// 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: no + +// 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 + +// How much time must pass between cash food uses? Default: 60000 (1 min) +cashfood_use_interval: 60000 + +// 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: no + +// Will disabled consumables (disabled by map_zone_db.conf) be consumed when trying to use them? +// 1 (official): yes +// 0: no +item_restricted_consumption_type: 1 + +// 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) +// 1 : yes(official) +// 0 : no +item_enabled_npc: 1 + +// 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: 0 diff --git a/conf/battle/misc.conf b/conf/battle/misc.conf new file mode 100644 index 00000000..dd3d57aa --- /dev/null +++ b/conf/battle/misc.conf @@ -0,0 +1,137 @@ +//-------------------------------------------------------------- +// Hercules Battle Configuration File +// Originally Translated by Peter Kieser +// Made in to plainer English by Ancyker +//-------------------------------------------------------------- +// 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) +//-------------------------------------------------------------- + +// 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 (yes), 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: off) (Note 3) +skill_log: off + +// Display battle log? (for debug only) (default: off) (Note 1) +battle_log: off + +// Display other stuff? (for debug only) (default: off) (Note 1) +etc_log: off + +// Do you want to debug warp points? If set to yes, 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: no + +// Choose if server begin with night (yes) or day (no) +night_at_start: no + +// 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: no + +// Using duel on gvg-maps +duel_allow_gvg: no + +// Allow using teleport/warp when dueling +duel_allow_teleport: no + +// Autoleave duel when die +duel_autoleave_when_die: yes + +// Delay between using @duel in minutes +duel_time_interval: 60 + +// Restrict duel usage to same map +duel_only_on_same_map: no + +// Determines max number of characters that can stack within a single cell. +// NOTE: For this setting to make effect you have to use a server compiled with +// Cell Stack Limit support (see src/map/map.h) +cell_stack_limit: 1 + +// Allow autotrade only in map with autotrade flag? +// Set this to "no" will allow autotrade where no "autotrade" mapflag is set +// Set this to "yes" to only allow autotrade on maps with "autotrade" mapflag +at_mapflag: no + +// 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: no +cashshop_show_points: no + +// 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 yes, monster transforming is automatically removed/disabled when entering castles during WoE times +mon_trans_disable_in_gvg: no + +// Whether AegisName and SpriteName lookups are case sensitive +// Default: yes (as in official servers) +// When this is set to yes, 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 'yes' when 'no' +// @item bun # 6115 # 553 +// @item Bun # 553 # 553 +// @item Bao # 553 # 553 +// @item Bun_ # 6115 # 6115 +case_sensitive_aegisnames: yes diff --git a/conf/battle/monster.conf b/conf/battle/monster.conf new file mode 100644 index 00000000..9ca8df82 --- /dev/null +++ b/conf/battle/monster.conf @@ -0,0 +1,218 @@ +//-------------------------------------------------------------- +// Hercules Battle Configuration File +// Originally Translated by Peter Kieser +// Made in to plainer English by Ancyker +//-------------------------------------------------------------- +// 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) +//-------------------------------------------------------------- + +// 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) +monster_hp_rate: 100 + +// 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: 0 + +// How often should a monster rethink its chase? +// 0: Every 100ms (MIN_MOBTHINKTIME) +// 1: Every cell moved (official) +// 2: Every 2 cells moved +// 3: Every 3 cells moved (previous setting) +// 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, loot picked, etc.). +monster_chase_refresh: 1 + +// 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: yes + +// 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 1) +// Setting to no/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: 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 yes, all monsters will have a random respawn spot across the whole +// map regardless of what the mob-spawn file says. +force_random_spawn: no + +// 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: 2 + +// 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: 3 + +// Will summoned monsters (alchemists, or @summon'ed monsters) attack cause a +// chance of triggering the master's autospell cards? (Note 1) +summons_trigger_autospells: yes + +// 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: yes + +// 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 yes 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: no + +// If monster's class is changed will it fully recover HP? (Note 1) +monster_class_change_full_recover: yes + +// 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: no + +// 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: no +mobs_level_up_exp_rate: 1 + +// Dynamic Mobs Options +// Use dynamic mobs? (recommended for small-medium sized servers) +dynamic_mobs: yes + +// Remove Mobs even if they are hurt +mob_remove_damaged: yes + +// 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: 1 + +// 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: yes + +// Whether or not to spawn the mvp tomb. +// See http://irowiki.org/wiki/MVP#Gravestone +mvp_tomb_enabled: yes + +// 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: no +mob_size_influence: no diff --git a/conf/battle/party.conf b/conf/battle/party.conf new file mode 100644 index 00000000..14d5f47c --- /dev/null +++ b/conf/battle/party.conf @@ -0,0 +1,54 @@ +//-------------------------------------------------------------- +// Hercules Battle Configuration File +// Originally Translated by Peter Kieser +// Made in to plainer English by Ancyker +//-------------------------------------------------------------- +// Note 1: Value is a config switch (on/off, yes/no or 1/0) +// 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: no + +// 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: 0 + +// 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: yes + +// 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 no, 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: no + +// 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: 0 + +// 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: no diff --git a/conf/battle/pet.conf b/conf/battle/pet.conf new file mode 100644 index 00000000..e80826ce --- /dev/null +++ b/conf/battle/pet.conf @@ -0,0 +1,77 @@ +//-------------------------------------------------------------- +// Hercules Battle Configuration File +// Originally Translated by Peter Kieser +// Made in to plainer English by Ancyker +//-------------------------------------------------------------- +// 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) +//-------------------------------------------------------------- + +// Rate for catching pets (Note 2) +pet_catch_rate: 100 + +// Can you name a pet more then once? (Note 1) +pet_rename: no + +// 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: 5 + +// Does the pet need its equipment before it does its skill? (Note 1) +pet_equip_required: yes + +// When the master attacks a monster, whether or not the pet will also attack. (Note 1) +pet_attack_support: no + +// When the master receives damage from the monster, whether or not the pet attacks back. (Note 1) +pet_damage_support: no + +// 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: 900 + +// Same as above, but this is to use the pet_script field with official pet abilities. +pet_equip_min_friendly: 900 + +// 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: no + +// 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: no + +// The rate exp. is gained from the pet attacking monsters +pet_attack_exp_rate: 100 + +// 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: 0 + +// 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 yes, pets are automatically returned to egg when entering castles during WoE times +// and hatching is forbidden within as well. +pet_disable_in_gvg: no diff --git a/conf/battle/player.conf b/conf/battle/player.conf new file mode 100644 index 00000000..cdfcece8 --- /dev/null +++ b/conf/battle/player.conf @@ -0,0 +1,170 @@ +//-------------------------------------------------------------- +// Hercules Battle Configuration File +// Originally Translated by Peter Kieser +// Made in to plainer English by Ancyker +//-------------------------------------------------------------- +// 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. +//-------------------------------------------------------------- + +// 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 'yes' on official servers) +left_cardfix_to_right: yes + +// 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: 0 + +// 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: 0 + +// Can a normal player by-pass the skill tree? (Note 1) +player_skillfree: no + +// When set to yes, 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: yes + +// Quest skills can be learned? (Note 1) +// Setting this to yes can open an exploit on your server! +quest_skill_learn: no + +// When skills are reset, quest skills are reset as well? (Note 1) +// Setting this to yes can open an exploit on your server! +// NOTE: If you have quest_skill_learn set to yes, quest skills are always reset. +quest_skill_reset: no + +// You must have basic skills to be able to sit, trade, form a party or create a chatroom? (Note 1) +basic_skill_check: yes + +// 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 + +// The time interval for HP to restore naturally. (in milliseconds) +natural_healhp_interval: 6000 + +// The time interval for SP to restore naturally. (in milliseconds) +natural_healsp_interval: 8000 + +// Automatic healing skill's time interval. (in milliseconds) +natural_heal_skill_interval: 10000 + +// 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: 99 + +// Same as max_parameter, but for 3rd classes. +max_third_parameter: 130 + +// Same as max_parameter, but for extend classes (Ex. Super Novice, Kagero/Oboro, Rebellion). +max_extended_parameter: 125 + +// Same as max_parameter, but for baby classes. +max_baby_parameter: 80 + +// Same as max_parameter, but for baby 3rd's. +max_baby_third_parameter: 117 + +// 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: 8000 + +// Prevent logout of players after being hit for how long (in ms, 0 disables)? +prevent_logout: 10000 + +// Display the drained hp/sp values from normal attacks? (Ie: Hunter Fly card) +show_hp_sp_drain: no + +// Display the gained hp/sp values from killing mobs? (Ie: Sky Deleter Card) +show_hp_sp_gain: yes + +// 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: yes + +// Are simultaneous trade/party/guild invite requests automatically rejected? +invite_request_check: yes + +// Players' will drop a 'Skull' when killed? +// 0 = Disabled +// 1 = Dropped only in PvP maps +// 2 = Dropped in all situations +bone_drop: 0 + +// 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 + +// 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 +// 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 diff --git a/conf/battle/skill.conf b/conf/battle/skill.conf new file mode 100644 index 00000000..1bb58211 --- /dev/null +++ b/conf/battle/skill.conf @@ -0,0 +1,305 @@ +//-------------------------------------------------------------- +// Hercules Battle Configuration File +// Originally Translated by Peter Kieser +// Made in to plainer English by Ancyker +//-------------------------------------------------------------- +// 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, 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: no +delay_dependon_agi: no + +// 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: 150 + +// 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: yes + +// 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: no + +// 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: 0 + +// Should a check on the caster's status be performed in all skill attacks? +// When set to yes, meteors, storm gust and any other ground skills will have +// no effect while the caster is unable to fight (eg: stunned). +skill_caster_check: yes + +// 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 YES 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 yes, those two skills will not protect everyone, but only allies) +//See db/skill_unit_db.txt for more info. +defunit_not_enemy: no + +// 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: yes for player-traps +gvg_traps_target_all: 1 + +// Some traps settings (add as necessary): +// 1: Traps are invisible to those who come into view of it. When unset, all traps are visible at all times. +// (Invisible traps can be revealed through Hunter's Detecting skill) +traps_setting: 0 + +// 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: yes + +// 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: +// 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: no + +// 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 no, 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: no + +// Grandcross display type (Default 1) +// 0: Yellow character +// 1: White character +gx_disptype: 1 + +// Max Level Difference for Devotion +devotion_level_difference: 10 + +// If no than you can use the ensemble skills alone. (Note 1) +player_skill_partner_check: yes + +// 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: yes + +// 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: no + +// 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: 11 + +// 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: no + +// Allow use of SG skills without proper day (Sun/Moon/Star) ? +allow_skill_without_day: no + +// Allow use of ES-type magic on players? +allow_es_magic_player: no + +// 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 +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: yes + +// 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: no + +// Dancing Weapon Switch +// On official server, a fix is in place that prevents the switching of weapons to cancel songs. +// Default: yes +dancing_weaponswitch_fix: yes + +// 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 + +// 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 + +// How many attempts should a monster need until it can escape from 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 cast idle +// and rudeattacked skills (if attacked). Official servers have a safety system that eventually allows monsters to escape +// when their walk routine failed many times in row so they won't stay on the loop endlessly. The time for this seems to be +// around 15 seconds for fast monsters and 35 seconds for slow monsters, this equals about 75 attempts. +// Set this to 0 if you don't want monsters to be stuck in icewalls at all. +icewall_walk_block: 75 \ No newline at end of file diff --git a/conf/battle/status.conf b/conf/battle/status.conf new file mode 100644 index 00000000..17270681 --- /dev/null +++ b/conf/battle/status.conf @@ -0,0 +1,24 @@ +//-------------------------------------------------------------- +// Hercules Battle Configuration File +// Originally Translated by Peter Kieser +// Made in to plainer English by Ancyker +//-------------------------------------------------------------- +// 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) +//-------------------------------------------------------------- + +// 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: 100 +mob_max_status_def: 100 diff --git a/conf/battle_athena.conf b/conf/battle_athena.conf deleted file mode 100644 index 378fdea9..00000000 --- a/conf/battle_athena.conf +++ /dev/null @@ -1,752 +0,0 @@ - -//-------------------------------------------------------------- -//eAthena Battle Configuration File -// Made in to plainer english by Ancyker -//-------------------------------------------------------------- -//Note 1: Directives can be set using on/off, yes/no or 1/0. -//Note 2: All rates are in percents, 100 would mean 100%, 200 -// would mean 200%, etc -// Other Information: -// 1000 miliseconds is 1 second. -//-------------------------------------------------------------- - -// Do you want to debug warp points? If set to yes, warp points will appear as flags.(Note 1) -warp_point_debug: no - -// When calculating critical, should we take in to account the enimies luck? (Note 1) -enemy_critical: yes - -// Enemy's Critical Rate (Note 2) -enemy_critical_rate: 100 - -// Are enemy attacks effected by their strength? (Note 1) -enemy_str: yes - -// Can enemies have perfect flee? (Note 1) -enemy_perfect_flee: no - -// 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 - -// Is the delay time is dependent on the caster's DEX? (Note 1) -delay_dependon_dex: yes - -// At what dex does the cast time become zero (instacast) -castrate_dex_scale: 150 - -// Is 'Skills add a delay before you can attack' enabled? (Note 1) -skill_delay_attack_enable: no - -// Whether or not cards and attributes in the left hand are enabled (Note 1) -left_cardfix_to_right: yes - -// Increase player's attack range (in cells) -player_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: no - -// Increase Monsters attack range -monster_skill_add_range: 0 - -// If a player is attacked, will they have a delay in being able to move? (Note 1) -// (Setting to no will be like always endure) -player_damage_delay: no - -// Damaged delay rate (Note 2) -player_damage_delay_rate: 100 - -// Is a player's defense NOT dependant on an enemies attack? (Note 1) -defunit_not_enemy: yes - -// Are summoned monsters level greater then your base level? (I think this is for dead branches) (Note 1) -random_monster_checklv: yes - -// The maximum quantity of monsters that can be summoned per GM command (0 denotes an unlimited quantity) -atcommand_spawn_quantity_limit: 100 - -// Does HP recover if hit by an attribute that's same as your own? (Note 1) -attribute_recover: yes - -// If an item is droped, does it go stright into the users inventory? (Note 1) -item_auto_get: no - -// How long does it take for an item to disappear from the floor after it is dropped? (in miliseconds) -flooritem_lifetime: 120000 - -// How long before the first person who did the most damage to a monster can get the item? (in milliseconds) -item_first_get_time: 15000 - -// How long before the second person who did the second most damage to a monster can get the item? (in milliseconds) -// (It Adds Time From The First Persons Time) -// So, It Is Like First Person's Time + Second Person's Time = Time Before Second Person Can Get The Items -item_second_get_time: 10000 - -// How long before the third person who did the third most/least damage to a monster can get the item? (in milliseconds) -// (It Adds Time From The First Persons Time And Second Persons Time) -// So, It Is Like First Person's Time + Second Person's Time + Third Person's Time = Time Before Third Person Can Get The Items -item_third_get_time: 5000 - -// How long before the first person who did the most damage to a MVP can get the item? (in milliseconds) -mvp_item_first_get_time: 10000 - -// How long before the second person who did the second most damage to a MVP can get the item? (in milliseconds) -// (It Adds Time From The First Persons Time) -// So, It Is Like First Person's Time + Second Person's Time = Time Before Second Person Can Get The Items -mvp_item_second_get_time: 10000 - -// How long before the third person who did the third most/least damage to a MVP can get the item -//(Note the Amount is in Milliseconds and It Adds Time From The First Persons Time And Second Persons Time) -//So It Is Like First Person's Time + Second Person's Time + Third Person's Time = Time Before Third Person Can Get The Items -mvp_item_third_get_time: 2000 - -// Item drop rates (Note 2) - -// The rate the common items are droped (Items that are in the ETC tab, besides card) -item_rate_common: 100 -item_drop_common_min: 1 -item_drop_common_max: 10000 - -// The rate healing items are droped (items that restore HP or SP) -item_rate_heal: 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 droped. -item_rate_use: 100 -item_drop_use_min: 1 -item_drop_use_max: 10000 - -// The rate at which equipment is droped. -item_rate_equip: 100 -item_drop_equip_min: 1 -item_drop_equip_max: 10000 - -// The rate at which cards are droped -item_rate_card: 100 -item_drop_card_min: 1 -item_drop_card_max: 10000 - -item_drop_mvp_min: 1 -item_drop_mvp_max: 10000 - -// Can the monster's drop rate become 0? (Note 1) -drop_rate0item: no - -// Rate at which exp. is given. (Note 2) -base_exp_rate: 100 - -// Rate at which job exp. is given. (Note 2) -job_exp_rate: 100 - -// PVP exp. Do players get exp during pvp -pvp_exp: yes - -// 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: 0 - -// Base exp. penalty rate (Each 100 is 1% of their exp) -death_penalty_base: 100 - -// Job exp. penalty rate (Each 100 is 1% of their exp) -death_penalty_job: 100 - -// When a player dies, how much zeny should we penalize them with? -zeny_penalty: 0 - -// 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: 30 - -// 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: 0 - -// [MVP] Summoned monsters HP rate, that is, monsters summoned by an MVP will have this much HP. (Note 2) -mvp_hp_rate: 100 - -// [MVP] Item drop rate, that is, the overall drop rate for items droped by an MVP. (Note 2) -mvp_item_rate: 100 - -// [MVP] Exp. rate. (Note 2) -mvp_exp_rate: 100 - -// The HP rate of normal monsters (that is monsters that are not MVP's) (Note 2) -monster_hp_rate: 100 - -// The maximum attack speed of a monster -monster_max_aspd: 199 - -// (@) GM Commands available only to GM's? (Note 1) -// set to 'No', Normal players (gm level 0) can use GM commands _IF_ you set the command level to 0. -// set to 'Yes', Normal players (gm level 0) can never use a GM command even if you set the command level to 0. -atcommand_gm_only: no - -// [GM] Can use all skills? (No or mimimum GM level) -gm_all_skill: no - -// [GM] Can use all abracadabra skills? (No minimum GM level) -gm_all_skill_add_abra: no - -// [GM] Can equip anything? (No or minimum GM level, can cause client errors.) -gm_all_equipment: no - -// [GM] Raise skills unconditionally, that is, put points in to a skill not in thier jobs skill tree? (no or minimum gm level) -gm_skill_unconditional: no - -// Can a normal player by-pass the skill tree? (Note 1) -player_skillfree: no - -// When doing a skill reset, whether the skill's restriction is to be ignored or not. (Note 1) -player_skillup_limit: yes - -// Forging success rate. (Note 2) -weapon_produce_rate: 100 - -// Prepare Potion succsss rate. (Note 2) -potion_produce_rate: 100 - -// Allow monsters to be aggresive and attack first? (Note 1) -monster_active_enable: yes - -// Monster damage delay rate (Note 1) -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 - -// Enable monster skills? (Note 1) -mob_skill_use: yes - -// Rate of monsters on a map, 200 would be twice as many as normal. (Note 2) -mob_count_rate: 100 - -// Max mobs count in each map -mob_map_limit: 500 - -// Max mob spawned with skills per each master -mob_skill_spawn_limit: 20 - -// Min mob respaw delay -mob_spawn_min_delay: 5000 - -// Quest skills can be learned? (Note 1) -// Setting this to yes can open an exploit on your server! -quest_skill_learn: yes - -// When skills are reset, quest skills are reset as well? (Note 1) -// Setting this to yes can open an exploit on your server! -quest_skill_reset: no - -// You must have basic skills to be able to sit, trade, form a party or create a chatroom? (Note 1) -basic_skill_check: yes - -// Item to require when making a guild. Setting this to -// 0 will disable the check. Using item 1337 for now -// to disable creation (as it's unallocated) -guild_emperium_check: 999 - -// Maximum tax limit on a guild member. -guild_exp_limit: 50 - -// Maximum castles one guild can own (0 - unlimited) -guild_max_castles: 0 - -// 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. -// If you attack a monster, it will attack you back regaurdless of this setting. (I think) -player_invincible_time: 5000 - -// [PET] Rate for catching pets (Note 2) -pet_catch_rate: 100 - -// [PET] Can you name a pet more then once? (Note 1) -pet_rename: no - -// [PET] The rate a pet will get friendly by feeding it. (Note 2) -pet_friendly_rate: 100 - -// [PET] The rate at which a pet will become hungry. (Note 2) -pet_hungry_delay_rate: 100 - -// [PET] 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: 5 - -// [PET] Does Pet's Attack Damage Based On Str (Note 1) -pet_str: yes - -// [PET] Whether or not the pet's will use skills. (Note 1) -pet_status_support: yes - -// [PET] Does the pet need its equipment before it does its skill? (Note 1) -pet_equip_required: yes - -// [PET] Will all pets attack? (Note 1) -// Do NOT use this with pet skills! -pet_attack_support: no - -// [PET] When the master receives damage from the monster, whether or not the pet attacks back. -pet_damage_support: no - -// [PET] Rate at which a pet will support it's owner in battle. (Note 2) -pet_support_rate: 100 - -// [PET] Does the pets owner receive exp from the pets damage? -pet_attack_exp_to_master: no - -// [PET] The rate exp. is gained from the pet attacking monsters -pet_attack_exp_rate: 100 - -// Will there be a minimum skill dmg even if there is a miss? -skill_min_damage: no - -// Which finger offensive style can be used? -// 0 = Aegis style -// 1 = Athena style -finger_offensive_type: 0 - -// 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 (100 is normal, 200 is double.) -// The way it is calculated is (money recieved * skill lv) * shop_exp / 100. -shop_exp: 0 - -// The delay rate of monk's combo (Note 2) -combo_delay_rate: 100 - -// Item check? (Note 1) -// When logged in or moving in map if the item the player is holding isn't correct there will be a check. -item_check: no - -// Will tuxedo and wedding dresses be shown when worn? (Note 1) -wedding_modifydisplay: yes - -// The time interval for HP to restore naturally. (in milliseconds) -natural_healhp_interval: 6000 - -// The time interval for SP to restore naturally. (in milliseconds) -natural_healsp_interval: 8000 - -// Automatic healing skill's time interval. (in milliseconds) -natural_heal_skill_interval: 10000 - -// The maximum weight for a character to carry when the character stops healing naturally. (in %) -natural_heal_weight_rate: 50 - -// Override item names from GRF file? (Note 1) -item_name_override_grffile: yes - -// Are arrows are consumed when used on a bow? (Note 1) -arrow_decrement: yes - -// Maximum atk speed. (Default is 190) -max_aspd: 190 - -// Maximum HP. (Default is 32500) -max_hp: 32500 - -// Maximum SP. (Default is 32500) -max_sp: 32500 - -// Maximum user LV to send to client -// (Default is 99.. Never go above 127) -// -// this is only useful if you have adjusted your client -// to expect levels higher then 99 -max_lv: 99 - -// Max limit of char stats. (agi, str, etc.) -max_parameter: 255 - -// Max weight carts can hold. -max_cart_weight: 8000 - -// Display player skill errors in console? (for debug only) (default: off) (Note 1) -player_skill_log: off - -// Display monster skill errors in console? (for debug only) (default: off) (Note 1) -monster_skill_log: off - -// Display battle log? (for debug only) (default: off) (Note 1) -battle_log: off - -// Display save log? (for debug only) (default: off) (Note 1) -save_log: off - -// Display errors? (for debug only) (default: off) (Note 1) -error_log: off - -// Display other stuff? (for debug only) (default: off) (Note 1) -etc_log: off - -// Save Clothes color. (This will degrade performance [in txt?]) (Note 1) -save_clothcolor: yes - -// Undead type differeniate. -// 0 = element undead -// 1 = race undead -// 2 = both -undead_detect_type: 2 - -// Operational mode of automatic counter. -// 0 = disregard DEF and HIT+20 . CRI*2, 1 = 100% critical -// Players -player_auto_counter_type: 0 -// Monsters -monster_auto_counter_type: 0 - -// Type of penalty that is applied to FLEE when more than agi_penaly_count monsters are targetting player -// 0 = no penalty is applied -// 1 = agi_penaly_num is reduced from FLEE as a % -// 2 = agi_penaly_num is reduced from FLEE as an exact amount -agi_penaly_type: 1 - -// Amount of enemies required to be targetting player before FLEE begins to be penalized -agi_penaly_count: 3 - -// Amount of FLEE penalized per each attacking monster more than agi_penaly_count -agi_penaly_num: 10 - -// Type of penalty that is applied to VIT defense when more than vit_penaly_count monsters are targetting player -// 0 = no penalty is applied -// 1 = vit_penaly_num is reduced from FLEE as a % -// 2 = vit_penaly_num is reduced from FLEE as an exact amount -vit_penaly_type: 1 - -// Amount of enemies required to be targetting player before VIT defense begins to be penalized -vit_penaly_count: 3 - -// Amount of VIT defense penalized per each attacking monster more than vit_penaly_count -vit_penaly_num: 5 - -// When the player attacks an object, the calculation method of DEF. -// With 0 this will be ignored specification, at 1 or more def = subtraction of (DEF* value). -player_defense_type: 0 - -// When the monster attacks an object, the calculation method of DEF. -// With 0 this will be ignored, at 1 or more def = subtraction of (DEF* value). -monster_defense_type: 0 - -// When the pet attacks an object, the calculation method of DEF. -// With 0 this will be ignored specification, at 1 or more def = subtraction of (DEF* value). -pet_defense_type: 0 - -//MDEF‚same as above....(MDEF*value) -magic_defense_type: 0 - -// Whether or not, ground skills of the players' will stack. (Note 1) -player_skill_reiteration: no - -//Whether or not, ground skills of the monsters' will pile up. (Note 1) -monster_skill_reiteration: no - -//Whether or not ground based skills of a certain type such as traps can be cast straight onto other players. (Note 1) -player_skill_nofootset: yes - -//Whether or not ground based skills of a certain type such as traps can be cast straight onto monsters. (Note 1) -monster_skill_nofootset: yes - -// When a player is cloaking, Whether the wall is checked or not. (Note 1) -// Note: Gravity announced that they were changing cloaking so it would -// not need a wall, but this was never implemented. I set to no, for fun. -player_cloak_check_type: no - -// When a monster is cloaking, Whether the wall is checked or not. (Note 1) -monster_cloak_check_type: no - -// Melee damage adjustments for WoE battles (Guild Vs Guild) (Note 2) -gvg_short_attack_damage_rate: 100 - -// Ranged damage adjustments for WoE battles (Guild Vs Guild) (Note 2) -gvg_long_attack_damage_rate: 100 - -// Magic damage adjustments for WoE battles (Guild Vs Guild) (Note 2) -gvg_magic_attack_damage_rate: 100 - -// Misc damage adjustments for WoE battles (Guild Vs Guild) (Note 2) -gvg_misc_attack_damage_rate: 100 - -// When the empelium is broken with WoE mode on, How Long Before The Declaration Of Castle Owner -// and Removal of Monsters/Players from Castle. (in milliseconds) -gvg_eliminate_time: 7000 - -// Whether or not skill is used vis-a-vis the user at the time of MOB skill motion of condition skillused. (Note 1) -// Not sure what this means, something about monsters changing target? -mob_changetarget_byskill: no - -// Player's Direction Changed When Attacking? (Note 1) -player_attack_direction_change: yes - -// Monsters's Direction Changed When Attacking? (Note 1) -monster_attack_direction_change: yes - -// If the player has Undead Elemental Equipment, should they be frozen or not. (Note 1) -player_undead_nofreeze: no - -// Will Player Skills Stay Within Land Limit or not? (Note 1) -player_land_skill_limit: yes - -// Will Monster Skills Stay Within Land Limit or not? (Note 1) -monster_land_skill_limit: yes - -// If a party uses a skill with penalties do they apply? (Note 1) -party_skill_penaly: yes - -// If monster's class is changed will it fully recover HP and SP and Ailments? (Note 1) -monster_class_change_full_recover: no - -// Do produced items have the maker's name on them? (Note 1) -produce_item_name_input: yes - -// Do produced potions have the maker's name on them? (Note 1) -produce_potion_name_input: yes - -// Do crafted arrows have the maker's name on them? (Note 1) -making_arrow_name_input: yes - -// Does created holy water have the maker's name on it? (Note 1) -holywater_name_input: yes - -// Stop logout for 10 seconds after a hit? (Note 1) -prevent_logout: yes - -// If skill fails by delay, should it display or not. (Note 1) -display_delay_skill_fail: yes - -// Can a player in chat room (in-game), be warped by a warp portal? (Note 1) -chat_warpportal: no - -// Can a monster be warped by a warp portal? (Note 1) -mob_warpportal: no - -// Is a monster summoned via dead branch aggresive? (Note 1) -dead_branch_active: yes - -// The highest value at which an item can be sold via the merchant vend skill. (in zeny) -vending_max_value: 10000000 - -// If someone loots, show name in party? (Note 1) -show_steal_in_same_party: no - -// Allow upper class (Advanced 2nd Class)? (Note 1) -// Just leave this at yes -enable_upper_class: yes - -// Is a usual attack of a pet delivered withOUT an attribute? (Note 1) -pet_attack_attr_none: no - -// Is a usual attack of a player delivered withOUT an attribute? (Note 1) -pc_attack_attr_none: no - -// Is a usual attack of a monster delivered withOUT an attribute? (Note 1) -mob_attack_attr_none: no - -// mob attacks againsts players wearing ghostring armor do full damage -mob_ghostring_fix: no - -// Does the Golden Thief Bug card only work during pvp? -// no or 0 - gtb works all the time -// 1 - 100 - percentage of magic damage reduced only during pvp (or gvg) -gtb_pvp_only: no - -// How to count the number of the enemies who do an agi penalty... -// 1 or less: It is a count altogether. -// 2: Full evasion exclusion -// 3: Full evasion and evasion exclusion -// 4 or more: Except all. -agi_penaly_count_lv: 2 - -// How to count the number of the enemies who do a vit penalty -// 1 or less: It is a count altogether. -// 2: Full evasion exclusion -// 3: Full evasion and evasion exclusion -// Four or more: Except all. -vit_penaly_count_lv: 3 - -// Grandcross Settings (Dont mess with these) -// Even if MOB (PC) has overlapped, it HIT(s) compulsion 3. (Default no) -gx_allhit: no -// The effect of the arms card of a damage %UP system is set also to GX at -L effect. (default no) -gx_cardfix: no -// The attribute affinity of GX is calculated doubly. (Default yes) -gx_dupele: yes -// Grandcross display type (Default 1) -// 0: Yellow character -// 1: White character -gx_disptype: 1 - -// If no than you can use the ensemble skills alone. (Note 1) -player_skill_partner_check: yes - -// Is the character of a GM account set as the object of a display by @ command etc. or not? -hide_GM_session: no - -// ƒ†ƒjƒbƒgˆÚ“®ˆ-•û-@B0‚Å-{ŽIŽd-l(‰ñü•‰‰×¨dAŽIˆ-¨Œy)A1‚ÅAthenaŽd-l(‰ñü•‰‰×¨ŒyAŽIˆ-¨d) -// translation (babelfish): -// Unit portable place - ? @. -// With 0 - {mackerel SI -l (circuit load -> heavily, the mackerel place - the ? ? lightly), -// With 1 - Athena SI -l (circuit load -> lightly, the mackerel place - the ? ? it is heavy) -unit_movement_type: 0 - -// Are other requests accepted during [various things[party,guild]] a request or not? -// It does not accept by no accepted by yes. -invite_request_check: yes - -// ƒŠƒ€[ƒuƒgƒ‰ƒbƒv‚ÌŽd-l 0:-{ŽIŽd-lAã©1ŒÂ 1:AthenaŽd-lAŽg‚Á‚½ƒAƒCƒeƒ€‚ðŽg‚Á‚½ŒÂ” -// translation (babelfish): -// SI of ???????? -l -// 0: - {Mackerel SI -l, trap 1 -// 1:Athena SI -l, the quantity which used the item which was used -skill_removetrap_type: 0 - -// Will display experience gained from killing a monster. (Note 1) -disp_experience: no - -// Whether or not Marine Spheres and Floras summoned by Alchemist will drop items and give experience? (Note 1) -alchemist_summon_reward: no - -// Maximum level (default 255). Requires that you have an experience table that supports more than 99 levels to go -// any higher. It is left at 255 for default as to not cause problems for people who already have players at higher levels. -// @lvup command will not go higher than this value, and therefor will not loop back around 0. -maximum_level: 255 - -// Leave at 0 to use normal drop system. Anything higher than 0 will allow luk to affect drop rates, based on a percentage. -// Example 1: Setting of 10 with 50 luk would add 5 to the drop rate. So say a card has a drop rate of 2, it would become 7. -// Example 2 : Setting 100 with 99 luk would add 99 to the drop rate. -drops_by_luk: 0 - -// Do all monsters ignore GMs unless attacked? (Note 1) -monsters_ignore_gm: no - -// Turn equipment breaking on. (Note 1) -// Turning this one will allow equipment to break in battles, -// as well as some skills that have chance to break equipmen. -equipment_breaking: no - -// Overall rate of which equipment can break. (Note 2) [100 = .01% chance to break equipment before penalties.] -// Critical attacks will double chance to break equipment, and other skills (such as Power Thrust) will increase weapon breaking chance as well. -// This does not effect Sage weapon enchantment failure chance. -equipment_break_rate: 100 - -// 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. -pk_mode: no - -// Turn this on to allow a player to level up more than once from a kill. (Note 1) -multi_level_up: yes - -// Does using bow to do a backstab give a 50% damage penalty? (Note 1) -backstab_bow_penalty: yes - -// Choose if server begin with night (yes) or day (no) -night_at_start: no - -// Define duration in msec of the day (default: 7,200,000 = 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: 1,800,000 = 30 min) -// Set to 0 to disable night cycle (but not @night GM command). -// Except 0, minimum is 60000 (1 minute). -night_duration: 0 - -// Will display a mob's hp/maxhp when the mouse cursor is over them. (Note 1) -// Will not display guardian or emperium hp. -// -// Still under testing (works but doesn't update) -show_mob_hp: no - -// Ban people that try to use an other name of its name (spoof name). -// Duration of the ban, in minutes (default: 5). Value from 0 to 32767 -// to disable the ban, set 0 -ban_spoof_namer: 5 - -// Set here minimum level of a (online) GM that can receive all informations about any player that try to hack, spoof a name, etc. -// Values are from 0 to 100. -// 100: disable information -// 0: send to any people, including normal players -// default: 60, according to GM definition in atcommand_athena.conf -hack_info_GM_level: 60 - -// Set here the minimum GM level to disable the nowarp (from) and nowarpto (to) flags. -// This option is mainly used in AT_commands (@memo, @warp, @charwarp, @go, etc...). All GM commands used to move or set a new map check nowarp and nowarpto flags. -// default: 20 (first level after normal player or super'normal' player) -any_warp_GM_min_level: 20 - -// Set here which client version do you accept. Add all values of clients: -// 1: Clients before 2004-07-06 (old clients) -// 2: 2004-07-06 kRO client -// 4: 2004-07-13 kRO client -// 8: 2004-07-26 kRO client -// 16: 2004-08-09 kRO / 2004-08-16aSakray / 2004-08-17aSakray client -// 32: 2004-09-06aSakray client -// default value: 63 (all clients) -packet_ver_flag: 63 - -// Allow GMs to mute players or not? -muting_players: no - -// Mail system - Only function in sql version -mail_system: no - -// valid range of dye's and styles on the client -min_hair_style: 0 -max_hair_style: 30 -min_hair_color: 0 -max_hair_color: 30 -min_player_look: 0 -max_player_look: 2 -min_mob_look: 0 -max_mob_look: 3 -min_cloth_color: 0 -max_cloth_color: 4 - -// Visible area size (how many squares away from a player can they see) -area_size: 14 - -// chat system: -// More than flood lines in threshold seconds gets a ban -// More than warn lines in threshold seconds gets a warning -chat_spam_flood: 10 -chat_spam_warn: 8 -chat_spam_threshold: 10 - -// How much to increment the line count if the content is lame. -// Lameness is defined as mostly caps, punctuation, or a repeat of the last line. -// Set to 1 or 2 depending on how much you hate hearing "ITEN PLZ!" 3 times in a row.. -chat_lame_penalty: 2 - -// how many hours to auto ban spammer, 0 to disable [0-32767]. Default 6. -chat_spam_ban: 1 - -// Maximum line lengt, if a message is above chat_maxline, its dropped [1-512]. Default 255. -chat_maxline: 512 - -// Packet flood protection -// If more than packet_spam_flood over-limits packets are recieved in -// packet_spam_threshold seconds, we will kick the user if packet_spam_kick -// is not set to 0. Limits on individual packets are defined in src/map/clif.c -packet_spam_flood: 30 -packet_spam_threshold: 2 -packet_spam_kick: 0 - -// local settings for this server in this file -import: conf/battle_local.conf diff --git a/conf/battle_local.conf.example b/conf/battle_local.conf.example deleted file mode 100644 index c9ba222c..00000000 --- a/conf/battle_local.conf.example +++ /dev/null @@ -1 +0,0 @@ -// Nothing needs to be done here. diff --git a/conf/battlegrounds.conf b/conf/battlegrounds.conf new file mode 100644 index 00000000..0aa81d35 --- /dev/null +++ b/conf/battlegrounds.conf @@ -0,0 +1,125 @@ +//==================================================== +//= _ _ _ +//= | | | | | | +//= | |_| | ___ _ __ ___ _ _| | ___ ___ +//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __| +//= | | | | __/ | | (__| |_| | | __/\__ \ +//= \_| |_/\___|_| \___|\__,_|_|\___||___/ +//= +//= http://hercules.ws/board/ +//==================================================== +//= Link~u! +//= http://hercules.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/build-magic.sh b/conf/build-magic.sh deleted file mode 100755 index f064a286..00000000 --- a/conf/build-magic.sh +++ /dev/null @@ -1,21 +0,0 @@ -#! /bin/bash - -RSCRIPT="spells-build" - -if [ -a $RSCRIPT ]; then printf ""; else - echo '#! /bin/bash' > $RSCRIPT; - echo 'sed \' >> $RSCRIPT; - chmod a+x $RSCRIPT -fi - -for n in `grep -o '"#..."' magic.conf.template`; do - if grep $n $RSCRIPT; then printf ""; else - CHANGES=1 - echo "'s/${n}/${n}/;'\\" >> $RSCRIPT; - fi -done - -if [ x$CHANGES == x1 ] -then echo "${RSCRIPT} has been updated; please provide invocations for spells and/or teleport anchors."; -else cat magic.conf.template | ./$RSCRIPT > magic.conf; -fi diff --git a/conf/channels.conf b/conf/channels.conf new file mode 100644 index 00000000..9700f626 --- /dev/null +++ b/conf/channels.conf @@ -0,0 +1,64 @@ +//==================================================== +//= _ _ _ +//= | | | | | | +//= | |_| | ___ _ __ ___ _ _| | ___ ___ +//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __| +//= | | | | __/ | | (__| |_| | | __/\__ \ +//= \_| |_/\___|_| \___|\__,_|_|\___||___/ +//= +//= http://hercules.ws/board/ +//==================================================== +//================= More Information ================= +// http://hercules.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 */ + 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.rizon.net:6665" /* network to connect to (:and port) */ + irc_channel_channel: "#Hercules" /* channel in the network above to join */ + irc_channel_nick: "Hercules_chSysBot" /* 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) */ +} +) diff --git a/conf/char-server.conf b/conf/char-server.conf new file mode 100644 index 00000000..6784a3c9 --- /dev/null +++ b/conf/char-server.conf @@ -0,0 +1,187 @@ +// Character Server configuration file. + +// Note: "Comments" are all text on the right side of a double slash "//" +// Whatever text is commented will not be parsed by the servers, and serves +// only as information/reference. + +// Server Communication username and password. +userid: s1 +passwd: p1 + +// 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: Hercules + +// Wisp name for server: used to send wisp from server to players (between 4 to 23 characters) +wisp_server_name: Server + +// 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 + +// Login Server Port +login_port: 6900 + +// 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 + +// Character Server Port +char_port: 6121 + +//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: no + +//Makes server output more silent by ommitting 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 + +// 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 +char_server_type: 0 + +// Minimum Group ID to join char server when it is on char_server_type 1 (maintenance) +char_maintenance_min_group_id: 99 + +// Enable or disable creation of new characters. +// Now it is actually supported [Kevin] +char_new: 1 + +// Display (New) in the server list. +char_new_display: 0 + +// 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 + +// How often should the server save all files? (In seconds) +// Note: Applies to all data files on TXT servers. +// On SQL servers, it applies to guilds (character save interval is defined on the map config) +autosave_time: 60 + +// Display information on the console whenever characters/guilds/parties/pets are loaded/saved? +save_log: yes + +// Start point, Map name followed by coordinates (x,y) +start_point: 000-1,80,109 + +// Starting items for new characters +// Format is: id1,quantity1,stackable1,idN,quantityN,stackableN +// stackable: +// 0 - Not stackable (weapon, armor, egg, pet armor) +// 1 - Stackable +//start_items: 1201,1,0,2301,1,0 + +// Starting zeny for new characters +start_zeny: 0 + +// Size for the fame-lists +fame_list_alchemist: 10 +fame_list_blacksmith: 10 +fame_list_taekwon: 10 + +// 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: 100 + +// Name used for unknown characters +unknown_char_name: Unknown + +// To log the character server? +log_char: 1 + +// 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: no + +// 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 'char_name_letters' option. +// 2: Letters/symbols in 'char_name_letters' option are forbidden. All others are possibles. +char_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. +char_name_letters: abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890 + +// 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) +char_del_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. +char_del_delay: 86400 + +// Block deletion if character is inside a guild or a party? (BOOL) +// default: 0 official: 1 +// !!This check is imposed by Aegis to avoid dead entries in databases and _is_not_needed_ as we clear data properly!! +char_aegis_delete: 0 + +// What folder the DB files are in (item_db.conf, etc.) +db_path: db + +//================================================================== +// Pincode system +//================================================================== + +// 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 +pincode_enabled: 0 + +// 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 +pincode_charselect: 0 + +// How often does a user have to change his pincode? +// Default: 0 +// 0: never +// X: every X minutes +pincode_changetime: 0 + +// How often can a user enter the wrong password? +// Default: 3 +// NOTE: The maximum on clientside is 3 +pincode_maxtry: 3 + +import: conf/import/char_conf.txt diff --git a/conf/char_athena.conf b/conf/char_athena.conf deleted file mode 100644 index d18da79b..00000000 --- a/conf/char_athena.conf +++ /dev/null @@ -1,137 +0,0 @@ -// Athena Character configuration file. - -// Option to force a player to create an e-mail. -// If a player have default e-mail, and if you activate this option, the player can only connect in the game (to arrive on a map) like follow: -// - Create at least 1 character -// - Select 1 character -// - Select DEL to enter his/her e-mail. (if OK is choosen, client says to the player: 'invalid e-mail') -// - If his/her e-mail is correct, the player enter in the game (an e-mail is saved definitively). -// - If his/her e-mail is incorrect, he/she have 'incorrect e-mail' and must select again DEL. -// - After entering in the game (when the player arrives on a map), DEL and SEL/OK button work normaly for all next connections. -// Resume: If a player have "incorrect/invalid e-mail" when he/she click on 'OK' button, -// the player must click 'DEL' button and register his/her NEW e-mail to enter in the game -// So, default is 0, because administrator must explain to their players before to activate this option. -email_creation: 0 - -// Is Character server in maintainence mode? -char_maintenance: 0 - -// Enable or disable creation of new characters. -char_new: 0 - -// Maximum users able to connect to the server. Set to 0 for unlimited. -max_connect_user: 0 - -// It's to check IP of a player between char-server and other servers (part of anti-hacking system) -// If player doesn't have same IP, connection is refused. -// Set to 0/off/no to not check IP of player. -// Set to 1/on/yes if you want to check (default) -// Note: if you enable this option, be sure that your (local/lan/wan) players use correct ip (in xml file) to contact servers, -// and that your LAN is correctly configured (!), and that LAN configuration of eathena is right. -check_ip_flag: yes - -// How often should the server save all files? (In seconds) -autosave_time: 15 - -// Character server flatfile database -char_txt: save/athena.txt - -// Choose to create or not backup file (yes/no, 0/1, etc...) -// default is 'no', because backup file take time for nothing. Actually, there is no problem on characters file creation and save. -backup_txt_flag: no - -// Character server flatfile database (backup) -backup_txt: save/athena_backup.txt - -// Start point, Map name followed by coordinates (x,y) -start_point: 000-0.gat,22,24 -start_point2: 000-0.gat,22,24 -start_point3: 000-0.gat,22,24 - -// Starting weapon for new characters -start_weapon: 0 - -// Starting armor for new characters -start_armor: 0 - -// Starting zeny for new characters -start_zeny: 0 - -min_hair_style: 0 -max_hair_style: 30 -min_hair_color: 0 -max_hair_color: 30 -min_player_look: 0 -max_player_look: 2 - -max_char_class: 6 - -// max number of char slots -char_slots: 10 - -// Name used for unknown characters -unknown_char_name: Unknown - -// Log Filename -char_log_filename: log/char.log - -// 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: 0 - -// Manage possible letters/symbol in the name of charater. Control character (0x00-0x1f) are never accepted. Possible values are: -// 0: no restriction (default) -// 1: only letters/symbols in 'char_name_letters' option. -// 2: Letters/symbols in 'char_name_letters' option are forbidden. All others are possibles. -char_name_option: 1 - -// Set the letters/symbols that you want use with the 'char_name_option' option. -// Note: add 'space' between 2 others letters/symbols. -// default: void. -// char_name_letters: [ ] { } , . | - # @ ! ~ ` ; : " " ? / \ = + < > -char_name_letters: abcdefghijklmnoprstquvwxyzABCDEFGHIJKLMNOPRSTQUVWXYZ1234567890- _+=!' - -// Filename of the file which receives the online players list in text -online_txt_filename: online.txt - -// Filename of the file which receives the online players list, but in html version -online_html_filename: online.html - -// Choose how to display online players. -// (sorting operation with a lot of online players can take time on a slow computer) -// 0: no sorting (default) -// 1: by alphabetical order of their name -// 2: by number of their zenys -// 3: by their base level -// 4: by their job (and job level inside the same job) -// 5: by alphabetical order of their actual map location -online_sorting_option: 0 - -// Choose which columns that you want display in the online files. Do the addition of these values: -// (if value is 0, no file is done) -// 1: name (just the name, no function like 'GM') -// 2: job -// 4: levels -// 8: map name -// 16: mapname and coordonates -// 32: zenys -// 64: name (with 'GM' if the player is a GM) -// default value: 1 (only name) -online_display_option: 64 - -// minimum GM level to display 'GM' when we want to display it (default: 1) -online_gm_display_min_level: 60 - -// refresh time (in sec) of the html file in the explorer (default 20) -online_refresh_html: 20 - -// Anti-freeze system enable -anti_freeze_enable: 0 -// Anti-freeze system interval (in seconds) -anti_freeze_interval: 6 - -// If you want use an additional configuration file, uncomment and use this parameter -//import: path/additional_configuration_file - -// local settings for this server in this file -import: conf/char_local.conf diff --git a/conf/char_local.conf.example b/conf/char_local.conf.example deleted file mode 100644 index aabf6762..00000000 --- a/conf/char_local.conf.example +++ /dev/null @@ -1,25 +0,0 @@ -// Athena Character local configuration file. - -// wan ip override. this ip only will sended to cleints. -// wan_ip:1.2.3.4 - -// Server Communication username and password. -userid: s1 -passwd: p1 - -// Server name, no more than 19 characters -server_name: The Mana World - -// Wisp name for server: used to send wisp from server to players (between 4 to 23 characters) -wisp_server_name: Server - -// Login Server IP -login_ip:81.161.192.4 -// Login Server Port -login_port: 6901 - -// Character Server IP -char_ip:81.161.192.4 -// Character Server Port -char_port: 6122 - diff --git a/conf/charhelp.txt b/conf/charhelp.txt new file mode 100644 index 00000000..e3acddbb --- /dev/null +++ b/conf/charhelp.txt @@ -0,0 +1,28 @@ + 40:--- CHARACTER CMD --- + 40:#statsall - Set all stats of a player to maximum. + 40:#itemlist - Displays all items of a player. + 40:#storagelist - Displays all items of a player's storage. + 40:#stats - Displays a characters stats. + 60:#option - Like @option command but only to target character. + 50:#mountpeco - Give/remove to a player a peco (Class is required, but not skill). + 50:#petrename - Re-enable pet rename to a player. + 60:#save - Changes the target players respawn point. + 60:#baselvl/#blvl <#> - Change a characters base level. + 60:#joblvl/#jlvl <#> - Change a characters job level. + 60:#job/#jobchange - Changes target characters job. + 60:#zeny - Give/take a players Zeny + 60:#cash - Give/take a player cash points + 60:#points - Give/take a player Kafra points + 60:#stpoint - Give/take a players stat points + 60:#skpoint - give/take a players skill points + 60:#skreset - Reset skills of a character. + 60:#streset - Reset stats of a character. + 60:#reset - Reset stats AND skills of a character. + 60:#questskill <#> - Gives to a player the specified quest skill. + 60:#lostskill <#> - Takes away the specified quest skill from the player. + 60:#delitem - Remove items from a character + 50:#model - Changes a player's model + 60:#disguise - Changes disguise of a player + 60:#undisguise - Cancels disguise of a player + 60:#changesex - Changes sex of a player (all characters of the account) + 60:#warp/#rura+ - Warps character to location of choice diff --git a/conf/eathena-monitor.conf.example b/conf/eathena-monitor.conf.example deleted file mode 100644 index 70dcd2e5..00000000 --- a/conf/eathena-monitor.conf.example +++ /dev/null @@ -1,14 +0,0 @@ -# $Id: eathena-monitor.conf,v 1.0 2006/13/10 21:42:22 Platyna Exp $ - -# By default the eathena-monitor looks for its config file in -# $HOME/tmwserver/conf/, creates the log file in $HOME/tmwserver/log/. -# You may use this file to adjust these settings if needed or use predefined -# defaults. Lines starting with hash mark or white space are ignored. - -# login_server=/home/athena/tmwserver/login-server -# map_server=/home/athena/tmwserver/map-server -# char_server=/home/athena/tmwserver/char-server -# workdir=/home/athena/tmwserver -# In seconds, default is 5. -# interval=2 -# logfile=/home/athena/tmwserver/log/monitor.log diff --git a/conf/gm_account.txt.example b/conf/gm_account.txt.example deleted file mode 100644 index 912e1a09..00000000 --- a/conf/gm_account.txt.example +++ /dev/null @@ -1 +0,0 @@ -// diff --git a/conf/grf-files.txt b/conf/grf-files.txt index e69de29b..6af05857 100644 --- a/conf/grf-files.txt +++ 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 00000000..d31f46f2 --- /dev/null +++ b/conf/groups.conf @@ -0,0 +1,276 @@ +/* + +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 +-------------- + +Unique group number. The only required field. + + +Any string. If empty, defaults to "Group ". It is used in several @who +commands. + + +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). + + +A group of settings + : +or + : [ , ] +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. + + +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'. + + +A group of settings + : +If a permission is not included, false is assumed. +For a full list of available permissions, see: doc/permissions.txt + + +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: { + /* no commands by default */ + } + permissions: { + /* without this basic permissions regular players could not + trade or party */ + can_trade: true + can_party: true + } +}, +{ + id: 1 + name: "Super Player" + inherit: ( "Player" ) /* can do everything Players can and more */ + level: 0 + commands: { + /* informational commands */ + commands: true + charcommands: true + help: true + rates: true + uptime: true + showdelay: true + exp: true + mobinfo: true + iteminfo: true + whodrops: true + time: true + jailtime: true + hominfo: true + homstats: true + showexp: true + showzeny: true + whereis: true + /* feature commands */ + refresh: true + noask: true + noks: true + autoloot: true + alootid: true + autoloottype: true + autotrade: true + request: true + go: true + breakguild: true + channel: true + } + permissions: { + } +}, +{ + id: 2 + name: "Support" + inherit: ( "Super Player" ) + level: 1 + commands: { + version: true + where: true + jumpto: true + who: true + who2: true + who3: true + whomap: true + whomap2: true + whomap3: true + users: true + broadcast: true + localbroadcast: true + } + log_commands: true + permissions: { + receive_requests: true + view_equipment: true + } +}, +{ + id: 3 + name: "Script Manager" + inherit: ( "Support" ) + level: 1 + commands: { + tonpc: true + hidenpc: true + shownpc: true + loadnpc: true + unloadnpc: true + npcmove: true + addwarp: true + } + log_commands: true + permissions: { + any_warp: true + } +}, +{ + id: 4 + name: "Event Manager" + inherit: ( "Support" ) + level: 1 + commands: { + monster: true + monstersmall: true + monsterbig: true + killmonster2: true + cleanarea: true + cleanmap: true + item: [true, true] + zeny: [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 + me: true + marry: true + divorce: true + refreshall: true + } + log_commands: true + permissions: { + can_trade: false + any_warp: true + } +}, +{ + id: 10 + name: "Law Enforcement" + inherit: ( "Support" ) + level: 2 + commands: { + hide: true + follow: true + kick: true + disguise: true + fakename: true + option: true + speed: true + warp: true + kill: true + recall: true + ban: true + block: true + jail: true + jailfor: true + mute: true + storagelist: true + cartlist: true + itemlist: true + stats: true + } + log_commands: true + permissions: { + join_chat: true + kick_chat: true + hide_session: true + who_display_aid: true + hack_info: true + any_warp: true + view_hpmeter: true + } +}, +{ + id: 99 + name: "Admin" + level: 99 + inherit: ( "Support", "Law Enforcement" ) + commands: { + /* not necessary due to all_commands: true */ + } + log_commands: true + permissions: { + can_trade: true + can_trade_bound: false + can_party: true + all_skill: false + all_equipment: false + skill_unconditional: false + use_check: true + use_changemaptype: true + all_commands: true + hchsys_admin: true + } +} +) + diff --git a/conf/help.txt b/conf/help.txt new file mode 100644 index 00000000..a65c7de7 --- /dev/null +++ b/conf/help.txt @@ -0,0 +1,307 @@ +// This is help file that contains help messages for atcommands/charcommands. + +// Format: +// : "" + +// This file uses libconfig syntax. + +help: "Params: \n" "Shows help for specified command." +noask: "Auto rejects deals/invites." +me: "Params: \n" "Displays normal text as a message in this format: *name message* (like /me in mIRC)." +fakename: "Params: \n" "Changes your name to your choice temporarily." +npctalk: "Params: \n" "Forces a NPC to display a message in normal chat." +broadcast: "Params: \n" "Broadcasts a message with your name (in yellow)." +kami: "Params: \n" "Broadcasts a message without your name (in yellow)." +kamib: "Params: \n" "Broadcasts a message without your name (in blue)." +localbroadcast: "Params: \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: \n" "Shows monster info (stats, exp, drops etc)." +iteminfo: "Params: \n" "Shows item info (type, price etc)." +whodrops: "Params: \n" "Shows who drops an item (monster with highest drop rates)." +version: "Displays SVN version of the server." +email: "Params: \n" "Changes your account e-mail address." +where: "Params: \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: \n" "Shows the location of a certain mob on the current map." +who: "Params: []\n" "Shows a list of online players and their party and guild." +who2: "Params: []\n" "Shows a list of online players and their job." +who3: "Params: []\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: - You will receive all messages of the guild channel (Chat logging must be enabled)" +partyspy: "@partyspy - 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: \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: \n" "Warps you to selected character." +follow: "Params: \n" "Follow a player." +mount: "Give/remove you a peco (Class is required, but not skill)" +disguise: "Params: \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: - 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: [ ]\n" "Warps you to the selected map and position." +jump: "Params: [ []]\n" "Randomly warps you like a flywing." +jobchange: "Params: \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\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: (stackable) (stackable)\n" "Adds different visual effects on or around your character.\n" +" \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: [ ]\n" "Heals the desired amount of HP and SP. No value specified will do a full heal." +dye: "Params: \n" "Changes your characters clothes color." +hairstyle: "Params: \n" "Changes your hair style." +haircolor: "Params \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: []\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: \n" "Look up a skill by name" +useskill: "Params: \n" "Use a skill on target" +skilltree: "Params: \n" "Prints the skill tree needed to get a skill for the target player." +marry: "Params: \n" "Marry another player." +divorce: "Divorce player." +alive: "Revives yourself from death." +blvl: "Params: \n" "Raises your base level the desired number of levels." +jlvl: "Params: \n" "Raises your job level the desired number of levels." +allskill: "Give you all skills." +stpoint: "Params: - Gives you the desired number of stat points." +skpoint: "Params: - Gives you the desired number of skill points." +zeny: "Params: - Gives you desired amount of Zeny." +cash: "Params: - Gives you the specified amount of cash points." +points: "Params: - Gives you the specified amount of Kafra Points." +str: "Params: \n" "Raises STR by given amount." +agi: "Params: \n" "Raises AGI by given amount." +dex: "Params: \n" "Raises DEX by given amount." +vit: "Params: \n" "Raises VIT by given amount." +int: "Params: \n" "Raises INT by given amount." +luk: "Params: \n" "Raises LUK by given amount." +allstats: "Params: \n" "Adds value in all stats (maximum if no value)." +addwarp: "Params: \n" +killmonster2: "Kills all monsters of your map (without drops)." +monster: "Params: [ [ [ []]]]\n" + "@monster2 [ [ []]]\n" +"@spawn/@monster/@summon/@monster2 \"desired monster name\" [ [ []]]\n" +"@spawn/@monster/@summon/@monster2 \"desired monster name\" [ [ []]]\n" +" Spawns the desired monster with any desired name." +monstersmall: "Params: \n" "Spawns a smaller version of a monster." +monsterbig: "Params: \n" "Spawns a larger version of a monster." +killmonster: "Params: \n" "Kill all monsters of the map (they drop)" +autoloot: "Params: \n" "Makes items go straight into your inventory." +autotrade: "Allows you to vend while you are offline." +changegm: "Params: \n" "Changes the leader of your guild (You must be guild leader)" +changeleader: "Params: \n" "Changes the leader of your party (You must be party leader)" +request: "Params: \n" "Sends a message to all connected GMs (via the gm whisper system)" +sound: "Params: \n" "Plays a sound from the data folder or GRF file located on the client." +clone: "Params: \n" "Spawns a supportive clone of the given player." +slaveclone: "Params: \n" "Spawns a supportive clone of the given player that follows the creator around." +evilclone: "Params: \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: \n" "Search all items that name have part_of_item_name" +refine: "Params: <+/- amount>" +produce: "Params: <# 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: \n" "Gives you the desired item." +item2: "Params: \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: \n" "Create a party." +guild: "Params: \n" "Create a guild." +glvl: "Params: <# of levels>\n" "Raise Guild by desired number of levels" +guildrecall: "Params: \n" "Warps all online characters of a guild to you." +partyrecall: "Params: \n" "Warps all online characters of a party to you." +petrename: "Re-enable pet rename" +pettalk: "Params: \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: \n" "Gives pet egg for monster number in pet DB" +kick: "Params: \n" "Kicks specified character off the server" +unjail: "Params: \n" "Discharges specified character/prisoner" +kill: "Params: \n" "Kills player." +recall: "Params: \n" "Warps target character to you." +raise: "Params: \n" "Revives target character." +block: "Params: \n" "Permanently blocks an account." +unblock: "Params: \n" "Unblocks an account." +ban: "Params: