Jump to content

Tryskell

Legendary Member
  • Posts

    5,346
  • Credits

  • Joined

  • Last visited

  • Days Won

    52
  • Feedback

    0%

Everything posted by Tryskell

  1. Changeset 390 (1785) Ai system rework - part II, Movement - part II, Geoengine, Debug, Cubic system rework, Admincommands, Skills, RecipeBook, Organization, Bugfixes Ai system rework - part II - ty bowling4soup - Fix following issues introduced in previous revision : - Cast on too far target block other actions. - Fix INTERACT behavior, when already near the target (case of shops, for exemple). - Fix randomly stopping attack action when using poles. - Move updatePvpStatus from doAttack to onHitTimer (in order pvp flag occurs when the hits occurs). - Fix a problem when pushing sell/buy button while being already under animation effect. - Fix SummonItem cast, generating SummonCreature skillhandler - cast of such items can now be properly interrupted. - Add ATTACK intention for nextActionIsAttack() skills, even if skill failed. - Fix an issue over RequestTargetCanceld, rename it to RequestTargetCancel. - Few tasks (effects, hp/mp regen, decay) are now properly disabled over deleteMe(). - Add missing ActionFailed uses over thinkPickUp checks. Ty Djwegas for report. - Rework most of INTERACT behavior (onAction / onActionShift). Attack / Cast - ty bowling4soup - Rework entirely both processes : - Moved all the checks out of doAttack, doCast. Generate canAttemptCast, canDoCast out of it. Implemented hierarchy. - Reorganized getTargetList so that targets are only calculated once during onMagicSkillLaunched. - Generate doToggleCast, doInstantCast, doFusionCasttimeCast to avoid to use regular cast process. - Toggle skills properly stops the Player. Message is sent for both activation/desactivation. - Add missing CHARGEDAM over L2Skill#isDamage() - those skills can now be used as part of CTRL key. - All methods related to isAttackableBy / isAttackableWithoutForceBy are now verified using L2OFF. Movement - part II - Creatures (players excluded) don't use moveToPawn as follow state anymore. Ty shyr for report. - Summons' summon offsets are now secured, and retail-like (8 possible locations). - Fix the desynchronization between multiple direction switch. Ty bowling4soup. Geoengine - ty Hasha Geoengine - Fix GeoEngine#canSee must succeed, if all iterated points pass checks. - Dropped all "getXXXOriginal" methods. - Updated LoS to new logic, dropped redundant methods. Now applicable to all IGeoObjects as targets, not only Doors. - Renamed "canSeeTarget(WorldObject, Location)" to "canSeeLocation" to prevent misplacing, it has different LoS mechanism. - Fix getValidLocation(), which was enforcing geo position, even if tested position was good (item drop position, etc). - Javadoc, cleanup. ABlock - Dropped all "getXXXOriginal" methods. - Updated all methods with IGeoObject - target to be ignored. - Javadoc, comments update. - Dropped all "getXXXAbove/Below" methods, we access these data via "getIndexAbove/Below" and "getHeight(index)" Debug - ty Hasha - Zones now use ExServerPrimitive for visual show. - Add a Player pool of ExServerPrimitive packets for debug usage. Multiple debug can coexist. - ExServerPrimitive are chained when max capacity is reached, to avoid client crash/lag. Cubic system rework - Big cleanup over related files. - Life cubic activation rate is now affected by a %, based on friendly target's percent HP loss. - Life cubics don't heal anymore summons (part of CT1 patch note). - First activation time is now delayed, and not instant anymore. - Summoning an already summoned Cubic now refreshes the timer of already existing Cubic, and don't summon another Cubic. - Summoning a Cubic while being filled up replace the proper Cubic (aka, the first summoned on the queue). Admincommands - Delete following commands : addlevel, edit_character, current_player, char_manage, teleport_character_to_menu, add_exp_sp_to_character, add_exp_sp, remove_exp_sp, setkarma, setrec, settitle, setname, setsex, setcolor, settcolor, setclass, setlevel. - Add //set command, which merge following commands : access, karma, rec, title, name, sex, color, tcolor, class, level, exp, sp. 2 admin panels are dropped, due to //set implementation. - Add //test command, which is a blank command used for any type of developement purpose. - Add //show (clear|move|path) admincommand. You're now able to see movement of any character (player/monster). Skills - Implement AURA_CORPSE_MOB SkillTargetType, used by Festive Sweeper. - Add missing stats on Zealot. Ty babuin.ua. - Add missing ssBoost info on Whirlwind. Ty p0w3rf1y. - Edit power of Wild Cannon. Ty p0w3rf1y. - Shield Slam duration edited from 2min to 1min. Ty xblx. - Drop BEHIND_AREA SkillTargetType (unused). RecipeBook - Add RecipeBook container, handling all recipe processes. - Recipes are now saved/deleted on add/remove, not on Player disconnection. Ty Reynald0 for the idea. Organization - Cleanup "Change Subclass - Action" redundant behaviors. Slight edit on Player#setActiveClass. - Edit all offset related methods from Location/SpawnLocation. Ty Hasha for help. - ItemInstance#dropMe is reworked. - Earthquake packet is reworked. Add missing isNpc parameter, ty RooT. - Put .gitignore rule about log folder. Bugfixes - FloodProtectors class now uses a nano approach, instead of ms. Add MoveTime FP. - Fix Player#disarmWeapon. Ty Djwegas. - Add checks over buy/sell/manufacture processes to avoid packet crafting. - Remove whisper check about equal receiver<>emitter. - Add missing Antharas Earthquake effect, put retail values for Dimensional Rift. - Fix scenario where FREIGHT items are stuck on the ground after dropping them. Ty p0w3rf1y. - Implement missing AcquireSkillDone serverpacket. - More Location#clone() usages. - Shout, trade and all chat aren't blocked by Blocklist anymore. - Fix all int overflow issues. Ty HeeroYuy. - A shop can't be set if pvp flag is currently occuring. - An item buy/sell can't occur if either the shop or the buyer/seller is dead. - Fix few wrong SystemMessage : - Evaluate on null target. - Trade request on null target. - Few retail SystemMessages instead of custom.
  2. It's too late now, SVN/Git was the only legit way to store your progress. Learn about your error, and use it now. Back in 2009, I destroyed potions system and hadn't knowledge to know what to do to revert it, with such a system it wouldn't happen.
  3. That's the regular way to learn why you should use a Git/SVN. You can rename your .jar to .zip and be able to decompile from it, but you won't make a project out of it. I don't even count whatever DP side you edited.
  4. https://www.4shared.com/rar/JHTYMsMI/l2phx-dist.html
  5. Reparse them, and share result. devilking did the parse, few years ago.
  6. In your pack source, each packet is represented by a class. Use L2PHX to see what packet is sent for what purpose.
  7. There is no retail data of Interlude. Clueless people stay clueless.
  8. Dude, if you were reading changesets you would maybe figure out by yourself both movement and queue system are under heavy rework. If you're good enough to commit such thing without any problem, then take the place of the rework author, which is bowling4soup. "You've said on your own site that you don't accept any commits." needs a quote of myself, I give you 10€ if you find it. What you say simply defeat the principle of "Inner Circle" member concept.
  9. Mate, I don't care about your considerations. You even tell you're not a developer, therefore your words are worthless, to say the least. I'm the first IL pack focusing solely on retail gameplay implementation, so half your post is pointless. You seem to follow aCis developement "since years", but I don't see your name on any of the changesets. Did you help reporting things, did you share any contribution ? Nope. And spawnlist is on a developement branch. If you were reading what I say instead of random spreading shit from your mouth, you would eventually know. Some people should stay far from developement, you're maybe one of them. Too many autoproclamed server admins which can't do shit, except whine since they got -1 knowledge, and not enough players. Eventually PM Zemaitis, you can open a whining contest.
  10. Track isStackable() occurences on the dedicated packet (from memory).
  11. Use another project, or start your own. We will see how you will end. I got multiple hundreds of bug reports ready for you on my archive section. Fucking genius.
  12. It indicates you replaced jar while server was still running, or you touched to build folder. Compiled classes couldn't find proper path.
  13. Simply query the db to save it on characters table. You have also to know the title and name colors are enforced based on AccessLevel informations.
  14. Instead of level, you can Math.min(level, 80), limiting to 80. DEX will still effect the value.
  15. FuncAtkAccuracy, based on effector DEX and level.
  16. @MasterToma, if you got an idea, ty in advance.
  17. Changeset 389 (1660) Movement is still experimental. The status IS NOT OK for LIVE servers. MoveToPawn behavior still need to be fixed. Siegable Hall isn't tested, and probably need further development. Those CHs are normally fully working regarding owner administration. AI rework, Organization, Bugfixes AI rework - ty bowling4soup - Drop all redundant parameters (_skill, _target,...). We now use parameters from Intention. - Merge setNextAction and setNextIntention behaviors. - Add all missing queued actions (sit/stand, move/stand, etc). - Stacking attacks don't bug anymore, it is now processed by queue intention. - Skills (toggle skills included) are now queued if a cast is already occuring. - TamedBeast got now its own AI. - Drop following AiEventType : STUNNED, PARALYZED, SLEEPING, ROOTED, CONFUSED, MUTED, AFRAID, FAKE_DEATH and their related AbstractAI#onEvt. Merge all start/stop methods with the few uses upon skills.effects. - Add following AiEventType : FINISHED_ATTACK_BOW, BOW_ATTACK_REUSED, OWNER_ATTACKED. - Add following IntentionType : USE_ITEM, FAKE_DEATH. - AdminEditChar#gatherCharacterInfo is slightly edited. - Add Creature#_hitTask and _bowReuseTask to track current attack, giving the possibility to deny launched attack. - Attack stance activation has been reworked. - Shift use is now taken in consideration for attack, cast, pickup, interact and follow intentions. Organization - Generate CreatureAttack and CreatureCast (doCast got now a int, int version for easier usage) based on Creature content. Organize Creature leftover. - Many comments over skills are cleaned up. - Introduce ElementType enum, which got embedded vuln/res Stats for easier method process. Skills are edited accordingly. Fix few skills elements. - Split enums from NpcTemplate to their own classes (NpcAiType, NpcRace, NpcSkillType). - NpcRace got embedded vuln/res Stats for easier method process. - CreatureStat is cleaned up (javadoc included). - Stat related calculation (STR, DEX, INT,...) is now processed only on PlayerStat, which avoid 300k calcStat calls on server loading (and probably far more on regular exploitation). - Addition of cantBeNegative() on Stats for easier method process. - Merge Formulas#calcPAtkSpd and Creature#calculateTimeBetweenAttacks into Formulas#calculateTimeBetweenAttacks. Introduce a security limit of 100ms. Fix it using AdvExt as reference. - Add clone() override upon Point2D, Location and SpawnLocation - make a use of it. - Generate Creature#fleeFrom, Creature#moveUsingOffset and Npc#moveFromSpawnPointUsingOffset for easier management of such behavior. - Rename Creature#setRunning/setWalking > forceRunStance/forceWalkStance, Creature#setRunning(boolean) > setWalkOrRun(boolean). Proper override is done. - Move Creature#_AIdisabled to Npc#_isCoreAiDisabled. - L2Effect > AbstractEffect. Big cleanup + javadoc. Delete most EffectTemplate redundant variables, use getTemplate() content instead. - Generate EffectHolder, which is used by multiple packets. - Drop "applyCond" parseCondition call over attachEffect (useless/unused). - Generate SkillOpType / SkillTargetType enums. Edit skills.xml accordingly. - Split the 28 targets type in their own ITargetHandler, introduce TargetHandler. Generate gameserver.handler.targethandlers package. - Delete unused L2Skill removedOnAnyActionExceptMove and removedOnDamage boolean tags and associated subsystems. - DocumentItem, DocumentBase and DocumentSkill are moved to gameserver.data package. - L2Skill and AbstractEffect are moved to gameserver.skills package. - ExtractableProductItem and ExtractableSkill are moved to a new package on gameserver.skills.extractable. - Drop Attackable#useMagic, which was only used by QueenAnt script. - Distance related methods organization - Delete MathUtil#calculateDistance/checkIfInShortRadius. Delete Creature#isInsideRadius/getDistanceSq/getPlanDistanceSq. Generate methods on WorldObject, based on stored _position. Wipe all previous methods use, to simply use those. - Rework Point2D / Location distance methods ; they are now called distance2D/distance3D and isIn2DRadius/isIn3DRadius for proper usage. - 3D version of distance checks are now deployed on more places (all skill casts, most of NPC behaviors). 2D is still used for movement and some attack aspect to avoid problems. - Rename 3 packets related to PartyMatch system. Bugfixes - Delete official adena reward out of Q127 (exploitable). - Q367 rewrite using L2OFF. Fix quest exploit. - Fix player freeze (cant move/attack but they can chat). Ty zemaitis. - Fix MotherTree default value process over affectedRace. Ty p0w3rf1y. - Crappy Buffer can now handle exotic level, simply use "level" flag. All flags except skill id are now non-mandatory. Some cleanup + Javadoc. - Fix aggro about positive effects upon Attackable. Ty p0w3rf1y. - Rework HotSpringDisease script, adding missing events. Ty p0w3rf1y for report. - Fix normal and pvp flag timers. Ty p0w3rf1y for report. - Effects with stackorder 99 aren't cleansable anymore (raid Curse, anti Strider slow, 'BOSS' tagged buffs, signets effects, etc). Ty p0w3rf1y for report. - Signet symbols are fitting AdvExt (not cleansable, duration 8sec, few effects differ). - Provide correct visual timer upon debuff. Ty SLugeR. - Fix Cancel behavior (randomly chosen, works on any Creature, doesn't cancel specific effects (charms, noblesse...)) - Ty SlugeR. - Fix invalid encoding over Q021#31524-06a.htm. Ty RooT for report. - Add 5600-5699.xml, holding Apella sets triggered skills. Since they aren't existing client side, client got visual issues. Nothing I can do about it, except using "real" existing ids or edit client (which I won't do). - getDestination() isn't edited anymore on the fly, NPCs shouldn't "visual jump" anymore from one position to another (case of random walk, fear). - SetupGauge is also set for FUSION or SIGNET_CASTTIME cast. - Drop the few IDLE intentions on scripts. - Rework Orfen script : - The check task is set to 10s instead of 60s. - There is no more walking behavior. Fix a NPE in the same time. - Use of NpcStringIds. - Add missing 20% chance paralysis upon onAttack. - Add missing curses check (raid + antistrider slow). - Implement PartyMatch system AutoJoin button. - Fix the available rooms list on PartyMatch system to fit with AdvExt. They shouldn't be filtered. - Reset Pvp flag and unequip Adventurer's weapons upon karma kill. Ty p0w3rf1y. - SiegableHall - misc - Fix CastClassException over getAttackerClans(). - Add missing SiegableHall content over RequestJoinSiege/RequestSiegeAttackerList. Add proper CP_CS_MANAGE_SIEGE usage. Movement is still experimental. The status IS NOT OK for LIVE servers. MoveToPawn behavior still need to be fixed. Siegable Hall isn't tested, and probably need further development. Those CHs are normally fully working regarding owner administration.
  18. aCis changeset 389 (1660) is up ! AI rework, Organization, Bugfixes

  19. Obfuscators are only used for one purpose (maybe 2, since they also optimize), uglyness isn't one of the criterias. Being "aa" or "ubeibaibaa" method rename, an obfuscator... Obfuscates. The thing is, since L2J is open source, and most methods are shared between packs, it's doable to revert back based on existing methods. So if you want to de-obfuscate something, since it's L2J, you actually can do it. It would take you time, but you got an "after" state, and the "before" state is shared worldwide. The only thing you need is then, time. But like anything on earth, does it worth to waste hours of time to de-obfuscate something, rather than simply use another pack... That's what an obfuscator does. Waste your time, or at least prevent you to waste it trying to de-obfuscate.
  20. Obfuscators, in same time they obfuscate, can (if you check a case on) generate the association table used, in order to (notably) handle exceptions. It's annoying to manage, but it's doable.
  21. If it applies an effect, the effect itself can have a rate. So "power" can have 2 read possibilities : Some skillType use it as the regular power rate, as you stated. Some others use it as a "land rate" power. Which means, the whole skill effects or not. Then real "effects" are triggered, each after the other and independantly of each other. The target can resist to one or multiple effects, depending about their own effect type. Finally, many other variables affect the global land rate (MEN/CON of target, resists/vulns, etc). You can use Developer config from server.properties to see what is currently happening.
  22. Generally for a new NPC you simply copy-paste the template you want to clone, associate it a new name, title and id (keep it in the range of Tryskell NPC, that xml is only here for customs), insert idTemplate as visual NPC id you want to clone, and then you put following tags to override client name/title. <set name="usingServerSideName" val="true"/> <set name="usingServerSideTitle" val="true"/> About HTM, you simply need to override getHtmlPath to link to correct HTM folder. Both Tryskell and Andromeda custom NPCs are a good start to see how to implement a custom NPC.
  23. You have to edit client side, questname-e.dat. Got nothing related to server side.
×
×
  • Create New...

AdBlock Extension Detected!

Our website is made possible by displaying online advertisements to our members.

Please disable AdBlock browser extension first, to be able to use our community.

I've Disabled AdBlock