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
- Will now be calculated into EXP, was giving 0 before
- Enchanted +1 to +10 now give more exp, details on wiki
- Remove AC given
- https://lineage-open.fandom.com/wiki/Crest
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;
- }