mirror of
https://github.com/2006-Scape/2006Scape.git
synced 2026-07-03 00:31:51 +00:00
Refactoring and Clue scrolls (#126)
* refactor treasure trails * tidy up random functions * tidy up treasure trails * refactor drops, consistant * add clue scroll drops * spread item rewards * update rewards * remove odd behaving items * always give 2 → 4 items (1 stackable)
This commit is contained in:
@@ -889,7 +889,8 @@ public class NpcHandler {
|
||||
// [j][1] = amount
|
||||
// [j][0] = drop
|
||||
|
||||
public void dropItems(int i) {// ring of wealth to add
|
||||
public void dropItems(int i) {
|
||||
// TODO: add ring of wealth
|
||||
int npc = 0;
|
||||
Client c = (Client) PlayerHandler.players[npcs[i].killedBy];
|
||||
if (c != null) {
|
||||
@@ -900,38 +901,51 @@ public class NpcHandler {
|
||||
}
|
||||
}
|
||||
switch (npcs[i].npcType) {
|
||||
case 2459:
|
||||
FreakyForester.killedPheasant(c, 0);
|
||||
Server.itemHandler.createGroundItem(c, 6178, npcs[i].absX, npcs[i].absY, 1, c.playerId);
|
||||
break;
|
||||
case 2460:
|
||||
FreakyForester.killedPheasant(c, 1);
|
||||
Server.itemHandler.createGroundItem(c, 6178, npcs[i].absX, npcs[i].absY, 1, c.playerId);
|
||||
break;
|
||||
case 2461:
|
||||
FreakyForester.killedPheasant(c, 2);
|
||||
Server.itemHandler.createGroundItem(c, 6178, npcs[i].absX, npcs[i].absY, 1, c.playerId);
|
||||
break;
|
||||
case 2462:
|
||||
FreakyForester.killedPheasant(c, 3);
|
||||
Server.itemHandler.createGroundItem(c, 6178, npcs[i].absX, npcs[i].absY, 1, c.playerId);
|
||||
break;
|
||||
case 92:
|
||||
if (c.restGhost == 3) {
|
||||
Server.itemHandler.createGroundItem(c, 553, npcs[i].absX, npcs[i].absY, 1, c.playerId);
|
||||
c.restGhost = 4;
|
||||
}
|
||||
break;
|
||||
case 47:
|
||||
if (c.witchspot == 1 || c.romeojuliet > 0 && c.romeojuliet < 9) {
|
||||
Server.itemHandler.createGroundItem(c, 300, npcs[i].absX, npcs[i].absY, 1, c.playerId);
|
||||
}
|
||||
break;
|
||||
case 645:
|
||||
if (c.shieldArrav == 5) {
|
||||
Server.itemHandler.createGroundItem(c, 761, npcs[i].absX, npcs[i].absY, 1, c.playerId);
|
||||
}
|
||||
break;
|
||||
case 2459:
|
||||
FreakyForester.killedPheasant(c, 0);
|
||||
Server.itemHandler.createGroundItem(c, 6178, npcs[i].absX, npcs[i].absY, 1, c.playerId);
|
||||
break;
|
||||
case 2460:
|
||||
FreakyForester.killedPheasant(c, 1);
|
||||
Server.itemHandler.createGroundItem(c, 6178, npcs[i].absX, npcs[i].absY, 1, c.playerId);
|
||||
break;
|
||||
case 2461:
|
||||
FreakyForester.killedPheasant(c, 2);
|
||||
Server.itemHandler.createGroundItem(c, 6178, npcs[i].absX, npcs[i].absY, 1, c.playerId);
|
||||
break;
|
||||
case 2462:
|
||||
FreakyForester.killedPheasant(c, 3);
|
||||
Server.itemHandler.createGroundItem(c, 6178, npcs[i].absX, npcs[i].absY, 1, c.playerId);
|
||||
break;
|
||||
case 92:
|
||||
if (c.restGhost == 3) {
|
||||
Server.itemHandler.createGroundItem(c, 553, npcs[i].absX, npcs[i].absY, 1, c.playerId);
|
||||
c.restGhost = 4;
|
||||
}
|
||||
break;
|
||||
case 47:
|
||||
if (c.witchspot == 1 || c.romeojuliet > 0 && c.romeojuliet < 9) {
|
||||
Server.itemHandler.createGroundItem(c, 300, npcs[i].absX, npcs[i].absY, 1, c.playerId);
|
||||
}
|
||||
break;
|
||||
case 645:
|
||||
if (c.shieldArrav == 5) {
|
||||
Server.itemHandler.createGroundItem(c, 761, npcs[i].absX, npcs[i].absY, 1, c.playerId);
|
||||
}
|
||||
break;
|
||||
}
|
||||
if (Misc.random(1, 256) == 1) {
|
||||
int level = npcs[i].combatLevel;
|
||||
if (level >= 2 && level <= 24) // easy
|
||||
Server.itemHandler.createGroundItem(c, 2677, npcs[i].absX, npcs[i].absY, 1, c.playerId);
|
||||
else if (level <= 40) // easy → medium
|
||||
Server.itemHandler.createGroundItem(c, 2677 + Misc.random(0, 1), npcs[i].absX, npcs[i].absY, 1, c.playerId);
|
||||
else if (level <= 80) // medium
|
||||
Server.itemHandler.createGroundItem(c, 2678, npcs[i].absX, npcs[i].absY, 1, c.playerId);
|
||||
else if (level <= 150) // medium → hard
|
||||
Server.itemHandler.createGroundItem(c, 2678 + Misc.random(0, 1), npcs[i].absX, npcs[i].absY, 1, c.playerId);
|
||||
else // hard
|
||||
Server.itemHandler.createGroundItem(c, 2678 + Misc.random(0, 1), npcs[i].absX, npcs[i].absY, 1, c.playerId);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user