Jump to content
Sign in to follow this  
Tryskell

aCis - Changesets

Recommended Posts

Changeset 373(887)

Datatype organization, Tasks, Clan, Config, Organization, Misc

Datatype organization
    BoatManager
        - Moved to data.manager, javadoc.
    CastleManager
        - Moved to data.manager, extends XMLDocument.
    CastleManorManager
        - Moved to data.manager, extends XMLDocument.
        - Queries are stringified.
        - More uses of Java8 lambdas.
    NpcTable > NpcData
        - Moved to data.xml, extends XMLDocument.
    RaidBossPointsManager > RaidPointManager
        - Rename, moved to data.manager, javadoc, cleanup.
        - Fix the order on ranks calculation. Ty katara.
    Caches
        - Move gameserver.cache to gameserver.data.cache
        - Cleanup HtmCache and CrestCache (adjust filters, javadoc, Logger...).
        - Drop AdminCache adminhandler (2 commands are dropped). Generic //reload type (crests / htm) still works.
        - Invalid crests files are deleted on server loading (being wrong format, wrong length, etc).
        - Fix an issue where old crests files weren't destroyed on crest edition.
        - RequestSetAllyCrest writting style is harmonized using similar packets.
        - RequestSetAllyCrest / RequestSetPledgeCrest / RequestExSetPledgeCrestLarge don't accept data length of 0 (case of crafted packets).
        
Tasks
    - Unify naming convention. Drop the logs.
    - ServerRestart/Shutdown are moved from MON to THU (still 4AM) to emulate maintenance task of retail server. Still off by default.
    - Drop OlympiadSave task (pointless).
    - RaidPointReset task is enhanced on numerous locations :
        - only clan level 5+ are checked (external loop is reduced).
        - ranks are calculated only for the 100 first (internal loop is reduced).
        - addReputationScore is made only on final score and not on every member check (no multiple db operations / packets broadcast for the same clan).
        
Clan
    - Basic cleanup, minor improvements, javadoc.
    - Don't reward clan skills if player is on olympiad mode.
    - _hiredGuards and associated stuff is dropped (not used).
    - RankPrivs class is dropped, it is edited for a simple Integer on the Map.
    - SubPledge class is moved out of Clan, to model.pledge.
    - CLAN_HAS_ALREADY_ESTABLISHED_A_CLAN_ACADEMY SystemMessageId is correctly shown.
    - Table clan_skills loses skill_name column (unused).
    
Config
    - Drop min/max protocol version.
    - Drop few unused loginserver configs.
    - Drop crown/circlet config (see Misc section for explanation).

Organization
    - CharCreateFail / CharDeleteFail use static approach.
    - VehicleAI / VehicleLocation / Vehicle / model.vehicles / VehicleStat > BoatAI / BoatLocation / Boat / model.boat / BoatStat. getVehicle() is merged with getBoat().
    - Implementation of CLogger (C for crappy, obviously). An effort will be done to unify all loggers writting style with time (people will complain if I only commit that).
    
Misc
    - 3158 skillId fix. Ty sahar.
    - Drop ON_KILL event on SummonMinions script (unused).
    - Fix dropMultipleItems method (impacts Q108, Q163, Q354 && Q360), ty x-user.
    - Fix the impossibility to use NPC names for players and pets. Pet name pattern introduces back numbers. Ty RooT.
    - Rework Player.getMemo(), drop getMail() (already handled by MailBBSManager). Probably fix a rare NPE with getMemo().
    - //setname can't reward a name which is already owned (player-based restriction).
    - Unify handlers writting style.
    - setReputationScore() is processed only if clan level is > 4. You can't accumulate CRPs, no matter the action, if your clan isn't at least level 5.
    - Drop the task on JailZone, leading to infinite teleport. Ty smoke121.
    - Fix toggles which aren't supposed to be desactivated while sitting. Ty TreasureHuman.
    - Fix following issues introduced in previous revisions :
        - Revert removeSkill parts to handle back "keep effect" behavior for augmentations / items passive skills.
        - Revert getAllAvailableSkills edit to make enchant working anew with idiot config. To handle deleveling correctly we need correct magicalLevel for every skill.
        - Fix config about invul gm on startup, since //invul drop.
        - Fix Party IOOBE prior to rev 652.
    - Rework crown/circlet item restriction system.
        - Don't delete objects (not retail).
        - Rework Player#checkItemRestriction() which wasn't properly updating character (headgear was still shown).
        - Rename Castle#removeCirclet and removeCircletsAndCrown for checkItemsForMember and checkItemsForClan. Methods are optimized (clan method uses only one connection for all members).
    - Edit ON DUPLICATE KEY UPDATE queries to handle parameters directly on query and not on core.
   

Edited by Tryskell

Share this post


Link to post
Share on other sites

Changeset 374 (920)
    
Datatype organization, Geoengine, Clan, Zones, TaskManagers, Misc
    
Datatype organization
    ZoneManager cleanup
        - Moved to data.manager, extends XMLDocument, full Javadoc documentation.
        - Zone types are now based on file name (automatically set, the dedicated variable is dropped).
        - Few optimizations are done (zone constructor is unique per loaded file, Node 'for' loops are merged, use of IntIntHolder, getRegionX is moved one step higher to avoid to process it on every y call).
    FishingChampionshipManager cleanup
        - javadoc, CLogger, try-with-ressource use, String black magic > StringBuilder, use of addBatch and avoid to create a PreparedStatement per player.
    MovieMakerManager cleanup
        - javadoc, moved to data.manager, all _sequences container uses are enhanced. Don't create a new Sequence object when you update it.

 

Geoengine (was supposed to be part of next revision, but the removeInvalidSkills() hotfix made me commit it)
    - Merge GeoEngine and GeoEnginePathFinding, use CLogger, edit _debugItems CopyOnWriteArrayList for ConcurrentHashMap.newKeySet().
    - Delete PathFinding config.
    
Clan
    - Tweak clan_data datatypes.
    - village_master Clan and Alliance HTMs are harmonized.
    - Extend internal usage of static pledge types, remove "Clan." from existing ones.
    - updateClanMember method is deleted (it was full garbage).
    - Implement "clan leader transfer cancellation" bypass (was written as undone in HTM).
    - Addition of ClanLeaderTransfer task, which fix possible exploits regarding clan transfer. Set on THU 16:55 (17:00 being retail maintenance time, on 2007). Compared to L2J version :
        - If the given newLeaderId doesn't exist on task execution, we reset it to 0 for this clan (no future execution of the task for this clan).

 

Zones
    - BossZones
        - Following zones are deleted : Ant Queen, Orfen (don't exist on L2OFF).
        - Following zones are edited using L2OFF GF values : Sailren, Frintezza, Altar of Sacrifice.
        - Ice Fairy zones have been implemented (3 new zones).
        - Drop EnabledByDefault parameter (unused, I don't see the use since everything is on by default).
        - CopyOnWriteArrayList is replaced for ConcurrentHashMap.newKeySet() for better performance.
        - Players aren't teleported out if summon enters in a BossZone. The summon is still unsummoned. The unsummon part is moved inside the null check to avoid NPE.
    - Zone names classes lose L2 prefix, javadoc is added. Some variables are either deleted (when unused), or renamed.
    - Zaken curse zone is deleted (postIL).
    - Damage zones deal 200 damages per tick, not 100.
    - SpawnZone is renamed SpawnZoneType, to follow ZoneType and CastleZoneType.
    - Addition of ZoneId.BOSS, to easier checks about boss zones.
    - Cleanup htm/admin/zone.htm and related admincommand
    - Fix an exploit using mass resurrect out of BossZone, reviving people inside it. Ty Sahar.

 

TaskManagers
    - ItemsOnGroundTaskManager : merge 2 db connections, use of CLogger.
    - MovementTaskManager : use regular ThreadPool, drop iterator and try/catch.

 

Misc
    - Fix a MySql data truncation error for shadow items with time >= 600. Ty shyr for report.
    - Fix players stop to attack when speaking to a NPC (before they were continuing attacking first target). Ty RooT for the report.
    - Fix archer double damage.
    - Fix skill animation cancellation with ESC.
    - Fix autoattack which was cancelling by itself (for some dudes).
    - Implementation of removeInvalidSkills(). Fix Expertise system, and regular skills downgrade / deletion on player delevel (based on player level + 9).
    - All Clan containers are now concurrent. ConcurrentModificationException were rare, but they were possible.
    - Fix blow formula (CRITICAL_DAMAGE_POS calculation). Ty sahar.
    - Fix NPE for clanless people on siege (3 potential spots, because switch can't accept a null value being passed on it). Ty sahar for the catch.
    - ServerRestart and ServerShutdown tasks are set to THU 17:00. Promise, I stop to edit them.
    - All packets logs concerning exploits/integrity checks are dropped (obviously checks themselves are retained...).
    - Say2
        - Max number of characters is now 100 (from 99). Ty kvex.
        - CRITICAL_ANNOUNCE can be used only by GMs characters.
        - Invalid integrity checks simply return and don't logout player.
    - Move CastleManager initialization higher in the hierarchy (was called indirectly by ItemsOnGroundTaskManager).
    - Fix a NPE using "remove castle" admin command if CastleManorManager is disabled.

 

PS :     - clan_data enabled column datatype is edited from enum to tinyint.
        - SSQZone file is dropped (unused), all zones lose "type" parameter.
        - Sailren zone id is changed to 110011, from 110015 (I ordered zones using L2OFF areadata.txt). Ant Queen && Orfen boss zones are deleted. Scripts are edited to reflect the change.
        - The 3 animation bugs (archer, cancel skill, autoattack) come from rev 338 (exist since 2015). Consider to throw some stones to Hasha.
        - if you use a live server, consider to redesign items.sql table.

Edited by Tryskell

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.



×