Jump to content
Elesis

Diff aCis 383

Recommended Posts

Leiam as notas de atualizações para não haver choro.

Changeset 383 (1388)

Movement is still experimental. The status IS NOT OK for LIVE servers. Boats and MoveToPawn behavior still need to be fixed.

Movement rework - Part I, Sit / Shop fixes, Safe fall height, Bugfixes, Organization

Movement rework - Part I
   - Fix following issues, plaguing aCis since a while :
      - Clicking fast enough on ground while moving was increasing the distance between the player and its actual real point.
      - Fix the pathfinding issue for monsters, blocking on the first encountered obstacle.
      - Introduce pathfinding for returning to spawn monsters, to avoid they stuck in middle of nowhere or got Z layers issues.
      - Rework most of the offsets to fix issues with move to pawn concept.
   - Introduce a 0.5s delay where player walks instead of run on start of a movement, to fit client animation.
   - Introduce CreatureMove, a complete replacement of MoveData. It's now bound to a Creature, and not generated on every single move. Children exist for PlayerMove and BoatMove. The whole movement logic is moved here (extracted from Character and CharacterAI).
   - Drop MovementTaskManager, every running task is now individual to avoid to register on a clock wall, which means the 100ms granularity is guaranteed without calculations or sync needs.
   - Avoid to process a movement if a movement is already launched with same destination and offset (huge performance boost upon spam pickup action).
   - Add a debug for movement system using ExServerPrimitive packet. It offers a good sight of what happens during movement process.
   
Sit / Shop fixes
   - sit/stand is now backed by _sitTask, to track delay between sit and stand position.
   - shop stand up is now instant to fit with retail and avoid exploits.
   - Player#canOpenPrivateStore is now used on 2 different places (shop opening and validation) and handle more checks. Fix multiple issues/exploits, like being able to shop while being mounted.
   - StoreType is renamed OperateType, and now include missing MANUFACTURE_MANAGE and OBSERVER. All getters/setters are edited.
   - MANUFACTURE_MANAGE is implemented, it's not possible anymore to open both (buy or sell) and manufacture panels.
   - All buy/sell/manufacture player lists are now generated on Player creation (no more lazy initializations / container creation, no more null checks).
   - Improve Player#instantStandUp(boolean) a little (don't bother with stand up if already stand up).
   - Add NO_RECIPES_REGISTERED check upon MANUFACTURE_MANAGE ; call the empty window. Add ManufactureList#_isDwarven, which allow us to call back previous state without error.
   - Don't set OperateType.NONE on invalid item count for both sell/buy manage (was leading to invalid store state). Add retail messages.
   - Fix the fact you aren't supposed to open a shop when already sat.
   - Fix the buy/sell/manufacture tryOpen methods : Don't bother with manage case, and tryOpenWorkshop only care with right OperateTypes.
   - isInStoreMode() is modified to only returns real cases of store mode. Manage cases aren't part of it.
   
Safe fall height
   - Added retail values based on classes and sex (was semi-implemented core side using default value 333). Ty RooT for dp side.
   - Add CANNOT_DISMOUNT_FROM_ELEVATION wyvern check, making it impossible to dismount a wyvern if not in a valid safe fall height.
   
Bugfixes
   - Fix Q009 reward itemId. Ty p0w3rf1y.
   - Fix Q621 / Q622 haste potion itemId reward. Q621 giveItems recipe instead of rewardItems. Ty Idontknow1.
   - Add retail behavior regarding teleporting to nearest town if wyvern feed task ends.
   - Seeds works anew (was due to invalid handler name on XML).
   - Edit few mercenary tickets SystemMessage to use retail ones. Ty RooT.
   - Fix the delay for mass teleporter (no instant case if out of siege). Ty RooT.
   - Fix Baium zone (around door, to avoid teleport back to town) using L2OFF GF values, IL being buggy.
   - Fix the few cases of mispelling or miss on configs properties files.
   - Fix radius/height/level/stats of all NPCs, except summons and tamed beasts. Ty StinkyMadness.
   - Add few missing Manor Managers on relatedNpcIds (was leading to NPEs).
   - Fix a MinionList NPE, prior to minions rework.
   - Add few missing Seven Signs event sounds. Ty RooT.
   - Drop calcFestivalRegenModifier system, which was leading to negative values and isn't retail. The only affected stat is MP regen, and it's positive, based on MotherTree zones.
   - RaidBossManager#cleanUp fix prior rev 382 edit.
   - Fix multiple SpotBugs reports (18 or so), from invalid equals/hashCode contracts to missing switch break.
   - Fix RequestListPartyMatchingWaitingRoom, RequestAskJoinPartyRoom : variables aren't set as static anymore.
   - Fix the client crash when clicking "projection" button on the "record of seven signs" (introduced on rev 239).
   - Upon SA activation on magic use, S1_HAS_BEEN_ACTIVATED message is now working and called BEFORE resist attempt.
   - FleeingNPCs / 4s victim scripts flee behavior are enhanced.
   - AI is correctly flushed upon IDLE case, leading to proper global aggro value reset (10sec aggro cooldown on respawn).
   - Fix party duel CANCELED state for ZoneId.PVP.
   - Boat _passengers is now concurrent to avoid CME.
   
Organization
   - Move _isNoRndWalk from Creature to Attackable, _isChampion from Creature to Monster.
   - Slight edit of Creature#isInsidePeaceZone (no static, first param is self).
   - Rework WorldRegion#setActive, it now uses an AtomicBoolean. Add WorldObject onActiveRegion() / onInactiveRegion(). Behavior is normally exactly the same than old setActive, but cleaned up.
   - AttackableAI#changeIntention getKnownType(Player) check is now replaced for getRegion().isActive(), probably leading to a lot of saved garbage. SiegeGuardAI#changeIntention override is dropped.
   - Remove GeoEngine.getInstance().canMoveToTarget pre-optimizations (it's already handled by moveToLocation).
   - Add missing onEvtAfraid and AFRAID AiEventType use. Rework Fear effect to use it.
   - Merge Instance#doPickupItem(WorldObject object) with AI#thinkPickUp() (single use).
   - Add Location#equals(int x, int y, int z), Location#setUsingPositiveOffset, Location#setUsingRandomOffset and Location#setFleeing methods.
   - Addition of StatsSet#getIntIntHolderArray.
   - ItemTable cleanup (renamed ItemData and moved to data.xml, CLogger, move temporary containers to good place, move _slots Map to Item, javadoc).
   - Item cleanup (drop Logger, correct use of StatsSet methods to feed Item values, javadoc)
   - Rework both Weapon#getSkillEffects (Fix the multiple calls upon getSkill() and getFirstEffect, rename those methods castSkillOnCrit / castSkillOnMagic for easier understanding).
   - Fix one strange use of StatsSet upon FestivalOfDarknessManager.
   - Rename all items handlers to keep naming convention logic.
   - Add warning regarding missing property key on configs. Ty StinkyMadness.
   - Add UseBlowfishCipher config. Limit the byte array size on VersionCheck packet. Ty RooT.
   - Drop few skills parameters duplicates, ty bowling4soup.
   - Addition of RaidBossManager#getBossSpawns() and BossSpawn#toString for easier customs implementation.
   - Numerous packet reorganization :
      - Few packets rename to fit NetPro.
      - "activeChar" naming is replaced for "player". Final keywords added here and there. Variables naming is more friendly and/or conventional.
      - NewCharacterSuccess uses a static approach for now.
      - Deletion of SuperCmdCharacterInfo, SuperCmdServerStatus && SuperCmdSummonCmd packets (custom, unused).
      - Implement SendTimeCheck / RequestTimeCheck packets. Ty RooT.
   - AdminCommands
      - Delete AdminMammon and associated admincommands.
      - Merge all cursed weapons admincommands into //cw.
      - Cleanup //admin2 panel (game_menu.htm).
      - Delete //adminX commands. It is now simply //admin. //admin can now answer to file names (ex. //admin server).
      
PS : all items XML etcitem_type parameters are edited to reflect enum value (use of caps lock).

Movement is still experimental. The status IS NOT OK for LIVE servers. Boats and MoveToPawn behavior still need to be fixed.

Download
https://www.mediafire.com/file/qevam5es3hf1pcb/changeset_383.diff/file

  • Like 3
  • Thanks 2

www.l2jservidores.com.br

Interlude / Freya / High Five

Share this post


Link to post
Share on other sites

É isso ai! Obrigado pelo share tava correndo atrás dessa diff!

 


Possui alguma dúvida em relação à configurações comuns de servidores de Lineage II? Consulte nossa área de Principais Dúvidas Resolvidas.

 

Atenção: Eu não dou suporte por MP, nem por nenhum meio de contato fora do L2J Brasil. Caso insista, será bloqueado e excluído.

 

Share this post


Link to post
Share on other sites
20 minutos atrás, Nattan Felipe disse:

É isso ai! Obrigado pelo share tava correndo atrás dessa diff!

 

como faz pra aplica a diff ? via eclipse

Share this post


Link to post
Share on other sites
5 minutos atrás, Yakuza123 disse:

como faz pra aplica a diff ? via eclipse

 


Possui alguma dúvida em relação à configurações comuns de servidores de Lineage II? Consulte nossa área de Principais Dúvidas Resolvidas.

 

Atenção: Eu não dou suporte por MP, nem por nenhum meio de contato fora do L2J Brasil. Caso insista, será bloqueado e excluído.

 

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...



     



×
×
  • Create New...