diff --git a/Server/src/main/java/core/game/content/consumable/Consumables.java b/Server/src/main/java/core/game/content/consumable/Consumables.java index dabfc8390..5c0c68a13 100644 --- a/Server/src/main/java/core/game/content/consumable/Consumables.java +++ b/Server/src/main/java/core/game/content/consumable/Consumables.java @@ -318,12 +318,12 @@ public enum Consumables { HUNTER(new Potion(new int[] {9998, 10000, 10002, 10004}, new SkillEffect(Skills.HUNTER, 3, 0))), RESTORE(new Potion(new int[] {2430, 127, 129, 131}, new RestoreEffect(10, 0.3))), SARA_BREW(new Potion(new int[] {6685, 6687, 6689, 6691}, new MultiEffect(new PercentHeal(.15), new SkillEffect(Skills.ATTACK, 0, -0.10), new SkillEffect(Skills.STRENGTH, 0, -0.10), new SkillEffect(Skills.MAGIC, 0, -0.10), new SkillEffect(Skills.RANGE, 0, -0.10), new SkillEffect(Skills.DEFENCE, 2, 0.2)))), - SUMMONING(new Potion(new int[] {12140, 12142, 12144, 12146}, new SkillEffect(Skills.SUMMONING, 7, 0.25))), + SUMMONING(new Potion(new int[] {12140, 12142, 12144, 12146}, new SummoningEffect(7, 0.25))), COMBAT(new Potion(new int[] {9739, 9741, 9743, 9745}, new MultiEffect(new SkillEffect(Skills.STRENGTH, 3, .1), new SkillEffect(Skills.ATTACK, 3, .1)))), ENERGY(new Potion(new int[] {3008, 3010, 3012, 3014}, new MultiEffect(new EnergyEffect(10), new HealingEffect(3)))), FISHING(new Potion(new int[] {2438, 151, 153, 155}, new SkillEffect(Skills.FISHING, 3, 0))), PRAYER(new Potion(new int[] {2434, 139, 141, 143}, new PrayerEffect(7, 0.25))), - SUPER_RESTO(new Potion(new int[] {3024, 3026, 3028, 3030}, new MultiEffect(new RestoreEffect(8, 0.25), new PrayerEffect(8, 0.25)))), + SUPER_RESTO(new Potion(new int[] {3024, 3026, 3028, 3030}, new MultiEffect(new RestoreEffect(8, 0.25), new PrayerEffect(8, 0.25), new SummoningEffect(8, 0.25)))), ZAMMY_BREW(new Potion(new int[] {2450, 189, 191, 193}, new MultiEffect(new DamageEffect(0.1, true), new SkillEffect(Skills.ATTACK, 0, 0.15), new SkillEffect(Skills.STRENGTH, 0, 0.25), new SkillEffect(Skills.DEFENCE, 0, -0.1), new RandomPrayerEffect(0, 10)))), ANTIFIRE(new Potion(new int[] {2452, 2454, 2456, 2458}, new SetAttributeEffect("fire:immune", 600, true))), GUTH_REST(new Potion(new int[] {4417, 4419, 4421, 4423}, new MultiEffect(new RemoveStateEffect(EntityState.POISONED.ordinal()), new EnergyEffect(5), new HealingEffect(5)))), @@ -333,12 +333,12 @@ public enum Consumables { BLAMISH_OIL(new FakeConsumable(1582, new String[] {"You know... I'd really rather not."})), /** Barbarian Mixes */ - PRAYERMIX(new BarbarianMix(new int[] {11467, 11465}, new MultiEffect(new PrayerEffect(7, 0.25), new HealingEffect(6)))), - ZAMMY_MIX(new BarbarianMix(new int[] {11523, 11521}, new MultiEffect(new SkillEffect(Skills.HITPOINTS, 0, -0.10), new SkillEffect(Skills.ATTACK, 0, 0.15), new SkillEffect(Skills.STRENGTH, 0, 0.25), new SkillEffect(Skills.DEFENCE, 0, -0.1), new RandomPrayerEffect(0, 10)))), - ATT_MIX(new BarbarianMix(new int[] {11431, 11429}, new MultiEffect(new SkillEffect(Skills.ATTACK, 3, 0.1), new HealingEffect(3)))), - ANTIP_MIX(new BarbarianMix(new int[] {11435, 11433}, new MultiEffect(new RemoveStateEffect(EntityState.POISONED.ordinal()), new SetAttributeEffect("poison:immunity", 143), new HealingEffect(3)))), - RELIC_MIX(new BarbarianMix(new int[] {11439, 11437}, new MultiEffect(new RemoveStateEffect("disease"), new SetAttributeEffect("disease:immunity", 300), new HealingEffect(3)))), - STR_MIX(new BarbarianMix(new int[] {11443, 11441}, new MultiEffect(new SkillEffect(Skills.STRENGTH, 3, 0.1), new HealingEffect(3)))), + PRAYERMIX(new BarbarianMix(new int[] {11465, 11467}, new MultiEffect(new PrayerEffect(7, 0.25), new HealingEffect(6)))), + ZAMMY_MIX(new BarbarianMix(new int[] {11521, 11523}, new MultiEffect(new SkillEffect(Skills.HITPOINTS, 0, -0.10), new SkillEffect(Skills.ATTACK, 0, 0.15), new SkillEffect(Skills.STRENGTH, 0, 0.25), new SkillEffect(Skills.DEFENCE, 0, -0.1), new RandomPrayerEffect(0, 10)))), + ATT_MIX(new BarbarianMix(new int[] {11429, 11431}, new MultiEffect(new SkillEffect(Skills.ATTACK, 3, 0.1), new HealingEffect(3)))), + ANTIP_MIX(new BarbarianMix(new int[] {11433, 11435}, new MultiEffect(new RemoveStateEffect(EntityState.POISONED.ordinal()), new SetAttributeEffect("poison:immunity", 143), new HealingEffect(3)))), + RELIC_MIX(new BarbarianMix(new int[] {11437, 11439}, new MultiEffect(new RemoveStateEffect("disease"), new SetAttributeEffect("disease:immunity", 300), new HealingEffect(3)))), + STR_MIX(new BarbarianMix(new int[] {11441, 11443}, new MultiEffect(new SkillEffect(Skills.STRENGTH, 3, 0.1), new HealingEffect(3)))), RESTO_MIX(new BarbarianMix(new int[] {11449, 11451}, new MultiEffect(new RestoreEffect(10, 0.3), new HealingEffect(3)))), ENERGY_MIX(new BarbarianMix(new int[] {11453, 11455}, new MultiEffect(new EnergyEffect(10), new HealingEffect(6)))), DEF_MIX(new BarbarianMix(new int[] {11457, 11459}, new MultiEffect(new SkillEffect(Skills.DEFENCE, 3, 0.1), new HealingEffect(6)))), @@ -380,4 +380,4 @@ public enum Consumables { add(consumable.consumable); } } -} \ No newline at end of file +} diff --git a/Server/src/main/java/core/game/content/consumable/effects/SummoningEffect.java b/Server/src/main/java/core/game/content/consumable/effects/SummoningEffect.java new file mode 100644 index 000000000..d1ea42804 --- /dev/null +++ b/Server/src/main/java/core/game/content/consumable/effects/SummoningEffect.java @@ -0,0 +1,19 @@ +package core.game.content.consumable.effects; + +import core.game.node.entity.player.Player; +import core.game.content.consumable.ConsumableEffect; +import core.game.node.entity.skill.Skills; + +public class SummoningEffect extends ConsumableEffect { + double base, bonus; + public SummoningEffect(double base, double bonus){ + this.base = base; + this.bonus = bonus; + } + @Override + public void activate(Player p) { + int level = p.getSkills().getStaticLevel(Skills.SUMMONING); + double amt = base + (level * bonus); + p.getSkills().updateLevel(Skills.SUMMONING, (int)amt, level); + } +} diff --git a/Server/src/main/java/core/game/node/entity/skill/magic/lunar/StringJewellerySpell.java b/Server/src/main/java/core/game/node/entity/skill/magic/lunar/StringJewellerySpell.java index 50aaeafcd..44eb457b3 100644 --- a/Server/src/main/java/core/game/node/entity/skill/magic/lunar/StringJewellerySpell.java +++ b/Server/src/main/java/core/game/node/entity/skill/magic/lunar/StringJewellerySpell.java @@ -118,7 +118,7 @@ public final class StringJewellerySpell extends MagicSpell { if (meetsRequirements(player, true, true) && player.getInventory().remove(node)) { player.getInventory().add(new Item(STRUNG[getIndex()])); player.getSkills().addExperience(Skills.CRAFTING, 4, true); - player.getSkills().addExperience(Skills.CRAFTING, 87, true); + player.getSkills().addExperience(Skills.MAGIC, 83, true); } else { return true; } diff --git a/Server/src/main/java/core/game/node/entity/skill/summoning/SummoningCreator.java b/Server/src/main/java/core/game/node/entity/skill/summoning/SummoningCreator.java index 34ae72382..b8f8982af 100644 --- a/Server/src/main/java/core/game/node/entity/skill/summoning/SummoningCreator.java +++ b/Server/src/main/java/core/game/node/entity/skill/summoning/SummoningCreator.java @@ -123,7 +123,7 @@ public final class SummoningCreator { @Override public boolean checkRequirements() { player.getInterfaceManager().close(); - if (player.getSkills().getLevel(Skills.SUMMONING) < type.getLevel()) { + if (player.getSkills().getStaticLevel(Skills.SUMMONING) < type.getLevel()) { player.getPacketDispatch().sendMessage("You need a Summoning level of at least " + type.getLevel() + " in order to do this."); return false; } @@ -297,4 +297,4 @@ public final class SummoningCreator { return list; } } -} \ No newline at end of file +}