Main Menu

Recent posts

#61
Announcements / Re: Last aCis updates
Last post by Tryskell - October 31, 2020, 11:11:16 PM
Changeset 395 (2038)

GeoEngine, StatSet / MemoSet, AggroList, Gatekeeper, Raid Curses, Bugfixes, Organization


GeoEngine - Ty Hasha
   - Added MoveDirectionType enum with pre-calculated constants.
   - Added getValidSwimLocation, which calculates last accessible swimming location. It also handles getting out of water correctly.
   - Dropped geo coordinate validation when converting from world coordinates (getGeoX, getGeoY).
   - Added world coordinate or geo coordinate checks in various can/get methods. GeoEngine now support processing of coords, when outside of world.
   - Fix LoM check giving false positive result, when target is on "balcony".
   - Simplified GeoEngine#getWorldX/Y calculation.
   - Added new admin command "geo_fly" to check LoF.
   - Fixing movement blocked / pathfinding fail /  by dual-layer (e.g. Sirra's pond).
   
StatSet / MemoSet
   - Implementation of MemoSet, a CHMap storing String pairs.
   - StatsSet is renamed StatSet and moved to common.data.
   - NpcMemo and AbstractMemo are deleted.
   - Lazy initialization concept is deleted from PlayerMemo and ServerMemoTable.
   
AggroList
   - Introduce AggroList container, gathering all methods related to aggro.
   - Move few methods here and there for an easier and more logical use (notably, hold AggroInfo instead of Creature and compute back getHating).
   - Rework and cleanup methods, for easier use and/or optimization.
   - AggroList#stopHate/reduceAllHate trigger an AI reaction when a most hated isn't foundable.
   - Implement //info aggro for easier aggro management, include it in the existing panel.
   - Fixes related to that refactor :
      - AggroList#reconsiderTarget doesn't consider anymore actual most hated as a valid choice.
      - The aggro isn't cleared anymore if the most hated becomes out of range (so the second on the list inherits the attack stance).
      - Fix multiple aggro values (all are checked). "Raid related" use their own formula.
      - AggroList#randomizeAttack() don't build anymore aggro like crazy and can now work on non aggressive, 0 getAggroRange().
   
Gatekeeper
   - Delete 35001 > 35341 instant locations / associated HTMs.
   - Fix all Ivory Tower Gatekeepers, using proper systems.
   - Fix few HTMs typos.
   - RaceTrack > MonsterRaceTrack script rename.
   
Raid Curses
   - Correct implementation of Raid Boss curse system. Ty shyr for report.
   - Trigger it exclusively for Playable during a regular hit.
   - Regular RaidBoss now casts AntiStrider skill during a regular hit.

Bugfixes
   - Fix revive animation. Remove the paralyze effect upon revive. Ty StinkyMadness.
   - Fix deadlock over AttackableAI#onEvtAttacked.
   - Fix broken movement Intention (fix few, linked, issues such as boat moving in ground, etc).
   - Secure all spawns position using World borders.
   - Fix doAttackHitByPole logic (ss consumption is fixed, add allowPeaceAttack() check) and optimize it.
   - Fix "Focus Attack" skill target amount.
   - Implement missing Seal of Strife siege banish behavior.
   - Fix rewardNewbieShots for Q273 and alike. Ty shyr for report.
   - Fix skillId 2217 leading to Inventory NPE. Ty shyr for report.
   - Fix Peace Zone messages/checks for attack/cast. Ty StinkyMadness.
   - Add RandomizeHate effect, used by 3 different skills (used notably by Confusion). Ty shyr for report.
   - Delete PenaltyMonster instance and introduce FishingBlocker script using L2OFF.
   - Rework Monastery script to fit with L2OFF.
   - Fix ON_SKILL_SEE being centered on actor and not on acting player.
   - canScheduleAfter is desactivated for AttackableAI. Fix onSpellFinished behavior, mage AI, aggro movement over a Confusion cast, etc.
   - Fix //reload npc, add //reload script. Ty nighty for report.
   - Shift Z upon teleport action.
   - Fix the NPE over CreatureAttack#onHitTimer.
   
Organization
   - Add World#isOutOfWorld method.
   - Remove all -100 / +100 from WorldObject#spawnMe/setXYZInvisible.
   - Add Location#addRandomOffsetBetweenTwoValues method.
   - Optimize Attack process.
   - Baium script heavy cleanup. Introduce Quest#addGrandBossSpawn.
   - Delete unused SummonCast.
   - //info is slightly edited / reorganized. 2 buttons are added, AggroList and knownlist
   - Quest#onSkillSee handle Creature[] targets, not WorldObject[].
   - Quest#showResult is slightly edited (secured html tags, move few null checks).
   - All "data containers" holding a single Queue/Map/List now directly extends it.
#62
Announcements / Re: Forum Announcements
Last post by Tryskell - October 29, 2020, 12:46:08 PM

  • Added one missing retired developer (DiNoR, how could I miss you :()
  • Created subsections for Tavern>Guides, cleaned invalid guides.
#63
Announcements / Re: Last aCis updates
Last post by Tryskell - October 03, 2020, 01:23:13 AM
Changeset 394 (1972)

Scripts, Teleport system, Seven Signs, Organization, Bugfixes


Scripts
   - Introduction of Tutorial / NewbieGuide - Ty howlrang/Marcatu for initial cleanup of L2J script.
   - Fix following quests : 101, 102, 103, 104, 105, 106, 107, 108, 257, 260, 265, 273, 293.
      - Rewards are done using rewardItems instead of giveItems.
      - Fix ss/sps beginners rewards amount.
      - Rewards are now secured by a PlayerMemo var instead of QuestState var, making it exploit-free (case of 257, 260, 265, 273, 293).
   - Q105 now rewards regular ss/sps ng, aswell as potions.
   - Q260 / Q265 reward formulas are fixed using L2OFF.
   
Teleport system
   - Revamp whole teleport system, using lord_rex initial share.
   - goto/tele/etc bypasses are deleted, and replaced by only those 2 versions : instant_teleport and teleport_request. Move the teleport logic to Npc. Children classes can override isTeleportAllowed(Player).
   - Implement TeleportType enum, based on L2OFF AI content.
   - Implement instantTeleports.xml. Those teleports only check Npc#isTeleportAllowed(Player), while regular teleports check siege, item consumption and Npc#isTeleportAllowed(Player).
   - Improve teleports.xml, reparsing the content using L2OFF. The model now holds the Castle, teleports are organized by npcId and by TeleportType. The initial data was double check with RooT's work, allowing to add 10 missing ids and cut 60+ pointless ones.
   - The HTM which shows teleports is now built out of nothing from data. All existing, related HTMs are deleted (scripts and regular teleporters).
   - Add few missing "-pk" HTMs (30162, 30836, 31964).
   - Add (back ?) FREE_TELEPORT config.
   - Rename "teleporter" HTM folder to "gatekeeper" (to match class names).
   - Rename script ToIVortex > DimensionalVortex.
   - Add castle chamberlains teleports aswell - parsed from L2OFF GF, since the content of Vanganth and AdvExt was lacking. They are not yet implemented.
   
Seven Signs - Ty Hasha.
   - Updated all HTMLs to L2OFF GF, formated them, fixed obvious mistakes, typos and names.
   - Added missing HTML with - not enough adena to purchase Records of Seven Signs.
   - Fix xxxx_priest_2c.htm to not containCatacomb/Necropolis teleport location link (Seal of Gnosis owner lost -> no teleport).
   - Fix "Failed to retrieve cabal from bypass command." upon trying to contribute Seal Stones while Seven Signs is in Competition period.
   - Characters with 1st class transfer can now join any side.
   - Delete ALT_GAME_CASTLE_DAWN / ALT_GAME_CASTLE_DUSK configs. Replace it by SEVEN_SIGNS_BYPASS_PREREQUISITES.
   
Organization
   - Add //show html, which toggles on/off the HTML path for GMs (similar to L2OFF). There is no associated config, and is set to false by default.
   - Secure //set class, which now checks dummy ClassIds, and provide more infos upon fail.
   - Introduce QuestState#rewardNewbieShots method for easier management of beginner reward.
   - RadarList#addMarker/removeMarker now accept a Location as parameter.
   - QuestState#addRadar/removeRadar only accept Location as parameter.
   - Hardcode all Locations used in Quests for easier management. Replace some int[][] for Location[].
   - MIMYU SpawnLocations are downgraded to Locations.
   - Delete all unused SkillTypes.
   - Drop all "Alt" and "Game" from either Config .properties or java side. Few Config renames.
   - Cleanup all checks regarding TAKE_CASTLE, STRIDER_SIEGE_ASSAULT, SIEGE_FLAG and SUMMON_FRIEND - moving methods from Player to dedicated handlers.
   - Generate NpcTalkCond enum. Rename and generate on Npc #validateCondition(Player) > Npc#getNpcTalkCond(Player), which now acts as overriden. Cleanup all uses.
   
Bugfixes
   - Fix Benom spawn timer.
   - Fix trade NPE, upon empty lists pushing "Start" button.
   - Fix Broken actions upon invalid trade windows checks.
   - Fix Summon Friend and alike skills. Remove the 50 radius check. Add a SystemMessage and avoid the cast on yourself.
   - Fix Gate Chant, adding SUMMON_PARTY SkillType.
   - Fix Elpy AI. Ty Bruns87.
   - Allow Config.OLY_MIN_MATCHES to be correctly spread over queries when a Config reload occurs.
   - Fix a stackoverflow over siege end. Ty Kitsos for report/fix.
   - Fix StriderSiegeAssault, using skill target instead of getTarget().
   - Fix bow attack reuse over CreatureAttack#stop() call. Ty MonKEY fo report.
   - Delete active siege check on Wyvern Managers + class cleanup.
   - Switch Schuttgart CHs to correct order, fixing CHs doors and spawn.
   - Auto loot Config properly checks inventory size.

PS : Q257 is now race bound to HUMAN. While NOT RETAIL, it looks like a NCSOFT fail :
   - It defeats the C3 layout being than "all races get access to 13k ss / 6k sps".
   - Out of 13 newbie quests, it's the only "race unbound" quest.
   
If you manage to find any retail info about why it has been done that wrong way, I'm willing to revert it.
#64
Crappy servers / Re: L2Free returns April 12, 2...
Last post by henrique - September 20, 2020, 11:13:31 PM
We have reached the end of another MEMORABLE season.
It was just over 5 months of a lot of PvP and fun.


We made a compilation with some of the videos that were not posted (as there were many), for you to remember a little of everything that happened this year.
(other videos have already been published on Facebook, as well as on our Instagram and Youtube)

We thank all of you who participated and made this, "the best server of the year", once again!

As there are many requests for a new season, we leave the following question:
Do you want a 2nd season? Or should we only return next year / 2021? Comment!

#65
Announcements / Re: Forum Announcements
Last post by Tryskell - September 19, 2020, 07:45:36 PM
I know a lot (at least one) of people was waiting for it... (next rev ? free last version ?)

The Hall of Fame is fed with people who did aCis' story.

Regular people : :notbadn:  BRs and Zemaitis : :rage:

PS : if you consider being part of it, please don't hate me and notice me. I relied on Archive section main names.
PS2 : a big amount of people isn't represented, being bug callers or customers. That's 400+ people to name, which I won't do for obvious mental preservation. Even if all of you participate(d) to that big story !
#66
Crappy servers / Re: L2 Order VS Chaos Returns:...
Last post by sahar - August 07, 2020, 01:00:01 PM
L2 OvC is back for another Interlude season at 14/08/2020 !
You can read full updated feature list here: https://l2ovc.com/forums/index.php?/topic/500-en-server-features/
Changes since the last season here: https://l2ovc.com/forums/index.php?/topic/15760-new-interlude-season/

Some images from last season:









See you soon!
#67
Announcements / Re: Last aCis updates
Last post by Tryskell - July 11, 2020, 09:16:10 PM
Changeset 393 (1913)

L2DatabaseFactory, CreatureStatus, tryToX, Weight system, Organization, Bugfixes


L2DatabaseFactory
   - Rename it ConnectionPool. Move it to commons.concurrent, use static instead of Singleton.
   - Use MariaDbPoolDataSource instead of C3P0. Delete related JARs.
   - Indirectly fix "SQLNonTransientConnectionException: (conn=13) unexpected end of stream, read 0 bytes from 4" after inactivity time.
   - Update MariaDb connector to 2.6.1.

CreatureStatus
   - Merge CreatureStatus and CreatureStat. Use of generics, add Javadoc. Use internal variables instead of getter/setter.
   - Delete all getters used as shortcuts from Creature/Player.
   - Rename setCurrentX to setX (right for CP, MP, HP).
   - Move Cp related methods to PlayerStatus.
   - Delete all redundant StatusUpdate calls. Basically, whatever which was calling setX()- X being HP, MP, CP.
   - AddMp and reduceMp are slightly edited to avoid to call setMp if value isn't worthy to be edited. Implement CreatureStatus#addHp based on those.
   - Implement setMaxHp/HpMp/CPHpMp. Those are optmized to call StatusUpdate only once.
   
tryToX
   - Intentions use direct methods to avoid to "guess" parameters type. It also shortcuts writting style by a lot.
   - Delete SkillUseHolder container/use, which was generating a lot of objects.
   - Players previous stance isn't hidden anymore by ACTIVE triggering IDLE. When a Player calls ACTIVE or IDLE, it goes directly to IDLE.
   
Weight system - Ty Hasha
   - Addition of PlayerStatus#isOverbuden (80% volume check), with uses.
   - Fixed pet weight calculation. AltWeightLimit applied to pets too.
   - Fixing AltWeightLimit config being double parameter read as int.
   - Fix potential bug, when removing weight penalty functions from Pet.
   - Fix multiple item extraction to first check available slot and than create items.
   - Update ConditionPlayerWeight to use weight penalty, updated XMLs.
   - Added missing WEIGHT_PENALTY stat, updated XMLs to AdvExt values.
   - Dropped Creature#_isOverloaded, as only Player and Pet may get overloaded. Overload solved by checking speed == 0, as L2OFF.
   - Added missing system message in MoveBackwardsToLocation.
   - Fixed Pet not getting effect of weight penalty.
   
Organization
   - Rename commons.concurrent > commons.pool.
   - Delete unused effect EffectCombatPointHealOverTime and EffectType.COMBAT_POINT_HEAL_OVER_TIME.
   - CreatureAttack#doAttack is correctly overriden in Attackable and Player cases.
   - Rename StatusType to ServerType. Rename related methods / variables.
   - Generate StatusType out of StatusUpdate packet.
   - Move _exp, _sp, _level to PlayableStatus.
   - Delete isChampion() concept. The whole custom is dropped.
   - Rework Formulas#calcCrit and calcMCrit.
   - Some Blow/Pdam cleanup.
   - Delete isBehindTarget() / isInFrontOfTarget(). The concept is wrong, since effected isn't specially actual getTarget().
   - Move isBehind / isInFrontOf / isFacing from Creature to SpawnLocation. Any WorldObject can now call it.
   - Rework targetLost to handle more checks, rename it isTargetLost.
   - Siege#announceToPlayers is renamed Siege#announce and allow SiegeSide as parameters (making it possible to call it independently for ATTACKER and DEFENDER, or both).
   - Delete Player#isInSiege concept, since it's wrongly used (used as a mixed "isSiegeParticipant" and "isInSiegeZone" checks).
   - GMs are now affected by death penalty and by castle foreigner teleport.
   
Bugfixes
   - 3200-3299.xml is partially fixed (reviewed 15+ item skills).
   - Add missing check regarding Baium Angelic Vortex. Ty Kitsos.
   - Fix SiegeGuard NPE during attack. Ty henrique for report.
   - Fix "Need to press ctrl to attack siege guards". Ty henrique for report.
   - Fix SiegeGuards respawn upon end of a Castle siege. Ty henrique for report.
   - Fix Guards can't be debuffed at any case. Ty shyr for report.
   - Add back interact possibility with FriendlyMonster. Ty shyr for report.
   - Fix Gatekeeper CANNOT_PORT_VILLAGE_IN_SIEGE condition. Ty Denzel for report.
   - Add missing Broadcasting Towers spawns. Ty henrique.
   - Introduce INTERACT for Summons. It basically is a MOVE_TO with shift possibility.
   - Fix a ClassCastException over PlayerAI interaction (boards use).
   - Fix a ClassCastException over RequestActionUse (throne use). Ty henrique for fix/report.
   - Summons react to shift command over attack.
   - Summons return back to owner if isTargetLost is triggered (interact, cast, attack).
   - Summons owner follow status is now broken while sent to attack/interact.
   - Add missing SUMMON_GAVE_DAMAGE_S1. Correct override. Ty StinkyMadness.
   - Summons can't be sent to attack dead targets. Ty StinkyMadness.
   - Fix "When you're running and click on npc to speak with it, your char only stops on client, but continues to run on server". Ty SlugeR for report.
   - Fix "Trying to cast skill + moving teleports you on client". Ty SlugeR for report.
   - Fix proper uses of tryToSit/tryToStand. You shouldn't "tryTo" when using a skill, but directly execute it.
   - Fix pick up animation timer. Ty SlugeR.
   - Add retail C5 implementation of Charm of Courage.
   - Fis death on siege properly decreases xp by 1/4.
   - Add proper check messages for siege summons attempts.
   - Fix siege process timer, based on AdvExt.
#68
Announcements / Re: Last aCis updates
Last post by Tryskell - June 16, 2020, 09:09:14 PM
Changeset 392 (1847)

ExServerPrimitive, GeoEngine, Movement, Friend/BlockList, Enchant / Paperdoll


ExServerPrimitive
   - Color is now defined only via Color, rather than int. Extra methods are dropped.
   - Added addSquare, addRectangle methods for easier draw concepts.
   - Updated AdminGeoEngine "can_see" command graphics.

GeoEngine - ty Hasha.
   - Updated canSee, canMove and getValidLocation methods.
      - Now using exact line of sight/movement and checks all cells in the way, rather than using LoS/LoM approximation using Bresenham's line algorithm (see https://en.wikipedia.org/wiki/Bresenham%27s_line_algorithm ).
      - Computation more heavy per each iteration. Performs approx 25% more iterations per path (25% more geodata cells evaluated). Still worth the accuracy.
   - Fix LoM check giving false positive result, when target is on "balcony".
   - Added first iteration of canFloat check, can be used for both, flying and swimming. Though the movement itself should handle all special cases (like water level, when swimming from bottom up).
   - Added new admin command "geo_fly" to check LoF.
   - Misc.
   
Movement
   - Rework moveToPawn / moveToLocation concept, for both Creatures and Players.
   - Introduce ValidatePosition debug (part of //show move) to visually see server<>client desync. Rework ValidatePosition.
   - Fix most of server<>client desync.
   - Fix dead/teleporting/disconnected over target follow.
   
Friend/BlockList systems rework - ty RooT.
   - Add missing packets and make a correct use of it.
   - Delete //silence && //tradeoff admincommands.
   - Move isBlockingAll concept to BlockList. Basic BlockList cleanup.
   - Add missing blocklist check over clan invitation.
   
Enchant / Paperdoll rework - ty RooT.
   - Drop all admin commands from AdminEnchant except "admin_enchant".
   - Drop enchant.htm, use quickbox instead.
   - //enchant doesn't work if the same enchant is already set.
   - Introduce Paperdoll enum. Rework most methods to use it.
   - Big cleanup of Inventory. Move some overriden behaviors back to PcInventory. Add Javadoc. Move ChangeRecorder out and rename it ChangeRecorderListener.
   
Organization
   - Delete unused configs : INVENTORY_MAXIMUM_QUEST_ITEMS / DEBUG_PATH / LOG_LOGIN_CONTROLLER.
   - Delete 2 unused ItemInstance variables.
   - Few unused methods deletion over SendablePacket.
   - Move ItemLocation and ItemState to gameserver.enums.items.
   - XCast/XMove/XAttack now use generics, _creature is renamed _actor and now uses proper instance type which avoid cast.
   
Bugfixes
   - Introduce back NPC castle guards. It will be kept like this until SpawnManager introduction.
   - Fix NPE related to castle guards / mercenaries Castle attribution.
   - Fix ControlTower castle guards spawns cleanup over doDie.
   - Fix NumberOutOfRange exception over hero fight loading. Ty BIGMANF.
   - Fix GMViewWarehouseWithdrawList packet. Ty StinkyMadness.
   - Fix Blacksmith Rooney spawn time. Ty vampir.
#69
Announcements / Re: Last aCis updates
Last post by Tryskell - April 30, 2020, 08:56:10 PM
Changeset 391 (1815)

Rev 390 bugfixes, Cubics part II, MailBBS, Geoengine, Skills, Organization, Bugfixes


Rev 390 bugfixes
   - Fix Guards / FriendlyMonster which don't see chaotic pets/summons. Ty shyr for report.
   - Summons can properly attack FriendlyMonster. Ty shyr for report.
   - Fix Summon follow stackoverflow.
   - Drop GM onAction shift behaviour, which automatically fixes missing ActionFailed issues (= stuck) over multiple shift uses.
   - Fix Non-Playable not being attackable in Peace Zones. Ty shyr for report.
   - Fix SummonItems cast process. Don't consume flute anymore. Ty shyr for report.
   - Item consumption is fixed (checked on canDoCast, done on doCast).
   - Remove USE_S1 message over item skill usage. Only item usage message should be sent.
   - Fix CreatureCast#onMagicHitTimer/onMagicFinalizer NPE. Ty shyr / xTakegawa for report.
   - Fix missing ActionFailed mackets over INTERACT/FOLLOW. Ty shyr for report.
   - Fix attackable states for ControlTower, Door, FlameTower.
   - Proper HP/MP checks over CreatureCast#canDoCast.
   - Fix invalid interact radius. Ty shyr for report.
   
Cubics part II
   - Add a 2s cast task (tested on L2OFF for at least 3/8 cubics, I suppose other do the same). Ty shyr for report.
   - All fireAction() submethods are cleaned up.
   - Implement CubicList, a Player related container.
   
MailBBS
   - Fix error upon sending mail. Ty Marcatu for the fix.
   - Move MailType to enums package.
   - Various optimizations + 2 potential NPE fixes.
   - Subject overview is limited to 30 chars to avoid layout deformation.
   
Geoengine
   - Fix double-layer issue, creature must follow the upper layer.
   
Skills
   - Fix Pig Chest skillId 2309. Ty RooT.
   - Fix 4624 skillId. Ty Vonak.
   - Fix effect power for 4 "chance" enchant routes. Ty xblx.
   - Add missing ItemSkills handler for Rice Cake. Ty shyr for report.
   
Organization
   - Implementation of //info, merging GM onAction shift content (summons, players, doors, npcs, statics objects), //summon_info and //npcinfo. The idea is to keep consistancy between GM and regular user behaviours.
   - Introduce Siege#announceToPlayers(SystemMessageId).
   - Rework Clan notice/introduction handling.
   - Add StringUtil#trim method, allowing elegant one-liner over String truncates handling.
   
Bugfixes
   - Titles are now properly showing 16 chars, not 15.
   - Fix missing Clan buttons over character restart. Ty djwegas.
   - Add sps/bsps consumption upon Cubic/Servitor summon process.
   - SiegeFlag are now immune to Swoop Cannon damages. The task is now backed by a Future for doDie / deleteMe cases.
   - Drop FestivalMonster#isAttackableBy override (no specific mean).
   - Doors can now be damaged by regular skills. Walls are still not attackable by anything except SiegeSummon. Swoop Cannon can't target or inflict damages to doors/walls.
   - Fix orc mystic stat calculation. Ty Hasha.
   - Fix Admin teleport (Pirate Tunnel). Ty shyr for report.
   - Fix 3 HTM typos. Ty An4rchy for report.
   - Fix isMortal() concept ; limit the HP drop to 1 and not 0.
   - Properly set Attackable aggro over Summon doDie.
#70
Announcements / Re: Forum Announcements
Last post by Tryskell - April 26, 2020, 06:54:14 PM
Added tag system over Bugs report section, to make things clear. Ty Sido !  :dw2_14: