Main Menu

Recent posts

#1
Announcements / Re: Last aCis updates
Last post by Tryskell - January 29, 2024, 07:33:23 PM
Changeset 408 (3205)

TradeList refactor, Duel refactor, Handlers management, SpawnManager, Sieges, AdminCommands, Bugfixes, Organization


TradeList refactor
   - Use AtomicBoolean instead of synchronized.
   - Rework entirely buy/sell methods, which are now far more safer (notably TradeList#privateStoreSell, which was checking and processing transferItem in same time). A fail upon item transfer notably corrects total transaction price.
   - Few checks (being pointless or doubled) or even entire loops (calling removeItem instead of remove...) are dropped/avoided in few places.
   - Fix few issues :
      - BuyList is now properly refreshed upon inventory edition. Ty bios for report.
      - The strange adena issue is fixed (was due to removeItem not processing -1 as a special value but regular value, which was actually --1 -> +1). Ty bios for report.
      - Items aren't shown anymore as possible sellable item, if that item is already part of the SellList or is equipped.
      
Duel refactor
   - Big cleanup, deleting 1/3 of the class.
   - Abnormal effects are now properly cleansed. Ty MoodFreak for report, Diablo for the initial fix.
   - Play the lose animation only if WIN or SURRENDER, no TIE.
   - Don't play anymore the winner animation.
   - Don't countdown 5/4 upon 1vs1 Duels (5sec timer, starts at 3).
   - Restore Players conditions after SystemMessages.
   - Upon teleport, cancel active enchant and trades for Players, no matter the situation. Indirectly fixes "cancel trade upon party duel teleport".

Handlers management - by LaRoja
   - Handlers are now dynamically loaded based on their appearance in package. You don't have to manually set them anymore.

SpawnManager
   - Fix 3 invalid bosses dbSave. Ty Denzel for report, Bandnentans for fix.
   - Manually fix few territories (invalid nodes, bad Z, zone over Fortresses...).
   - Delete the whole magic behind setting a returning point from an offset of spawn location ; it's anyway mostly blocked by first returnHome check.
   - Banned territories are considered way before in the random location calculation of territories, which avoid to trigger Z/geo fail for nothing.
   - SiegeGuard#returnHome now also have a geopathfail logic.
   - Max iterations of random location search is reduced from 20 to 10 to trigger issues faster (will probably set back to 20 or even 50 when most territories are fixed).
   - Delete the whole for loop from MultiSpawn#getSpawnLocation for "anywhere" type, since Territory#getRandomLocation generate at least one point (last wrong iterated point).
   
Sieges
   - Control Towers, guards and mercenaries are anew Residence bound (was buggy since Residence rework) ;
   - Control Towers are now implemented as retail ;
   - Siege Guards won't attack you anymore if you're DEFENDER (produced by few scripts, mostly spells related).
   - Fix SiegeFlag NPE. Each NPC must have a Spawn.
   
AdminCommands
   - Revamp //tele panels.
   - Introduce //find item [name]. Ty melron for initial idea, StinkyMadness/CUCU23 for improvements.
   - Introduce //find npc [name], delete 6 related admincommands :
      - admin_show_spawns
      - admin_spawn_index
      - admin_spawn_reload
      - admin_npc_index
      - admin_spawn_once
      - admin_show_npcs
   
Bugfixes
   - Lotto and race tickets are generated differently, and now are bound to an objectId. Ty bios for report.
   - Fix petdata speeds, prior to converted classes to records commit. Ty Denzel for report and fix.
   - Fix ghost Pet over unsummon. Ty Denzel for report, LaRoja for fix.
   - Fix Q220 Radar misplacement. Ty FDX for fix.
   - Fix Q025 Triol's Pawn behavior.
   - AI related - Ty Bandnentans for fixes.
      - Fix ClassCastException from a regular AI script. Ty Denzel for report.
      - Fix SaintNinja script.
      - Fix QueenAnt, Orfen minions and Core scripts.
      - Fix LV3Orc script.
      - Fix GludioHold/GludioStand NPEs.
   - Don't send Npc SocialAction if in a blocking statut (dead, stunned, etc). Ty artemis for report.
   - Fix potential NPE over Siege#isOnOppositeSide.
   - Little GeoEngine#findPath fix (if originZ is too different from calculated Z) - Ty Bandnentans for the fix.
   - Update skills shortcuts upon AutoLearn config on. Ty hqsly for report, Rufo for fix.
   - Don't send inventory update over items which aren't in inventory. Ty FDX for report.
   - Fix NPE over teleportTo (regarding scripts Guards), introducing _isTeleporting as an AtomicBoolean. Ty Bandnentans for fix.
   - Potential IOOBE fix for boat movement. Ty Bandnentans for fix.
   - Fix 2 potential NPEs (if Config.SPAWN_EVENTS is null).
   
Organization
   - Triangle3D class is dropped.
   - Add Player#isOverweight method.
   - Add few records.
   - Rework ITEM_LOGS config
      - Indirectly fix an issue with pet inventory invalid item count. Ty Denzel for report, LaRoja for fix.
      - Avoid to spread useless parameters and generate Strings for nothing.
      - Shortcut most Item related methods by 1 up to 4 parameters.
      - Herbs ItemInstance objects are properly deleted when using addItem(int, int, boolean).
   - Addition of Residence#getTownName
   - MinionSpawn passively delete minion from master list if no respawn is associated to it.
   - Cleanup TerritoryStatus bypass, avoid a NPE if castle owner Clan doesn't exist.
   - Add Quest#createOnePrivateEx method with SpawnLocation parameter.
   - Delete NpcAI#setBackToPeace parameter (unused).
   - Delete GrandBossManager class (unused). Ty LaRoja for report.
   - Delete _isReturningToSpawnPoint variable (unused).
#2
Announcements / Re: Forum Announcements
Last post by Sido - January 02, 2024, 01:29:47 PM
Maintenance is over.
Please report anything that does not look right.
#3
Announcements / Re: aCis PTS "Blackbird" is on...
Last post by Tryskell - December 28, 2023, 09:29:10 PM
The download link of the PTS folder was refreshed, Google Drive being annoying and detecting viruses everywhere.
#4
Announcements / Re: Last aCis updates
Last post by Tryskell - November 15, 2023, 08:11:49 PM
Changeset 407 (3136)

JDK21, Pathfind, RelationManager, Boats, NpcData, Desires, AI / Script part I, SpawnManager, RestartPointData, Clan privileges revamp, ItemInstanceTaskManager, InventoryUpdateTaskManager, Bugfixes, Organization


JDK21
    - aCis officialy supports JDK21 !
    - Enhanced instanceof pattern matching from JDK14
    - ThreadPool uses virtual threads from JDK21
    - .collect(Collectors.toList()) > toList() from JDK16
    - Convert few classes using record pattern from JDK21
   
Pathfind
    - Abandon the buffer pooling approach, allocating wrong buffer size. Indirectly fix complex middle distance pathfinding being unprocessed.
    - Refresh the heuristics to use Euclidean. Give up diagonals heuristics leading to strange diamond shape pathing.
    - Big overall cleanup. Ty LaRoja.
    - Pathes are being executed up to x100 faster. Values don't exceed 50ms anymore. Ty LaRoja.
    - Thanks to previous point, MAX_ITERATIONS was moved from 3500 to 10000, allowing more complex pathes. The Config can be virtually deleted, but it is kept for security valve.

RelationManager - by LaRoja
    - Rework friend and blocklist relations to be handled simultanously, avoiding SQLIntegrityConstraintViolationException upon /friendinvite someone and then /block him.
    - Decrease the amount of SQL entries by 2, rename character_friends > character_relations. Introduce RelationManager.
    - Add missing THE_PLAYER_IS_REJECTING_FRIEND_INVITATIONS check - for non-GM player trying to invite GM Players.
    - Fix S1_BLOCKED_EVERYTHING check - it must check target's isBlockingAll statut, not player's.
    - Add FriendAddRequestResult for all negative checks.

Boats - by LaRoja
    - Rewrite Boat system ; data is handled by XML.
    - Rewrite boarding concept, which now works better than L2OFF.
    - Fix known issues (ghost boats, boats moving on territories, isBusy concept generating instability).
    - Boarding now trigger PEACE and NO_SUMMON zone types.
    - Trying to summon while onboard trigger proper SystemMessageId.

NpcData
    - Reparse all NPC templates using our internal parser. The data can be reparsed at will according needs.
    - Most stat values are now set as double instead of int to avoid to lose accuracy.
    - Many missing variables were added, aswell as all AI params, which are used by scripts.
    - Templates don't hold anymore enchant effect.
    - Attack distance is not calculated anymore based on weapon, but as a template variable. Fix indirectly all "exotic" weapon bearers (sarbacane, throwing knives...) which weren't considered as a BOW.
    - Minions don't have anymore min/max count.
    - NpcSkillType now hold all types used by L2OFF AI - from 6-8 to 111.
    - NpcType system is dropped.
   
Desires
    - All NPCs can now register "Desires", which are Intentions with a weight. Biggest Desire weight is processed - others are stored, waiting to be processed, allowing scripters to fully manipulate a NPC.
    - Added multiple missing events.
   
AI / Scripts - by Bandnentans
    - Deletion of main behavior of AttackableAI loop. All NPCs become "empty shells" and must be fully driven by scripts to handle their behaviors. A NPC without a script won't do anything, nor react.
    - Introduce DefaultAI tree based on L2OFF scripts, which add 150+ individual AIs instead of the 3 previous behaviors (FIGHTER, MAGE, HEALER).
    - Introduce all epic bosses - as retail.
    - Introduce all regular bosses - as retail.
    - Introduce all regular attackable trees - as retail.
    - Split //info ai and add //info script with running QuestTimers.
    - Aggro transfer upon Summon death is moved from Summon#doDie to script.
    - Implement Black Judge script. Ty Denzel for report.
    - Indirect bugfixes due to AI rework :
        - Attackables weren't attacking when mana is depleted. Ty stepbystep for report.
        - Attackables were idle if already buffed with similar buffs (eg. a Player launching Might on a Npc which could buff with Might, was making him totally idle). Ty stepbystep for report.
        - Bosses were struggling choosing the proper intention.

SpawnManager
    - Maximum number of NPCs per Territory is fixed. Ty Denzel for report.
    - Reintroduce //delete for Spawn (which is used by //spawn).
    - Introduce privates based on Spawn (811 occurences).

RestartPointData
    - Replace entirely MapRegionData - delete mapRegions.xml and add restartPointAreas.xml instead.
    - Implement RestartArea and RestartPoint, used by SoE/death teleport. Handle Race and karma based spawns. Data is parsed from L2OFF.
    - Delete spawns from TownZones. TownZones aren't considered SpawnZone anymore.
    - Extract MapRegionData#TeleportType and rename it RestartType.
    - Add //show restart [area|point].
    - Implement location localization upon PartyMatching.

Clan privileges revamp
    - Use PrivilegeType enum instead of Clan ints.
    - Delete _clanPrivileges out of Player. It's now calculated based on power grade and Clan.
    - Rework Clan#setNewLeader method.
    - Rework few packets : ManagePledgePower, PledgePowerGradeList, PledgeReceivePowerInfo, RequestPledgePowerGradeList
    - Add a missing sysMsg over RequestPledgeReorganizeMember.
    - Implement //pledge transfer - your target replaces his Clan leader.

ItemInstanceTaskManager - by LaRoja
    - Introduction of a lazy-SQL save of ItemInstances (1min task running for everyone), saving the vast majority of SQL queries related to items.

InventoryUpdateTaskManager - by LaRoja
    - Introduction of a single task allowing to process an IU packet.
    - Fix indirectly any type of visual issue :
        - Fix adena duplicate.
        - Fix harvest reward duplicate.
    - Avoid to send multiple IU packets, all operations are batched and executed after a short delay. In case of identical stackable items edits in short timelapse, only the operation is updated.
    - Delete all custom cases of ItemList used because of lazyness - except the retail ones.

Bugfixes
    - Cubic chooses enemy target based on owner isAttackableWithoutForceBy (which will handle all cases).
    - Fix the 1.001% elemental bonus deleting the attacker getAttackElementValue part off the calcElementalSkillModifier.
    - Fix teleport price upon weekends / 7s period. Ty Denzel for fix.
    - Fix //help search button. Ty l2drim for report, StinkyMadness for fix.
    - Add few missing sanity checks for PartyMatchRoom manage/join/answer. Ty MrThirtyOddSix for the report.
    - Fix quotes in .sh db installer. Ty Vladalien for the fix.
    - Fix a potential NPE over FishingStance. Ty newuser for the report.
    - Fix Lottery event end day. Ty henrique for fix.
    - Add missing db save for shortcuts upon skill addition. Ty Anarchy for report.
    - Rework //set sex/class switch to avoid the need of restart. Ty LaRoja for the fix.
    - Refresh Summon infos for owner upon effects removal methods. Ty bios for report.
    - Desactivate arrow based movement (buggy and exploit friendly).
    - Add distance check on L2Skill#getEffects. Should solve Olympiad prebuff. Ty BiggBoss for fix idea.
    - Fix NPE + ConcurrentException upon Festival of Darkness save.
    - Fix NewbieHelper NPC interaction when dropping Tutorial progress. Ty LaRoja for the fix.
    - Fix Petition system objectId management.
    - Fix an issue where the pet referenced by a Summon Item saved as "item on ground" was deleted upon server restart.
    - Fix missing visual effect over skillId 3159. Ty KejbL for fix.
    - Fix CP/HP/MP upon restart with Hennas on. Ty Denzel for report.
    - Fix client critical errors (all related to HTM max size excess) upon :
        - //info drop/spoil. Ty Denzel for report, LaRoja for the fix.
        - //list_spawns.
        - //info spawn, upon big amount of minions. Ty Denzel for report.
    - Make Traveler's weapons non-enchantable. Ty Denzel for report, LaRoja for the fix.
    - Fix Dual Fists weapons animation/damage. Ty Bandnentans for report.
    - Fix following behavior : casters, over failed cast check, must stop movement. The rotation towards target can't be properly added, NCZOFT aswell does it wrong and lately deleted it.
    - Rework getUniqueItems, adressing 2 issues - Ty LaRoja for the initial share.
        - You can now give back Apprentice and Traveler weapons towards Miss Queen (due to non-tradable state of the item). Ty x-user for report.
        - You can now put an SA over augmented items (you could already put an Augment over a SA weapon). Ty Denzel for report.
    - Fix mounted Player stats penalties using C2 notes. Ty Gigi85 for report.
    - Fix teleport as PK to owned castle or CH. Ty Denzel for report.
    - Fix the SQLIntegrityConstraintViolationException upon store manor data, reparsing manor data using AdvExt. Ty Denzel for the report.
    - Don't save CONT effects upon character disconnection (Battle Force, Spell Force). A SkillChannelizer handler would be the ideal solution, but it will wait for a potential Skill refactor.
    - Fix few Shadow Weapon issues - Ty RooT for the fixes
        - Every equip action / login must decrease lifetime of 1 minute, as stated by IL patch notes. The first equip doesn't trigger it.
        - Add missing messages upon destroying such item from inventory.
        - Add missing message upon disarming the weapon upon mana == 0.
        - isShadowWeapon() check was wrong.
    - Give the possibility to edit stackable items on a trade. Tu Anarchy for the report, StinkyMadness for the fix.
    - Fix the last NPCs unrelated to TerritoryStatus (NPEs upon null Castle).
   
Organization
    - Update MariaDB to 3.1.4.
    - //info over NPC now handle all possible //info types.
    - Move castle and clanhall classes under residence package. Ty Minutis for the idea.
    - More uses of TRUNCATE over DELETE FROM.
    - Drawn shapes using ExServerPrimitives now build vertical lines for a 3D visual effect.
    - Add few utility methods over IntIntHolder, IXmlReader and StatSet.
    - Fix big length Announcements formatting over //announce all. Ty artemis for fix.
    - New Players don't save anymore following values : karma, pvpkills, pkkills, clanid, deletetime, cancraft, online, isin7sdungeon, clan_privs, wantspeace, nobless, power_grade.
    - Delete characters table cancraft/clan_privs columns.
    - Don't load cancraft/online over CharSelectInfo.
#5
Crappy servers / Re: L2Free returns on October ...
Last post by henrique - September 28, 2023, 10:02:32 PM
New season coming, begins on October 28th, 2023 at 18:00. Server Timezone (UTC-3) :O
Server information updated in the first post.  :ork1_10:
L2Free.org  :hu1_4:

#6
Announcements / Re: Forum Announcements
Last post by Sido - September 10, 2023, 06:56:44 PM
Light theme added back and you can now switch from dark to light from the two circles on top of the page.
Re-activated our mods.

Please report anything that does not look right.
#7
Crappy servers / [L2J] ShadowNetwork (Interlude...
Last post by azukachan - August 30, 2023, 04:50:46 PM
Discord: https://discord.gg/5sAxMvZX6N

Features:
- 2 Servers! [3x Low Rate & 100x High Rate]
- 30 Custom/Reworked maps to explore
- 60 Player Skins
- 2 New Castles [Gludin and Kamael]
- PVP Zone's on Custom Maps
- Exclusive New Raids [Made for ShadowNetwork]
- Exclusive Enemies [Made for ShadowNetwork]
- New Dungeons [Designed for Solo or Party]
- Reworked Crafting System
- Multiple Events
- Autofarm System
- Exclusive Pets, Agathions and Cloaks
- Retail Gear from Higher Clients












#8
Announcements / Re: Forum Announcements
Last post by Sido - August 16, 2023, 02:14:58 AM
Forum should be back to normal now. Please clear your cache and report anything that does not look right.
#9
Announcements / Re: Forum Announcements
Last post by Sido - August 13, 2023, 10:13:27 AM
For the next few hours our website will be down for maintenance.
Sorry for any inconvenience !
#10
Crappy servers / Re: L2Dervel Interlude Classic...
Last post by An4rchy - March 24, 2023, 10:16:11 AM
Quote from: KejbL on March 17, 2023, 12:39:20 AMreborn/etina sell files ? :) but gl
https://l2reborn.org/seasons/full-description/
Hello. Etina files have not been or will be sold, this is probably a re-make of L2Reborn in aCis.