Updates for 2023-09-23

  • Evasion from Freezing Armour will now work in PvP and PvE
  • Fix drain HP procs from killing GameMasters/Monitors
  • Fix Revenge proc continuing to load from the database
  • Revenge is now Earth damage instead of Fire
  • Fix Evil Reverse showing wrong proc
  • Fix Red Rumtis debuffing a player at +3
  • Fix stat stacking bug at Red Rumtis +9
  • Fix stat stacking bug at Blessed Red Rumtis +8/+9
  • Shadow Boots add STR +1
  • Shadow Boots moved from 45 box to 55 box
  • Illusionist Kiringku will now be rewarded as a starter item for Illu
  • New item Training Claw, Training Crossbow, Training Bow, given to each character creation
  • Illusionist Kiringku, Training Claw, Training Crossbow, Training Bow can now be enchanted with Training Weapon Enchants and protections
  • Crystall sell price has doubled
  • DK Shop prices adjusted to reflect live
  • Several items have been added to the Sell Shop
  • Demon King Bow and Sayha Bow are now one handed
  • Demon King Bow damage up 5/5 -> 20/18, bonus dmg down 6 -> 4
  • Elf will now get Training Spirit Gems
  • Lawful/Chaotic Wizard Spellbooks from level 4 to 10 now require a temple to learn
  • Adjust price on coloured cloth
  • Remove timer on Pure White T-shirts

Crest of

  • Update tooltip for Knowledge, Agility and Growth
  • Remove AC given from Regen

Crest of Growth

Striker’s Gale

  • Duration down 192 -> 12 seconds
  • MP cost up 10 -> 15
  • Spirit Gem cost down 5 -> 2
  • Fix double calculations
  • Range reduced full screen -> 6 cells

Technical

  • Adjust warehouse size to prevent item duping
  • Remove duplicate lawful statues
  • Class damage reduction has been added. Each class will gain +1 damage reduction at level 60 and then an additional damage reduction every few levels based on class. Here is the code
  • if (_targetPc.getLevel() >= 60) {
  • int classDR = 0;
  • if (_targetPc.isCrown()) {
  • int levelDiff = _targetPc.getLevel() - 60;
  • classDR = 1 + (levelDiff / 3);
  • } else if (_targetPc.isKnight()) {
  • int levelDiff = _targetPc.getLevel() - 60;
  • classDR = 1 + (levelDiff / 2);
  • } else if (_targetPc.isElf()) {
  • int levelDiff = _targetPc.getLevel() - 60;
  • classDR = 1 + (levelDiff / 4);
  • } else if (_targetPc.isWizard()) {
  • int levelDiff = _targetPc.getLevel() - 60;
  • classDR = 1 + (levelDiff / 4);
  • } else if (_targetPc.isDarkelf()) {
  • int levelDiff = _targetPc.getLevel() - 60;
  • classDR = 1 + (levelDiff / 3);
  • } else if (_targetPc.isDragonknight()) {
  • int levelDiff = _targetPc.getLevel() - 60;
  • classDR = 1 + (levelDiff / 3);
  • } else if (_targetPc.isBlackwizard()) {
  • int levelDiff = _targetPc.getLevel() - 60;
  • classDR = 1 + (levelDiff / 3);
  • } else if (_targetPc.isWarrior()) {
  • int levelDiff = _targetPc.getLevel() - 60;
  • classDR = 1 + (levelDiff / 3);
  • }
  • dmg -= classDR;
  • }