Agility fixes (#224)

* Fixed stuff related to shop trading

> Refactored stuff to facilitate resolving an issue regarding sellnig item to a full shop
> Removed double value message in shop

* Fixed some stuff related to agility

-Removed a useless obstacle in wilderness course that alowed insane xp gains;
-Added some 'flexibility' to some obstacles at agility pyramid;
-Removed useless vars;
-Added proper xp to obstacles;
-Added bonus xp for completing agility pyramid
-Most likely more;

***Animations still missing: Crossing gaps and jumping gaps***

* resolve conflicts

* delete old files
This commit is contained in:
Gptaqbc
2019-12-01 19:03:29 -05:00
committed by Daniel Ginovker
parent 705f624a2b
commit e2cf6d2998
3 changed files with 607 additions and 588 deletions
@@ -267,14 +267,18 @@ public class Agility {
return 22; return 22;
case WerewolfAgility.WEREWOLF_STEPPING_STONE_OBJECT: case WerewolfAgility.WEREWOLF_STEPPING_STONE_OBJECT:
return 50; return 50;
case PyramidAgility.PYRAMID_GAP_OBJECT: case PyramidAgility.PYRAMID_GAP:
case PyramidAgility.PYRAMID_GAP_1:
case PyramidAgility.PYRAMID_GAP_2: case PyramidAgility.PYRAMID_GAP_2:
case PyramidAgility.PYRAMID_GAP_3: return 57;
case PyramidAgility.PYRAMID_GAP_4: case PyramidAgility.PYRAMID_JUMP:
case PyramidAgility.PYRAMID_GAP_5: return 22;
case PyramidAgility.LEDGE:
case PyramidAgility.LEDGE_2:
case PyramidAgility.LEDGE_3:
return 52; return 52;
case PyramidAgility.PYRAMID_PLANK_OBJECT: case PyramidAgility.PYRAMID_PLANK_OBJECT:
return 56; return 57;
case WerewolfAgility.WEREWOLF_SLING_OBJECT: case WerewolfAgility.WEREWOLF_SLING_OBJECT:
return 190; return 190;
} }
@@ -291,11 +295,10 @@ public class Agility {
case PyramidAgility.PYRAMID_WALL_OBJECT: case PyramidAgility.PYRAMID_WALL_OBJECT:
case PyramidAgility.PYRAMID_STAIRCE_OBJECT: case PyramidAgility.PYRAMID_STAIRCE_OBJECT:
case PyramidAgility.PYRAMID_PLANK_OBJECT: case PyramidAgility.PYRAMID_PLANK_OBJECT:
case PyramidAgility.PYRAMID_GAP_OBJECT: case PyramidAgility.PYRAMID_GAP:
case PyramidAgility.PYRAMID_GAP_1:
case PyramidAgility.PYRAMID_GAP_2: case PyramidAgility.PYRAMID_GAP_2:
case PyramidAgility.PYRAMID_GAP_3: case PyramidAgility.PYRAMID_JUMP:
case PyramidAgility.PYRAMID_GAP_4:
case PyramidAgility.PYRAMID_GAP_5:
case PyramidAgility.LEDGE: case PyramidAgility.LEDGE:
case PyramidAgility.LEDGE_2: case PyramidAgility.LEDGE_2:
case PyramidAgility.LEDGE_3: case PyramidAgility.LEDGE_3:
@@ -15,10 +15,11 @@ public class PyramidAgility {
public static final int PYRAMID_STAIRCE_OBJECT = 10857, public static final int PYRAMID_STAIRCE_OBJECT = 10857,
PYRAMID_WALL_OBJECT = 10865, PYRAMID_PLANK_OBJECT = 10868, PYRAMID_WALL_OBJECT = 10865, PYRAMID_PLANK_OBJECT = 10868,
PYRAMID_GAP_OBJECT = 10863, PYRAMID_GAP_2 = 10885, PYRAMID_GAP = 10884,PYRAMID_GAP_1 = 10882 ,PYRAMID_GAP_2 = 10861,
PYRAMID_GAP_3 = 10859, PYRAMID_GAP_4 = 10883, PYRAMID_JUMP = 10859, LEDGE = 10860, LEDGE_2 = 10886,
PYRAMID_GAP_5 = 10862, LEDGE = 10860, LEDGE_2 = 10886, LEDGE_3 = 10888, PYRAMID_ROCKS = 10852; // pyramid
LEDGE_3 = 10888, PYRAMID_ROCKS = 10852; // course
// objects
public boolean pyramidCourse(int objectId) { public boolean pyramidCourse(int objectId) {
switch (objectId) { switch (objectId) {
@@ -28,6 +29,7 @@ public class PyramidAgility {
} }
if (c.getAgility().hotSpot(3357, 2832) if (c.getAgility().hotSpot(3357, 2832)
|| c.getAgility().hotSpot(3356, 2832) || c.getAgility().hotSpot(3356, 2832)
|| c.getAgility().hotSpot(3354, 2830)
|| c.getAgility().hotSpot(3355, 2830) || c.getAgility().hotSpot(3355, 2830)
|| c.getAgility().hotSpot(3359, 2834) || c.getAgility().hotSpot(3359, 2834)
|| c.getAgility().hotSpot(3358, 2834) || c.getAgility().hotSpot(3358, 2834)
@@ -40,7 +42,10 @@ public class PyramidAgility {
} else if (c.heightLevel == 2) { } else if (c.heightLevel == 2) {
c.getAgility().climbUp(c.getX(), c.getY() + 3, 3); c.getAgility().climbUp(c.getX(), c.getY() + 3, 3);
} else { } else {
c.getAgility().climbUp(c.getX(), c.getY() - 8, 0); c.getAgility().climbUp(c.getX() + 3, c.getY() - 6, 0);
c.getAgility().agilityProgress[5] = true;
c.getAgility().lapBonus = 30 + c.playerLevel[c.playerAgility] * 8;
c.getAgility().lapFinished();
c.getPacketSender() c.getPacketSender()
.sendMessage( .sendMessage(
"Congratulations you completed the pyramid course!"); "Congratulations you completed the pyramid course!");
@@ -56,12 +61,13 @@ public class PyramidAgility {
c.getAgility().walk(-6, 0, c.getAgility().walk(-6, 0,
c.getAgility().getAnimation(objectId), -1); c.getAgility().getAnimation(objectId), -1);
c.getPacketSender().sendMessage( c.getPacketSender().sendMessage(
"You leave the agility pyramid"); "You leave the agility pyramid.");
} else if (c.absX == 3343) { } else if (c.absX == 3343) {
c.getAgility() //Problem: Animation isn't working properly. Solution: Replaced it by forced move. Looks smooth.
.walk(6, 0, c.getAgility().getAnimation(3043), -1); //c.getAgility().walk(6, 0, c.getAgility().getAnimation(1603), -1);
c.getPlayerAssistant().movePlayer(3349, c.absY, 0);
c.getPacketSender().sendMessage( c.getPacketSender().sendMessage(
"You enter the agility pyramid"); "You enter the agility pyramid.");
} }
return true; return true;
@@ -84,6 +90,7 @@ public class PyramidAgility {
c.getAgility().walk(0, 5, c.getAgility().walk(0, 5,
c.getAgility().getAnimation(objectId), -1); c.getAgility().getAnimation(objectId), -1);
} }
c.getPlayerAssistant().addSkillXP(c.getAgility().getXp(objectId), c.playerAgility);
return true; return true;
case PyramidAgility.PYRAMID_WALL_OBJECT: case PyramidAgility.PYRAMID_WALL_OBJECT:
@@ -113,11 +120,10 @@ public class PyramidAgility {
} }
return true; return true;
case PYRAMID_GAP_OBJECT: case PYRAMID_GAP:
case PYRAMID_GAP_1:
case PYRAMID_GAP_2: case PYRAMID_GAP_2:
case PYRAMID_GAP_3: case PYRAMID_JUMP:
case PYRAMID_GAP_4:
case PYRAMID_GAP_5:
if (c.getAgility().checkLevel(objectId)) { if (c.getAgility().checkLevel(objectId)) {
return false; return false;
} }
@@ -142,12 +148,11 @@ public class PyramidAgility {
} }
}, 1); }, 1);
} }
if (c.getAgility().hotSpot(3372, 2832) if (c.getAgility().hotSpot(3372, 2832) || c.getAgility().hotSpot(3372, 2831)) {
|| c.getAgility().hotSpot(3372, 2831)) {
c.getAgility().walk(-1, 0, c.getAgility().walk(-1, 0,
c.getAgility().getAnimation(objectId), -1); c.getAgility().getAnimation(1603), -1);
c.getPlayerAssistant().addSkillXP( c.getPlayerAssistant().addSkillXP(c.getAgility().getXp(objectId), c.playerAgility);
c.getAgility().getXp(objectId), c.playerAgility);
CycleEventHandler.getSingleton().addEvent(c, new CycleEvent() { CycleEventHandler.getSingleton().addEvent(c, new CycleEvent() {
@Override @Override
public void execute(CycleEventContainer container) { public void execute(CycleEventContainer container) {
@@ -155,8 +160,7 @@ public class PyramidAgility {
container.stop(); container.stop();
return; return;
} }
c.getPlayerAssistant().movePlayer(3367, c.absY, 1);// was c.getPlayerAssistant().movePlayer(3367, c.absY, 1);
// 2832
container.stop(); container.stop();
} }
@Override @Override
@@ -186,7 +190,7 @@ public class PyramidAgility {
} }
}, 1); }, 1);
} }
if (c.getAgility().hotSpot(3357, 2836)) { if (c.getAgility().hotSpot(3357, 2836) || c.getAgility().hotSpot(3356, 2836)) {
c.getAgility().walk(0, 5, c.getAgility().walk(0, 5,
c.getAgility().getAnimation(objectId), -1); c.getAgility().getAnimation(objectId), -1);
c.getPlayerAssistant().addSkillXP( c.getPlayerAssistant().addSkillXP(
@@ -198,7 +202,7 @@ public class PyramidAgility {
container.stop(); container.stop();
return; return;
} }
c.getPlayerAssistant().movePlayer(3357, 2841, 2); c.getPlayerAssistant().movePlayer(c.absX, 2841, 2);
container.stop(); container.stop();
} }
@Override @Override
@@ -207,7 +211,7 @@ public class PyramidAgility {
} }
}, 1); }, 1);
} }
if (c.getAgility().hotSpot(3357, 2846)) { if (c.getAgility().hotSpot(3357, 2846) || c.getAgility().hotSpot(3356, 2846)) {
c.getAgility().walk(0, 3, c.getAgility().walk(0, 3,
c.getAgility().getAnimation(objectId), -1); c.getAgility().getAnimation(objectId), -1);
c.getPlayerAssistant().addSkillXP( c.getPlayerAssistant().addSkillXP(
@@ -219,7 +223,7 @@ public class PyramidAgility {
container.stop(); container.stop();
return; return;
} }
c.getPlayerAssistant().movePlayer(3357, 2849, 2); c.getPlayerAssistant().movePlayer(c.absX, 2849, 2);
container.stop(); container.stop();
} }
@Override @Override
@@ -250,9 +254,9 @@ public class PyramidAgility {
} }
}, 1); }, 1);
} }
if (c.getAgility().hotSpot(3366, 2834)) { if (c.getAgility().hotSpot(3366, 2834) || c.getAgility().hotSpot(3366, 2833)) {
c.getAgility().walk(-1, 0, c.getAgility().walk(0, 0,
c.getAgility().getAnimation(objectId), -1); c.getAgility().getAnimation(10859), -1);
c.getPlayerAssistant().addSkillXP( c.getPlayerAssistant().addSkillXP(
c.getAgility().getXp(objectId), c.playerAgility); c.getAgility().getXp(objectId), c.playerAgility);
CycleEventHandler.getSingleton().addEvent(c, new CycleEvent() { CycleEventHandler.getSingleton().addEvent(c, new CycleEvent() {
@@ -262,7 +266,7 @@ public class PyramidAgility {
container.stop(); container.stop();
return; return;
} }
c.getPlayerAssistant().movePlayer(3363, 2834, 2); c.getPlayerAssistant().movePlayer(3363, c.absY, 2);
container.stop(); container.stop();
} }
@Override @Override
@@ -292,7 +296,7 @@ public class PyramidAgility {
} }
}, 1); }, 1);
} }
if (c.getAgility().hotSpot(3370, 2843)) { if (c.getAgility().hotSpot(3370, 2843) || c.getAgility().hotSpot(3371, 2843)) {
c.getAgility().walk(0, -1, c.getAgility().walk(0, -1,
c.getAgility().getAnimation(objectId), -1); c.getAgility().getAnimation(objectId), -1);
c.getPlayerAssistant().addSkillXP( c.getPlayerAssistant().addSkillXP(
@@ -304,7 +308,7 @@ public class PyramidAgility {
container.stop(); container.stop();
return; return;
} }
c.getPlayerAssistant().movePlayer(3370, 2838, 3); c.getPlayerAssistant().movePlayer(c.absX, 2840, 3);
container.stop(); container.stop();
} }
@Override @Override
@@ -340,15 +344,15 @@ public class PyramidAgility {
if (c.getAgility().checkLevel(objectId)) { if (c.getAgility().checkLevel(objectId)) {
return false; return false;
} }
if (c.getAgility().hotSpot(3375, 2845)) { if (c.getAgility().hotSpot(3375, 2845) || c.getAgility().hotSpot(3375, 2846)) {
c.getAgility().walk(0, -6, c.getAgility().walk(0, -6,
c.getAgility().getAnimation(objectId), -1); c.getAgility().getAnimation(2295), -1);
c.getPlayerAssistant().addSkillXP( c.getPlayerAssistant().addSkillXP(
c.getAgility().getXp(objectId), c.playerAgility); c.getAgility().getXp(objectId), c.playerAgility);
} }
if (c.getAgility().hotSpot(3370, 2835)) { if (c.getAgility().hotSpot(3370, 2835) || c.getAgility().hotSpot(3371, 2835)) {
c.getAgility().walk(-6, 0, c.getAgility().walk(-6, 0,
c.getAgility().getAnimation(objectId), -1); c.getAgility().getAnimation(2295), -1);
c.getPlayerAssistant().addSkillXP( c.getPlayerAssistant().addSkillXP(
c.getAgility().getXp(objectId), c.playerAgility); c.getAgility().getXp(objectId), c.playerAgility);
} }
@@ -25,10 +25,14 @@ public class WildernessAgility {
if (c.getAgility().checkLevel(objectId)) { if (c.getAgility().checkLevel(objectId)) {
return false; return false;
} }
if ((c.absX >= 3003 && c.absX <= 3006) && (c.absY >= 3945 && c.absY <= 3954)) {
return false;
}
if (c.getAgility().hotSpot(3004, 3937)) { if (c.getAgility().hotSpot(3004, 3937)) {
c.getAgility().walk(0, 13, c.getAgility().walk(0, 13,
c.getAgility().getAnimation(objectId), 748); c.getAgility().getAnimation(objectId), -1);
} else if (c.absX == 3004 && c.absY > 3937 && c.absY < 3950) { } else if ((c.absX >= 3003 && c.absX <= 3005) && (c.absY > 3937 && c.absY < 3950)) {
c.getPlayerAssistant().movePlayer(3004, 3950, 0); c.getPlayerAssistant().movePlayer(3004, 3950, 0);
} }
c.getPlayerAssistant().addSkillXP(c.getAgility().getXp(objectId), c.playerAgility); c.getPlayerAssistant().addSkillXP(c.getAgility().getXp(objectId), c.playerAgility);
@@ -39,7 +43,7 @@ public class WildernessAgility {
if (c.getAgility().checkLevel(objectId)) { if (c.getAgility().checkLevel(objectId)) {
return false; return false;
} }
if (c.getAgility().hotSpot(3005, 3953)) { if (c.getAgility().hotSpot(3005, 3953) || ((c.absX >= 3004 && c.absX <= 3006) && (c.absY > 3950 && c.absY < 3953))) {
c.getAgility().walk(0, 1, c.getAgility().walk(0, 1,
c.getAgility().getAnimation(objectId), -1); c.getAgility().getAnimation(objectId), -1);
if (c.getAgility().agilityProgress[0] == true) { if (c.getAgility().agilityProgress[0] == true) {
@@ -87,9 +91,17 @@ public class WildernessAgility {
if (c.getAgility().checkLevel(objectId)) { if (c.getAgility().checkLevel(objectId)) {
return false; return false;
} }
if (c.getAgility().hotSpot(3002, 3945)) { if (c.getAgility().hotSpot(3002, 3945) || ((c.absX >= 3001 && c.absX <= 3002) && (c.absY >= 3944 && c.absY <= 3946))) {
if (c.absY != 3945)
{
c.getPlayerAssistant().movePlayer(2994, ((3945 - c.absY) + c.absY), 0);
}
else
{
c.getAgility().walk(-8, 0, c.getAgility().walk(-8, 0,
c.getAgility().getAnimation(objectId), -1); c.getAgility().getAnimation(objectId), -1);
}
if (c.getAgility().agilityProgress[3] == true) { if (c.getAgility().agilityProgress[3] == true) {
c.getAgility().agilityProgress[5] = true; c.getAgility().agilityProgress[5] = true;
} }