New spell listeners + other bugfixes

This commit is contained in:
Ceikry
2021-03-24 00:20:48 -05:00
parent a126de93f1
commit 380c502a0c
16 changed files with 139115 additions and 138966 deletions
@@ -11,6 +11,9 @@ import core.game.node.entity.player.link.SpellBookManager;
import core.game.node.item.GroundItemManager;
import core.game.node.item.Item;
import core.game.node.object.GameObject;
import rs09.game.node.entity.skill.magic.SpellListener;
import rs09.game.node.entity.skill.magic.SpellListeners;
import rs09.game.node.entity.skill.magic.SpellUtils;
import rs09.game.world.GameWorld;
import core.game.world.map.Location;
import core.game.world.map.RegionManager;
@@ -55,6 +58,7 @@ public class InterfaceUseOnPacket implements IncomingPacket {
break;
}
if (CombatSwingHandler.isProjectileClipped(player, groundItem, false)) {
SpellListeners.run(spell, SpellListener.GROUND_ITEM, SpellUtils.getBookFromInterface(interfaceId),player,groundItem);
MagicSpell.castSpell(player, SpellBookManager.SpellBook.MODERN, spell, groundItem);
} else {
player.getPulseManager().run(new MovementPulse(player, groundItem) {
@@ -73,6 +77,7 @@ public class InterfaceUseOnPacket implements IncomingPacket {
@Override
public boolean pulse() {
SpellListeners.run(spell, SpellListener.GROUND_ITEM,SpellUtils.getBookFromInterface(interfaceId),player,groundItem);
MagicSpell.castSpell(player, SpellBookManager.SpellBook.MODERN, spell, groundItem);
return true;
}
@@ -92,6 +97,9 @@ public class InterfaceUseOnPacket implements IncomingPacket {
PacketRepository.send(ClearMinimapFlag.class, new PlayerContext(player));
break;
}
if(!SpellUtils.getBookFromInterface(interfaceId).equals("none")){
SpellListeners.run(componentId,SpellListener.PLAYER,SpellUtils.getBookFromInterface(interfaceId),player,target);
}
switch (interfaceId) {
case 192:
MagicSpell.castSpell(player, SpellBookManager.SpellBook.MODERN, componentId, target);
@@ -144,6 +152,9 @@ public class InterfaceUseOnPacket implements IncomingPacket {
PacketRepository.send(ClearMinimapFlag.class, new PlayerContext(player));
break;
}
if(!SpellUtils.getBookFromInterface(interfaceId).equals("none")){
SpellListeners.run(componentId,SpellListener.OBJECT,SpellUtils.getBookFromInterface(interfaceId),player,object);
}
switch (interfaceId) {
case 430:
MagicSpell.castSpell(player, SpellBookManager.SpellBook.LUNAR, componentId, object);
@@ -179,6 +190,9 @@ public class InterfaceUseOnPacket implements IncomingPacket {
if (player.getAttribute("magic:delay", -1) > GameWorld.getTicks()) {
break;
}
if(!SpellUtils.getBookFromInterface(interfaceId).equals("none")){
SpellListeners.run(componentId,SpellListener.NPC, SpellUtils.getBookFromInterface(interfaceId),player,npc);
}
switch (interfaceId) {
case 430:
MagicSpell.castSpell(player, SpellBookManager.SpellBook.LUNAR, componentId, npc);
@@ -222,6 +236,9 @@ public class InterfaceUseOnPacket implements IncomingPacket {
if (item == null) {
break;
}
if(!SpellUtils.getBookFromInterface(interfaceId).equals("none")){
SpellListeners.run(componentId,SpellListener.ITEM,SpellUtils.getBookFromInterface(interfaceId),player,item);
}
switch (interfaceId) {
case 430:
if (player.getAttribute("magic:delay", -1) > GameWorld.getTicks()) {