Jump to content
Existing user? Sign In

Sign In



Sign Up
Search In
  • More options...
Find results that contain...
Find results in...

Adding wilderness slayer


gvs
 Share

Recommended Posts

In Slayer.java add this to the top of method public void handleSlayerTaskDeath(boolean giveXp)

if(slayerTask.getTaskMaster() == SlayerMaster.KRYSTILIA)
  if(player.getLocation() != Location.WILDERNESS)
{
  player.getPacketSender().sendMessage("You must be in the wilderness to obtain credit for Krystilia's slayer tasks.");
  return;
}

 

In SlayerDialogues.java add Krystilia to method public static Dialogue totalPointsReceived(final Player player)

  @Override
  public String[] dialogue() {
  int pointsReceived = 0;

  if(player.getSlayer().getSlayerMaster() == SlayerMaster.DURADEL)
    pointsReceived = 5;
  else if(player.getSlayer().getSlayerMaster() == SlayerMaster.KURADEL)
    pointsReceived = 15;
  else if(player.getSlayer().getSlayerMaster() == SlayerMaster.SUMONA)
    pointsReceived = 20;
  else if(player.getSlayer().getSlayerMaster() == SlayerMaster.KRYSTILIA)
    pointsReceived = 30;


  int per5 = pointsReceived * 3;
  int per10 = pointsReceived * 5;
  return new String[] {
    "You currently receive "+pointsReceived+" points per task,",
    ""+per5+" bonus points per 5 task-streak and",
    ""+per10+" bonus points per 10 task-streak."
    };
}

 

In enum SlayerTasks you can start to add the monsters that should be assigned by Krystilia underneath the elite tasks

	//Elite
	GENERAL_GRAARDOR(SlayerMaster.SUMONA, 6260, "General Graardor can be found in the Godwars Dungeon.", 15000, new Position(2863, 5354, 2)),
	TORMENTED_DEMON(SlayerMaster.SUMONA, 8349, "Tormented Demons can be found using the Boss teleport.", 12000, new Position(2602, 5713)),
	KING_BLACK_DRAGON(SlayerMaster.SUMONA, 50, "The King Black Dragon can be found using the Boss teleport.", 15000, new Position(2273, 4680, 1)),
	DAGANNOTH_SUPREME(SlayerMaster.SUMONA, 2881, "The Dagannoth Kings can be found using the Boss teleport.", 15000, new Position(1908, 4367)),
	DAGANNOTH_REX(SlayerMaster.SUMONA, 2883, "The Dagannoth Kings can be found using the Boss teleport.", 15000, new Position(1908, 4367)),
	DAGANNOTH_PRIME(SlayerMaster.SUMONA, 2882, "The Dagannoth Kings can be found using the Boss teleport.", 15000, new Position(1908, 4367)),
	CHAOS_ELEMENTAL(SlayerMaster.SUMONA, 3200, "The Chaos Elemental can be found using the Boss teleport.", 15000, new Position(3285, 3921)),
	SLASH_BASH(SlayerMaster.SUMONA, 2060, "Slash Bash can be found using the Boss teleport.", 15000, new Position(2547, 9448)),
	KALPHITE_QUEEN(SlayerMaster.SUMONA, 1160, "The Kalphite Queen can be found using the Boss teleport.", 15000, new Position(3476, 9502)),
	PHOENIX(SlayerMaster.SUMONA, 8549, "The Phoenix can be found using the Boss teleport.", 15000, new Position(2839, 9557)),
	BANDOS_AVATAR(SlayerMaster.SUMONA, 4540, "The Bandos Avatar can be found using the Boss teleport.", 30000, new Position(2891, 4767)),
	CERBERUS(SlayerMaster.SUMONA, 1999, "Cerberus can be found using the Boss teleport.", 15000, new Position(1240, 1240)),
	ABYSSAL_SIRE(SlayerMaster.SUMONA, 5886, "Abyssal Sire can be found using the Boss teleport.", 15000, new Position(3036, 3677)),


	//Wilderness
	GREEN_DRAGON(SlayerMaster.KRYSTILIA, 941, "Green Dragons can be found in western Wilderness.", 2500, new Position(2977, 3615)),
	ICE_GIANT(SlayerMaster.KRYSTILIA, 111, "Can be found in the Ice plateau.", 2000, new Position(3036, 3677)),
	ICE_WARRIOR(SlayerMaster.KRYSTILIA, 125, "Can be found in the Ice plateau.", 2000, new Position(3036, 3677));

 

Now you need an npc named Krystilia. In the client now, In class NPCdef add this to the list of cases in switch (i)

		case 2005:
			npc.name = "Krystilia";
			npc.actions = new String[]{"Talk-to", null, "Get-task", "Trade", "Rewards"};
		break;

 

In dialogues.json replace id 62 with

    {
        "id": 62,
        "type": "OPTION",
        "lines": 5,
        "line1": "Vannaka (No requirement)",
        "line2": "Duradel (Level 50 Slayer Required)",
        "line3": "Kuradel (Level 80 Slayer Required)",
        "line4": "Sumona (Level 92 Slayer Required) (Boss tasks only)",
        "line5": "Krystilia (No requirement, Wilderness only)",
        "next": -1,
        "npcId": -1
    },

 

In class NPCOptionPacketListener:

The followiing 4 methods need Krystilia's id added to switch(npc.getId());

So for each add case 2005:

private static void firstClick(Player player, Packet packet) {

public void handleSecondClick(Player player, Packet packet) {

public void handleThirdClick(Player player, Packet packet) {

public void handleFourthClick(Player player, Packet packet) {
				case 1597:
				case 9085:
				case 8275:
				case 7780:
				case 2005:

 

Lastly, go to enum SlayerMaster and Krystilia to the list of other masters

	VANNAKA(1, 1597, new Position(3145, 9912)),
	DURADEL(50, 8275, new Position(2787, 3064)),
	KURADEL(80, 9085, new Position(1748, 5326)),
	SUMONA(91, 7780, new Position(3068, 3518)),
	KRYSTILIA(1, 2005, new Position(3110, 3514));

spacer.png

Edited by gvs
Link to comment
Share on other sites

  • 2 months later...
  • 1 month later...
  • 1 month later...

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

Contact

ltlimes

RSPS Partners

RedemptionRSPS

What is a RSPS?

A RSPS, also known as RuneScape private server, is an online game based on RuneScape, and controlled by independent individuals.

Popular RSPS Servers

oldschoolrsps Runewild RedemptionRSPS

Disclaimer

Runesuite is not affiliated with runescape, jagex, rune-server and runelocus in any way & exists solely for educational purposes.

×
×
  • Create New...