aCis 369 Build, Source, Diff

Авторизация  

1 изображение

Информация о файле

Changeset 369 (762)

 

Datatype reorganization, HTMs / NPCs behavior, Misc

 

Datatype reorganization
- "datatables" package is renamed "data". Creation of subpackages "xml", "sql" && "manager" inside it.
- All tables are renamed/cleaned up
- XML loading/storing data ends with "Data".
- SQL loading/storing data keeps old "Table" denomination.
- Tables using both types (xml/sql) or temporary data (such as fences) are stored as "Manager".
- All XMLs are renamed and edited to follow new conventions.
- XMLDocumentFactory is replace by XMLDocument, a light abstract layer enforcing writting style (parseDocument, loadDocument, load).
- Biggest edits are following :
AccessLevels / AdminCommandAccessRight / GmListTable > AdminData
- AccessLevel uses a StatsSet to feed data, AdminCommandAccessRight model is entirely dropped.
- All "datatables" are merged under AdminData.
- All ranks are provided inside the XML (no more hardcoded rank). XML format has been modified.
- Child access has been simplified (a unique child, instead of a array).
- Default max rank is now 8, commands are set to 7 (Admin rank) ; all associated configs have been dropped. Colors have been edited to be unique (SweeTs will do a good Support GM ! :kappapride:)
- A new Config has been added, DefaultAccessLevel, allowing you to set a unique access level to everyone (before, that config was a boolean and could only reward Master rank).
- //reload acar is edited for //reload admin, which reloads accesses in same time than commands rights.
TeleportLocationTable > TeleportLocationData
- TeleportLocation is edited : drop L2 prefix, use a StatsSet to feed infos and extends Location. It doesn't hold anymore id (can be retrieved using the Map).
FishTable > FishData
- FishData is renamed Fish, while FishTable is renamed FishData. Use a StatsSet. XML edited.
SoulCrystalsTable > SoulCrystalData
- SoulCrystalData is renamed SoulCrystal, while SoulCrystalsTable is renamed SoulCrystalData.
- Rework successs/fail rates using L2OFF, all chances are now using a base 1000 instead of 100. Ty Marcatu.
- Data formatting has been edited.
StaticObjects > StaticObjectData
- System uses a getInstance(), like his brothers.
- Store content back in a public List.
HennaTable > HennaData
- Edit XML name/parameters.
- Handle getAvailableHennasFor/canBeUsedBy (previously getAvailableHenna/isForThisClass) differently (no more _hennaTrees).
- Move the parsing from Characters to Items tab on server loading.
- Cleanup + Javadoc. getAmountDyeRequire() > getRequiredDyeAmount() - still static.
HelperBuffTable > NewbieBuffData
- Edit XML and classes names (NewbieBuff, NewbieBuffData, newbieBuffs.xml).

 

HTMs / NPCs behavior
- Karma players can't speak to NPC anymore (default behavior). They STILL can speak when such NPC doesn't have an associated -pk HTM.
- Add and fix all merchant HTMs (addition of all -pk, -bought, -sold, -empty : something like 300 HTMs). Implemented -empty (when your inventory is empty) and -bought (you just bought an item from a merchant).
- Fix fisherman -sold behavior (was implemented but dysfunctional).
- Addition of npcId 31075 HTMs and 5 buylists related to that NPC. Folk > Merchant edition.
- Toma (the guard) got its real name, Thoma, set on XML.

 

Misc
- Edit respawn delay / respawn random formulas to avoid warning messages.
- Rework the Optional uses for better performance, ty Sdw to pointing it out.
- You can't pickup or use Intention.PICKUP during an attack. Ty IpotoniC.
- Fix NPE on checkSide / checkSides.
- Drop fake skills integrity checks. Ty Copyleft.
- Fix ItemFilter, due to previous logger refactor. Ty Mellion.
- Fix tax rate on multisell system. Ty vampir.
- Fix a HTM typo on Q105. Ty Ipotonic.
- Merge ALT_PARTY_RANGE && ALT_PARTY_RANGE2 configs for PARTY_RANGE. Value is set to 1500 by default (like all checks found on L2OFF AI scripts).
- Addition of StatsSet.getDoubleArray.
- Hotfix for skills resistance calculation. Ty Erlandys.

 

 

 

Examples of skills calculation, before / after.
The point is, the accumulation of different similar effects don't impact as much as before (not proportional anymore, follow what could be called a logarithmic curve : "more you got, less you get").

 

Sleep effect :
NM Set : 16.85% / 16.31%
- : 54.91% / 54.37%
Mental shield : 27.73% / 27.18%
NM Set + Mental shield : 1% / 8.16%

 

Fire damage :
Elemental resist (20) : 566 / 566
surrender fire (-30) : 920 / 1011
- : 707
surrender fire + elemental resist (-10) : 778 / 808
resist fire + elemental resist (+50) : 353 / 396
valakas passive resist + resist fire + elemental resist (+65) : 240 / 327

 

PS : most of this patch is part 1 of... 3-4. It's simply too long to make all changes in a single revision. Probably the SpawnManager will be delayed to, at least, the end of the cycle.


Что нового в версии   Просмотр изменений

Размещено

Для этой версии изменений нет.