Welcome!

Join our community of MMO enthusiasts and game developers! By registering, you'll gain access to discussions on the latest developments in MMO server files and collaborate with like-minded individuals. Join us today and unlock the potential of MMO server development!

Join Today!

L2J L2jCompiled Revisions - Interlude C6 (BETA)

Skilled Illusionist
Joined
Apr 30, 2010
Messages
328
Reaction score
183
[DEVELOPMENT]L2jCompiled Revisions - Interlude C6 (BETA)

Amazed how much this Chronicle has done to the entire world, including those awsome games wich ppl stoped playing when they hear Dion Town theme or the shop zone in the Giran Town!

That's why im going to release some custom server files wich they have a base code since i was just Cardinal more than 10 years ago. SO basicly im going to add the files as soon as posible writing and making a video on how to use them. Pay Respect and dont flamelike few years ago when i asked to remove all my files from the Rz threads!

Like iT - Comment , you know what to do. This topic will be updated to each commit, with a copy/paste of changeset.

Getting started basic guide
Follow this steps to get the server running.

Get the Apps!
Get Java JRE, MySQL Server and HeidiSQL (Optional)!

Let's assume you can download and install these apps all by yourself.

Listing
Changesets #1


  • Cleaning the Gludin Village (the main passageways, stairs, the outlines of buildings);
  • Cleaning the Oren Castle Town (the main passageways, stairs, the outlines of buildings);
  • Fix the oldest bug on the Devil's Isle;
  • Little cleaning the Devil's Isle;
  • Cleaning the Einhasad Temple (Talking Island Village);
  • Edit passages in the Warehouse, Warrior Guild, Weapons and Armor shop (Talking Island Village);
  • Cleaning the perimeter of Talking Island Village;
  • Edit and cleaning perimeter, stairs, passageways and main streets of Giran;
  • Edit doors and passages in the Warehouse, Weapons Shop, Grocery Shop, Luxury Shop, Dark Elf Guild, Blacksmith, Einhasad Temple (Giran Castle Town).

    Changesets #2
  • Edit doors of buildings in Aden;
  • Hotfix of ladders and descents, as well as cleaning of debris the perimeter of the city of Aden;
  • Cleanup Pa'agrio Temple;
  • Edit doors of buildings in Orc Village;
  • Cleanup Orc Village;
  • Edit Giran Castle;
  • Cleanup and edit enter into the Martyrdom Necropolise;
  • Edit Dwarven Village and adjacent areas.


    Changesets #3
  • Edit Cruma Tower and around area;
  • Edit room of raid boss Core and his floor;
  • Start editing Imperial Tomb (entry, main hall, more);
  • Continued editing town of Oren;
  • Continued editing and cleanupGludin village (Dark Elven and Warrior guilds, 2 Clanhalls, etc);
  • Editing Giran Harbor;
  • Edit entry into the Catacombs of the Branded.

    Changesets #4
  • Full rework Gludin Village (Completed)
  • Little fixes the Gludin Harbor
  • Full rework Giran Castle Town
  • Rework Giran Arena

    Changesets #5
  • Rework and cleanup Warehouse in Town of Oren;
  • Edit the central stairs of Oren;
  • Edited the walls of Oren;
  • Edit the Olympic Stadium;
  • Start the editing Elven Ruins;
  • Cleanup dual walls in Innadril Castle;
  • Edit invisible mountains in the Maille Lizardman Barrack (this bug is present in all chronicles since Scions of Destiny).


    Changesets #6
  • Fixed missing layers in stores Dion Town (ty Sido);
  • Continued edits Town of Aden - stairs and perimeter;
  • Fixed a bug when entering the cave with the Baraham (the quest for a noble);
  • Editing MDT;
  • Editing the entrance of Heretic Catacombs;
  • Start editing the Catacombs of Branded;
  • Fixed bridge in the north of Gludio Town (ty Tryskell).

    Changesets #7
  • Edited all 14 olympic stadium;
  • Start global editing Tower of Insolence;
  • Edited Talking Island Village;
  • Cleanup Sedrick's Training Hall;
  • Edited bridge between Talking Village and Training Hall;
  • Cleanup Einhasad School.

    Changesets #8
  • Minor changes the Hunter Village;
  • Full clenup of Aden completed. Possible little fixes in future;
  • Start editing Cruma Tower;
  • Start editing Castle of Aden;
  • Minor fixes in Cruma Mashland;
  • Start editing Pagan Temple;
  • Fixed potencial bug when character moves from the keyboard (deleted nearby layer) under the central stair of Aden.

    Changesets #9
  • Removed unused layer below the entrance to the Imperial Tomb;
  • Cleaning the castle Aden continues. Edit passages and the pedestal to the artifact;
  • Added real wall for rooms on the ground floor of the Tower of Insolence. Now the monsters will not attack through walls. (Tested only in aCis server)

    Changesets #10
  • Thanks Hasha for the biggest bugs report.
  • Cleanup all duplicate cells;
  • Cleanup and fix doors and walls in Giran, Beast Farm, Schuttgart, Dion.

    IMPORTANT! All the L2D pack of geo was rebuilded.




Listing new changes sets from 10 to 28 wich is more than enough for 1 Day!


  • AccessLevel rework
  • Deletion of the two ancient systems to add the new one. It uses 2 new tables, one for admincommandhandlers, the other for the different access states.
  • By default, the "root" access is 127. He got all rights, and can't be modified via configs. Others accesses are from 1 to 5, you can customize them as you want (rights, colors, title names,...). 0 is for normal user.
  • By default, all commands are put to 1. Need more infos about the child access system. Well, play with buttons to make priviledges work.
  • At your first login, and if you didn't change your access in characters table, your access should be reseted to 0, as 100 isn't a right access number (by default: 1, 2, 3, 4, 5 & 127). So before log, change it in your db.


    Others changes :
  • GMAudit model have been moved to util folder. It's used actually only for admincommandhandler.
    getMessageRefusal() & setMessageRefusal() have been modified to isInRefusalMode() & setInRefusalMode()
    dietMode have been deleted (GM stuff). If you want to wear a lot of items, MAKE A DWARF ! Their dances are funny too...
    deleted FightCalculator? stuff. Except if someone explain me the use of it.

    I have to warn you : many "links" to commands are bugged. As I use the Freya SQLs, and as many commands have been modified between this time and IL, some commands will be shown as "non existing handler for command admin_xxxxx". I wait the commands refactor to care about (and the html part need a total relook too).

  • CharacterCreate packet rework.
  • Faenor & events deletion

    Who uses that anyway ? Delete both event engine and Faenor (compiledScript like Valentines.zip) stuff. You're now free to put any event engine you like.

    Report on forum if anything occurs.

    Logs rework
  • refactored (use StringUtil instead of TextBuilder)
    cleaned (moved them into log folder).

    Trade commit

    Fix a lot of things, add many checks, "freeze" many data. Thx to Chr.Trance about scam exploit report & some parts of fix code.

    You have to test Trade, Buy & Sell shop. Do a lot of tests, as code is "semi-experimental". Be aware about both seller and buyer amount of adenas. I did a couple of tests and normally all work fine, but still, test :>.

    The maximum amount in a trade is 1,999,999,999. It takes in consideration both price and amount. You can't sell 1 item for 2kkk, as you can't sell 4 items 500kk each, etc.

    ChatHandlers refactor

    As PartyMatching doesn't move '-_- (no one help with those packets), I commit a little one.
  • Add blocklist check on all, trade and shout trades.
  • Add checks on Say2, rewrite some parts of chat handlers aswell (using collections, this sort of stuff).
  • Add L2Walker protection, based on keywords. Option put on "False" by default, server.properties.
  • Finally, deletion of social actions custom. It was too much primitive and bad coded.

    L2SkillType / L2EffectType refactor

    Both are needed in future. Check changesets if you want, there shouldn't have nothing to test about.

    BaseStats add

    Basically, go with the 2 last commits in the "don't care" section o_o.
    It uses a new file, located in data/stats, and named statBonus.xml (else you got massive error, so easy to remember it).

    Others

    Remove of double setCurrent(HP/CP/MP) in L2PcInstance restore() method (need perhaps more tests about);
    "Debug" of AutoLootRaid (it was a missing space, don't write "true "... I tested it is working);
    Added some limits which were missing (max runspd limit was totally missing, max critical rate was fixed to 500);

    Zones updates (692 overall)
  • deletion of many useless vertices from Gracia++;
  • deletion of some areas which aren't supposed to be Peace Zone (rift public room, Ivory Tower).
  • correction of the 2 stupids castle areas which asked for cuboid parameters when they where NPoly. No more areas bugs logs.

    Augmentation packets rework, Max lvl fix
  • Can loose % if reached lvl 80 & 100%;
  • Can apply all types of LS on any type of weapon.

    Skill refactor, part 1 on... Dunno

    Sooo, here it is : skills refactor.

    Where to begin... Well, I won't do a list of what is it corrected. Just understand it's a 13k patch line (without counting datapack, modifying AIs, L2Character, L2Skill in their globality). Let's jump directly to issues I know, and what you haven't to report.

    "storeSkill() couldn't store blabla" message is because many skills are missing. It comes only at load of any characters.
    the huge list of GS errors is due to restricted items which need a full refactor. Basically I have to refactor entirely items load (use XMLs instead of SQLs tables).
    ingame, you should miss many skills. Once again skills aren't all rewritten, you got 1/6 of skills (or so ?). So test skills you see, and don't bother with missing ones.
    an issue about monsters exists. You have to stop to make mobs spawn. If you walk/run all time, you won't met any mob. This is due to ValidatePosition? rework, some other work is needed to make it work back. You will live until I rework, aren't you ?
    as you perhaps don't know, many items (soe, etc) use skills to be casted. As they miss, the result is a NPE each time you use an item using a skill. In the same order of idea, as armors sets / weapons SAs use skills, some GS infos can come about missing datapack skill (armorlistener blabla).


    Now the good part :

    test each rewritten skill, and tell me if the current behavior should be modified. You have to test each skill one by one, and if possible to check XML about effects (as I used Freya XMLs, I know some errors are existing).

    I have to remember to you each XML have to be rewritten, and items have to be refactored (so others xmls...). Topic about missing skill or error reported in this comment will be eradicated without any type of warning.

    Old XMLs skills have to been deleted, and replaced by the 4 shared in this commit. Two SQLs tables have to be deleted aswell and replaced with new ones. There aren't issues to delete them.

    If you find errors about :

    XML : post in datapack section.
    GS errors launching a *REWRITTEN* skill : post in core section.

    Some random corrections

    Ty SweeTs for skills reports, I wait more :).
  • Insane damage on some skills : cAtk => cAtkAdd (corrected 2 skills);
  • Relax effect debugged (chameleon rest is affected aswell).
  • Added an aggression intention on TargetMe? effect (affect only L2PcInstance, mobs have their own aggro system based on points);
  • Added some L2SkillTypes as pvpskills (aggression, manadamage,...). Check L2Skill.
  • Deletion of Universe (useless stuff). Even Chuck Norris can't do it.
  • Basic (-'"*correction*"'-) for statBonus, but I had a whiner for that. Better to (-'"*correct*"'-) before I got a second.
  • Added back the 2 peaceful areas (ITower and central rift room), ty Sim.
  • Added the database_installer for linux type. Ty Vrugar for complete rework/tests.

CREDITS The cute dwarf Core Tryskell. GOD BLESS YOU! *contributors Ferb/DarthVader/Zerador/Sentinel/DiNoR/stanus/fernandopm && Richijs4 !sa_"theXMLdev"_har-Vhalior-Sahar/djSt3rios/RaphaelFersan/xblx/100500/agurkasz/AntiViruZ
 
Last edited:
Skilled Illusionist
Joined
Apr 30, 2010
Messages
328
Reaction score
183
Re: [SHARE]L2jw Compiled Revisions - Interlude C6 (BETA)

Changes SET from 28 to untill i say so


Changeset 42
  • summons cast formulas changed (need to recode xml to get summons and see if I don't fock soemthing...)
    "has resisted" messages corrected
  • isUndead() have been modified. No more values in sql, it directly does the calcul on Race.UNDEAD. If you don't want to drop your npc.sql, design your table and remove the isUndead column.

    #Changeset 43
  • Refactor of DecayTaskManager? (added different delays according of RB/spoiled-seeded/normal mobs);
  • Moved pvpflag from L2Character to L2PcInstance;
  • Added the condition to drain corpse ("corpse is too old" message if you drain too late).
    *forgotten to say on commit* Animation timer for NPC social actions (6 seconds minimum before each packet send)

    I just saw some effects like Sting still continue to show a "has resisted your" blank message...

    Changeset 44

    Some reworks :
  • CharTemplate? rework (and many files related to race/class)
  • Classmaster rework (new configs)
    o give available skills
    o give noblesse
    o do the old stuff he did before but better :D
  • VillageMaster? rework
    o give now the possibility to rename pledges
    o all subclass options are reworked
    o one VillageMaster? as "core" of multiple VillageMaster? instances (to handle class/race restrictions).


    DP side :
  • NPC.sql to drop and change
  • many htm to put in good place.


    The classmaster have been verified, about subclass I'm not in fond of admin commands so I didn't know how to give quests items (lol), so couldn't test (arg).

    Htm have been c/ped from Freya and put in form, so shouldn't have problem.

    Didn't test pledges names, but should work, if I didn't miss anything database sided.

    Changeset 45

    Refactor Enterworld
  • deleted customs (announce hero & castle lords at login)
  • migrated some infos in others packets / initializing stuff (pledges, sethero, setonlinestatus, signssky)
  • added seal of strife effect (buff / debuff according to winner/loser side)

    Deleted 2 useless tables. You're right, they were both useless + same content.

    Deleted the "ProtectionIP", basically show if you were connecting from another IP. Sort of useless stuff as IPs are 90% time dynamics, so when you reboot your inet box you got an alert message "beware your last IP wasn't the same"...

    Report if any error at login occurs.

    Changeset 46

    I will do short, cause current comment have been deleted and... Fock eclipse.
  • Friends && blocklist refactor
  • character_friends.sql have been updated. The relation column equals 0 for friend, 1 for blocked.
  • blocklist is now stored in database, before it wasn't.
  • a blocked player can't invite or trade you, and you can't hear him from any chat.
  • The "Chat with Friends" option have been updated. When you add or remove a friend, it updates in real time.
  • Many checks && fixes have been added to /friendinvite && /frienddel packets.
  • Friendlist loading is now only located to L2PcInstance, operations are made on the fastlist when needed. Before it was messy.

    SetReputation refactor (from L2Clan)
  • "splitted" in 2 options, TakeReputation and AddReputation. SetReputation got now private access.
  • simplier to use && to read.

    L2PcInstance
  • refactored the code about clan wars in doDie method (corrected the number of added/removed reputation points).
  • subclasses are now locked during the process. No more exploits possible on it. You can't delog/restart during the process.
  • many fixes for classes (autoskilllearn if config, send of packet for refresh partyicon, etc)

    Packets rework
  • Many concerned "friends" packets have been renamed && refactored to L2J actual names.
  • Logout && RequestRestart packets have been totally refactored to fit with subclass lock.
  • setToLocation serverpacket dropped, we won't miss it.
  • SystemMessage corrected for addPcName. This is the same problem for bugged skills messages.
  • /partyinvite have new checks && more retail messages, depending of the situation.
  • RestartResponse serverpacket is now static type.

    Changeset 47

    Deletion of stuffs dating of Noe's Arch (or even older, depending of Coriolis force on the Newton's apple).

    Nothing to hurt a dancing cow in the moonlight of a hot but wet 13 July night, but still, it deletes a crappy useless stuff in gameserver loading. Happy ? Yes, you are.

    Gameserver and GameStatusThread (but who use telnet ?) are affected.

    And tell me if I missed removing classes from those lost && useless things. They're not even used between themselves...

    Changeset 48

    Libraries
  • updated mysql-connector lib from 5.0.7 to 5.1.4 (must change both for ls and gs, you know the music...);

    Configs
  • deletion of nondroppablelist config, which wasn't used (FighterBoss, you missed it I think :D);
  • others droppable lists (for chaotic players / pets) are kept and improved (use of arrays);

    L2PcInstance
  • - setKarma and broadcastKarma now use collections in order to be broadcasted.
  • - "Your Karma has been changed to" message extended (not only for admin command use now);
  • - onDieDropItem() method improved (should be same rule than before);
  • - get/setCharmOfCourage dropped. Effect is handled directly from the L2EffectType, so it was old ruins from past empire;

    Packets / Misc
  • Boolean -> boolean. Blablabla;
  • Corrected an self-added bug (my bad arg), which made GMs buggy shift-clicking on a corpse-like player. It was boring, so I revert it. Strange than no one reported it, it's common action on test servers w_w;

    This commit was - at first - to find an issue to SweeTs report bug about pk drops. But it seems it's another big rework which await me, as knowlist need a full update due to my rev 22 L2World refactor. Well, you got some things corrected so don't cry.

    Changeset 49

    Organization of templates && - complete - dyes refactor.

    Okay, it's seems huge but it isn't.
    Different templates types have been simply organized in folders, to make it clean. This is 90% of modified files.

    The real work comes with hennas refactor (known as dyes or symbols) :
  • Added 2 missing retail messages ;
  • Fixed an exploit when you add a symbol ;
  • Added the real way to remove dyes (added 3 clientpackets && 2 serverpackets) instead of the html way ;
  • Optimized hennaTable && hennaTreeTable loadings.

    An know issue still exists, but it's not only for this add : when you remove dyes, 5 go back in inventory. They actually REALLY go in inventory, but there a missing inventory refresh on addItem (the academy circlet given at kickout from clan when 2nd class change occurs should actually have the same problem). You can refresh inventory buying an item from a shop as example. If you buy 5 others dyes, it will show correctly 10 then.

    Consider testing symbols and low symbols for pre-40 too, and report errors. About "text going out of window" && "text isn't the good one for my dye" issue, this is NOT a core bug, but client side. Blame NC$oft to forget to check what they do.





    Changeset 50

    50th commit guys :D.

    This one is special "helpers reports" :). I want to thank all people which have/will contribute to the project. This 50th commit is a "pot-pourri" of many problems you reported. The right people will recognize themselves, I hope :).

    Please remember reports you do are NEVER out of my mind. I just got priorities, that's all. All will be corrected soon or later.

    Skills
  • - TargetMe effect (aggro type skills) got 2side effects : if victim haven't target, victim targets aggroer, and the second aggro will make victim attacks aggroer. If victim de-targets the aggroer, the next will only retarget aggroer.
  • - "Incorrect items count" message + a little fix about name of used skills. Affects all consumables type skills (quiver arrow, blabla).
  • - Wrath shows now the generic damage system message for the victim.
  • - Toggles are now usable even sit. It's stupid to stand up to remove Vicious Stance.
  • - Skillhandlers SummonFriend, TakeCastle && StrSiegeAssault got now cast conditions working, and are refactored.

    SystemMessages
    - SystemMessageId refactor, using c/p of Hellbound (all is organized and seems to be all right).
    - Added 5 messages about sieges (cast on artifact, artifact taken, loose/add of reputation points through sieges && change of castle owner).

    Sieges
  • - updateClanReputation() method "use" have been moved from removeOwner() (castle.java) to endSiege() (siege.java).

    Ty again for support, and long life to aCis ! :)

    Changeset 51

    Debugged animation/sound effect of dropped items, and surely more than that (PK drops must work now, only a supposition but it's normal to be related). Affects all dropMe effects.

    This bug have been first introduced with the L2World refactor (rev 22 if I remember well). Unfortunately to make the whole mecanism working, I need to completely refactor knownlists. The good new is I got the "howto scout manual" from L2J revisions (aka, the precise revision refactoring knownlist). The bad part is I don't want to begin another big refactor (and even if it isn't as big as skills, it's still a lot of work) before ending skills one.

    So I decided to revert some parts of my previous work, to make it less buggy and don't melt possible bugs between them.

    Need confirmation about player's drops when you die as a PK. But as I already said, it should be related.


    Changeset 52

    Organisation & fixes || affects many files again.

    Configs
    - AutoLearnSkills set to False by default

    Skills
    - Removed 2 useless craps from L2Skill, getCanLearn() && canTeachBy().

    Organisation
    - Moved L2Character, L2Summon, L2Attackable, L2Npc, L2Playable from previous locations to "actor" folder.
    - Renamed L2PlayableInstance to L2Playable, and L2NpcInstance to L2Npc.
    - Renamed L2FolkInstance to L2NpcInstance.

    So if you followed all, before it was "L2NpcInstance & L2FolkInstance", now it's "L2Npc & L2NpcInstance".

    Instances
    - drop of L2BlacksmithInstance, not used.
    - refactor of L2NpcInstance (previously named L2FolkInstance) using StringBuild instead of TextBuilder.

    Clan traders
    - fixed multisell preview for those characters, ty rebelstrike for report and Chr.Trance for initial commit.
 
Last edited:
[emoji848]
Legend
Joined
Dec 3, 2011
Messages
2,232
Reaction score
1,518
Re: L2jw Compiled Revisions - Interlude C6 (BETA)

Moved to the development section until there are actual files release. Feel free to contact me any time when this is the case to have the thread moved back. Thanks.
 
Skilled Illusionist
Joined
Apr 30, 2010
Messages
328
Reaction score
183
Re: L2jw Compiled Revisions - Interlude C6 (BETA)

Moved to the development section until there are actual files release. Feel free to contact me any time when this is the case to have the thread moved back. Thanks.

Hello and thank you !
That is a great sugestion.
Will do as soon as i finish coding and make it bugless for everyone to use!
 
Skilled Illusionist
Joined
Apr 30, 2010
Messages
328
Reaction score
183
Changeset 53

  • Refactor & fixes.
  • GameTimeController? refactor;
    corrected a bug at any character creation, based on setOnline value problem (why no one reported it, I ask it myself);
  • ShowScreenMessage? serverpacket (I try to search any retail use of it, already found some);
  • Added ShadowSense? messages (at enterworld). Messages based on time cycle are for the moment not available.

    Changeset 54

    Skills - part II
  • Signets engine - as you perhaps don't know, signets use others skills. So it works (cast) without working (effect) atm.
  • Signets don't use BattleForce/SpellForce? because of Freya implementation. Anyway, those skills (BF/SF) will come at 5xxx... I will correct at time.
  • Dodge core side. Works for blows, charges skills and PDAM skills (minus bows types skills). This last implementation is self-made, so need to test.
  • Mirage uses skill 5xxx in order to trigger. So like signets, it works without working.
  • Meditation core side (it's from hellbound, at Freya you're just paralyzed...).
  • PlayerState? olympiad added, used to verify if a skill is allowed in olympiad.

    Config
  • suppression of AltGameViewNpc?.

    Packets
  • renamed MagicSkillUser? -> MagcSkillUse?.




    Changeset 55

    Skills, part III

    You will be happy with this one :) Items restriction is finally working. You need to replace armor and & weapon tables, plus some weapons XMLs. The only missing part to make all skills work is more or less XMLs now.

    Items restriction
  • retained formula is a mix between old and new coding style. This is the best waiting items refactor, cause skills won't be affected in future.
  • 7 errors are still shown, and around 200 weapons aren't loaded. It's due to the fact skills are missing (as SAs use skills). Wait skills are rewritten.


    Skills engine
  • TARGET_PARTY_CLAN have been deleted, which got interest only postIL (OL skills used for both clans/party members, not in IL);
  • TARGET_AREA_SUMMON activated, core side for mass surrenders of summons.
  • some sleeping codes awaken due to previous revisions.



    Changeset 56

    L2Spawn / SpawnTable? refactor.


    SpawnTable?
  • The Map/FastMap use have been changed for a FastSet?.
  • The id and getTemplate of L2Spawns have been dropped. It need a refresh of your "spawnlist" table.

    ItemHandlers?
  • Use of TIntObjectHashMap instead of MapTree?.
  • The summonsItems type (hatchling, X-mas trees, wolves,...) have been refactored. The cast is 5 seconds, you're considered casting, and many checks + improvements have been made.
  • no more errors saying "the object exists already in OID map".

    spawnlist.sql
  • 3 columns have been dropped (id, randomx and randomy).
  • table's format have been improved.



    Changeset 57

    GeoEngine / PathFinding refactor

    Needed refactor ended :). Works wonderful using Stazis.

    Well, I suppose all know what is geodata. So I explain things you surely don't know :
    - GeoEngine load geodata files, when PathFinding load pathnodes.
    - The way to calcule pathnodes can be made differently :
    - using GeoPathFinding method, which load pathnodes (need geodata + pathnodes then);
    - using CellPathFinding method, which uses geodata data and calculate "on the fly".

    Both ways got pros/cons, explained on the ".properties".

    From those last informations and the comments of .properties, you shouldn't fail activating geodata :). Anyway, here are some good settings.

    For both configs : geodata = 2, ForceGeodata = True, CoordSynchronize = 2
    - using geodata w/o pathnodes : CellPathfind = True. For fun, put "DebugPath = True" to see if it's works, or to check your geodata doesn't sux. You have to make a collision to activate it (wall, tree, whatever).
    - using geodata && pathnodes : CellPathfind = False.

    Be clever and read godamn comments. I splitted options according to their uses.

    ---------------------

    Added to that:
    - I debugged multiple clicks on a player, which made you stuck.
    - moved 3 options concerning IAs and not GeoData from "server" to "npcs" config file.



    Changeset 58

    Spring cleaning + misc refactors.

    Well, ok, it's not yet the spring, but hey, I decide if it is spring when I want !

    Util cleaning
    - Well, before L2World refactor GS was using stuff, and now it doesn't anymore. Lol.
    - Rnd refactor.

    Config cleaning
    - AGAIN ? Yeah, I will leech out all heretic configs :D.
    - Deleted "not used anymore" IdFactory options, put survivors in server.properties. Burned IdFactory.properties.
    - Deleted the assert config, true by default from now.

    ItemsOnGround refactor
    - some cleaning, some improvements.

    All others files (mainly L2ItemInstance, preparing the next battlefield)
    - typos

    I need review on ItemsOnGroundManager mainly.



    Changeset 60

    Skills refactor, part IV

    L2Summon / Cubics refactor.
  • Manage duration of cubics, casting ability for summons (last haven't been tested).
  • Refactored formulas. Use of activationtime/chance.
  • Some stats have migrated from L2Skill to L2SkillSummon

    AttackStanceManager? refactor
  • Debugged players stuck in attack stance.
  • Cubics use attack stance as activator.
  • Summons && players attack stances are splitted.


    Skills formulas
  • Use of Freya resistances way. Will be easier to complete skills.
  • Drop of many templates (all baseVuln), which were put to 0 by default and never used. It still exists on Freya, and currently it's useless... From IL to Freya.


    DP side
  • correction of summons, L2Npc > L2Pet
  • added all ways to enchant summons. Dwarves powa.
  • Refactored existing skills to use Freya resistance/vulnerability way.
  • Corrected many skills, which haven't overHit or baseCritical ability in IL. ToD is now IL way (caster haven't lose of 90% CP, only 1,2k HPs).
  • Add of 1200-1299.


    Warning : Seeds cast (fire/water/wind) are messy. Main fault is because those skills have seen their use changed from IL to Freya, and I didn't bother at first time. I reverted back 99% of old code about seeds, but still the cast is buggy.

    Warning : cubics skills are around 41xx-43XX. They currently aren't added, but have been tested. Cubic heal is pretty oped :eek:.



    Changeset 61

    Shutdown refactor, PunishLevel?, adminCommands.

    Shutdown refactor
    Freya way. Do the same but better written.

    PunishLevel?
    jail punishement got now a duration
    the system is centralized (no more chatban task, ...)

    adminCommands
    merge of AdminBan? and adminBanChat;
    merge of AdminDisconnect? and AdminKick?. Allow //kick on a target.
    drop of the whole AutoAnnouncement? system (which was already broken since low revisions, and no one cried about)

    Misc :
    "Chatting is prohibited" box on all chats when chatbanned/jailed.
    teleToLocation correction.
    staticPackets (ServerClose?, LeaveWorld?).
    L2GameClient rework (avoids to logoff too fast if characters is subclassing / in attack stance.
    many minor corrections/typos.
    rework of main admin panels & announce menu. More work soon or later, it was just intended to delete useless buttons, and to format the code. Drop of "Mods panel".



    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 : ). 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.



    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.



    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.



    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



    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.


    Changes 68

    2 XMLs and associated core support.

    Thx Vrugar for 4100-4199.



    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.



    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 :).




    Changeset 72 to 8x


    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.



    Changeset 85


    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.
 
Last edited:
Skilled Illusionist
Joined
Apr 30, 2010
Messages
328
Reaction score
183

  • 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.



    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.



    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.



    Changeset 90

    NoStore? implementation + 2 messages, ty Zerador for initial patch.

    NoStore?

    only the jail and both Oracles (dusk/dawn) are setup as NoStore? zones.
    both private stores (buy/sell) and private manufactures (dwarven/general) are blocked.

    Privates stores/manufactures

    got more and shared conditions (must be unmounted, not in nostore zone, be alive,...)
    some packets clean, and one exploit fix.


    2 messages added

    when one of your blow fails;
    when you avoid the attack of character xx.



    Changeset 91

    • Couple of fixes for pets/summons
    • L2SummonAI refactor (enjoy the 10sec Freya copy-paste), which adds the "avoidTask" feature (when your pet is hitted, he moves around you);
      teleport is fixed with a pet (pet is ported with you);
      if the pet is 20 lvls more than you or a wyvern/sin eater, you can't make it attack;
      couple of fixes in the different summons/pets actions aswell (follow, stop, attack);
      pet follows you when you summon him for the first time (before it was standing like a tree);

      Misc

      some cleanings in L2NpcWalkerAI.



    Changeset 92

    • XMLization !

      We got another XMLlizer, treaser :p. Ty to him for those 2 shares.
    • 2 tables are now XMLs, teleport and newbie buffs.
    • Reorganisation of XMLs (data/xml).
    • Couple of little fixes, such as Config.DATAPACK_ROOT and unification of XMLs errors messages.


      Added protection blessing core support. Wait for 5100-5199 for effect.



    Changeset 93

    Inventories update, part I

    update each type of inventory.
    correct items consumption problems.
    fix around 10 different issues, such as bad synchronizing, freight exploits && missing checks.
    inventories (mainly normal inventory and freight) are loaded FAR faster.
    added not 1, not 2, but 3 configs ! Ooooohhhhh !


    Break definitively augmentations, which still need a complete refactor. The pet inventory isn't supported yet aswell (need PetTable? and model entire refactor).

    Tested skills consumptions, and the triforce (WH, CWH, and freight). Anyway, report if errors occur.

    Changeset 94

    Inventories update, part II

    I warn you : this update is pretty huge. Well, you could think "he says that to each commit nowadays", lol, and the worst is : you're right, as I'm right saying it's huge :D.

    Inventory refactor
    - Paperdolls refactors, LRHAND dissapears (not the slot !). Bows/staff are now considered as RHAND.
    - DHAIR => HAIRALL. Just to understand better 'what the hell is this crap'.
    - inventories instanciation. Should make sad some exploiters.
    - formal wear retail way (alldress slot).

    TradeList refactor
    - refactor the buylists loading (no more .csv support).
    - correct and improve (adding checks, using fun stuff) packets using them. Add some checks, those sorts of stuff.

    "Wear/Try on" system
    - Drop of the old "wear/try on" system, and of all old methods (isWear, and such).
    - The new one is buggy as I miss packets infos, and the only infos come from Freya (this stuff has been implemented on L2J around rev 44xx). WearList > ShopPreviewList, and added a new packet, ShopPreviewInfo.
    - The new system doesn't need checks as it's only a packet which change the appearance of your stuff. Basically not exploitable, and extremely light in ressources' usages (before an item was created, used, then deleted).

    Misc
    - L2ManorManager refactor (warning : as I suck with manors uses, I didn't manage to test crops/seeds sell/buy etc. I would like someone teach me how this crap works one day, lol).
    - refactor of the way to count arrows.
    - some packets refactors (mainly RequestCrystallizeItem), and many cleans.
    - a GM can't use hero weapons anymore if he isn't a hero himself, in order to avoid the "stupid bug" at relog, which made me lose 30min to find why it happened (and when a inventory refactor comes, you're pretty nervous about "WHY THE FOCK THIS STUPID HERO BOW IS REMOVED AT RELOG AND NOT OTHERS WEAPONS ?).
    - correction of a couple (around 10) of logs names... Ty Sentinel to open my eyes on this awful critical issue which could destroy the Earth and humanity. Which isn't a awful critical issue which could destroy the Earth and humanity, but still make you cry.

    Admin commands
    - ended the refactor of AdminEditNpc (both "edit" and "shop" parts have been corrected and improved).
    - AdminEnchant send only one message if you're the target.

    Changeset 95

    Inventories update, part III

    Warehouses
    Warehouses clientpackets updates

    ClanHalls?
    ClanHallManager? refactor
    mana consumption for CH buffs corrected
    teleports lists corrected and/or added (schuttgard was missing) using Freya.

    Misc
    StatusUpdate? update.



    Changeset 97

    XMLization of pet_stats, plus a couple of rework.

    Many values are now automatically calculated, not loaded from table. I need to experiment and debug a lot on this side, as calculations seem incorrect.

    Pets got many problems anyway.


    Changeset 98

    Move of zone.xml in xml folder, plus a little clean on ZoneManager?.



    Changeset 99

    4200-4299, ty SweeTs? for initial work.



    Changeset 100

    Pets refactor, part II

    - Reorganization of the XML and loading process
    - Update of the FeedTask?, with now the possibility of pet deletion if it is hungry (30% => 5% luck, 10% => 30% luck).
    - Some stuff which will be used when items refactor will come.
    - Hungry state setup to 55% (will be used for autoconsumption of food).

    Pets are still heavily broken (3 major problems), and they need items refactors from now (currently, food isn't considered as pet item).


    Changeset 101

    FishTable XMLization, ty treaser for initial share.

    - XMLization of fish.sql => fishes.xml
    - To respect naming conventions in the XML folder, zone.xml => zones.xml



    Changeset 102

    Augmentations refactor


    Yeah, fully working. What more to say...
    - augmentations are added when unequip/equip items, and loaded with inventory.
    - I used Freya, and deleted all accessories part, plus useless stuff (yellow array, useless method,...)
    - augments are now deleted with items, when a character is deleted aswell.
    - active augments got their cooltime stored.
    - some security checks added in concerned packets.

    About DP :
    - c/p of the skillmap (go from 58ko to ~530ko)
    - if there are problems about eventual postIL skills, tell me on forum. But from what I know, all are in the 3100/3200/3300.
    - added a couple of configs.

    Misc :
    - drop of getItemGrade(), which called getCrystalType(). Why it existed, I have sincerly no idea. And you can't say dev was drunked, because he did the javadoc, and said on it "it is the same". Lol.
    - mini reorganization in Config.java, in order to make lines less big. Just spaces basically.



    Changeset 103

    ClanHalls refactor + Singletons

    Well, it begun with a correction of singletons, and it ends by a clanhall update :).

    CHs / Auctions
    - Added the missing 22th auction, (Gludio or gludin) Moonstone Hall.
    - Corrected CHs loading process (Contestable aren't considered as auctionable)
    - Corrected week leases of all CHs (c/p freya), and descriptions.
    - Many typos, improvements and singletonizations of related instances.

    Misc
    - Some singletonizations.
    - Added RequestExMagicSkillUseGround packet content (signets), ty Zerador for info.
    - Manufacturing checks are now made in clientpacket, not in serverpacket.



    Changeset 104

    Cursed weapons refactor, 1 skill XML

    CWs
    - added propers messages at cursed owner login;
    - debugged cw_add (missing time task activation, and bug when you added 2 weapons on same character);
    - singletonizations, typos, missing checks, code actualization;
    - cursedWeapons.xml renamed cursed_weapons.xml, following the general XML naming convention.
    - GrandBosses, feeded beasts and guards can't drop them.

    Misc
    - All freakin typos errors "equiped"/"unequiped" are now "equipped"/"unequipped".
    - "DropIt" => "dropIt"
    - refreshed the reward method (doItemDrop) in L2Attackable.
    - Added 5100-5199 (signets working without force condition, but they work);



    Changeset 105

    4600-4699 xml + core support



    Changeset 106

    Last skill XML is now commited : 4700-4799.

    From now, and for any skill behavior/values, you can post problems on the unique topic "skills problem", in "reports CORE errors" section.



    Changeset 107

    ConfirmDlg? refactor, SummonFriend? fix

    - you can now add multiple things in ConfirmDlg? (popups for ress, summon friends, wedding accept). Timer, Zone area and many more are now supported.
    - Timer (30 seconds) and requesterId (fix bugged accept issue) added for Summon Friend. The popup shows too the zone where the requester is.
    - corrected an issue (when charm of courage will work, it would make the accept button buggy aswell).
    - modified the generic wedding popup generic for another (normally correct the "?" typo).


    Misc
    - IsInCombat? fix. Fix "pets stuck in combat" issue (couldn't unsummon if you "attack" then "stop" the attack before the pet attacks).



    Changeset 108

    AdminCommands? refactor, HTMs spring clean

    deletion of //set (if I got many whines on forum, I will add it back, but not on this version anyway). I know it can be useful (modifying configs ingame directly), but not this form (or you have to memorize each godamn config).
    drop of AdminTest? ; the only survivor, //st, has been moved to AdminSkill?.
    merge of AdminShutdown? && AdminLogin? (read DP side).

    DP side

    remove of //recall_npc ghost button
    accountinfo cleaned, charskills updated (add of removereuse button + broken link fix)
    merge of shutdown && login, to maintenance



    Changeset 109

    Skills fixes (signets restrictions, ChanceSkillTrigger)

    - ChanceSkillTrigger debug (work now on any L2Character instead of L2Playable). Debug mirage and all augments using this type of effects.
    - RemoveTarget effect now deletes completely the attackstance (it was keeping attacking even with target off, lol).
    - Added back Battle/SpellForce.
    - Deleted EffectForce. Old ruin of past memories. Or something like "very very old thing" :).
    - Added right conditions for signets cast. They now work (near) as they should.

    I decided to use the generic "work everywhere" systemMessage 113 for skill's unavailable forces number condition. If you find a cooler or the exact message (if it's the wrong message), tell me.

    In another hand, if you think I missed a check on FusionSkill, tell me aswell. Don't wait 40 revs to say "hey, you got a problem here". It normally checks following states : death, under attack, party break, subclass change.



    Changeset 110

    Zone update

    L2PoisonZone is renamed for L2EffectZone (and reworked...).
    Skills affect only L2Playable instances type (summons and players).
    Remove a warning on L2DamageZone (no effects).


    DP

    Add an debuff effect on Orfen Lair ;p. Added to the swamp effect, you're really lame now.
    Renamed the 167 PoisonZones?, nothing more.



    Changeset 111

    Sieges fixes + weapons cAtk fix

    All the code from sieges is entirely from me[Tryskell]. That means yeah, I can do other things than c/p, but that means yeah, it can have after-effects as it has been tested only by me, and on a short time laps. So feel free to test all possibilities and report on forum for eventual NPEs/errors I didn't think about.

    Sieges
    - admin commands about sieges won't bypass anymore conditions (can't reg 50 times same clan as attacker/etc).
    - The SQL code to include clan on sieges has been improved (avoid duplicate).
    - replaced circlets for crown at chamberlain "Give a crown" option. My bad.
    - remove both crowns and circlets (before only circlets were removed) ;
    - Crowns and circlets are removed only at the end of a siege (and not at middle time victory like before), and only if the initial castle's owner differs from the end owning castle's owner.
    - Corrected restriction to avoid to register on multiple sieges at the same time (retail confirmed).
    - Added alliance restriction, clan A/B of the same alliance can't anymore register on different side of a castle's siege. They have to be both on attack/defense.
    - Added message for people who aren't clan leaders and try to register to a siege (You aren't authorized...).

    Weapons
    - Replace all buggy "cAtk" for "cAtkAdd" in order to correct bugged critical damages, credits to SweeTs.

    ----

    Issues :
    - L2J Freya bug : the skill "Seal of Ruler" (seems) bugged, if you changed of target at cast's end it will try to take the objectID of your ACTUAL target, not on the previous one (so if your actual target isn't an artifact, the entire cast process fails). I got already an idea to fix it, which could be used in order to make some others actions (trade, etc) secured aswell.



    Changeset 112

    Some deletions, circlets/crowns fix

    Deletion of L2ControllableMob (as the poll shows it, no one knew the existence of this feature).
    Deletion of WayPointNode? (old code, no idea why it's still on Freya), and the 5 related variables in Config.java
    Fix the NPE scenario about circlets/crowns removal. Surely due to NPC owning castle.
    admin panel reorganization : move of strider/wyvern from "effects" to "teleport" panel, add of unride option.


    If there are still errors at removal circlets/crowns, please consider to give full infos, such as actual people on, who's attacker/defender, etc. Try to test with not defenders on.



    Changeset 113

    DayNightSpawnManager? refactor.



    Changeset 114
  • Duel refactor
  • singletons
  • one case of permaduel fixed
  • code clean, typo
  • less packets update

    The "error" at withdrawal is related to client side. It could (and read the "could") be related to server, but it's not supported at all else. Variable $s1 should be $s2.


    Changeset 115
  • Seal of Ruler zoning restriction.

    Ty DiNoR for initial XML/SQL values, and Ferb for idea/report.

    Work better with geodata on. Don't report if you got zoning error without the use of geodata... If players respect zones, zones respect players :p.


    Changeset 116
  • Correct all recipes for IL values, ty DiNoR for initial work.



Changeset 117

Multiple little fixes

- Danse of medusa got anew a time.
- Some packets modifications (added some packets infos, etc).

Nothing to kill yourself.



Changeset 118

[SpartaCis] Items refactor - part I

Many has been done those last days. Thx to DiNoR for incredible fast work on DP ^^.

- Items don't use anymore SQLs. All engine and DP is made for/of XMLs. All items can be found on data/stats/items, and follow original game system (melting armors, weapons, and etcitems in same files).
- SkillHolder implementation.
- Duals got now their +4 passive skills.
- shortBuffTask implementation (healing potions icons).
- Apprentice PK && CW drop restrictions are now handled in DP.
- Full rework of shots, + 2 fixes (1 due to Freya, 1 old).
- Items icons now fade if the item is of same sharedReuse group. Item shortcuts timers are still buggy (as Freya).
- Potions / Elixirs can be casted during casting. Thx momo61 for initial share.
- Some beginning rework on petItem. isPetItem() => isPetCollar(), isPetItem() implementation (consider pet armors/weapons as pet items). This chapter is buggy, even on current L2J Freya. More work will come soon or later.
- update for BroadcastStatusUpdate, in order to get less sent packets (limit mana updates)
- L2ExtractableItems are ported from initial .csv to existing skills XMLs. No more loading process for it.

The second part of items refactor will come once people tested and report eventual problems with part I. So you know what you have to do : TEST !



Changeset 119

AdminCommands refactor.

Here are fresh commands for you, mighty admins ^^.

ADDED COMMANDS
- cameramode: same as retail //camera, thx to Airin (L2J User contribution)
- admin_summon_info: displays an information window about target summon
- admin_unsummon: unsummon target's pet/summon or target
- admin_summon_setlvl: set the pet's level
- admin_show_pet_inv: show pet's inventory (currently NOT WORKING)
- admin_party_info: find party infos of targeted character, if any
- admin_clan_info: find clan infos of the character, if any
- admin_remove_clan_penalty: removes clan penalties

DELETED COMMANDS
- save_modifications, part of the "Edit" button panel of the selected character.
- visible/invisible, deprecated cause of the existence of vis/invis.

PANELS
- Many panels are improved. Some holes have been filled aswell with the new commands.
- Main panel have "dualbox" and "pet infos" buttons
- "List" > select a character got a fresh panel with new added commands.
- "Edit" button panel has been seriously revisited. It got only useful stuff.

MISC
- Cleaned 2 skills. Nothing for you.
- L2ClanMember typos.



Changeset 120

Some little fixes.
core support for isClanSkill().
add an effect on Grade Penalty skill (-50% runspd/atkspd/cstspd).
update correctly passive skill list when Grade Penalty occurs.
update/complete 2 serverpackets.
change calcLvlDependModifier formula method.


Experimental : Point3D doesn't use "synchronize" anymore, which means less used ressources. Such points are used for signets casting as exemple. If you handle strange behavior on signets positioning or such, please contact on forum asap. This fix has been released recently on L2J.

=========================================================================================================================

Changeset 121

Fix hennas typos problems. Additionally improve DB structure for those tables.

Ty stanus for report.

PS : prices have been updated aswell. When they seem more... normal (from my player's PoV), if you got proofs old prices were retail, send screen / cry on forum ^^.

==========================================================================================================================

Changeset 122

Items, part 1.5 ^^

Correct following errors :
- stackable items (5 missing);
- herbs effects (both DP && core issue);
- SoE castles/clans (it was using the old itemhandler, used for backward compatibility, but now it was bypassing real effects so bb old itemhandler and welcome new generation :));

Misc :
- added a config for bosses items drop rate;
- fixed the targeting issue when sitting (when you double protect something sometimes that bugs, lol).
- added Dummy skillhandler, correct "the DUMMY skillType isn't implemented". You can launch fireworks without bugs ! Eweussaumeu !

=========================================================================================================================

Changeset 123

Misc
- Add core support && DP for Court Magician (allow to use castle crown's skill), currently fully working.
- Correct shields item restriction (as they migrated from L2Weapon to L2Armor).
- Improve EffectFear (geodata check). I still don't know why mobs take time to be affected. It's not due to effect anyway.

If by any hazard, the Court Magician got other stuff, consider send as much infos as you got on forum, and if possible with proofs about what you say. I didn't manage to find any decent IL infos, except the clan gate part.



Changeset 124

Items refactor, part II

- Replace all differences in terms of values and names typos from Freya to IL.
- Added back pet armor/weapons type, and bodypart related to pet's race. Drop of is_petitem boolean.
- Added all missing onCast skills.
- correct tatoos/cloaks, add pDef to cloaks.
- Added missing SAs.
- Corrected all typos.
- And many more...

DP part entirely made by DiNoR, thanks him for the amazing work :). God Bless his skills everyone !

Items DP is supposed to be finished. Consider report any strange item. Ty in advance.



Changeset 125

Misc fixes.

Correct all skills values "cAtk" from 1.3/1.4/1.5 to 1.3/1.325/1.35. Ty Zerador for the report.
Fixes buggy entrance message on arenaZone.
Add 2 Arena managers on Giran and Gludin arenas. Move the Derby Monster Track one outside the arena. Corrects the hardcoded CP recovery for a buff use, and add a popup if you haven't enough adenas (ty Zerador for the initial code).
Crests refactor, should correct all problems of crests for clan/ally (staying crests after ally kick).
Added back ToI and coliseum doors as opened at server start.
Added the passive buff "Equip Set Items", which is added/removed in same time than a set passive skill. Verified from a L2Off.


Report if you still got problems with crests, I only managed to put/remove/change one to see if I have broken something :p



Changeset 126


Quest engine / AIs, part I

Quest engine.
- rework of quests engine, using the unstable L2J trunk, in order to be able to use java files (mainly AIs).
- deletion of the jscript folder. If you want to help refactoring quests, save this folder anywhere else, or dl back IL quests. "scripts" folder is added, with some AIs.
- Some AIs added. They're supposed to be final and working. Report all you can about them. I only tested chests and Gordon.
- Addition of many configs, mainly about World/Grand Bosses and quest rates. Report bosses respawn timers on the forum, as they seem all wrong.

PS : The engine has been stripped of the compiled cache stuff (.rar-ed events and such). ON_SKILL_LEARN has been dropped too.

AIs
- Reworked AIs. Mobs can know support, heal when low HPs, use skills (they spam them those bitches...)
- npc_ai_data.sql has been added. It is supposed to get all AIs stuff concerning NPCs templates.
- some infos of npc.sql have been deleted, and moved to npc_ai_data (mainly faction => clan).

MISC
- npcskills.sql is renamed npc_skills.sql
- L2MinionInstance is dropped. Now all minions are normal L2Monsters. They're still linked to the leader via the minions.sql
- datapack is now parametered to see java errors. Allow easy debug on java quests.
- NpcSat, TutorialCloseHtml, TutorialEnableClientEvent serverpackets added.
- core support for tutorial quest (Q255).

MANY LIBS HAVE BEEN ADDED/MODIFIED/DELETED. YOU HAVE TO REINSTALL ENTIRELY YOUR SERVER IF YOU DON'T KNOW WHAT TO CHANGE. TOPICS WITH "CLASSNOTFOUND" ERROR WILL BE DELETED WITHOUT WARNINGS.

Two issues exist on hardcoded AIs :
- minions dont appear back, even if the leader is alive (whatever mobs, general AI issue).
- mobs with caster types skills don't attack back if their casting range is higher than the distance of the player. Saying it differently, they stay without moving at their position until you reach the good distance. Kinda strange.

No issue has been found currently about the quest engine itself (loading Python/Java correctly).



Changeset 127

Misc changes
- change sql table format of npc_ai_data table, as some people couldn't install it correctly.
- correct HTMs and internal issues for following custom/quests : shadowWeapon, heroCirclet and heroWeapon.
- set the rb pdef/mdef multiplier config to 100 instead of 300. Any RB had x3 pdef/mdef.
- you can't give anymore a castle via the admin command if the target already got a castle (fix a bug).
- fix the getExp/Sp rewards formulas (use of MaxHP in formula ? Lol).
- tweak the //zone_visual admincommand in order to get less adenas dropped when creating the zoning visual (x2 faster at draw/clean).

Ty SweeTs for many reports, and TheLastHero for the recall : don't forget to change HTMs' quests bypasses.

PS to quests helpers : you have to change HTMs aswell in order to make quests working. It's kinda easy : search for IL name of the quest over the whole "data/html" folder, and use "replace" tool with the corrected quest's name.



Changeset 128

Items variables cleanup
- drop of "is_questitem" and "is_herb". It's now handled directly by etcitem type.
- Ty Dinor for suggestion.
- differenciation between isHerb() (item) and isHerbEffect() (effect).

You have to change all your items XMLs.



Changeset 138

Quests stuff, and misc.

Quests
- Rename "Help My..." serie for "Help The...", following client infos.
- Apply min/max level restriction on quests.
- addition of Q003_WillTheSealBeBroken (old name was refering to nothing existing).
- cleaned Q045, addition of (qitem, previous quest, level) restrictions, following L2off htms. Race condition must be made at quest 006.

Misc
- 3 NPCs HTMs have been corrected (DE village).
- npcs aren't effected by effects (except buffs and debuffs).
- walking/run spd set to 0 isn't a problem anymore. You normally can spawn anything you want. That doesn't mean the db doesn't need a correction.



Changeset 139

Boats system

- Boats have been refactored using Freya. It removes the 2 .csv, corrects all related packets, kick players without a good ticket, announce using client strings.
- Paths seem ok, I tested 2 boats on 5 (go and back).
- Boats enable config is now enabled by default.
- fix a Freya issue when you got only one ticket (inventory glitch at item destroy).

Misc
- CreatureSay serverpacket allows the use of client strings from now, as I already said higher.



Changeset 140

One quest, glad formula, misc

- deletion of one useless lib (removed then added back at rev 69-70, kept for old qengine only).
- glad formula is more retail like. Damages are really heavy with 7 charges, around xx + 1 it's normal power (xx is the number of charges the skill uses). Compared to PDAM skills damage, the result seems appropriated.
- Addition of one quest, Q166. Ty DiNoR for initial share.
- Correction of all quests considering onAdvEvent() method. Please refer to existing quests in order to get a good template.
 
Last edited:
Skilled Illusionist
Joined
Apr 30, 2010
Messages
328
Reaction score
183
Changeset 141

Some formulas rework.

- Shields are supposed to block both magic && physic skills (L2Guru 2007 topics). I thought it was post IL, and for so, when I refactored skills I kicked this part of code. Now I got the good infos, I add it. So yeah, tanks aren't so weak in this chronicle :). For info, it works exactly like pdef, but add mdef and can do critic success (1 damage).
- Seeds have been corrected. I did 2-3 tests only but it worked for one fire/wind seeds combo, and 2 fire seeds, no reason it doesn't work for others combos. So from now, all skills are supposed to work correctly.
- Improved/reworked Attack serverpacket.
- Completion (removed quoted stuff from skillhandlers) of the NPC soulshot system. Current AI table is kinda messed in this case, as mobs with soulshots haven't any chance to use it, and mobs with chance haven't any soulshot. Freya, freya...



Changeset 142

Quests !

8 quests related to fishing, all have been tested and corrected comparing to L2J, but if you found some errors, you know what to do.

Ty to DiNoR for scripts.cfg && initial share of 2 of them than I corrected, others are clones made by me.

I didn't test the fact to fish. I poped items in my inventory. Report if fishing is broken somehow (you have to get the GOOD LEVEL OF FISHING before trying, it depends of the quest).



Changeset 143

Drop protection.

What to say more... It's the retail drop protection, which block others players to pickup your loots for 15 seconds. If someone is in your party or is from same clan, he got priority aswell.



Changeset 144

Two new quests, 5 && 7. Tested from A to Z.

Ty to fernando and DiNoR for initial commits. HTMs have been corrected using L2off (L2J was/is wrong about HTMs conditions of 7, and some HTMs use were missing after condition is successed on 5). Tip of the day for awesome Freya c/pers : never think L2J make perfect quests :). Better c/p aCis quests, all remade with love :D.



Changeset 145

Quests 006, 008, 110.



Changeset 146

Quests, spawn protection, crests packets

Quests
- 3 quests added, Q112, Q157 && Q161. Ty Fernando for good work.

Spawn protection
- Spawn protection config has been corrected;
- The trigger was activated even when player was simply invul (gm invul, skill invul), which launch code for nothing;
- Some packets were activating the trigger from their own (Appearing, etc), which basically focked up the protection at enterworld;
- A message has been added if you move before the protection ends;
- The only possible action is now Say2. So yeah, you can flame the campers until protection ends. Awesome, no ? :)

Crests packets (client/server)
- cleaning, packet structure simplification when there is no crest.



Changeset 147

Misc, misc, & misc

- Q002, ty DarthVader (and the dark side of the force).
- Corrected pole targets calculation.Non polers targets are back to 4 (instead of 9 targets). Current Freya is still wrong at the time I talk.
- Fixed few jewels which had problem on enchant (ty Zerador for report, and DiNoR for fast fix).
- Fixed CoV effect, supposed to give back the amount of HPs (20%).
- deleted limitation system. It was crappy. I only kept the retail cap limit of 500 on critical.
- fixed the drop protection, only party must be affected, not clan (ty Finito for report and "the ride" :D)
- "Fear" graphical effect added back (which is confusion effect aswell).



Changeset 148

Alliance/clan "quests".

I had to pick back HTMs from rev 44 for rename bypasses/HTMs. Ty Ventic for initial share (there was some rework to do, you don't use last qEngine...). Consider testing all options and report if something misses, normally all is supposed to work. Moved a HTM from village_master to default (again a DE). Added a NPC missing in original quests (id 31336).



Changeset 149

Quests.
- deleted the unset("cond"), as it's handled directly when you use exitQuest(false). You still have to cleanup it if quest is repeatable (or I guess so).
- added GNU licences on fernando shares. Erm.
- added Q013, Q153, Q277 && Q357. Ty Ventic, fernandopm, TheLastHero && DiNoR.



Changeset 150

Quests.
- Added 3 quests : 122, 261 && 272.
- Removed the few existing credits.

About credits : none cared about to add initial authors, and after all, there are far more than one or 2 authors. Should I add my name on each file because I corrected your own errors too ? Should I find the initial author, and all others who corrected the quest since the time without adding their own credits ? Guess no. Added to that do you think leechers will let right credits ? So let's remove the credits and let the whole crap anonym :).



Changeset 151

FloodProtector rework.

- Added the less useless fP (dropItem, multisell).
- No more instantiation.
- Possibility to add punishement, duration, numbers of actions before punishement.
- Before ppl were put in an array, once this array limit was reached if it didn't fit with max players limit, only hell knows what could happen :D.
- fP settings have been seperated from server.properties.



Changeset 152

PartyMatching system (that smells the leeching suckers at 100km around :D).

Added to the Freya update, following fixes (made by your servitor - me, myself, not you ugly leecher who read this text) have been made :

- player room's kick :
- LFP title is now correctly removed.
- The player is register anew in the waiting list.
- The partymatching panel is updated automatically (not simply closed like before)

- Waiting list
- Now it doesn't show your own name in the list (verified on a L2Off C5, plus, do you think it's normal to send to yourself partyinvite/whisper ?)
- The waiting list works NOW ONLY FOR ROOM'S LEADER, or (as before) for people without room. It allows to (read next) :

- addition of the 2 missing packets to invite someone in your partyroom.
- Use of FriendInvite for the main idea :D.



Die leechers :D. I got one step more than you each time.



Changeset 153

Shadow sense && misc

- Add Shadow Sense support (without use of thread), which was in sleeping mode.
- remove recall_npc button in npc+shift click on NPC.
- Remove StackTrack warnings on //forge2 and //forge3.
- Added some sounds, such as : chatban, unban chat, gmlist/petition (if none GM online).
- Fix a PM's NPE. Ty L2J's user DareStrike for report.
- Add ClientSetTime serverpacket.



Changeset 154

Skill fixes && misc.

Misc
- builds.xml have been formated and cleaned. DP doesn't create a .zip anymore, nor try to update/clean it (faster compilation).
- .project is supposed to correctly "link" dp and core (you don't have to make manually the fix anymore). Ty Voqus.
- 2 items are now considered as quest items ("seductive whispers" and a "game of cards").

Skills
- Once sitted, you can only disable a toggle, not activate it anymore. Issues like using fakedeath during private shops weren't so cool... The initial feature (and bugs) has been introduced at revision 50.
- Slow reuse time is 7sec, not 2sec.
- Seal of Disease acts like a seal, not like a one man target && far-casting spell (Gracia behavior), ty Vonak.
- cancellation and such CANCEL skillType are now corrected. Formulas were linking to another skillType, CANCEL_DEBUFF, which isn't the good effect ;p. So from now, Mental Shield and such buffs should correctly add resistance to cancellation type skills. CANCEL skillType is now 100% effect success aswell. Ty Vonak and Sim for report.
- confusionVuln is now handled directly by derangementVuln. This property (confusionVuln) doesn't exist anymore.

You have to update skills XMLs.



Changeset 155-158

Well, basically both (this and 3 past) commits were lolcommits.

It will allow people to checkout directly in good directories. If you manage to get a personal project, and same issue than me (aka repo folders' names are different of your local project copy), avoid to do it like I did (Voqus, grrr ;p), aka don't do it from SVN repository. But do it using package explorer view > Refactor > Rename (ty Trance for the too-late solution -.-"). You can commit all of them in one commit, and that will change .project directly instead of doing manual crap.

If you got issues, I invite you to drop all your aCis stuff and to checkout again.

+4 useless commits. Beat that L2JBroken/Loop/XG !

Since it's the most useless commit I have (and will) ever made, I would like to thank all helpers which helped me (in one or another way) since the beginning of the project. You have to know major updates are coming those days (on DP side, we prepare something big). Quests refactor will take a big time aswell (expected time for a complete quests folder is around 3 to 4 months).



Changeset 159

Teleports.

Added the 6 following teleporters, fully working.
- ElrokiTeleporters (added the no fight check, as explained in the NPC's dialogue);
- NewbieTravelToken (fixed HTMs and added HTMs if player hasn't token);
- NoblesseTeleport (fixed HTMs);
- PaganTeleporters (retail way, gates are opening. Fixed all HTMs, and fixed 2 qItems' issues);
- RaceTrack (as L2J Freya did - lolscoria is fully bugged);
- TeleportWithCharm;

Misc
- The Pagans' statues are now L2Npc, not L2Teleporter anymore (as all actions of teleport are handled by quest). For so, their htms have migrated on default folder.
- HTMs of an non-existing gatekeeper have been deleted.
- 2 Pagans teleports have been removed, as they're now handled by the quest (and it's not teleport anymore).



Changeset 160

Skills
- Magical critic rate is now corrected, and fit official recipe
- Old CONFUSION behavior was useless. CONFUSE_MOB_ONLY have taken this position.
- Both effects EffectConfuseMob and EffectConfusion are corrected. An random aggro number has been added, allowing mobs to change of target each tick. It can add more aggro on same target with some unluck... And this target can be you, ofc <_<.
- Valakas Necklace Wild Magic effect is corrected.
- The only use of old CONFUSION skillType was on a potion (Critical Escape). This potion skill has now a mirage type effect. That's surely 100% custom but old effect was custom aswell, lol. And the effect is working at least...



Changeset 161

  • Skills and Misc

    - Correction of MANADAM effects, which now support MDOT. Effect is really supposed to burn some initial mana then to do a MDOT.
    - Fixes the teleport skill from Blade of Splendor (VoS), which had 2 skillType (o_o).
    - Fixes attack button on pet betray mod.
    - Bypass shield's check on Hydro Blast's use (2007 L2Guru topics)
  • Misc
    - fix macro items use deleting the itemUse fP. Even put at 1, it was making it bugging.



    Changeset 162

    Quests & misc

    - addition of 3 quests : Q004, Q379 & Q401.
    - add a missing SQL about global quests variables ;o.
    - clean correctly a deleted character (addition of character's raid point & global quest variables to cleaning)
    - fix Mass Gloom (should be on the summon).



    Changeset 163

    • Quest stuff & misc
    • Q171 added
    • add the possibility to reload a single quest, overloading existing command (//reload quest number). If you type "//reload quest", all quests are still
    • reloaded (but AIs and boats path aswell...).
    • add the possibility to add a script without server reboot. "//reload quest" wasn't made for that, as it could bug boats and such.
    • delete postIL stuff about instances.



    Changeset 164

    Quests ! Moar !

    - Q014, Q162 && Q688. Ty to Ventic, TLH and DiNoR.



    Changeset 165

    XMLFactory, Formulas rework, baseStats deletion.

    Ok, that does 3 days I didn't commit but there was a good reason (as always when I don't commit) ^_^". I was testing some experimental features, and some revert back. Some formulas have been corrected aswell, or "tweaked". Here's the list of changes :
  • baseStats
    - reverted baseStats.xml to IL stuff. Why ? Values/tables are calculated on the fly from core (no use of external technology = less ram/cpu consumption), and are more accurate (no rounded values).
    - saveVs from skills have been deleted, and replaced by core side formula (= less data from skill as all skillTypes use same stats, aka MEN or CON, to be calculated). Many XMLs are concerned.
  • XMLFactory
    - That's EXPERIMENTAL feature. All XMLs are now loaded from a single instance. That means clean code (some XML refactor codes are cut per 1/3), and normally less objects created. The use is very simple aswell. From the moment, no problem has been discovered using it.
    - armorsets' XML got a new structure (must be updated).
  • Formulas
    - a big rework has been made on Formulas.java. All Func have been moved in the folder named "funcs". Old funcs have been moved on a new folder "basefuncs".
    - many formulas (mainly magical) got now proper logs. You can see them activating "Developer" option in server.properties. I hope it will help you to find eventual issues.
    - some formulas have been reworked from scrap:
    - calcAtkBreak (renamed calcCastBreak) has been improved and the use is more simple/generic.
  • Mobs casts aren't broken so often (depending of IA, goes to 10% to 30% of player rate).
    - calcHitMiss uses retail infos (verified from l2guru 2007 forum post / L2p bravehost).
    - calcMagicEffect has been tweaked (because effects weren't noticeable at all : 10% fail only on a red mob). Effect has been x2. I think the formula is still "too kind" with players, anyway.
    - resistances are now directly applied instead of lolcalculated (understand than 20 resist = 20% now instead of 24%, etc).



Changeset 166

Misc, misc, misc

- FakeDeath
soulsimbol - L2jCompiled Revisions - Interlude C6 (BETA) - RaGEZONE Forums
is now off-like (once activated, toggle is locked, until you type /stand or click on sit/stand button.)
- visual effects have been added for 8 seals/fire skills (ty SweeTs for idea).
- skill mastery is calculated only for players (waste of ressources for other L2Character than players, as stat is 0).
- fix \n on chat, ty manoell for the 1 line fix :p.
- continue previous work on resistance calculation (better said, I forgot 2 of them in previous commit).
- added a 2,5sec paralyze task on ressurection (FD is concerned too), which force ppl to get the "wake up" animation (based on sitTask paralyze stuff).
- renamed/clean some packets



Changeset 167

Me, ashamed ? Nevah. My Ohlolol account depends of that commit :D.

Special thanks to "Advanced Find and Replace 6", haha.



Changeset 168

Deletion of GeoEditor and ManaPotion handler.


As mana potions
soulsimbol - L2jCompiled Revisions - Interlude C6 (BETA) - RaGEZONE Forums
haven't any existing skill (verified both on 3 months old L2off IL sources and on a running L2off), I decided to link potions with mana herbs effects. Mana drug give back 12% mana, mana potion give back 18%.

MPots aren't supposed to be usable, so from now, end of chatting about MPots.



Changeset 169

Buffs system
soulsimbol - L2jCompiled Revisions - Interlude C6 (BETA) - RaGEZONE Forums
, Enchant system, misc

Buffs system
- reverted to be IL-like. Ty stanus for report.
- Dances aren't put anymore at end of buffs bar, and aren't "saved" compared to others buffs.

Enchant system
soulsimbol - L2jCompiled Revisions - Interlude C6 (BETA) - RaGEZONE Forums

- refactored the enchant process, adding many checks and securities (warehouse, can't enchant during store,...).
- added retail messages.

Misc
- addition of Q019;
- fix messages when a player/summon hit an invul NPC. Split that message in invul / invul paralyzed (medusa type) aswell.
- typos, and revert noquest.htm content for IL type.



Changeset 170

soulsimbol - L2jCompiled Revisions - Interlude C6 (BETA) - RaGEZONE Forums
MapRegion XMLization
- SQL -> XML;
- Corrects Prismeval Wharf teleport issue (one PZ becomes a TZ);
- Clean TownManager postIL stuff.



Changeset 171

2 XMLizations, typos fixes & Misc.

XMLizations
- access_levels &&
soulsimbol - L2jCompiled Revisions - Interlude C6 (BETA) - RaGEZONE Forums
spellbooks (previously skill_spellbooks) are now XMLized.

Typos fix
- many typos fix on GS logs. That's nothing more than esthetic issue. That's 80% modified files of that commit.
- some "counters" (TableName: Loaded xx blabla) have been reworked.
- drop of the timer (GS started in xx seconds).

Misc
- qItems are now "no destroyable". When it's not retail-like, it goes the good point to avoid exploits, such as deleting your qItems and continue the quest as if nothing appears. Doing retail will ask to remake each quest, adding checks for any qItem.
- cleaned the few qItems which were "no_destroyable" (as handled directly by core), and clean the CWs enchant stuff.



Changeset 172

XMLs, XMLs, XMLs... And misc !

XMLS
- XMLization of NpcWalkerRoutesTable && AdminCommandAccessRights.
- NpcWalker system have been slightly refactored/updated aswell.
- cleanup in all existing XML tables, for cleaner coding style.
- cleanup some XMLs (to reduce length and improve readability).
- Ty DiNoR for SQL -> XML work on walker part. And death to NPEs.

Misc
- addition of 2 quests, Q032/259. Ty fernandopm && Richijs4 !



Changeset 173

Enchant, reuseDelay for items, Skills / Items fixes

Enchant
- Fix enchants, which are now possible on equipped items (not only inventory).
- Fix success enchant message.

reuseDelay
- Items use from now the reuseDelay of their template ; if nothing is found it will use skill item reuse delay (as previously). Simple example on CP potion : reuse delay is 500ms on item, 50ms on skill. It will use 500ms. If item hasn't delay it would use 50ms instead. Before this commit, it was using 50ms.
- Delete message on skill's use (post-IL stuff)

Skills / Items
- fix some SAs values (Miser, Cheapshot and Quick Recovery mainly), and add some missing SAs.
- fix Triple Slash (ty sa_"theXMLdev"_har :D) power values.



Changeset 174

Zones system, 3 quests, misc

Zone system
- Players aren't effected by NPC skills zones ;
- Mobs aren't effected by L2EffectZone/L2DamageZone (BigHead zones, castle traps, Blazing Swamp,...) ;
- Activation and core implementation for isEnabled feature (mostly used on script for 4S).
- drop of L2BigHeadZone (using L2EffectZone since some revisions).

Quests
- addition of Q015, Q031 && Q121. Ty to contributors !

Misc
- addition of missing HTMs for a couple of NPCs. Ty Pofka/seRiousLy from L2JBroken project for their contributions.
- correct skills XML 3500-3599.



Changeset 175

XML, XML, XML, XML, XML...

And XML. That was long, and the DP side still needs some corrections/verifications. I ported 6 SQLs to XMLs. 3 SQLs have been merged, the data has been splitted according to class ("data/xml/classes" folder). The 3 others SQLs => XMLs have been moved under "data/xml/skillstrees" folder. An effort has been made on informations loading (drop of useless stuff, enlighten XMLs structures) aswell.

Added to that:
- 22 enchantement skills (IL ones) have been added. Those datas are unique - as handmaded by me - so enjoy :p ;
- a packet exploit on skill acquire has been fixed ;
- a useless message has been dropped when you close enchant/acquire skill windows ;
- Lucky skill isn't shown anymore on trainer skilllist ;
- 2-3 methods are improved (no checks on shortcuts when a passive skill is removed, Lucky skill check method doesn't remove skill at any level) ;
- Mobs are supposed to do magical critical now. At least, they got a default stat now.

The memory drop is around 10mo. The pack has been tested in the installation process aswell.



Changeset 176

Four Sepulchers part I + misc

Four Sepulchers (4S) has been implemented. Plenty of bugs still exist, but will be corrected at part II (waiting for you to make reports). For the moment, following has been added :
- main instance + the 2 NPCs instances.
- spawnlist "spawnlist_4s.sql", and HTMs "sepulchers" folder (ripe of "default" folder).
- addition of missing NPCs spawns on spawnlist.sql, minus spawns of 4S mobs (handled in "spawnlist_4s.sql").
- Q620_FourGoblets has been added.

Misc
- Tyrannosaurus aren't lethalable anymore.
- //invis, //vis, and //invis_menu => //hide command.
- GS shows "used" memory, not "free" memory anymore.
- refactor of SocialAction packet.
- "Patrols" guards chat window has been corrected.



Changeset 177

Zones refactor, items on character templates, misc

Zones refactor
- core implementation and DP activation for "reuse" and "initialDelay" for DamageZone;
- addition of the warning icon for DamageZone.
- deletion of ZONE_ALTERED (pointless).

Items on character templates
- addition of items at character creation.
- only first classes got those datas, which is not the actual L2J way (actual loads items even for post 1st class transfer o_o). Consider reporting if you find an issue.

Misc
- Addition of (a tweaked version of) L2TownPet instance, ty Sentinel/Vhalior for initial share.
- Mini clean on items (those datas are already implemented).
- Drop of the duplicate spawns for Orfen, Queen Ant and Core. Valakas big teleporters have been dropped aswell (handed by future AI).



Changeset 178

Dimensional Rift, HotSprings IA, misc
soulsimbol - L2jCompiled Revisions - Interlude C6 (BETA) - RaGEZONE Forums


Dimensional Rift -- fully refactored using Freya.
- addition of EarthQuake effect at room changes.
- give possibility to have more than 1 party in same rift, without interacting between them.
- correction of an misfunction using jump cards (4 jumps, not 5).
- fixed/verified values to be retail-like (2 players minimum, 480-600 sec, 4 jumps).
- fixed issue where you can spawn directly in Anakazel room (at startup or during jumping).
- Added message for tokens consumption.
- Fixed spawn of one Rift ziggurat teleporter.

HotSpings IA
- added a fully working HS IA, which upgrades the disease when the mob hits you.
- corrected durations of diseases (from 10 min to 1 hour).
- Added core implementation for that new stuff, under OnAttackAct (perfect for your custom events :p).

Misc
- Corrected Q153 typo, and fixed html -> htm (ty Vhalior).
- Cleaned postIL stuff related to epic jewels (ty Sahar).
- Added the 3 missing L2PetTown (ty extel).
- Fixed some links in htmls.
- Added SuicideAttack behavior on "NPC Death Bomb".
- fixed eventual NPEs at quest engine.
- fixed previous rework on items reuse durations. It now take the longest time between items reuse and skill reuse.
- some cleanup at L2Npc onBypass.



Changeset 179

npc_ai_data, and some misc

npc_ai_data
- spring cleaning on variables names, deletion of some booleans (behavior can be handled differently, so...)
- some behaviors disappeared (resskills, floatskills (?)).
- addition of suicide behavior for NPCs (activation at 30% HPs -- need surely to tweak it depending of skill/monster later), not a general skill anymore.
- addition of a minimum and maximum skill luck (between 7 and 15% by default from now, before it was 15%).

Misc
- Addition of a timer on pickup action.
- Tweaked existing animation timers, based on speed run now.
- Fixed a typo in Q006.



Changeset 180

Formal Wear quests serie - Q033, 034, 035, 036 && 037.

- endquest rewards items have been put as qItems aswell.
- ty Treaser for initial share. I can't say it was free-bugs... Like adding 20 HTMs and so on.
 
Last edited:
Skilled Illusionist
Joined
Apr 30, 2010
Messages
328
Reaction score
183
Changeset 181

Command Channel, usercommands cleanup, misc

Command Channel has been refactored
- the little window is now correctly working, showing party details aswell. "Quit" button works too. Ty Hellish for report.
- addition of missing packet, && correction of existing ones.
- correction of a hi5 L2J bug related to CC (issue when inviting a party leader by the way of a party member).
- all custom messages (around... 15 ?) have been replaced for retail ones.

Usercommands
- channels commands (creation, delete, info) have been cleaned up.
- clan penalty has been improved (use of StringUtil instead of TextBuilder).

Misc
- L2LvlUpData has been dropped (useless stuff).
- L2ArmorSet and AutoChatHandler have been cleaned up/refactored.



Changeset 182

Quests little refactor, misc

Quests little refactor
- All quests got their COMPLETED check moved to top of the onTalk method (previously, it was put on the switch case of the quest giver). There are 2 reasons so far :
- one is a bugfix reason (when NPC got numerous quests, it shows even quests done, so when you click on a secondary character, this guy won't have proper html sent => "I have no tasks for you right now, emo" instead of "you already made that quest, dumbass").
- other reason is optimization : it avoids to read a part of the quest, launching variables/switch case for a simple result. So from now, it is fastest and use less checks.
- All quests with reward items on monsters kills (onKill method) got a unique "template" from now (if the reward type fits with the default behavior, ofc...)

FROM NOW, HELPERS, CONSIDER TO USE THE NEW IMPLEMENTATION (there is near nothing changed as you can see, but you will save my own time doing it directly good).

Misc
- formal wear isn't considered anymore as heavy armor (passive skills from tanks and such were applied...).
- Dimensional Rift is (normally) entirely debugged. I rewrite my own rewrite to fit with Vonak's experience. Ty to him.
- "dist" folder on DP build dissapears. That avoids 1 useless double click... Lol.
- Q009 and Q010 have been added. Ty to the numerous contributors (4 !) for those 2 worthless quests :D.
- subclass checks : addition of summon check and "inventory bigger than 80% in term of slots availability". The existing check about overall weight has been hardened aswell (from now, even with one level of weight penalty, the village master smashes your face down to the ground). Reason I hardened the wight penalty is simple : imagine you're a dwarf, with 79% weight(50k of soulshots ftw). Now decide to sub Elven Elder. I think you got the picture.



Changeset 183

Q017, 258 & 626. Ty fernandopm && Richijs4 :).



Changeset 184

Items reuse (again), quests, misc.

- Items reuses are fixed (both scrolls and potions). I hope it's final implementation.
- Elixirs-type skills now display successfully the reuse in shortcut bar.
- Addition of Q018, ty Richijs4 for share.
- little fix on Q037, ty Vhalior for testing.
- correction of some HTMs typos, and 5 emptys bypasses.



Changeset 185

L2Multisell rework, misc.

L2Multisell rework
- added a check to avoid enchant exploit.
- added a check on inventory slots/weight. PS : it doesn't take in consideration your quest items slots. Cry on forum if different (if you got PROOFS).
- corrected an issue about buying multiple reputation items and only the reputation price of one item was taken (both check, message, and amount decrease).
- added a check on the NPC you're talking. If you're in a strange state (dead, masturb...), or if you're too far, or if the NPC isn't the good type of NPC, OK button doesn't answer to your frenetic mouse clicks.
- cleaned all multisells lists which don't need maintainEnchantement statut (minimize exploits -- if it's still possible).
- added a message which make a sound when you success ! * AwESoMe ding *
- L2Multisell instance is now loaded at server loading, under Items tab. Added to that, Singletonization.
- L2Multisell doesn't load anymore broken XMLs.

Misc
- cleaned up some methods on L2Character (experimental stuff, as some synchronized stuff have been killed). Consider report any Special person things on stats changes and stats broadcast.
- StatusUpdate cleanup. Only one way to call it from now.
- Some HTMs typos. Death to <br1>.
- RequestSellItem packet (some checks added as L2Multisell, and general refactor).
- RequestBuyItem got his NPC check improved (on L2Multisell idea).
- no more message/method launched when you take Clan Imperium skill (as repu cost is 0, pointless repu calculation and message).



Changeset 186

LoginController rework, misc.

LS / LoginController
- added a config to on/off all LS logs (off by default from now to avoid to waste performances filling a .txt)
- improved the login method (I hope it didn't destroy anything as many synchronized dissapeared, so far trying to dual login leads to the same fail)
- the general look of LS messages has been refreshed.
- you can't add twice the same IP on ban now (better said, avoid to fill if already existing).
- some code reorganization (drop of useless Log, move of printSection method).
- many typos.

Misc
- one table has been dropped (merchant_lease). The uses of it were useless aswell (DELETE type commands on empty table...).



Changeset 187

Deletion of Telnet, addition of DeadlockDetector.

- Telnet was crappy and not really user-friendly ; let's see for alternative ways :).
- DeadlockDetector is a tool to see when tasks aren't correctly synced. When it mustn't be used on a live server, I invite to use it on your test lab, as much as you can, to eventually see errors and report.
- some typos.



Changeset 188

Golden Ram Mofos.

- Addition of Q109 && Q628.
- Golden Ram crews got their own instance, showing htms following state quest (3 different HTMs for 2 NPCs, 2 diff for 2 others).
- Addition of a missing NPC (corpse).
- Mercenaries sentries can't speak. Move the check from "chatWindow" to "onAction" method (avoids stuff such as random animation, and so on).

I'm aware the corpse is flying. All collisions values will be tweaked later, at the same time, during NPCs refactor. From the moment you can click on it at this moment... Not a big deal.



Changeset 189

2 quests, many misc.

- Addition of Q276 and Q509, ty fernandopm for initial share.
- Addition of getClanLeaderQuestState() method (see Q509 for the use).
- Paagrio -> Pa'agrio typo in all HTMs and quests.
- Better use of Quest stuff. Now consider to use isCreated() / isStarted() / isCompleted().
- Fix all NPCs instances who weren't yet invul + immune to effects. If you find a mistake, please tell it fast (so far no issue for Artefact, perhaps signet stuff ? I don't think so.)
- Fix the sex save at player's restart, ty Vhalior (I don't miss you emo).
- Added retail-like Dance of Protection core + DP (30% resist to terrain-type damage).
- Added Plague Golem (activation + some little fixes).

Once again for quest helpers, consider to CHANGE "st.getState() == State.BLABLA" for related stuff (isCreated() / isStarted() / isCompleted()). This is just more clean.



Changeset 190-197

Baium, Archers AI, quests, misc.

Baium is now almost retail like*
- Angel AI has been implemented. Angels stop to attack when you disarm your weapon, and they got a chaotic behavior (shuffle targets).
- angels are put as raid minion (avoid champion behavior for example) and are setted to running mod by default.

Archers AI : the behavior of archers is now OFF-like.
- They got bigger probability to dodge, they dodge always according to your position (never cross your path), and the new position is not random anymore, they go now farer ("300 fixed" instead of "random 100", leading to stupid behavior such as moving near you).
- As the behavior is only for archers, the npc_ai_data as been cleaned up of dodge infos (all is hardcoded). Check is only made on the AI Type.
- L2J topic :

Quests
- addition of Q158, Q159 && Q160. Ty fernandopm, as always :).

Misc
- you can now attack NPCs. Restriction is removed as now NPCs are immortal, and skills don't effect them aswell.
- canTarget method is moved from L2Npc to L2PcInstance.
- the target system of pets as been cleaned up. It was kinda messed.

*There's still an issue about teleToLocation (waker doesn't see complete animation).



Changeset 198

Doors XMLization, doors/siege misc && quests

Doors are XMLized from now.
- Both castle doors (sql) and general doors (.csv) are now melted in a unique doors.xml. Ty DiNoR for the good work on DP (using L2OFF values) and Treaser for initial patch (including only normal doors).
- implementation of isWall (only siege summons can break walls from now). Can be seen through SHIFT + left click door panel.

Doors/siege misc
- fix of a bug where you could hit a door CTRL + skill it.
- walls/doors are now invul when siege isn't available (in case of...).
- Flame and normal CTs don't make you buggy anymore if you spam click on them.

Quests
- addition of Q267, Q271 && Q619.
- Q267 needed the move of a NPC spawn (wrong spawn).



Changeset 199

Formulas fix, quests, misc

Formulas fix (skill success)
- those formulas are now based on L2JFree, and then tweaked (pure custom following my own tastes). The "pure custom" can afraid you, but both L2JFree and L2J are custom, from IL to hi5. And both don't fit with my own knowledge of L2 (L2JFree doesn't impact enough, L2J impacts *far* too much as some of you correctly warned me - fighterboss :p).
- difference of levels got a real impact (negative is even bigger than positive) from now. Enchant and matkModifier doesn't break the harmony of the formula. I can't assure you won't have 10% luck with +500 weapon ofc...
- skill success is now 1% to 99% max.
- magic success is now heavily affected by level of skill or level of player. You can't do 100% damage using Wind Strike at high level for exemple.
- the whole calculation has been seriously reduced for the best performance (as MEN/STR squares precomputed).
- calcSkillVulnerability is now a %, not a fockin addition anymore. Previously 50% base - 40%. Now, 50% base * 0,6. Simple.

ALL USED FORMULAS ARE FULLY EXPERIMENTAL. I TESTED THEM FOR ONE DAY, BUT PERHAPS I MISSED THE BEHAVIOR OF A SPECIAL SKILL AND SUCH.

Quests
- use of a new "system" to make quests. Many quests are now faster (avoid to read deeper in quest) and consumes less RAM (avoids int[] uses)
- some corrections have been made (3-4 little bugs, some typos).
- addition of 6 quests, ty fernandopm for the good work (and me aswell to correct muhaha :p).

Misc
- fix an eventual rare NPE (ty SweeTs for report).
- addition of an AI for speaking NPCs (hit/speak and death/speak types). More NPCs will come with time, and surely that new original AI will be modified (NpcString ?).
- fix of quest monsters wrong spawns for noblesse quest (I think ? lol), and fix SoDA spawns on deepest central room (with Merkenis, one of the new speaking NPCs).
- deletion of minChance, maxChance && pvpPower from L2Skill (unused stuff and/or hardcoded from now).
- fix an issue on admin panel (ty Sikken for little fix)



Changeset 200

Three new quests, ty Fernandopm.


Changeset 201

Doormen, misc

Doormen
- castle doormen are now retail-like (possibility to teleport in and out, drop of "open/close all doors" function).
- addition of 56 teleports location.
- unhardcode all CHDoormen HTMs.
- addition of many missing Doormen (Siegable CHs ones, 2 at Frontier Border) and fix some templates (Doormen of Hell were bugged as hell).
- drop of all useless HTMs.

Misc
- GmListTable is moved on datatable section.
- 2 spawns of Squashs have been dropped (in 4s...) Ty Vonak.
- TaskPriority is dropped (useless crap).

This commit doesn't fix yet CH doors issue.



Changeset 202

Auction, spawnlist, misc

The commit was long to come because my first idea was to implement siegable CHs. Unfortunately, only 4/6 are actually made on L2J, and BigBoss still work on it. So I prefer to wait and use my time in other things (pointless to do the same he is doing, plus he does it well).

Auction system
- The structure is corrected, and improved. HTMs are corrected following L2OFF (minus the size problem).
- Initial auctions list is off-like. You can directly see actual number of actual bids aswell (number in []).
- All bypasses which needed a security check (about clan and/or with warehouse check) are secured.
- The maximum of retail messages have been used (which avoids string uses).
- One unused table dissapears, and auction.sql got 3 columns dropped.
- The lease is correctly removed when you put an auction in sell. As retail, you receive back your lease only if the CH is sold.

Spawnlist
- Added 12~ spawns (Fortress of the Dead, mainly).
- Dropped all mobs initially spawned on Siegable Clan Halls (around 100+). They must be spawned via their own SQLs.

Misc
- Baium's Archangels aren't invul anymore. After all, they each got 50% Baium's HPs and a heal skill. Who would be stupid to kill 3,5 Baium.
- Autosoulshot behavior is OFF-like.
- CP/HP/MP are correctly filled at character creation (0/max/max).
- L2DoorInstance onAction behavior is OFF-like.
- mini tweak in L2AttackableAI, I hope it won't fock something.
- CharSelected serverpacket cleanup (2 infos added, and 8 empty/useless writeD are dropped).
- Addition of formatDate method to format the date as you want on a String (avoid String.valueOf and easier readability).

PS : I'm aware there are stills issues on auction (like the 7 days period where you can't put back an auction, missing comment use).Let's say from 80%, I moved to 90%.



Changeset 203

Feedable/Tamed Beasts AI rework, 3 quests, misc.

Feedable/Tamed Beasts (changes compared to L2J).
- drop of the invisible timer (20min). The only timer is the check of 1min to consume food.
- Tamed beasts don't attack you when you kill others pets (faction clan lol), nor when you hit them (they still buff themselves, dunno why).
- Tamed beasts disappear if they go out the Wild Beast Reserve (13k radius compared to central tower).
- Tamed beasts don't buff you if you already got the buff it wanted to buff with. Understand you won't be buffed 4 times with Guidance.
- Mana recharge is seperated of the heal condition. There's now a HP and MP condition for each case.
- The AI of Tamed Beast is as following : 25% heal, 25% mana recharge, 25% debuff, 25% nothing. It replaces all others random chances. The fact it goes on the "heal" option doesn't mean it will heal you. The pet must have the skill in his skill list. You must be low HP/MP aswell (50%).

Quests
- addition of Q038, Q039, and Q263. Ty Fernandopm.

Misc
- addition of "//reload acar", acar stands for "admin command access right" (ty DjSterios).
- "quest" option is only for single quest. Previous "//reload quest" has been changed for "//reload scripts".
- "server_menu.htm" got a combobox listing all reload options from now. As "quest" need a parameter, I couldn't include on it.
- You can now restart during a fight as a GM (ty DjSterios).
- Old changes on MyTargetSelected have been reverted.



Changeset 204

Quests, misc

Quests
- addition of Q294, Q403, Q406 && Q508 (ty fernandopm and Alexa).
- little corrections on Q401 && Q509.

Misc
- No more ghost messages between 2 blows (ty RaphaelFersan).
- Tamed Beasts correctly debuff (inverted check, I thought it was a npcskills issue but not).



Changeset 205

Quests, regex pattern, misc

Quests - addition of 3 quests.
- Q020, Q046 && Q661. Ty fernadopm and M4N0LIS.
- numerous typos on Q045, and light typos everywhere (enjoy "replace" tool).

Regex - I feel greeks will howl like werewolf at midnight.
- Name pattern is now hardcoded (generic regex is replaced by hardcoded pattern). It means related configs have been dropped.
- those useful methods (isValidName / isValidPlayerName) have been cleaned up then put on Util, as it can be used on many places.
- settitle and setname have been secured using isValidPlayerName method. It means you can't give anymore a stupid name with strange characters. You can thank SweeTs. PS : you still can attribute yourself a stupid name editing database directly. Well if you decide to pull the trigger, I can do even better (like kicking all noobs with not regular names at Enterworld).

Misc
- fix CH doors issue (coming with XMLization of doors). I don't get why it works like that and not before, honestly.
- addition of an actionFailed packet when you massclick on doors, to avoid to be stucked.
- PetNameTable has been dropped (as 50% of that file has been put on Util with regex change, only one method was left... I decided to move it).
- the correct message is shown when you create a character with invalid name (before, only "16 characters" message was shown).



Changeset 206

Dr. Chaos, KKnD Movie Maker, misc

Dr. Chaos - fully revisited (x2,5 code compared to L2J).
- addition of a status checker. This status leads the spawn of one or other NPC (Dr Chaos - npc version - or Golem - boss). This timer reset the boss if he isn't killed before 30min. When killed, the regular boss timer is applied, and will respawn the NPC version. Et caetera, et caetera.
- addition of 2 ways to make him crazy : staying near him lower a timer (base 30sec, -1sec each time you stand near him). If you speak to him, it reduces that timer too (1-5 seconds). He got 3 different HTMs following crazy state.
- complete rework of the animation, the NPC type will show 3 animations in a defined order, and the golem will show one aswell.
- addition of 6 out 7 chat speech (3 random when he attacks, 1 at death, 1 when paranoia timer reaches 15secs and 1 when you make him crazy).

KKnD's Movie Maker - added to normal code found on L2J forums, here are the changes :
- unhardcoded HTMs, and graphically enhanced. A mini-tutorial explains to you the basic behavior.
- correction of all typos, both on HTMs/code style.
- exceptions are catched when needed (index bound of exception).

Misc
- fix the "spawn protection" config (ty djSt3rios for report and fix).
- modify the way to select player slot (harder, better, stronger, lalalalala~).
- A banned player is now really banned (check is made before the L2PcInstance object is loaded).
- pets are correctly stored/saved at player's save.
- addition of addAttackActId() method. Part of a previous add.

PS : Obviously, as there are 0 infos about Dr. Chaos (2 useless topics on official forums, 0 videos, and such), I made an enhanced CUSTOM version. I prefer a custom WORKING version than a custom BROKEN version personally. Actual L2J code is broken (needs server restart to work correctly once dead).



Changeset 207

SystemMessage rework, misc.

This commit needs far more tests than I actually did, anyway I commit it (that's 250+ files edited... 2,5k errors to correct).

SystemMessage is refactored following actual L2J. The enum is replaced by an array, and a fast build system is included. Some SystemMessageId descriptions are actually wrong (as it's a raw copy/paste), but that doesn't influence the process, until you use the correct id, whatever name it got, it sends the correct msgId...

I decided to use the short version when possible. Aka, you can do "player.sendPacket(msgId)", if "player" is a L2PcInstance it will work. I just generalized to all possible cases that writing system.

Misc
- siege golems as normal summons are attacked by siege guards from now.
- you can't summon a siege golem inside an sieged castle anymore. Tested only on Gludio... No reason it bugs for others until zones suck.
- CreatureSay got support to use SystemMessageId.
- Many typos on multiple files.
- a recent L2J commit about .shared() on recipes and quest timers fastmaps (atm, haven't access to L2J timeline).



Changeset 208

Retail Newbie system.

The first character of an account reaching lvl 6 is considered as a Newbie character. Others characters - even if they're older in term of creation but never reached lvl 6 - aren't considered as newbies. At level 25, the newbie character isn't considered as newbie anymore.

System includes :
- addition of newbie state (objectId of the "Choosen One") in accounts.sql.
- drop of the newbie state of characters.sql.
- Modified methods uses :
- isNewbie() - boolean type, makes the check about BOTH level (6 to 25) and newbie state. Use it fr regular checks.
- getNewbieState() - int, returns the objectId (useful to check player objectId with registered objectId without level check)
- updateNewbieState() to register newbie state (happens in PcStat)
- restoreNewbieState() to restore newbie state (happens in CharacterSelected)

Ty to Alexa for initial patch.



Changeset 209

Quests slight rework.

All quests using a COMPLETED state have been included back in the switch case, due to the "new way" of quests (main switch about states, not anymore on npc). Added to that, some variables are now initiliazed where it's needed (aka in case.STARTED), and not before or after.



Changeset 210

Shadow weapon restrictions.

Ty to RaphaelFersan and Alexa tries.

However, that wasn't enough :p. Added to L2J, addition of a link with Coupon Ticket multisell (as L2OFF, surely the same than village masters offer to you). As Alexa suggested, multisells are seperated by grade (btw a black hole in a multisell means you messed it, Alexa ;p).



Changeset 211

Little summons update

- fix the ghost summon issue.
- aggro is given to summoner at summon's death (not on pets).
- summons are protected at spawn (if spawn protection config is activated).
- summons use the correct value of beast ss/sps instead of regular 1 value.

Misc

- HTMs typos on previous commit.
- typos on Q619, ty Vhalior.



Changeset 212

3 quests, Tutorial core side.

Quests
- addition of Q105, Q116 && Q260, ty EnDmOsT.
- fix Q158, ty Vhalior.

Tutorial core side
- addition of 4 missing clientpackets.
- addition of missing events.
- name of the quest will be "Tutorial". It will be perhaps even dropped of quests folder if there is no need for it to be here.



Changeset 213

Six quests, misc.

Quests
- addition of Q117, Q262, Q617, Q650, Q652 && Q653. Ty fernandopm && EnDmOsT for the good work.
- Q652 && Q653 are partially rewritted compared to L2J. The initial spawn and respawn of NPCs are handled by scripts directly. HTMs have been improved too, as L2OFF itself seems wrong.
- Q650 needed a multisell change, as rewards were wrong.
- some minor typos on existing quests.

Misc (L2Party)
- A bug concerning messages when your party member obtain an item with > 1 amount has been corrected. Ty Sikken for the report.
- A message about obtaining enchanted item has been added (missing on current L2J trunk...)
- Some eventuals NPEs have been fixed (3-4), and a general cleanup has been made (sometimes coupled with code improvements).



Changeset 214

Q295, Q297 && Q362 - ty fernandopm && EnDmOsT.



Changeset 215

Olympiads (part I), misc

Olympiads

Well that was kinda long and I'm fed up to test all again and again (tri-boxing). Part I will be followed in future by part II when/if problems are found. For the moment, I know one "major issue": one of player (the second registering so far) see his own HP bar instead of enemy's.

The implementation is supposed to be FINAL. Report anything which isn't retail-like in order I correct it. If you're Inner circle member you got access to my notes about Olympiads. So consider to use them, and try to find infos on others websites if you think something is wrong.

So here is a mini list of features :
- Freya Olympiads downgraded to IL, including damage amount count (summons too), retail uses of olympiad zones, improved timing system, pretty organization splitting.
- retail olympiads observation system, with updated state (in progress, counting time, terminated,...)
- heroes diaries and hero message (@Monument of Heroes).
- retail items usage (firecrackers / echoes crystals / energy stones allowed - addition of isOlyAllowedItem() -, autosoulshot/manual BSS are forgiven).
- retail Hero pickup at the Monument (leeched from Sigmo, which leeched from another pack surely).
- reorganization of admin commands based on Olympiads in a particular handler, AdminOlympiad. Some commands are refactored (setnoble, sethero) to be far lighter.

Misc

- the pet's name on summon item is now updated when you choose a pet's name.
- improvement about clientStartAutoAttack (when your summon hits an enemy, you're in attack stance ; now it sends far lesser packets)
- more uses of getActingPlayer().
- logout packet doesn't update items anymore. It seems it wasn't needed at all (even crashing client, that was saving amounts).
- IdFactory deletes many more infos if character was previously deleted (so better cleanup is made).
- addition of dropAllSummons() in L2PcInstance - do as the name says.
- correction of a couple of SystemMessageId (hi5 => back to IL).
- fix the problem with sendPacket(SystemMessageId) from L2PcInstance.
- L2SkillTeleport cleanup.



Changeset 216

4 quests, many misc. Ty to FighterBoss, Sikken, EnDmOsT, dEvilKinG, Vhalior && SweeTs.

4 quests
- addition of Q296, Q636, Q640 && Q659.

Misc

- Fix many skill reuses and hitTime to follow L2OFF. Some skills are more balanced, and globally classes which suck, suck less.
- Corrected 2-3 HTMs typos.
- Fix some items (Potion of Revenge && Endeavor potion, Shining Bow reuse delay,...).
- Unhardcoded Olympiads item restriction. Drop of the previously added isOlyAllowed system, to use "is_oly_restricted", added long time ago by DiNoR. Understand now any item can be used on Olympiads, but is limited by "is_oly_restricted" when setted to True. If you find an item with/without that check when he should haven't/have it, consider to share diff patch about it. The related config is dropped.
- Added "Blessed spiritshot for pets" in the restriction list, aswell as the autoactivation. Removed Star Shard (elven firework) from restrictions.
- Fix Pagan Teleporter about Faded item.
- Fix Linux DB installer (missing from previous commit). Ty DarthVader to pointing it.



Changeset 217

Addition of 6 quests.

Q264, Q338, Q356, Q621, Q649 && Q651. Ty to sharers.
HTM typo fix, ty vl4d to pointing it.



Changeset 218

Pets big update, accessories debug, little npc.sql update.

Okay, that's it. I'm first sorry for the delay. I was taking a little break trying GoD on EU server (btw my name is Tryskell, /friendinvite me if you see me ingame). I reroll a lot to make a lot of money, enjoy the free exploit...

Second, the update is quite "big", even if it's not really awesome. I had to check many things about pets, because they were entirely messed up. I hope the biggest part, if not all bugs, are now corrected. I tested almost all possiblities (force delog, etc) and all seems fine.

I had to check aswell the npc.sql Darth sent me. After a couple of checks I had to ask to Darth to split data in 2, because it was really messy (collision system is a little stupid in L2J...).



Pets updates.
- fully fix pet weapons and armors equip, and "race" condition (hatchling/wolf/blabla). I decided to keep the old system as it was really easy to understand it. The core changes automatically the bodypart for "chest" or "r-hand" following type of item.
- addition of a feature (dunno if it's custom, and don't report because it won't be changed) : if you right click on a pet weapon/armor from YOUR inventory, it automatically TRANSFER && EQUIPS it to your pet's inventory if you got a pet summoned. Previous equipped item is desequipped and stays on pet's inventory..
- fully fixed stats modifiers of summons (seriously it was a pure mess, many buffs just did nothing before, pets had 0 accu/evasion).
- decreased amount of packets sent compared to current L2J (-1 packet per 10sec, and that fix too a minor bug targeting pet window every 10 sec)
- off-like (if not retail) transfer system at unsummoning pets. Ty SweeTs for the report. Inventories of pets are cleaned at delog/unsummon, transfered to your. There is no check about slots/weight, as it is used for DELOG (and imagine at delog that don't transfer, you lose items lol).
- fix RequestPetUseItem behavior. Now only one itemhandler is readed (using a pet food you had twice the code readed before o_o).

Misc
- fix the mythic accessory bug aCis got since 100+ revs (about 2 slots accessories). Now all is fine. Enjoy Wizard's Hat.
- when you pickup arrows and it fits with your bow and you are arrowless, arrows are now automatically equipped. Ty bomj for report.
- improvement of npc.sql, with the addition of retail decay system. Now all mobs got their particular timer. It debugs mobs like Gigantic Chaos Golem. Only L2Attackable are concerned, as they are the only ones supposed to die. Others use the hardcoded in core as a default, which is 7 secs (still, the sql is correctly filled anyway). Addition of all missing weapons (some can still be wrong, but it should fill a lot of templates).
- a couple of NPE fixes (itemhandlers).



Changeset 219

MASSIVE UPDATE - YOU NEED TO USE JDK 7 FROM NOW.


Well it's a really huge update. JDK 7 is now needed. Ty xblx for the libs update.

GENERAL
- Updates of all existing libs, leading to heavy changes (mainly Trove-based codes).
- Update of base64 code.
- Update of internal Java-engine (scripts engine) which needs JDK 7.
- build.xml will now check if you use JDK 7 or no. If no, build will fail, and an error message will invite you to dl latest JDK.
- Addition of L2TIntObjectHashMap on util.

NCPS RELATED
- NpcTable code is fully reworked, utilitary "getters" aswell. More infos on GS start aswell.
- update of npcskills (ty to old DiNoR rework), using L2OFF values. Changes are huge and correct known issues (ex : Prismeval island) :
- active skills => from 15894 skills, it now loads 20844 skills.
- passive skills => 7k~ skills added.
- L2NpcTemplate values are now private. Creation and use of "getters". Addition of isType("").
- Aggro value is now loaded from AI (instead of npc.sql). All aggro ranges > 1 and < 500 have been changed for 500.
- Sieges guards AI has been updated.
- overhit flag is reseted when the L2Attackable dies.
- creation of _staticAIData on L2Npc, which avoids to refer to template each time.

PETS && SUMMONS RELATED
- Baby pets are fully reworked (addition of conditions such as mp consumption, pet mental behavior (betrayed, blabla), etc).
- Tamed beasts got a little update, as getSkillsArray() exist now.
- Levels of pets skills are now correctly calculated. It can use lvl 1-12 skills levels following pet level.
- fix an issue about items consumption @ SiegeSummon, leading to "ghosts" summons. Ty xblx for fix.
- if you try to use a skill than a summon should have but haven't, it shows you the missing skillId to add on npcskills.
- When you try to use a pet skill but difference of lvl is > 20, you can't control the pet.

MISC
- Harvest/Sow skillhandlers are reworked, and Seed system too.
- addition of _skillMaxLevel in SkillTable, preloading max level of skills in a map for future uses (before it was made on the fly).
- orc mages are now considered as mages, not as fighters anymore (should fix the SpellForce issue).
- fix Orfen messages for retail ones.
- Correction of a couple of items. Ty SweeTs for patch, it is *untested* but should work at first look.


I'm aware there's an issue about pets. HP/MP are not working as intented (not readed from PetDataTable). It leads to problems like a lvl 15 wolf got same HPs than a lvl 55 one, or a pet can't use properly a skill because asked MP consumption for skill use is higher than maxMP. Others stats are correctly working.



Changeset 220

Pets update, misc.

Ty to all contributors - Sikken, xblx, Junior, MC.

Pets are now normally fixed.
- when a pet raises level, his stats and HP/MP infos are corrected shown.
- Fix an issue when you give a name to your pet.
- Pet control item is now correctly updated, both on name update and pet level raising.

Misc
- Fix 4 skills.
- Addition of Life Stones in GM shop.
- Monastery AI sends now only one type of chat, but it is retail-like (better 1 retail than 3 customs).
- fix 2 teleports location - untested.
- Addition of a check to see if entered id is a valid NPC template for //polymorph. In addition, you can't transform if you're already mounted.
- Fix an unvalid SystemMessage.



Changeset 221

Misc

- Addition of missing skills for 3rd class summons.
- Fix //polyself, adding check on templates.
- Remove the useless button "Diet" on admin panel.
- Addition of Ketra/Varka support. Ty fernandopm/Kenrix for their work.
- Correct some things on " chat (GMs aren't blocked anymore), and send systemMessage when possible.
- porta skill (GetPlayer) is now retail-like.
- Fix an issue about BossZone (L2Summon != L2SummonInstance)
- Avoid to stuck client if you try to exploit augment panel (trying to drop weapon/gemstones/LS).



Changeset 222

Quests and misc
- Addition of Q350, Q618, Q645 && Q646. Ty to sharers.
- Fix the systemMessage about double summon.
- Addition of a systemMessage when pet pickups a full item.
- eventual fix of a NPE.



Changeset 223

Addition of 7 quests - ty to sharers.

Addition of Q104, Q257, Q331, Q351, Q431, Q623 && Q644.
Fix a couple of typos and rewards on Q105.



Changeset 224

isMagic / staticReuse, typos.

Fixed hundreds of skills using L2OFF infos about isMagic / staticReuse system. Ty dEvilKinG for the good job.
Typos for classes folder. Nothing special.



Changeset 225

Raid bosses minions update.

Ty to 100500 for his detailed work.



Changeset 226

Quests and minor fixes - ty to the numerous contributors.

Quests
- addition of Q298, Q317, Q368, Q370 && Q432;
- fix a couple of existing quests (correct solo => party quest statut, and deletion of useless checks).

Fixes
- addition of a missing NPC spawn.
- correction of an HTM.
- 2 items fixed.

I must apologize about current project's progression. I played a lot those days.
I got an Othel rogue lvl 86 40% (with 3 subclasses, 75 HE / 75 ES / 65 Pal) on Core server, so don't search where was gone my time...



Changeset 227

Addition of 8 quests, ty to all sharers.
- Q124, Q299, Q300, Q328, Q352, Q353, Q355 && Q366.

TO SHARERS :
- If you made one of those quests, please READ and ANALYZE the differences between your old share (they are kept in Archives section, you normally got access) and the current rewrite. From looking differences, you can learn what I dislike as typo, what, why and how I corrected.
- I would like to repeat, as Inner Circle you got access to some internal infos, such as L2OFF HTMs. Use it !
- And ofc, read a walkthrough of concerned quest when you code the quest. The reward formula is one thing, the complete walkthrough is another !



Changeset 228

AbstractNpcInfo, polymorph, summons/pets, quests, misc.

Implementation of AbstractNpcInfo
- SummonInfo, PolyInfo and NpcInfo share the same Abstract layer.
- CharInfo code about polymorph is cleaned. All is made with knownlist.
- Addition of a config to on/off NPC crests (when a clan own castle linked to a town). Ty SweeTs for inspiration.

Polymorph
- drop of 3 admincommands (polyself).
- polymorph commands work by default on yourself if no target is found.
- addition of success messages on command uses.

Summons / pets
- Addition of a config to on/off owner's clan crest on summons.
- Fix titles : summons (blue color) and pets (green color).
- Fix team circle (duel), karma and pvp flag (summons color name, based on owner's).

Misc
- Addition of broadcastNpcSay(String) in L2Npc, and fix all uses for that new method.
- Drop of setKarmaFlag(int) and broadcastTitleInfo().
- Addition of 2 quests (2/5 FoD quests made) : Q021 && Q022.
- Addition of retail chat windows for Mysterious Wizard (located near spawn of FoD).
- Addition of minions infos for 2 mobs in FoD.
- L2CharTemplate rework (private variables, public getters).



Changeset 229

Henna rework, ty xblx for the good work.
- XMLization of hennas ; 3 SQLs are dropped and their infos are written in a unique file : henna.xml.
- fix an issue with Human Mage class (class n°10), which could wear dyes - but shouldn't be able.



Changeset 230

Numerous cleanups on clientpackets, misc

Clientpackets
- addition of null checks (around 20, if not more), "final" keyword.
- drop of the personal Logger for each clientpacket, they share the same now.
- reworked a couple of packets : checks better placed, better use of variables when possible, etc.

Misc
- addition of TradeItemUpdate serverpacket, based on L2JBroken one (and surely based on another russian pack), ty Kenrix.
- fix the problem with olympiads tokens and fix the message aswell (ty McMaGo, Brucutu, SweeTs for reports).
- some XMLs tables are refreshed ; less objects created.



Changeset 231

Quests, misc

Quests
- Addition of Q023, Q364 && Q378.
- Fix 2 issues in Q021.

Misc
- Fix 9 SoEs and 5 others items (needed core support aswell).
- Don't launch a pvp flag task if one already exists.
- Don't autoattack (some skills got that behavior) if target isn't autoattackable.
- Cleanup valueOf => parseInt/Long/Boolean (surely more to do, only in Config atm).
- You don't lose your buffs anymore if you cancel the autoress from PheonixBless type skills (but you still lose PhoenixBless effect && Noblesse).



Changeset 232

4 quests, misc.
- Addition of Q291, Q303, Q347 && Q354.
- Fix Judgment (can't be used with dual sword).
- Fix 4S NPE at shutdown (drop existing tasks before bossZones cleanup).
- Correct /gmlist check (my fault)
- RequestManorList packet under static format.



Changeset 233

AQ, commands and misc

AQ
- fix Queen Ant death NPE ; avoid to register infos if AQ is supposed to be already dead (you can summon it manually and kill her, but it won't change anything in database, such as respawn timer and others).
- drop of onAggroRange() stuff (probably postIL stuff).
- drop of double code on spawnBoss().
- addition of missing minions (nurses and Royal Guards).

Commands
- spawn_monster : drop that deprecated command, and rework of incriminated HTMs to use regular //spawn command.
- npc_edit : drop of "armor" and "absorbLevel", addition of "enchant".
- npcinfo : addition of "corpse delay" and "enchant".

Misc
- autoAttackCondition() method rewrite.
- update of EffectParalize and EffectPetrification (use of effect flag), now you will stop to move.
- cleanup in Raid curses ; a skill will put you silence no matter what skill type it was (as silence is both for physic and magic skill), drop of some code (handled by effects due to effects rework).
- StaticObjects cleanup (drop of the map storing objects, no more instanciation). Ty Java-man.
- drop of giveRaidCurse() method and uses (was always true) ; used only once in a postIL quest.
- an academy member haven't to see wartag clan enemy member, and vice-versa.
- NPE corrected in RequestActionUse and unsummon actions are harmonized between servitors and pets.
- rewrite of my previous commit about karma/pvp flag on summons. There's a special packet made for that, RelationChanged, instead of SummonInfo/CharInfo. Addition of broadcastRelationsChanges() method on L2Playable, overridden in L2PcInstance && L2Summon. Normally from now, the relation between summons && players (autoattackable when pvpflag/karma/siege) should be ok.
- cleanup Broadcast.java, adding multiple null checks and put Collections with "final" key.
- fix one RB location, ty 100500.
- fix a stupid error I included myself ; 2 mobs from different clans could help each others... Ofc only same clan can help each other. Rehabilitation of the faction name check.


Changeset 234

Misc
- getType() is dropped both for clientpackets and serverpackets, ty java-man.
- L2HennaInstance is dropped, we work only with templates from now, ty xblx.
- all serverpackets sending only opcodes (triggers packets) got a STATIC_PACKET system. Triggers packets structure is harmonized.



Changeset 235

Olympiads && Heroes, misc

:eek:tt:
- partial addition of L2J fix 5188. Ty Zoey76. Read it on L2J timeline for more infos.
- split one check in 2 for checkNoble( method, and retail systemMessages for both of them.
- you can't see inactive heroes anymore on Monument of Heroes.
- You can't activate hero state if you're on a subclass or are less than level 76 on you main class.
- following values have been modified to fit with IL - using PMFun infos - (the previous refactor has been made from C4 infos) :
- length of a match : 3min to 6min.
- divider for non classed matches : 3 to 5.
- number of needed matches to pretend to Hero status : 5 to 9.
- waiting time before Stadium teleport : 30sec to 120sec.
- preparation time : 45sec to 60sec.
- Buff section is now handled 20secs before match beginning.
- A second full heal is applied during buff section (the first occurs at teleport).
- Shops, as sit state, are broken when you teleport IN and OUT of an stadium. Addition of forceStandUp() method on L2PcInstance for easier use.
- Buffs are cleaned up only at teleport OUT, not directly after the victory/defeat/tie of the match.

Misc
- AdminMovieMaker : IOOB exception catched (ty SweeTs report), 2 typos fixed in commands (bro'a'dcast, not brodcast), don't create intermediate variables "val" && "id".
- Cleanup of L2AttackableAI/L2NpcTemplate : drop of useless code, add of public getters, use of !isEmpty() instead of != null. Should drop the NPE when a mob tries to use a skill.
- revert magic fail formula (custom L2JFree => L2J). I kept the accuracy at 2 decimals.
- break enchant process and send systemMessage BUT CONTINUE the action in following conditions :
- you give / take an item from your pet.
- you give / take an item from warehouse.
- you are pressing any type of bypass link from a warehouse NPC type (castle / normal).
- can't interact anymore with any NPC if you're on transaction process.
- if you're actually in transaction process, break following actions :
- you give / take an item from your pet.
- you give / take an item from warehouse.
- fix Chant of Victory issue with rCrit (basemul != mul).

Report any issue on Olympiads, and CLEAN CORRECTED ISSUES in the dedicated thread, ty in advance.



Changeset 236

Formatting rules, took from latest L2J, both for DP (java scripts) and core.
- Indent all files correctly, and remove useless spaces.
- "for" loop enhancements when possible.
- put final keyword when possible.
- Fix 1600+ warnings on Javadoc (at hand...).
- L2DabaseFactory.close() addition.

To be honest, I'm not trully satisfied about arrays type, mainly when used in int[][] or in maps - results become unreadable. Perhaps later I will change it.

I will use an Eclipse feature (=> ) using those new templates, which mean there shouldn't have anymore commits with empty spaces, commas change, indentation and others misc. If I redo a change it will be general (like array exemple said higher).

"if/else", "for" brackets aren't automatically edited. There wasn't the rule I currently use.



Changeset 237

L2Teleporter && L2DungeonGatekeeper, misc.

L2Teleporter && L2DungeonGatekeeper
- Teleporters night price is implemented (price /2 when real life night occurs).
- Split L2Teleporter to 2 distincts entities. Avoid to use a big switch about npcId.
- Gatekeeper Ziggurat conditions are now implemented (must be from the winning side).
- fix Giran Harbor GK (drop one location, fix prices).

Misc
- static packet for ShowMiniMap (case of regular map).
- static packet for EnchantResult, and fix the previous commit (switch from 0 - considered as a success - to 2 - abort).
- RBs are now automatically concerned by MANADAM and MDOT type skills (but still got regular resistance from mobs).



Changeset 238

Movement rework, misc


Movement rework

- This is a code I found on L2J forums. I searched for initial post, but didn't find back, lol. Haven't clue about credits, I just can say the guy is russian. Sorry stranger for the no-credits :/.
- This code is EXPERIMENTAL ; I didn't find strange issues after 2 days, but report if any occurs.
- Fix the "ghost attack" when you move and a mob attacks you. Now the complete attack animation occurs. And yes, it's normal the monster does the animation even if you are running far from him. Works the same on L2OFF. Before the attack was occuring but you didn't see the animation and the monster was still moving.

Misc
- /unstuck doesn't work anymore when you are afraid. Drop a double check aswell.
- Fix NPEs on augment exploit. Happen when you don't sleep a lot.
- Drop the old intention when you cast a skill (exemple, when you were moving). If a particular intention hadn't to be dropped while casting, report on forum.
- Reflect damage skills type don't kill you anymore (stuck at 1). Well, shouldn't.



Changeset 239

Seven Signs refactor, AutoChatHandler rework, quests, misc.

Seven Signs refactor
- Update the main engine, adding multiple missing things :
- Seal of Strife effects (blocking siege summon, debuff/buff, limit uses of mercenary tickets)
- can't have sieges and seven signs in same week (+1 week for sieges if the same)
- Dawn/dusk crests are now correctly handled.
- Anakim / Lilith GKs are now correctly handled (via teleports scripts). They spawn 10sec after RB death, and despawn 15min later. Old autospawn lines are obviously dropped.
- CabaleBuffer rework.
- Split of L2SignsPriest in 2 others entities, L2DawnPriest and L2DuskPriest.
- Additions of 3 teleports in scripts folders.
- complete rework of HTMs, based on latest L2J (itself based on L2OFF Gracia). HTMs are harmonized ; understand I tried to follow a generic "template" when I corrected HTMs - as the translation was approximative sometimes (Record of the Seven Seals != Record of Seven Signs)...

AutochatHandler rework
- Migrate SQL => XML. Drop of 2 SQL tables, addition of 1 XML.
- The engine can now read one single message and register it for multiple NPCs.

Quests
- addition of Q113, Q319, Q320, Q341, Q385, Q634, Q637, Q638, Q647. Ty to all sharers for their initial work.

Misc
- Fix a ClassException at TamedPetInstance when they tried to retrieve skills list.
- L2DungeonGatekeeper instances are now invincible.
- Fix "Rift Post" teleport option ("I want to go back to my world") via added teleports scripts.
- L2Npc showChatWindow() method cleanup, using inheritance (split in L2FestivalGuide, L2SignsPriest && L2Auctionner).
- Auctionners don't show anymore actual bid.
- Observers can't use force attack anymore to target players.
- GMs aren't hidden and invul anymore if they were observing.
- addition of isSiegeSummonSkill() method on L2Skill.
- partial rework of methods to correct siege date, mainly to improve performance (all actions from while loop made on a local variable, then registered in getSiegeDate(), drop of the hour from the loop).
- addition of startQuestTimer(String name, long time) method (no npc nor player registered for it).
- fix an Augmentation issue : gemstones weren't used... I still don't understand why.
- addition of 100500's patch about a couple of items (L2EtcItem => L2Armor).
- some null checks on Collection (2 on Baium), and "fix" (deleting) one logged NPE on L2AttackableAI.


PS : Q635 doesn't exist on L2J. Content is on OracleTeleport script.



Due to numerous changes, some things haven't been tested : Seven Signs complete game cycle, Festivals, AutoChatHandler uses (only when a side win, with cabale buffers). If you find errors, make a unique topic about it with all types of errors (broken HTMs, broken game cycle, or whatever). Ty in advance.



Changeset 240

Caches rework by Java-man.

HtmCache && CrestCache :
- cleaner code (avoid to create 1 FastMap per type of crests, avoid CrestCache instanciation using static stuff, drop the LazyCache config)
- reduction in memory usage (drop of FastMap usages for others types of lists - Trove and ArrayList).

PS : new JAR to add.



Changeset 241

NPC Skills

Go from 20852 skills loaded to 67807 (x3 skills). 20mo RAM usage added.
Based on L2OFF Gracia, ty agurkasz for the parsing.

If you find aberrations, please fix and/or report.



Changeset 242

Quests - ty to sharers.

- Addition of Q266, Q313, Q345 && Q631.
- Fix a little issue in Q619.

Special mention to Q345 which was missing one NPC, 50% of HTMs and 2 options of urn.



Changeset 243

Quests - ty to sharers.

- Addition of Q316, Q325, Q329, Q422 && Q627



Changeset 244

43 quests / quest engine, misc.

Ok, that does 3 weeks I didn't commit. I worked IRL 3 days, I reinstalled OS and softwares for 2 days, I played 1 week. So yeah, in 3 weeks I worked on project only 1 week. I don't apologize, I just let you know (yyyeaahhh, changeset used as autobiography, problem ? Want to fight ? ^^).

43 quests / Quest engine
- sagas are implemented.
- Varka / Ketra alliances + related quests (except magical blabla part 2) are implemented.
- All quests sounds (6 so far, the complete amount is 8 but the 2 missing are never used) are now hardcoded and static. Ty Hasha for the idea.
- Varka / Ketra alliance system (killing ally friend drops alliance level) is moved to KetraOrcSupport and VarkaSilenosSupport. Two checks are common to 10 different quests, on regular L2J you got 10 checks (so yeah 5x2 clone arrays of registered mobs).
- addition of dropAlwaysQuestItems(int, int, int). That method is used when quest item drop is 100% (avoid to generate random number)
- fix - when possible - every onKill section in order to use dropQuestItems / dropAlwaysQuestItems methods.
- drop of the parameter in getNoQuestMsg() and getAlreadyCompletedMsg() methods.

Misc
- mob attack stances has been harmonized through the different uses (Baium, L2AttackableAIScript, etc).
- Paagrio => Pa'agrio typos fixes.
- rework of broadcastPacket() method. It will use now the static system from Broadcast class. Added to that, the particular system from L2PcInstance regarding CharInfo is dropped. A special method is now used to broadcast it (named broadcastCharInfo()).
- when you interact with a shop player, you will turn yourself in front of the player.
- TargetSelected packet isn't sent to yourself anymore (only broadcasted to others).
- Random tweaks on multiple methods (cleanup, checks imbrication, deletion of pointless stuff, and so on).
- Addition of many informations regarding "sell, buy, warehouse" packets. Generally all regarding Inventory. Additions of many null checks aswell.



Changeset 245

Retail enchant system, quests, misc

Retail enchant system
- differentiate fighters && magic weapons (ty rocoder for the DP parsing). Implementation of isMagical() in L2Weapon.
- drop config related to jewelry.
- different rate when weapon reach +15.
- max limit is set back to unlimited.
- the chance is now a double, not an int anymore, in order to keep accuracy (for armor).

Quests
- addition of Q632 && Q642, ty Hasha && EnDmOsT.

Misc
- some packets rework, ty Java-Man. Addition of isForThisClass() method. Hennas packets should be tested deeply, but from my few tests, they work.
- Merge of HeroSkillTable and NobleSkillTable with SkillTable, ty Java-Man.
- you can't PM yourself anymore (ty xblx for suggestion). It's not retail-like.



Changeset 246

Community Board (CB) part I, misc

CB is mostly cleaned up.
Some efforts have been made in order to use static stuff (like static strings && static ShowBoard objects).

A LOT of work is needed to complete it correctly (in disorder : cleanup hardcoded HTMs, recode HTMs to fit with IL CB dimensions (on IL, CB is more little...), add missing code, add GoD region tab)

CB
- custom region tab has been entirely dropped.
- friends panel is 50% implemented.
- clan notices system is implemented, but not tested at all (and probably not working).
- mail system is implemented, but check previous sentence for more infos.
- Clan forums aren't created anymore if CB isn't enabled.

Misc
- addReputation / takeReputation are the only commands to affect reputation (setReputation is used only for loading and as "core" for the 2 previous commands). They save *only* reputation from now, not the whole clan infos.
- getHasCastle() and getHasHideout() have been renamed getCastleId() and getHideoutId(). Creation and use of hasCastle() and hasHideout() boolean methods.
- getActingPlayer() uses on SiegeGuardKnownlist, GrandBoss and RaidBoss instances.
- many random methods are cleaned up in order to create less objects, adding checks && readability.
- addition of getClanAllies() method, used to retrieve clans in alliance.
- Addition of AllianceInfo serverpacket (untested)

Reminder for future : it's better to initialize variables INSIDE a loop (in order to reduce scope range). The logic consisting to think to initialize it outside is better is false and is even worst.



Changeset 247

Misc
- fix GandBossTeleporters script (HTM/SQL side). All IDs are supposed to be ok.
- add a check for groups on Quest for radius (ty Hasha). Ideally, it needs to be spread to any solo quest.
- cleanup (L2SiegeGuard, 2 itemhandlers with postIL stuff, AttackStanceTaskManager).
- colors of title/name is corrected (ty TheEngo)
- toggles are desactivated when taking a CW.
- Drain skills HP gain effect now effects monsters (+ rework of the skillhandler).
- correct Lotto ticket (ty Pleasure).

*normally* fix AutoChatHandler issue.



Changeset 248

Misc
- Add the missing Ketra/Varka AI petrification support (allied player helping - through positive effects - neutral/enemy player which attack a friend mob). It makes the difference between who casted it aswell (pet or player is paralized depending who casted). Unfortunately, it doesn't break the cast (because onSkillSee works when skill is already launched, else it would need an ANTICIPATION of the mob).
- Fix Raid Curse stuff (too much c/p kills the c/p), and improve a little the coding.
- drop all "Util.contains(" checks on Monastery. Those checks are made way before, and aren't necessary on that script, as arrays and behaviors aren't melted... Mobs are individually registered.



Changeset 249

Primeval AI, misc

Primeval AI
- Addition of primitive system for following behaviors :
- Pterosaurs and TRex-es can see through Silent Move (core support needed).
- Ancient Egg, when attacked, will call all mobs in a range of 2k (guessed... as 1k is the aggro of a lot of dinos, I x2'ed it).
- Sprigants will launch a task every 15sec if someone enters in their aggro range (AoE skill). Task stops if sprigant is dead or if none is inside anymore.

Misc
- addition of Q629
- fix summon sieges skills for "Siege Golem" and "Swoop Cannon".
- fix Sprigant's fruit and Primeval potion.
- "String = "" > isEmpty()", "boolean == false > !boolean" && "boolean == true > boolean".
- fix a critical issue about quest check (added in previous revision).
- MagicSkillUse packet is completed.
- addition of ConditionTargetHpMinMax, used for Trap Skills (avoid the ugly system of onSkillSee).

A lot needs to be done for PI (full trap system mostly), and it goes by gathering as many as possible informations.



Changeset 250

5 quests, misc
- Addition of Q049 (untested as c/p of Q046), Q371 ,Q374, Q375 && Q603. Ty to sharers.
- fix songs panel (drop "back" button), ty AntiViruZ.
- drop useless skillhandler.
 
Last edited:
Experienced Elementalist
Joined
Mar 20, 2012
Messages
235
Reaction score
29
so...how do i get the files?
send you a pm or the files are not ready yet for public?

thanks
 
Skilled Illusionist
Joined
Apr 30, 2010
Messages
328
Reaction score
183
so...how do i get the files?
send you a pm or the files are not ready yet for public?

thanks

Today i will release the Final version of this chronical! Despite the fact you are the only one intrested i will wait few more days maybe we can atract some people!
 
Last edited:
Initiate Mage
Joined
Jan 22, 2007
Messages
12
Reaction score
1
I had to find back my old account to post this.

What that dude posted is a complete rip-off of aCis project changeset (both geodata and core side).You can even search for "aCis" and find few occurences on the posted changesets in this thread ("spartaCis" instead of spartacus, etc).

---Redacted---

The project is still in developement at the date of 2019.

Never download something already compiled by a randomer requesting some attention claiming someone else other work. I can't assure you it is backdoor free, unlike my community work.

Sincerely yours,

Tryskell.
 
Last edited by a moderator:
Skilled Illusionist
Joined
Apr 30, 2010
Messages
328
Reaction score
183
I had to find back my old account to post this.

What that dude posted is a complete rip-off of aCis project changeset (both geodata and core side).You can even search for "aCis" and find few occurences on the posted changesets in this thread ("spartaCis" instead of spartacus, etc).

I invite anyone interested by L2J Interlude to directly go on if you are interested by L2J IL. You will find all informations about how to get the sources and compile them yourself.

The project is still in developement at the date of 2019.

Never download something already compiled by a randomer requesting some attention claiming someone else other work. I can't assure you it is backdoor free, unlike my community work.

Sincerely yours,

Tryskell.

CREDITS The cute dwarf Core Tryskell. GOD BLESS YOU! *contributors Ferb/DarthVader/Zerador/Sentinel/DiNoR/stanus/fernandopm && Richijs4 !sa_"theXMLdev"_har-Vhalior-Sahar/djSt3rios/RaphaelFersan/xblx/100500/agurkasz/AntiViruZ

THE END!



Changeset 251

Misc
- BlockBuff / BlockDebuff core support + fixes on skills (Mystic Immunity, Day of Doom, Heroic Berserker). NPC passive aren't yet supported.
- clan is now instantly dropped if config is setted to 0. If clans are loaded, the task is now setted to 1min rather than 5min.
- clan notices are dropped when clan is destroyed.
- partial cleanup of beginCast( methods.
- [L2J 5365] addition of hasPet() and hasServitor() methods + fix range in which the pet can get XP.
- [L2J 5373] rechargeAutoSoulShot( method doesn't use anymore switch about itemId, but items' L2ActionType.
- creation of a .txt if user changed his name (ty Java-man).
- *possible fix* _owner / getOwner() NPE (isAutoAttackable(), HitTask, etc). setOwner(null) was introduced when we had summon ghost issue, but since that time I found the real problem and so I revert this "fix" which probably make the cleanup hard.


Changeset 252

EnchantSkillsTree table rework, misc related to skills.
- addition of enchantType in enchant_skills_tree, where shared infos are loaded. The DP size is cut by 2, and we earn back 10mo RAM at startup.
- the different used lists aren't synchronized anymore.
- giveAvailableSkills() execution time is divided by... x15. You're right, from 3sec it goes to 200ms. From 300~ sent packets (for a DWARF, race which got the lowest numbers of skills), it goes to 12~. No lags anymore for the player, no hundreds packets sent / operations launched for nothing.
- removeSkill() correctly clean toggle effects.
- multiple security checks are added on acquire && enchant (skill, skillInfo) packets.

Ty Hasha (aka Rainbow Dash) for the good work.



Changeset 253

Multiple cleanups aiming better stability/performance.

Following Zoey76's (better known as "L2J cleanup guru") path, I decided to follow my (hidden) master.
- activation of 3 Eclipse settings, leading to :
- cleanup synthetic accesses warnings by dropping private for protected.
- cleanup 20+ "true" and 50+ "false alarms" potential null pointer accesses, leading to handlers reworks.
- cleanup synchronized lists/maps which got no reason to be synchronized.
- cleaning gsregistering (for a "not-RU" english).

TODO : make my eclipse accepts java compliance 1.7 in order to use Diamond and ARM Java7 features (currently greyed, dunno why). Else you will go to trash, you understand, Eclipse ? Bad, bad Eclipse !



Changeset 254

Java7 invasion ! The summer is coming : cleanup on the code ? Tale of an Eclipse come back !

Under that title which worths best animes', come some cleanup and use of java7 features :
- Diamond for constructor invocations (+ activation of associated warning to be sure old system is correctly cleaned)
- try-with-resources block (also known as 'ARM block') ; drop of apache commonsIO jar, drop of L2DatabaseFactory.close(con).
- Fix all possibles methods when they can be static (+ activation of associated warning)
- Fix all QUESTS STATIC maps (almost all...) to be "private final static" and "HashMap" instead of "FastMap".

If you got issues : download LATEST Eclipse (a 2011 eclipse isn't LATEST, as my previous Eclipse installation learnt it going to trash) and be sure your compliance level is setup to 1.7 : http://www.cs.utexas.edu/~scottm/cs307/handouts/Eclipse%20Help/comp_Setting_1.6.jpg (=> IN THE SCREEN IT'S PUT TO 1.6 PUT TO 1.7 AND IF YOU HAVEN'T 1.7 OPTION THEN GO DL LATEST ECLIPSE NUNUNU <=)

And if you're really dumb or drunk or just want to read more about it, Google it : "java compliance level 1.7 eclipse".

Here are the features of Java7, with Eclipse "changes" to support it : http://www.eclipse.org/jdt/ui/r3_8/Java7news/whats-new-java-7.html


I had to fix 1500+ warnings, so if you find something bad, you know where to find me.



Changeset 255

Addition of Noblesse quests.
- Q241, Q242, Q246, Q247

Knownlist conflict
Idea is coming from Tukune from L2JForum. The Forget task got a lower radius than the Watch task (concerning AttackableKnownList and players, which is... 70% of scenarii), leading to attaching and detaching the AI of the mob if you're between both ranges.
More infos and my answer on original topic : http://www.l2jserver.com/forum/viewtopic.php?f=77&t=24091
- tweak all radius in order Forget Task is - almost - always 1,5x/2x > to Watch task.
- PcKnownlist dynamic range is even more dynamic (based on actual knownlist's size, begin from 3600 - 20 per ppl, minimum 1800).
- Castles doors had some difficulties to be seen from far, now it's fixed.

Baium
- Angelic Vortex (Baium gatekeeper) edition : add a missing HTM (baium state = dead), HTMize an hardcoded HTM, blooded fabric check occurs in good position.
- slight rework of Baium AI in order to chain animations faster and show the roar animation for the waker.
- the waker probability to die has been fixed.

Misc
- add static SOUND_FANFARE in QuestState.
- addition of 3 locs for admins (GM goodies panel). Ty Pendragon.
- items 7677, 7678, 7679 are considered as qItems.
- fix 2 potential NPAs.
- titles regex pattern is dropped.
- addition of 2 missing tables on database_installer.bat.
- Drop of PRECISE_DROP_CALCULATION config, which was affecting both drop chance and drop quantity. Now only drop chance are affected by server rates (avoid 5 RB jewels per boss).
- cleanup of calculateRewardItem and 2 almost same-looking methods from L2Attackable.
- Fix the CW when wearing a FW. The FW is unequipped before equipping the CW (affects the admincommand aswell).
- Fix a critical issue I added 2-3 revs ago concerning items which couldn't be picked up.
- Fix a critical issue introduced by Hasha rework about Quest party system (NPE on fastlist). Change FastList for ArrayList.
- use of isClanLeader() when possible.
- missing singleton on L2World.
- fix the message when you're in a party : "blabla took +2stem", instead of "blabla took 2 stem".
- Addition of a save noblesse option, as the noblesse status wasn't directly saved (so let's say server crashes before you delog at least once, you would lose it). Ty Hasha.
- drop following methods to use their regular counterparts (they're shorter to write, lol) and fix all occurences :
- CursedWeaponsManager.announce( => Broadcast.toAllOnlinePlayers(
- QuestState.getRandom( => Rnd.get(



Changeset 257

General tasks, misc (ty ipxs for some reports)

General tasks - ty jurchiks for the idea
- following tasks are now handled by a unique task rather than using one task per player : PvpFlagTask, WaterTask && TakeBreakTask.
- those tasks use a Map in order to stock individual timers.
- for 100 players, 100 TakeBreakTask were created, and as much tasks if (let's say) those 100 players are pvping (+100) under water (+100) = potentially 300 tasks. Now only 3 tasks are running, no matter how many ppl are online.

Misc
- add the Teleportation Cubic exit section for Baium (supposed to be handled in another script, moved in GrandBossTeleporters).
- you aren't flagged anymore casting positive effects on guards (both siege and regular).
- fix castlewarehouse && castleblacksmith "busy" HTM, and add a clan right check for blacksmith (+ cleanup for both instances).
- fix Pa'agrio's Fist (must restore 100% CP, not simply 800).
- fix Fatal Counter (based on your own HPs, not enemies' + formula rework) - ty Duma. getPower() method loses one parameter.
- singletons on PetitionManager && AutoSpawnHandler
- revert some ArrayLists for FastList (fix concurrentException errors on sieges)



Changeset 258

Siege/castles rework, misc

Siege/castles rework
- Fix possible targets on siege summons skills (one siege summon can only aim L2PcInstance, others can only aim L2DoorInstance).
- Fix doors issue (doors not respawning at siege end). At siege end, they revive, fully HPregen and close if opened.
- Doors don't respawn if destroyed during a midVictory, but they will respawn at siege end.
- castle chamberlain instance is fully rewritten, HTMs names have been shortened and content is harmonized. Many privileges checks have been added.
- when a castle wall is destroyed, the correct message is displayed.
- skill cast on Artifacts is fixed (changing target before the end of "Seal Of Ruler" won't stop the skill)
- Addition of retail-like castle gate upgrade system via castle chamberlain.
- It uses 2 "cursors" to calculate the price :
- type of door (basic doors, additional doors or walls)
- power of the reinforcement (x2, x3 or x5 HPs).
- the cost of doors updates, as their pdef/mdef, are infuenced by Seal of Strife owner.
- the upgrade is instant, and is loaded/saved through server restarts aswell (as I need _doorUpdates being fed for the hp ratio check on chamberlain).
- all retails HTMs have been added, and checks are ok (not enough money in CWH, door already updated with a similar or better level, etc).

Misc
- GMs non-aggro state has been moved from //invul to //hide command. Ty Pleasure for the good idea.
- drop some GMs "privileges" which could lead to "false alarms" reports from users (like GMs not being ported when a siege begins).
- all variables are (and will be from now, no matter how sad Java-Man will be) initialized in the shorter possible scope. Fix an ugly issue where DoorTable was adding all left doors to latest castle _doors (so Schuttgart had 50+ gates). Castle gates aren't verified anymore for CH purposes.
- drop String.valueOf() on getNodeValue() - as the result is a String, it doesn't need further operation...

NOTE : TRAPS SYSTEM ISN'T MADE AT ALL. DON'T COMPLAIN ABOUT IT.



Changeset 259

Fishes rework (ty Java-man), misc (ty xblx for random fixes and sahar for reports)

Fishes rework
- handles differently load and get fish process (regroup data in 1 array instead of 3, avoid to create multiple arrays and new FishData objects)
- fix fishTable skills levels, ty 100500.

Misc
- if identical jewel is currently worn, then replace the other slot if different (explanation is messy, but just test ingame and gtfo).
- fix an exploit using clan warehouse when you left your clan (active warehouse could be clan, and wasn't cleaned).
- fix previous knownlists update (int cast was affecting only 1.5 value). It is rounded aswell.
- fix pets pickup, which are now affected by party distribution modes.
- fix Goblets NPC.
- fix double click on dead monsters (avoid to be stucked), cleanup those methods aswell. Drop of canTarget() method.
- onActionShift() use L2PcInstance rather than GameClient as parameter.
- add skillId on callSkill exception log for easier debug purposes.
- fix 2 issues on Valakas AI and 1 on Baium AI, related to skills priority and offline target. Rework Baium getRandomTarget() method to be faster.
- fix a ClassCastException on RequestRecipeShopManagePrev packet.
- fix a NullPointerException on RequestPledgeSetAcademyMaster packet.
- fix an NumberFormatException with CrestCache system ("Crest_Large_" were cutted as "Crest_", and so the id was containing "Large_".
- getCharactersInside() has been changed for a FastList instead of FastMap, as there is no interest to keep Map format. Use of _characterList rather than the getter.
- sendPacket() implementation for L2Summon, which refer directly to owner.
- L2GoldenRamInstance cleanup, the FastMap has been changed for an int[][]. Updates the related HTM.
- forgotten to add on timeline = xp/sp of monsters are affected by their HPs ratio.



Changeset 260

Skills rework (elemental, cancel, negate), misc

Skills rework
- implementation of following methods: ssUncharge(), spsUncharge(), isSoulshotCharged(), isSpiritshotCharged() && isBlessedSpiritshotCharged(). Move ss/bss checks out of targets loops.
- fix Cancel/Banes skillhandler :
- formula rework : addition of level diff, baseRate (80% for single target, 40% for aoe), and vuln is now applied on the good section of formula.
- toggles aren't counted anymore as possible effects to cancel.
- failed attempts are now counted (before effects were looped until 5 effects were dropped).
- all (L2Character[]) casts have been dropped in order to avoid ClassCastException using skills.
- cleanup BalanceLife skillhandler ; store valid targets in another list rather than using old list and make twice same checks (...).
- CombatPointHeal doesn't heal dead targets anymore.
- addition of suicide stuff on PDAM skillhandler (potential use for antharas minions).
- NEGATE L2SkillType (part of Disabler skillhandler) is heavily cleaned, and not affected anymore by calcSkillSuccess().
- fix "SKILLS" elemental vuln/pro (revert to IL, was using postIL formula).
- addition of "WEAPONS" elemental system (fix skills such as Holy Blade toggle, Holy weapon PP buff). Vuln/pro affect damages TOO !

Misc
- cleanup && addition of missing PaganKeys, ty sahar. No clue if it's retail-like, they're added here for the moment.
- NPCs social animations are divided by 2.
- L2Npc : drop of _isBusy / _busyMessage and associated getters/setters + drop of the HTM.
- fix issue from previous commit about hpRatio impacting earned XP/SP (I HATE DOUBLE).
 
Back
Top