Skip to content
Snippets Groups Projects
  1. Aug 21, 2014
  2. May 10, 2014
  3. May 05, 2014
  4. Apr 17, 2014
  5. Mar 06, 2014
  6. Mar 02, 2014
  7. Mar 01, 2014
  8. Feb 24, 2014
  9. Feb 23, 2014
  10. Nov 15, 2013
    • Zoey76's avatar
      BETA: Datapack part for [L6272] - Abnormal visual effect rework: · f500639f
      Zoey76 authored
      	* Moved abnormal visual effects from effect to skill.
      	* Added missing !JavaDocs.
      	* Removed unused `L2EffectType`.
      	* Removed `L2AbnormalZone`, instead use `L2EffectZone` with a custom skill.
      	* Added all missing abnormal visual effects.
      	* Fixed/removed all custom abnormal visual effects.
      	* Removed hardcoded abnormal visual effects, they must be present in skill or set to the character.
      	* Added fixed all values for abnormal visual effects.
      		* Thanks to: Nos
      	* Fixed abnormal visual effect admin menues.
      		* Added event abnormal visual effect menu, although they are not working yet.
      	* Removed multiple methods to start/stop abnormal visual effects.
      f500639f
  11. Nov 08, 2013
  12. Nov 03, 2013
  13. Oct 27, 2013
    • Zoey76's avatar
      BETA: Skill and effect system complete rework: · cdfeacf8
      Zoey76 authored
      	* Renamed `L2Effect` to `AbstractEffect`.
      	* No more dynamic creation of effects (Huge performance and memory boost!).
      		* Removed all traces or reflection on run time!
      	* Removed `EffectTemplate`, merged with `AbstractEffect`.
      	* Reworked and externalized all the logic from `AbstractEffect` that handled effect ticking.
      	* Reviewed all "over time" skills:
      		* `Flag` effect does not have ticks and doesn't need onActionTime() defined.
      		* '''Fixed DOT (damage over time), MDOT (mana damage over time), HOT (heal over time), MHOT (mana heal over time) skills.'''
      			* Reported by: Tavo22, Snip
      		* `FakeDeath` effect should only last forever (or while conditions are met) if it's a toggle skill.
      		* `Relax` effect should only last forever (or while conditions are met) if it's a toggle skill.
      	* Removed `EffectState` enumerated and the nasty switch associated to it!
      	* Removed "lambda" support from effects, the default attribute `val` is now double.
      		* Removed val="0", now `val`'s default value is zero, no need to declare it explicitely.
      	* '''Removed''' `noicon` '''attribute from effects, icon is not related to effects, but to the skill.''
      	* Renamed `AbnormalEffect` enumerated to `AbnormalVisualEffect`.
      	* Removed `EffectDurationHolder` DTO.
      	* Removed getFirstEffect(int), skills can be stoped by skill ID or `AbnormalType`.
      	* Reworked (again) `CharEffectList`:
      		* Using maps as underlying implementation, '''reduced drastically iterations''' (Hash tables offer 0(1) in most operations).
      			* Using Javolution's `FastMap`, due Java lacks a default implementation that is ordered by insert order, thread-safe and concurrent safe.
      		* Separated all kind of skills into buffs, triggers, dances, debuffs, passive.
      		* Using Double-locked checking, useless instantiation of maps is avoided.
      		* Improved buff counting operations (no more iterations over every effect every time you get a new one to know if you reached maximum count).
      		* Removed getEffects() and all temporary list/map creations.
      		* '''Reworked the way buffs are inserted preventing iterations and correcting exceptions while finding the correct index to insert the buff.'''
      	* Reworked `Formulas`#calcEffectAbnormalTime(Env env)
      	* Fixed `L2CubicInstance`#useCubic<Skill Type>(..), this methods are not static, then they don't need to recieve a `L2CubicInstance` as parameter.
      	* Implemented `BuffInfo`, modeled from retail's implementation with minor changes to fit our implementation.
      		* Complex DTO that holds all the information for a given buff (or debuff or dance/song) set of effects issued by an skill.
      		* Controls the logic of the buffs.
      	* Removed a few of `L2EffectType`.
      	* Improved a bit `L2BabyPetInstance` skill casting related logic, reduced iterations and simplified the code.
      	* Implemented `EffectTaskInfo`, DTO to hold the effect task (Maybe this will change later).
      	* Implemented `EffectTickTask` runnable task to control ticking logic.
      	* Removed "after effect" implementation, totally useless.
      		* Suggested by: UnAfraid
      	* Removed all the `L2Skill`#getEffects(..) methods replaced with L2Skill#applyEffects(..).
      	* Moved "can be stolen" logic to `L2Skill`, it isn't related to the effect, but to the skill.
      	* Added "Refresh" button on admin panel to check buffs easily.
      	* Added admin command "admin_getbuff_ps" to check effects from passive skills.
      	* Improved performance in `DispelBySlot` and `DispelBySlotProbability` effects.
      	* Fixed minor typo in `DispelBySlot` and `DispelBySlotProbability` effects, there are values over `Byte.MAX_VALUE`.
      	* '''Added retail support for Herbs, when a lesser buff is replaced by an herb, it becomes inactive, but it's timer continues, when the Herb buff finishes if the lesser buff has time it becomes active untill completes it's time.'''
      		* Time does not pause, it just continues in the background.
      		* Effects does not stack.
      		* Reported by: Nos
      	* '''Fixed Herbs, they shouldn't display gauge bar (casting bar) upon usage.'''
      		* Reported by: Nos
      	* '''Fixed Herbs not removing lesser effect icon, leading to players belive that buffs stack...'''
      		* Reported by: Tavo22, evets, u3games, pandragon
      	* '''Fixing instant effects being added to the effect list, and removing buffs present on the list.'''
      		* Reported by: Tavo22
      	* '''Fixed "Short Buff" slot (slot for healing potions).'''
      		* Statified reset packet (reduced object creation, a lot!).
      		* Removed task to reset `ShortBuffStatusUpdate`, let's use buff ending task for that.
      		* Moved logic to `CharEffectList` instead of `L2PcInstance` + `ItemSkillsTemplate`.
      		* Reported by: JMD, Gries, Cresceus
      	* Fixed `StealAbnormal` effect logic and `Formulas`#calcCancelStealEffects(..).
      		* Improved buffs doesn't stack anymore with normal (lesser) buffs.
      		* Now all effects are excecuted including instant effects (if they are successfuly applied).
      		* Reported by: Adry_85
      	* `BlockChat` effect shouldn't be instant!
      	* Fixed system messages related to skills (success, fail, removal, ending).
      	* Improved `AdminBuffs`, more information is displayed:
      		* Blocked abnormal skill types (if any)
      		* Total buff count.
      		* Hidden buff count.
      		* Inactive effects (in red)
      		* Skill level next to the name.
      	* '''Rewritten''' `EffectMasterHandler` '''to avoid reflection where it's useless.'''
      	* Since `L2EffectType` is scheduled to be removed:
      		* `AbstractEffect`#getEffectType() is not abstract anymore, now returns L2EffectType.NONE by default.
      	* '''Fixing debuffs working on "white players" with control.'''
      		* Patch by: nBd (minor changes by Zoey76)
      		* Reported by: plasan, jungla56, St3eT, Tavo22, Konstantinos, pandragon
      	* '''Fixed exploit on restore summon feature that allows players to dupe summons.'''
      		* Unhardcoding `canSummon` condition.
      		* Reported by: Janiko
      	* '''Fixed Arcane Shield getting stuck after being stolen.'''
      		* Reported by: valanths1990, nBd, freestyler, Gries
      	* '''Fixed triggered skills that got stacked within the same ID and different level.'''
      		* Reported by: nBd, lucan, blacksea, Gries
      
      Tested by: Nos, Captain, Janiko, Konstantinos, Lucan, UnAfraid, Zoey76
      
      '''Note to developers 1:''' Instant effects shouldn't override onExit(!BuffInfo).
      '''Note to developers 2:''' Is not required to call super.onStart() or super.onExit() to add/remove abnormal visual effects anymore, it's done on an indepent method.
      '''Note to developers 3:''' Do not add "steal constructor", such thing is not required anymore.
      cdfeacf8
  14. Oct 05, 2013
  15. Jul 24, 2013
  16. Jun 22, 2013
  17. Jun 17, 2013
    • Adry_85's avatar
      BETA: Starting support for new aggression system: · 5067d34c
      Adry_85 authored
      	* Removed old and custom skillTypes and added new effects.
      	* Added retail formula for effects '''!TargetCancel''', '''!TargetMeProbability''', '''!SkillTurning''', '''Betray''' and '''Bluff'''.
      		* Patch by: Nos
      	* Added all missing '''effectPoint''' inside skills.
      		* Patch by: !UnAfraid
      	* Fixed bug with !TargetMe effect that does not allow you to change target even if the effect has worn off.
      		* Reported by: blacksea
      Reviewed by: Zoey76
      Thanks to: Nos, !UnAfraid, Zoey76
      5067d34c
  18. Jun 15, 2013
  19. May 28, 2013
  20. May 26, 2013
  21. May 25, 2013
    • Adry_85's avatar
      BETA: Skills rework: · 2252e609
      Adry_85 authored
      	* Removed '''!TransformDispel''' skillType.
      	* Added two new conditions '''!CanTransform''' and '''!CanUnTransform'''.
      	* Fixed bug that you can spam transformation skills when you ride a pet.
      		* Reported by: takhs7
      	* Added some new skills:
      		* '''Blessing of Baguette''' (21042).
      		* '''Berserker Spirit''' (21087).
      		* '''Blessed Child Transformation Skill - Trejuo''' (21195).
      		* '''Blessed Child Transformation Skill - Sujin''' (21196).
      Reviewed by: Zoey76
      2252e609
  22. May 08, 2013
    • Adry_85's avatar
      BETA: Skills rework: · 7781a9a3
      Adry_85 authored
      	* L2PcInstance:
      		* Removed isUsingDualWeapon() not used anymore.
      		* Removed custom check for Strider Siege Assault skill (new condition will be added soon).
      		* Fixed double system message when you use Soul Rage skill.
      	* Stats:
      		* Removed useless stats (LETHAL_RATE, AGGRESSION_VULN, AGGRESSION_PROF, CRIT_PROF, NONE_WPN_VULN, transformId).
      	* !SystemMessageId:
      		* Updated system message when you done damage on target.
      		* Added missing system message for Seven Signs quests (quests will be added soon).
      	* Formulas:
      		* Moved calcLethalHit in proper effect handler.
      		* Cleanup and fixes some methods.
      		* Fixing blow bonus when you hitting from the side of target.
      	* L2Character:
      		* Removed !CpConsume check and fixed skill Over the Body.
      	* L2CubicInstance:
      		* Added !CubicDrain method.
      		* Removed useless comment.
      		* Fixed Magical Critical Rate calculation.
      	* L2Skill:
      		* Removed staticDamage variable, now have own effect like retail.
      		* Removed canBeReflected variable, now have his proper checks.
      		* Cleanup and fixes some methods.
      	* L2SkillType:
      		* Deleted PDAM, MDAM, MANADAM, CPDAMPERCENT, DRAIN, DEATHLINK, FATAL, BLOW, STRSIEGEASSAULT and CHARGEDAM.
      	* L2EffectType:
      		* Added new effects DEATH_LINK, ENERGY_ATTACK, FATAL_BLOW, HP_DRAIN, LETHAL, MAGICAL_ATTACK, MAGICAL_ATTACK_MP, PHYSICAL_ATTACK, PHYSICAL_ATTACK_HP_LINK and STATIC_DAMAGE.
      		* Renamed !IncreaseCharges to !FocusEnergy and made effect retail like.
      		* Added new effect !FocusMaxEnergy.
      	* Effecthandlers
      		* Removed !StatusUpdate from some effect because is already updated by setCurrentHp, setCurrentMp and setCurrentCp methods.
      		
      	'''NOTE''': New skill debugging will be added soon.
      	
      	Reviewed by: MELERIX, Zoey76
      7781a9a3
  23. Apr 27, 2013
    • Zoey76's avatar
      BETA: Effect rework: · c5c99945
      Zoey76 authored
      	* Complete rework of !CharEffectList.
      		* Mimicking "List" operations, remove(..), add(..), isEmpty()...
      		* Thread-safe.
      			* Using reentrant locks for read/write operations.
      		* Removed cache-array, wasn't working.
      		* Removed useless methods.
      		* Removed queue, wrong implementation was leading to wrong updates in effect lists.
      		* Now effects from skills are managed in batches, less calls to methods, avoiding overhead from synchronization and keeping abnormal type groups safe.
      		* Support for blocked buff slots, no more hacks!
      			* Implemented proper effect.
      		* No more dependence on Javolution.
      		* !JavaDocs!
      	* Abnormal type, level and time are global to the skill and not specific to each effect.
      		* Keeping support to customize each effect duration time, needs testing.
      	* Added abnormal type enum, no more strings.
      		* Removed overhead from string comparison.
      	* !EffectTemplate rework:
      		* No more public fields, we use mutators and accessors to work with them!
      		* Func list to List instead of array.
      			* Avoid CPU overhead, System.arraycopy(..).
      		* Removed unused transform parameters.
      		* !JavaDocs!
      	* L2Skill rework:
      		* No more dependence on Javolution.
      		* Func and Effect lists to List instead of array.
      		* Removed some useless effect type related method from skills.
      		* Removed custom restriction for stolen effect with current duration less than 5 seconds.
      		* If NPE appear they have to be properly fixed, no more hacks!
      		* Updated toString() method.
      		* !JavaDocs!
      	* L2Effect rework:
      		* Effects do not store static data from template!
      		* Removed unused transform parameters.
      		* Removed "passive effect" related methods, effect is passive if skill is passive.
      		* Removed "buff"/"debuff" related method from effects, skills are buffs or debuffs not effects.
      		* Updated toString() method.
      		* Removed effectCanBeStolen() method, now canBeStolen() is overridden in effect implementations in Datapack.
      		* !JavaDocs!
      	* L2Item minor rework:
      		* Func and Effect lists to List instead of array.
      			* Avoid CPU overhead, System.arraycopy(..).
      		* No more dependence on Javolution.
      		* Now _questEvents is initialized only if it's used, not for all items!
      	* L2Weapon fixes:
      		* Fixed bug in getSkillEffects(L2Character, L2Character, L2Skill) returning always empty array of effects!
      		* Func and Effect lists to List instead of array.
      			* Avoid CPU overhead, System.arraycopy(..).
      		* No more dependence on Javolution.
      	* Reworked "get func" methods to avoid toArray(..) calls.
      	* Proper use of maps, no more iteration over keys and retrieving the value using get method.
      	* Externalized formula to calculate current effect duration to Formulas class.
      	* Static fields are upper case.
      	* Adding button to reload effects, '''must be follow by skill reload and probably player restart''' to ensure there is no memory-leftovers.
      	* Fixing skill Frintezza's Songs(5008) abnormal types.
      	* Fixing minor bug with High Five GM skills.
      	* Added name to effect list from admin panel, fixed other minor glitches.
      	* Removed old and classing GM menu.
      	* Updated logs and comments.
      
      Reviewed by: Adry_85, MELERIX
      
      Testing video: http://youtu.be/7qadv7QQhy4
      c5c99945
  24. Apr 03, 2013
    • Adry_85's avatar
      BETA: Reworking skills: · 957d961a
      Adry_85 authored
      	- Added effect !FocusSouls
      	- Removed skillhandlers Heal
      	- Removed skillhandlers !HealPercent
      	- Removed skillhandlers !ManahealPercent
      	- Removed skillhandlers Charge
      	- Removed skillhandlers Soul
      	- More improvements and cleanup
      	
      	Reviewed by: MELERIX, !UnAfraid, Zoey76
      957d961a
  25. Mar 28, 2013
  26. Mar 27, 2013
  27. Mar 24, 2013
  28. Mar 21, 2013
  29. Mar 18, 2013
    • Zoey76's avatar
      BETA: Reworking skills (cleanup): · 4139ea04
      Zoey76 authored
      	* No more...
      		* "neutral" skills, all skills are "neutral" by default.
      		* dynamic skill/effect type dependent "offensive" checks.
      		* dynamic skill/effect type dependent "pvp" checks.
      		* null names, default is empty string.
      		* dynamic seven sings skill checks, is cached in boolean until is finally unhardcoded.
      		* CPDAM skill type, not used anywhere.
      		* skills "pvp" and "offensive"  at the same time.
      		* Spoil skill handler!
      		* CpDam skill handler!
      		* _effectSkillType in L2Effect.
      		* effectType in EffectTemplate.
      		* effectType in skill XMLs.
      	* effectPower=-1 lands always!
      	* Fixing Sweeper effect typos!
      		* Reported by: Decad, Torvitas
      
      Reviewed by: Adry_85, MELERIX, UnAfraid
      4139ea04
  30. Mar 04, 2013
  31. Nov 30, 2012
  32. Nov 04, 2012
    • Zoey76's avatar
      BETA: Implementing Summon Agathion effect: · 224fb04f
      Zoey76 authored
      	* Fixed missing abnormal level attribute in skill Item Skill: Poison(3195).
      	* Removed skill type in skill Switch State(6054).
      	* Retail like skill Dismiss Agathion(3267).
      	* Implemented all "Summon Agathion" skills retail like, using effect.
      		* Implemented many missing "High Five Skill".
      	* Implemented Summon Agathion effect.
      	* Implemented Unsummon Agathion effect.
      	* Effects cleanup.
      	* Added many missing licenses.
      224fb04f
  33. Sep 05, 2012
  34. Jun 30, 2012
  35. Jun 16, 2012
  36. Jun 07, 2012
Loading