Skip to content
Snippets Groups Projects
user avatar
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
Name Last commit Last update