diff --git a/Server/data/configs/npc_configs.json b/Server/data/configs/npc_configs.json index 9d818510c..400ae302f 100644 --- a/Server/data/configs/npc_configs.json +++ b/Server/data/configs/npc_configs.json @@ -16607,7 +16607,26 @@ "attack_level": "32" }, { - "examine": "It's one leg short!", + "examine": "He's one big leg short!", + "melee_animation": "9471", + "range_animation": "9471", + "attack_speed": "4", + "magic_level": "1", + "defence_animation": "9473", + "magic_animation": "9471", + "death_animation": "9472", + "name": "Turoth", + "defence_level": "85", + "safespot": null, + "lifepoints": "78", + "strength_level": "85", + "id": "1622", + "bonuses": "0,0,0,0,0,0,20,20,0,0,0,0,0,0,0", + "range_level": "1", + "attack_level": "55" + }, + { + "examine": "He's one big leg short!", "melee_animation": "9471", "range_animation": "9471", "attack_speed": "4", @@ -16618,9 +16637,10 @@ "name": "Turoth", "defence_level": "88", "safespot": null, - "lifepoints": "27", + "lifepoints": "81", "strength_level": "88", "id": "1623", + "bonuses": "0,0,0,0,0,0,20,20,0,0,0,0,0,0,0", "range_level": "1", "attack_level": "58" }, @@ -16663,7 +16683,7 @@ "attack_level": "105" }, { - "examine": "It's one leg short!", + "examine": "She's one leg short!", "melee_animation": "9471", "range_animation": "9471", "attack_speed": "4", @@ -16677,6 +16697,7 @@ "lifepoints": "79", "strength_level": "86", "id": "1626", + "bonuses": "0,0,0,0,0,0,20,20,0,0,0,0,0,0,0", "clue_level": "2", "range_level": "1", "attack_level": "56" @@ -16696,12 +16717,13 @@ "lifepoints": "77", "strength_level": "84", "id": "1627", + "bonuses": "0,0,0,0,0,0,20,20,0,0,0,0,0,0,0", "clue_level": "2", "range_level": "1", "attack_level": "54" }, { - "examine": "It's one leg short!", + "examine": "It's one small leg short!", "melee_animation": "9471", "range_animation": "9471", "attack_speed": "4", @@ -16715,10 +16737,51 @@ "lifepoints": "76", "strength_level": "83", "id": "1628", + "bonuses": "0,0,0,0,0,0,20,20,0,0,0,0,0,0,0", "clue_level": "2", "range_level": "1", "attack_level": "53" }, + { + "examine": "He's one big leg short!", + "melee_animation": "9471", + "range_animation": "9471", + "attack_speed": "4", + "magic_level": "1", + "defence_animation": "9473", + "magic_animation": "9471", + "death_animation": "9472", + "name": "Turoth", + "defence_level": "87", + "safespot": null, + "lifepoints": "80", + "strength_level": "87", + "id": "1629", + "bonuses": "0,0,0,0,0,0,20,20,0,0,0,0,0,0,0", + "clue_level": "2", + "range_level": "1", + "attack_level": "57" + }, + { + "examine": "He's one big leg short!", + "melee_animation": "9471", + "range_animation": "9471", + "attack_speed": "4", + "magic_level": "1", + "defence_animation": "9473", + "magic_animation": "9471", + "death_animation": "9472", + "name": "Turoth", + "defence_level": "87", + "safespot": null, + "lifepoints": "80", + "strength_level": "87", + "id": "1630", + "bonuses": "0,0,0,0,0,0,20,20,0,0,0,0,0,0,0", + "clue_level": "2", + "range_level": "1", + "attack_level": "57" + }, { "examine": "A rocky slug.", "slayer_task": "69", diff --git a/Server/data/configs/npc_spawns.json b/Server/data/configs/npc_spawns.json index ac5440270..043dc96e4 100644 --- a/Server/data/configs/npc_spawns.json +++ b/Server/data/configs/npc_spawns.json @@ -3547,29 +3547,29 @@ "npc_id": "1621", "loc_data": "{2797,10035,0,1,6}-{2787,10032,0,1,3}-{2802,10031,0,1,3}" }, + { + "npc_id": "1623", + "loc_data": "{2725,9999,0,1,6}" + }, { "npc_id": "1624", "loc_data": "{3179,5522,0,1,6}-{3223,9393,0,1,5}-{3225,9401,0,1,0}-{3222,9375,0,1,6}-{3220,9380,0,1,6}-{3215,9364,0,1,3}-{3213,9361,0,1,1}-{3212,9355,0,1,2}-{3230,9367,0,1,3}-{3240,9350,0,1,5}-{3248,9348,0,1,4}-{3255,9350,0,1,4}-{3256,9392,0,1,4}-{3168,5513,0,1,3}-{3174,5514,0,1,6}-{3178,5517,0,1,4}-{3178,5528,0,1,1}-{3169,5516,0,1,3}-{3179,5524,0,1,4}" }, { "npc_id": "1626", - "loc_data": "{3165,5537,0,1,3}-{3159,5538,0,1,4}-{3155,5539,0,1,3}-{3158,5537,0,1,4}" + "loc_data": "{2723,10005,0,1,0}-{2726,9998,0,1,1}-{2723,10009,0,1,3}" }, { "npc_id": "1627", - "loc_data": "{2724,10008,0,1,4}" + "loc_data": "{2724,10008,0,1,4}-{2721,10005,0,1,1}-{2724,10005,0,1,3}-{2729,10004,0,1,3}-{2724,10012,0,1,4}-{2718,10009,0,1,1}-{2721,10001,0,1,7}-{2720,9996,0,1,7}-{2721,10006,0,1,3}" }, { "npc_id": "1628", - "loc_data": "{2723,10004,0,1,4}-{2722,9999,0,1,1}-{2729,10002,0,1,1}" + "loc_data": "{2723,10004,0,1,4}-{2722,9999,0,1,1}-{2729,10002,0,1,1}-{3155,5536,0,1,4}-{3156,5540,0,1,3}-{3157,5538,0,1,2}-{3166,5537,0,1,1}-{3165,5541,0,1,3}" }, { "npc_id": "1629", - "loc_data": "{2723,10005,0,1,0}-{2726,9998,0,1,1}-{2723,10009,0,1,3}-{2727,9998,0,1,4}-{2727,10001,0,1,3}" - }, - { - "npc_id": "1630", - "loc_data": "{2721,10005,0,1,1}-{2724,10005,0,1,3}-{2729,10004,0,1,3}-{2724,10012,0,1,4}-{2718,10009,0,1,1}-{2721,10001,0,1,7}-{2720,9996,0,1,7}-{2721,10006,0,1,3}" + "loc_data": "{3162,5538,0,1,2}-{3157,5538,0,1,4}-{3155,5537,0,1,1}-{3164,5538,0,1,2}" }, { "npc_id": "1631", diff --git a/Server/src/main/java/core/net/packet/in/ExaminePacket.java b/Server/src/main/java/core/net/packet/in/ExaminePacket.java index b37e310f9..47e916146 100644 --- a/Server/src/main/java/core/net/packet/in/ExaminePacket.java +++ b/Server/src/main/java/core/net/packet/in/ExaminePacket.java @@ -8,6 +8,7 @@ import core.cache.def.impl.VarbitDefinition; import core.game.node.entity.player.Player; import core.net.packet.IncomingPacket; import core.net.packet.IoBuffer; +import org.rs09.consts.Items; import java.util.Arrays; @@ -61,16 +62,27 @@ public final class ExaminePacket implements IncomingPacket { /** * Gets the item examine. - * @param id the id. - * @return the name. + * @param id the item id. + * @return the item examine. */ public static String getItemExamine(int id) { - if (id == 995) { + + // Coins examine override + if (id == Items.COINS_995) { return "Lovely money!"; } + + // Clue scroll examine override if (ItemDefinition.forId(id).getExamine().length() == 255) { return "A set of instructions to be followed."; } + + // Noted item examine override + if (!ItemDefinition.forId(id).isUnnoted()) { + return "Swap this note at any bank for the equivalent item."; + } + + // Return the examine string for the given item ID return ItemDefinition.forId(id).getExamine(); } } \ No newline at end of file