Last post by sahar - January 24, 2022, 09:10:56 PM
L2 OvC returns 28/01 !
Added many new unique systems inspired by classic: * Custom stats system - you can now choose where to invest points: STR/DEX/INT etc... * Ability tree system - 3 possible trees: knights/warriors/wizards, spend your points and expand your tree in any way you see fit ! * Elemental Spirits system. * Heroes are now given daily to top players in events. * Added bosses from higher game versions: Fafurion / Lindvior / Freya etc...
Scripts - Fix Q421 tree agressive behavior + add summon animation over tree/ghosts spawn. - Add Daimon the White Eyed AI. - Rework Gordon to handle walking behavior natively (see Walker section).
Spawns - Implement ObserverGroup / broadcasting towers based on L2OFF data. - Quest#createOnePrivate/Ex : add despawnDelay / isSummonSpawn parameters. Delete version with respawnDelay parameter (unused, not properly implemented). It now doesn't block minion creation if master died. - MinionSpawn#doRespawn blocks minion respawn if master died. - Fix Martankus position. Add Khavatari Aren missing spawn. Ty stepbystep for reports. - Delete Laura spawn, add it as Follower.
Walker - Reparse all pathes using L2OFF GF. Add missing 31525, 31705, 32128 pathes. Use NpcStringIds instead of custom hardcoded Strings. - Delete Walker/WalkerAI, implement concept over Npc/NpcAI. Any Npc can become a Walker now. - Greatly improve //show walker content. - Pathes can now be properly reverse-walked, but only if next path is unreachable by both direct and pathfinding. - Implement socialId (Gordon case).
Formulas - Delete calcRaidAffected (custom). Such chances aren't hardcoded, but based on passive skills and resists. - Add some Javadoc, cleanup some methods. - Rework reflect skill damage skills. Ty Shilen for report. - Delete vengeancePdam / vengeanceMdam, introduce counterSkill instead. - counterSkill ALWAYS reflects a % of original damages back to the caster. Melee skills using BLOW, CHARGEDAM and PDAM are affected. The % is nothing more than the power of the effect, written on DP.
ChanceSkill - Delete all unused TriggerTypes and associated content. - Move TriggerType to enum package. - ChanceCondition TriggerType check is now done using an EnumSet instead of crafted int bitmask. - ON_ATTACKED triggers only on DAMAGING skills, not OFFENSIVE (no DoT / debuff). Ty ErHarD for report.
TargetHandler - Fix castable debuff upon Party using CTRL. Ty StinkyMadness for fix. - Fix CORPSE_ALLY which wasn't affecting alliance. Ty StinkyMadness for fix. - Fix beneficial skills being castable from PEACE to PVP only with CTRL. Ty ErHarD for report. - Add missing message for Summon Friend. Ty StinkyMadness for fix. - Doors can't be attacked via skills when sieges are off. Ty Denzel for fix. - Rework Betray/Erase to use ONE TargetHandler. Delete TargetEnemySummon (custom). Ty ErHarD for report. - Fix player<>player cast during duel countdown. Ty shyr for report, StinkyMadness for fix.
Bugfixes - Life Cubics don't waste BSPS/SPS anymore. Fix Life Cubic for Beginner. Ty stepbystep for fix. - Reset Npc regeneration flags upon respawn. Ty vladalien for fix. - Attacks upon Players using //hide are properly stopped if you aren't GM. Work on Summons too. Ty SweeTs for report. - Delete double SA bonus for 2 duals items. Ty YeahThePro for fix. - Fix skillId 2077, 1376, 444. Ty YeahThePro, KabLe for report, LaRoja for fix. - Fix itemId 8663, 8939 to 8944. Ty SweeTs / Asahi for reports. - Add Gorr minions. Ty Toxico for report. - Add Infernal Master SA removal on Blacksmith of Mammon. Ty Denzel for fix. - Craft window properly updates item count after a craft attempt. Ty Ailierynn for report. - Fix few static objects positions using L2OFF. Ty RooT for fix. - Fix FIST custom implementation. Ty Bandnentans for report. - Fix CRITICAL_HIT message upon physical skills. Ty YeahThePro for report. - Use addFortId instead of addString for all messages related to Sieges. Ty ErHarD for report. - Fix toggles order on buff list. Ty YeahThePro for report. - Delete custom teleport message on Dimensional Rift. - Add missing UserInfo over setNoble. Ty StinkyMadness for fix. - Add missing MACRO_NAME_ALREADY_USED check. - Refresh war relations when joining/leaving/being ousted from a clan. Ty Denzel for report. - Add Integer sanity check upon TradeList validation. Ty Denzel for report.
Organization - Add Pagination#generateSearch. Make a use over //help. - Teleport is renamed TeleportLocation. - TeleportData#showTeleportList is moved to Npc#showTeleportWindow. - ObservationMode / ObservationReturn are renamed ObserverStart / ObserverEnd. - Add StatSet#getNpcStringId. - Implement Playable#isInSameActiveDuel, isInSameActiveOlympiadMatch, isInSameParty, isInSameCommandChannel, isInSameClan, isInSameAlly, isInSameActiveSiegeSide, isAtWarWith.
Last post by Tryskell - November 13, 2021, 04:53:51 PM
Changeset 404 (2601)
SiegableHall part II, Formulas, Attack, Spawns, Bugfixes, Organization
SiegableHall - part II (3/6 fully working) - Add missing ClanHallManager attack players save upon server shutdown. Ty Denzel for fix. - Fix RAINBOW_SULFUR usage over RainbowSpringsChateau. Ty Minutis for report, Hasha for fix. - Delete 'clanhall_siege_guards' SQL table and use SpawnManager content instead. - Review following Siegable Halls, which are now OFF-like : - Devasted Castle (introduce AIs for Gustav, Mikhail and Dietrich, fix instances types/canMove/aggro). Fix one ClassCastException upon Q350 call. - Fortress of Resistance (introduce the 2 Nurka spawns depending if CH was previously owned, fix instances types/canMove/aggro). - Fortress of The Dead (introduce Lidia HP regen conditional task, fix instances types/canMove/aggro). - Fix SIEGE_OF_S1_HAS_BEEN_CANCELED_DUE_TO_LACK_OF_INTEREST invalid parameter. - CH bosses aren't lethalable anymore. Ty Sahar for the report. - Addition of //ch siege start|end chId. - Implementation of FlagWar superclass, including BanditStronghold and WildBeastReserve scripts. Not tested.
Formulas - Add retail-like heal formula. Ty YeahThePro for the formula.
Attack - Rework CreatureAttack / Attack packet. All effects are now precomputed. - Fix the scenario that causes next attack to be used without SS (self dying, target dying, getting stunned, getting interrupted,...) - The CP 0 over CW user is now properly handled (if task was interrupted, the CP 0 was still hitting).
Spawns - Minions cleanup is now handled by ASpawn#doDelete. - Introduce MinionSpawn, fixing the ghost appearance upon minion kills and make the global minion handling easier. - Delete isMinion(), concept must be bound to _master, which is dynamic. Add hasMaster() check instead. - Siege guards return to their exact spawn point. - Fix all Castle Siege Guards (proper siege relation for every guard, proper spawn of the artifact room "bosses", edit the instance type of few "Folk").
Bugfixes - Add missing NO_ITEM_DEPOSITED_IN_WH check upon Clan WH. Ty Denzel for report. - Revert some Playable edits made on previous revisions, breaking Summon cast rules/conditions. Ty Denzel for report. - Fix skills cast upon Arenas impacting friendly Summons. Ty Denzel for report. - Fix getRandomPlayer / getPlayersCountInRadius conditions, prior to last revision edition. - Make the client connection to gameserver easier. Ty Devlin/Haddwik/RooT for fix. - Add DIST_TOO_FAR_CASTING_STOPPED message upon onEvtArrivedBlocked. Ty Denzel for report. - Stop all running effects upon subclass change. Ty YeahThePro for the report. - Fix PlainsOfDion script range (checked on L2OFF).
Organization - Add Creature#isLethalable. - Add Quest#createOnePrivateEx (allow to spawn a minion in a exact X/Y/Z). - isMaster() now reacts to dynamic getMinions() script feed. - Add ASpawn#instantTeleportInMyTerritory with offset parameter. - Added //terr test to see random distribution over Territory.
AI - Rename ScriptEventType > EventHandler and enum content to fit with L2OFF naming convention. - Introduction of CLAN_DIED, NO_DESIRE, PARTY_ATTACKED, PARTY_DIED, SEE_ITEM EventHandler. - Proper implementation of ATTACK_FINISHED (rename of ATTACK_ACT), which is now called on either bow or regular attack END (and no over successful regular attack). - Move MY_DYING call to Npc, instead of Attackable. - Rework the aggro system, which is now bound to SEE_CREATURE (rename of ON_CREATURE_SEE) event. Delete ON_AGGRO EventHandler (custom). - Implement master/minions system directly on Npc, and add the mechanisms over AttackableAIScript, allowing overriding. Delete MinionList. Implement retail tasks about "minion despawn upon master death" and "teleport to master if out of territory". - Monsters which random walk don't return to spawn location anymore if they are already isInMyTerritory(). - Introduce Quest#createOnePrivate and Quest#initializePrivate. - Introduce Npc#lookItem/lookNeighbor.
Scripts - Gordon now pickups the Cursed Weapon if dropped on ground and it didn't dissapear yet. - Add OUT_OF_TERRITORY event over ImperialGravekeeper script.
Drop/spoils - Ty Hasha - Remove HerbDropData and herbDrops.xml. Remove "dropHerbGroup" param from NPC templates. - Update NPC templates (XMLs) with re-parsed droplists. Data source is npcdata.txt from AdvExt September 2019. Herbs are now part of droplist. - Merged various Monster#calculateXXXItem methods to one DropCategory#calculateDrop. - Rework //info drop and //info spoil. It now includes config rates, drop categories and use Pagination. DropCategory#getChance and DropData#getChance return chance in % as double, update the usage accordingly.
Manor domains / Seeds - Ty Hasha - Introduce manor domains under manorAreas.xml, using L2OFF defined territories. Replace usage of MapRegionData to ManorAreaData for seed sowing check. Indirectly fix a possible exploit of luring monster to another manor area to sow it. - Cleanup Seeds item handler, reorganize conditions to match L2OFF, added one missing SystemMessageId. - Cleanup Harvesters item handler, use FrequentSkill for harvest skill. - Fix an issue where multiple players could sow a monster. - Refactor SeedState - does not extend ArrayList, the crop is always one item type - added #isHarvested check - fix #isAllowedToHarvest, checks for player itself or seeder's party member (as per L2OFF) - Sow skill handler - Reorganize conditions to match L2OFF. - Add one missing SystemMessageId. Ty Denzel for report. - Remove custom extra sound and party message. - Harvest skill handler - Reorganize conditions to match L2OFF. - Remove useless SystemMessageId and InventoryUpdate usage. - Remove party distribution of crops - only harvester gets them, while party members only get info message (as per L2OFF) - Player#addItem system message logic is extended by "Harvest".
Bugfixes - Fix TargetAreaCorpseMob / TargetCorpseMob : they now work on any Creature registered into DecayTaskManager (which are, Summons and any NPCs - they don't work on Pet for obvious reasons). - Implement Creature#forceDecay. Will work on any instance being registered in DecayTaskManager. Fix servitors force decay. - Fix a NPE over Salvation skill over summons. Implement it for pets. - Add missing SERVITOR_PASSED_AWAY message. - Fix one typo over armorSets. Ty RooT for fix. - Add missing client notification during clan dissolution process. Ty RooT for report. - Fix chest behavior. Ty Hasha. - Revert aggro bonus for Raid related NPCs. - Delete MoveTime FloodProtector, generating desync upon click spam. - Fix SiegeSummon stackoverflow upon unsummoning it over siege zone. Ty Denzel for report.
Organization - Add ItemInstance parameter to ISkillHandler#useSkill. - Introduce DropType enum. - Delete herb specific drop rate configs, merged them under one "RateDropHerbs". - Rename "RateDropAdena" to "RateDropCurrency", since it now also affects Seal Stones. - Introduce StringUtil#trimAndDress.
Initial implementation of L2OFF territory system - ty Hasha - Allow NPCs to randomly spawn over a defined territory, which is considered as "their" territory. - Allow to spawn multiple NPCs, if part of the same event. - Implement "out of territory" concept.
Following spawnlist types are now handled by that new system : - Regular - Raidboss - Seven Signs - Day/Night - Autospawn - Castle guards
Castles / Sieges - Implement PC guards upon start/mid victory. - Mid victory upon NPC siege doesn't end the siege anymore.
Scripts - Add FollowerMovingAroundMaster script. Delete TownPet instance. Register some Folk as MutedFolk. - Queen Ant - Guard Ant now teleport if out of territory. Ty Denzel for report. - Add a Player kickout behavior upon Queen Ant spawn if they are on territory. - Guard Ant randomly frenzy, not Royal Guard Ant. - Fix Zaken teleport behavior. Add missing offset upon teleport. Ty Denzel for report, Hasha for fix.
Bugfixes - Fix Beholder of Light 1 second respawn time. Ty Denzel for report. - Seven Signs monsters seal stones drop now depends about current winner few different spawnlists based on current seal owner). - No more "multiple times" spawns (some areas were previously flooded by monsters). - Monsters attack timeout is now handled by "out of territory" concept (60s timeout during combat mode, refreshed if returning to territory meanwhile). - Fix one typo over main menu. Ty Denzel for fix. - Fix Tutorial Book spam upon Player log out/in. Ty Denzel for report. - Cancel Player associated QuestTimers when such Player logout. - Fix 3075, 3079 and 3192 skills. Ty Denzel for report, Hasha for fix. - Skill oneshots upon Attackable properly trigger faction call behavior. Ty Kitsos for fix.
Organization - Add Npc#isInMyTerritory() concept. - Add ScriptEventType#OUT_OF_TERRITORY concept (used notably by Queen Ant script). - Add ZoneType#getKnownTypeInside(Class<A>, Predicate<A>) for easier usage. - Rename ZoneType#movePlayersTo as ZoneType#instantTeleport. - Add artifacts locations into CastleManager. They aren't controlled by SpawnManager anymore. Add related infos into castle.htm. - Rework ControlTower to use getScriptValue. - Implement IXmlReader#parseLocation(NamedNodeMap) and parseSpawnLocation(NamedNodeMap). - Move few methods from Location to Point2D (addStrictOffset, addRandomOffset, addRandomOffsetBetween). Introduce addPositiveOffset method. Rename addRandomOffsetBetweenTwoValues > addRandomOffsetBetween. - Replace the way new forum id is being generated. Ty StinkyMadness. - Pagination cleanup. Ty StinkyMadness. - All uses of Pagination are visually unified (//bk, //find, //skill and //skill list, //knownlist, //effect). - Replacement of <center> tags inside <td> by <td align=center>