Projectile clipping, PassDoor fix (#176)

* Numbered packet sizes.
Corrected sound packet length to 6 from 5.
Corrected sound packet in server.
Teleport sound now plays correctly.
Corrected modern teleport animation playthrough.
Removed redundant teleport delay.

* Changed sendSound packet size back to 5 and removed type attribute to maintain compatibility with Parabot.

* After running around an object to attack the player will no longer wait a number of ticks to start attacking again.
Fixed an issue where walkTo being called from CycleEvents would not execute correctly.
Player will no longer face a killed npc after it respawns.
Added projectile clipping.
Added a new algorithm for player->player/npc following that accounts for projectile clipping.
This commit is contained in:
mikeysasse
2019-11-11 14:20:02 -06:00
committed by Daniel Ginovker
parent a4e4b89d99
commit c827d46ca0
66 changed files with 1293 additions and 480 deletions
+6 -2
View File
@@ -9774,8 +9774,10 @@ public class Game extends RSApplet {
int j13 = stream.readUnsignedByte();
int k15 = anInt1268 + (j13 >> 4 & 7);
int l16 = anInt1269 + (j13 & 7);
if (k15 >= 0 && l16 >= 0 && k15 < 104 && l16 < 104)
if (k15 >= 0 && l16 >= 0 && k15 < 104 && l16 < 104) {
method130(-1, -1, j8, i11, l16, k5, plane, k15, 0);
}
return;
}
if (j == 151) {
@@ -9787,6 +9789,7 @@ public class Game extends RSApplet {
int i15 = k12 >> 2;
int k16 = k12 & 3;
int l17 = anIntArray1177[i15];
//System.out.println("id: " + j10 + " x:" + (this.baseX + anInt1268) + " y:" + (this.baseY + anInt1269));
if (l4 >= 0 && k7 >= 0 && l4 < 104 && k7 < 104)
method130(-1, j10, k16, l17, k7, i15, plane, l4, 0);
return;
@@ -10645,7 +10648,7 @@ public class Game extends RSApplet {
}
if (pktType == 174) {
int id = inStream.readUnsignedWord();
int type = inStream.readUnsignedByte();
int type = /*inStream.readUnsignedByte()*/1;
int delay = inStream.readUnsignedWord();
int volume = inStream.readUnsignedByte();
sound[currentSound] = id;
@@ -11420,6 +11423,7 @@ public class Game extends RSApplet {
Signlink.reporterror(s2);
resetLogout();
exception.printStackTrace();
}
return true;
}