Fixed Cyclops defence animation

Fixed Zombie animations in Ardy sewers
Fixed Ghost combat animations in Draynor Manor
Fixed potion drinking animation and add two tick potion text delay
Fixed Gnome death animation in Khazard Battlefield
Fixed Gnome animations in Tree Gnome Village
Removed inauthentic + broken Vinesweeper teleport animation
This commit is contained in:
Sam Marder
2026-05-30 14:22:50 +00:00
committed by Ryan
parent 4795f25c09
commit bd5ce18fc1
3 changed files with 53 additions and 30 deletions
+35 -19
View File
@@ -1264,12 +1264,12 @@
},
{
"examine": "Like a mini man!",
"melee_animation": "422",
"range_animation": "422",
"melee_animation": "190",
"range_animation": "190",
"magic_level": "1",
"defence_animation": "404",
"defence_animation": "193",
"magic_animation": "422",
"death_animation": "9055",
"death_animation": "196",
"name": "Gnome",
"defence_level": "1",
"safespot": null,
@@ -1281,12 +1281,12 @@
},
{
"examine": "Like a mini man!",
"melee_animation": "422",
"range_animation": "422",
"melee_animation": "190",
"range_animation": "190",
"magic_level": "1",
"defence_animation": "404",
"defence_animation": "193",
"magic_animation": "422",
"death_animation": "9055",
"death_animation": "196",
"name": "Gnome",
"defence_level": "1",
"safespot": null,
@@ -1298,12 +1298,12 @@
},
{
"examine": "Like a mini man!",
"melee_animation": "422",
"range_animation": "422",
"melee_animation": "190",
"range_animation": "190",
"magic_level": "1",
"defence_animation": "404",
"defence_animation": "193",
"magic_animation": "422",
"death_animation": "9055",
"death_animation": "196",
"name": "Gnome",
"defence_level": "1",
"safespot": null,
@@ -1907,17 +1907,17 @@
},
{
"examine": "Eeek! A ghost!",
"melee_animation": "5540",
"melee_animation": "5532",
"range_animation": "0",
"combat_audio": "436,439,438",
"attack_speed": "4",
"magic_level": "1",
"respawn_delay": "40",
"defence_animation": "5541",
"defence_animation": "5533",
"weakness": "5",
"slayer_exp": "25",
"magic_animation": "0",
"death_animation": "5542",
"death_animation": "5534",
"name": "Ghost",
"defence_level": "18",
"safespot": null,
@@ -2182,11 +2182,11 @@
"attack_speed": "4",
"magic_level": "1",
"respawn_delay": "25",
"defence_animation": "360",
"defence_animation": "4651",
"weakness": "8",
"slayer_exp": "75",
"magic_animation": "359",
"death_animation": "361",
"death_animation": "4653",
"name": "Cyclops",
"defence_level": "35",
"safespot": null,
@@ -47336,12 +47336,15 @@
"attack_level": "1"
},
{
"combat_audio": "931,923,922",
"melee_animation": "5578",
"defence_animation": "5567",
"slayer_exp": "30",
"death_animation": "5569",
"name": "Zombie",
"defence_level": "1",
"safespot": null,
"lifepoints": "40",
"combat_audio": "931,923,922",
"strength_level": "1",
"id": "5394",
"range_level": "1",
@@ -76045,8 +76048,21 @@
"id": "2239"
},
{
"examine": "Like a mini man!",
"combat_style": "1",
"force_talk": "",
"melee_animation": "190",
"attack_speed": "4",
"respawn_delay": "60",
"defence_animation": "193",
"death_animation": "196",
"name": "Gnome",
"id": "2251"
"defence_level": "1",
"lifepoints": "3",
"strength_level": "1",
"id": "2251",
"range_level": "1",
"attack_level": "1"
},
{
"name": "Crow",
@@ -523,8 +523,7 @@ class Vinesweeper : InteractionListener, InterfaceListener, MapArea {
sendNPCDialogue(player, npc.id, "I can't do that, you're teleblocked!", core.game.dialogue.FacialExpression.OLD_ANGRY1)
return
}
npc.animate(Animation(437))
npc.faceTemporary(player, 1)
// https://youtu.be/61jVjmXf8tU?t=45
npc.graphics(Graphics(108))
player.lock()
playAudio(player, Sounds.CURSE_ALL_125, 0, 1)
@@ -1,12 +1,16 @@
package core.game.consumable;
import content.data.consumables.Consumables;
import core.game.interaction.QueueStrength;
import core.game.node.entity.player.Player;
import core.game.node.entity.player.link.audio.Audio;
import core.game.node.item.Item;
import core.game.system.task.Pulse;
import core.game.world.GameWorld;
import core.game.world.update.flag.context.Animation;
import org.rs09.consts.Sounds;
import static core.api.ContentAPIKt.playAudio;
import static core.api.ContentAPIKt.*;
public class Potion extends Drink {
@@ -15,7 +19,7 @@ public class Potion extends Drink {
private static final Audio SOUND = new Audio(2401, 1, 1);
public Potion(final int[] ids, final ConsumableEffect effect, final String... messages) {
super(ids, effect, messages);
super(ids, effect, new Animation(829), messages);
}
@Override
@@ -55,13 +59,17 @@ public class Potion extends Drink {
}
final int dosesLeft = ids.length - consumedDoses;
player.getPacketDispatch().sendMessage("You drink some of your " + getFormattedName(item) + ".");
if (dosesLeft > 1) {
player.getPacketDispatch().sendMessage("You have " + dosesLeft + " doses of potion left.");
} else if (dosesLeft == 1) {
player.getPacketDispatch().sendMessage("You have 1 dose of potion left.");
} else {
player.getPacketDispatch().sendMessage("You have finished your potion.");
}
// Remaining dosages message should be delayed - https://youtu.be/n6CCf4Rj8Lg?t=79
queueScript(player, 2, QueueStrength.SOFT, false, (Integer stage) -> {
if (dosesLeft > 1) {
player.getPacketDispatch().sendMessage("You have " + dosesLeft + " doses of potion left.");
} else if (dosesLeft == 1) {
player.getPacketDispatch().sendMessage("You have 1 dose of potion left.");
} else {
player.getPacketDispatch().sendMessage("You have finished your potion.");
}
return stopExecuting(player);
});
}
public int getDose(Item potion){