aCis


Cycle 380-389 focus : movement refactor, quests end. Changeset 388 (1562) is up ! Env drop, PartyMatching, Quests, Bugfixes, Organization

Last aCis updates

Tryskell · 288 · 254991

Offline Tryskell

  • The cute dwarf
  • *
    • Posts: 4.035
    • Cookies: +65/-2
Reply #285 on: January 02, 2020, 05:41:34 PM
Changeset 386 (1497)

Movement is still experimental. The status IS NOT OK for LIVE servers. MoveToPawn behavior still need to be fixed.
Siegable Hall isn't tested, and probably need further development. Those CHs are normally fully working regarding owner administration.


MariaDB / SQL tables, Scripts, Bugfixes, Organization


MariaDB / SQL tables
   - Consider to download latest MariaDB (10.4.11 at the date of this note) and transfer your db to it. MySQL is considered legacy.
   - Following tables are edited : accounts, auctions, augmentations. More will come with time, until all are optimized and follow convention.

Scripts
   - Addition of Q120. Ty StinkyMadness for adaptation.
   - Addition of Q343, based on L2J's ivantotov script. Fix memoStateEx to fit L2OFF.
   - ShadowWeapon script
      - Add 10 missing entries out of 90, out of 3 multisells.
      - Add exchange option to Ranspo, as depicted on L2OFF.
   - Q101 : add missing quest items in registered items list. Ty Rootware.
   - Q336 : add missing npcId in addTalkId. Ty p0w3rf1y.
   - Q626 : make the quest repetable and party friendly, according client infos. Ty p0w3rf1y.
      
Movement
   - Fix Boat stop behavior upon harbor reach (both regular and busy states), leading to memory leak.
   - Fix IOOBE over GeoEngine#findPath (trying to set player on non-existing layers), based on Hasha fix.
   - Fix movement issue related to route cutting edges. Ty vladalien.

Bugfixes
   - Orcs Mystics are considered as FIGHTER, and not MAGE anymore (22nd May 2007 patch note). Ty shyr.
   - Allow non stackable items with amount > 1 over create_item. Limitation based on inventory slot amount.
   - Second layer of fixes for enchanted item buy possibility.
      - Add missing messages for buy/sell enchanted items.
      - Add missing OperateType.NONE, which fix stuck behavior upon fail (casting a skill, setting on NO_STORE zone, etc).
      - Add ItemRequest#_enchant + related checks.
   - Fix Dice roll vector.
   - Fix SchemeBuffer duplicate key exception. Ty Sahar.
   - Revert part of 385 related to CC edit, fixing CCE about Raidboss.
   - Fix SecondClassChange "congratulations" htm.
   - Don't disband Party on DISCONNECTED leader (as tested on AdvExt).
   - Add missing zone data related to rev 384. Implement it under new enum SpawnType, based on StinkyMadness suggestion.
   
Organization
   - Server bypass floodprotection is lowered from 500ms to 100ms (lowest secured value, less painful for user).
   - Add SpawnLocation#getLocationWithOffset.
   - isVisible refactor, ty StinkyMadness.

Movement is still experimental. The status IS NOT OK for LIVE servers. MoveToPawn behavior still need to be fixed.
Siegable Hall isn't tested, and probably need further development. Those CHs are normally fully working regarding owner administration.
« Last Edit: January 05, 2020, 12:25:52 PM by Tryskell »
Code: [Select]
<html><body>Triskel:<br>
Triskel does not speak with foolish fellows who do not know their profession!
</body></html>


Offline Tryskell

  • The cute dwarf
  • *
    • Posts: 4.035
    • Cookies: +65/-2
Reply #286 on: January 07, 2020, 06:36:43 PM
Changeset 387 (1541)

Movement is still experimental. The status IS NOT OK for LIVE servers. MoveToPawn behavior still need to be fixed.
Siegable Hall isn't tested, and probably need further development. Those CHs are normally fully working regarding owner administration.


LS rework, Quest related edits, Chat related edits, Organization


LS rework
   - Generate enums package for LS, and extract existing enums to it.
   - Generate data (sql and manager) package, and move all related classes to it.
   - Replacement of password algorithm from Base64 to BCrypt. Ty SweeTs.
   - Load all Account (previously AccountInfo) in memory, to avoid pointless SQL manipulation and generating/destroying Accounts objects.
   - Extract related content from multiple classes and generate AccountManager and IpBanManager out of it.
   
Quest related edits - Ty Hasha
   - Quest system edit
      - Complete the javadoc + cleanup.
      - QuestTimer storage is simplified (all timers are stored on same level).
      - Quest#onEvent is dropped, onAdvEvent prevails.
      - Add the possibility to cancel specific QuestTimer based on multiple criterias.
      - Implement Quest#onTimer, moving timer based events from onAdvEvent.
      - Quest#onGameTime and Quest#onSiegeEvent got now parameter for easier usage.
      - Make an extensive use of onDecay on all quests.
      - All quests are edited to spawn only one instance of a quest monster at a time.
      - Remove boolean flag isRepeating over Quest#startQuestTimer ; cut that method in 2, Quest#startQuestTimer and Quest#startQuestTimerAtFixedRate.
   - Quests
      - Introduce SecondClassQuest abstract class, holding shared content between all 2nd class transfert quests.
      - Q021 : Add few missing sounds and HTMs.
      - Q242 : Fix the Fallen Unicorn issue.
      - Q619 : Introduce droplists of relics for 4sep and IT.
      - Fix retail typo "Neidrahu" > "Nidrah" on all HTMs ("Nidrah" being the reverse of "Hardin", the necromancer).
      - Q334 addition, ty Rootware.
      
Chat related edits - Ty Hasha
   - NpcSay : added more constructors, javadoc
   - CreatureSay (Say2)
      - added more constructors, javadoc
      - updated packet structure, removed _npcString (IL client does not use NpcString)
      - removed systemmessage parameters, they are not used by client
      - updated parameter names, added some explanation
      - updated the usage of packet, whenever possible, changed to NpcSay(shorter packer name (string) -> npcid (int))
   - Introduction of new enum SayType for chat type.
   - Added NpcStringId container, based on L2OFF fstring.txt content.

Organization
   - Add SevenSignsManager#getLosingCabal(), rename SevenSignsManager#getCabalHighestScore() > getWinningCabal().
   - Delete CabalBuffer instance. Move behavior to AI script, as group.CabalBuffers. Behavior is taken from L2OFF GF (same than IL).

Note: Prefer NpcSay over CreatureSay, when having a need for creature (with NPC ID) to speak.

PS : The transition between Base64 and BCrypt for password encryption is left to live servers owners, but the idea is to edit used algorithm of "password replace feature" using BCrypt on your existing account panel, and request your users to edit their password to be able to log on.

Movement is still experimental. The status IS NOT OK for LIVE servers. MoveToPawn behavior still need to be fixed.
Siegable Hall isn't tested, and probably need further development. Those CHs are normally fully working regarding owner administration.
Code: [Select]
<html><body>Triskel:<br>
Triskel does not speak with foolish fellows who do not know their profession!
</body></html>


Offline Tryskell

  • The cute dwarf
  • *
    • Posts: 4.035
    • Cookies: +65/-2
Reply #287 on: January 17, 2020, 09:44:42 PM
Changeset 388 (1562)

Movement is still experimental. The status IS NOT OK for LIVE servers. MoveToPawn behavior still need to be fixed.
Siegable Hall isn't tested, and probably need further development. Those CHs are normally fully working regarding owner administration.


Env drop, PartyMatching, Quests, Bugfixes, Organization


Env drop - Ty Hasha for debug.
   - Drop Env and Lambda, which were retaining a lot of pointless variables.
   - Add missing "base" functions, and make a use of it.
   - All FuncHennaCON/DEX/... are merged into FuncHenna.

PartyMatching
   Organization
      - Merge PartyMatchWaitingList and PartyMatchRoomList into PartyMatchRoomManager.
      - Move PartyMatchRoom on model.group, make it use AbstractGroup.
      - Delete package model.partymatching.
      - Related packets are cleaned. Methods are generated on appropriated classes to make it cleaner.
   Bugfixes
      - Fix all possible CMEs due to unappropriated containers, fix one possible NPE.
      - Rework the changeLeader management to avoid a client crash.
      - Add the missing max member amount check.
      - Rework waiting list behavior to fit with L2OFF.
      - Set the location as "1", to avoid a client crash. Put a TODO, as we miss needed implementation to code it as it should.

Quests
   - Q351 : Fix reward. Ty p0w3rf1y.
   - Q025 addition. Ty roko91 / Hasha.
   - Q335 addition. Ty RooT / Hasha.

Bugfixes
   - Fix login system, reverting Account cache system.
   - Clan skills aren't rewarded on Player relog if reputation < 0.
   - Clan skill, upon acquisition, isn't rewarded if reputation reaches 0.
   - Add a missing Config.MINIMUM_CLAN_LEVEL use over ClanMember.
   - Fix Sand Cloud, Heroic Grandeur, Heroic Berserker, Invocation skills.
   - Rework ForestOfTheDead in order Npc references are correctly exploited + some cleanup. Ty Hasha.
   - Fix HP/MP Clan Hall regen calculation. Ty p0w3rf1y.
   - Save ClanHallFunction upon creation. Ty p0w3rf1y.
   
Organization
   - Optimize packet sending over Clan skill acquisition.

Movement is still experimental. The status IS NOT OK for LIVE servers. MoveToPawn behavior still need to be fixed.
Siegable Hall isn't tested, and probably need further development. Those CHs are normally fully working regarding owner administration.
Code: [Select]
<html><body>Triskel:<br>
Triskel does not speak with foolish fellows who do not know their profession!
</body></html>