package com.rs.game.player.content;
import com.rs.game.Graphics;
import com.rs.game.World;
import com.rs.game.WorldObject;
import com.rs.game.WorldTile;
import com.rs.game.player.Player;
import com.rs.game.player.actions.HomeTeleport;
/**
* @author _Jordan / Apollo <
[email protected]>
* @edited and completed by legitkx <legitkx on rune-server>
*
*/
public class LodeStones {
// Config - Object
/**
* Handles the interface of the lodestone network. Checks if the player is
* able to teleport to the selected lodestone.
*
* @param player
* @param componentId
*/
public static void handleButtons(final Player player, int componentId) {
player.stopAll();
WorldTile stoneTile = null;
switch (componentId) {
case 47: // Lumbridge is auto unlocked.
stoneTile = HomeTeleport.LUMBRIDGE_LODE_STONE;
break;
case 7:
if (player.activatedBandit == false) {
player.getPackets().sendGameMessage(
"You must unlock this lodestone to use it.");
return;
}
stoneTile = HomeTeleport.BANDIT_CAMP_LODE_STONE;
break;
case 39:
if (player.activatedLunarIsle == false) {
player.getPackets().sendGameMessage(
"You must unlock this lodestone to use it.");
return;
}
stoneTile = HomeTeleport.LUNAR_ISLE_LODE_STONE;
break;
case 40:
if (player.activatedAlKharid == false) {
player.getPackets().sendGameMessage(
"You must unlock this lodestone to use it.");
return;
}
stoneTile = HomeTeleport.ALKARID_LODE_STONE;
break;
case 41:
if (player.activatedArdougne == false) {
player.getPackets().sendGameMessage(
"You must unlock this lodestone to use it.");
return;
}
stoneTile = HomeTeleport.ARDOUGNE_LODE_STONE;
break;
case 42:
if (player.activatedBurthorpe == false) {
player.getPackets().sendGameMessage(
"You must unlock this lodestone to use it.");
return;
}
stoneTile = HomeTeleport.BURTHORPE_LODE_STONE;
break;
case 43:
if (player.activatedCatherby == false) {
player.getPackets().sendGameMessage(
"You must unlock this lodestone to use it.");
return;
}
stoneTile = HomeTeleport.CATHERBAY_LODE_STONE;
break;
case 44:
if (player.activatedDraynor == false) {
player.getPackets().sendGameMessage(
"You must unlock this lodestone to use it.");
return;
}
stoneTile = HomeTeleport.DRAYNOR_VILLAGE_LODE_STONE;
break;
case 45:
if (player.activatedEdgeville == false) {
player.getPackets().sendGameMessage(
"You must unlock this lodestone to use it.");
return;
}
stoneTile = HomeTeleport.EDGEVILLE_LODE_STONE;
break;
case 46:
if (player.activatedFalador == false) {
player.getPackets().sendGameMessage(
"You must unlock this lodestone to use it.");
return;
}
stoneTile = HomeTeleport.FALADOR_LODE_STONE;
break;
case 48:
if (player.activatedPortSarim == false) {
player.getPackets().sendGameMessage(
"You must unlock this lodestone to use it.");
return;
}
stoneTile = HomeTeleport.PORT_SARIM_LODE_STONE;
break;
case 49:
if (player.activatedSeers == false) {
player.getPackets().sendGameMessage(
"You must unlock this lodestone to use it.");
return;
}
stoneTile = HomeTeleport.SEERS_VILLAGE_LODE_STONE;
break;
case 50:
if (player.activatedTaverly == false) {
player.getPackets().sendGameMessage(
"You must unlock this lodestone to use it.");
return;
}
stoneTile = HomeTeleport.TAVERLY_LODE_STONE;
break;
case 51:
if (player.activatedVarrock == false) {
player.getPackets().sendGameMessage(
"You must unlock this lodestone to use it.");
return;
}
stoneTile = HomeTeleport.VARROCK_LODE_STONE;
break;
case 52:
if (player.activatedYanille == false) {
player.getPackets().sendGameMessage(
"You must unlock this lodestone to use it.");
return;
}
stoneTile = HomeTeleport.YANILLE_LODE_STONE;
break;
}
if (stoneTile != null) {
player.getActionManager().setAction(new HomeTeleport(stoneTile));
}
}
/**
* Checks the object id then sends the necessary config. Activates the
* lodestone for the player.
*
* @param player
* @param object
*/
public static void activateLodestone(final Player player, WorldObject object) {
if (object.getId() == 69827) {
sendReward(player);
player.getPackets().sendConfigByFile(358, 15);
player.getPackets().sendGraphics(new Graphics(3019), object);
player.activatedBandit = true;
} else if (object.getId() == 69828) {
sendReward(player);
player.getPackets().sendConfigByFile(2448, 190);
player.getPackets().sendGraphics(new Graphics(3019), object);
player.activatedLunarIsle = true;
} else if (object.getId() == 69829) {
sendReward(player);
player.getPackets().sendConfigByFile(10900, 1);
player.getPackets().sendGraphics(new Graphics(3019), object);
player.activatedAlKharid = true;
} else if (object.getId() == 69830) {
sendReward(player);
player.getPackets().sendConfigByFile(10901, 1);
player.getPackets().sendGraphics(new Graphics(3019), object);
player.activatedArdougne = true;
} else if (object.getId() == 69831) {
sendReward(player);
player.getPackets().sendConfigByFile(10902, 1);
player.getPackets().sendGraphics(new Graphics(3019), object);
player.activatedBurthorpe = true;
} else if (object.getId() == 69832) {
sendReward(player);
player.getPackets().sendConfigByFile(10903, 1);
player.getPackets().sendGraphics(new Graphics(3019), object);
player.activatedCatherby = true;
} else if (object.getId() == 69833) {
sendReward(player);
player.getPackets().sendConfigByFile(10904, 1);
player.getPackets().sendGraphics(new Graphics(3019), object);
player.activatedDraynor = true;
} else if (object.getId() == 69834) {
sendReward(player);
player.getPackets().sendConfigByFile(10905, 1);
player.getPackets().sendGraphics(new Graphics(3019), object);
player.activatedEdgeville = true;
} else if (object.getId() == 69835) {
sendReward(player);
player.getPackets().sendConfigByFile(10906, 1);
player.getPackets().sendGraphics(new Graphics(3019), object);
player.activatedFalador = true;
} else if (object.getId() == 69837) {
sendReward(player);
player.getPackets().sendConfigByFile(10908, 1);
player.getPackets().sendGraphics(new Graphics(3019), object);
player.activatedPortSarim = true;
} else if (object.getId() == 69838) {
sendReward(player);
player.getPackets().sendConfigByFile(10909, 1);
player.getPackets().sendGraphics(new Graphics(3019), object);
player.activatedSeers = true;
} else if (object.getId() == 69839) {
sendReward(player);
player.getPackets().sendConfigByFile(10910, 1);
player.getPackets().sendGraphics(new Graphics(3019), object);
player.activatedTaverly = true;
} else if (object.getId() == 69840) {
sendReward(player);
player.getPackets().sendConfigByFile(10911, 1);
player.getPackets().sendGraphics(new Graphics(3019), object);
player.activatedVarrock = true;
} else if (object.getId() == 69841) {
sendReward(player);
player.getPackets().sendConfigByFile(10912, 1);
player.getPackets().sendGraphics(new Graphics(3019), object);
player.activatedYanille = true;
}
}
/**
* Sends the player their reward for activating the lodestone.
*
* @param player
*/
public static void sendReward(final Player player) {
player.getPouch().handleMoneyPouch(true, false, false, 0, 375);
}
/**
* Checks if the player has unlocked the lodestone during login.
*
* @param player
*/
public static void checkActivation(final Player player) {
// Lumbridge is auto unlocked.
player.getPackets().sendConfigByFile(10907, 1);
if (player.activatedBandit == true) {
player.getPackets().sendConfigByFile(358, 15);
}
if (player.activatedLunarIsle == true) {
player.getPackets().sendConfigByFile(2448, 190);
}
if (player.activatedAlKharid == true) {
player.getPackets().sendConfigByFile(10900, 1);
}
if (player.activatedArdougne == true) {
player.getPackets().sendConfigByFile(10901, 1);
}
if (player.activatedBurthorpe == true) {
player.getPackets().sendConfigByFile(10902, 1);
}
if (player.activatedCatherby == true) {
player.getPackets().sendConfigByFile(10903, 1);
}
if (player.activatedDraynor == true) {
player.getPackets().sendConfigByFile(10904, 1);
}
if (player.activatedEdgeville == true) {
player.getPackets().sendConfigByFile(10905, 1);
}
if (player.activatedFalador == true) {
player.getPackets().sendConfigByFile(10906, 1);
}
if (player.activatedPortSarim == true) {
player.getPackets().sendConfigByFile(10908, 1);
}
if (player.activatedSeers == true) {
player.getPackets().sendConfigByFile(10909, 1);
}
if (player.activatedTaverly == true) {
player.getPackets().sendConfigByFile(10910, 1);
}
if (player.activatedVarrock == true) {
player.getPackets().sendConfigByFile(10911, 1);
}
if (player.activatedYanille == true) {
player.getPackets().sendConfigByFile(10912, 1);
}
}
}