Skip to content
Snippets Groups Projects
  1. 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
    • VlLight's avatar
      BETA: DP-Part for [L6248] · 8b3e95ff
      VlLight authored
      	* Reviewed by: Zoey76, UnAfraid
      8b3e95ff
  2. Oct 25, 2013
  3. Oct 23, 2013
  4. Oct 22, 2013
  5. Oct 21, 2013
  6. Oct 20, 2013
  7. Oct 17, 2013
  8. Oct 09, 2013
  9. Oct 06, 2013
  10. Oct 05, 2013
  11. Oct 04, 2013
  12. Oct 03, 2013
  13. Oct 01, 2013
  14. Sep 29, 2013
  15. Sep 27, 2013
  16. Sep 23, 2013
    • Rumen Nikiforov's avatar
      BETA: DP-Part for [L6219] · a8671ed4
      Rumen Nikiforov authored
      	* Implemented AIs for all signet npc buffers.
      	* Reworked a bit `PartyNotMe` target handler.
      	* Fixed missing despawn time in `SummonNpc` effect handler.
      	* Reported by: pandragon
      a8671ed4
  17. Sep 22, 2013
  18. Sep 21, 2013
  19. Sep 19, 2013
  20. Sep 18, 2013
  21. Sep 17, 2013
  22. Sep 15, 2013
  23. Sep 14, 2013
  24. Sep 13, 2013
    • Adry_85's avatar
      BETA: Added miscellaneous skills: · f10694c7
      Adry_85 authored
      	* '''Mental Shield''' id 22084
      	* '''Focus''' id 22085
      	* '''Concentration''' id 22086
      	* '''Blessing Shield''' id 22087
      	* '''Agility''' id 22088
      	* '''Regeneration''' id 22089
      	* '''Advanced Block''' id 22090
      	* '''Eva's Rune''' id 22091
      	* '''Girl's Gift of Gratitude''' id 22097
      	* '''Boy's Gift of Gratitude''' id 22098
      	* '''Soul Silver Foil''' id 22099
      Patch by: !FinalDestination
      Reviewed by: Adry_85, !UnAfraid, Zoey76
      f10694c7
Loading