hooks: move combat info callback to actor mixin
This commit is contained in:
@@ -61,7 +61,6 @@ import net.runelite.api.events.FocusChanged;
|
|||||||
import net.runelite.api.events.GameTick;
|
import net.runelite.api.events.GameTick;
|
||||||
import net.runelite.api.events.GraphicsObjectCreated;
|
import net.runelite.api.events.GraphicsObjectCreated;
|
||||||
import net.runelite.api.events.HitsplatApplied;
|
import net.runelite.api.events.HitsplatApplied;
|
||||||
import net.runelite.api.events.LocalPlayerDeath;
|
|
||||||
import net.runelite.api.events.MenuOpened;
|
import net.runelite.api.events.MenuOpened;
|
||||||
import net.runelite.api.events.MenuOptionClicked;
|
import net.runelite.api.events.MenuOptionClicked;
|
||||||
import net.runelite.api.events.PostItemComposition;
|
import net.runelite.api.events.PostItemComposition;
|
||||||
@@ -454,15 +453,6 @@ public class Hooks
|
|||||||
shouldProcessGameTick = true;
|
shouldProcessGameTick = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void onSetCombatInfo(Actor actor, int combatInfoId, int gameCycle, int var3, int var4, int healthRatio, int health)
|
|
||||||
{
|
|
||||||
if (healthRatio == 0 && actor == client.getLocalPlayer())
|
|
||||||
{
|
|
||||||
LocalPlayerDeath event = new LocalPlayerDeath();
|
|
||||||
eventBus.post(event);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public static void postItemComposition(ItemComposition itemComposition)
|
public static void postItemComposition(ItemComposition itemComposition)
|
||||||
{
|
{
|
||||||
PostItemComposition event = new PostItemComposition();
|
PostItemComposition event = new PostItemComposition();
|
||||||
|
|||||||
@@ -39,11 +39,14 @@ import net.runelite.api.coords.WorldArea;
|
|||||||
import net.runelite.api.coords.WorldPoint;
|
import net.runelite.api.coords.WorldPoint;
|
||||||
import net.runelite.api.events.AnimationChanged;
|
import net.runelite.api.events.AnimationChanged;
|
||||||
import net.runelite.api.events.GraphicChanged;
|
import net.runelite.api.events.GraphicChanged;
|
||||||
|
import net.runelite.api.events.LocalPlayerDeath;
|
||||||
import net.runelite.api.mixins.FieldHook;
|
import net.runelite.api.mixins.FieldHook;
|
||||||
import net.runelite.api.mixins.Inject;
|
import net.runelite.api.mixins.Inject;
|
||||||
|
import net.runelite.api.mixins.MethodHook;
|
||||||
import net.runelite.api.mixins.Mixin;
|
import net.runelite.api.mixins.Mixin;
|
||||||
import net.runelite.api.mixins.Shadow;
|
import net.runelite.api.mixins.Shadow;
|
||||||
import static net.runelite.client.callback.Hooks.eventBus;
|
import static net.runelite.client.callback.Hooks.eventBus;
|
||||||
|
import static net.runelite.client.callback.Hooks.log;
|
||||||
import net.runelite.rs.api.RSActor;
|
import net.runelite.rs.api.RSActor;
|
||||||
import net.runelite.rs.api.RSClient;
|
import net.runelite.rs.api.RSClient;
|
||||||
import net.runelite.rs.api.RSCombatInfo1;
|
import net.runelite.rs.api.RSCombatInfo1;
|
||||||
@@ -227,4 +230,17 @@ public abstract class RSActorMixin implements RSActor
|
|||||||
|
|
||||||
return new WorldArea(this.getWorldLocation(), size, size);
|
return new WorldArea(this.getWorldLocation(), size, size);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Inject
|
||||||
|
@MethodHook("setCombatInfo")
|
||||||
|
public void setCombatInfo(int combatInfoId, int gameCycle, int var3, int var4, int healthRatio, int health)
|
||||||
|
{
|
||||||
|
if (healthRatio == 0 && this == client.getLocalPlayer())
|
||||||
|
{
|
||||||
|
log.debug("You died!");
|
||||||
|
|
||||||
|
LocalPlayerDeath event = new LocalPlayerDeath();
|
||||||
|
eventBus.post(event);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user