Last aCis updates

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

Tryskell

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.
<html><body>Triskel:<br>
Triskel does not speak with foolish fellows who do not know their profession!
</body></html>

Tryskell

#16
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...
<html><body>Triskel:<br>
Triskel does not speak with foolish fellows who do not know their profession!
</body></html>

Tryskell

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.
<html><body>Triskel:<br>
Triskel does not speak with foolish fellows who do not know their profession!
</body></html>

Tryskell

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.
<html><body>Triskel:<br>
Triskel does not speak with foolish fellows who do not know their profession!
</body></html>

Tryskell

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 ! :)
<html><body>Triskel:<br>
Triskel does not speak with foolish fellows who do not know their profession!
</body></html>

Tryskell

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.
<html><body>Triskel:<br>
Triskel does not speak with foolish fellows who do not know their profession!
</body></html>

Tryskell

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.
<html><body>Triskel:<br>
Triskel does not speak with foolish fellows who do not know their profession!
</body></html>

Tryskell

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.
<html><body>Triskel:<br>
Triskel does not speak with foolish fellows who do not know their profession!
</body></html>

Tryskell

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?.
<html><body>Triskel:<br>
Triskel does not speak with foolish fellows who do not know their profession!
</body></html>

Tryskell

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.
<html><body>Triskel:<br>
Triskel does not speak with foolish fellows who do not know their profession!
</body></html>

Tryskell

Changeset 56

L2Spawn / SpawnTable? refactor.

I think this is the end of this error:  http://acis.i-live.eu/index.php?topic=9.0

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.
<html><body>Triskel:<br>
Triskel does not speak with foolish fellows who do not know their profession!
</body></html>

Tryskell

#26
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.
<html><body>Triskel:<br>
Triskel does not speak with foolish fellows who do not know their profession!
</body></html>

Tryskell

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.
<html><body>Triskel:<br>
Triskel does not speak with foolish fellows who do not know their profession!
</body></html>

Tryskell

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 :o.
<html><body>Triskel:<br>
Triskel does not speak with foolish fellows who do not know their profession!
</body></html>

Tryskell

#29
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".
<html><body>Triskel:<br>
Triskel does not speak with foolish fellows who do not know their profession!
</body></html>