RuneHive-Tarnish
Neural OSRS Enhancement Framework
Loading...
Searching...
No Matches
MagicOnItemPacketListener.java
1package com.osroyale.net.packet.in;
2
3import com.osroyale.content.skill.impl.magic.spell.impl.HighAlchemy;
4import com.osroyale.content.skill.impl.magic.spell.impl.LowAlchemy;
5import com.osroyale.content.skill.impl.magic.spell.impl.SuperHeat;
6import com.osroyale.game.world.entity.mob.data.PacketType;
7import com.osroyale.game.world.entity.mob.player.Player;
8import com.osroyale.game.world.entity.mob.player.PlayerRight;
9import com.osroyale.game.world.items.Item;
10import com.osroyale.net.codec.ByteModification;
11import com.osroyale.net.packet.ClientPackets;
12import com.osroyale.net.packet.GamePacket;
13import com.osroyale.net.packet.PacketListener;
14import com.osroyale.net.packet.PacketListenerMeta;
15
21@PacketListenerMeta(ClientPackets.MAGIC_ON_ITEMS)
49
51
52 @Override
53 @SuppressWarnings("unused")
54 public void handlePacket(Player player, GamePacket packet) {
55 if (player.locking.locked(PacketType.USE_MAGIC))
56 return;
57
58 final int slot = packet.readShort();
59 final int itemId = packet.readShort(ByteModification.ADD);
60 final int childId = packet.readShort();
61 final int spell = packet.readShort(ByteModification.ADD);
62
63 if (player.positionChange) {
64 return;
65 }
66
67 final Item item = player.inventory.get(slot);
68
69 if (item == null || item.getId() != itemId) {
70 return;
71 }
72
73 if (PlayerRight.isDeveloper(player) ) {
74 player.message("[MagicOnItemPacket] spell=" + spell + " itemId=" + itemId + " slot=" + slot + " childId=" + childId);
75 }
76
77 switch (spell) {
78 case 1155: //Lvl-1 enchant sapphire
79 case 1165: //Lvl-2 enchant emerald
80 case 1176: //Lvl-3 enchant ruby
81 case 1180: //Lvl-4 enchant diamond
82 case 1187: //Lvl-5 enchant dragonstone
83 case 6003: //Lvl-6 enchant onyx
84 case 40180: //Lvl-7 enchant zenyte
85 player.spellCasting.enchantItem(itemId, spell);
86 break;
87
88 case 1162:
89 player.spellCasting.cast(new LowAlchemy(), item);
90 break;
91
92 case 1178:
93 player.spellCasting.cast(new HighAlchemy(), item);
94 break;
95
96 case 1173:
97 player.spellCasting.cast(new SuperHeat(), item);
98 break;
99 }
100 }
101}