aCis


Cycle 390-399 focus : Stabilization, quests end. Changeset 398 (2308) is up ! Admin commands - part II, Petition, TradeList, TargetHandler, Community Manager, Olympiads, Formulas, Bugfixes, Organization

Recent Posts

91
Announcements / Re: Questions & Answers
« Last post by Marcatu on January 20, 2019, 08:11:07 AM »
You need to learn how it work, first.
Root, this is not the first time i did this. It should actually work, since i blocked the path on the direction i wanted in Geodata Block. It does not apply to the server.
92
Announcements / Re: Questions & Answers
« Last post by Rootware on January 19, 2019, 10:08:26 PM »
You need to learn how it work, first.
93
Announcements / Re: Questions & Answers
« Last post by Marcatu on January 19, 2019, 08:31:11 PM »
Hi. On the latest version (378), any change i make on Geodata is not applied on server. Example: I want to make an invisible wall so the players can't pass. I modified the geodata accordingly but it is not applied inside the server. Any ideas why? Thanks!
94
Announcements / Re: Last aCis updates
« Last post by Tryskell on January 16, 2019, 09:47:26 PM »
Changeset 378 (1056)

MinionList, Fishing, DerbyTrackManager, Cleanup, Bugfixes


MinionList
   - Addition of show_minion.
   - Fix the minion respawn (broken on last revision). Ty Ericu for report.
   - Edited minions system to fit L2OFF behavior. Ty shyr for testing.
      - Regular minions don't respawn when master is alive. They despawn only if they switch to IDLE (case of returnToRespawnPoint for others monsters).
      - Raid boss minions are untouched, they do respawn when master is alive, and instantly despawn on master death.
   - setLeader > setMaster, all uses are edited to reflect it (edited to avoid to melt with getClan().getLeader()).
   - Minions are now setMaster(null) towards master death to avoid collateral aggro once new master comes along. In order to make minions despawn, a rework of isMinion() was needed.
   
Fishing
   - L2Fishing is renamed FishingStance. All variables and methods related to fishing are moved from Player to this class.
   - All fishing zones maxZ are reviewed (no more flying baits).
   - The way to calculate the bait location is modified.
   
DerbyTrackManager
   - Fix all issues regarding lanes swap.
   - The List of NpcTemplate is edited to be a List of Npc, which avoid to generate new Monsters instance on every race. The 24 instances are re-used, over and over. The List is shuffled, then the first 8 instances are picked as runners.
   - Current race number is now calculated based on LAST REGISTERED HistoryInfo race number, and not on number of total entries. If you manually delete old entries, it won't affect anymore the data integrity (only the data of the ticket you try to retrieve). In the same order of idea, getHistoryInfo is added to retrieve an HistoryInfo based on the saved race number, and not based on the getHistory() index anymore.
   - Minor reworks here and there (methods rename, addition of methods, Javadoc).
   
Cleanup
   - Deletion of Config.DEBUG.
   - Multiple Logger > CLogger. Improve errors log details. Ty Sahar.
   - AugmentationData cleanup (8900 > 1800 lines for skills.xml). Ty Sahar.
   - IPv4Filter cleanup. Ty svipben.
   - Slight edit of SpawnZoneType (renames and merge of identical methods). All zones are edited to reflect x/y/z caps removal.
   - Add writeLoc as part of SendablePacket, and use it where it can be used.
   - Addition of spawnMe(Location).
   - IXmlReader#parseLocation is added.
   - LoginFail / PlayFail packets static approach.
   - CursedWeapon cleanup (try-with-ressources, CLogger, static queries).

Bugfixes
   - Fixes due to IXmlReader implementation :
      - Fix broken chaotic spawn locations loading. Ty shyr for report.
      - Fix //reload zone - Miss to reset _lastDynamicId to 0.
      - Fix //reload acar - Miss to "play" with _highestLevel. It's dropped, and accesses are set on TreeMap for easy highest level found. Fix also the log regarding master level logging in.
   - Refresh informations regarding //reload admincommand (prior to AdminData rework). Ty Toxico.
   - Fix summons forced skill cast. Ty bowling4soup.
   - Fix party-broadcasted message related to distributeItem. Ty bowling4soup.
   - Gatekeeper Arisha HTM cleanup. Add a missing loc. Ty shyr for report.
   - Add more accuracy to angle<>heading conversion.
   - PartOfCharacterHeight is set to 95 by default instead of 75 (more accurate with eyes position...).
   - //spawn default respawn time is set to 60sec instead of 0sec.
   - Addition of both //show_minion and //knownlist buttons into npcinfo.htm.
   - Let Cursed Weapon tasks run up to their current loop. Avoid InterruptedException.
   - BufferUnderflowException is handling differently, to avoid ProtocolVersion spam. Ty SweeTs.
   - Entire cleanup of isRaid(), isRaidMinion(), isMinion().
      - Introduction of isRaidBoss() and isRaidRelated() (previously named isRaid()).
      - Deletion of isRaidMinion.
      - Avoid the weird "isRaid() && !isRaidMinion()" to speak about a raid boss.
   - Fix 2 issues related to teleport process :
      - on teleport, zones are correctly registered (bug introduced on last rev). Ty SweeTs for report.
      - compass and water are correctly refreshed (bug as old as L2J).
   - //setinvul uses isMortal, not isInvul anymore. Deletion of FolkStatus, NPCs are setIsMortal(false) instead.
   - SiegeFlag alert timer is moved from 20s to 30s delay.
   - Fix all wrong NPC levels (Bosses included). Add npcId 13015.
   - Duels are now interrupted if an Attackable hit one of the duelist.
   - Add the 6 missing castle warehouse keepers on castle related NPCs (they don't exist on L2OFF data too). Ty shyr.
   
PS : when you want to speak about a raid boss or raid minion, simply use isRaidRelated(). isRaidBoss() returns only Raid Bosses. isMinion() returns any minion type.
95
Announcements / Re: Forum Announcements
« Last post by Tryskell on January 11, 2019, 04:49:20 PM »
  • Added back the Karma system (can be eventually used with Marketplace for an estimation of the seriousness of the people ?)
  • Created Marketplace and subcategories WTB/WTS for customers.
  • Added back middle difficulty CAPTCHA image and basic question related to aCis as minor bot protection
96
Announcements / Re: Last aCis updates
« Last post by Tryskell on December 22, 2018, 06:28:12 PM »
Changeset 377 (1020)

IXmlReader, AIs, Quests, Misc


IXmlReader - Ty Sahar
   - Drop XmlDocument and replace it by the interface IXmlReader.
   - Existing and already reworked classes which were using XmlDocument are now using IXmlReader.

AIs
   - Fix disabled AI NPCs stucking on ATTACK intention.
   - Fix minions interrupting their current cast to join the master.
   Queen Ant
      - Larva is set as disableCoreAI (it doesn't react anymore).
      - Addition of the 3 "teleport out" locations for players during Queen Ant spawn. Added back a zone corresponding to Ant Lair, to port back players.
      - Addition of onSkillSee/onAttack events for Raid Curse, which is spread for all types of ants. onAggro Raid Curse is reworked to reflect retail behavior (isn't supposed to silence mages).
      - Addition of Anti Strider Slow curse (Queen Ant onAttack behavior).
      - Rework the Nurse healing process in order it uses onFactionCall event instead of 1s task (which remove some variables).
      - Queen Ant spawn sound is corrected. Social actions amount is also corrected.
      - Nurses only heal larva and queen, not other types of faction-related ants anymore.
      - Decrease the amount of Nurses (from 5+2 (queen+larva) to 3) and Royal Guards (from 7 to 4).
      - Addition of Queen Ant behavior casting skills for following events, using retail values : onSkillSee, onFactionCall, onAttack.
      - Nurses/Royal Guards respawn time is now correctly handled (10sec Nurses, 280 + Rnd.get(40) for Royal Guards).
      - Royal Guards are teleported back on the Queen Ant zone, if out. It uses as task.
      - Queen Ant is teleported back to spawn point if out of her territory. It uses an event.
      - Royal Guards are now affected by chaos time (66% chance, tested every 90 + Rnd.get(240) seconds).

Quests
   - Addition of Q115 (made from scratch by me).
   - Addition of Q648. Ty to roko91 for the good work !
   - Fix Q403. Ty shyr for report.

Misc
    - Few HTM typos fix from the forum dedicated topic. Ty to sharers (Vampir mostly).
   - Fix a custom config (raid boss drop). Ty SweeTs.
   - Merchant HTM folder up to 31400.
   - Fix the double message on Transfer Pain (already handled by SummonStatus). Ty Sahar.
   - Drop memos associated to a deleted player. Ty ForgeOfGods.
   - ProtocolVersion accepts all legit Interlude revisions, not only the last one.
   - Tweak aggroReconsider() to don't bother with aggro lists <= 1.
   - Fix issue where circlet/reputation removal would be applied to the wrong clan after a castle siege. Ty Sahar.
   - Drop ZoneType onRevive/onDeath (unused).
   - Teleportation stuff
      - Fix a StackOverflow issue if you were using teleToLocation on following zone events : notifyExitZone / onExit.
      - teleToLocation rework ; use as low as possible advanced methods, avoid to use spawnMe()/decayMe(). Fix all issues related for using onSpawn() content.
      - Creature#setRegion handles all possible zones revalidation scenario, allowing us to get rid of revalideZone(true) from onSpawn/teleToLocation.
      - Drop Summon#onTeleported() - pet is supposed to be summoned near the owner, broadcasting packets automatically.
      - The only legit onSpawn behavior is maintained for SiegeSummon, using onTeleported.
   - MinionList rework
      - Store the current state of minion spawn/despawn in order to reuse it. Fix an issue with onMasterTeleport() - minions were created back, leading to x2 minions if respawn tasks were already scheduled.
      - Cut the number of container modification, since _minions container doesn't add/remove anymore. Only the boolean state is edited.
      - spawnMinions is only used once. It now generates _minions container content.
      - Seperate die/deletion behaviour. setLeader(null) is only set if deletion occurs (to prevent OOME).
      - Rework onMinionDie in order scripts currently affect the modification on respawn time setting (notably moving out whatever modified the respawnTime).
97
Announcements / Re: Last aCis updates
« Last post by Tryskell on November 10, 2018, 07:36:55 PM »
Changeset 376 (990)

PetitionManager, "Chaos time" system, Loot protection, Doors / Walls, Misc


PetitionManager
   - Creation of the package model.petition to hold inner classes of PetitionManager. Move PetitionManager to data.manager.
   - HashMap > ConcurrentHashMap to avoid CMEs.
   - Generic cleanup on all those classes.

"Chaos time" system.
   - RBs are affected by chaos time, for the following rule : 20% luck to change target every 1m (set on the same task than "return by teleport to spawn" behavior).
   - RBs minions got 33% luck to change target, tested every 1m (set on the same task than their RB to avoid pointless objects).
   - I didn't see specific/general rules for GrandBosses regarding chaos system. There isn't a single method call RandomizeAttackDesire() on those scripts. The behavior is entirely dropped. Scripts would be eventually edited to reflect this change.
   This little rework will fix those issues :
      - Divide between 6 to 10 the amount of target switch.
      - The random aspect to choose the next target is now really random.
      - Slight improvement, as no action is done if the same target is chosen.
      - The logic between all conditions is normally correctly handled.
      
Loot protection
   - Improvement of logic behind the main damager dealer acquisition :
      - Main damage dealer isn't edited into ItemInstance.create anymore, it is now done way before to avoid to process it on every item creation.
      - "First command channel leader" as "master looter" is now also taken into consideration on custom config AUTO_LOOT.
      - setDropProtection is moved out of ItemInstance.create, into the single usage (Attackable#dropItem) to avoid pointless casting.
   - Drop the single occurence of doItemDrop(Creature), cleanup unused parameters for 2 other methods.
   - Fix the loot protection for RBs. Regular player rules apply on them. No party thing.
   
Doors / Walls
   - Doors HPs are visible by anyone in sieges. Ty TigVecc for report.
   - Doors/walls are anew attackable by player skills upon a castle siege progress, but deal 0 damage (cosmetic edit). Ty TigVecc for report.
   - Missing CTRL (forced attack) behavior for Doors/Walls is added.

Misc
   - Don't clear Lists on Harvest/Sweep while they are still processed, to avoid ConcurrentException - let onSpawn() handles the cleaning.
   - Implemented retail player spawn locations system. Ty vampir for the hint.
   - Desire intention can't be null anymore, to avoid NPEs (2 scenarios with _nextIntention). Ty Sahar.
   - Fix the Exception when players are riding Striders with GM Haste on and disconnect. Merge stopAllTimers() to the single-used location. Ty Sahar.
   - Add back the food task on //ride, since a simple //kill and //revive generate a food task, making it looks like an "issue" while it was a "GM feature".
   - Fix Wyvern mounted players, which got their attack speed set to 300 (static) and 150 if Wyvern is hungry. Fix indirectly the single Wyvern skill.
   - Addition of "Food for Wyvern" into the GM shop.
   - Fix Q027. Ty zarie.
   - Fix Q218 quest logic behind Talin pieces acquisition. Ty Nophaie for report.
   - Tweak calcMagicSuccess in order low level skills can affect targets (base calculated on a 30 levels difference).
   - Fix Blacksmith of Mammon - Unseal/Reseal. Ty zarie.
   - Ban/kick actions don't close the client anymore, only the logout action does it. Drop secondary logout() method.
   - Fix any Plando-like creature (throwing spears issue).
   - EffectTargetMe fix after previous Desire edit (any aggression skill).
   - Retail /clanpenalty implementation. Ty Caparso for report.
   - Fast fix for Summon PC / AV - Teleport (Portas, Flash of Splendor,...).
   - "Kailu Balu" Z spawn fix.
   - Few mini cleanups :
      - _isRaid is dropped from Creature.
      - Few lambdas use.
      - Timestamp class is moved out of Player class, to model.holder package.
98
Announcements / Re: Forum Announcements
« Last post by Sido on October 18, 2018, 10:19:55 PM »
Some of you may get some problems on first time you access our forum (such as, missing images from menu). Please check your link and if you see that you are using http://HTTP://address , change it where you saved (bookmark or w/e) to http://HTTPS://address    (just add an S to http)

If this is not the case, please report it to me.
99
Announcements / Re: Forum Announcements
« Last post by Sido on October 15, 2018, 11:56:07 AM »
Updated (fixed reported things that were broke).
Please report any other problem.
100
Crappy servers / Re: L2 Order VS Chaos Returns: 27/10/18 !
« Last post by bowling4soup on October 14, 2018, 02:40:51 PM »
Best of luck with your new season!