- 615 - 650:
Revision 615
- Cleanup of useless attributes in skill XML files.
- Removed buffDuration flag from all skills. Duration can always be calculated from total count * period.
- Updated aggro system so that each skill has its own aggro points.
- Added isLevelStackable and maxStackableLevel attributes for skills like Hot Spring diseases.
- Removed 7000-7099 skill XML, since these skills are not supported by client.
- Minor fix regarding AIO Buffers update. Default time was broken.
Revision 616
- Fixed mobs circling players and getting stucked in walls. Thanks Karakan.
- Added FleeingNpc AI. Thanks Karakan.
- Added Valley of Saints AI. Thanks Karakan.
- Added a skill XML that was accidentally removed in previous commit. Thanks Karakan for reporting.
- Fixed sitting characters being able to move if they turn invisible while sitting, by GM command.
Revision 617
- Replaced getAltSpawn method with getScriptValue. Thanks Karakan.
- Retail-like ss/sps charge. Thanks Karakan.
- Improved summon spawn coords offset calculation.
Revision 618
- Reworked Friend System.
- Added Hot Springs Guildhouse missing doors. Thanks panousos1995.
- Organized doors file by ordering doors by region.
- Minor changes regarding variable and method names. Converted names from studly case to camel case.
- Added and updated new AI scripts. Thanks a lot Karakan.
- Added staticHitTime property for skills.
- Fixed Scrolls of Ressurection, so that they ignore caster' s casting speed.
- Fixed Dimensional Rift chests being aggressive. Thanks improvise and Karakan.
- From now on, chest monsters are not going to help monsters of the same faction. But it can still be done vice-versa.
- Fixed MagicSkillUse packet being corrupted at certain cases.
- Fixed characters targetting themselves upon using items like soe or fishing shots. Thanks improvise.
- Fixed soe exceptions causing soe for Castle and Clan Hall not to work. Thanks improvise.
- Fixed minor craft issues. Thanks improvise.
- Fixed private store visual bugs. Thanks improvise.
- From now on, character names will be store in CharNameTable.
- Added cache support for CharNameTable.
- Modified Trade chat configurations to be identical to Shout chat's.
- From now on, global shout chat flood protector will also be used for global trade chat.
- Changed isOnline method fron integer to boolean for easier usage.
- Friends should not be blocked by /block command.
- Block commands will not prevent GMs from talking to block requester.
- Player message refusal mode cannot apply to a character with higher access level.
- Fixed server name in login server list getting red at times due to missing packet data.
Revision 619
- Added NPC Location Info function to Newbie Guides. Thanks xlinkinx.
- Added configuration for setting Clan & Alliance name regex template. Thanks improvise for suggesting.
- Organized Item Container classes in itemcontainers package.
- Minor rework on SpawnTable.
- Removed PetNameTable, since certain methods including isValidName were moved in Util class for general usage and had no more purpose.
- Moved L2PetDataTable to datatable package.
Revision 620
- Completely removed Beanshell from core since it's not used.
- Improved Faenor Script Engine, so that it can parse XML files directly, instead of opening zip first.
- Removed events folder from datapack.
- Refactored Script-related class files.
- Added Java JSR-223 engine to core.
- Added a check for preventing players from selling collar of their summoned pet. Thanks improvise.
- Renamed controlItemId to controlItemObjectId to avoid confusion.
Revision 621
- Replaced old quest state system with a newer one. Using CREATED, STARTED, and COMPLETED states by default.
- Replaced no quest and completed quest messages with getNoQuestMsg() and getAlreadyCompletedMsg() methods respectively, in all quests.
- Corrected Quest monster spawn coords for Test of the Warspirit quest. It was way below ground, so players could not proceed to next quest step.
*This update affected almost all scripts and there is a small chance that there might be small isues. If so, we are here to solve them.
Revision 622
- Added more private store checks. Thanks improvise.
- Corrected Magical Creatures race skill ID. Thanks Karakan.
- Replaced TOI AI with a new one, written in Java. Thanks Karakan.
- Converted 'Letters of Love' quest to Java.
- Fixed questItemIds array which got broken in previous commits.
Revision 623 - 624
- Removed useless synchronization blocks inside MinionList.
- AI additions. Thanks Karakan and xlinkinx.
Revision 625
- Fixed aggression skills causing monsters to walk when they shouldn't. Thanks xlinkinx and Karakan.
- Reduce monster walk on attack chance.
- Minor refactoring.
Revision 626
Cubic System rework!
- Improved Cubic AI so that cubics attack when possible and when target is appropriate for attack. Thanks confejulian.
- Cubics will now use their own M.Atk for attacking.
- Added 'saveCubicOnExit' parameter to store cubics on logout. This is officially applied to Life Cubic for novice characters. Thanks Karakan.
- Removed useless 'save' parameter from all skills.
- Added missing effect type/power/stack for certain skills.
- Added a special check so that a new effect with identical stack type and order does not replace old effect if it has higher duration. This is mostly done for high rate servers where a buff like blessed body may have a lot higher duration than body of avatar or battleroar.
- Removed few bad spawns in Plains of Dion. Also, corrected Z coordinate of some spawns in that area.
- Added support to CreatureSay packet for displaying player name inside message.
- Added Plains of Dion AI. Thanks Karakan.
- Added Forge of the Gods AI. Thanks Karakan.
- Reworked Fairy Trees AI into Java. Thanks Karakan.
- Fixed Venomous Poison skill not working. Thanks Karakan.
- Corrected Death Bomb hit time.
Revision 627
Important!
Previous commit included an effect check that caused duplicate buffs.
This check was removed. I'm sorry for the inconvenience.
Also:
- Improved NPC Buffer checks.
- Added support for bypass commands without the use of -h parameter.
Revision 628
- Reworked NPC Buffer (Summer Gift by DnR).
- Fixed Tyrant fist skills working with other weapons. This was probably broken in past commits.
- Minor additions and fixes in PlainsOfDion AI. Thanks xlinkinx.
- Added contains method for checking if an array contains an object. Thanks Karakan.
- //setaio command will not run if AIO Buffers are disabled.
- Fixed HP/MP bug for servitors and pets.
- Re-added effects duration check. No issues will occur this time.
Revision 629
- Added NpcSay packet. It's now used for most cases of NPCs talking.
- Corrected few spawns in Forest of Outlaw.
- Changed registerMobs method to registerNPC for registering NPCs one by one.
- Added Ant Nest AI. Thanks Karakan.
- Reworked Devil's Isle AI into Java. Thanks Karakan.
- Reworked Treasure Chests AI into Java. Thanks Karakan.
- Added Outlaw Forest AI. Thanks Karakan.
- Added Fairy Trees AI social actions. Thanks Karakan.
- Fixed Sin Eater skill not working. Thanks xlinkinx.
- Fixes for Fallen Orc Shaman AI. Thanks xlinkinx.
- Added missing AI paths in scripts.cfg. Thanks Karakan.
Revision 630
- Corrected Sin Eater social action texts. Thanks Karakan.
- Added Java AI script for Feedable Beasts.
- Dropped support of Python in AI directory.
Revision 631
- Wedding System implementation.
This is an improved version of L2J Wedding System. Couple of bugs have been fixed, code has been improved, and few additions have been added.
A unique feature is that in the case of divorce refund, if the partner to refund is offline, adena will be moved to partner's warehouse freight.
- Organized custom mods HTML files.
- Organized Handlers in their corresponding Handler Managers, instead of loading all of them inside GameServer class. Same goes for Event Engine.
- Added walk speed to all character class templates.
- Replaced some findObject calls with new getPlayer. Player OID list is a lot smaller and has better performance.
- Improved movement speed calculation to a lot more accurate version. Also, movement speed multiplier is now calculated properly.
This fixes all minor bugs regarding movement speed.
- Added base speed for swimming (50 player, 70 player mounting strider, 140 player mounting wyvern).
- Completed ConfirmDlg packet. It's fully functional now.
- Replaced getRunSpeed calls with getMoveSpeed. This way, walk speed will be checked if character is walking.
- Added check for custom skills in addSkillName method.
- Fixed Clan Creation bug. Thanks GM.Smiley and Karakan.
*Note: This update will require installing weddings table and reinstalling char_templates table.
Revision 632 - 633
- NPC AI additions. Thanks Karakan.
- Added Olympiad Enchant Limit configuration.
- Fixed a bug that caused an Olympiad participant to stuck when he/she tried to attack a dead opponent.
- Minor change for reuse timestamps.
Revision 634
- EnterWorld exploit fix by Tryskell.
- Minor HTML teleport corrections.
Revision 635
Multisell Update.
- Added isTaxIngredient and maintainIngredient properties.
- Added AltBlacksmithCanUseRecipes configuration.
- Improved security regarding overflowing amounts, slots, and weight.
- Improved multisell list packet so that it does not throw NPEs if an item is invalid.
- Added missing tax ingredients to certain multisells.
Revision 636
- Added all missing Lottery Ticket Seller spawns.
- Added default onTalk message for Tutorial NPCs.
- Fixed minor issues regarding NPCs displaying quest windows.
Revision 637
- Removed custom folder from datapack since it's never used.
- Moved event html folder in mods folder.
- Added page parameter to NPC buffer bypasses.
- Added support for buff schemes to NPC Buffer.
- Fixed a warehouse freight message being shown when not needed.
- Minor improvement in warehouse client packets code.
- Player will rotate when talking to NPC if in interaction distance and looking on another direction. Thanks Sacrif.
- Added interval to prevent social action flood for NPCs.
Revision 638 - 639
- Fixed CastleManorManager causing log spam when using manor admin panel.
- Fixed ss/sps/bss issues. Thanks Sacrif.
- Improved onAction method and removed overrides from most of npc instances.
- Override showChatWindow method for npc instances who support talk, instead of creating a new method.
- NPC conditions were moved to L2FolkInstance and are inherited by the rest of classes, along with validateCondition method.
- Changed the way archers leave distance since guards were getting stucked due to their super long range. Default flee distance is 300. Thanks Karakan for code.
- Improved autoAttackCondition to ignore only invulnerable characters with GM status.
- Fixed bad conditions for certain folk NPCs. They were broken in commit 638.
Revision 640
- Removed bad handling for Baium's Gift skill.
- Added 2 exploit protections in Saga quests.
- Fixed skill handlers getting loaded during quests load.
- Fishing will now work on servers without geodata.
- Fixed error regarding quest leftovers cleanup upon completion.
- Improved QuestManager unload system.
Revision 641
- Updated dropable and tradeable flags for etcitems.
Revision 642
- Fixed ss/bss charge issues on weapon change. Thanks Sacrif.
- Improved checks in wear shop.
Revision 643
- Quest error fix. Thanks jmd.
Revision 644
- Minor cleaning and corrections in HTML files.
- Fixed Proof of Clan Alliance quest bugs.
Revision 645
- Added movement block time after talking to NPC. Thanks Sacrif.
- Added cleanup for warehouse freight deposit. Other character items were still remaining in world after transaction.
- Removed wedding divorce cost.
- Added a check for duplicate login that was accidentally removed in the past.
- Cleanup of useless close() calls since try automatically closes resources.
- Removed custom L2J Map & Set classes and used Java native ones instead.
- Improved deleteMe() method for ItemContainer.
Revision 646 - 647
- Completed work on NPC interaction block. Thanks Sacrif.
- Updated C3P0 library. Also, removed debugging on startup from console.
- Added new client states for login server.
- Improved item drop function in such a way that it's safer in terms of exploiting.
- Set Abyss Jewels movement speed to 0 just like in retail.
- Minor changes regarding movement speed. Also, added a check to prevent a bug/exploit when characters gave speed buffs to NPCs with 0 base speed.
- From now on, login server will check if requested game server IP is in banned IPs list before connecting.
- Improved knownlist code. Each instance will now use sendInfo method for such functions.
- Moved canInteract and canTarget in L2Character.
- Improved some Admin Panel HTML windows.
- Fixed a bug caused by unclosed center tags in Admin Panel that was breaking all HTML windows alignment until logout.
- Now, GMs can view players general stats by using shift + click.
- Improved onAction() call for summons.
- Character GM status change via //gm command will now be broadcasted using broadcastUserInfo() call. For example, by unsetting GM status, character will be affected by speed cap so character info packets must be sent.
Revision 648
Admin command rights system rework.
All access level checks have been removed from all admin command handlers.
Using old command-privileges file to apply minimum access level to each command. This file has been renamed to AdminCommandRights.properties.
Commands that have no access level set in that file will use MasterAccessLevel as default level.
Replaced default access level property with MasterAccessLevel.
When everyone has admin rights in server, their access level will be set to MasterAccessLevel upon login.
AdminNameColor will apply to characters whose access level is greater or equal to MasterAccessLevel.
GMNameColor will apply to characters whose access level is greater than 0.
Old system was written in such a way that server owners should only meddle with access levels of >= 100 for admins and >= 75 for GMs.
Also, EveryoneHasAdminRights property was setting character access level to 200.
The concept of this new system is to get rid of old bad-written command-rights system and let admins set access levels the way they want.
- Added few more checks for GM Transaction access.
- Corrected GMNameColor to yellow, just as it's described in comments.
- Deleted few unused conditions.
- Refactoring configuration files.
Revision 649
- Conditions will now gain access to funcOwner object. This way, more advanced conditions can be created.
- Using new "minEnchantLevel" condition for Dual Swords stats. Instead of finding item by id, then checking slot, and enchant level, admins can simply set enchant level. This condition works for all enchantable-equippable items.
Revision 650
- Getting rid of Lisvus_GameServer data folder by merging it with the one in Lisvus_DataPack.
- 651 - 700:
Revision 651
- Minor improvements regarding Mercenary Tickets.
Revision 652
- Improved AdminSkill handler.
- Improved removeAllSkills method.
- Added admin remove all skills button to admin skill panel. Thanks confejulian.
- Fixed transaction issues. Thanks SCRASH0.
Revision 653
- Removed admin_gm command due to few visible flaws and hardcoded checks. Admins can always add this command as custom to their servers.
- Fixed wrong message when a GM tried to use a command that does not exist.
- Converted AdminCommandRights.properties to XML.
- Minor improvements in loading servername.xml.
- Improved GM transaction checks.
Revision 654
- Cleanup and code improvements.
- Deleted AllyInfo server packet since it's been outdated since C3. Everything is handled properly by RequestAllyInfo client packet.
- Added message for admin_polymorph command upon usage.
- Fixed castle circlets removal system. Old system was deleting all clan members circlets upon one member's dismissal. Also, circlets would not be deleted if dismissed member was offline.
- Added a missing value in UserInfo and GMViewCharacterInfo packets.
Revision 655
- Removed AltGameSkillLearn configuration since it was exploitable.
- Removed SkillAbnormalStatus enum since it was an ugly way to take care of things.
- Weapon skills on cast will ignore ss/bss without the use of SkillAbnormalStatus enum.
- Added boolean isFirstCritical to all SkillHandlers and L2Skill child classes. Critical rate for first target will always be calculated before animation.
- Some work on improving skill handlers.
- Fixed players not retrieving noblesse skills during login. Thanks SCRASH0.
- Fixed noblesse status change sending UserInfo packet before noblesse flag updated.
- Added critical rate support for CHARGEDMG skills.
Revision 656
- Improved Beast Shot handlers.
- Added few missing System Messages.
- Discharge pet shots when entering olympiad.
Revision 657
- Fixed Mercenary Posting Tickets being dropped anywhere. Thanks DanielaCZ for an old related report.
- Mercenary Posting Tickets won't drop upon death.
- Removed 2 unused columns from etcitem table.
Revision 658
- Newbie system was reworked. Also, fixed issue with minimum newbie level set to 1. Thanks improvise.
- Removed account_data table since it was only being used for newbie variables.
- Name colors will not be saved on disconnect anymore. GMs can still change name colors using admin panel or setcolor command. This fixes issues with offline stores. Thanks SCRASH0.
- Players will receive a message when increasing their karma. Thanks improvise.
- Fixed message for admin_recall_char_menu. Thanks improvise.
- Fixed Guards attacking aggressive monsters even when GuardAttackAggroMob was set to false. Thanks improvise.
- Improved pvp damage stats so that they can be used for static bonus (e.g add,sub).
- Added damage stats for any kind of damage. These will also be used in the future.
Note: For adding missing columns in characters table, please use the query below.
- Code:
ALTER TABLE `characters` ADD `newbie_at` BIGINT NOT NULL DEFAULT '0' AFTER `aio_buffer`;
Revision 659
- Removed Plague Golem teleport from Admin Panel. Thanks improvise.
- Added a setting to allow free access to Seven Sign dungeons. Thanks improvise for suggesting.
- Added a condition to isSkillAllowed() to exclude Expertise and Create Common Item skills from its checks.
- Fixed an issue that prevented restoring and displaying skills with an ID of higher than 9000. Thanks confejulian.
- Improved security in Seven Signs dungeon gatekeepers. Their handling has moved to L2TeleporterInstance.
- Fixed an issue that caused a character state to stuck as private store if he failed to set private store earlier.
Revision 660 - 661
- Corrected Aden Castle Town and Hunter's Village teleports. Thanks confejulian.
- Fixed force increase message spam when gladiators or tyrants attacked using skills that increase forces.
- Corrected message when player charged to last force.
- Do not protect items if player dropped them himself. Thanks confejulian.
- Improved L2Weapon chance skill cast on critical. Certain SAs like critical drain would never work.
- Make corpses used for casting corpse skills disappear. Thanks confejulian.
- /block command will block buffs with 'BlockUnwantedBuffs' setting, but should never block them in events.
- Moved endDecayTask() to L2Character. It's now overridden by L2NpcInstance and L2SummonInstance.
Revision 662
- Improved Exp/Sp/Level admin window. Thanks JMD.
- Removed useless event in AntNest AI. Thanks Karakan.
- Improved PlainsOfDion AI. Thanks Karakan.
- Monsters will walk to spawn point. Thanks Karakan.
- Monsters will cancel their cast, if target is hidden behind Geodata. Thanks Karakan.
- Moved L2PcInstance EvtArrived checks to L2PlayerAI.
- AI Checks: Do not think of moving to a location or picking an item when casting a skill.
- Changed Private Store types to Enum. Also, added types for Dwarven Manufacture mostly for doing checks.
- Players cannot sit/stand while in store mode. Thanks improvise.
- Fixed RecipeShopManage List being displayed as "Dwarf" while managing General Manufacture.
- Fixed RecipeShopManageList exception.
- Players cannot add/delete recipes while in craft mode. Thanks improvise.
- Players cannot cast skills until physical attack is completed. Thanks improvise.
- Fixed Private Store Sell displaying items in inventory window while they were added in sell window. Thanks improvise.
- Players cannot summon a pet if its collar is suddenly gone from inventory. Thanks improvise.
- A battle between a pet and an owner will not bestow pvp flag. Thanks improvise.
- Fixed log issues on login regarding unknown packets. Thanks confejulian.
- Removed useless synchronized blocks from character status listener.
- Characters will not get pvp flag when casting good magic on guards.
- Big Boom servitor should not attack using /petattack command.
- Players should not be able to abort dwarven manufacture by clicking on general manufacture action and vice-versa.
Revision 663
- Fixed account ban being broken. Thanks SCRASH0 for reporting.
Revision 664
- Removed DETECT_WEAKNESS skill type.
- Corrected wrong primary key for custom_merchant_buylists table. Thanks wd250rxs98uh42js.
- Fixed recipe window needed materials not being updated properly when crafting. Thanks improvise.
- Fixed karma drop issues regarding equipped items. Thanks improvise.
- Improved inventory update on item drop.
- Added GROW and TEXTURE_CHANGE (Zaken) abnormal effects. Thanks Karakan for pointing out Zaken detail.
- Changed abnormal effect to int.
- Aura skills will now be casted even if there is no target nearby.
- Fixed effects calling onAction() even if effect start failed. This also caused issues to the fear skill. Thanks improvise.
- Improved an event check in L2PcInstance isAutoAttackable().
- Aura and Area skill affect nearby characters under certain conditions. Thanks improvise.
- Fixed NPE in Formulas calcSkillSuccess().
- Fixed Forget and Curse Discord landing on players without ctrl pressed. Thanks improvise.
- No more debuffs on party members. Thanks improvise.
Revision 665
- Fixed issues with pets being at their minimum level and lose exp on death, causing exp bar to show wrong values. Thanks improvise.
- Added Medals faenor script. Thanks Karakan.
- Removed useless data from Valentines faenor script.
- Added nextActionAttack property to set attack as next action for skills, one by one.
- Added TvTRemoveBuffsOnRespawn setting for determining whether players should keep their buffs in TvT. Thanks SCRASH0.
- Added checkIfMoveToPawn for checking whether character is close enough to cast a skill.
- Cleanup of code for command admin_giveitem. Also, added message to guide admins for its usage.
- Fixed admin_set_level command not updating exp when level is reduced.
- Fixed admin_set_level distributing exp to target's pet. It should only increase level of target.
- Fixed pets casting their skills even when they get unsummoned (e.g. in owner logout). Thanks improvise.
- Fixed item drop issue with stackable items. Thanks improvise.
- Removed faenor leftovers regarding beanshell.
- Reverted all checks regarding blocking use of skills during attack. Thanks improvise for pointing out the defects.
Revision 666
- Fixed item dupe regarding items consumed while casting. Thanks improvise.
- Moved HP, MP, and weapon dependency checks to L2Character doCast().
This prevents couple of cast bugs.
- Fixed pet collars not displaying pet level until they are used for the first time.
- Organization of cast cancel conditions.
- Fixed players casting debuffs on non-flagged pets or non-attackable NPCs (e.g. guards, friendly mobs). Thanks improvise.
- Fixed players not being able to cast damage skills on non-flagged pets. Thanks improvise.
Revision 667
- Implemented Zaken day/night change mode. Thanks a lot Karakan.
- Added Grow Effect. Thanks Karakan for details.
- Special abilities like Magic Silence will only land using magical skills.
- Merging custom_merchant_buylists items with original ones. Thanks WilliamFS for suggesting.
Revision 668
- Added Antibuff Shield. Thanks confejulian.
- Players will auto-learn Antibuff Shield.
- Antibuff Shield will have no effect in Grand Olympiad games.
- Added buffVuln stat which can be used for a variety of functionalities.
Revision 669
- Added UPnPService. Special thanks to JMD and WilliamFS.
Revision 670
- Added new AIs for couple of quest monsters. Thanks Karakan.
- Added Grandis AI. Thanks Karakan.
- AcceptNewGameServer will be set to true by default. Thanks JMD.
- Added toolkit beep sound on gameserver startup. Thanks JMD.
Revision 671
- Added condition item restriction support for items. Thanks WilliamFS.
- Fixed Magic Hold S/A for Imperial Staff.
- Updated NPC Buffer. Thanks WilliamFS.
- Added DanceMpConsumeRate. Thanks WilliamFS.
Revision 672
- Added messageId for conditions.
- Added GM_SKILL_RESTRICTION access level. Also, changed this one and GM_ITEM_RESTRICTION level to 120 so as to avoid confusion. If server owners wish to use those, they have to set level to a more useable one (e.g. 75, 100).
- Added target check support for skill conditions.
- Removed old traveler's weapons unequip system and used checkItemRestriction() instead.
- Improved InventoryUpdate packet structure for checkItemRestriction() and computeNewHeroes().
- Toggles should not consume buff slots. Thanks confejulian.
- Antibuff Shield will now prevent buffs from anyone. Thanks confejulian.
- Added ConditionPlayerPKCount condition.
Revision 673
- Added name prefix for AIO buffers. Thanks confejulian.
- Added maximum base MP setting for buffers. Thanks confejulian.
- Added more buffs for AIO buffers.
- Added respawn_once command and fixed respawn command not working properly with zero value. Thanks Arlindok9, Karakan, and JMD.
- Fixed pet blow skills not displaying damage message. Thanks improvise.
- Fixed magic cast being broken for certain party skills. Thanks improvise.
- Added Mana Recharge formula based on level. Thanks improvise.
- Traveler's weapons cannot be enchanted. Thanks improvise.
- Fixed mobs attacking other mobs using AOE skills. Thanks Karakan and improvise.
- Implemented Corpse of Deadman behaviour. Thanks improvise for reporting and Karakan for providing assistance.
- Fixed pets minimum and maximum levels being wrong. Thanks Arlindok9.
- Pets monster aggro will transfer to owner upon unsummon.
Revision 674
- Improved Mana Recharge level formula.
- Fixed previous fix for pet aggro being transferred to owner upon unsummon.
Revision 675
- Added is_magical property for weapons. Thanks WilliamFS.
Revision 676
- Removed few wrong weapon data. Thanks WilliamFS.
- Fixed few compiler issues. Thanks WilliamFS.
Revision 677
- Added Resist Shock buff to NPC Buffer. Thanks WilliamFS.
- Added Resist Shock buff to AIO Buffer.
- Improved ZoneManager loader in such a way that it does not need to recognize zone type and call the appropriate class using multiple if statements. Thanks JMD for pointing out.
- Added custom multisell (configurable). Thanks JMD and Karakan.
- Fixed a serious bug that prevented offline buy stores to save 2 non-stackable items of the same item ID.
- Players can now create a private buy store for enchanted items. Thanks ASDron and Arlindok9.
- PvP flag will not be reset on death. Thanks JMD and Joabi.
- Minor check improvement for multisells. Thanks ACruZ.
- Datapack Ant build will now include empty directories upon export.
*Note: For an online server, please make sure to add new enchant_level column in character_offline_trade_items table.
Revision 678
- Added .changepassword configurable voiced command. Thanks JMD for suggesting.
- Now, voiced commands can be used as HTML bypass commands.
- Buylists can now be reloaded using admin_reload command. Thanks JMD for suggesting.
Revision 679
Moving to Java 11. Thank you all for your support until now.
Few details regarding this update:
- Replaced deprecated methods.
- Updated ECJ to 4.13 for Java 11 support.
- Updated Jython to 2.7.2b1.
- Fixed an NPE in Login Server that occured when Game Server was waiting for a Login Server to connect.
- Fixed few quest errors that occured after Jython update.
Revision 680
Allowing Jython to use registry file. Developers can also use it to set certain python options.
Instead of unsetting python.import.site inside jython source, it's better to do it in registry file.
Revision 681
- Translated Echo Crystals script into Java.
- Fixed critical hits being broken for all skills except for blows. Thanks legionarios.
- Removed cron folder and TaskJython task.
- Fixed issues when exchanging swords for dual swords in Blacksmith of Mammon. Thanks JMD, WilliamFS.
- Organized SystemMessage Message IDs in order.
- Added item count limit for all items. For stackable items, it's 2 billions, and 1 million for the rest. Thanks ASDron, JMD.
- Fixed Private Store Sell weight and slot checks not working.
- Removed some useless Integer.MAX_VALUE checks.
- Fixed player weight overflow.
Revision 682
- Translated Hero Items script into Java.
- Translated Ketra Orc Support script into Java.
- Translated Varka Silenos Support script into Java.
- Mantras and Runes do not have a maximum count of 2 billion.
- Character Skill List has become more retail-like. Skills are sorted by ID and toggles are always last.
- Few improvements regarding Lists and Maps.
Revision 683
- Corrected ToI entrance admin teleport.
- Translated Race Track Teleporter into Java.
- Translated TeleportWithCharm script into Java.
- Translated 4 ToI teleport scripts into a single Java file.
- From now on, all Java scripts will be loaded from JavaScriptManager class.
- Removed main method from all Java scripts.
- Walker npcs will use CreatureSay packet to broadcast their messages. Thanks JMD.
- Few code improvements.
Revision 684
- Added gitignore rules due to moving project to gitlab. Also, some changes were performed in ant build files.
- Renamed BuffsPerSlot configuration to BuffSlotsPerRow.
Revision 684b
- Added missing ALT+G commands. Thanks JMD.
- Added few missing System Messages.
- Minor improvements for Faenor script engine.
Revision 684c
- Olympiad Stadiums rework. Removing Olympiad Stadium instances and using stadium zones instead.
- Added teleport distance between Olympiad participants. Thanks Joabi.
- Added more retail spawn locations for Olympiad participants. Thanks Joabi.
- Fixed most stadium zone vertices pointing to wrong zones.
- Renamed isChaotic to isAlternate for spawn locations.
- Improved admin_zone_check command so that it displays more details about current zone(s).
- Added useSSL=false parameter to database URL since couple of users had issues after using MySQL 5.7+.
Revision 684d
- admin_setinvul can now be used on L2Character.
- Fixed an issue which caused clan hall warehouse not to work. Thanks Vito33.
- Player siege state will now be set/reset on clan join/leave.
- Added isWarehouse() property for folk npcs.
- Fixed Unlock skill not working. Thanks improvise.
- Fixed admin skill menu not displaying available orc mystic skills at times, due to bad HTML elements.
Revision 685
- Fixed serious Olympiad issues that occured after previous Olympiad update. Thanks Joabi for pointing out.
Revision 686
- Added 'Take Castle' button in admin panel. Thanks JMD.
- Clan window will update when using 'Take Castle' or 'Take Clan Hall'.
- Few improvements in Admin Pledge panel button.
- Small improvement in OlympiadManager.
Revision 687 - 688
- Added GNU license to project root folder.
- Added custom minions table. Thanks JMD and Karakan.
- Fixed Repent your Sins quest issues. Thanks Arlindok9.
- Improved GMViewSkillInfo packet skill order.
Revision 689
ChampionRewards and ChampionAdenasRewards settings will now accept float values. This gives admins the possibility to reduce original drop rate for champions.
Revision 690
ClassCastException fix for admin_setinvul command.
Revision 691
- Removed L2CharPosition class. Location can serve the same purpose.
- Added GrandBoss properties file. Thanks JMD.
- Grand Bosses respawn time calculation has been corrected.
- Minor correction regarding AI moveToPawn timeout.
01-12-2019
- Fixed Private Store item count issues. Thanks Arlindok9.
- Fixed a Private Store Sell issue regarding enchanted items.
- Rewritten Oracle Teleport script into Java.
Revision 694 - 05-12-2019
- Removed class templates from database. They are now located in stats/classTemplates.xml. With this, we get rid of 3 sql tables. Thanks Karakan for suggesting.
- Fixed a class master NPE caused by GMs talking to NPC.
- Added support for adding multiple items for characters first login. Thanks Arlindok9 for suggesting.
- Admins can now add extractable items that extract multiple items, using a certain format. Thanks Arlindok9 for suggesting.
- CharTemplateTable will now keep a proper cache for classes.
- Added rate for fish extraction.
- Removed certain spoil rates from configuration file, since they were never used.
Revision 695 - 05-12-2019
- A fix regarding previous commit.
- *Reference in 694: Added security checks in CharacterCreate packet.
Revision 696
- Fixed Soul Crystal issues that occured since previous commit. Thanks Arlindok9.
- Removed few weird Hot Springs mob spawns.
- Added a missing Hot Springs npc spawn.
- Admin commands for giving/deleting all target skills will now refresh client skill list.
Revision 697
- Fixed Special Xmas Gift (ID: 5555) broadcasting content to all players. Thanks Arlindok9.
- Replacing c3p0 connection pool with HikariCP.
- Added MariaDB database driver. From now on, this will be the default driver.
- Got rid of ConnectionClose task for unclosed connections. It's more like overheading than helpful.
- Small organization in SiegeManager.
- Threadpools will now stop earlier during shut down.
Revision 698
- Small Admin Panel organization.
- Updated database 'MaxDbConnections' property due to issues. Thanks luigifps for feedback.
- Added Cylinder zone form. Thanks Joabi.
- Fixed adena losing its order as ingredient in Multisell lists. Thanks confejulian.
- Moved zone vertices to XML and got rid of sql table.
- Got rid of few zone-related instance managers since new ZoneManager supports zone retrieval by class.
- All zones have been split into files according to their type. Thanks to moving all zone data into XML and splitting them into files, their structure has been improved.
- Added 'enabled' property for enabling/disabling whole zone XML lists.
- Improved several boss zone vertices.
- Added zone type ZONE_TOWN for distinguishing towns from rest of peaceful zones.
- Added zone reload functionality. It's possible via //zone_reload admin command.
- Added admin zone window. Admins have the ability to know which zones they are into, and what their properties are (e.g. No Landing state).
- Admins can now visualize zones using admin zone window or corresponding commands.
- Added button for admin zone window in Admin Panel.
- Upgraded //zone_check command. Admins can now view a variety of zone and region data (e.g. Geo Region). This command will also open admin zone window.
- Added command right access levels for zone commands.
- Added warning during item XML files parsing, in case an item was not found into database for some reason. This will help admins with flaws regarding custom mods.
- Characters who have not completed third class transfer cannot not view Olympiad manager noblesse window. They will still be able to observe matches, just like non-noblesse characters.
- Minor correction in Login Server authentication.
Revision 699
- Added few more checks regarding item XML-SQL warning that was added in previous commit.
- In the case of game server, 'GameGuardEnforce' setting was moved to GameServer.properties.
- Added 'GameGuardEnforce' setting for login server.
- Removed 'GameGuardProhibitAction' setting since it was never used.
- Added login support for clients without working gameguard. This also allows the last remaining C5 clients to connect to login server.
- Added 'chaotic' and 'olympiad' player conditions. These can be used to limit item use only for chaotic or olympiad characters respectively.
Revision 700
- Using GrandBoss settings for setting Antharas and Valakas possible wait time on server startup. Thanks Joabi.
- 701 - LATEST:
Revision 701
- Added configurable login server support for chaotic throne clients.
Depending on forks, some game servers may need modifications to connect to login server. For now, it's tested with Interlude client.
- Fixed credentials issue. Thanks Joabi.
- Removed unused settings in LoginServer.properties.
- Fixed exception that occured when a client with a forbidden protocol version tried to connect. Also, protocol version validation attempts will only be logged in debug mode.
Revision 702
- Fixed character heading bug that occured when casting BSOE skills right after login. This has been reported many times in the past. Thanks edibraxi123 for reminding. (Also, removed Fake Death small cast hack since it was done to fix this bug).
- UPnP will now be disabled by default.
- LoginController will generate blowfish keys, only if newer clients are acceptable.
- Using SetupGauge types when calling packet instead of integers, for a much better understanding.
Revision 703
- Added missing prices for castle circlets. Having 0 price, buylist was kicking players out of game. Thanks Joabi.
- Removed few duplicate NPC spawns from Goddard Castle.
- Small check in RequestAuthLogin packet.
Revision 704
- Fixed Draconic Bow Focus SA. Thanks Arlindok9 for reporting and Karakan for the fix.
- Improved Z coords for multiple NPC spawns in Dwarven Village. Thanks cyberghoser1.
- Effect stack system had a check that prevented stacked effects to replace each other if remaining time of old effect was higher than that of new effect. This has now been limited to AIO and NPC buffs to keep effect stacking retail-like.
- Removed 'AccountEncryptionEnforce' configurable property. There is no need to support clients with Prelude Auth anymore.
Revision 705
- Updated critical rate bonuses for all skills. They are retail-like now. Thanks Arlindok9.
- Added support for basemul stat regarding critical rate.
Revision 706
- Fixed few issues regarding aggro skills.
- From now on, CoreAIDisabled monsters will be able to attack other monsters using skills, provided that they do not belong in the same faction. This fixes Baium idle issue. Thanks Joabi.
- Corrected a wrong check in Siege Guards AI.
- Corrected bad faction ID checks.
- Festival monsters and Sepulcher monster will not be auto-attackable by L2MonsterInstance attackers.
Revision 707
- Fixed a teleport bug that occured on teleportation during another teleportation. This fix will now allow GMs to recall players inside forbidden zones (e.g. Boss Zones).
Revision 708
- Proper fix regarding bug mentioned in previous commit. Everything is in order now.
- Added a check in ZoneManager to prevent zone validation for characters that are teleporting during an admin zone reload.
Revision 709
- Fixed newbie support issues for certain quests. Thanks systel.-.
- Removed a bad attack check from item unequip packet. Thanks confejulian.
Revision 710 (Maybe the last one in GitLab)
- Changed PartySpelled packet, so that effects that overflow window replace first effects (just like the rest of buff windows).
Revision 711 (Last GIT commit)
- Fixed a character friend window issue upon login. Thanks Christian-SDM for pointing out.
Revision 711 (SVN)
- Fixed Rest-type skills not working. Thanks combatevolved.
Revision 712
- Moving Java scripts back to scripts.cfg. This is a step for the preparation of working on the replacement of python quest scripts.
Revision 713
- Translated quest 10 "Into the World" into Java. Thanks Karakan for help.
- Translated Grand Boss, Seven Signs, and Noblesse teleporters into Java.
- Translated Grand Master Bitz script into Java.
- Fixed issue when buyers could not add equipped items to Private Store Buy list. Thanks Christian-SDM.
- Fixed issue when players could sell their equipped items to a Private Store Buy, causing a visual bug. Thanks Christian-SDM.
- Fixed issue which displayed multiple item slots in Private Store Buy as purchasable if items were identical and player had at least one (visual bug). Thanks Christian-SDM.
- Overloaded onTalk method to support L2NpcInstance and L2PcInstance arguments. Please let me know if any issues occur.
Revision 714
This is truly the beginning of rewritting village master scripts. Actually, there are too many scripts of them, so we'll begin merging them at next commit.
Few more additions:
- Corrected L2JLisvus database installer title.
- Replaced enum ClassId hex values with integer values.
Revision 715
- Fixed Character Effect Queue issue. Thanks Christian-SDM.
- Added missing HTML text for Seven Signs. Thanks improvise.
- Removed launcher folder since it's never used.
Revision 716
- Added AquireSkillDone packet. This packet gives a small retail feel as it closes skill learn window when player learns all skills for current level. Thanks L2Extreme.
- Fixed effect queue issue using new effect bypass property. Previous fix was a temporary bad solution which on the top of it, used Collection method 'remove' on LinkedBlockingQueue. Once more, thanks Christian-SDM for reporting.
Revision 717
- Minor spawn coords correction for Grand Master NPC in Aden Warrior Guild.
- Players won't be able to enchant skills if their level goes below 76 for some reason.
Also, old buggy level check has been removed.
- AquireSkillDone packet will be used for closing enchant skill list window when player enchants all skills up to +30.
- Improved AutoLearn3rdClassSkills check, so that it works properly with admin_setclass command.
- Rewritten the last of village masters into Java.
Revision 718
- Fixed FrenzyOnAttack issue. Thanks improvise and Karakan.
- Skill Display ID will also apply to potions. Thanks Karakan for suggesting.
- Fixed Whisper of Dreams Part 1 quest state bug. Thanks Marmok.
- Improved 'EnableAutoTargetNPC' configuration description. Thanks confejulian.
- Fixed occurence of client warning for packet 'RequestPledgeInfo' while in JOINING state.
- Added missing support for missing Resist Full Magic Attack skill. Thanks Karakan.
- Removed core checks that prevented debuffs from landing on raid bosses. Thanks Marmok.
- Fixed DRAIN type skill effects never applying to targets. This also fixes Dark Vortex effect that was broken.
- DRAIN effects will now have a proper land rate based on effectType and effectPower.
Revision 719
- Re-added SagasSuperclass script which was accidentally removed on previous commit.
Revision 720
Saga Scripts update.
- All 3rd class quests have been rewritten in Java.
- Implemented a proper party distribution for Halisha Marks.
- General mob kills like (e.g. Halisha mobs) have been separated in SagaOnKill script for proper functionality.
- Improved spawn location for a 'Tablet of Vision' NPC.
General:
- Fixed pet food task getting started for revived GMs that ride a pet through //ride command.
- Removed 'Dead people' ugly messages from RecipeController. Dead people don't have to be informed about being dead.
- Added an extra Geodata check for skill casts.
Revision 721
- Implemented retail-like cubic behaviour. Thanks confejulian.
- Added RoadScavenger AI script. Thanks Karakan.
- Changed type of character skills Map for better performance.
- Reworked Skill List sorting.
Revision 722
- Added support for connecting doors. Connected doors will open and close each other.
- Core room doors will now open and close together. Thanks Marmok.
- Fixed GatekeeperSpirit issues. Thanks Marmok.
- Extended L2Minion AI. Minions will now heal boss or other minions in need. Thanks Marmok.
- Minions will disregard faction calls since there is no need to. Leader responds to faction call, and minions follow the leader. That applies for all cases including common monsters.
- Extended skill TARGET_CLAN and added support for clan buffs for minions. In the case of minions, this kind of skills will target boss and other minions. Thanks Marmok.
- Fixed target type for some raid boss/minion skills.
- Added 'canHealOthers' property for attackable AI.
- Corrected item consumption count for 'Summon CP Potion' skill.
- Mage & Warrior Bane skills will now remove proper buffs. Thanks confejulian for feedback.
- Improved land rate for Mage & Warrior Bane skills.
- Corrected boss jewels stats. Thanks Karakan.
- Fixed few Infinity weapons trigger skills not being triggered by magic skills. Thanks confejulian.
- Queen Ant Larva is no longer an 'L2Minion'. Queen Ant boss will have its AI updated in future commits.
- Fixed GrandBoss settings not working. Thanks Marmok.
- When casting summon-type skills, a message that indicates how many items were consumed will be sent to player. Thanks confejulian.
- Fixed all "<count> <itemName> has disappeared." messages. Their values order was wrong.
- Added a check to handle reported 'ProtocolVersion' errors. Thanks systel.-.
- Fixed skills not landing on target when caster is in peace zone. Thanks christiansdm and confejulian.
Revision 723
- Implemented castle teleport functionality. Thanks Marmock.
- Fixed an error that occured in onSkillSee event inside all AI scripts. Thanks Marmock.
- Unlock skill will now work on chests without CTRL button. Thanks Karakan.
- Removed Gather the Flames quest wrong IDs. Thanks Marmock.
- Changed target type for BOSS 'Chant of Life' skills. Thanks Karakan.
- Monsters will not cast skills like 'Chant of Life' if their effects are still in use.
- Corrected clan hall teleport 'West of Gludio Castle Town' wrong ID.
- Removed old Raid Boss MDEF and PDEF multipliers. Now, admins can use ATK and DEF multipliers instead, which will affect both power and magic.
- Changed types and names for few configurations.
Revision 724
- Added retail Siege messages. Thanks confejulian.
- Added script for HeavyMedal NPC support (disabled by default). Also, renamed 'Medals' faenor script to 'HeavyMedal'.
- Fixed 'Shards of Golem' quest errors. Thanks Karakan.
- Corrected 'Trader Shari' name references in HTML files. Thanks Karakan.
- Added clanLeader, siegeAttacker, and siegeDefender states for player item/skill condition.
- From now on, skills can have more than 1 condition. For reference, check skill 246.
- Cleanup for few siege skill checks. They'll use new conditions now.
- Castle holy artifacts will always be spawned by default.
- Fixed bad Z spawn coord for raid boss 'Skyla'. Thanks confejulian.
- 'SiegeLength' parameter will now accept hours instead of minutes.
- Removed CastleManorUpdater class since it's never used.
- Fixed a serious siege guard AI problem that allowed healers to help faction and attack at the same time (attack was breaking cast animation but skill was still casted).
- Improved stopAITask for siege guards. This might help get rid of NPE errors.
- Reworked equipment for two-handed weapons. This also fixes duplicated sound problems for two-handed weapons. Thanks confejulian.
- Small improvements for 'admin_para' commands.
- Admin Enchant menu won't unequip and equip item during enchantment. Thanks confejulian.
- Improved inventory update during item enchantment.
- Removed 'clearDebugItems' method that was cleaning up debugging-adena on certain zones, as it wasn't fully effective.
- Fixed a fishing bug which caused all lures to be consumed. Thanks CaHTeXHuK.
- From now on, server will clean up grandboss_list table data on startup. Thanks Marmock.
- Cleanup of unnecessary try-catch blocks in L2Clan.
- Fixed GMViewSkillInfo window being broken. Thanks confejulian.
- Faenor parser has now become friendlier. This allows admins to add comments at the beginning of their scripts.
- Fixed a really serious memory leak in AutoAnnounceTaskManager.
- From now on, it is possible to set infinite repeat for auto-announcements by setting 'cycle' column to -1.
- In the case of raid curse, if attacker is a summon then raid boss will compare itself with the highest level among owner and summon. This fixes an issue reported by confejulian, thanks a lot.
- Upon mount and dismount, attack and cast will now get cancelled.
- Added checks for admin commands that start and end siege to prevent issues.
Revision 725
- Renamed Kernon's Faithful Servant Kelone to Malruk's Witch Sekina (C4 Retail).
- Corrected few event cat NPC names to match C4 standards. Thanks LupenPowa.
- Antharas will move out of its cave after cinematic event. Thanks Marmok for pointing out the issue.
- Fixed 'Will the Seal be Broken' quest errors. Thanks Karakan.
- Steal Essence skill has no element. Thanks Marmok.
- By default, Infinity Spear will negate up to 1 effect, in order to avoid imbalance issues. Thanks Karakan.
- Corrected Infinity weapons stats. Thanks Karakan.
- Anakim and Lilith zones are disabled by default. There is no need for using grand boss zone rules there (for now).
- Fixed certain manor seeds not being sellable/dropable/tradeable. Thanks Marmok.
- Fixed GrandBossManager issues. Thanks Marmok.
- Fixed buggy 'Last Lesser Giant Glaki' spawn. Same goes for admin teleport. Thanks LupenPowa.
- Improved Innadril castle holy artifact spawn.
- Minor Blazing Swamp spawn improvements.
- Damage and Login Attempt logs have now become configurable. Thanks Karakan.
- Added correct limits for privates stores slots. Thanks LupenPowa.
- Players cannot attempt to pick up items while attacking. Thanks LupenPowa.
- Improved Siege guard lag issues. Thanks Karakan and LupenPowa.
- Fixed clan large crest issues. Thanks LupenPowa.
- From now on, admins can create zones that support spawn locations provided that they extend L2ZoneSpawn.
- Fixed minor name issue for potions 'prepared for use' message. Thanks RazvanGG.
- NPE prevention in Continuous handler. Thanks LupenPowa.
- Possible fix for auto-chat duplicate messages. Thanks LupenPowa.
- Added a dirty check to prevent bosses from stucking. Thanks Marmok for testing.
- From now on, players will get flagged if casted good magic on flagged summons. Thanks LupenPowa.
- Reset ally crest ID on alliance dissolution. Thanks LupenPowa.
- Fixed faction NPE in L2Skill. Thanks LupenPowa.
- Fixed a skill cast issue that was breaking checkPvpSkill conditions on first cast after login.
- Possible fix for boss zone teleport and summon issues. Might also improve reported GrandBossManager issues. Thanks Marmok.
- Updated RequestEnchantItem packet in such a way that it supports stackable enchant scrolls without issues. Changing items to stackable and editing client-side is still required. Thanks RazvanGG.
- Added missing value to ExPledgeCrestLarge packet. Now, Pledge Shield will be updated on large crest change (update issue during login will still persist). Thanks LupenPowa.
- Fixed large crest add/delete issues. Thanks LupenPowa.
- Added GMViewHennaInfo. Admins can now view target hennas. Thanks LupenPowa.
- Added proper inventory update for L2SkillCreateItem.
- Separating game logs from login logs.
- Added force use rules for good magic. For example, a player won't be able to cast head on an unknown flagged target without using CTRL. Thanks LupenPowa.
SQL Query needed for grandboss_list primary key change:
- Code:
ALTER TABLE grandboss_list DROP PRIMARY KEY, ADD PRIMARY KEY (`player_id`, `zone`) USING BTREE;
Revision 726
- NPC Walk Speed is editable now. Thanks LupenPowa.
- Added support for Wendy the Cat in HeavyMedal event. Thanks LupenPowa.
- Fixed auto-target issues during AI transformation. Thanks Karakan.
- Configuration 'SevenSignsDungeonNPCAccess' will now work with Seven Signs bosses.
- Updated old dual-box check to check the number of clients per IP. Thanks Karakan.
- Removed few useless configurations.
- Renamed 'CheckKnown' configuration to 'DebugKnownList'.
- Fixed Quick Healing Potion power issues. Thanks LupenPowa.
- Added abnormal effect for Hot Springs diseases. Thanks LupenPowa and Karakan.
- Added new effect 'Continuous'. This is the perfect choice for toggles like anti-buff shield or Super Haste (already used by the latter).
- Upon gameserver linux startup, gameserver will now use L2J logging class.
- Added new value range for exp and sp NPC columns.
- Fixed collision height for 'Monster.silhouette' NPC template. Thanks Karakan.
- Summons won't stop following their masters if distance gets too long. Thanks LupenPowa.
- Added new AI Event for immobilized characters.
- Immobility effects will now properly apply to pets. Thanks LupenPowa.
- Dead servitors cannot be unsummoned. Thanks LupenPowa.
- Fixed Siege Guard knownlist issue. Thanks Karakan.
- Removed previous support for custom zone spawns, since it was buggy.
- Improved certain L2Character stop effect(s) methods.
- Added extra messages for admin_mammon_find command.
- Added new admin_reset_skill_cooltimes command. It's currently applying to GMs only. Thanks LupenPowa.
- Fixed admin_spawn_index and admin_npc_index commands not working in Admin Panel. Thanks Christian-SDM.
- Small organization in ScrollOfResurrection handler.
- Exp will be given to players even if they killed a monster by merely dealing 1 damage. Thanks LupenPowa.
- Added integer overflow checks for calculating experience rewards.
- Added forget support for move-based knownlist.
- Players don't need to force cast resurrect-type skills even if target is flagged. Thanks LupenPowa.
- Players don't get flagged if they cast resurrect-type skills on a dead flagged target.
- Improved death penalty condition checks.
- Resurrect-type skills will now be casted in siege if caster is a siege participant.
- Fixed small skill bar issue.
- Added more checks to seven signs NPCs to prevent inappropriate interaction. Thanks LupenPowa.
- Armor Mastery bonuses will only apply if player wears both chest and legs. Thanks LupenPowa and Karakan.
- Added a starting adena check in case admin sets a bad value.
- Reworked siege flags system. Also, fixed a siege flag error. Thanks RazvanGG.
- Fixed player siege relations (icons) not getting updated when a clan engraves a castle's holy artifact (mid-victory). Thanks RazvanGG.
- Fixed attacker and defender clans errors. Thanks RazvanGG.
- Improved ShutDown and Restart tasks.
Revision 727
- Minor correction for 'Wendy the Cat' NPC dialog. Thanks Karakan.
- From now on, hero items will be prohibited in Olympiad games using "olympiad" condition inside item XML files.
- Removed an unused column in siege_clans table.
- Updated exp and sp columns in custom_npc table.
- Increased GM item and skill restriction access levels, since admins get confused.
- Added "AltOlyLosePointsOnTie" setting. Thanks LupenPowa for suggesting.
- Updated ItemTable singleton. This will also improve items reload to server by admin commands.
- Replaced raw adena and ancient adena IDs with corresponding variables.
- Added a new event for notifying AI when immobility gets finished.
- Added a small check to prevent attack stuck bug if player or summon is in immobility state. Thanks Karakan for pointing out summon issue (summons will still not attack if target gets close, but "attack" action will be useable and there is no need to click "stop" action like before).
- Fixed summon follow issues after immobility. Thanks LupenPowa.
- Fixed admin skill panel failure to give 3rd class skills to target. Thanks Karakan.
- 'admin_reset_skill_cooltimes' will also work on targets. Thanks LupenPowa.
- Fixed zones being cached in random order. This also caused issues to Grand Olympiad arenas.
- Removed useless try-catch clauses.
- Added support for enchanted ingredients and products in multisell. Thanks Sacrif and thebest for suggesting.
- Dead pets will now be unsummon if their control item gets destroyed.
- Fixed item equip/unequip SA issue that caused the loss of CP/HP/MP. Also, measurements were taken to prevent client from sending pointless user info packets on equipment. Thanks LupenPowa.
- Fixed several thread-safety issues regarding Lists and Maps.
- Admins can now destroy non-destroyable inventory items.
- Improved castle door reloading at the end of castle siege.
- Siege clan states will now be saved at server shut down. Also, if there is still time at startup, siege will continue for the remaining time (the only issue here is that doors and walls will revive at full HP).
- Removed teleport random offset from teleportation when players are ported back from Grand Olympiad games.
- Added ability for summons to follow target using "attack" action (if summon is following target using "attack" action, it will not attack target if they both get out of a peaceful zone). This partially fixes summon follow - attack bug. Thanks LupenPowa.
Best regards,
DnR
Last edited by DnR on 12th April 2024, 17:42; edited 150 times in total