From af3ee7fe09dc932773151ee7620374c60b10b22c Mon Sep 17 00:00:00 2001 From: Oven Bread Date: Sat, 29 Jul 2023 04:09:06 +0000 Subject: [PATCH] Connected trollweiss mountains and dungeons, implemented NPCs --- Server/data/configs/npc_configs.json | 62 ++++++++++---- Server/data/configs/npc_spawns.json | 80 ++++++++++++++++--- .../handlers/TrollweissListeners.kt | 38 +++++++++ 3 files changed, 156 insertions(+), 24 deletions(-) create mode 100644 Server/src/main/content/region/asgarnia/trollweiss/handlers/TrollweissListeners.kt diff --git a/Server/data/configs/npc_configs.json b/Server/data/configs/npc_configs.json index e1dd022b5..a640ad51f 100644 --- a/Server/data/configs/npc_configs.json +++ b/Server/data/configs/npc_configs.json @@ -16003,9 +16003,11 @@ { "examine": "Brrrrr...he must be cold!", "slayer_task": "83", + "melee_animation": "284", "range_animation": "0", "respawn_delay": "60", - "defence_animation": "0", + "defence_animation": "285", + "death_animation": "287", "weakness": "9", "magic_animation": "0", "name": "Ice Troll", @@ -16021,8 +16023,11 @@ { "examine": "Brrrrr...he must be cold!", "slayer_task": "83", + "melee_animation": "284", "range_animation": "0", - "defence_animation": "0", + "respawn_delay": "60", + "defence_animation": "285", + "death_animation": "287", "weakness": "9", "magic_animation": "0", "name": "Ice Troll", @@ -16037,9 +16042,11 @@ { "examine": "Brrrrr...he must be cold!", "slayer_task": "83", + "melee_animation": "284", "range_animation": "0", "respawn_delay": "60", - "defence_animation": "0", + "defence_animation": "285", + "death_animation": "287", "weakness": "9", "magic_animation": "0", "name": "Ice Troll", @@ -16055,8 +16062,11 @@ { "examine": "Brrrrr...he must be cold!", "slayer_task": "83", + "melee_animation": "284", "range_animation": "0", - "defence_animation": "0", + "respawn_delay": "60", + "defence_animation": "285", + "death_animation": "287", "weakness": "9", "magic_animation": "0", "name": "Ice Troll", @@ -16071,9 +16081,11 @@ { "examine": "Brrrrr...he must be cold!", "slayer_task": "83", + "melee_animation": "284", "range_animation": "0", "respawn_delay": "60", - "defence_animation": "0", + "defence_animation": "285", + "death_animation": "287", "weakness": "9", "magic_animation": "0", "name": "Ice Troll", @@ -16089,9 +16101,11 @@ { "examine": "Brrrrr...he must be cold!", "slayer_task": "83", + "melee_animation": "284", "range_animation": "0", "respawn_delay": "60", - "defence_animation": "0", + "defence_animation": "285", + "death_animation": "287", "weakness": "9", "magic_animation": "0", "name": "Ice Troll", @@ -16107,8 +16121,11 @@ { "examine": "Brrrrr...he must be cold!", "slayer_task": "83", + "melee_animation": "284", "range_animation": "0", - "defence_animation": "0", + "respawn_delay": "60", + "defence_animation": "285", + "death_animation": "287", "weakness": "9", "magic_animation": "0", "name": "Ice Troll", @@ -20152,9 +20169,11 @@ { "examine": "Brrrrr...he must be cold!", "slayer_task": "83", + "melee_animation": "284", "range_animation": "0", "respawn_delay": "60", - "defence_animation": "0", + "defence_animation": "285", + "death_animation": "287", "weakness": "9", "magic_animation": "0", "name": "Ice troll", @@ -20170,8 +20189,11 @@ { "examine": "Brrrrr...he must be cold!", "slayer_task": "83", + "melee_animation": "284", "range_animation": "0", - "defence_animation": "0", + "respawn_delay": "60", + "defence_animation": "285", + "death_animation": "287", "weakness": "9", "magic_animation": "0", "name": "Ice troll", @@ -20186,9 +20208,11 @@ { "examine": "Brrrrr...he must be cold!", "slayer_task": "83", + "melee_animation": "284", "range_animation": "0", "respawn_delay": "60", - "defence_animation": "0", + "defence_animation": "285", + "death_animation": "287", "weakness": "9", "magic_animation": "0", "name": "Ice troll", @@ -20204,8 +20228,11 @@ { "examine": "Brrrrr...he must be cold!", "slayer_task": "83", + "melee_animation": "284", "range_animation": "0", - "defence_animation": "0", + "respawn_delay": "60", + "defence_animation": "285", + "death_animation": "287", "weakness": "9", "magic_animation": "0", "name": "Ice troll", @@ -20220,9 +20247,11 @@ { "examine": "Brrrrr...he must be cold!", "slayer_task": "83", + "melee_animation": "284", "range_animation": "0", "respawn_delay": "60", - "defence_animation": "0", + "defence_animation": "285", + "death_animation": "287", "weakness": "9", "magic_animation": "0", "name": "Ice troll", @@ -20238,9 +20267,11 @@ { "examine": "Brrrrr...he must be cold!", "slayer_task": "83", + "melee_animation": "284", "range_animation": "0", "respawn_delay": "60", - "defence_animation": "0", + "defence_animation": "285", + "death_animation": "287", "weakness": "9", "magic_animation": "0", "name": "Ice troll", @@ -20256,8 +20287,11 @@ { "examine": "Brrrrr...he must be cold!", "slayer_task": "83", + "melee_animation": "284", "range_animation": "0", - "defence_animation": "0", + "respawn_delay": "60", + "defence_animation": "285", + "death_animation": "287", "weakness": "9", "magic_animation": "0", "name": "Ice troll", diff --git a/Server/data/configs/npc_spawns.json b/Server/data/configs/npc_spawns.json index 47cc38af2..3d3ef9a1a 100644 --- a/Server/data/configs/npc_spawns.json +++ b/Server/data/configs/npc_spawns.json @@ -2715,6 +2715,10 @@ "npc_id": "1093", "loc_data": "{2817,3560,0,1,3}" }, + { + "npc_id": "1094", + "loc_data": "{2802,3841,0,1,0}-{2798,3842,0,1,0}-{2804,3843,0,1,0}-{2807,3843,0,1,0}" + }, { "npc_id": "1096", "loc_data": "{2852,3591,0,1,7}" @@ -2741,27 +2745,27 @@ }, { "npc_id": "1106", - "loc_data": "{2864,3594,0,1,1}-{2881,3592,0,1,5}-{2857,3587,0,1,7}-{2855,3596,0,1,4}-{2827,10078,1,1,6}-{2925,3626,0,1,0}-{2843,3682,0,1,1}" + "loc_data": "{2864,3594,0,1,1}-{2881,3592,0,1,5}-{2857,3587,0,1,7}-{2855,3596,0,1,4}-{2827,10078,1,1,6}-{2925,3626,0,1,0}-{2843,3682,0,1,1}-{2769,10149,0,1,0}-{2777,10142,0,1,0}" }, { "npc_id": "1107", - "loc_data": "{2874,3595,0,1,3}-{2875,3596,0,1,1}-{2873,3598,0,1,1}-{2836,10088,1,1,5}-{2845,3674,0,1,4}" + "loc_data": "{2874,3595,0,1,3}-{2875,3596,0,1,1}-{2873,3598,0,1,1}-{2836,10088,1,1,5}-{2845,3674,0,1,4}-{2781,10143,0,1,0}" }, { "npc_id": "1108", - "loc_data": "{2878,3592,0,1,6}-{2861,3586,0,1,6}-{2855,10058,2,1,4}-{2852,3673,0,1,2}" + "loc_data": "{2878,3592,0,1,6}-{2861,3586,0,1,6}-{2855,10058,2,1,4}-{2852,3673,0,1,2}-{2783,10140,0,1,0}" }, { "npc_id": "1109", - "loc_data": "{2875,3588,0,1,1}-{2883,3586,0,1,6}-{2825,10087,1,1,3}-{2836,10080,1,1,6}-{2784,10040,2,1,3}-{2920,3627,0,1,0}-{2923,10029,0,1,7}-{2851,3667,0,1,3}" + "loc_data": "{2875,3588,0,1,1}-{2883,3586,0,1,6}-{2825,10087,1,1,3}-{2836,10080,1,1,6}-{2784,10040,2,1,3}-{2920,3627,0,1,0}-{2923,10029,0,1,7}-{2851,3667,0,1,3}-{2784,10134,0,1,0}" }, { "npc_id": "1110", - "loc_data": "{2883,3591,0,1,4}-{2869,3594,0,1,3}-{2861,3587,0,1,4}-{2872,3594,0,1,5}-{2829,10080,1,1,6}-{2836,10097,2,1,4}-{2852,10110,2,1,4}" + "loc_data": "{2883,3591,0,1,4}-{2869,3594,0,1,3}-{2861,3587,0,1,4}-{2872,3594,0,1,5}-{2829,10080,1,1,6}-{2836,10097,2,1,4}-{2852,10110,2,1,4}-{2771,10143,0,1,0}" }, { "npc_id": "1111", - "loc_data": "{2863,3588,0,1,6}-{2865,3591,0,1,0}-{2866,3598,0,1,1}-{2840,10101,1,1,4}-{2857,10055,2,1,3}-{2836,10090,2,1,1}-{2925,10033,0,1,6}-{2855,3685,0,1,1}" + "loc_data": "{2863,3588,0,1,6}-{2865,3591,0,1,0}-{2866,3598,0,1,1}-{2840,10101,1,1,4}-{2857,10055,2,1,3}-{2836,10090,2,1,1}-{2925,10033,0,1,6}-{2855,3685,0,1,1}-{2788,10131,0,1,0}" }, { "npc_id": "1112", @@ -3515,21 +3519,37 @@ "npc_id": "1555", "loc_data": "{2829,10096,1,0,0}" }, + { + "npc_id": "1558", + "loc_data": "{2800,3859,0,1,0}-{2803,3864,0,1,0}-{2805,3859,0,1,0}" + }, { "npc_id": "1560", - "loc_data": "{3150,5454,0,1,4}-{3144,5446,0,1,7}-{3166,5446,0,1,3}-{3158,5451,0,1,7}" + "loc_data": "{3150,5454,0,1,4}-{3144,5446,0,1,7}-{3166,5446,0,1,3}-{3158,5451,0,1,7}-{2775,10224,0,1,0}-{2783,10199,0,1,0}-{2784,10233,0,1,0}" }, { "npc_id": "1561", - "loc_data": "{3144,5450,0,1,1}-{3153,5454,0,1,5}-{3160,5450,0,1,5}-{3167,5450,0,1,3}-{3161,5451,0,1,1}" + "loc_data": "{3144,5450,0,1,1}-{3153,5454,0,1,5}-{3160,5450,0,1,5}-{3167,5450,0,1,3}-{3161,5451,0,1,1}-{2777,10224,0,1,0}-{2784,10231,0,1,0}-{2792,10222,0,1,0}" }, { "npc_id": "1562", - "loc_data": "{3147,5448,0,1,4}" + "loc_data": "{3147,5448,0,1,4}-{2772,10221,0,1,0}-{2785,10201,0,1,0}-{2787,10232,0,1,0}" }, { "npc_id": "1563", - "loc_data": "{3152,5453,0,1,0}" + "loc_data": "{3152,5453,0,1,0}-{2773,10220,0,1,0}-{2788,10198,0,1,0}-{2790,10220,0,1,0}-{2800,10218,0,1,0}" + }, + { + "npc_id": "1564", + "loc_data": "{2770,10219,0,1,0}-{2788,10230,0,1,0}-{2798,10216,0,1,0}" + }, + { + "npc_id": "1565", + "loc_data": "{2788,10221,0,1,0}-{2801,10216,0,1,0}" + }, + { + "npc_id": "1566", + "loc_data": "{2786,10199,0,1,0}-{2790,10222,0,1,0}-{2799,10214,0,1,0}" }, { "npc_id": "1582", @@ -4119,6 +4139,38 @@ "npc_id": "1930", "loc_data": "{3161,2985,0,0,6}-{3161,2983,0,0,6}-{3161,2982,0,0,6}-{3161,2981,0,0,6}-{3161,2984,0,0,6}" }, + { + "npc_id": "1935", + "loc_data": "{2841,3738,0,0,3}" + }, + { + "npc_id": "1936", + "loc_data": "{2852,3735,0,1,0}-{2855,3729,0,1,0}-{2861,3725,0,1,0}" + }, + { + "npc_id": "1937", + "loc_data": "{2850,3732,0,1,0}-{2857,3726,0,1,0}-{2865,3729,0,1,0}" + }, + { + "npc_id": "1938", + "loc_data": "{2849,3735,0,1,0}-{2853,3731,0,1,0}-{2859,3728,0,1,0}" + }, + { + "npc_id": "1939", + "loc_data": "{2856,3728,0,1,0}-{2862,3722,0,1,0}-{2864,3723,0,1,0}" + }, + { + "npc_id": "1940", + "loc_data": "{2853,3728,0,1,0}-{2856,3732,0,1,0}-{2863,3720,0,1,0}" + }, + { + "npc_id": "1941", + "loc_data": "{2854,3725,0,1,0}-{2862,3728,0,1,0}-{2862,3731,0,1,0}" + }, + { + "npc_id": "1942", + "loc_data": "{2855,3735,0,1,0}-{2858,3730,0,1,0}-{2865,3726,0,1,0}" + }, { "npc_id": "1951", "loc_data": "{2886,3723,0,1,3}-{2887,3720,0,1,4}-{2890,3721,0,1,7}-{2890,3724,0,1,1}-{2909,3736,0,1,5}-{2910,3736,0,1,2}-{2891,3724,0,1,7}" @@ -6815,6 +6867,10 @@ "npc_id": "4575", "loc_data": "{2441,3503,1,1,4}" }, + { + "npc_id": "4576", + "loc_data": "{2786,3862,0,1,0}" + }, { "npc_id": "4578", "loc_data": "{2933,2972,0,0,0}" @@ -8723,6 +8779,10 @@ "npc_id": "6051", "loc_data": "{3292,3069,0,1,1}-{3285,3071,0,1,1}-{3279,3078,0,1,4}-{3273,3065,0,1,3}-{3288,3066,0,1,6}-{3281,3057,0,1,5}-{3294,3056,0,1,5}-{3305,3064,0,1,3}-{3312,3075,0,1,6}-{3306,3086,0,1,4}-{3272,3082,0,1,4}" }, + { + "npc_id": "6052", + "loc_data": "{2761,3863,0,1,0}-{2764,3858,0,1,0}-{2769,3854,0,1,0}-{2769,3861,0,1,0}" + }, { "npc_id": "6055", "loc_data": "{2563,4348,0,1,0}-{2620,4348,0,1,0}-{2620,4291,0,1,0}-{2563,4291,0,1,0}-{2572,4339,0,1,0}-{2565,4327,0,1,0}-{2575,4315,0,1,0}-{2586,4306,0,1,0}-{2593,4304,0,1,0}-{2605,4312,0,1,0}-{2614,4330,0,1,0}-" diff --git a/Server/src/main/content/region/asgarnia/trollweiss/handlers/TrollweissListeners.kt b/Server/src/main/content/region/asgarnia/trollweiss/handlers/TrollweissListeners.kt new file mode 100644 index 000000000..55cf63411 --- /dev/null +++ b/Server/src/main/content/region/asgarnia/trollweiss/handlers/TrollweissListeners.kt @@ -0,0 +1,38 @@ +package content.region.asgarnia.trollweiss.handlers + +import core.game.interaction.InteractionListener +import core.game.interaction.IntType +import core.game.world.map.Location +import org.rs09.consts.Scenery + +class TrollweissListeners : InteractionListener { + override fun defineListeners() { + // Keldagrim side tunnel to trollweiss mountain + on(Scenery.TUNNEL_5012, IntType.SCENERY, "enter") { player, _ -> + player.properties.teleportLocation = Location.create(2799, 10134, 0) + return@on true + } + on(Scenery.TUNNEL_5013, IntType.SCENERY, "enter") { player, _ -> + player.properties.teleportLocation = Location.create(2796, 3719, 0) + return@on true + } + // Trollheim north to trollweiss dungeon + on(Scenery.CAVE_ENTRANCE_5007, IntType.SCENERY, "enter") { player, _ -> + player.properties.teleportLocation = Location.create(2803, 10187, 0) + return@on true + } + on(Scenery.CAVE_EXIT_32743, IntType.SCENERY, "exit") { player, _ -> + player.properties.teleportLocation = Location.create(2822, 3744, 0) + return@on true + } + // Keldagrim side tunnel to trollweiss mountain + on(Scenery.CREVASSE_33185, IntType.SCENERY, "enter") { player, _ -> + player.properties.teleportLocation = Location.create(2778, 3869, 0) + return@on true + } + on(Scenery.TUNNEL_5009, IntType.SCENERY, "enter") { player, _ -> + player.properties.teleportLocation = Location.create(2772, 10232, 0) + return@on true + } + } +} \ No newline at end of file