Resolved couple special attacks issues(Whip, magic long bows, draggon daggers) (#347)

Resolved couple special attacks issues(Whip, magic long bows, draggon daggers)

I also discovered some issues about the special attack. There is no delay between the special attack and the next hit and the dragon longsword special attack doesnt work at all.
This commit is contained in:
Gptaqbc
2020-01-02 18:35:04 -05:00
committed by Daniel Ginovker
parent e3e74a6a25
commit 6b9d1d5881
3 changed files with 10 additions and 10 deletions
@@ -730,7 +730,7 @@ public class CombatAssistant {
c.lastWeaponUsed = c.playerEquipment[c.playerWeapon]; c.lastWeaponUsed = c.playerEquipment[c.playerWeapon];
c.lastArrowUsed = c.playerEquipment[c.playerArrows]; c.lastArrowUsed = c.playerEquipment[c.playerArrows];
c.getSpecials().activateSpecial( c.getSpecials().activateSpecial(
c.playerEquipment[c.playerWeapon], i); c.playerEquipment[c.playerWeapon], null, i);
return; return;
} else { } else {
c.getPacketSender() c.getPacketSender()
@@ -1175,7 +1175,7 @@ public class CombatAssistant {
if (checkSpecAmount(equippedWeapon)) { if (checkSpecAmount(equippedWeapon)) {
c.lastArrowUsed = c.playerEquipment[c.playerArrows]; c.lastArrowUsed = c.playerEquipment[c.playerArrows];
c.getSpecials().activateSpecial( c.getSpecials().activateSpecial(
c.playerEquipment[c.playerWeapon], i); c.playerEquipment[c.playerWeapon], o, i);
c.followId = c.playerIndex; c.followId = c.playerIndex;
return; return;
} else { } else {
@@ -2248,10 +2248,6 @@ public class CombatAssistant {
return false; return false;
} }
public void activateSpecial(int weapon, int i) {
c.getSpecials().activateSpecial(weapon, i);
}
public boolean checkSpecAmount(int weapon) { public boolean checkSpecAmount(int weapon) {
if (c.specAmount >= c.getSpecials().specAmount()) { if (c.specAmount >= c.getSpecials().specAmount()) {
c.specAmount -= c.getSpecials().specAmount(); c.specAmount -= c.getSpecials().specAmount();
@@ -105,8 +105,9 @@ public class Specials {
} }
} }
public void activateSpecial(int weapon, int i) { public void activateSpecial(int weapon, Client o, int i) {
int equippedWeapon = player.playerEquipment[player.playerWeapon]; int equippedWeapon = player.playerEquipment[player.playerWeapon];
if (NpcHandler.npcs[i] == null && player.npcIndex > 0 || PlayerHandler.players[player.playerIndex] == null && player.playerIndex > 0) { if (NpcHandler.npcs[i] == null && player.npcIndex > 0 || PlayerHandler.players[player.playerIndex] == null && player.playerIndex > 0) {
return; return;
} }
@@ -218,7 +219,10 @@ public class Specials {
player.hitDelay = player.getCombatAssistant().getHitDelay(); player.hitDelay = player.getCombatAssistant().getHitDelay();
player.doubleHit = SA.getDoubleHit(); player.doubleHit = SA.getDoubleHit();
} else { } else {
player.gfx0(SA.getGfx1()); if (o != null)
{
o.gfx0(SA.getGfx1());
}
player.startAnimation(SA.getAnim()); player.startAnimation(SA.getAnim());
player.specDamage = SA.getSpecDamage(); player.specDamage = SA.getSpecDamage();
player.specAccuracy = SA.getSpecAccuracy(); player.specAccuracy = SA.getSpecAccuracy();
@@ -385,7 +385,7 @@ public class CombatSounds {
public static int specialSounds(int id) { public static int specialSounds(int id) {
if (id == 4151) {// whip if (id == 4151) {// whip
return 1081; return 1081;
} else if (id == 5698 || id == 1231 || id == 1215) {// dds } else if (id == 5698 || id == 1231 || id == 1215 || id == 5680) {// dds
return 793; return 793;
} else if (id == 1434) {// Mace } else if (id == 1434) {// Mace
return 387; return 387;
@@ -399,7 +399,7 @@ public class CombatSounds {
return 1305; return 1305;
} else if (id == 1305) { // D Long } else if (id == 1305) { // D Long
return 390; return 390;
} else if (id == 861 || id == 11235) { // MSB, Darkbow } else if (id == 861 || id == 11235 || id == 859) { // MSB, Darkbow
return 386; return 386;
} else if (id == 1377) { // DBAxe } else if (id == 1377) { // DBAxe
return 389; return 389;