Last aCis updates

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

Tryskell

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

Tryskell

I'm lazy to post missing changesets. Just check on timeline.
<html><body>Triskel:<br>
Triskel does not speak with foolish fellows who do not know their profession!
</body></html>

Tryskell

Changeset 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 : http://l2jserver.com/forum/viewtopic.php?f=69&t=23743
   
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).
<html><body>Triskel:<br>
Triskel does not speak with foolish fellows who do not know their profession!
</body></html>

Tryskell

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

Tryskell

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

Tryskell

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

Tryskell

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

Tryskell

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

Tryskell

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

Tryskell

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

Tryskell

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

Tryskell

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

Tryskell

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

Tryskell

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

Tryskell

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