Files
2006Scape/2006Redone Server/src/com/rebotted/game/content/skills/agility/WildernessAgility.java
T
Gptaqbc e2cf6d2998 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
2019-12-01 19:03:29 -05:00

132 lines
4.2 KiB
Java

package com.rebotted.game.content.skills.agility;
import com.rebotted.event.CycleEvent;
import com.rebotted.event.CycleEventContainer;
import com.rebotted.event.CycleEventHandler;
import com.rebotted.game.players.Player;
public class WildernessAgility {
private final Player c;
public WildernessAgility(Player player) {
this.c = player;
}
public static final int WILDERNESS_PIPE_OBJECT = 2288,
WILDERNESS_SWING_ROPE_OBJECT = 2283,
WILDERNESS_STEPPING_STONE_OBJECT = 2311,
WILDERNESS_LOG_BALANCE_OBJECT = 2297,
WILDERNESS_ROCKS_OBJECT = 2328;
public boolean wildernessCourse(final int objectId) {
switch (objectId) {
case WILDERNESS_PIPE_OBJECT: // pipe
if (c.getAgility().checkLevel(objectId)) {
return false;
}
if ((c.absX >= 3003 && c.absX <= 3006) && (c.absY >= 3945 && c.absY <= 3954)) {
return false;
}
if (c.getAgility().hotSpot(3004, 3937)) {
c.getAgility().walk(0, 13,
c.getAgility().getAnimation(objectId), -1);
} else if ((c.absX >= 3003 && c.absX <= 3005) && (c.absY > 3937 && c.absY < 3950)) {
c.getPlayerAssistant().movePlayer(3004, 3950, 0);
}
c.getPlayerAssistant().addSkillXP(c.getAgility().getXp(objectId), c.playerAgility);
c.getAgility().resetAgilityProgress();
c.getAgility().agilityProgress[0] = true;
return true;
case WILDERNESS_SWING_ROPE_OBJECT:
if (c.getAgility().checkLevel(objectId)) {
return false;
}
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().getAnimation(objectId), -1);
if (c.getAgility().agilityProgress[0] == true) {
c.getAgility().agilityProgress[1] = true;
}
c.getPlayerAssistant().addSkillXP(c.getAgility().getXp(objectId), c.playerAgility);
CycleEventHandler.getSingleton().addEvent(c, new CycleEvent() {
@Override
public void execute(CycleEventContainer container) {
if (c.disconnected) {
container.stop();
return;
}
c.getPlayerAssistant().movePlayer(3005, 3958, 0);
container.stop();
}
@Override
public void stop() {
// TODO Auto-generated method stub
}
}, 1);
}
return true;
case WILDERNESS_STEPPING_STONE_OBJECT:
if (c.getAgility().checkLevel(objectId)) {
return false;
}
if (c.getAgility().hotSpot(3002, 3960)) {
c.getAgility().walk(-6, 0,
c.getAgility().getAnimation(objectId), -1);
} else if (c.absX > 2996 && c.absX < 3002 && c.absY == 3960) {
c.getPlayerAssistant().movePlayer(2996, 3960, 0);
}
c.getPlayerAssistant().addSkillXP(c.getAgility().getXp(objectId), c.playerAgility);
c.getAgility().steppingStone = 6;
c.getAgility().steppingStoneTimer = 2;
c.getAgility().steppingStone--;
if (c.getAgility().agilityProgress[2] == true) {
c.getAgility().agilityProgress[3] = true;
}
return true;
case WILDERNESS_LOG_BALANCE_OBJECT:
if (c.getAgility().checkLevel(objectId)) {
return false;
}
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().getAnimation(objectId), -1);
}
if (c.getAgility().agilityProgress[3] == true) {
c.getAgility().agilityProgress[5] = true;
}
c.getPlayerAssistant().addSkillXP(c.getAgility().getXp(objectId), c.playerAgility);
} else if (c.absX > 2994 && c.absX < 3002 && c.absY == 3945) {
c.getPlayerAssistant().movePlayer(2994, 3945, 0);
}
return true;
case WILDERNESS_ROCKS_OBJECT:
if (c.getAgility().checkLevel(objectId)) {
return false;
}
c.getAgility().walk(0, -4, c.getAgility().getAnimation(objectId), -1);
if (c.getAgility().agilityProgress[5] == true) {
c.getPlayerAssistant().addSkillXP(c.getAgility().getXp(objectId), c.playerAgility);
c.getAgility().lapBonus = 2400 / 30;
c.getAgility().lapFinished();
} else {
c.getPlayerAssistant().addSkillXP(c.getAgility().getXp(objectId), c.playerAgility);
}
return true;
}
return false;
}
}