mirror of
https://gitlab.com/2009scape/2009scape.git
synced 2025-12-10 10:20:41 -07:00
Merge remote-tracking branch 'upstream/master'
This commit is contained in:
commit
7e38dc6b67
10 changed files with 15884 additions and 1648 deletions
|
|
@ -3,7 +3,7 @@
|
||||||
-- https://www.phpmyadmin.net/
|
-- https://www.phpmyadmin.net/
|
||||||
--
|
--
|
||||||
-- Host: 127.0.0.1
|
-- Host: 127.0.0.1
|
||||||
-- Generation Time: Mar 29, 2020 at 12:21 AM
|
-- Generation Time: Mar 29, 2020 at 07:36 PM
|
||||||
-- Server version: 10.4.11-MariaDB
|
-- Server version: 10.4.11-MariaDB
|
||||||
-- PHP Version: 7.4.2
|
-- PHP Version: 7.4.2
|
||||||
|
|
||||||
|
|
@ -19763,7 +19763,7 @@ INSERT INTO `npc_spawns` (`npc_id`, `loc_data`) VALUES
|
||||||
(170, '{2890,3175,0,1,4}'),
|
(170, '{2890,3175,0,1,4}'),
|
||||||
(172, '{3225,3369,0,1,3}-{3226,3371,0,1,7}-{3230,3372,0,1,0}-{3230,3370,0,1,3}-{3229,3368,0,1,1}-{3227,3367,0,1,1}'),
|
(172, '{3225,3369,0,1,3}-{3226,3371,0,1,7}-{3230,3372,0,1,0}-{3230,3370,0,1,3}-{3229,3368,0,1,1}-{3227,3367,0,1,1}'),
|
||||||
(174, '{3095,3232,0,1,6}-{3095,3231,0,1,0}-{3225,3370,0,1,4}-{3230,3370,0,1,3}'),
|
(174, '{3095,3232,0,1,6}-{3095,3231,0,1,0}-{3225,3370,0,1,4}-{3230,3370,0,1,3}'),
|
||||||
(175, '{3084,3495,0,1,4}-{2994,9549,0,1,6}-{2993,9551,0,1,6}-{2995,9555,0,1,6}-{2999,9548,0,1,0}'),
|
(175, '{3084,3495,0,1,4}-{2994,9549,0,1,6}-{2993,9551,0,1,6}-{2995,9555,0,1,6}-{2999,9548,0,1,0}-{3182,3365,0,1,6}'),
|
||||||
(178, '{2892,9709,0,1,6}-{2915,9708,0,1,7}-{2899,9702,0,1,1}-{2907,9711,0,1,4}-{2938,9811,0,1,6}-{3096,3220,0,1,1}-{3273,3507,0,1,6}'),
|
(178, '{2892,9709,0,1,6}-{2915,9708,0,1,7}-{2899,9702,0,1,1}-{2907,9711,0,1,4}-{2938,9811,0,1,6}-{3096,3220,0,1,1}-{3273,3507,0,1,6}'),
|
||||||
(179, '{3025,3511,1,1,3}-{3038,3505,0,1,4}-{3026,3494,0,1,6}-{3026,3505,0,1,4}-{3026,3512,0,1,6}-{3025,3512,0,1,4}-{3027,3512,0,1,6}-{3030,3511,0,1,6}-{3028,3511,0,1,1}-{3039,3855,0,1,4}-{3031,3852,0,1,1}-{3032,3849,0,1,3}-{3023,3849,0,1,6}-{3022,3847,0,1,3}-{3023,3514,1,1,3}-{3014,3516,2,1,1}'),
|
(179, '{3025,3511,1,1,3}-{3038,3505,0,1,4}-{3026,3494,0,1,6}-{3026,3505,0,1,4}-{3026,3512,0,1,6}-{3025,3512,0,1,4}-{3027,3512,0,1,6}-{3030,3511,0,1,6}-{3028,3511,0,1,1}-{3039,3855,0,1,4}-{3031,3852,0,1,1}-{3032,3849,0,1,3}-{3023,3849,0,1,6}-{3022,3847,0,1,3}-{3023,3514,1,1,3}-{3014,3516,2,1,1}'),
|
||||||
(180, '{2744,3519,0,0,0}-{2957,3238,0,1,4}-{2988,3423,0,1,7}-{2953,3240,0,1,3}-{3011,3277,0,1,1}-{3009,3280,0,1,1}-{3110,3295,0,1,4}'),
|
(180, '{2744,3519,0,0,0}-{2957,3238,0,1,4}-{2988,3423,0,1,7}-{2953,3240,0,1,3}-{3011,3277,0,1,1}-{3009,3280,0,1,1}-{3110,3295,0,1,4}'),
|
||||||
|
|
@ -19859,6 +19859,8 @@ INSERT INTO `npc_spawns` (`npc_id`, `loc_data`) VALUES
|
||||||
(340, '{2929,3217,0,1,6}'),
|
(340, '{2929,3217,0,1,6}'),
|
||||||
(342, '{3281,3382,0,0,0}'),
|
(342, '{3281,3382,0,0,0}'),
|
||||||
(343, '{3284,3382,0,0,0}'),
|
(343, '{3284,3382,0,0,0}'),
|
||||||
|
(344, '{3016,3187,1,1,0}-{3015,3183,1,1,0}-{3014,3181,1,1,0}-{3011,3185,1,1,0}'),
|
||||||
|
(345, '{3018,3185,2,1,0}'),
|
||||||
(347, '{2523,3292,0,0,0}-{2536,3294,0,0,0}-{2538,3321,0,0,0}'),
|
(347, '{2523,3292,0,0,0}-{2536,3294,0,0,0}-{2538,3321,0,0,0}'),
|
||||||
(348, '{2501,3315,0,0,0}-{2513,3325,0,0,0}-{2526,3279,0,0,0}-{2528,3297,0,0,0}-{2535,3288,0,0,0}-{2548,3287,0,0,0}'),
|
(348, '{2501,3315,0,0,0}-{2513,3325,0,0,0}-{2526,3279,0,0,0}-{2528,3297,0,0,0}-{2535,3288,0,0,0}-{2548,3287,0,0,0}'),
|
||||||
(349, '{2556,3266,0,0,0}'),
|
(349, '{2556,3266,0,0,0}'),
|
||||||
|
|
@ -20054,12 +20056,12 @@ INSERT INTO `npc_spawns` (`npc_id`, `loc_data`) VALUES
|
||||||
(636, '{2395,3494,0,0,6}-{2396,3494,0,0,6}-{2397,3494,0,0,6}-{2396,3493,0,0,6}'),
|
(636, '{2395,3494,0,0,6}-{2396,3494,0,0,6}-{2397,3494,0,0,6}-{2396,3493,0,0,6}'),
|
||||||
(637, '{3158,3425,1,1,5}'),
|
(637, '{3158,3425,1,1,5}'),
|
||||||
(638, '{3195,3404,0,0,0}'),
|
(638, '{3195,3404,0,0,0}'),
|
||||||
(639, '{3211,3425,0,1,7}'),
|
(639, '{3211,3425,0,1,7}');
|
||||||
|
INSERT INTO `npc_spawns` (`npc_id`, `loc_data`) VALUES
|
||||||
(640, '{3253,3487,0,1,6}'),
|
(640, '{3253,3487,0,1,6}'),
|
||||||
(641, '{3207,3392,0,1,6}'),
|
(641, '{3207,3392,0,1,6}'),
|
||||||
(642, '{3185,3385,0,1,6}'),
|
(642, '{3185,3385,0,1,6}'),
|
||||||
(643, '{3246,3383,1,1,5}');
|
(643, '{3246,3383,1,1,5}'),
|
||||||
INSERT INTO `npc_spawns` (`npc_id`, `loc_data`) VALUES
|
|
||||||
(644, '{3247,9781,0,1,6}'),
|
(644, '{3247,9781,0,1,6}'),
|
||||||
(645, '{3223,3401,0,1,2}'),
|
(645, '{3223,3401,0,1,2}'),
|
||||||
(646, '{3257,3447,0,0,0}'),
|
(646, '{3257,3447,0,0,0}'),
|
||||||
|
|
@ -20715,12 +20717,12 @@ INSERT INTO `npc_spawns` (`npc_id`, `loc_data`) VALUES
|
||||||
(2324, '{2807,3464,0,1,3}'),
|
(2324, '{2807,3464,0,1,3}'),
|
||||||
(2325, '{2664,3374,0,1,1}'),
|
(2325, '{2664,3374,0,1,1}'),
|
||||||
(2326, '{3600,3527,0,1,1}'),
|
(2326, '{3600,3527,0,1,1}'),
|
||||||
(2327, '{2814,3337,0,1,6}'),
|
(2327, '{2814,3337,0,1,6}');
|
||||||
|
INSERT INTO `npc_spawns` (`npc_id`, `loc_data`) VALUES
|
||||||
(2329, '{1702,4823,0,0,6}'),
|
(2329, '{1702,4823,0,0,6}'),
|
||||||
(2330, '{2766,3211,0,0,0}'),
|
(2330, '{2766,3211,0,0,0}'),
|
||||||
(2331, '{2860,3430,0,1,4}'),
|
(2331, '{2860,3430,0,1,4}'),
|
||||||
(2332, '{2573,3102,0,1,4}');
|
(2332, '{2573,3102,0,1,4}'),
|
||||||
INSERT INTO `npc_spawns` (`npc_id`, `loc_data`) VALUES
|
|
||||||
(2333, '{3226,3311,0,0,0}'),
|
(2333, '{3226,3311,0,0,0}'),
|
||||||
(2334, '{2662,3525,0,1,1}'),
|
(2334, '{2662,3525,0,1,1}'),
|
||||||
(2335, '{3181,3359,0,0,0}'),
|
(2335, '{3181,3359,0,0,0}'),
|
||||||
|
|
@ -21170,6 +21172,7 @@ INSERT INTO `npc_spawns` (`npc_id`, `loc_data`) VALUES
|
||||||
(4357, '{3771,9450,0,1,4}-{3730,9443,0,1,4}-{3808,9423,0,1,7}-{3797,9427,0,1,4}-{3833,9438,0,1,6}-{3834,9458,0,1,6}-{3797,9440,0,1,1}-{3793,9441,0,1,4}-{3829,9425,0,1,7}'),
|
(4357, '{3771,9450,0,1,4}-{3730,9443,0,1,4}-{3808,9423,0,1,7}-{3797,9427,0,1,4}-{3833,9438,0,1,6}-{3834,9458,0,1,6}-{3797,9440,0,1,1}-{3793,9441,0,1,4}-{3829,9425,0,1,7}'),
|
||||||
(4358, '{3751,2977,0,1,2}'),
|
(4358, '{3751,2977,0,1,2}'),
|
||||||
(4359, '{3669,2977,0,1,3}'),
|
(4359, '{3669,2977,0,1,3}'),
|
||||||
|
(4375, '{3012,3192,1,0,2}'),
|
||||||
(4376, '{3081,3421,0,1,3}'),
|
(4376, '{3081,3421,0,1,3}'),
|
||||||
(4381, '{3024,10152,0,0,0}-{3020,10148,0,0,0}-{3023,10145,0,0,0}-{3018,10140,0,0,0}-{3033,10139,0,0,0}-{3028,10137,0,0,0}-{2361,5241,0,0,1}-{2358,5240,0,0,1}-{2362,5239,0,0,1}-{2364,5240,0,0,1}-{2364,5242,0,0,1}-{2372,9743,0,1,1}-{2373,9745,0,1,1}-{2374,9742,0,1,1}-{2377,9750,0,1,1}-{2378,9752,0,1,1}-{2377,9754,0,1,1}'),
|
(4381, '{3024,10152,0,0,0}-{3020,10148,0,0,0}-{3023,10145,0,0,0}-{3018,10140,0,0,0}-{3033,10139,0,0,0}-{3028,10137,0,0,0}-{2361,5241,0,0,1}-{2358,5240,0,0,1}-{2362,5239,0,0,1}-{2364,5240,0,0,1}-{2364,5242,0,0,1}-{2372,9743,0,1,1}-{2373,9745,0,1,1}-{2374,9742,0,1,1}-{2377,9750,0,1,1}-{2378,9752,0,1,1}-{2377,9754,0,1,1}'),
|
||||||
(4382, '{3162,3716,0,0,0}-{3175,3717,0,0,0}-{3161,3727,0,0,0}-{2304,5160,0,0,2}-{2324,5210,0,0,2}-{2322,5201,0,0,7}-{2324,5210,0,0,2}-{2322,5201,0,0,7}-{2327,5205,0,0,7}-{2328,5200,0,0,7}-{2326,5198,0,0,7}-{2331,5198,0,0,4}-{2333,5201,0,0,4}-{2333,5199,0,0,2}'),
|
(4382, '{3162,3716,0,0,0}-{3175,3717,0,0,0}-{3161,3727,0,0,0}-{2304,5160,0,0,2}-{2324,5210,0,0,2}-{2322,5201,0,0,7}-{2324,5210,0,0,2}-{2322,5201,0,0,7}-{2327,5205,0,0,7}-{2328,5200,0,0,7}-{2326,5198,0,0,7}-{2331,5198,0,0,4}-{2333,5201,0,0,4}-{2333,5199,0,0,2}'),
|
||||||
|
|
|
||||||
|
|
@ -54,6 +54,7 @@ public final class FirePotteryPulse extends SkillPulse<Item> {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
if (!player.getInventory().containsItem(pottery.getUnfinished())) {
|
if (!player.getInventory().containsItem(pottery.getUnfinished())) {
|
||||||
|
player.getPacketDispatch().sendMessage("You need a " + pottery.name().toLowerCase() + "in order to do this.");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
|
|
@ -80,7 +81,7 @@ public final class FirePotteryPulse extends SkillPulse<Item> {
|
||||||
Perks.addDouble(player, item);
|
Perks.addDouble(player, item);
|
||||||
player.getSkills().addExperience(Skills.CRAFTING, pottery.getFireExp(), true);
|
player.getSkills().addExperience(Skills.CRAFTING, pottery.getFireExp(), true);
|
||||||
player.getPacketDispatch().sendMessage("You put the " + pottery.getUnfinished().getName().toLowerCase() + " in the oven.");
|
player.getPacketDispatch().sendMessage("You put the " + pottery.getUnfinished().getName().toLowerCase() + " in the oven.");
|
||||||
player.getPacketDispatch().sendMessage("You remove a " + pottery.getProduct().getName().toLowerCase() + " from the oven.");
|
player.getPacketDispatch().sendMessage("You remove a " + pottery.getProduct().getName().toLowerCase() + " from the oven.");
|
||||||
}
|
}
|
||||||
amount--;
|
amount--;
|
||||||
return amount < 1;
|
return amount < 1;
|
||||||
|
|
|
||||||
|
|
@ -11,17 +11,24 @@ import org.crandor.game.node.entity.npc.agg.AggressiveBehavior;
|
||||||
import org.crandor.game.node.entity.npc.agg.AggressiveHandler;
|
import org.crandor.game.node.entity.npc.agg.AggressiveHandler;
|
||||||
import org.crandor.game.node.entity.player.Player;
|
import org.crandor.game.node.entity.player.Player;
|
||||||
import org.crandor.game.node.entity.player.info.Rights;
|
import org.crandor.game.node.entity.player.info.Rights;
|
||||||
|
import org.crandor.game.node.item.GroundItemManager;
|
||||||
import org.crandor.game.node.item.Item;
|
import org.crandor.game.node.item.Item;
|
||||||
import org.crandor.game.world.map.Location;
|
import org.crandor.game.world.map.Location;
|
||||||
import org.crandor.game.world.map.zone.MapZone;
|
import org.crandor.game.world.map.zone.MapZone;
|
||||||
import org.crandor.game.world.map.zone.RegionZone;
|
import org.crandor.game.world.map.zone.RegionZone;
|
||||||
import org.crandor.game.world.map.zone.ZoneBorders;
|
import org.crandor.game.world.map.zone.ZoneBorders;
|
||||||
|
import org.crandor.game.world.repository.Repository;
|
||||||
|
import org.crandor.tools.RandomFunction;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Handles the wilderness zone.
|
* Handles the wilderness zone.
|
||||||
* @author Emperor
|
* @author Emperor
|
||||||
*/
|
*/
|
||||||
public final class WildernessZone extends MapZone {
|
public final class WildernessZone extends MapZone {
|
||||||
|
/**
|
||||||
|
* The PvP gear items
|
||||||
|
*/
|
||||||
|
private static int[] PVP_GEAR = { 13887, 13893, 13899, 13905, 13870, 13873, 13876, 13879, 13883, 13884, 13890, 13896, 13902, 13858, 13861, 13864, 13867};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The wilderness zone.
|
* The wilderness zone.
|
||||||
|
|
@ -48,6 +55,70 @@ public final class WildernessZone extends MapZone {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* calculate drop rate for rev items based on combat level
|
||||||
|
* @author ceik
|
||||||
|
* @param combatLevel
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public int getNewDropRate(int combatLevel){
|
||||||
|
double x = combatLevel;
|
||||||
|
double A = 44044.5491;
|
||||||
|
double B = -7360.19548;
|
||||||
|
return (int) (A + (B * Math.log(x)));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Handles rev drops
|
||||||
|
* @author ceik
|
||||||
|
* @param e The entity dying.
|
||||||
|
* @param killer The killer.
|
||||||
|
* @return true
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public boolean death(Entity e, Entity killer) {
|
||||||
|
if(e instanceof NPC && killer instanceof Player && (e.asNpc().getName().contains("Revenant") || e.asNpc().getName().equals("Chaos elemental"))){
|
||||||
|
int combatLevel = e.asNpc().getDefinition().getCombatLevel();
|
||||||
|
int dropRate = getNewDropRate(combatLevel);
|
||||||
|
for(int i = 0; i < PVP_GEAR.length; i++){
|
||||||
|
boolean chance = RandomFunction.random(dropRate) == dropRate / 2;
|
||||||
|
if(chance){
|
||||||
|
Item reward;
|
||||||
|
if(PVP_GEAR[i] == 13879 || PVP_GEAR[i] == 13883){ // checks if it's a javelin or throwing axe
|
||||||
|
reward = new Item(PVP_GEAR[i],RandomFunction.random(15,50));
|
||||||
|
} else {
|
||||||
|
reward = new Item(PVP_GEAR[i]);
|
||||||
|
}
|
||||||
|
Repository.sendNews(killer.asPlayer().getUsername() + " has received a " + reward.getName() + " from a " + e.asNpc().getName() + "!");
|
||||||
|
GroundItemManager.create(reward,((NPC) e).getDropLocation(),killer.asPlayer());
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
e.asNpc().getDefinition().getDropTables().drop(e.asNpc(),killer);
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Fixes attack options for the revs
|
||||||
|
* @param e The entity.
|
||||||
|
* @param target The target to interact with.
|
||||||
|
* @param option The option.
|
||||||
|
* @return true
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public boolean interact(Entity e, Node target, Option option) {
|
||||||
|
if(target instanceof NPC){
|
||||||
|
if(target.asNpc().getName().contains("Revenant")){
|
||||||
|
e.asPlayer().getProperties().getCombatPulse().attack(target);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return super.interact(e, target, option);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean enter(Entity e) {
|
public boolean enter(Entity e) {
|
||||||
if (e instanceof Player) {
|
if (e instanceof Player) {
|
||||||
|
|
|
||||||
14036
Server/src/org/crandor/tools/ItemNames.java
Normal file
14036
Server/src/org/crandor/tools/ItemNames.java
Normal file
File diff suppressed because it is too large
Load diff
66
Server/src/plugin/interaction/npc/SecurityGuardPlugin.java
Normal file
66
Server/src/plugin/interaction/npc/SecurityGuardPlugin.java
Normal file
|
|
@ -0,0 +1,66 @@
|
||||||
|
package plugin.interaction.npc;
|
||||||
|
|
||||||
|
import org.crandor.game.content.dialogue.DialoguePlugin;
|
||||||
|
import org.crandor.game.interaction.OptionHandler;
|
||||||
|
import org.crandor.game.node.Node;
|
||||||
|
import org.crandor.game.node.entity.npc.NPC;
|
||||||
|
import org.crandor.game.node.entity.player.Player;
|
||||||
|
import org.crandor.game.node.item.Item;
|
||||||
|
import org.crandor.plugin.InitializablePlugin;
|
||||||
|
import org.crandor.plugin.Plugin;
|
||||||
|
import org.crandor.plugin.PluginManager;
|
||||||
|
import org.crandor.tools.ItemNames;
|
||||||
|
|
||||||
|
@InitializablePlugin
|
||||||
|
public final class SecurityGuardPlugin extends OptionHandler {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Plugin<Object> newInstance(Object arg) throws Throwable {
|
||||||
|
PluginManager.definePlugin(new SecurityGuardDialogue());
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean handle(Player player, Node node, String option) {
|
||||||
|
if (option.equals("talk-to")) {
|
||||||
|
player.getDialogueInterpreter().open(4375);
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
public final class SecurityGuardDialogue extends DialoguePlugin {
|
||||||
|
|
||||||
|
public SecurityGuardDialogue() {}
|
||||||
|
|
||||||
|
public SecurityGuardDialogue(Player player) {
|
||||||
|
super(player);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public DialoguePlugin newInstance(Player player) {
|
||||||
|
return new SecurityGuardDialogue(player);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean open(Object... args) {
|
||||||
|
npc = (NPC) args[0];
|
||||||
|
if (player.getInventory().hasSpaceFor(new Item(ItemNames.SECURITY_BOOK_9003))) {
|
||||||
|
npc("Here's a Security book for you.", "Have a nice day.");
|
||||||
|
player.getInventory().add(new Item(ItemNames.SECURITY_BOOK_9003));
|
||||||
|
} else {
|
||||||
|
npc("Have a nice day.");
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean handle(int interfaceId, int buttonId) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int[] getIds() {
|
||||||
|
return new int[] { 4375 };
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
27
Server/src/plugin/interaction/object/LookAtOptionPlugin.java
Normal file
27
Server/src/plugin/interaction/object/LookAtOptionPlugin.java
Normal file
|
|
@ -0,0 +1,27 @@
|
||||||
|
package plugin.interaction.object;
|
||||||
|
|
||||||
|
import org.crandor.cache.def.impl.ObjectDefinition;
|
||||||
|
import org.crandor.game.interaction.OptionHandler;
|
||||||
|
import org.crandor.game.node.Node;
|
||||||
|
import org.crandor.game.node.entity.player.Player;
|
||||||
|
import org.crandor.plugin.InitializablePlugin;
|
||||||
|
import org.crandor.plugin.Plugin;
|
||||||
|
|
||||||
|
@InitializablePlugin
|
||||||
|
public class LookAtOptionPlugin extends OptionHandler {
|
||||||
|
@Override
|
||||||
|
public Plugin<Object> newInstance(Object arg) throws Throwable {
|
||||||
|
for (int i = 18877; i <= 18900; i++)
|
||||||
|
{
|
||||||
|
ObjectDefinition.forId(i).getConfigurations().put("option:look at", this);
|
||||||
|
}
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean handle(Player player, Node node, String option) {
|
||||||
|
player.getPacketDispatch().sendMessage("The " + node.getName().toLowerCase() + " seem to be going south-west.");
|
||||||
|
return true;
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -58,14 +58,14 @@ public class ShootingStarPlugin extends OptionHandler {
|
||||||
{"Duel Arena bank chest", Location.create(3342, 3267, 0)},
|
{"Duel Arena bank chest", Location.create(3342, 3267, 0)},
|
||||||
{"Nardah mining site", Location.create(3320, 2872, 0)},
|
{"Nardah mining site", Location.create(3320, 2872, 0)},
|
||||||
{"Nardah bank", Location.create(3434, 2888, 0)},
|
{"Nardah bank", Location.create(3434, 2888, 0)},
|
||||||
{"South-east Varrock mining site", Location.create(3292, 3353, 0)},
|
{"South-east Varrock mine", Location.create(3292, 3353, 0)},
|
||||||
{"South-west Varrock mining site", Location.create(3176, 3362, 0)},
|
{"South-west Varrock mine", Location.create(3176, 3362, 0)},
|
||||||
{"Varrock east bank", Location.create(3259, 3407, 0)},
|
{"Varrock east bank", Location.create(3259, 3407, 0)},
|
||||||
{"Lumbridge Swamp mining site", Location.create(3227, 3150, 0)},
|
{"Lumbridge Swamp mine", Location.create(3227, 3150, 0)},
|
||||||
{"Gnome stronghold Bank", Location.create(2460, 3432, 0)},
|
{"Gnome stronghold Bank", Location.create(2460, 3432, 0)},
|
||||||
{"North Edgeville mining site", Location.create(3101, 3569, 0)},
|
{"North Edgeville mining site", Location.create(3101, 3569, 0)},
|
||||||
{"Southern wilderness mining site", Location.create(3025, 3591, 0)},
|
{"Southern wilderness mine", Location.create(3025, 3591, 0)},
|
||||||
{"Pirates' Hideout mining site", Location.create(3059, 3940, 0)},
|
{"Pirates' Hideout mine", Location.create(3059, 3940, 0)},
|
||||||
{"Lava Maze mining site", Location.create(3062, 3885, 0)},
|
{"Lava Maze mining site", Location.create(3062, 3885, 0)},
|
||||||
{"Mage Arena bank", Location.create(3093, 3962, 0)}
|
{"Mage Arena bank", Location.create(3093, 3962, 0)}
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -112,13 +112,6 @@ public class RevenantNPC extends AbstractNPC {
|
||||||
if (killer instanceof Player) {
|
if (killer instanceof Player) {
|
||||||
killer.asPlayer().getAudioManager().send(4063, true);
|
killer.asPlayer().getAudioManager().send(4063, true);
|
||||||
}
|
}
|
||||||
int chance = RandomFunction.getRandom(120);
|
|
||||||
if (chance == 1) {
|
|
||||||
int item = RandomFunction.getRandom(PVP_DROPS.length - 1);
|
|
||||||
Item i = new Item(PVP_DROPS[item]);
|
|
||||||
GroundItemManager.create(i, itemLoc, killer.asPlayer());
|
|
||||||
Repository.sendNews(killer.getUsername() + " has just received a " + i.getName() + " from a " + getName() + ".");
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
||||||
|
|
@ -30,7 +30,7 @@ public class RevenantPlugin implements Plugin<Object> {
|
||||||
/**
|
/**
|
||||||
* The maximum amount of revenants spawned.
|
* The maximum amount of revenants spawned.
|
||||||
*/
|
*/
|
||||||
private static final int MAX = 20;
|
private static final int MAX = 50;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Plugin<Object> newInstance(Object arg) throws Throwable {
|
public Plugin<Object> newInstance(Object arg) throws Throwable {
|
||||||
|
|
|
||||||
File diff suppressed because it is too large
Load diff
Loading…
Add table
Add a link
Reference in a new issue