l2topzone.com
l2topzone.com
l2topzone.com
l2topzone.com
l2topzone.com
l2topzone.com
l2topzone.com

Author Topic: [Project] aCis - Interlude  (Read 347875 times)

0 Members and 5 Guests are viewing this topic.

OfflineSweeTs

  • Full Member
  • ***
  • Posts: 167
  • L2topzone Votes: 55
  • Servers reviews: 0
  • Reputation: +290/-0
    Re: [Project] aCis - Interlude
    « Reply #140 on: August 28, 2012, 07:59:55 AM »
    Changeset 267

    HtmCache/NpcHtmlMessage cleanup by Hasha.

    l2topzone.com
    l2topzone.com
    l2topzone.com
    l2topzone.com
    l2topzone.com

    OfflineSweeTs

    • Full Member
    • ***
    • Posts: 167
    • L2topzone Votes: 55
    • Servers reviews: 0
    • Reputation: +290/-0
      Re: [Project] aCis - Interlude
      « Reply #141 on: September 01, 2012, 05:09:59 AM »
      Changeset 268

      Hasha quest engine cleanup.


      Quest
         - QuestEventType class to its own class.
         - sorted all methods by groups (I suggest to create "//INFO: this is some info for text below" tag for the GS,DP pack projects).
         - dropped "character_quest_global_data" table, since it only written in 2 quests (never read).
         - removed "class_index" column in "character_quests" (never used).
         - global quest variables methods unified for simpler usage.
         - dropped some method concerning quest load/close (not used).
         - added isRealQuest() method to separate scripts from live quest. That means every live quest needs to have _Id > 0.
         - method changes :
            - player handling filters player with desired quest state or condition :
               - getRandomPartyMember() now includes a range check.
               - checkPlayerCondition/State() last hit drops.
               - getPartyMembers/State() full party last hit (can be used directly in FOR loop).
               - getRandomPartyMember/State() party random.
               - getClanLeaderQuestState() concerned range check set to npc, not player anymore.
            - spawn, timer handling :
               - cleaned up, unified usage for these methods.
               - dropped methods with same name and different parameters (now you have one method and fill all necessary params in it -> clear usage).

      State
         - added in QuestState class.
         - changed quest state storage type in "character_quests" table from String to Byte.

      QuestState
         - these methods created/modified
            - item handling (usable during quest) :
               - giveItems() simply remove specified amount of items.
               - takeItems() simply remove specified amount of items.
            - drop handling (usable for quest item drop) :
               - in order to support rate of dropping quest items, added drop type parameter to these methods (see javadoc tag).
               - dropItemsAlways() amount is affected by Config.QUEST_RATE_DROP.
               - dropItems() amount/chance are affected by dropType param and Config.QUEST_RATE_DROP .
            - reward hanling (usable for quest rewards) :
               - rewardItems() rewards player with items (config applied).
               - rewardExpAndSp() rewards player with exp, sp (config applied).
         - removed spawn and timer methods from this class, everything is handled in Quest directly (it wasn't necessary to use QuestState for it).

      General
         - fixed onTalk bug, where player could start quest from another NPC, than registered

      ---- IMPORTANT ----

      For existing database, use attached sql command :

      USE acis;
      SET NAMES cp1250;

      DROP TABLE IF EXISTS character_quest_global_data;

      ALTER TABLE character_quests DROP COLUMN class_index;

      UPDATE character_quests SET value='0' WHERE var='<state>' AND value='Start';
      UPDATE character_quests SET value='1' WHERE var='<state>' AND value='Started';
      UPDATE character_quests SET value='2' WHERE var='<state>' AND value='Completed';

      ---- EDIT TRYSKELL ----

      Those are additions to original Hasha's notes'n'patch.

      - added a check for custom scripts to avoid the reload state when they load, as they all use the same id.
      - fix giveItems() behavior (was completely buggy, Hasha...).
      - add few final keywords (cause I like them).
      - ArrayList initializations are changed for primitive List, it's a bad use to use an "evolved form", as it limits possibilities. In the same spirit we could use directly "HashMap = new HashMap" for maps, but we don't.
      « Last Edit: September 01, 2012, 05:11:35 AM by G4mB1t »

      OfflineSweeTs

      • Full Member
      • ***
      • Posts: 167
      • L2topzone Votes: 55
      • Servers reviews: 0
      • Reputation: +290/-0
        Re: [Project] aCis - Interlude
        « Reply #142 on: September 04, 2012, 02:31:21 PM »
        Changeset 269

        Quests, misc


        Quests
           - addition of Q337.
           - fix critical issues appearing in last revision, and impacting 80+ quests (boolean stuff, custom scripts && objectId).
           - drop the max level on all quests, and harmonize all HTMs about "you need level X in order to make the quest". Remove hardcoded versions and add HTMs for Q042/Q043/Q044.
           - fix Q656 min level.
           - fix Q341 repeatable state.
           - addition of a couple of missing "st.exitQuest(true);" (Q338, Q354, Q356)
           - Q371 party system is now ok.
           - rework Q027, Q028, Q029, Q030 STATE_CREATED.
           - use of Race model rather than ordinal, it's easier to read/debug.
           - complete rework of Alliance/Clan java. HTMs are harmonized following 7Signs ones. Probably more to do (like moving all events on scripts directly).
           - custom scripts (-1) are out of queststate checks when not involved by db edition or variables save/load/checks.
           - rework endQuest(), only one db query is made to drop all (on L2J, one db query per variable).
           - L2PcInstance : _quests FastMap is changed for a FastList, _notifyQuestOfDeathList is directly initialized (avoid synchro ## and null checks).
           - drop missing SQL stuff about character_quest_global_data.

        Misc
           - rework regen skill in order Valakas doesn't cast it at all, but got directly the effect. Add a random timer aswell.
           - drop slow effects on 4 bleed augment (postIL behavior).
           - fix "Heart of Pa'agrio" radius effect and icon (more skills to come later, I know SweeTs I KNOW).
           - fix all silence times and chances (basically 80% 30sec for one target, 40% 30sec for aoe).
           
        Note : //reload quest is currently not working correctly.

        OfflineSweeTs

        • Full Member
        • ***
        • Posts: 167
        • L2topzone Votes: 55
        • Servers reviews: 0
        • Reputation: +290/-0
          Re: [Project] aCis - Interlude
          « Reply #143 on: September 05, 2012, 07:50:34 AM »
          Changeset 270

          Quests (Sailren questline), misc


          Quests
             - addition of Q123, Q125, Q126, Q127, Q367, Q413, Q641. Ty to sharers!
             - fix rewards for Q631.
             - rework rewards Map to use int[][] instead (Q631, Q640, Q642, Q644, Q645, Q646).
             - checkPlayerState() and checkPlayerCondition return the QuestState (avoid to create anew a QuestState). Not affecting party quests.
             - fix Q241 NPEs.
             
          Misc
             - addition of fail enchant messages, ty dEvilKing.
             - fix stopWaterTask(), ty xblx.
             - drop a double message when you use TP, ty sahar for report.
             - [L2J 5584] calculatePledgeClass() is now static.
             - [L2J 5584] fix Noblesse/Hero status icon for clanless characters.
             - [L2J 5584] L2ClanMember uses a ResultSet / the player instance directly. Can't create a L2ClanMember if clan is null.
             - one of stopMove() parameters is dropped. Avoid to send x2 broadcastPacket(new StopMove) on L2TamedBeastInstance. Add a stopMove on /unstuck.
             - addition of 4 missing spawns for Q125/Q126.
             - addition of missing HTMs for npcid 32109 (needed for Q126/Q641), implementation in GrandBossTeleporters script with retail HTMs.
             - fixed numerous retail typos : Siren > Sailren, Elkrokhi > Elroki, ax > axe.



          As you can see, the whole questline for Sailren is ready.

          As the current cycle is ended, I accept subscriptions for the new cycle. 7 customers will be dropped at rev 271 if they don't renew their subscriptions. Free rev 260 will be shared when 271 will be released.

          Antharas is delayed, mostly because of L2J IL NPCs templates who ^_^ as hell. Understand that next cycle will see very big changes in NPC templates.
          « Last Edit: September 05, 2012, 07:54:11 AM by G4mB1t »

          OfflineSweeTs

          • Full Member
          • ***
          • Posts: 167
          • L2topzone Votes: 55
          • Servers reviews: 0
          • Reputation: +290/-0
            Re: [Project] aCis - Interlude
            « Reply #144 on: September 15, 2012, 08:47:02 AM »
            Changeset 271

            Quests, Javolution, misc


            Quests
               - addition of Q111, Q359 && Q633.
               - addition of the missing HTM for Kirikachin.
               - revert positions of 2 multisell entries for Q633.
               
            Javolution
               - drop of that library, leading to a serious drop in RAM usage (-45mo at startup = -19%). As comparison, that memory drop equals *ALL* SQL > XML changes made so far.
               - changes follow a simple scheme, listed here :
                  - WeakFastSet / FastSet > HashSet.
                  - FastList > ArrayList (in very few cases, LinkedList).
                  - FastMap > HashMap.
                  - all ".shared(true)" versions use Concurrent versions (CopyOnWriteArraySet, CopyOnWriteArrayList, ConcurrentHashMap).
                  - TextBuilder > StringBuilder. There is no equivalence for ".clear()", I decided to use ".setLength(0)".

            Misc
               - rework GameServerTable (XML loading part).
               - drop of the single use of Vector (replaced by an ArrayList in ServerStatus gameserverpacket).
               - modify all uses of "new Integer(value).intValue()" for "Integer.parseInt(value)".
               - MMOCore is refreshed to use JDK7. The build is remade from zero, and avoid to create a zip.
               - L2FastList, which was a children of FastList, has been dropped. All uses have been replaced for ArrayList.
               - rework a couple of Iterator uses to be more elegant (Duel, DuelManager, GmListTable, CharNameTable) - I kept Iterator *ONLY* when .remove was used (and so when Iterator was vital).
               - cleanup AdminEditChar (drop of arrays which are not used, checks are glued, variables beginning by a minuscule, and others esthetic/performance stuff).

            PS : I just thought, like 3min after, than I didn't update internal MMOCore JAR. So compile it and replace, in 271 I will add the new directly.



            Rev 260 can be found here :

            http://www.is not allowed.com/archive/LiAv4qYX/trunk_260.html

            OfflineSweeTs

            • Full Member
            • ***
            • Posts: 167
            • L2topzone Votes: 55
            • Servers reviews: 0
            • Reputation: +290/-0
              Re: [Project] aCis - Interlude
              « Reply #145 on: September 23, 2012, 07:47:30 AM »
              Changeset 272

              SS/BSS system, Minions, Misc


              SS/BSS system
                 - [L2J 5637] ss/bss system is reworked to allow inheritance.
                 - drop the ReentrantLock on Soulshot handler.
                 - cleanup ss/sps/bsps handlers (drop of switches, drop of synchronized, etc).
                 
              Minions
                 - fix UnsupportedOperationException on MinionList.
                 - drop _enableMinions boolean tag (always true).
                 - regular minions repop after "leader respawn time / 2".
                 - drop of a pointless list which was keeping references of dead minions.
                 - if a monster is consider as a leader, don't make minion checks (and vice-versa).
                 - _maintenanceTask is moved from regular monsters to RBs (used only for location checks). Drop of getMaintenanceInterval().
                 - cleanup MinionList (unused methods, methods calling others methods).
                 
              Misc
                 - addition of MMOCore jar, as it was cleaned up in last rev.
                 - teleToLocation boolean parameter is modified for an int. 2 configs are dropped.
                 - addSpawn() from Quest.java can handle Location models (used in future for Benom).
                 - addition of the missing spawn id 35506 (used in future for Benom).
                 - QuestJython model is dropped.
                 - drop of "this." uses on scripts.
                 - [L2J 5413] reuse delay stuff is cleaned up, getMReuseRate()/getPReuseRate() methods are dropped, _baseMReuseRate isn't generated for any Char template anymore.
                 - fix ConcurrentExceptions on ItemsAutoDestroy, ForumsBBSManager.
                 - cleanup of isBehind(), isBehindTarget(), isInFrontOf(), isFacing().
                 - reworked implementation of Miser SA.
                 - parseGameCondition conditions are "else if" rather than "if" (understand who can...)
                 - fix CoV critical rate value, ty Stanus for report.

              OfflineSweeTs

              • Full Member
              • ***
              • Posts: 167
              • L2topzone Votes: 55
              • Servers reviews: 0
              • Reputation: +290/-0
                Re: [Project] aCis - Interlude
                « Reply #146 on: September 28, 2012, 08:01:15 AM »
                Changeset 273

                DEATH TO ANACONDA !


                Jython
                   - is OFFICIALLY dropped from aCis (if that force ppl to make java quests instead of using outdated technologies, that's only a bonus).
                   - all your previous .py files (quests, scripts) && jython tasks must be moved to java.
                   - such scripts problems (buffers, AIs, etc) are then OFFICIALLY unsupported.

                Configs
                   - drop "LazyItemsUpdate" (dangerous, ends to unexpected behaviours).
                   - drop "AltGameMobAttackAI" (no core support anymore, ghost variable).
                   - "RaidChaosTime", "GrandChaosTime" && "MinionChaosTime" are edited from 10sec to 30sec by default.
                   
                Misc
                   - Update mysql-connector jar from 5.1.18 to 5.1.22
                   - drop of L2ScriptZone and ZONE_SCRIPT (if you want custom zones, just make your own type).
                   - update formatting for DP (I was using it, but it looks it wasn't commited) and validate files which weren't using that format (4 so far).

                OfflineSweeTs

                • Full Member
                • ***
                • Posts: 167
                • L2topzone Votes: 55
                • Servers reviews: 0
                • Reputation: +290/-0
                  Re: [Project] aCis - Interlude
                  « Reply #147 on: November 02, 2012, 04:05:21 PM »
                  Changeset 274

                  AI system part I..., pet inventory, Fear effect, misc


                  It is not yet the paradise, but I tried to cut the complexity, reuse existing stuff, and prepare AI data for future templates rework.
                  I still search ideas for new AI system (using inheritance, either for AI type and/or template type).

                  General AI behaviors changes
                     - checks concerning friendly/enemy clans verify confusion state (in case of enemy clan, it replaces).
                     - mages/priests AI handle following cases from now :
                        - will always launch skills.
                        - in case they're muted, they 100% flee.
                        - in case they're rooted, and can't launch skills (oom/muted), they will attack the nearest (if not possible to attack the current target) target using melee.
                        - switch automatically from high to short range skills if you approach (priority to short range, as retail), and vice-versa.
                     - mobs won't (re)buff if they're already buffed when you initiate a fight (as they can buff themselves random-walking).
                     - drop of the random forget time.

                  Mobs ARE SUPPOSED TO act as following :
                     - target checks :
                        - mob hasn't target/got dead target/got timeout ; replace target in case mob is aggro type and continue execution or break the whole processus.
                        - mob is chaosTime type, switch target if possible.
                     - mob successes to launch a skill (10% default, 100% for healer/mages AIs) :
                        - mob suicide below 15% HPs.
                        - mob heal allies who got the lowest HPs amount (activation at 75% HPs, priority to healer && mages AI).
                        - mob use a random spell - debuff (10%) - otherwise, by priority : short range && long range skills.
                     - mob is immobilized : if physical range is ok, attack, if not, pickup the nearest target and attack it.
                     - mob flee from player melee range if it is a mage/healer/archer AI.
                     - mob approaches the player if out of physical range.
                     - mob physically attacks the player.

                  L2SiegeGuardAI
                     - reorganized entirely the file, inheritating from L2AttackableAI.
                     - correct an issue introduced 10~ revs ago, where siege guards weren't attacking at all.
                     - drop TargetAnalysis && SelfAnalysis (was creating a huge amount of pointless lists for every siege guard).
                     
                  L2NpcTemplate
                     - drop 13/19 skills lists and associated getters (here are the survivors : long range, short range, heal, buff, debuff, and suicide.
                     - addSkill() method avoid to use "add" getters, allowing to drop them all.
                     - drop of FIGHTER and BALANCED AITypes. Those 2 AIs are now refered as DEFAULT (as basically FIGHTER types got and will use skills).
                     
                  AbstractAI
                     - _castTarget and _attackTarget are dropped. All is uniformed around getTarget().

                  L2AttackableAI
                     - drop of _lastBuffTick.
                     - reorganized entirely the file, and rework many methods.
                     - avoid to generate internal skills lists for AIs. It uses templates skills arrays.
                     - the attack timeout is back to 30s, rather than 2min (/4). It now handles differently aggro mobs from passive mobs. Passive mobs will stop to attack if you don't attack them, when aggro mobs will continue to follow you until you're out of their "aggro range * 2".

                  L2NpcAIData
                     - drop many variables with their getters/setters/uses, in prevision of future NPC templates rework. The list concerns :
                        - _primaryAttack
                        - _minSkillChance
                        - _maxSkillChance
                        - _isChaos
                        - _longRangeSkill
                        - _shortRangeSkill
                        - _longRangeChance
                        - _shortRangeChance
                        - _switchRangeChance
                        - _enemyClan
                        - _enemyRange
                     - SQL is not cleaned cause it will soon disappear. As the useless data isn't loaded, it's not a problem.
                     - drop of %ai_enemy_clan% in shift+click panel on NPCs.
                     
                  NpcWalkers (L2NpcWalkerInstance, L2NpcWalkerAI)
                     - L2NpcWalkerInstance internal broadcastChat() -> L2Npc broadcastNpcSay().
                     - avoid multiple .get() operations updating a single L2NpcWalkerNode when the NPC goes to it (as we have, anyway, to retrieve the node, better make it automatically).
                     - drop _homeX, _homeY, _homeZ variables + getters/setters and uses on onSpawn() - unused.
                     - _walkingToNextPoint getters/setters are dropped - unused.
                     
                  Pet inventory
                     - fix a concurrent issue, ty Hasha.
                     - fix the inventory update when you transfer non stackable items.
                     - add player && pet inventory weight refresh. Pet can now be overweight (was working before, but only in few circumstances).
                     - items are cleaned from pet inventory list / from the world even if the owner doesn't exist.
                     - checkItemManipulation for pet inventory (make checks on count). The string parameter is dropped for both inventory types. The count check is made on < 1, not on < 0 anymore.

                  Fear effects
                     - glitch is fixed, ty xblx.
                     - slight edit in order if you trigger startFear() it works in any case, and avoid pointless actions triggered by onActionTime().
                     - remove the visual effect when effect ends.

                  Misc
                     - modifier for L2Attackable concerning cast break has been removed. I still believe it should be reworked for monsters (75% or 50% of the final value ?).
                     - drop of Rnd.nextInt(int) method, which was calling Rnd.get(int) method.
                     - fix a ConcurrentException on CellPathFinding geodata module.
                     - fix lethal strikes messages. calcLethalHit() method doesn't return a boolean anymore (no use).
                     - fix a couple of skills values (lethal2 100% chance issue && few cancel resist/vuln chances setted to 40 instead of 30).
                     - drop of mAtkRange Stats. The only factor which entered in that Stats calculation was skillRange, so I simplified it.
                     - fix gameserver shutdown issue (ty Kenrix for reminder). I don't use L2J forum / Silentium fix.
                     - fix RequestHennaEquip adena amount message (cleaner method used than Silentium).
                     - fix a minor issue on /unstuck command - missing isSitting() check (ty Silentium).
                     - fix jail issue (teleport you forever in jail if you're //recall by a GM). Ty xblx.
                     - [L2J 5684] hitTime lower than 500 are taken in consideration, _castInterruptTime takes in consideration the skill coolTime.
                     - cleanup of all getKnownXXX() / getKnownXXXInRadius() methods, replacing them by 2 using generic types (:) yeah).
                     - drop few clone checks concerning isRunning() - as setRunning() internally checks it.
                     - fix FriendList packet, ty Root for report.
                     
                  N.B :
                  Between 10mo to 15mo RAM are saved.
                  The think cycle is actually used more than once per second (called by itself on attack ?). This is the main issue about packet flood when numerous enemies follow you, and will end by a huge performance boost once corrected.
                  I search a mean to fix pet inventory weight number. Atm it only updates while overweight penalty is called. I dunno why.

                  Things to fix in AI part II:
                  - null crap on HitTask / callSkill.
                  - flee behavior if you're too near (mob stops to attack).
                  - siege NPCs mage weird movement.
                  - find a solution about mage with low/no mana, in order to avoid those weird movement.



                  Changeset 275

                  Enchant system, Quest system, Misc


                  Enchant system
                     - [L2J Silentium 145] add skill refresh when you enchant an equiped dual (to +4) or armor (to +6, if other parts of set are already +6).
                     - don't unequip item (it was visible if you failed a blessed enchant).
                     - avoid to refresh weight in case of a success or a blessed fail.
                     
                  Quest system (Hasha)
                     -  fix exclamation mark for NPCs with one-time quests.
                     -  npc will now show correctly the "quest completed" message, when quest is completed.
                     
                  Misc
                     - cleanup pathnodes loading.
                     - delete _isSpoil + setter/getter (can be retrieved with another variable). Cleanup spoil skillhandler && effect.
                     - cleanup 20+ generated TODO and content of those files (conditions mostly).
                     - fix an issue where 2 items rewarding the same skill drops the skill once you unequip one of those items. Addition of getPaperdollItems() method. Ty xblx.
                     - fix alliance creation/dissolution and clan dissolution if you're registered/participing in a siege. Ty Hasha. PS : it also avoids one connection with DB.
                     - cleanup xp/sp methods to reuse existing stuff. Ty Hasha.
                     - EffectStunSelf correctly stuns effector, not effected. Ty xblx for report.
                     - FriendList packet edited (again). Ty xblx.
                     - fix the last potential NPE (according Eclipse).
                     - fix a crappy NPE introduced in previous rev (see last comments on previous rev). Ty xblx.
                     - drop or edit few "_log.log(Level.WARNING, "", e);", as they send blank debug message. I only bothered about the most common.
                     - AdminPledge is cleaned up, the following actions (dismiss, setlevel, reputation) are now possible on any clan member, not simply the leader. info and dismiss work as supposed (no need 2nd parameter) when used from admin panel.



                  Changeset 276

                  Quests, misc


                  Quests
                     - addition of Q047, Q048, Q324, Q372, Q426. Ty to sharers.
                     
                  Misc
                     - "Quest." are dropped on any quest (Quest.getNoQuestMsg(), Quest.getAlreadyCompletedMsg() && all Quest.STATE_XXX).
                     - drop a double check on checkClanJoinCondition() method, ty Ashe.
                     - fix "ghost" aborted/completed quest issue on quest logs.
                     - few HTM typos.

                  OfflineSweeTs

                  • Full Member
                  • ***
                  • Posts: 167
                  • L2topzone Votes: 55
                  • Servers reviews: 0
                  • Reputation: +290/-0
                    Re: [Project] aCis - Interlude
                    « Reply #148 on: November 09, 2012, 08:09:33 AM »
                    Changeset 277

                    Quests, Misc


                    Quests
                       - addition of Q101, Q102, Q103, Q119, Q265, Q654. Ty sharers :3.
                       - Echoes crystals aren't a Newbie reward (Q104 / Q105).
                       
                    Misc
                       - drop the "karma drop" message (was flooding logs).
                       - change the severity of disconnected client message from "info" to "fine" (was flooding logs).
                       - (potentially) fix concurrent exceptions on updateHeroes() && activateHero(). For info, .put on a Map overrides the entry if it was already existing, making the .remove useless (and dropping the concurrent use).

                    Notes
                       - put back a concurrent version of ArrayList if Hero problem persists.
                       - the "Rewards" var (flag used on repeatable newbie quests) will be kept until Tutorial is commited.

                    OfflineSweeTs

                    • Full Member
                    • ***
                    • Posts: 167
                    • L2topzone Votes: 55
                    • Servers reviews: 0
                    • Reputation: +290/-0
                      Re: [Project] aCis - Interlude
                      « Reply #149 on: November 11, 2012, 03:10:21 PM »
                      Changeset 278

                      Quests, AutoChatHandler, Misc


                      Quests
                         - addition of Q106, Q107, Q108, Q274, Q306. Ty sharers. Again.
                         - unify checks about races on quests HTMs.
                         
                      AutoChatHandler
                         - drop AutoChatHandler system. It is only used for 7Signs, and it can't be used for a simple random npcid (or anyway must be scripted, as it must be setActive()).
                         - indirectly fix the issue introduced in auto_chat rework, where Preachers were spamming the whole block of text (bad split with " $ ", dunno why).
                         
                      Misc
                         - classes folder use a better organized files, which also fix the Linux issue. Ty Root. I got few answers it works on Linux, and I tested some minutes on Windows.

                      OfflineSweeTs

                      • Full Member
                      • ***
                      • Posts: 167
                      • L2topzone Votes: 55
                      • Servers reviews: 0
                      • Reputation: +290/-0
                        Re: [Project] aCis - Interlude
                        « Reply #150 on: November 13, 2012, 12:30:35 PM »
                        Changeset 279

                        Quests, Misc


                        We reached a total of 300 scripts commited ! Ty to all sharers !

                        Quests
                           - addition of Q273, Q292, Q293, Q340, Q602, Q604, Q610, Q616, Q625.
                           - cleanup the demote methods for ketra and varka (use a for loop instead of imbricated if/else).
                           - few HTMs "typos". Mostly to keep a shared pattern amongst all quests.
                           
                        Misc
                           - add a restriction for newbie check based on class level (avoid to be considered as a Newbie as a Saggitarius lvl 12).
                           - drop a double message (reduceAdena() already got YOU_NOT_ENOUGH_ADENA included).

                        OfflineSweeTs

                        • Full Member
                        • ***
                        • Posts: 167
                        • L2topzone Votes: 55
                        • Servers reviews: 0
                        • Reputation: +290/-0
                          Re: [Project] aCis - Interlude
                          « Reply #151 on: November 25, 2012, 11:46:21 AM »
                          Changeset 280

                          Quests

                             - addition of Q326, Q330, Q376, Q377, Q380, Q622.
                             - fix last revision loop edit on Varka/Ketra scripts. Ty xblx for warning.
                             - fix Q624 party quest state.



                          Changeset 281

                          Fishing tournament, GM commands && misc


                          Fishing tournament
                             - the most awaited && acclaimed feature of 2007 finally added.
                             - what more to say... Stfu && enjoy ?
                             - dedicated to sahar. He knows why.
                             - ty UnAfraid for some HTMs.
                             
                          GM commands
                             - //list_spawns now uses an HTM with clickable locations. It also uses current target if npcId entered as parameter isn't ok.
                             - added a button on shift+click npc info list for spawns.
                             - //list_locations command is dropped, as //list_spawns makes that job by default now.
                             - slight edit of main_menu.htm.
                             
                          ServerVariables
                             - addition of a table dedicated to misc things of the server.
                             - probably will store more than current use (only fishing tournament atm). Events, 7S, olympiads ?
                             
                          Misc
                             - rework StatsSet, picking up g1ta0's work. Probably more to come, it's a Not allowed mine...
                             
                          Report on forum about fishing tournament. As the system comes from a well known source, I didn't bothered to test too much. I added some HTMs, one missing SystemMessage, fix the custom length formula which now fits retail criterias, and observed the regular mechanism of load/save. For example, I didn't test reward period. So tests and reports, even if working, would be appreciated.

                          OfflineSweeTs

                          • Full Member
                          • ***
                          • Posts: 167
                          • L2topzone Votes: 55
                          • Servers reviews: 0
                          • Reputation: +290/-0
                            Re: [Project] aCis - Interlude
                            « Reply #152 on: November 26, 2012, 01:52:27 PM »
                            Latest free sources

                            Rev 270 can be found here :

                            Click me

                            OfflineSweeTs

                            • Full Member
                            • ***
                            • Posts: 167
                            • L2topzone Votes: 55
                            • Servers reviews: 0
                            • Reputation: +290/-0
                              Re: [Project] aCis - Interlude
                              « Reply #153 on: December 02, 2012, 02:41:10 PM »
                              Changeset 282

                              Quests, misc


                              Quests
                                 - addition of Q407, Q408, Q409 && Q419. Ty sharers.
                                 - reworked "PathTo" CREATED_STATE quests (easier to read), and set final exitQuest() to TRUE, in order to see HTMs.

                              Misc
                                 - add a layer called ExProperties, improving readability/creation of Config.java
                                 - Drop StackIDFactory, making BitSetIDFactory the only choice. Related configs are dropped.
                                 - Cleanup BitSetIDFactory, dropping some synchronized.
                                 - some Float had to be dropped ; they're edited for Double.
                                 - put default values for CH configs.
                                 - fix various problems on CabaleBuffer instance. Delay autochat from 30sec to 60sec (not retail).
                                 - random : add a missing rset.close(), put 2-3 methods static, use of getters and cleanup some crap in LS.

                              OfflineSweeTs

                              • Full Member
                              • ***
                              • Posts: 167
                              • L2topzone Votes: 55
                              • Servers reviews: 0
                              • Reputation: +290/-0
                                Re: [Project] aCis - Interlude
                                « Reply #154 on: December 05, 2012, 10:59:47 AM »
                                Changeset 283

                                Quests, misc


                                Quests
                                   - fix NPEs on Q602 and Q111. Drop null checks on Q607, Q608, Q613, Q614 (already handled by getPartyMembers()).
                                   - few "Quest." and invisible typos cleanup (but well as replace works well... Why not ?). By typos, there were double "  ", space after/before "
                                ", etc...
                                   - addition of Q402, Q404, Q405, Q410, Q411, Q412, Q601. Ty sharers.
                                   
                                Misc
                                   - drop few stats and "uses" : EXPSP_RATE, NONE_WPN_VULN, ETC_WPN_VULN, FIST_WPN_VULN
                                   - rewardExpAndSp() : exp parameter is a long instead of int.
                                   - no more calcStat use for exp/sp rewarding.
                                   - fix a location in GM teleport, drop a line on Varika HTM.

                                OfflineSweeTs

                                • Full Member
                                • ***
                                • Posts: 167
                                • L2topzone Votes: 55
                                • Servers reviews: 0
                                • Reputation: +290/-0
                                  Re: [Project] aCis - Interlude
                                  « Reply #155 on: December 12, 2012, 01:54:50 PM »
                                  Changeset 284

                                  Quests, misc


                                  Quests - 320 scripts overall ;p
                                     - addition of Q363, Q415 && Q418 (tested 2/6 ends). Ty sharers.
                                     
                                  Misc
                                     - fix L2ClanMember issue.
                                     - revert one fix of [255] - L2Attackable drop edit back to regular L2J + cleanup.
                                     - MoveBackwardToLocation cleanup.
                                     - drop admin commands related to NPCs edition (12 overall - preparing next commit), rework survivors.
                                     - cleanup few TODOs.
                                     - added 50 spawns in Orc Territory, 5 for Q415 (Aren and quest mobs). The L2J IL spawnlist is just ubber failed in fact lol, missing few hundreds spawns.

                                  Note to myself : 37052 spawns before any refactor. The time will say if I was true or not :D.

                                  OfflineSweeTs

                                  • Full Member
                                  • ***
                                  • Posts: 167
                                  • L2topzone Votes: 55
                                  • Servers reviews: 0
                                  • Reputation: +290/-0
                                    Re: [Project] aCis - Interlude
                                    « Reply #156 on: January 12, 2013, 01:36:16 PM »
                                    Quote from: Tryskell
                                    We still search informations. If you know notably a L2J IL pack who made NPC templates rework (understand : with IL mobs 'corrected' stats), you can PM me. We gonna stay with precalculated stats, which is first a performance gain, and second the only decent choice as we can't have retail formulas (haven't will nor time to learn assembleur).

                                    Waiting I fixed 3 issues - which will be integrated with NPCs refactors - and will commit few quests.

                                    OfflineSweeTs

                                    • Full Member
                                    • ***
                                    • Posts: 167
                                    • L2topzone Votes: 55
                                    • Servers reviews: 0
                                    • Reputation: +290/-0
                                      Re: [Project] aCis - Interlude
                                      « Reply #157 on: January 17, 2013, 12:02:24 PM »
                                      Changeset 285

                                      NPCs templates refactor part I - Ty to devilKing for data parsing.


                                      An important work has been made in order to merge, and then SQL -> XML all data related to NPCs.
                                      That work is a first step and is commited to let me a clear view of next additions, see bottom for what is missing.

                                      Following SQL tables dissapear :
                                         - npc_ai_data.sql
                                         - npc_skills.sql
                                         - npc.sql
                                         - minions.sql
                                         - skill_learn.sql
                                         
                                      Following XML dissapears :
                                         - droplist.xml

                                      Some new functionalities :
                                         - addition of isSeedable() support.
                                         - unhardcoded critical value (mobs got different % to critical : 1, 4, 8).
                                         - NPC shield support. Feel that sad feeling when your hits are blocked by a mob !
                                         - Debugged ss/bss usage for NPCs. You thought NPCs were ***... And you were right. But now they're powerful.
                                         - Debugged stats system (was heavily affecting summons).
                                         
                                      And, in the biggest capharnaüm :
                                         - edit L2CharTemplate, L2NpcTemplate and L2PcTemplate stats names, and so by extension XMLs. For classes parsing, there is a noticable drop in weight removing "skill" from "skillId" and "skillLvl" (-200ko).
                                         - drop from XMLs classes things which could be set by default on core, and shared amongst all templates, notably :
                                            - basePAtkSpd (default 300)
                                            - baseMAtkSpd (333, shared with mobs) - the stat just dissapears, replaced by flat value on the used formula.
                                            - baseCritRate (default 4)
                                         - stats who were supposed to be boolean (but weren't due to the use of SQL) are now boolean.
                                         - following methods (setters, getters, variable) dissapear :
                                            - getSex() - no use (I speak of npcs, ofc)
                                            - getBaseHpConsumeRate() - no use
                                            - getBaseMpConsumeRate() - no use
                                            - _aiClass from L2Character - no use      
                                            - getBaseMAtkSpd() - 333 for all
                                            - getBaseMCritRate() - 80 for all      
                                            - isServerSideName() - isCustom() addition
                                            - isServerSideTitle() - isCustom() addition
                                            - getBaseShldDef() - 0 for all (affected by worn lHand)
                                            - getBaseShldRate() - 0 for all (affected by worn lHand)
                                            - overidden getCollisionRadius() / getCollisionHeight() from L2PcTemplate (what was the point to store in another variable and not using the extended variable ?)
                                            - _staticAIData and its getter on L2Npc (can be easily replaced by getTemplate().getAIData(), avoid to maintain 65xx AI objects just for shortcuts...).
                                         - isCustomNpc() addition (compares if npcId and templateId are different, if yes, it is considered as a custom npc)
                                         - existing float are changed for double.
                                         - base patk, pdef, matk, mdef are double not int anymore (keep accuracy for calculations).
                                         - shift+click on NPCs is cleaned up (generated HTM is shorter, drop of (L2Character (this)), fix skill / drop / spawn views for custom NPCs (was using idTemplate instead of id), addition of missing infos (harvest, ss/sps count/rate).
                                         - _seeded L2Attackable internal boolean flag is dropped, as that state can be checked using _seedType (> 0 meaning it is seeded).
                                         - Config.CHAMPION_ENABLE is dropped. If frequency > 0, then we can have champions... So that config is useless.
                                         - default values concerning champion configs are equal in Config.java and .properties.
                                         - drop of admin_kill_monster command (unused) and drop of AdminKill handler (merged admin_kill on AdminAdmin).
                                         - fix a NPE in Q111.
                                         - fix shops animation while running (you still could run for 2.5sec before stopping). Ty UnAfraid for the report.
                                         - fix few Double values in Config which weren't correctly parsed as Double.
                                         - getPlayersInside() && getPlayableInside() are dropped for getKnownTypeInside(). Cleanup of L2BossZone.
                                         - fix systemMessages while missing a regular attack - ty Hasha for report.
                                         - fix target cancel while attacking (pressing esc)
                                         - fix a PHX exploit, ty PaganTemplar for report.
                                         - fix polymorph issue, ty Sweets for report.
                                         - fix an issue with henna addition, ty Silentium.
                                         - fix a problem with quest parameters, ty povis111 for report and Hasha the Villain for fix.
                                         - add few HTMs on default folder.
                                         
                                      If you (think you) have better data, consider sharing. devilKing will surely be pleased to parse it, again, and again.

                                      Things to do in part 2 :
                                         - isSeedable() use for seeding purposes (atm only one check for harvest).
                                         - debug rHand/lHand stats, in order mobs use shields.
                                         - debug stats, all NPCs stats are very weak.
                                         - active skills missing on all templates atm.

                                      OfflineSweeTs

                                      • Full Member
                                      • ***
                                      • Posts: 167
                                      • L2topzone Votes: 55
                                      • Servers reviews: 0
                                      • Reputation: +290/-0
                                        Re: [Project] aCis - Interlude
                                        « Reply #158 on: January 27, 2013, 05:12:21 AM »
                                        Changeset 286

                                        NPCs template refactor part II, Recipes, misc


                                        NPCs
                                           - fix missing teachTo infos (infos took from aCis, no reason L2J was wrong).
                                           - add ACTIVE skills on all NPCs templates. Use of L2OFF GF (aCis skill list) for the ACTIVE skill list.
                                           - fix custom names/titles (isCustom() uses).
                                           - fix all Races using L2OFF GF "race" parameter. It uses only 4416 instead of 4290-4301 && 4416.
                                           - addition back of the Wedding manager custom NPC.
                                           - edition of shift+left click on NPCs. Addition of few infos (race, canMove).

                                        Recipes
                                           - fix an issue concerning recipes loading, ty Hasha.
                                           - better performance overall (drop a map, avoid few generation of lists, drop synchronize keywords, drop of TempItem class, random cleanup,...)

                                        Misc
                                           - Checks involving hpratio are unified (easier to read).
                                           - Fix TARGET_AREA_UNDEAD (rename it for AURA, as those skills are AURA not AREA ; clean the target type ; fix the mechanisms). Ty Hasha for report.
                                           - Cleanup GBs scripts.
                                           - correct Extractable message, ty Sahar.

                                        PS : As the old aCis skill list was using L2OFF GF, the gain of RAM is around 25mo between this rev and 3 revs ago. Now passive skills are the ones written in client description.

                                        More parts to come, we still miss 53 templates and calculations of stats from core.

                                        OfflineSweeTs

                                        • Full Member
                                        • ***
                                        • Posts: 167
                                        • L2topzone Votes: 55
                                        • Servers reviews: 0
                                        • Reputation: +290/-0
                                          Re: [Project] aCis - Interlude
                                          « Reply #159 on: February 03, 2013, 05:53:48 AM »
                                          Changeset 287

                                          NPCs, AIs, misc


                                          NPCs
                                             - Few fixes on npcs.xml (few mobs being canMove when they shouldn't, etc).
                                             - Indent using tab instead of spaces = -600ko.
                                             - Clan system is revisited :
                                                - "clan", "clanRange" and "ignoreIds" don't need anymore a default value on npc templates (drop of all clan="" clanRange="0" ignoredIds="").
                                                - if a mob hasn't "clan" parameter, "clanRange" as "ignoreIds" aren't parsed. A mob can have : 1/1/1, 1/1/0 or 0/0/0 (default, no need any write).
                                                - "clan" is now correctly parsed and used. It needed an important rework in order a template accept multiple clans.
                                                - "clanIgnore" is renamed for "ignoredIds". The system is now correctly parsed and used.
                                             - Addition of "ignoredIds" in shift+click panel.
                                             - L2AttackableAI cleanup.

                                          AIs
                                             - Addition of GatekeeperZombies script.
                                             - Fix aggroReconsider() method (no more NPEs), which returns previous target if no new target fits. Simplify the method.
                                             - Fix Sprigants behavior. The task loop is now correctly stopped in case players die or leave the area.
                                             - Fix custom scripts in order they send back bug report/HTMs. Not really a fix, as AIs don't use any HTM, but better follow that rule.
                                             - Orfen AI :
                                                - General cleanup.
                                                - Edit initial spawn point of Orfen on SQL (happens only at first server startup) from her lair to 1st location (out of 3).
                                                - Edit her aggro range from 500 to 1000.
                                                - The 4 minions are handled by minion system instead of script (it generates decent random walking and minions follow Orfen).
                                                - Edition of the zone check system for a Valakas/Baium similar looking one (inactivity = reset). That check is made every 60sec, not 10sec anymore.
                                                - If inactive during 30min, Orfen randomly walks on 1 of the 3 locations (not lair). If she was already tagged as teleported, drop the teleport flag.

                                          Misc
                                             - Fix rev285 henna issue, ty Hasha for report.
                                             - [L2J 5756] hasAtLeastOneItem() method. As it isn't limited to quest items, it is put on Inventory.
                                             - Cleanup Quest.java methods, avoid to retain unused variables.
                                             - Addition of Util.contains(array, array) for clan comparison cases. Return true if at least one element is common to both arrays.
                                             - Existing Util.contains methods got "==" edited for "equals". They also check if array integrity is ok (null or empty array returns false).
                                             - Drop of isParty(L2Skill) method.
                                             
                                          Notes :
                                             - Orfen movement sucks because of the miss of geodata check, perhaps later it will be improved (or share if you found better way to handle it).
                                             - When a NPC got multiple clans, it uses the same clan range value for all of them.

                                           

                                          Sitemap