Last aCis updates

Started by Tryskell, January 04, 2011, 10:46:15 PM

Tryskell

Changeset 62

Hell's Refactdoom.

Fishing refactor
- use of ZoneManager (was using FishingZoneManager for backwards compatibility);
- many improvements (add of sounds, geodata checks,...) and typos;

MercTicketManager refactor
- add of the proximity formula for tickets (have to been ameliorated, but it works);
- all retail messages for tickets;
- some improvements (use of iterator, etc);

Skills
- Add of 6 XMLs and respective core changes (4 new conditions);
- Add of Cancel skillhandler (Cancellation, touch of death, warrior/mage banes,...);
- 3/5 cubics are working (the 2 others are only XML issue);
- correction of the CHARGEDAM formula, which is hardly bugged on Freya (topic on L2J server : http://www.l2jserver.com/forum/viewtopic.php?f=80&t=21356). It still need correction as infos come with time;
- Add of creatures natural resistances formula. It's calculated using weakness formula aswell;
- NPCs stats influences their overall stats (HPs, accuracy, critical, atkspd, etc);

Admins commands
- deleted 50+ freya commands (event engine, elementals, ride wolves...);
- corrected addlevel / setlevel;
- added "zone_visual" command, which is very useful;
- refactored all "reload" commands type to work on the same pattern. Basically 12 commands can now be typed "//reload xxxx";
- deleted some leftovers of rev 61 ("//admin5" and related commands);

GM Panel refactor
- refactored entirely the help system (FAR more simplier);
- reorganized many htm, typos and esthetic;
- drop of all TvT htms left;
- jukebox, emotes, announce HTMs reorganisation;
- deletion of all customs skills in special skills.

SQLs
- deleted all freakin "innodb", "utf-8" and "myISAM" stuff and spring clean on all tables;
- reorganized skills_trees.sql;
- drop of zone.sql (leftover of IL zoneManager ?), which call a "tools" folder update;

Configs
- dropped some not used configs.
- put fishing to "false" by default. As explained in the config file, it needs geodata in rder to work like retail. Else it's buggy.

And many typos corrections.
<html><body>Triskel:<br>
Triskel does not speak with foolish fellows who do not know their profession!
</body></html>

Tryskell

#31
Changeset 63

AdminCommands && L2Party refactors

L2Party
- Position is now broadcasted using a task, which send position of everyone every 10 seconds. Position code in clientpackets dissapeared;
- Many null checks added, both for party and CommandChannel;
- add of some retail messages (party and CC);
- the update of partyleader icon is now fine;
- the pending invitation formula have been changed. Now, only one invitation can be sent. You have to wait this invitation ends to send another one. Before you could spam invitations, so it was ugly.

AdminTeleport
- added //sendhome && //instant_move (alt+G panel);
- cleaned commands I judged useless (gonorth/south/west, etc). //walk, what a joke command...
- "//teleto" renamed for "//runmod". //runmod port you once, //runmod tele port you anytime, //runmod norm stop the porting state. Why a rename, it's simple : too many commands begins with "//tele" and it's hard to remember them all.

AdminMenu
- drop of 80% of code. All those commands are already existing in another files, and as they are outdated in this one, it's stupid to have same methods twice. So HTMs use updated commands.

HTM admin part
- drop of castles and towns positions HTMs. Only one port for each (to simplify).
- esthetic of many files.
- merge of move.htm & teleports.htm, drop of useless parts.

Misc
- CW karma is now 9999999. I know, I know...
- some packets typos & spring clean.


Changeset 64

1400-1499.xml and core support.
<html><body>Triskel:<br>
Triskel does not speak with foolish fellows who do not know their profession!
</body></html>

Tryskell

Changeset 65

Xmls, refactors & misc

- Three more XMLs & core support (valakas stuff, EffectRecovery? and <target NpcId?="">).
- You can now //play_sound using packages (try "//play_sound systemmsg_e.char_creation" to understand).
- CrestCache? refactor.
- L2GuardInstance && RaidBossInstance? use a simplier code to return to initial position. No more "anti-exploit" full heal for bosses.
- Added support to mobs which mustn't random move (guards, raids, chests, etc).

Thanks Wdemon for systemmsg sounds initial idea. All will come with time.
Tanks to SweeTs? for XML rework.

----

IMPORTANT : many skills we're doing right now are not used. In fact, an item is supposed to be attached to a skill. An skill can be itself attached to another skill (like active augments skills or signets). L2J IL made it differently, hardcoding skills effects directly on itemhandlers (SoEs? for example). For backward compatibility, I use all old code, but refactor skills the new way.

Once the time of items refactor will come, each item will use its own skill. For the moment all (or near, as some hardcoded code already dissapeared) is supposed to work IL way on this side.

So if you understand all right, some stuff I'm doing actually is pointless until items are refactored. Still, it's a lot of work, and once items are refactored the right way, all should be working. For stuff like SAs and augments, it's already working.
<html><body>Triskel:<br>
Triskel does not speak with foolish fellows who do not know their profession!
</body></html>

Tryskell

Changeset 66

    Knownlists, AIs, misc

    Well, it fixes a critical issue came around geodata/move refactor. Basically, knownlists (lists which list surrounding objects) were called during move and stop actions. Refactoring geodata, I deleted the move part. So you could only see people/monsters when you stop to run.

    Now knownlists are refreshed using a single task. Knownlists have been refactored aswell.

    Misc part :

    - Some AIs improvements, like guards can now hit invulnerable people (before, they just didn't care).
    - GeoEditor? clean;
    - SiegeManager? uses a singleton;
    - Some cleaning and code move from L2Character to L2PcInstance. Use of Collection when possible.
    - dropMe() refactor + geodata checks.
    - NpcInfo? packet rework.

    - added back engine=myISAM for etcitems.sql. Hope it will stop database installer problems. You have to know this table will disappear in a next future.
    - cleaning the .classpath
<html><body>Triskel:<br>
Triskel does not speak with foolish fellows who do not know their profession!
</body></html>

Tryskell

#34
Changeset 67

   Doors / StaticObjects? refactors.

   Doors / StaticObjects?
   - optimized and clean both instances and loading tables;
   - added/cleaned shift-clicking panels for both of those instances;
   - doors (from a CH you own) can now be opened like retail;

   XMLs skills
   - corrected 0-99 skills values and some skills behaviors;

   SQLs
   - corrected a critical issue where NPCs templates provoke a 100% client critical error. Ty SweeTs? for report, and FighterBoss? for ollllddd one too. Some NPCs still got a template with 0 run/walk speed (less than 20 NPCs, before 77). Don't try to spawn them, you will got a direct disconnection, and couldn't log back with this character until you cleaned the NPC.

   Misc
   - normally (only suggestion, as it's not a 100% issue) corrected an issue when you try to revive.
   - added missing accept button result for summoning friend action. It couldn't work without.


Changeset 68

2 XMLs and associated core support.

Thx Vrugar for 4100-4199.
<html><body>Triskel:<br>
Triskel does not speak with foolish fellows who do not know their profession!
</body></html>

Tryskell

Changeset 69

    Cleaned code, optimizations, and 3 XMLs.

    - Deleted WHCacheManager;
    - Cleaned up CrestCache?;
    - Deleted useless class/package;
    - "commons-logging" implementation switched back to "java logging";
    - config + cfg moved to separate source folder;
    - Cleaned useless imports;
    - Cleaned up around 350 warnings;

    Thanks Intrepid for core patch, and ty to DarthVader? for 2/3 XMLs.



Changeset 70

Fix 30 warnings and added back the missing lib.

- 30 warnings fixed, going from "not used variables" to "private -> protected".
- activated the curse raid feature (higher than 9 lvl, blabla). Don't cry for missing skill 4515, it's not done yet.
- added back the .jar deleted on rev 69, sry about it, and ty for fast intervention.
- added back the recommendation system. IL used it as an alternative config, and in my "gogo, deleted them all" frenzy, I deleted what I think it is retail (at very beginning of the project, around rev 10). Currently and from now, player and target are stored in a table, which is cleaned up everyday at 13 (from what I rem lol). So you can't give all your rec to one people relogging everytime.
<html><body>Triskel:<br>
Triskel does not speak with foolish fellows who do not know their profession!
</body></html>

Tryskell

Changeset 71

Multiple datatables refactors, and corrections.

- Reorganization of many datatables (use of singletons/Trove, load/reload options, some improvements, and many cleaning)
- Fixed a NPE at subclass change option, and added a weight limit (80%) for both add && change subclass options.
- "Fixed" 35-40 warnings.
- Added "//reload door" possibility, and fixed "//reload zone".

More singleton-ations soon :).
<html><body>Triskel:<br>
Triskel does not speak with foolish fellows who do not know their profession!
</body></html>

Tryskell

Changeset 72

Multiple refactors, RBPoints manager, and more.

Instances refactors
- L2SiegeGuard (easier returnHome() method)
- L2RaidBoss

Refactors
- IDFactory + the different types (Stack / Bitset cleaned, Compaction have been dropped)
- RaidBossManager?;

RaidBossPoints? Manager / Task
- open your Map > "raid" tab is now available, showing you your actual rank, RBs, and point over those RBs.
- system which give a amount of points according to numbers of killed RBs ((RBlvl / 2) +- 5), according to your rank you can earn Reputation points for your clan.
- Task is running every week (monday at 00h10), ranks and overall points are reseted.

Issues / Misc
- corrected typos;
- corrected db cleaning (friendlist), and added the clean of skills' timestamps;
- Subpledge leader is no more using a string, but the objectId. Same for all methods using private map "_members" from L2Clan.
- drop of serverpacket "AllyInfo?", merged in "RequestAllyInfo?" clientpacket + refactor on it.
<html><body>Triskel:<br>
Triskel does not speak with foolish fellows who do not know their profession!
</body></html>

Sido

Quote from: Tryskell on April 06, 2011, 09:17:20 PM
Changeset 73

- Corrected all possible issues where the total of reputation points wasn't updated.
    - Updated some clan packets.
    - 3 NPEs fixed;
    - Refactored entirely acquireSkillList/acquireSkillInfo;
    - Corrected a missing thing on accessLevel (didn't do problems so far, but better to put as it should be);
    - cleaned the last 8 errors, and 8 warnings (part of warnings were NPEs, and explained stuff);
    - Refactored Hero model.
    - L2FishermanInstance inherits from L2MerchantInstance right now.
    - Deleted the "missing skill : can't store blabla" NPE issue at any character loading (FrequentSkill? wasn't loaded o_o).
    - refactored the WeddingManager?
    - added config for Divine Inspiration spellbooks, and make the original "allow spellbook" config work properly.

    COMMENT :

    I didn't test Hero refactor. Nothing should make you cry, except when the new heroes are named, as it uses a "not-tested-at-all but cleaner" way to unequip then delete all hero stuff from previous heroes. So consider testing this and report if a problem occurs, screenshots appreciated.

    In another way, the wedding manager haven't been tested at all, mainly because I count to delete the voicecommandhandler system, and fusion marriage commands on wedding manager HTMs.


"It's true, you are special.. but not quite as special as I am!"

Tryskell

Changeset 74

WeddingManager? refactor, VoicedCommands? deletion.

I decided to delete VoicedCommandHandler?, which was only used for wedding commands (the .commands).

Divorce and GoToLove? are now directly handled by the Wedding manager (id 50007). The config AllowWedding? has to be active to make the instance works. Configs have been reduced to the "strict minimum". The system needs more tests in order to find possible exploits, but from what I think, I made it secure.

If you got ideas of code improvement, or find an error/exploit, post in forum please.

I added too the character_raid_points table in installation setup, my bad.
<html><body>Triskel:<br>
Triskel does not speak with foolish fellows who do not know their profession!
</body></html>

Tryskell

#40
Changeset 80

2 XMLs + core support.



Changeset 81

2 others XMLs, ty DarthVader? (but take care about element next time :D).
<html><body>Triskel:<br>
Triskel does not speak with foolish fellows who do not know their profession!
</body></html>

Tryskell

Changeset 85

This is... SpartaCis !

Status refactor
   - All status have been corrected, and 2 have been added (Folk and Attackable).
   - Noblesse is fixed (only a visual bug left, but I wait next rev to correct)

Pets
   - PetInfo packet refactor (many useful infos added, but reachable only in a next rev :D)
   - karma/pvpflag stuff have been entirely dropped (it uses owner values)

Entire Death refactor (Ask that to Chuck Norris, he can't)
   - isKilledAlready => isDead
   - isFakeDead moved to L2PcInstance
   - correct //res command (from what I tested), and add anti-exploits.

setCurrentHp refactor
   - you can selfDoT using meditation now (tyrant toggle bug + meditation which break the meditation is corrected)
   - when you're invul, selfDoT and selfHP consumption skills still damage you.

Misc
   - NPCWalker cleaning
   - killByDOT implementation (only one skill uses it)
   - L2Character doAttack() method : your attack is canceled if your target enters in peace zone, can't attack with wyvern on melee)
   - typos : isImobilised )> isImmobilized, and others
   - corrected isHeroItem() method (any non droppable items (Manacle Penitent and such) were considered as hero items...)
   - getEquipSlot -> getLocationSlot.
   - doors can't be DoT anymore.
   - L2Npc canInteract() method improved.
   - Mobs can anew launch skills, but their animation is a little broken.
   
WARNING : I tested as much as I can, but it needs a shitload of tests in order to see if I didn't mess something. Changes are heavy, and touch general ingame behavior.
<html><body>Triskel:<br>
Triskel does not speak with foolish fellows who do not know their profession!
</body></html>

Tryskell

Changeset 86

Couple of fix, L2Npc shift-click refactor

   - Renamed MagicEffectsIcons packet -> AbnormalStatusUpdate
   - Corrected the skills bar refresh at death (when buffs are retained for example).
   - Beginning of L2Shift click refactor : added 4 news commands to add/remove skills to a Npc template (change ALL current monsters using this template), improved droplist view/add (added color system, ty to Vampir from MxC for original idea). The shoplists stuff will be refactored after a L2TradeItem refactor, for the moment it uses old stuff.
<html><body>Triskel:<br>
Triskel does not speak with foolish fellows who do not know their profession!
</body></html>

Tryskell

Changeset 87

I believe I can fly + 1 xml

FlyToLocation? implementation.
core support for 5000-5099, ty DarthVader? for the good work on XML part.

<html><body>Triskel:<br>
Triskel does not speak with foolish fellows who do not know their profession!
</body></html>

Tryskell

#44
Changeset 88 was a single XML :]

----

Changeset 89

   Multiple fixes.

   IA
   - Correct problem concerning the broken animation on NPC cast skills.
   - correct guards non-attacking in towns.
   - add the running state to a mob who hitted you (once the first 30s period is down, the mob is walking but he never run back if you don't hit him).

   Commands
   - AdminCreateItem? refactor (ty TheLastHero? for nice Freya rework).
   - //areacancel debug (ty Ferb for report)

   Misc
   - daggers blows no longer use P.atk in calcul, but they got now critical vulnerability counted in the calcul.
   - multisells have been cleaned (ty Sentinel)
   - isOnline is now a boolean from A to Z (ty TheLastHero? anew)
   - 2 pledges packets have been completed, L2ClanMember registers now the race and sex.
<html><body>Triskel:<br>
Triskel does not speak with foolish fellows who do not know their profession!
</body></html>