From 6e4491532daf12607093ad493a070f78aa7756d9 Mon Sep 17 00:00:00 2001 From: gumi Date: Mon, 29 Jul 2019 14:15:06 -0400 Subject: hardcore server --- world/conf/char_athena.conf | 2 +- world/conf/char_local.conf.example | 2 +- world/map/conf/battle_athena.conf | 24 +- world/map/db/params.txt | 2 + world/map/npc/002-3/mapflags.txt | 1 + world/map/npc/002-4/mapflags.txt | 1 + world/map/npc/002-5/mapflags.txt | 1 + world/map/npc/003-1/_import.txt | 1 + world/map/npc/003-1/mapflags.txt | 1 + world/map/npc/003-4/mapflags.txt | 1 + world/map/npc/004-1/mapflags.txt | 1 + world/map/npc/004-3/mapflags.txt | 1 + world/map/npc/004-4/mapflags.txt | 1 + world/map/npc/004-5/mapflags.txt | 1 + world/map/npc/005-3/mapflags.txt | 1 + world/map/npc/006-1/mapflags.txt | 1 + world/map/npc/006-3/mapflags.txt | 1 + world/map/npc/007-1/mapflags.txt | 1 + world/map/npc/007-2/_import.txt | 1 + world/map/npc/007-2/mapflags.txt | 1 + world/map/npc/008-1/mapflags.txt | 1 + world/map/npc/009-3/mapflags.txt | 1 + world/map/npc/009-4/mapflags.txt | 1 + world/map/npc/009-6/mapflags.txt | 1 + world/map/npc/010-1/mapflags.txt | 1 + world/map/npc/011-1/mapflags.txt | 1 + world/map/npc/011-3/mapflags.txt | 1 + world/map/npc/011-4/mapflags.txt | 1 + world/map/npc/011-6/mapflags.txt | 1 + world/map/npc/012-1/mapflags.txt | 1 + world/map/npc/012-3/mapflags.txt | 1 + world/map/npc/013-1/mapflags.txt | 1 + world/map/npc/013-3/mapflags.txt | 1 + world/map/npc/014-1/mapflags.txt | 1 + world/map/npc/014-3/mapflags.txt | 1 + world/map/npc/015-1/mapflags.txt | 1 + world/map/npc/015-3/mapflags.txt | 1 + world/map/npc/016-1/mapflags.txt | 1 + world/map/npc/017-1/mapflags.txt | 1 + world/map/npc/017-3/mapflags.txt | 1 + world/map/npc/017-4/mapflags.txt | 1 + world/map/npc/018-1/mapflags.txt | 1 + world/map/npc/018-3/mapflags.txt | 1 + world/map/npc/019-1/mapflags.txt | 1 + world/map/npc/019-3/mapflags.txt | 1 + world/map/npc/019-4/mapflags.txt | 1 + world/map/npc/020-3/mapflags.txt | 1 + world/map/npc/021-3/mapflags.txt | 1 + world/map/npc/023-1/mapflags.txt | 1 + world/map/npc/023-3/mapflags.txt | 1 + world/map/npc/025-1/mapflags.txt | 1 + world/map/npc/025-3/mapflags.txt | 1 + world/map/npc/025-4/mapflags.txt | 1 + world/map/npc/027-1/mapflags.txt | 1 + world/map/npc/027-2/mapflags.txt | 1 + world/map/npc/027-3/mapflags.txt | 1 + world/map/npc/027-4/mapflags.txt | 1 + world/map/npc/027-5/mapflags.txt | 1 + world/map/npc/027-6/mapflags.txt | 1 + world/map/npc/027-7/mapflags.txt | 1 + world/map/npc/027-8/mapflags.txt | 1 + world/map/npc/028-1/mapflags.txt | 1 + world/map/npc/028-3/mapflags.txt | 1 + world/map/npc/029-2/sorfina.txt | 404 +---------------------- world/map/npc/029-3/mapflags.txt | 1 + world/map/npc/029-4/mapflags.txt | 1 + world/map/npc/030-1/mapflags.txt | 1 + world/map/npc/030-3/mapflags.txt | 1 + world/map/npc/030-4/mapflags.txt | 1 + world/map/npc/031-1/mapflags.txt | 1 + world/map/npc/031-2/mapflags.txt | 1 + world/map/npc/031-3/mapflags.txt | 1 + world/map/npc/031-4/mapflags.txt | 1 + world/map/npc/032-3/mapflags.txt | 1 + world/map/npc/033-1/mapflags.txt | 1 + world/map/npc/034-1/mapflags.txt | 1 + world/map/npc/034-2/mapflags.txt | 1 + world/map/npc/035-2/mapflags.txt | 1 + world/map/npc/036-2/mapflags.txt | 1 + world/map/npc/041-1/mapflags.txt | 1 + world/map/npc/042-1/mapflags.txt | 1 + world/map/npc/043-1/mapflags.txt | 1 + world/map/npc/043-3/mapflags.txt | 1 + world/map/npc/043-4/mapflags.txt | 1 + world/map/npc/045-1/mapflags.txt | 1 + world/map/npc/046-1/mapflags.txt | 1 + world/map/npc/046-3/mapflags.txt | 1 + world/map/npc/047-1/mapflags.txt | 1 + world/map/npc/047-3/mapflags.txt | 1 + world/map/npc/051-1/mapflags.txt | 1 + world/map/npc/051-3/mapflags.txt | 1 + world/map/npc/052-1/mapflags.txt | 1 + world/map/npc/052-2/mapflags.txt | 1 + world/map/npc/055-1/mapflags.txt | 1 + world/map/npc/055-3/mapflags.txt | 1 + world/map/npc/056-2/mapflags.txt | 1 + world/map/npc/057-1/mapflags.txt | 1 + world/map/npc/070-3/_import.txt | 1 + world/map/npc/070-3/mapflags.txt | 4 + world/map/npc/functions/death.txt | 63 ++++ world/map/npc/functions/ghost.txt | 11 - world/map/npc/functions/global_event_handler.txt | 3 + world/map/npc/items/warpTowels.txt | 6 + world/map/npc/scripts.conf | 1 + 104 files changed, 197 insertions(+), 418 deletions(-) create mode 100644 world/map/npc/003-1/mapflags.txt create mode 100644 world/map/npc/007-2/mapflags.txt create mode 100644 world/map/npc/070-3/mapflags.txt create mode 100644 world/map/npc/functions/death.txt (limited to 'world') diff --git a/world/conf/char_athena.conf b/world/conf/char_athena.conf index 3e0fa61d..8068430c 100644 --- a/world/conf/char_athena.conf +++ b/world/conf/char_athena.conf @@ -42,7 +42,7 @@ min_name_length: 4 // maximum characters allowed per account // set to 1 if you want to limit accounts to 1 character -char_slots: 9 +char_slots: 16 // max hair style and hair color max_hair_style: 1 diff --git a/world/conf/char_local.conf.example b/world/conf/char_local.conf.example index 920d7892..0cc95243 100644 --- a/world/conf/char_local.conf.example +++ b/world/conf/char_local.conf.example @@ -5,7 +5,7 @@ userid: s1 passwd: p1 // Server name, no more than 19 characters -server_name: The Mana World +server_name: TMW Hardcore // Login Server IP login_ip:127.0.0.1 diff --git a/world/map/conf/battle_athena.conf b/world/map/conf/battle_athena.conf index 5c2f0f4d..6381b88b 100644 --- a/world/map/conf/battle_athena.conf +++ b/world/map/conf/battle_athena.conf @@ -4,7 +4,7 @@ enemy_critical: yes // Enemy's Critical Rate (Note 2) -enemy_critical_rate: 100 +enemy_critical_rate: 130 // Are enemy attacks effected by their strength? (Note 1) enemy_str: yes @@ -35,10 +35,10 @@ monster_skill_add_range: 0 player_damage_delay: no // The maximum quantity of monsters that can be summoned per GM command (0 denotes an unlimited quantity) -atcommand_spawn_quantity_limit: 100 +atcommand_spawn_quantity_limit: 10000 // If an item is droped, does it go stright into the users inventory? (Note 1) -item_auto_get: no +item_auto_get: yes // How far away does drop protection apply? drop_pickup_safety_zone: 20 @@ -60,10 +60,10 @@ item_second_get_time: 10000 item_third_get_time: 5000 // Rate at which exp. is given. (Note 2) -base_exp_rate: 100 +base_exp_rate: 900 // Rate at which job exp. is given. (Note 2) -job_exp_rate: 100 +job_exp_rate: 900 // When a player dies, how should we penalize them? // 0 = No penalty. @@ -113,7 +113,7 @@ monster_active_enable: yes mob_skill_use: yes // Rate of monsters on a map, 200 would be twice as many as normal. (Note 2) -mob_count_rate: 100 +mob_count_rate: 300 // You must have basic skills to be able to sit, trade, form a party or create a chatroom? (Note 1) basic_skill_check: no @@ -158,13 +158,13 @@ max_sp: 32500 // // this is only useful if you have adjusted your client // to expect levels higher then 99 -max_lv: 99 +max_lv: 127 // Max limit of char stats. (agi, str, etc.) -max_parameter: 99 +max_parameter: 120 // Save Clothes color. (This will degrade performance [in txt?]) (Note 1) -save_clothcolor: yes +save_clothcolor: no // Undead type differeniate. // 0 = element undead @@ -250,7 +250,7 @@ maximum_level: 255 drops_by_luk: 0 // Do all monsters ignore GMs unless attacked? (Note 1) -monsters_ignore_gm: no +monsters_ignore_gm: yes // 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. @@ -281,7 +281,7 @@ min_hair_color: 0 max_hair_color: 255 // Visible area size (how many squares away from a player can they see) -area_size: 14 +area_size: 18 // chat system: // More than flood lines in threshold seconds gets a ban @@ -312,7 +312,7 @@ packet_spam_kick: 1 // -1: classic // 0: all PCs on same tile // 1 or more: all PCs within radius, if also within range -mob_splash_radius: -1 +mob_splash_radius: 1 // local settings for this server in this file import: conf/battle_local.conf diff --git a/world/map/db/params.txt b/world/map/db/params.txt index b2ff80c8..bcd803ea 100644 --- a/world/map/db/params.txt +++ b/world/map/db/params.txt @@ -47,7 +47,9 @@ ELTLVL 1001 1 ELTTYPE 1002 1 BASE_ATK 1014 1 POS_X 1074 1 +BL_X 1074 1 POS_Y 1075 1 +BL_Y 1075 1 PVP_CHANNEL 1076 1 BL_ID 1077 1 BL_TYPE 1078 1 diff --git a/world/map/npc/002-3/mapflags.txt b/world/map/npc/002-3/mapflags.txt index 9b47ca70..9dd83716 100644 --- a/world/map/npc/002-3/mapflags.txt +++ b/world/map/npc/002-3/mapflags.txt @@ -1 +1,2 @@ 002-3|mapflag|resave|002-3,72,66 +002-3|mapflag|pvp diff --git a/world/map/npc/002-4/mapflags.txt b/world/map/npc/002-4/mapflags.txt index c6b4a046..afd62552 100644 --- a/world/map/npc/002-4/mapflags.txt +++ b/world/map/npc/002-4/mapflags.txt @@ -1 +1,2 @@ 002-4|mapflag|resave|002-3,72,66 +002-4|mapflag|pvp diff --git a/world/map/npc/002-5/mapflags.txt b/world/map/npc/002-5/mapflags.txt index b1250e34..1e1388a7 100644 --- a/world/map/npc/002-5/mapflags.txt +++ b/world/map/npc/002-5/mapflags.txt @@ -1 +1,2 @@ 002-5|mapflag|resave|002-3,72,66 +002-5|mapflag|pvp diff --git a/world/map/npc/003-1/_import.txt b/world/map/npc/003-1/_import.txt index d1e00223..4f8cdfa7 100644 --- a/world/map/npc/003-1/_import.txt +++ b/world/map/npc/003-1/_import.txt @@ -4,4 +4,5 @@ map: 003-1 npc: npc/003-1/_mobs.txt npc: npc/003-1/_nodes.txt npc: npc/003-1/_warps.txt +npc: npc/003-1/mapflags.txt npc: npc/003-1/npcs.txt diff --git a/world/map/npc/003-1/mapflags.txt b/world/map/npc/003-1/mapflags.txt new file mode 100644 index 00000000..f01364fd --- /dev/null +++ b/world/map/npc/003-1/mapflags.txt @@ -0,0 +1 @@ +003-1|mapflag|pvp diff --git a/world/map/npc/003-4/mapflags.txt b/world/map/npc/003-4/mapflags.txt index 888c987e..a1f73f5b 100644 --- a/world/map/npc/003-4/mapflags.txt +++ b/world/map/npc/003-4/mapflags.txt @@ -1 +1,2 @@ 003-4|mapflag|resave|002-1,32,65 +003-4|mapflag|pvp diff --git a/world/map/npc/004-1/mapflags.txt b/world/map/npc/004-1/mapflags.txt index 0ef10a09..68414c62 100644 --- a/world/map/npc/004-1/mapflags.txt +++ b/world/map/npc/004-1/mapflags.txt @@ -1 +1,2 @@ 004-1|mapflag|resave|002-1,32,65 +004-1|mapflag|pvp diff --git a/world/map/npc/004-3/mapflags.txt b/world/map/npc/004-3/mapflags.txt index 1365bc09..684fa9d6 100644 --- a/world/map/npc/004-3/mapflags.txt +++ b/world/map/npc/004-3/mapflags.txt @@ -1 +1,2 @@ 004-3|mapflag|resave|001-1,60,105 +004-3|mapflag|pvp diff --git a/world/map/npc/004-4/mapflags.txt b/world/map/npc/004-4/mapflags.txt index fee09311..5f0b7809 100644 --- a/world/map/npc/004-4/mapflags.txt +++ b/world/map/npc/004-4/mapflags.txt @@ -1 +1,2 @@ 004-4|mapflag|resave|001-1,60,105 +004-4|mapflag|pvp diff --git a/world/map/npc/004-5/mapflags.txt b/world/map/npc/004-5/mapflags.txt index d449e0f6..74c63308 100644 --- a/world/map/npc/004-5/mapflags.txt +++ b/world/map/npc/004-5/mapflags.txt @@ -1 +1,2 @@ 004-5|mapflag|resave|001-1,60,105 +004-5|mapflag|pvp diff --git a/world/map/npc/005-3/mapflags.txt b/world/map/npc/005-3/mapflags.txt index 087876e0..91cf7e15 100644 --- a/world/map/npc/005-3/mapflags.txt +++ b/world/map/npc/005-3/mapflags.txt @@ -1 +1,2 @@ 005-3|mapflag|resave|006-1,36,18 +005-3|mapflag|pvp diff --git a/world/map/npc/006-1/mapflags.txt b/world/map/npc/006-1/mapflags.txt index 5b3b3a39..e6ed9113 100644 --- a/world/map/npc/006-1/mapflags.txt +++ b/world/map/npc/006-1/mapflags.txt @@ -1 +1,2 @@ 006-1|mapflag|resave|006-1,36,18 +006-1|mapflag|pvp diff --git a/world/map/npc/006-3/mapflags.txt b/world/map/npc/006-3/mapflags.txt index 9fb55277..cc500fff 100644 --- a/world/map/npc/006-3/mapflags.txt +++ b/world/map/npc/006-3/mapflags.txt @@ -1 +1,2 @@ 006-3|mapflag|resave|006-1,36,18 +006-3|mapflag|pvp diff --git a/world/map/npc/007-1/mapflags.txt b/world/map/npc/007-1/mapflags.txt index a32e6b44..1a98247d 100644 --- a/world/map/npc/007-1/mapflags.txt +++ b/world/map/npc/007-1/mapflags.txt @@ -1 +1,2 @@ 007-1|mapflag|resave|009-2,149,43 +007-1|mapflag|pvp diff --git a/world/map/npc/007-2/_import.txt b/world/map/npc/007-2/_import.txt index e68bb71b..18ffe561 100644 --- a/world/map/npc/007-2/_import.txt +++ b/world/map/npc/007-2/_import.txt @@ -4,4 +4,5 @@ map: 007-2 npc: npc/007-2/_mobs.txt npc: npc/007-2/_nodes.txt npc: npc/007-2/_warps.txt +npc: npc/007-2/mapflags.txt npc: npc/007-2/witch.txt diff --git a/world/map/npc/007-2/mapflags.txt b/world/map/npc/007-2/mapflags.txt new file mode 100644 index 00000000..2210a4ed --- /dev/null +++ b/world/map/npc/007-2/mapflags.txt @@ -0,0 +1 @@ +007-2|mapflag|resave|009-2,149,43 diff --git a/world/map/npc/008-1/mapflags.txt b/world/map/npc/008-1/mapflags.txt index 95ad83d5..0d6da34e 100644 --- a/world/map/npc/008-1/mapflags.txt +++ b/world/map/npc/008-1/mapflags.txt @@ -1 +1,2 @@ 008-1|mapflag|resave|009-2,149,43 +008-1|mapflag|pvp diff --git a/world/map/npc/009-3/mapflags.txt b/world/map/npc/009-3/mapflags.txt index b56842f1..48a14cee 100644 --- a/world/map/npc/009-3/mapflags.txt +++ b/world/map/npc/009-3/mapflags.txt @@ -1 +1,2 @@ 009-3|mapflag|resave|009-2,149,43 +009-3|mapflag|pvp diff --git a/world/map/npc/009-4/mapflags.txt b/world/map/npc/009-4/mapflags.txt index f9b9cfa9..2ebdcb8e 100644 --- a/world/map/npc/009-4/mapflags.txt +++ b/world/map/npc/009-4/mapflags.txt @@ -1 +1,2 @@ 009-4|mapflag|resave|009-4,37,118 +009-4|mapflag|pvp diff --git a/world/map/npc/009-6/mapflags.txt b/world/map/npc/009-6/mapflags.txt index 22c55741..c631a512 100644 --- a/world/map/npc/009-6/mapflags.txt +++ b/world/map/npc/009-6/mapflags.txt @@ -1 +1,2 @@ 009-6|mapflag|nosave|009-3,162,82 +009-6|mapflag|pvp diff --git a/world/map/npc/010-1/mapflags.txt b/world/map/npc/010-1/mapflags.txt index cfbe9788..e77e97c4 100644 --- a/world/map/npc/010-1/mapflags.txt +++ b/world/map/npc/010-1/mapflags.txt @@ -1 +1,2 @@ 010-1|mapflag|resave|010-1,27,97 +010-1|mapflag|pvp diff --git a/world/map/npc/011-1/mapflags.txt b/world/map/npc/011-1/mapflags.txt index 0932c5c3..3d95a87e 100644 --- a/world/map/npc/011-1/mapflags.txt +++ b/world/map/npc/011-1/mapflags.txt @@ -1 +1,2 @@ 011-1|mapflag|resave|011-1,103,34 +011-1|mapflag|pvp diff --git a/world/map/npc/011-3/mapflags.txt b/world/map/npc/011-3/mapflags.txt index 23143d92..1b388049 100644 --- a/world/map/npc/011-3/mapflags.txt +++ b/world/map/npc/011-3/mapflags.txt @@ -1 +1,2 @@ 011-3|mapflag|resave|011-1,103,34 +011-3|mapflag|pvp diff --git a/world/map/npc/011-4/mapflags.txt b/world/map/npc/011-4/mapflags.txt index 499a6147..7e87c312 100644 --- a/world/map/npc/011-4/mapflags.txt +++ b/world/map/npc/011-4/mapflags.txt @@ -1 +1,2 @@ 011-4|mapflag|resave|011-1,103,34 +011-4|mapflag|pvp diff --git a/world/map/npc/011-6/mapflags.txt b/world/map/npc/011-6/mapflags.txt index 47ba426a..b94f257a 100644 --- a/world/map/npc/011-6/mapflags.txt +++ b/world/map/npc/011-6/mapflags.txt @@ -1 +1,2 @@ 011-6|mapflag|resave|011-1,103,34 +011-6|mapflag|pvp diff --git a/world/map/npc/012-1/mapflags.txt b/world/map/npc/012-1/mapflags.txt index 915346ad..7c0fd0a4 100644 --- a/world/map/npc/012-1/mapflags.txt +++ b/world/map/npc/012-1/mapflags.txt @@ -1 +1,2 @@ 012-1|mapflag|resave|012-1,88,141 +012-1|mapflag|pvp diff --git a/world/map/npc/012-3/mapflags.txt b/world/map/npc/012-3/mapflags.txt index e3fd146f..a18ab7b1 100644 --- a/world/map/npc/012-3/mapflags.txt +++ b/world/map/npc/012-3/mapflags.txt @@ -1 +1,2 @@ 012-3|mapflag|resave|012-1,88,141 +012-3|mapflag|pvp diff --git a/world/map/npc/013-1/mapflags.txt b/world/map/npc/013-1/mapflags.txt index 5c043bd9..9458adae 100644 --- a/world/map/npc/013-1/mapflags.txt +++ b/world/map/npc/013-1/mapflags.txt @@ -1 +1,2 @@ 013-1|mapflag|resave|013-1,126,99 +013-1|mapflag|pvp diff --git a/world/map/npc/013-3/mapflags.txt b/world/map/npc/013-3/mapflags.txt index 73d2a995..f35fdbe7 100644 --- a/world/map/npc/013-3/mapflags.txt +++ b/world/map/npc/013-3/mapflags.txt @@ -1 +1,2 @@ 013-3|mapflag|resave|013-1,126,99 +013-3|mapflag|pvp diff --git a/world/map/npc/014-1/mapflags.txt b/world/map/npc/014-1/mapflags.txt index 97fe03e3..80f6830a 100644 --- a/world/map/npc/014-1/mapflags.txt +++ b/world/map/npc/014-1/mapflags.txt @@ -1 +1,2 @@ 014-1|mapflag|resave|014-1,89,102 +014-1|mapflag|pvp diff --git a/world/map/npc/014-3/mapflags.txt b/world/map/npc/014-3/mapflags.txt index eee5f6a9..bd1bb85d 100644 --- a/world/map/npc/014-3/mapflags.txt +++ b/world/map/npc/014-3/mapflags.txt @@ -1 +1,2 @@ 014-3|mapflag|resave|014-1,89,102 +014-3|mapflag|pvp diff --git a/world/map/npc/015-1/mapflags.txt b/world/map/npc/015-1/mapflags.txt index fbf1ed0d..aa8c7057 100644 --- a/world/map/npc/015-1/mapflags.txt +++ b/world/map/npc/015-1/mapflags.txt @@ -1,2 +1,3 @@ 015-1|mapflag|resave|010-1,27,97 015-1|mapflag|outside +015-1|mapflag|pvp diff --git a/world/map/npc/015-3/mapflags.txt b/world/map/npc/015-3/mapflags.txt index 04397e31..aba1c4e9 100644 --- a/world/map/npc/015-3/mapflags.txt +++ b/world/map/npc/015-3/mapflags.txt @@ -1,2 +1,3 @@ 015-3|mapflag|nosave|015-1,59,32 015-3|mapflag|resave|010-1,27,97 +015-3|mapflag|pvp diff --git a/world/map/npc/016-1/mapflags.txt b/world/map/npc/016-1/mapflags.txt index 90dc43f6..36fd7ae7 100644 --- a/world/map/npc/016-1/mapflags.txt +++ b/world/map/npc/016-1/mapflags.txt @@ -1,2 +1,3 @@ 016-1|mapflag|resave|010-1,27,97 016-1|mapflag|outside +016-1|mapflag|pvp diff --git a/world/map/npc/017-1/mapflags.txt b/world/map/npc/017-1/mapflags.txt index 5a7ac704..25309c0f 100644 --- a/world/map/npc/017-1/mapflags.txt +++ b/world/map/npc/017-1/mapflags.txt @@ -1 +1,2 @@ 017-1|mapflag|resave|017-1,107,70 +017-1|mapflag|pvp diff --git a/world/map/npc/017-3/mapflags.txt b/world/map/npc/017-3/mapflags.txt index 90a2bb6f..d6dfc5f0 100644 --- a/world/map/npc/017-3/mapflags.txt +++ b/world/map/npc/017-3/mapflags.txt @@ -1 +1,2 @@ 017-3|mapflag|resave|017-1,107,70 +017-3|mapflag|pvp diff --git a/world/map/npc/017-4/mapflags.txt b/world/map/npc/017-4/mapflags.txt index a137e471..91508740 100644 --- a/world/map/npc/017-4/mapflags.txt +++ b/world/map/npc/017-4/mapflags.txt @@ -1 +1,2 @@ 017-4|mapflag|resave|017-1,107,70 +017-4|mapflag|pvp diff --git a/world/map/npc/018-1/mapflags.txt b/world/map/npc/018-1/mapflags.txt index a1b62aab..85d2a3fc 100644 --- a/world/map/npc/018-1/mapflags.txt +++ b/world/map/npc/018-1/mapflags.txt @@ -1 +1,2 @@ 018-1|mapflag|resave|018-2,88,32 +018-1|mapflag|pvp diff --git a/world/map/npc/018-3/mapflags.txt b/world/map/npc/018-3/mapflags.txt index 6495e15c..9c687069 100644 --- a/world/map/npc/018-3/mapflags.txt +++ b/world/map/npc/018-3/mapflags.txt @@ -1 +1,2 @@ 018-3|mapflag|resave|018-2,88,32 +018-3|mapflag|pvp diff --git a/world/map/npc/019-1/mapflags.txt b/world/map/npc/019-1/mapflags.txt index 888c4354..d1101487 100644 --- a/world/map/npc/019-1/mapflags.txt +++ b/world/map/npc/019-1/mapflags.txt @@ -1 +1,2 @@ 019-1|mapflag|resave|020-1,52,118 +019-1|mapflag|pvp diff --git a/world/map/npc/019-3/mapflags.txt b/world/map/npc/019-3/mapflags.txt index 665b004c..1d908072 100644 --- a/world/map/npc/019-3/mapflags.txt +++ b/world/map/npc/019-3/mapflags.txt @@ -1 +1,2 @@ 019-3|mapflag|resave|020-1,52,118 +019-3|mapflag|pvp diff --git a/world/map/npc/019-4/mapflags.txt b/world/map/npc/019-4/mapflags.txt index 8b5e272c..21d067ab 100644 --- a/world/map/npc/019-4/mapflags.txt +++ b/world/map/npc/019-4/mapflags.txt @@ -1 +1,2 @@ 019-4|mapflag|resave|020-1,52,118 +019-4|mapflag|pvp diff --git a/world/map/npc/020-3/mapflags.txt b/world/map/npc/020-3/mapflags.txt index 0f84b04c..bbdf4c2a 100644 --- a/world/map/npc/020-3/mapflags.txt +++ b/world/map/npc/020-3/mapflags.txt @@ -1 +1,2 @@ 020-3|mapflag|resave|020-1,52,118 +020-3|mapflag|pvp diff --git a/world/map/npc/021-3/mapflags.txt b/world/map/npc/021-3/mapflags.txt index d7155503..af0f90df 100644 --- a/world/map/npc/021-3/mapflags.txt +++ b/world/map/npc/021-3/mapflags.txt @@ -1 +1,2 @@ 021-3|mapflag|resave|001-1,60,105 +021-3|mapflag|pvp diff --git a/world/map/npc/023-1/mapflags.txt b/world/map/npc/023-1/mapflags.txt index 9bf0492b..7fcb547e 100644 --- a/world/map/npc/023-1/mapflags.txt +++ b/world/map/npc/023-1/mapflags.txt @@ -1 +1,2 @@ 023-1|mapflag|resave|002-1,32,65 +023-1|mapflag|pvp diff --git a/world/map/npc/023-3/mapflags.txt b/world/map/npc/023-3/mapflags.txt index 596d0788..8bcf6c59 100644 --- a/world/map/npc/023-3/mapflags.txt +++ b/world/map/npc/023-3/mapflags.txt @@ -1 +1,2 @@ 023-3|mapflag|resave|002-1,32,65 +023-3|mapflag|pvp diff --git a/world/map/npc/025-1/mapflags.txt b/world/map/npc/025-1/mapflags.txt index 8e3a046f..b6724c8e 100644 --- a/world/map/npc/025-1/mapflags.txt +++ b/world/map/npc/025-1/mapflags.txt @@ -1,2 +1,3 @@ 025-1|mapflag|resave|016-1,94,30 025-1|mapflag|outside +025-1|mapflag|pvp diff --git a/world/map/npc/025-3/mapflags.txt b/world/map/npc/025-3/mapflags.txt index 58e68ca5..621cf083 100644 --- a/world/map/npc/025-3/mapflags.txt +++ b/world/map/npc/025-3/mapflags.txt @@ -1 +1,2 @@ 025-3|mapflag|resave|025-1,33,50 +025-3|mapflag|pvp diff --git a/world/map/npc/025-4/mapflags.txt b/world/map/npc/025-4/mapflags.txt index ba5835ac..af4c954d 100644 --- a/world/map/npc/025-4/mapflags.txt +++ b/world/map/npc/025-4/mapflags.txt @@ -1,2 +1,3 @@ 025-4|mapflag|nosave|025-1,33,50 025-4|mapflag|resave|025-1,33,50 +025-4|mapflag|pvp diff --git a/world/map/npc/027-1/mapflags.txt b/world/map/npc/027-1/mapflags.txt index 790b44a9..2730cdcb 100644 --- a/world/map/npc/027-1/mapflags.txt +++ b/world/map/npc/027-1/mapflags.txt @@ -1,2 +1,3 @@ 027-1|mapflag|resave|026-1,28,35 027-1|mapflag|outside +027-1|mapflag|pvp diff --git a/world/map/npc/027-2/mapflags.txt b/world/map/npc/027-2/mapflags.txt index 6f419bf4..12604cc8 100644 --- a/world/map/npc/027-2/mapflags.txt +++ b/world/map/npc/027-2/mapflags.txt @@ -1,2 +1,3 @@ 027-2|mapflag|resave|026-1,28,35 026-2|mapflag|town +026-2|mapflag|pvp diff --git a/world/map/npc/027-3/mapflags.txt b/world/map/npc/027-3/mapflags.txt index d0b162e7..f08b1472 100644 --- a/world/map/npc/027-3/mapflags.txt +++ b/world/map/npc/027-3/mapflags.txt @@ -1 +1,2 @@ 027-3|mapflag|resave|027-2,28,94 +027-3|mapflag|pvp diff --git a/world/map/npc/027-4/mapflags.txt b/world/map/npc/027-4/mapflags.txt index 6a0e6dba..6f8e8a5b 100644 --- a/world/map/npc/027-4/mapflags.txt +++ b/world/map/npc/027-4/mapflags.txt @@ -1 +1,2 @@ 027-4|mapflag|resave|027-2,28,94 +027-4|mapflag|pvp diff --git a/world/map/npc/027-5/mapflags.txt b/world/map/npc/027-5/mapflags.txt index afe7748a..ebc9fc77 100644 --- a/world/map/npc/027-5/mapflags.txt +++ b/world/map/npc/027-5/mapflags.txt @@ -1 +1,2 @@ 027-5|mapflag|resave|027-2,28,94 +027-5|mapflag|pvp diff --git a/world/map/npc/027-6/mapflags.txt b/world/map/npc/027-6/mapflags.txt index 1defed7b..341671b3 100644 --- a/world/map/npc/027-6/mapflags.txt +++ b/world/map/npc/027-6/mapflags.txt @@ -1,2 +1,3 @@ 027-6|mapflag|nosave|027-3,82,90 027-6|mapflag|resave|027-3,82,90 +027-6|mapflag|pvp diff --git a/world/map/npc/027-7/mapflags.txt b/world/map/npc/027-7/mapflags.txt index d592dbdc..6d6ac4fd 100644 --- a/world/map/npc/027-7/mapflags.txt +++ b/world/map/npc/027-7/mapflags.txt @@ -1,2 +1,3 @@ 027-7|mapflag|nosave|027-4,73,78 027-7|mapflag|resave|027-4,73,78 +027-7|mapflag|pvp diff --git a/world/map/npc/027-8/mapflags.txt b/world/map/npc/027-8/mapflags.txt index e1aa73b1..11eb1342 100644 --- a/world/map/npc/027-8/mapflags.txt +++ b/world/map/npc/027-8/mapflags.txt @@ -1,2 +1,3 @@ 027-8|mapflag|nosave|027-5,70,27 027-8|mapflag|resave|027-5,70,27 +027-8|mapflag|pvp diff --git a/world/map/npc/028-1/mapflags.txt b/world/map/npc/028-1/mapflags.txt index f1de8f33..3e18ee11 100644 --- a/world/map/npc/028-1/mapflags.txt +++ b/world/map/npc/028-1/mapflags.txt @@ -1 +1,2 @@ 028-1|mapflag|nosave|009-1,53,40 +028-1|mapflag|pvp diff --git a/world/map/npc/028-3/mapflags.txt b/world/map/npc/028-3/mapflags.txt index 4fe56202..40b33df8 100644 --- a/world/map/npc/028-3/mapflags.txt +++ b/world/map/npc/028-3/mapflags.txt @@ -1 +1,2 @@ 028-3|mapflag|nosave|009-1,53,40 +028-3|mapflag|pvp diff --git a/world/map/npc/029-2/sorfina.txt b/world/map/npc/029-2/sorfina.txt index 7c6a589f..e6f40c1b 100644 --- a/world/map/npc/029-2/sorfina.txt +++ b/world/map/npc/029-2/sorfina.txt @@ -5,298 +5,29 @@ set @npc_distance, 2; callfunc "PCtoNPCRange"; if(@npc_check) end; - goto L_Main; - -L_Main: - if (QL_BEGIN == 10) goto L_Hasan; - if (QL_BEGIN >= 4) goto L_Again; - if (QL_BEGIN == 3) goto L_Clothes; - if (QL_BEGIN == 2) goto L_Dresser; - if (QL_BEGIN == 1) goto L_Carpet; goto L_Start; L_Start: - mes "You open your eyes."; + mes "Welcome to TMW Hardcore."; + mes "This server is intented to provide a bigger challenge to players who have mastered the main server."; mes ""; - mes "[Old Woman]"; - mes "\"Ah, you woke up. You washed ashore on the beach 3 days ago. You've been asleep since."; - mes "You must have been thrown off one of the ships sailing during that last tremor.\""; - mes "\"My little granddaughter Tanisha found you. Kaan was able to carry you to bed."; - mes "We've been taking care of you ever since. Waiting for you to wake up.\""; - mes "\"You didn't have any possessions on you when we found you and no one knows who you are.\""; - mes "Do you have a name?"; - menu - strcharinfo(0), L_Name; - -L_Name: - mes "[Old Woman]"; - mes "\"Well " + strcharinfo(0) + " what else can you tell me about yourself?.\""; - menu - "I'm a woman from ...", L_Woman, - "I'm a man that lived in ...", L_Man, - "My home is in ...", L_N; - -L_Woman: - set Sex, 0; - goto L_Species; - -L_Man: - set Sex, 1; - goto L_Species; - -L_N: - set Sex, 2; - goto L_Species; - -L_Species: - mes "[Old Woman]"; - mes "\"Go on. If you need to think a bit, take your time.\""; - menu - "... Tulimshar in Tonori ... I'm a Talpan.", L_Talpan; - -L_Talpan: - set Class, 1; - goto L_AnythingElse; - -L_AnythingElse: - mes "[Old Woman]"; - mes "\"Anything else you can remember?\""; - menu - "Umm... no... I... I don't remember anything else...", L_KnowNothing; - -L_KnowNothing: - mes "[Old Woman]"; - mes "\"Well I can tell you some useful things, if you want to hear."; - mes "Some of it might jog your memory or at least help you catch your bearings."; - mes "Oh, and by the way my name is Sorfina.\""; - menu - "That would be great!",L_Tut, - "No, thanks. I already know how things are going.",L_SkipTut; - -L_Tut: - mes "She smiles at you."; - mes "[Sorfina]"; - mes "\"You have arrived at a very strange time. The Council is visiting Candor today.\""; - mes "\"All the recent rumbling from the cave has all of Candor worried.\""; - mes "\"Our guess is something with the last big shaker was the reason you ended up here.\""; - mes "\"Ok, lets start by getting you dressed.\""; - goto L_Carpet; - -L_Carpet: - mes "[Sorfina]"; - mes "\"Try to take a few steps and walk to that carpet over there."; - next; - camera "#Carpet"; - mapmask getmask() | 4; - next; - camera; - mes "Press [###keyMoveUp;] to move up, press [###keyMoveDown;] to move down, "; - mes "press [###keyMoveLeft;] to move left, press [###keyMoveRight;] to move right "; - mes " or click on the place you want to go to.\""; - set QL_BEGIN, 1; - goto L_Close; - -L_Dresser: - mes "[Sorfina]"; - mes "\"You should get dressed now.\""; - next; - camera "Dresser#tutorial"; - mapmask getmask() | 32; - mes "\"In that dresser there are some clothes you can wear.\""; - mes "\"To interact with things in your environment or talk to NPCs you can either click on it or press [###keyTargetNPC;] to focus and [###keyTalk;] to talk/activate.\""; - next; - camera; - mes "\"Now get the clothes out of the dresser.\""; - goto L_Close; - -L_Naked: - mes "[Sorfina]"; - mes "\"Press [###keyWindowInventory;] or click on the Inventory button in the bar at the upper right corner to open your bag.\""; - mes "\"Once we stop talking, double-click on the clothes to equip.\""; - mes "\"Talk to me again after you get dressed. You can either click on me, or press [###keyTargetNPC;] to focus on me and [###keyTalk;] to talk.\""; - goto L_Close; - -L_Clothes: - if (getequipid(equip_torso) < 0) - goto L_Naked; - mes "[Sorfina]"; - mes "\"That's much better, don't you think?\""; - mes "\"Here take this.\""; - getitem "HitchhikersTowel", 1; - mes "\"Your HitchHikers Towel will return you to your last set soul menhir or here if not set.\""; - mes "\"It can't be used constantly as the magic needs time to power the jump.\""; - mes "\"I think this will help you a bit. To get more information, press the button Setup and look at the controls on the Keyboard tab. You can also change them as you like."; - mes "Talk to me again if you want me to explain more things.\""; - - mes "\"Oh, and if you're looking for extra work, you should talk to Aidan and Valon when you go outside. They're giving rewards for monster hunting."; - mes "You can find Aidan near the camp fire outside and Valon out by the fields in the east.\""; - next; - - mes "She digs in her pocket for a moment."; - mes "\"And here is some money for you. Don't spend it all in one place."; - mes "Now go help Tanisha downstairs.\""; - mapmask getmask() | 8; - set Zeny, Zeny + 30; - set QL_BEGIN, 4; - goto L_Close; - -L_Again: - mes "[Sorfina]"; - mes "\"Make yourself at home! Do you have any questions?\""; - menu - "Yes, could you explain about...",L_Explain, - "Could I get Healed?",L_Heal, - "No, thanks.",L_Close; - -L_Heal: - if (BaseLevel > 20) - goto L_NoHeal; - mes "[Sorfina]"; - mes "\"Hello Dear! You look tired, you should rest a moment.\""; - mes "You take a short nap and feel refreshed."; - heal MaxHp, 0; - goto L_Main; - -L_NoHeal: - mes "[Sorfina]"; - mes "\"I'm sorry but your wounds are far to advanced for my skills.\""; - goto L_Main; - -L_Explain: - menu - "... walking?",L_Walk, - "... talking?",L_Talk, - "... the inventory and items?",L_Items, - "... shortcuts?",L_Shortcut, - "... what to do in Candor?",L_Aidan, - "... change my appearence?",L_Barber, - "... nevermind.",L_Close; - -L_Walk: - mes "[Sorfina]"; - mes "\"You can use the arrow keys to walk around."; - mes "Press [###keyMoveUp;] to move up, press [###keyMoveDown;] to move down, "; - mes "press [###keyMoveLeft;] to move left, press [###keyMoveRight;] to move right "; - mes " or click on the place you want to go to."; - mes "This only works if that place is reachable and walkable.\""; - goto L_Close; - -L_Talk: - mes "[Sorfina]"; - mes "\"If you want to talk to a normal person, you can click at him or her."; - mes "Or you can press [###keyTargetNPC;] to focus on the nearest person and then press [###keyTalk;] to talk.\""; - next; - mes "\"If you want to talk to other adventurers, press [###keyChat;] to open your chat window."; - mes "Then type your message and press Enter to send.\""; - next; - mes "\"You may want to talk privately to another adventurer sometimes. In that case you can whisper."; - mes "After pressing [###keyChat;] type '/whisper [name] [message]'."; - mes "Or you can right click on someone and choose the whisper option.\""; - next; - mes "\"Press [###keyWindowChat;] to show and hide your chat window.\""; - goto L_Close; - -L_Items: - mes "[Sorfina]"; - mes "\"There are three types of items."; - mes "They can be Consumables, Equipment or Miscellaneous.\""; - next; - mes "\"Consumable items such as Potions, can be used only once."; - mes "After use, they will disappear from your inventory."; - mes "There are some rare items that can be used but don't get consumed.\""; - next; - mes "\"Equipment items like Armors, Weapons, Accessories can be equipped for fashionable purposes or to raise your status.\""; - next; - mes "\"Miscellaneous items such as maggot slime, can be used in creating other items, or just to trade and sell.\""; - next; - mes "\"Your HitchHikers Towel will return you to your last set soul menhir or here if not set.\""; - mes "\"It can't be used constantly as the magic needs time to power the jump.\""; - next; - mes "\"Press [###keyWindowInventory;] to open your inventory."; - mes "When placing your cursor over an item there, you can see a box with some information about that item.\""; - next; - mes "\"To use or equip an item, select it by double-clicking on it."; - mes "Selecting the item then pressing Use or Equip also works.\""; - goto L_Close; - -L_Shortcut: - mes "[Sorfina]"; - mes "\"Press [###keyWindowShortcut;] or click the Shortcut button in the bar at the upper right to open your shortcut window.\""; - next; - mes "\"You can select the item you want to put on a shortcut with your mouse and then click on the position in the shortcut window you want to place it.\""; - next; - mes "\"Now you can use or equip/unequip it by pressing the number of the shortcut.\""; - goto L_Close; - -L_Aidan: - mes "[Sorfina]"; - mes "\"I heard Aidan and Valon are looking for brave adventurers, you might want to talk to them. "; - mes "You can find Aidan near the camp fire outside. The fields are just south of the town exit. "; - mes "You'll see Valon of the city gaurd standing there. They both are offering rewards for monster hunting.\""; - next; - mes "\"When you leave this area to the South, you'll come to the docks."; - mes "They will take you to Hurnscald, a major trading port.\""; - next; - mes "\"Go east out of Candor and north. You will find the cave everyone is talking about to the north."; - next; - mes "Talk to everybody. You can never tell when they might know something useful.\""; - goto L_Close; - -L_Barber: - mes "[Sorfina]"; - mes "\"Jessie downstairs can change your appearance.\""; - mes "\"They will allow you to change your hair color or style as well as gender.\""; - next; - mes "\"There are a number of people across the continent that can change this for you.\""; - mes "\"There is no cost or limit to the number of times it can be changed.\""; - goto L_Close; - -L_Hasan: - mes "[Sorfina]"; - mes "\"Make yourself at home! Do you have any questions?\""; - menu - "A guy named Hasan is bullying people.",L_Next, - "Yes, could you explain again about...",L_Explain, - "No, thanks.",L_Close; - -L_Next: - mes "\"Ah, Hasan. He's causing trouble again?\""; - mes "She shakes her head."; - mes "[Sorfina]"; - mes "\"This guy has been a plague ever since he could walk. He's always causing trouble.\""; - mes "\"And his father... Well, one day his father thought he should teach Hasan a lesson.\""; - mes "\"He took him into the desert and then left him there!"; - mes "Hasan was only seven years old!\""; - mes "\"I never understood how someone could do something like that to a child, even if it's a rascal like Hasan.\""; - mes "\"Anyway, Hasan tried to find his way back home, but stumbled into a nest of scorpions!\""; - mes "She shakes her head."; - mes "\"If Valon hadn't have come along that moment, Hasan would have died that day.\""; - mes "\"However, the scorpions poison caused a bad fever and once Hasan had recovered from that, he was even more malicious than before.\""; - mes "She sighs."; - set QL_BEGIN, 11; - goto L_Close; - -L_SkipTut: - mes "[Sorfina]"; - mes "\"Really? You seem quite unexperienced. Listening to some advice won't hurt.\""; - menu - "Thinking about it twice... please tell me.",L_Tut, - "Yeah, but thanks for the offer. Bye.",L_Bye; + mes "The game rules are slightly different here:"; + mes "- Death is permanent."; + mes "- Obtaining experience and leveling is much faster."; + mes "- The level cap is 127 and stats can go to 120."; + mes "- Killing other players is possible in any map (except towns)."; + mes "- Upon killing a player, you obtain all of their belongings."; + mes ""; + mes "If you die you may start over by creating a new character."; -L_Bye: - mes "[Sorfina]"; - mes "\"Alright, if you say so. But take at least this. See you later.\""; getitem "Knife", 1; getitem "SlingShot", 1; getitem "SlingBullet", 500; getitem "HitchhikersTowel", 1; getitem "CottonShirt", 1; getitem "RaggedShorts", 1; - set Zeny, Zeny + 35; // tanisha gives 5 zeny + set Zeny, Zeny + 35; set QL_BEGIN, 8; - goto L_Close; - -L_Close: close; OnTouch: @@ -304,116 +35,3 @@ OnTouch: end; goto L_Start; } - -029-2,33,27,0|script|#Carpet|127,1,1 -{ - if (QL_BEGIN != 1) - end; - mapmask getmask(); - mes "[Sorfina]"; - mes "\"You should get dressed now.\""; - next; - camera "Dresser#tutorial"; - mapmask getmask() | 16; - mes "\"In that dresser there are some clothes you can wear.\""; - mes "\"To interact with things in your environment or talk to NPCs you can either click on it or press N to focus and T to talk/activate.\""; - next; - camera; - mes "\"Now get the clothes out of the dresser.\""; - set QL_BEGIN, 2; - close; -} - -029-2,29,23,0|script|Dresser#tutorial|400 -{ - set @npc_distance, 2; - set @distance_handler, 1; - callfunc "PCtoNPCRange"; - if (@npc_check) - goto L_CloseDis; - if (QL_BEGIN > 2) goto L_Empty; - if (QL_BEGIN == 2) goto L_Shirt; - goto L_Walk; - -L_Walk: - mes "[Sorfina]"; - mes "\"Thats not what I said to do. Please don't skip ahead.\""; - close; - -L_Shirt: - mapmask getmask(); - mes "You take a simple Cotton Shirt and some very worn-out Ragged Shorts out of the dresser."; - getitem "CottonShirt", 1; - getitem "RaggedShorts", 1; - mes "[Sorfina]"; - mes "\"Great! Now you can equip it.\""; - mes "\"You can open your inventory by pressing F3 or clicking on the 'Inventory' button in the bar at the upper right corner.\""; - next; - mes "\"After we finish talking, click on the clothes and press the equip button.\""; - set QL_BEGIN, 3; - close; - -L_Empty: - mes "The dresser is empty."; - close; - -L_CloseDis: - mes "You cannot reach that far."; - close; -} - -029-2,44,31,0|script|#DoorOutTut1|45,0,0 -{ - if (QL_BEGIN < 4) - goto L_Block; - mapmask getmask(); - warp "029-2", 112, 85; - end; - -L_Block: - message strcharinfo(0), "Sorfina : ##BWait a moment! ##bYou're not ready to leave."; - // FIXME: this should be changed to npctalk with strcharinfo(0) once we increase the view area - end; -} -029-2,23,24,0|script|#GameRules1|32767,0,1 -{ - if (TUT_var > 0) - end; - mes "[Server/Client Notice]"; - mes "The explanations in this tutorial are based on the official client, Manaplus."; - mes "If you're using another client, settings and controls may be different."; - callfunc "GameRules"; - close; -} -029-2,21,24,0|script|#GameRules2|32767,0,1 -{ - if (TUT_var > 0) - end; - mes "[Server/Client Notice]"; - mes "The explanations in this tutorial are based on the official client, Manaplus."; - mes "If you're using another client, settings and controls may be different."; - callfunc "GameRules"; - close; -} -029-2,22,26,0|script|#GameRules3|32767,1,0 -{ - if (TUT_var == 0) - goto L_KnockBack; - end; - -L_KnockBack: - message strcharinfo(0), "Server : ##BPlease Accept the Game rules"; - warp "029-2", 22, 24; - end; -} -029-2,24,24,0|script|#GameRules4|32767,0,1 -{ - if (TUT_var == 0) - goto L_KnockBack; - end; - -L_KnockBack: - message strcharinfo(0), "Server : ##BPlease Accept the Game rules"; - warp "029-2", 22, 24; - end; -} diff --git a/world/map/npc/029-3/mapflags.txt b/world/map/npc/029-3/mapflags.txt index 81d4e7fb..baa81aae 100644 --- a/world/map/npc/029-3/mapflags.txt +++ b/world/map/npc/029-3/mapflags.txt @@ -1,2 +1,3 @@ 029-3|mapflag|nosave|029-1,39,102 029-3|mapflag|resave|029-1,39,102 +029-3|mapflag|pvp diff --git a/world/map/npc/029-4/mapflags.txt b/world/map/npc/029-4/mapflags.txt index 8e181716..d571b40a 100644 --- a/world/map/npc/029-4/mapflags.txt +++ b/world/map/npc/029-4/mapflags.txt @@ -1 +1,2 @@ 029-4|mapflag|resave|029-4,69,69 +029-4|mapflag|pvp diff --git a/world/map/npc/030-1/mapflags.txt b/world/map/npc/030-1/mapflags.txt index 1069bff8..f19a2510 100644 --- a/world/map/npc/030-1/mapflags.txt +++ b/world/map/npc/030-1/mapflags.txt @@ -1 +1,2 @@ 030-1|mapflag|resave|020-1,52,118 +030-1|mapflag|pvp diff --git a/world/map/npc/030-3/mapflags.txt b/world/map/npc/030-3/mapflags.txt index ea20b58f..b1d41b2c 100644 --- a/world/map/npc/030-3/mapflags.txt +++ b/world/map/npc/030-3/mapflags.txt @@ -1 +1,2 @@ 030-3|mapflag|resave|020-1,52,118 +030-3|mapflag|pvp diff --git a/world/map/npc/030-4/mapflags.txt b/world/map/npc/030-4/mapflags.txt index c95a8d5f..979c095d 100644 --- a/world/map/npc/030-4/mapflags.txt +++ b/world/map/npc/030-4/mapflags.txt @@ -1,2 +1,3 @@ 030-4|mapflag|nosave|030-2,151,25 030-4|mapflag|resave|030-2,151,25 +030-4|mapflag|pvp diff --git a/world/map/npc/031-1/mapflags.txt b/world/map/npc/031-1/mapflags.txt index 9b4dcc26..b7cfedb1 100644 --- a/world/map/npc/031-1/mapflags.txt +++ b/world/map/npc/031-1/mapflags.txt @@ -1 +1,2 @@ 031-1|mapflag|resave|020-1,52,118 +031-1|mapflag|pvp diff --git a/world/map/npc/031-2/mapflags.txt b/world/map/npc/031-2/mapflags.txt index e188a3e0..47f11975 100644 --- a/world/map/npc/031-2/mapflags.txt +++ b/world/map/npc/031-2/mapflags.txt @@ -1 +1,2 @@ 031-2|mapflag|resave|020-1,52,118 +031-2|mapflag|pvp diff --git a/world/map/npc/031-3/mapflags.txt b/world/map/npc/031-3/mapflags.txt index 205f7580..dc021969 100644 --- a/world/map/npc/031-3/mapflags.txt +++ b/world/map/npc/031-3/mapflags.txt @@ -1 +1,2 @@ 031-3|mapflag|resave|020-1,52,118 +031-3|mapflag|pvp diff --git a/world/map/npc/031-4/mapflags.txt b/world/map/npc/031-4/mapflags.txt index 11b07dc8..a7b0f047 100644 --- a/world/map/npc/031-4/mapflags.txt +++ b/world/map/npc/031-4/mapflags.txt @@ -1,2 +1,3 @@ 031-4|mapflag|nosave|031-3,46,26 031-4|mapflag|resave|031-3,46,26 +031-4|mapflag|pvp diff --git a/world/map/npc/032-3/mapflags.txt b/world/map/npc/032-3/mapflags.txt index b7e94a3e..ca7f74a8 100644 --- a/world/map/npc/032-3/mapflags.txt +++ b/world/map/npc/032-3/mapflags.txt @@ -1 +1,2 @@ 032-3|mapflag|resave|006-1,36,18 +032-3|mapflag|pvp diff --git a/world/map/npc/033-1/mapflags.txt b/world/map/npc/033-1/mapflags.txt index 08a33311..8f2b9cef 100644 --- a/world/map/npc/033-1/mapflags.txt +++ b/world/map/npc/033-1/mapflags.txt @@ -1 +1,2 @@ 033-1|mapflag|resave|033-1,67,33 +033-1|mapflag|pvp diff --git a/world/map/npc/034-1/mapflags.txt b/world/map/npc/034-1/mapflags.txt index 35e50a76..f3d05f99 100644 --- a/world/map/npc/034-1/mapflags.txt +++ b/world/map/npc/034-1/mapflags.txt @@ -1 +1,2 @@ 034-1|mapflag|resave|033-1,67,33 +034-1|mapflag|pvp diff --git a/world/map/npc/034-2/mapflags.txt b/world/map/npc/034-2/mapflags.txt index b5c4f28f..4352821b 100644 --- a/world/map/npc/034-2/mapflags.txt +++ b/world/map/npc/034-2/mapflags.txt @@ -1 +1,2 @@ 034-2|mapflag|resave|033-1,67,33 +034-2|mapflag|pvp diff --git a/world/map/npc/035-2/mapflags.txt b/world/map/npc/035-2/mapflags.txt index 2866ca80..85860adc 100644 --- a/world/map/npc/035-2/mapflags.txt +++ b/world/map/npc/035-2/mapflags.txt @@ -1,2 +1,3 @@ 035-2|mapflag|town 035-2|mapflag|resave|035-2,20,21 +035-2|mapflag|pvp diff --git a/world/map/npc/036-2/mapflags.txt b/world/map/npc/036-2/mapflags.txt index a21839b0..723d2657 100644 --- a/world/map/npc/036-2/mapflags.txt +++ b/world/map/npc/036-2/mapflags.txt @@ -1,2 +1,3 @@ 036-2|mapflag|town 036-2|mapflag|resave|036-2,20,21 +036-2|mapflag|pvp diff --git a/world/map/npc/041-1/mapflags.txt b/world/map/npc/041-1/mapflags.txt index 07ef50ce..57c6592a 100644 --- a/world/map/npc/041-1/mapflags.txt +++ b/world/map/npc/041-1/mapflags.txt @@ -1 +1,2 @@ 041-1|mapflag|resave|002-1,32,65 +041-1|mapflag|pvp diff --git a/world/map/npc/042-1/mapflags.txt b/world/map/npc/042-1/mapflags.txt index 50566b0a..5212b7c3 100644 --- a/world/map/npc/042-1/mapflags.txt +++ b/world/map/npc/042-1/mapflags.txt @@ -1 +1,2 @@ 042-1|mapflag|resave|002-1,32,65 +042-1|mapflag|pvp diff --git a/world/map/npc/043-1/mapflags.txt b/world/map/npc/043-1/mapflags.txt index 1650bbdd..54798b8e 100644 --- a/world/map/npc/043-1/mapflags.txt +++ b/world/map/npc/043-1/mapflags.txt @@ -1 +1,2 @@ 043-1|mapflag|resave|002-1,32,65 +043-1|mapflag|pvp diff --git a/world/map/npc/043-3/mapflags.txt b/world/map/npc/043-3/mapflags.txt index b44307a2..69014c21 100644 --- a/world/map/npc/043-3/mapflags.txt +++ b/world/map/npc/043-3/mapflags.txt @@ -1 +1,2 @@ 043-3|mapflag|resave|002-3,72,66 +043-3|mapflag|pvp diff --git a/world/map/npc/043-4/mapflags.txt b/world/map/npc/043-4/mapflags.txt index 9acc0b8a..6747efa8 100644 --- a/world/map/npc/043-4/mapflags.txt +++ b/world/map/npc/043-4/mapflags.txt @@ -1 +1,2 @@ 043-4|mapflag|resave|002-3,72,66 +043-4|mapflag|pvp diff --git a/world/map/npc/045-1/mapflags.txt b/world/map/npc/045-1/mapflags.txt index c3cbf1da..d6331d0b 100644 --- a/world/map/npc/045-1/mapflags.txt +++ b/world/map/npc/045-1/mapflags.txt @@ -1 +1,2 @@ 045-1|mapflag|resave|017-1,170,25 +045-1|mapflag|pvp diff --git a/world/map/npc/046-1/mapflags.txt b/world/map/npc/046-1/mapflags.txt index 8e5720df..ec69a7fe 100644 --- a/world/map/npc/046-1/mapflags.txt +++ b/world/map/npc/046-1/mapflags.txt @@ -1 +1,2 @@ 046-1|mapflag|resave|046-1,92,48 +046-1|mapflag|pvp diff --git a/world/map/npc/046-3/mapflags.txt b/world/map/npc/046-3/mapflags.txt index 941f4c1a..06cd5eff 100644 --- a/world/map/npc/046-3/mapflags.txt +++ b/world/map/npc/046-3/mapflags.txt @@ -1 +1,2 @@ 046-3|mapflag|resave|046-1,92,48 +046-3|mapflag|pvp diff --git a/world/map/npc/047-1/mapflags.txt b/world/map/npc/047-1/mapflags.txt index 12a7c9cb..2584993f 100644 --- a/world/map/npc/047-1/mapflags.txt +++ b/world/map/npc/047-1/mapflags.txt @@ -1 +1,2 @@ 047-1|mapflag|resave|048-2,26,46 +047-1|mapflag|pvp diff --git a/world/map/npc/047-3/mapflags.txt b/world/map/npc/047-3/mapflags.txt index b3562bf7..0fe1c6e3 100644 --- a/world/map/npc/047-3/mapflags.txt +++ b/world/map/npc/047-3/mapflags.txt @@ -1 +1,2 @@ 047-3|mapflag|resave|047-1,145,20 +047-3|mapflag|pvp diff --git a/world/map/npc/051-1/mapflags.txt b/world/map/npc/051-1/mapflags.txt index ddac528a..11868396 100644 --- a/world/map/npc/051-1/mapflags.txt +++ b/world/map/npc/051-1/mapflags.txt @@ -1,2 +1,3 @@ 051-1|mapflag|nosave|007-2,36,23 051-1|mapflag|resave|007-2,36,23 +051-1|mapflag|pvp diff --git a/world/map/npc/051-3/mapflags.txt b/world/map/npc/051-3/mapflags.txt index 3615db4b..8eadeed1 100644 --- a/world/map/npc/051-3/mapflags.txt +++ b/world/map/npc/051-3/mapflags.txt @@ -1,2 +1,3 @@ 051-3|mapflag|nosave|007-2,36,23 051-3|mapflag|resave|007-2,36,23 +051-3|mapflag|pvp diff --git a/world/map/npc/052-1/mapflags.txt b/world/map/npc/052-1/mapflags.txt index c937dc79..2631e86c 100644 --- a/world/map/npc/052-1/mapflags.txt +++ b/world/map/npc/052-1/mapflags.txt @@ -1,2 +1,3 @@ 052-1|mapflag|nosave|007-2,36,23 052-1|mapflag|resave|007-2,36,23 +052-1|mapflag|pvp diff --git a/world/map/npc/052-2/mapflags.txt b/world/map/npc/052-2/mapflags.txt index 3fe6852b..4f632d68 100644 --- a/world/map/npc/052-2/mapflags.txt +++ b/world/map/npc/052-2/mapflags.txt @@ -1,2 +1,3 @@ 052-2|mapflag|nosave|007-2,36,23 052-2|mapflag|resave|007-2,36,23 +052-2|mapflag|pvp diff --git a/world/map/npc/055-1/mapflags.txt b/world/map/npc/055-1/mapflags.txt index 31c2f835..66af5deb 100644 --- a/world/map/npc/055-1/mapflags.txt +++ b/world/map/npc/055-1/mapflags.txt @@ -1 +1,2 @@ 055-1|mapflag|resave|055-1,133,61 +055-1|mapflag|pvp diff --git a/world/map/npc/055-3/mapflags.txt b/world/map/npc/055-3/mapflags.txt index 3d62e240..2e926b31 100644 --- a/world/map/npc/055-3/mapflags.txt +++ b/world/map/npc/055-3/mapflags.txt @@ -1 +1,2 @@ 055-3|mapflag|resave|055-1,133,61 +055-3|mapflag|pvp diff --git a/world/map/npc/056-2/mapflags.txt b/world/map/npc/056-2/mapflags.txt index 02af4171..a0d87054 100644 --- a/world/map/npc/056-2/mapflags.txt +++ b/world/map/npc/056-2/mapflags.txt @@ -1,2 +1,3 @@ 056-2|mapflag|nosave|017-1,107,70 056-2|mapflag|resave|017-1,107,70 +056-2|mapflag|pvp diff --git a/world/map/npc/057-1/mapflags.txt b/world/map/npc/057-1/mapflags.txt index 245bb2fa..d7c3aea2 100644 --- a/world/map/npc/057-1/mapflags.txt +++ b/world/map/npc/057-1/mapflags.txt @@ -1 +1,2 @@ 057-1|mapflag|resave|055-1,133,61 +057-1|mapflag|pvp diff --git a/world/map/npc/070-3/_import.txt b/world/map/npc/070-3/_import.txt index fbb44538..c11b4c9d 100644 --- a/world/map/npc/070-3/_import.txt +++ b/world/map/npc/070-3/_import.txt @@ -4,3 +4,4 @@ map: 070-3 npc: npc/070-3/_mobs.txt npc: npc/070-3/_nodes.txt npc: npc/070-3/_warps.txt +npc: npc/070-3/mapflags.txt diff --git a/world/map/npc/070-3/mapflags.txt b/world/map/npc/070-3/mapflags.txt new file mode 100644 index 00000000..b72b8c1e --- /dev/null +++ b/world/map/npc/070-3/mapflags.txt @@ -0,0 +1,4 @@ +070-3|mapflag|resave|070-3,37,37 +070-3|mapflag|nosave|070-3,37,37 +070-3|mapflag|nowarp +070-3|mapflag|pvp diff --git a/world/map/npc/functions/death.txt b/world/map/npc/functions/death.txt new file mode 100644 index 00000000..5818f315 --- /dev/null +++ b/world/map/npc/functions/death.txt @@ -0,0 +1,63 @@ +function|script|WarpToHell +{ + setarray @death_points[0], 35,63, 36,63, 55,34, 56,34; + set @point, rand(4) * 2; + warp "070-3", @death_points[@point], @death_points[@point + 1]; + return; +} + +function|script|CheckDeath +{ + if (getmap() != "070-3" && PC_DIE_COUNTER == 0) goto L_Return; + message strcharinfo(0), "Server : You are dead. Forever."; + if (getmap() == "070-3") goto L_Return; + callfunc "WarpToHell"; + return; + +L_Return: + return; +} + +function|script|HardKill +{ + if (getmap(@victimrid) == "070-3") goto L_Return; + announce strcharinfo(0) + " has brutally murdered " + strcharinfo(0, @victimrid) + " %%e", 0; + set Zeny, Zeny + get(Zeny, @victimrid); // loot them + getexp get(BaseExp, @victimrid), get(JobExp, @victimrid); // steal their exp + set @killed, 1, @victimrid; + return; + +L_Return: + return; +} + +function|script|HardDeath +{ + if (getmap() == "070-3") goto L_Return; + getinventorylist; + set @item_it, 0; + freeloop 1; + goto L_Drop; // drop all items + +L_Drop: + makeitem @inventorylist_id[@item_it], @inventorylist_amount[@item_it], getmap(), POS_X + rand(-2, 2), POS_Y + rand(-2, 2); + set @item_it, @item_it + 1; + if (@item_it >= @inventorylist_count) goto L_Getstuff; + goto L_Drop; + +L_Getstuff: + if (@killed) goto L_Warp; + announce strcharinfo(0) + " has died %%S", 0; + makeitem "CasinoCoins", Zeny / 10, getmap(), POS_X + rand(-2, 2), POS_Y + rand(-2, 2); + goto L_Warp; + +L_Warp: + freeloop 0; + set @killed, 0; + set @item_it, 0; + callfunc "WarpToHell"; + return; + +L_Return: + return; +} diff --git a/world/map/npc/functions/ghost.txt b/world/map/npc/functions/ghost.txt index 921b8b79..f020092f 100644 --- a/world/map/npc/functions/ghost.txt +++ b/world/map/npc/functions/ghost.txt @@ -3,17 +3,6 @@ function|script|SpawnGhost if ($GHOSTS_DISABLED) goto L_Return; - if (BaseLevel >= 40 && - (getmap() == "026-1" || - getmap() == "027-1" || - getmap() == "027-2" || - getmap() == "027-3" || - getmap() == "027-4" || - getmap() == "027-5")) - goto L_Spawn; - return; - -L_Spawn: set .@x, POS_X; set .@y, POS_Y; diff --git a/world/map/npc/functions/global_event_handler.txt b/world/map/npc/functions/global_event_handler.txt index fe87b380..01d01e62 100644 --- a/world/map/npc/functions/global_event_handler.txt +++ b/world/map/npc/functions/global_event_handler.txt @@ -16,12 +16,14 @@ OnPCLoginEvent: addtimer 0, "Magic Timer::OnLogin"; // prevent cast rate abuse callfunc "MaybeGiveBirthday"; callfunc "MiriamExpire"; // force the speed skill quest to expire + callfunc "CheckDeath"; // add more here set @login_event, 2; end; OnPCKillEvent: callfunc "elanore_decrease_exp"; // decrease heal exp for doing bad things + callfunc "HardKill"; end; OnMobKillEvent: @@ -33,6 +35,7 @@ OnPCDieEvent: addtimer 0, "Magic Timer::OnClear"; // reset magic block on death callfunc "SpawnGhost"; callfunc "MiriamExpire"; // force the speed skill quest to expire + callfunc "HardDeath"; set @killerrid, 0; // reset killer rid end; diff --git a/world/map/npc/items/warpTowels.txt b/world/map/npc/items/warpTowels.txt index b6faaec3..6c9fb4f6 100644 --- a/world/map/npc/items/warpTowels.txt +++ b/world/map/npc/items/warpTowels.txt @@ -6,6 +6,8 @@ function|script|WarpTowel goto L_DontPanic; if (isin("botcheck",25,27,51,47)) goto L_Prison; + if (isin("070-3",2,2,300,300)) + goto L_Dead; if (getmapflag(getmap(), MF_NOSAVE) || getmapflag(getmap(), MF_NOTELEPORT) || getmapflag(getmap(), MF_NOWARP) || isin("009-7",$@fightclub_x1,$@fightclub_y1,$@fightclub_x2,$@fightclub_y2)) goto L_Forbid; @@ -130,6 +132,10 @@ L_Prison: message strcharinfo(0), "Towel : You must be warped by a GM to leave the botcheck area."; goto L_Keep; +L_Dead: + message strcharinfo(0), "Towel : You are dead. Forever."; + return; + L_DontPanic: callfunc "HumanTime"; message strcharinfo(0), "Towel : Your towel is still too low on power to jump again. Try again in ##B"+ @time$ + "##b."; diff --git a/world/map/npc/scripts.conf b/world/map/npc/scripts.conf index ee63f684..3cade541 100644 --- a/world/map/npc/scripts.conf +++ b/world/map/npc/scripts.conf @@ -31,6 +31,7 @@ npc: npc/functions/DyeConfig.txt npc: npc/functions/motd.txt npc: npc/functions/motdconfig.txt npc: npc/functions/ghost.txt +npc: npc/functions/death.txt npc: npc/functions/global_event_handler.txt // Item Functions -- cgit v1.2.3-60-g2f50