diff --git a/src/engine/gameManager/LootManager.java b/src/engine/gameManager/LootManager.java index a24d1872..e7bd9d1e 100644 --- a/src/engine/gameManager/LootManager.java +++ b/src/engine/gameManager/LootManager.java @@ -101,6 +101,11 @@ public enum LootManager { chatMsg.setChannel(Enum.ChatChannelType.SYSTEM.getChannelID()); DispatchMessage.dispatchMsgToAll(chatMsg); } + if (ib.isDiscRune()){ + mob.level = 60; + mob.healthMax = 7500; + mob.setHealth(7500); + } } } diff --git a/src/engine/objects/Item.java b/src/engine/objects/Item.java index 245756c8..968e1821 100644 --- a/src/engine/objects/Item.java +++ b/src/engine/objects/Item.java @@ -1232,17 +1232,24 @@ public class Item extends AbstractWorldObject { return; if (this.getItemBase() != null) + if(this.getItemBase().isVorg()){ + this.clearEffects(); + for(String powerString : this.getItemBase().getVorgStats()){ + AbstractPowerAction apa = PowersManager.getPowerActionByIDString(powerString); + apa.applyBakedInStatsForItem(this, 0); + } + }else { + for (Integer token : this.getItemBase().getBakedInStats().keySet()) { - for (Integer token : this.getItemBase().getBakedInStats().keySet()) { - - effect = PowersManager.getEffectByToken(token); + effect = PowersManager.getEffectByToken(token); - if (effect == null) { - Logger.error("missing effect of token " + token); - continue; + if (effect == null) { + Logger.error("missing effect of token " + token); + continue; + } + AbstractPowerAction apa = PowersManager.getPowerActionByIDString(effect.getIDString()); + apa.applyBakedInStatsForItem(this, this.getItemBase().getBakedInStats().get(token)); } - AbstractPowerAction apa = PowersManager.getPowerActionByIDString(effect.getIDString()); - apa.applyBakedInStatsForItem(this, this.getItemBase().getBakedInStats().get(token)); } } diff --git a/src/engine/objects/ItemBase.java b/src/engine/objects/ItemBase.java index ad5ff347..1ac61a8d 100644 --- a/src/engine/objects/ItemBase.java +++ b/src/engine/objects/ItemBase.java @@ -919,4 +919,19 @@ public class ItemBase { public boolean isVorg(){ return LootManager.vorg_ha_uuids.contains(this.uuid) || LootManager.vorg_ma_uuids.contains(this.uuid) || LootManager.vorg_la_uuids.contains(this.uuid) || LootManager.vorg_cloth_uuids.contains(this.uuid); } + + public String[] getVorgStats() { + if(this.isLightArmor() || this.isMediumArmor() || this.isHeavyArmor() || this.isClothArmor()){ + if(this.getValidSlot() == MBServerStatics.SLOT_FEET) { + return new String[]{"PRE-130", "PRE-232", "PRE-212", "PRE-222", "SUF-007","SUF-150"}; + }else { + return new String[]{"PRE-130", "PRE-232", "PRE-212", "PRE-222", "SUF-007"}; + } + + } else if(this.isShield()){//shield + return new String[]{"SUF-265","PRE-123","PRE-232", "PRE-212", "PRE-222"}; + } else{//weapon + return new String[]{"PRE-020","PRE-033",}; + } + } }