mirror of
https://github.com/2006-Scape/2006Scape.git
synced 2026-07-03 08:39:04 +00:00
187 lines
5.8 KiB
Java
187 lines
5.8 KiB
Java
package redone.game.content.guilds;
|
|
|
|
import redone.Constants;
|
|
import redone.game.content.quests.QuestAssistant;
|
|
import redone.game.globalworldobjects.PassDoor;
|
|
import redone.game.objects.impl.Climbing;
|
|
import redone.game.objects.impl.UseOther;
|
|
import redone.game.players.Client;
|
|
|
|
/**
|
|
* Guilds Class
|
|
* @author Andrew (I'm A Boss on Rune-Server, Mr Extremez on Moparscape & Runelocus)
|
|
*/
|
|
|
|
public class Guilds {
|
|
|
|
private static boolean hasCompletedLegends = false;
|
|
|
|
public static void attemptGuild(Client c, int objectId) {
|
|
if (!Constants.GUILDS) {
|
|
c.getActionSender().sendMessage("Guilds are currently disabled.");
|
|
return;
|
|
}
|
|
if (checkRequirments(c, objectId)) {
|
|
c.getActionSender().sendMessage("You pass through the guild.");
|
|
movePlayer(c, objectId);
|
|
}
|
|
}
|
|
|
|
public static void movePlayer(Client c, int objectId) {
|
|
switch (objectId) {
|
|
case 2514: // Range Guild
|
|
if (c.absX == 2659 && c.absY == 3438) {
|
|
PassDoor.passThroughDoor(c, objectId, 1, 2, 9, -1, 1, 0);
|
|
} else if (c.absX == 2658 && c.absY == 3437) {
|
|
PassDoor.passThroughDoor(c, objectId, 1, 2, 9, -1, 1, 0);
|
|
} else if (c.absX == 2658 && c.absY == 3439) {
|
|
PassDoor.passThroughDoor(c, objectId, 1, 2, 9, 1, -1, 0);
|
|
} else if (c.absX == 2657 && c.absY == 3438) {
|
|
PassDoor.passThroughDoor(c, objectId, 1, 2, 9, 1, -1, 0);
|
|
}
|
|
break;
|
|
case 1805: // Champions Guild
|
|
if (c.absY == 3362 && c.absX != 3192 && c.absX != 3190) {
|
|
c.getPlayerAssistant().movePlayer(c.absX, c.absY + 1, 0);
|
|
} else if (c.absY == 3363 && c.absX != 3192 && c.absX != 3190) {
|
|
c.getPlayerAssistant().movePlayer(c.absX, c.absY - 1, 0);
|
|
}
|
|
break;
|
|
case 2641: // Monastery
|
|
if (c.heightLevel == 0) {
|
|
Climbing.climbUp(c);
|
|
} else if (c.heightLevel == 1) {
|
|
Climbing.climbDown(c);
|
|
}
|
|
break;
|
|
case 2712: // Cooks Guild
|
|
if (c.absY == 3443) {
|
|
c.getPlayerAssistant().movePlayer(c.absX, c.absY + 1, 0);
|
|
} else if (c.absY == 3444) {
|
|
c.getPlayerAssistant().movePlayer(c.absX, c.absY - 1, 0);
|
|
}
|
|
break;
|
|
case 2647: // Crafting Guild
|
|
if (c.absY == 3289) {
|
|
c.getPlayerAssistant().movePlayer(c.absX, c.absY - 1, 0);
|
|
} else if (c.absY == 3288) {
|
|
c.getPlayerAssistant().movePlayer(c.absX, c.absY + 1, 0);
|
|
}
|
|
break;
|
|
case 2113: // Mining Guild
|
|
UseOther.useDown(c, objectId);
|
|
break;
|
|
case 1755: // Mining Guild
|
|
UseOther.useUp(c, objectId);
|
|
break;
|
|
case 2025: // Fishing Guild
|
|
if (c.absY == 3393) {
|
|
c.getPlayerAssistant().movePlayer(c.absX, c.absY + 1, 0);
|
|
} else if (c.absY == 3394) {
|
|
c.getPlayerAssistant().movePlayer(c.absX, c.absY - 1, 0);
|
|
}
|
|
break;
|
|
case 1600: // Wizards Guild
|
|
case 1601:
|
|
if (c.absX == 2597) {
|
|
c.getPlayerAssistant().movePlayer(c.absX - 1, c.absY, 0);
|
|
} else if (c.absX == 2596) {
|
|
c.getPlayerAssistant().movePlayer(c.absX + 1, c.absY, 0);
|
|
}
|
|
break;
|
|
case 2624: // Heroes Guild
|
|
case 2625:
|
|
if (c.absX == 2902) {
|
|
c.getPlayerAssistant().movePlayer(c.absX - 1, c.absY, 0);
|
|
} else if (c.absX == 2901) {
|
|
c.getPlayerAssistant().movePlayer(c.absX + 1, c.absY, 0);
|
|
}
|
|
break;
|
|
case 2392: // Legends Guild
|
|
case 2391:
|
|
if (c.absY == 3349) {
|
|
c.getPlayerAssistant().movePlayer(c.absX, c.absY + 1, 0);
|
|
} else if (c.absY == 3350) {
|
|
c.getPlayerAssistant().movePlayer(c.absX, c.absY - 1, 0);
|
|
}
|
|
break;
|
|
default:
|
|
c.getActionSender().sendMessage(
|
|
"You can't access this guild from here.");
|
|
break;
|
|
}
|
|
}
|
|
|
|
public static boolean checkRequirments(Client c, int objectId) {
|
|
switch (objectId) {
|
|
case 1805: // Champions Guild
|
|
int requiredQP = Math.min(32, QuestAssistant.MAXIMUM_QUESTPOINTS);
|
|
if (c.questPoints < requiredQP) {
|
|
c.getDialogueHandler().sendStatement("You need " + requiredQP + " quest points to enter this guild!");
|
|
c.nextChat = 0;
|
|
return false;
|
|
}
|
|
break;
|
|
case 2392:
|
|
case 2391:
|
|
if (hasCompletedLegends == false && c.playerRights < 3) {
|
|
c.getDialogueHandler().sendStatement("You need to complete Legends Quest to enter this guild!");
|
|
c.nextChat = 0;
|
|
return false;
|
|
}
|
|
break;
|
|
case 2641: // Prayer Guild
|
|
if (c.getPlayerAssistant().getLevelForXP(c.playerXP[5]) < 31) {
|
|
c.getDialogueHandler().sendStatement("You need 31 prayer to enter this guild!");
|
|
c.nextChat = 0;
|
|
return false;
|
|
}
|
|
break;
|
|
case 2712: // Cooking Guild
|
|
if (c.playerLevel[c.playerCooking] < 32 || c.playerEquipment[c.playerHat] != 1949) {
|
|
c.getDialogueHandler().sendStatement("You need 32 cooking and a chefs hat to enter this guild!");
|
|
c.nextChat = 0;
|
|
return false;
|
|
}
|
|
break;
|
|
case 2647: // Crafting Guild
|
|
if (c.playerLevel[c.playerCrafting] < 40 || c.playerEquipment[c.playerChest] != 1757) {
|
|
c.getDialogueHandler().sendStatement("You need 40 Crafting and a Brown Apron to enter this guild!");
|
|
c.nextChat = 0;
|
|
return false;
|
|
}
|
|
break;
|
|
case 2113: // Mining Guild
|
|
if (c.playerLevel[c.playerMining] < 60) {
|
|
c.getDialogueHandler().sendStatement("You need 60 Mining to enter this guild!");
|
|
c.nextChat = 0;
|
|
return false;
|
|
}
|
|
break;
|
|
case 2025: // Fishing Guild
|
|
if (c.playerLevel[c.playerFishing] < 68) {
|
|
c.getDialogueHandler().sendStatement("You need 68 Fishing to enter this guild!");
|
|
c.nextChat = 0;
|
|
return false;
|
|
}
|
|
break;
|
|
case 1600:
|
|
case 1601: // Wizards Guild
|
|
if (c.playerLevel[c.playerMagic] < 66) {
|
|
c.getDialogueHandler().sendStatement("You need 66 Magic to enter this guild!");
|
|
c.nextChat = 0;
|
|
return false;
|
|
}
|
|
break;
|
|
case 2514:
|
|
if (c.playerLevel[c.playerRanged] < 40) { // Ranging Guild
|
|
c.getDialogueHandler().sendStatement("You need 40 Range to enter this guild!");
|
|
c.nextChat = 0;
|
|
return false;
|
|
}
|
|
break;
|
|
}
|
|
return true;
|
|
}
|
|
}
|