Merge pull request #175 from Ceikry/master

Some fixes
This commit is contained in:
Daniel Ginovker 2020-03-15 10:59:02 -04:00 committed by GitHub
commit 3edf05d9d4
7 changed files with 58 additions and 11 deletions

View file

@ -13815,9 +13815,9 @@ INSERT INTO `npc_configs` (`id`, `name`, `examine`, `lifepoints`, `attack_level`
(168, 'Gnome woman', 'A female gnome.', 42, 30, 30, 30, 1, NULL, NULL, NULL, NULL, 60, NULL, NULL, NULL, 191, 0, 196, NULL, 0, 0, NULL, NULL, NULL, 7, NULL, NULL, 1, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
(169, 'Gnome woman', 'A female gnome.', 42, 30, 30, 30, 1, NULL, NULL, NULL, NULL, 60, NULL, NULL, NULL, 191, 0, 196, NULL, 0, 0, NULL, NULL, NULL, 7, NULL, NULL, 1, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
(170, 'Man', 'One of RuneScape\'s many citizens', 4, 3, 3, 3, 1, NULL, NULL, NULL, NULL, 60, 5, NULL, NULL, 422, 0, 836, NULL, 0, 0, NULL, NULL, NULL, 9, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, NULL, '511,513,512', NULL, NULL, NULL),
(172, 'Dark wizard', 'A practicer of dark arts.', 24, 1, 1, 27, 1, 27, NULL, NULL, NULL, 60, NULL, NULL, NULL, 422, 0, 836, NULL, 0, 0, NULL, NULL, NULL, 4, NULL, NULL, 2, NULL, 1, NULL, NULL, NULL, NULL, NULL, '511,513,512', NULL, NULL, NULL),
(172, 'Dark wizard', 'A practicer of dark arts.', 24, 1, 1, 27, 1, 27, NULL, NULL, NULL, 60, NULL, NULL, NULL, 422, 0, 836, NULL, 710, 0, NULL, NULL, NULL, 4, NULL, NULL, 2, NULL, 1, NULL, NULL, NULL, NULL, NULL, '511,513,512', NULL, NULL, NULL),
(173, 'Invrigar the Necromancer', 'An evil user of Magic powers', 42, 1, 1, 30, 1, 30, NULL, NULL, NULL, 60, 5, NULL, NULL, 422, 0, 836, NULL, 0, 0, NULL, NULL, NULL, 4, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
(174, 'Dark wizard', 'He works evil magic.', 12, 1, 1, 24, 1, 24, NULL, NULL, NULL, 60, NULL, NULL, NULL, 422, 0, 836, NULL, 0, 0, NULL, NULL, NULL, 4, NULL, NULL, 2, NULL, 1, NULL, NULL, NULL, NULL, NULL, '511,513,512', NULL, NULL, NULL),
(174, 'Dark wizard', 'He works evil magic.', 12, 1, 1, 24, 1, 24, NULL, NULL, NULL, 60, NULL, NULL, NULL, 422, 0, 836, NULL, 710, 0, NULL, NULL, NULL, 4, NULL, NULL, 2, NULL, 1, NULL, NULL, NULL, NULL, NULL, '511,513,512', NULL, NULL, NULL),
(175, 'Mugger', 'He jumps out and attacks people.', 15, 11, 11, 11, 1, NULL, NULL, NULL, NULL, 60, NULL, NULL, 2, 422, 0, 836, NULL, 0, 0, NULL, NULL, NULL, 9, NULL, NULL, NULL, NULL, 1, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
(176, 'Witch', 'The hat\'s a dead give away.', 31, 1, 1, 22, 1, 22, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 423, 0, 836, NULL, 0, 0, NULL, NULL, NULL, 4, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
(178, 'Black Knight', 'A dark-hearted knight.', 31, 22, 22, 22, 1, NULL, NULL, NULL, NULL, 60, 6, NULL, NULL, 390, 0, 836, NULL, 0, 0, NULL, NULL, NULL, 7, NULL, NULL, NULL, NULL, 1, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
@ -15331,10 +15331,10 @@ INSERT INTO `npc_configs` (`id`, `name`, `examine`, `lifepoints`, `attack_level`
(3239, 'Rusty', NULL, 7, 1, 1, 1, 1, NULL, NULL, NULL, NULL, 60, NULL, NULL, NULL, 422, 425, 836, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
(3240, 'Jeff', NULL, 7, 1, 1, 1, 1, NULL, NULL, NULL, NULL, 60, NULL, NULL, NULL, 422, 425, 836, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
(3241, 'Guard', NULL, 22, 1, 1, 1, 1, NULL, NULL, NULL, NULL, 60, 5, NULL, NULL, 395, 425, 836, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 1, NULL, NULL, NULL, 1, NULL, '511,513,512', NULL, NULL, NULL),
(3242, 'Dark wizard', 'A practicer of dark arts.', 30, 1, 1, 25, 1, 25, NULL, NULL, NULL, 60, NULL, NULL, NULL, 422, 0, 836, NULL, 0, 0, NULL, NULL, NULL, 4, NULL, NULL, 2, NULL, 1, NULL, NULL, NULL, NULL, NULL, '511,513,512', NULL, NULL, NULL),
(3243, 'Dark wizard', 'A practicer of dark arts.', 38, 1, 1, 27, 1, 27, NULL, NULL, NULL, 60, NULL, NULL, NULL, 422, 0, 836, NULL, 0, 0, NULL, NULL, NULL, 4, NULL, NULL, 2, NULL, 1, NULL, NULL, NULL, NULL, NULL, '511,513,512', NULL, NULL, NULL),
(3244, 'Dark wizard', 'A practicer of dark arts.', 22, 1, 1, 16, 1, 16, NULL, NULL, NULL, 60, NULL, NULL, NULL, 422, 0, 836, NULL, 0, 0, NULL, NULL, NULL, 4, NULL, NULL, 2, NULL, 1, NULL, NULL, NULL, NULL, NULL, '511,513,512', NULL, NULL, NULL),
(3245, 'Dark wizard', 'A practicer of dark arts.', 22, 1, 1, 16, 1, 16, NULL, NULL, NULL, 60, NULL, NULL, NULL, 422, 0, 836, NULL, 0, 0, NULL, NULL, NULL, 4, NULL, NULL, 2, NULL, 1, NULL, NULL, NULL, NULL, NULL, '511,513,512', NULL, NULL, NULL),
(3242, 'Dark wizard', 'A practicer of dark arts.', 30, 1, 1, 25, 1, 25, NULL, NULL, NULL, 60, NULL, NULL, NULL, 422, 0, 836, NULL, 710, 0, NULL, NULL, NULL, 4, NULL, NULL, 2, NULL, 1, NULL, NULL, NULL, NULL, NULL, '511,513,512', NULL, NULL, NULL),
(3243, 'Dark wizard', 'A practicer of dark arts.', 38, 1, 1, 27, 1, 27, NULL, NULL, NULL, 60, NULL, NULL, NULL, 422, 0, 836, NULL, 710, 0, NULL, NULL, NULL, 4, NULL, NULL, 2, NULL, 1, NULL, NULL, NULL, NULL, NULL, '511,513,512', NULL, NULL, NULL),
(3244, 'Dark wizard', 'A practicer of dark arts.', 22, 1, 1, 16, 1, 16, NULL, NULL, NULL, 60, NULL, NULL, NULL, 422, 0, 836, NULL, 710, 0, NULL, NULL, NULL, 4, NULL, NULL, 2, NULL, 1, NULL, NULL, NULL, NULL, NULL, '511,513,512', NULL, NULL, NULL),
(3245, 'Dark wizard', 'A practicer of dark arts.', 22, 1, 1, 16, 1, 16, NULL, NULL, NULL, 60, NULL, NULL, NULL, 422, 0, 836, NULL, 710, 0, NULL, NULL, NULL, 4, NULL, NULL, 2, NULL, 1, NULL, NULL, NULL, NULL, NULL, '511,513,512', NULL, NULL, NULL),
(3246, 'Barbarian', 'Alberich', 31, 22, 22, 22, 1, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 2067, 0, 836, NULL, 0, 0, NULL, NULL, NULL, 8, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, NULL, NULL, NULL, NULL, NULL),
(3247, 'Barbarian', 'Fafner', 18, 22, 22, 22, 1, NULL, NULL, NULL, NULL, NULL, 6, NULL, NULL, 7048, 0, 836, NULL, 7048, 7048, NULL, NULL, NULL, 8, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, NULL, NULL, NULL, NULL, NULL),
(3248, 'Barbarian', 'Fasolt', 31, 22, 22, 22, 1, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 2067, 0, 836, NULL, 0, 0, NULL, NULL, NULL, 8, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, NULL, NULL, NULL, NULL, NULL),
@ -15763,6 +15763,7 @@ INSERT INTO `npc_configs` (`id`, `name`, `examine`, `lifepoints`, `attack_level`
(4458, 'Ork', 'She works in the bank.', 10, 1, 1, 1, 1, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 0, 0, NULL, 0, 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
(4459, 'Ork', 'She works in the bank.', 10, 1, 1, 1, 1, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 0, 0, NULL, 0, 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
(4470, 'Tree spirit', 'A very angry nymph.', 12, 9, 9, 9, 1, NULL, NULL, NULL, NULL, 60, 6, NULL, NULL, 94, 0, 97, NULL, 0, 0, NULL, NULL, NULL, 6, NULL, NULL, NULL, NULL, 1, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
(4474, 'Magic dummy', 'A magic training dummy', 15, 1, 1, 1, 1, NULL, NULL, NULL, NULL, 60, 6, NULL, NULL, 94, 0, 97, NULL, 0, 0, NULL, NULL, NULL, 6, NULL, NULL, NULL, NULL, 1, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
(4476, 'Guardian mummy', 'Who\'s your mummy?', 10, 1, 1, 1, 1, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 0, 0, NULL, 0, 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
(4479, 'Goblin', 'An ugly green creature.', 10, 1, 2, 1, 1, NULL, NULL, NULL, NULL, NULL, 5, NULL, NULL, 6185, 6183, 6182, NULL, 6185, 6185, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, NULL, '469,472,471', NULL, NULL, NULL),
(4480, 'Goblin', 'An ugly green creature.', 10, 1, 2, 1, 1, NULL, NULL, NULL, NULL, NULL, 5, NULL, NULL, 6185, 6183, 6182, NULL, 6185, 6185, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, NULL, '469,472,471', NULL, NULL, NULL),
@ -15860,10 +15861,10 @@ INSERT INTO `npc_configs` (`id`, `name`, `examine`, `lifepoints`, `attack_level`
(4653, 'Trader Crewmember', 'First storm he is in that hat will blow away.', 10, 1, 1, 1, 1, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 0, 0, NULL, 0, 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
(4654, 'Trader Crewmember', 'She\'ll never be able to climb rigging in that.', 10, 1, 1, 1, 1, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 0, 0, NULL, 0, 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
(4655, 'Trader Crewmember', 'High heels on a ship? What is she thinking?', 10, 1, 1, 1, 1, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 0, 0, NULL, 0, 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
(4656, 'Trader Crewmember', 'The effect is sort of spoiled by all those tattoos.', 10, 1, 1, 1, 1, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 0, 0, NULL, 0, 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
(4658, 'Dark wizard', 'A wizard of the Dark Arts.', 12, 1, 1, 1, 1, NULL, NULL, NULL, NULL, 60, NULL, NULL, NULL, 810, 425, 836, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 2, NULL, 1, NULL, NULL, NULL, NULL, NULL, '511,513,512', NULL, NULL, NULL),
(4659, 'Dark wizard', 'A wizard of the Dark Arts.', 12, 1, 1, 1, 1, NULL, NULL, NULL, NULL, 60, NULL, NULL, NULL, 810, 425, 836, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 2, NULL, 1, NULL, NULL, NULL, NULL, NULL, '511,513,512', NULL, NULL, NULL),
(4660, 'Dark wizard', 'A wizard of the Dark Arts.', 25, 1, 1, 1, 1, NULL, NULL, NULL, NULL, 60, NULL, NULL, NULL, 810, 425, 836, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 2, NULL, 1, NULL, NULL, NULL, NULL, NULL, '511,513,512', NULL, NULL, NULL),
(4656, 'Trader Crewmember', 'The effect is sort of spoiled by all those tattoos.', 10, 1, 1, 1, 1, NULL, NULL, NULL, NULL, NULL, NULL, 710, NULL, 0, 0, 0, NULL, 0, 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
(4658, 'Dark wizard', 'A wizard of the Dark Arts.', 12, 1, 1, 1, 1, NULL, NULL, NULL, NULL, 60, NULL, NULL, NULL, 810, 425, 836, NULL, 710, 0, NULL, NULL, NULL, NULL, NULL, NULL, 2, NULL, 1, NULL, NULL, NULL, NULL, NULL, '511,513,512', NULL, NULL, NULL),
(4659, 'Dark wizard', 'A wizard of the Dark Arts.', 12, 1, 1, 1, 1, NULL, NULL, NULL, NULL, 60, NULL, NULL, NULL, 810, 425, 836, NULL, 710, 0, NULL, NULL, NULL, NULL, NULL, NULL, 2, NULL, 1, NULL, NULL, NULL, NULL, NULL, '511,513,512', NULL, NULL, NULL),
(4660, 'Dark wizard', 'A wizard of the Dark Arts.', 25, 1, 1, 1, 1, NULL, NULL, NULL, NULL, 60, NULL, NULL, NULL, 810, 425, 836, NULL, 710, 0, NULL, NULL, NULL, NULL, NULL, NULL, 2, NULL, 1, NULL, NULL, NULL, NULL, NULL, '511,513,512', NULL, NULL, NULL),
(4661, 'Dark wizard', 'A wizard of the Dark Arts.', 30, 1, 1, 15, 1, 15, '30,10,10,10,10,10,10,25,0,0,0,0,0,0,0', NULL, NULL, 20, 5, NULL, NULL, NULL, 404, 9055, NULL, NULL, NULL, 2713, 2718, NULL, NULL, NULL, NULL, 2, NULL, 1, NULL, NULL, NULL, NULL, NULL, '511,513,512', NULL, NULL, NULL),
(4665, 'Baby blue dragon', 'Young but still dangerous.', 50, 40, 40, 42, 1, 40, '50,40,64,60,30,45,40,40,20,40,40,20,0,0,0', NULL, NULL, 32, 5, NULL, NULL, 25, 26, 28, NULL, 25, 25, NULL, NULL, NULL, 3, 68, 0, NULL, NULL, 1, NULL, NULL, NULL, NULL, NULL, '408,410,409', NULL, NULL, NULL),
(4666, 'Baby blue dragon', 'Young but still dangerous.', 51, 45, 45, 48, 45, 45, '49,45,43,50,73,71,56,78,68,0,0,0,0,0,0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 108, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '408,410,409', NULL, NULL, NULL),
@ -17513,6 +17514,7 @@ INSERT INTO `npc_configs` (`id`, `name`, `examine`, `lifepoints`, `attack_level`
(7772, 'Lava monster', 'A monster made of magma.', 54, 28, 28, 38, 38, NULL, NULL, NULL, NULL, 60, NULL, NULL, NULL, 9337, 0, 9340, NULL, 0, 0, NULL, NULL, NULL, 0, NULL, NULL, 1, NULL, 1, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
(7773, 'Fire monster', 'A monster like many others', 54, 28, 28, 38, 38, NULL, NULL, NULL, NULL, 60, NULL, NULL, NULL, 9341, 0, 9344, NULL, 0, 0, NULL, NULL, NULL, 0, NULL, NULL, 2, NULL, 1, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
(7823, 'Wall Beast', 'A big, scary hand! ', 105, 38, 38, 38, 1, NULL, NULL, NULL, NULL, 60, 6, 1, NULL, 1802, 1803, 1804, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 105, NULL, NULL, 1, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
(7891, 'Melee dummy', 'A melee training dummy', 15, 1, 1, 1, 1, NULL, NULL, NULL, NULL, 60, 6, NULL, NULL, 94, 0, 97, NULL, 0, 0, NULL, NULL, NULL, 6, NULL, NULL, NULL, NULL, 1, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
(8133, 'Corporeal Beast', 'A vision of supernatural horror.', 2000, 95, 95, 95, 95, 95, '380,250,350,400,650,450,920,850,750,800,1500,250,250,275,200', NULL, 1, 80, 6, 64, 64, 10058, 10386, 10385, NULL, 10053, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 1, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
(8149, 'Armoured zombie', 'He sure looks grave.', 62, 50, 50, 50, 50, NULL, '30,30,80,85,80,40,40,60,38,0,0,0,0,0,0', NULL, NULL, 35, 6, NULL, NULL, 5571, 5574, 5575, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 30, NULL, NULL, 1, NULL, NULL, NULL, NULL, NULL, '931,923,922', NULL, NULL, NULL),
(8150, 'Armoured zombie', 'This is a rotten one.', 62, 50, 50, 50, 50, NULL, '30,30,80,85,80,40,40,60,38,0,0,0,0,0,0', NULL, NULL, 35, 6, NULL, NULL, 5571, 5574, 5575, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 30, NULL, NULL, 1, NULL, NULL, NULL, NULL, NULL, '931,923,922', NULL, NULL, NULL),

View file

@ -613,6 +613,9 @@ public class Shop {
}
double mod = (maxMod + minMod) / 2;
int value = (int) (item.getDefinition().getAlchemyValue(highAlch) * mod * item.getAmount());
if(item.getId() == 12183){
value = 25 * item.getAmount();
}
return value;
}

View file

@ -97,6 +97,7 @@ public final class CombatPulse extends Pulse {
@Override
public boolean pulse() {
if (victim == null || DeathTask.isDead(entity) || DeathTask.isDead(victim)) {
return true;
}
@ -374,6 +375,10 @@ public final class CombatPulse extends Pulse {
if (victim == this.victim && isAttacking()) {
return;
}
//makes sure lumbridge dummies can't attack back (lol)
if (victim instanceof Player && (this.entity.getId() == 4474 || this.entity.getId() == 7891)){
return;
}
if (victim instanceof NPC) {
if (entity instanceof Player && victim != this.victim && victim != lastVictim) {
// Loar Shade Transformation Animation

View file

@ -33,7 +33,7 @@ public abstract class CombatSwingHandler {
/**
* The amount of experience to get per hit.
*/
public static final double EXPERIENCE_MOD = 4;
public static double EXPERIENCE_MOD = 4;
/**
* The mapping of the special attack handlers.
@ -368,12 +368,20 @@ public abstract class CombatSwingHandler {
* @param state The battle state.
*/
public void adjustBattleState(Entity entity, Entity victim, BattleState state) {
this.EXPERIENCE_MOD = 4;
int totalHit = 0;
if (entity instanceof Player) {
((Player) entity).getFamiliarManager().adjustBattleState(state);
}
entity.sendImpact(state);
victim.checkImpact(state);
//Prevents lumbridge dummies from dying (true to how rs3 / runescape in 2009 does it)
if((victim.getId() == 4474 && this.type == CombatStyle.MAGIC) || (victim.getId() == 7891 && this.type == CombatStyle.MELEE)) {
this.EXPERIENCE_MOD = 0.1;
victim.fullRestore();
if(state.getEstimatedHit() >= 15){state.setEstimatedHit(14);};
if(state.getSecondaryHit() >= 15){state.setSecondaryHit(14);}
}
if (state.getEstimatedHit() > 0) {
state.setEstimatedHit(getFormatedHit(entity, victim, state, state.getEstimatedHit()));
totalHit += state.getEstimatedHit();

View file

@ -313,6 +313,11 @@ public final class GameWorld {
//LandscapeParser.addGameObject(new GameObject(6097, new Location(2343, 3690, 0), 10, 0));
LandscapeParser.addGameObject(new GameObject(1317, new Location(2343, 3690, 0), 10, 3));
LandscapeParser.addGameObject(new GameObject(1814, new Location(3090, 3475, 0), 4, 0));//edgeville lever
LandscapeParser.addGameObject(new GameObject(1293, new Location(2461, 3446, 0), 10,0)); // Gnome Stronghold Spirit Tree
LandscapeParser.addGameObject(new GameObject(2646, new Location(2445, 3413, 0), 10,0)); // Gnome Stronghold flax
LandscapeParser.addGameObject(new GameObject(2646, new Location(2447, 3414, 0), 10,2)); // Gnome Stronghold flax
LandscapeParser.addGameObject(new GameObject(2646, new Location(2447, 3421, 0), 10,0));// Gnome Stronhold flax
NPC[] npcs = new NPC[]{new NPC(494, new Location(2327, 3687, 0))};
for (NPC npc : npcs) {
npc.setDirection(Direction.EAST);

View file

@ -1,14 +1,17 @@
package plugin.interaction.city;
import org.crandor.cache.def.impl.ObjectDefinition;
import org.crandor.game.content.skill.Skills;
import org.crandor.game.content.skill.member.agility.AgilityHandler;
import org.crandor.game.interaction.OptionHandler;
import org.crandor.game.node.Node;
import org.crandor.game.node.entity.impl.ForceMovement;
import org.crandor.game.node.entity.player.Player;
import org.crandor.game.node.object.GameObject;
import org.crandor.game.node.object.ObjectBuilder;
import org.crandor.game.system.task.Pulse;
import org.crandor.game.world.GameWorld;
import org.crandor.game.world.map.Direction;
import org.crandor.game.world.map.Location;
import org.crandor.game.world.update.flag.context.Animation;
import org.crandor.plugin.InitializablePlugin;
@ -26,6 +29,8 @@ public final class GnomeStrongholdPlugin extends OptionHandler {
ObjectDefinition.forId(190).getConfigurations().put("option:open", this);
ObjectDefinition.forId(1967).getConfigurations().put("option:open", this);
ObjectDefinition.forId(1968).getConfigurations().put("option:open", this);
ObjectDefinition.forId(9316).getConfigurations().put("option:climb",this);
ObjectDefinition.forId(9317).getConfigurations().put("option:climb",this);
return this;
}
@ -33,6 +38,20 @@ public final class GnomeStrongholdPlugin extends OptionHandler {
public boolean handle(Player player, Node node, String option) {
GameObject object = (GameObject) node;
switch (object.getId()) {
case 9316:
case 9317:
final boolean scale = player.getLocation().getY() <= object.getLocation().getY();
final Location end = object.getLocation().transform(scale ? 3 : -3, scale ? 6 : -6, 0);
if (player.getSkills().getStaticLevel(Skills.AGILITY) < 50) {
player.getPacketDispatch().sendMessage("You must be level 50 agility or higher to climb down the rocks.");
break;
}
if (!scale) {
ForceMovement.run(player, player.getLocation(), end, Animation.create(740), Animation.create(740), Direction.SOUTH, 13).setEndAnimation(Animation.RESET);
} else {
ForceMovement.run(player, player.getLocation(), end, Animation.create(1148), Animation.create(1148), Direction.SOUTH, 13).setEndAnimation(Animation.RESET);
}
break;
case 1967:
case 1968:
openTreeDoor(player, object);

View file

@ -4,7 +4,9 @@ import org.crandor.cache.def.impl.NPCDefinition;
import org.crandor.game.interaction.Option;
import org.crandor.game.interaction.OptionHandler;
import org.crandor.game.node.Node;
import org.crandor.game.node.entity.combat.CombatStyle;
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;
@ -18,6 +20,9 @@ public final class AttackOptionPlugin extends OptionHandler {
@Override
public boolean handle(Player player, Node node, String option) {
//Makes sure player uses correct attack styles for lumbridge dummies
if (node.getId() == 4474 && !(player.getSwingHandler(false).getType() == CombatStyle.MAGIC)){ player.sendMessage("You can only attack this with magic."); return true; }
if (node.getId() == 7891 && !(player.getSwingHandler(false).getType() == CombatStyle.MELEE)){ player.sendMessage("You must use the training sword to attack this."); return true; }
player.attack(node);
return true;
}