|  |  | @ -16,10 +16,10 @@ import engine.math.Vector3f; | 
			
		
	
		
		
			
				
					
					|  |  |  | import engine.math.Vector3fImmutable; |  |  |  | import engine.math.Vector3fImmutable; | 
			
		
	
		
		
			
				
					
					|  |  |  | import engine.objects.*; |  |  |  | import engine.objects.*; | 
			
		
	
		
		
			
				
					
					|  |  |  | import engine.powers.EffectsBase; |  |  |  | import engine.powers.EffectsBase; | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | import engine.wpak.data.ActionEntry; | 
			
		
	
		
		
			
				
					
					|  |  |  | import engine.wpak.data.Effect; |  |  |  | import engine.wpak.data.Effect; | 
			
		
	
		
		
			
				
					
					|  |  |  | import engine.wpak.data.ModifierEntry; |  |  |  | import engine.wpak.data.ModifierEntry; | 
			
		
	
		
		
			
				
					
					|  |  |  | import engine.wpak.data.Power; |  |  |  | import engine.wpak.data.Power; | 
			
		
	
		
		
			
				
					
					|  |  |  | import engine.wpak.data.PowerAction; |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | import engine.wpakpowers.Behaviour; |  |  |  | import engine.wpakpowers.Behaviour; | 
			
		
	
		
		
			
				
					
					|  |  |  | import org.pmw.tinylog.Logger; |  |  |  | import org.pmw.tinylog.Logger; | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
	
		
		
			
				
					|  |  | @ -1339,125 +1339,125 @@ public class mbEnums { | 
			
		
	
		
		
			
				
					
					|  |  |  |         Behavior { |  |  |  |         Behavior { | 
			
		
	
		
		
			
				
					
					|  |  |  |             @Override |  |  |  |             @Override | 
			
		
	
		
		
			
				
					
					|  |  |  |             public void apply(AbstractCharacter caster, AbstractWorldObject target, Power power, |  |  |  |             public void apply(AbstractCharacter caster, AbstractWorldObject target, Power power, | 
			
		
	
		
		
			
				
					
					|  |  |  |                               PowerAction powerAction, Effect effect, ModifierEntry modifierEntry, Integer rank) { |  |  |  |                               ActionEntry powerAction, Effect effect, ModifierEntry modifierEntry, Integer rank) { | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |                 Behaviour.Behaviour(); |  |  |  |                 Behaviour.Behaviour(); | 
			
		
	
		
		
			
				
					
					|  |  |  |             } |  |  |  |             } | 
			
		
	
		
		
			
				
					
					|  |  |  |         }, |  |  |  |         }, | 
			
		
	
		
		
			
				
					
					|  |  |  |         Flag { |  |  |  |         Flag { | 
			
		
	
		
		
			
				
					
					|  |  |  |             @Override |  |  |  |             @Override | 
			
		
	
		
		
			
				
					
					|  |  |  |             public void apply(AbstractCharacter caster, AbstractWorldObject target, Power power, |  |  |  |             public void apply(AbstractCharacter caster, AbstractWorldObject target, Power power, | 
			
		
	
		
		
			
				
					
					|  |  |  |                               PowerAction powerAction, Effect effect, ModifierEntry modifierEntry, Integer rank) { |  |  |  |                               ActionEntry powerAction, Effect effect, ModifierEntry modifierEntry, Integer rank) { | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |                 Behaviour.Flag(); |  |  |  |                 Behaviour.Flag(); | 
			
		
	
		
		
			
				
					
					|  |  |  |             } |  |  |  |             } | 
			
		
	
		
		
			
				
					
					|  |  |  |         }, |  |  |  |         }, | 
			
		
	
		
		
			
				
					
					|  |  |  |         MapIntToInts { |  |  |  |         MapIntToInts { | 
			
		
	
		
		
			
				
					
					|  |  |  |             @Override |  |  |  |             @Override | 
			
		
	
		
		
			
				
					
					|  |  |  |             public void apply(AbstractCharacter caster, AbstractWorldObject target, Power power, |  |  |  |             public void apply(AbstractCharacter caster, AbstractWorldObject target, Power power, | 
			
		
	
		
		
			
				
					
					|  |  |  |                               PowerAction powerAction, Effect effect, ModifierEntry modifierEntry, Integer rank) { |  |  |  |                               ActionEntry powerAction, Effect effect, ModifierEntry modifierEntry, Integer rank) { | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |                 Behaviour.MapIntToInts(); |  |  |  |                 Behaviour.MapIntToInts(); | 
			
		
	
		
		
			
				
					
					|  |  |  |             } |  |  |  |             } | 
			
		
	
		
		
			
				
					
					|  |  |  |         }, |  |  |  |         }, | 
			
		
	
		
		
			
				
					
					|  |  |  |         Standard { |  |  |  |         Standard { | 
			
		
	
		
		
			
				
					
					|  |  |  |             @Override |  |  |  |             @Override | 
			
		
	
		
		
			
				
					
					|  |  |  |             public void apply(AbstractCharacter caster, AbstractWorldObject target, Power power, |  |  |  |             public void apply(AbstractCharacter caster, AbstractWorldObject target, Power power, | 
			
		
	
		
		
			
				
					
					|  |  |  |                               PowerAction powerAction, Effect effect, ModifierEntry modifierEntry, Integer rank) { |  |  |  |                               ActionEntry powerAction, Effect effect, ModifierEntry modifierEntry, Integer rank) { | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |                 Behaviour.Standard(); |  |  |  |                 Behaviour.Standard(); | 
			
		
	
		
		
			
				
					
					|  |  |  |             } |  |  |  |             } | 
			
		
	
		
		
			
				
					
					|  |  |  |         }, |  |  |  |         }, | 
			
		
	
		
		
			
				
					
					|  |  |  |         FPSubTypeAttr { |  |  |  |         FPSubTypeAttr { | 
			
		
	
		
		
			
				
					
					|  |  |  |             @Override |  |  |  |             @Override | 
			
		
	
		
		
			
				
					
					|  |  |  |             public void apply(AbstractCharacter caster, AbstractWorldObject target, Power power, |  |  |  |             public void apply(AbstractCharacter caster, AbstractWorldObject target, Power power, | 
			
		
	
		
		
			
				
					
					|  |  |  |                               PowerAction powerAction, Effect effect, ModifierEntry modifierEntry, Integer rank) { |  |  |  |                               ActionEntry powerAction, Effect effect, ModifierEntry modifierEntry, Integer rank) { | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |                 Behaviour.FPSubTypeAttr(); |  |  |  |                 Behaviour.FPSubTypeAttr(); | 
			
		
	
		
		
			
				
					
					|  |  |  |             } |  |  |  |             } | 
			
		
	
		
		
			
				
					
					|  |  |  |         }, |  |  |  |         }, | 
			
		
	
		
		
			
				
					
					|  |  |  |         SubTypeSourceType { |  |  |  |         SubTypeSourceType { | 
			
		
	
		
		
			
				
					
					|  |  |  |             @Override |  |  |  |             @Override | 
			
		
	
		
		
			
				
					
					|  |  |  |             public void apply(AbstractCharacter caster, AbstractWorldObject target, Power power, |  |  |  |             public void apply(AbstractCharacter caster, AbstractWorldObject target, Power power, | 
			
		
	
		
		
			
				
					
					|  |  |  |                               PowerAction powerAction, Effect effect, ModifierEntry modifierEntry, Integer rank) { |  |  |  |                               ActionEntry powerAction, Effect effect, ModifierEntry modifierEntry, Integer rank) { | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |                 Behaviour.SubTypeSourceType(); |  |  |  |                 Behaviour.SubTypeSourceType(); | 
			
		
	
		
		
			
				
					
					|  |  |  |             } |  |  |  |             } | 
			
		
	
		
		
			
				
					
					|  |  |  |         }, |  |  |  |         }, | 
			
		
	
		
		
			
				
					
					|  |  |  |         SubTypePowerType { |  |  |  |         SubTypePowerType { | 
			
		
	
		
		
			
				
					
					|  |  |  |             @Override |  |  |  |             @Override | 
			
		
	
		
		
			
				
					
					|  |  |  |             public void apply(AbstractCharacter caster, AbstractWorldObject target, Power power, |  |  |  |             public void apply(AbstractCharacter caster, AbstractWorldObject target, Power power, | 
			
		
	
		
		
			
				
					
					|  |  |  |                               PowerAction powerAction, Effect effect, ModifierEntry modifierEntry, Integer rank) { |  |  |  |                               ActionEntry powerAction, Effect effect, ModifierEntry modifierEntry, Integer rank) { | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |                 Behaviour.SubTypePowerType(); |  |  |  |                 Behaviour.SubTypePowerType(); | 
			
		
	
		
		
			
				
					
					|  |  |  |             } |  |  |  |             } | 
			
		
	
		
		
			
				
					
					|  |  |  |         }, |  |  |  |         }, | 
			
		
	
		
		
			
				
					
					|  |  |  |         SubTypeSkill { |  |  |  |         SubTypeSkill { | 
			
		
	
		
		
			
				
					
					|  |  |  |             @Override |  |  |  |             @Override | 
			
		
	
		
		
			
				
					
					|  |  |  |             public void apply(AbstractCharacter caster, AbstractWorldObject target, Power power, |  |  |  |             public void apply(AbstractCharacter caster, AbstractWorldObject target, Power power, | 
			
		
	
		
		
			
				
					
					|  |  |  |                               PowerAction powerAction, Effect effect, ModifierEntry modifierEntry, Integer rank) { |  |  |  |                               ActionEntry powerAction, Effect effect, ModifierEntry modifierEntry, Integer rank) { | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |                 Behaviour.SubTypeSkill(); |  |  |  |                 Behaviour.SubTypeSkill(); | 
			
		
	
		
		
			
				
					
					|  |  |  |             } |  |  |  |             } | 
			
		
	
		
		
			
				
					
					|  |  |  |         }, |  |  |  |         }, | 
			
		
	
		
		
			
				
					
					|  |  |  |         FPSubTypeDmg { |  |  |  |         FPSubTypeDmg { | 
			
		
	
		
		
			
				
					
					|  |  |  |             @Override |  |  |  |             @Override | 
			
		
	
		
		
			
				
					
					|  |  |  |             public void apply(AbstractCharacter caster, AbstractWorldObject target, Power power, |  |  |  |             public void apply(AbstractCharacter caster, AbstractWorldObject target, Power power, | 
			
		
	
		
		
			
				
					
					|  |  |  |                               PowerAction powerAction, Effect effect, ModifierEntry modifierEntry, Integer rank) { |  |  |  |                               ActionEntry powerAction, Effect effect, ModifierEntry modifierEntry, Integer rank) { | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |                 Behaviour.FPSubTypeDmg(); |  |  |  |                 Behaviour.FPSubTypeDmg(); | 
			
		
	
		
		
			
				
					
					|  |  |  |             } |  |  |  |             } | 
			
		
	
		
		
			
				
					
					|  |  |  |         }, |  |  |  |         }, | 
			
		
	
		
		
			
				
					
					|  |  |  |         DD { |  |  |  |         DD { | 
			
		
	
		
		
			
				
					
					|  |  |  |             @Override |  |  |  |             @Override | 
			
		
	
		
		
			
				
					
					|  |  |  |             public void apply(AbstractCharacter caster, AbstractWorldObject target, Power power, |  |  |  |             public void apply(AbstractCharacter caster, AbstractWorldObject target, Power power, | 
			
		
	
		
		
			
				
					
					|  |  |  |                               PowerAction powerAction, Effect effect, ModifierEntry modifierEntry, Integer rank) { |  |  |  |                               ActionEntry powerAction, Effect effect, ModifierEntry modifierEntry, Integer rank) { | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |                 Behaviour.DD(); |  |  |  |                 Behaviour.DD(); | 
			
		
	
		
		
			
				
					
					|  |  |  |             } |  |  |  |             } | 
			
		
	
		
		
			
				
					
					|  |  |  |         }, |  |  |  |         }, | 
			
		
	
		
		
			
				
					
					|  |  |  |         String { |  |  |  |         String { | 
			
		
	
		
		
			
				
					
					|  |  |  |             @Override |  |  |  |             @Override | 
			
		
	
		
		
			
				
					
					|  |  |  |             public void apply(AbstractCharacter caster, AbstractWorldObject target, Power power, |  |  |  |             public void apply(AbstractCharacter caster, AbstractWorldObject target, Power power, | 
			
		
	
		
		
			
				
					
					|  |  |  |                               PowerAction powerAction, Effect effect, ModifierEntry modifierEntry, Integer rank) { |  |  |  |                               ActionEntry powerAction, Effect effect, ModifierEntry modifierEntry, Integer rank) { | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |                 Behaviour.StringBehaviour(); |  |  |  |                 Behaviour.StringBehaviour(); | 
			
		
	
		
		
			
				
					
					|  |  |  |             } |  |  |  |             } | 
			
		
	
		
		
			
				
					
					|  |  |  |         }, |  |  |  |         }, | 
			
		
	
		
		
			
				
					
					|  |  |  |         SubTypeMod { |  |  |  |         SubTypeMod { | 
			
		
	
		
		
			
				
					
					|  |  |  |             @Override |  |  |  |             @Override | 
			
		
	
		
		
			
				
					
					|  |  |  |             public void apply(AbstractCharacter caster, AbstractWorldObject target, Power power, |  |  |  |             public void apply(AbstractCharacter caster, AbstractWorldObject target, Power power, | 
			
		
	
		
		
			
				
					
					|  |  |  |                               PowerAction powerAction, Effect effect, ModifierEntry modifierEntry, Integer rank) { |  |  |  |                               ActionEntry powerAction, Effect effect, ModifierEntry modifierEntry, Integer rank) { | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |                 Behaviour.SubTypeMod(); |  |  |  |                 Behaviour.SubTypeMod(); | 
			
		
	
		
		
			
				
					
					|  |  |  |             } |  |  |  |             } | 
			
		
	
		
		
			
				
					
					|  |  |  |         }, |  |  |  |         }, | 
			
		
	
		
		
			
				
					
					|  |  |  |         SubTypePower { |  |  |  |         SubTypePower { | 
			
		
	
		
		
			
				
					
					|  |  |  |             @Override |  |  |  |             @Override | 
			
		
	
		
		
			
				
					
					|  |  |  |             public void apply(AbstractCharacter caster, AbstractWorldObject target, Power power, |  |  |  |             public void apply(AbstractCharacter caster, AbstractWorldObject target, Power power, | 
			
		
	
		
		
			
				
					
					|  |  |  |                               PowerAction powerAction, Effect effect, ModifierEntry modifierEntry, Integer rank) { |  |  |  |                               ActionEntry powerAction, Effect effect, ModifierEntry modifierEntry, Integer rank) { | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |                 Behaviour.SubTypePower(); |  |  |  |                 Behaviour.SubTypePower(); | 
			
		
	
		
		
			
				
					
					|  |  |  |             } |  |  |  |             } | 
			
		
	
		
		
			
				
					
					|  |  |  |         }, |  |  |  |         }, | 
			
		
	
		
		
			
				
					
					|  |  |  |         SubTypeDmg { |  |  |  |         SubTypeDmg { | 
			
		
	
		
		
			
				
					
					|  |  |  |             @Override |  |  |  |             @Override | 
			
		
	
		
		
			
				
					
					|  |  |  |             public void apply(AbstractCharacter caster, AbstractWorldObject target, Power power, |  |  |  |             public void apply(AbstractCharacter caster, AbstractWorldObject target, Power power, | 
			
		
	
		
		
			
				
					
					|  |  |  |                               PowerAction powerAction, Effect effect, ModifierEntry modifierEntry, Integer rank) { |  |  |  |                               ActionEntry powerAction, Effect effect, ModifierEntry modifierEntry, Integer rank) { | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |                 Behaviour.SubTypeDmg(); |  |  |  |                 Behaviour.SubTypeDmg(); | 
			
		
	
		
		
			
				
					
					|  |  |  |             } |  |  |  |             } | 
			
		
	
		
		
			
				
					
					|  |  |  |         }, |  |  |  |         }, | 
			
		
	
		
		
			
				
					
					|  |  |  |         FPSubTypeSkill { |  |  |  |         FPSubTypeSkill { | 
			
		
	
		
		
			
				
					
					|  |  |  |             @Override |  |  |  |             @Override | 
			
		
	
		
		
			
				
					
					|  |  |  |             public void apply(AbstractCharacter caster, AbstractWorldObject target, Power power, |  |  |  |             public void apply(AbstractCharacter caster, AbstractWorldObject target, Power power, | 
			
		
	
		
		
			
				
					
					|  |  |  |                               PowerAction powerAction, Effect effect, ModifierEntry modifierEntry, Integer rank) { |  |  |  |                               ActionEntry powerAction, Effect effect, ModifierEntry modifierEntry, Integer rank) { | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |                 Behaviour.FPSubTypeSkill(); |  |  |  |                 Behaviour.FPSubTypeSkill(); | 
			
		
	
		
		
			
				
					
					|  |  |  |             } |  |  |  |             } | 
			
		
	
		
		
			
				
					
					|  |  |  |         }, |  |  |  |         }, | 
			
		
	
		
		
			
				
					
					|  |  |  |         FPSubTypeMonster { |  |  |  |         FPSubTypeMonster { | 
			
		
	
		
		
			
				
					
					|  |  |  |             @Override |  |  |  |             @Override | 
			
		
	
		
		
			
				
					
					|  |  |  |             public void apply(AbstractCharacter caster, AbstractWorldObject target, Power power, |  |  |  |             public void apply(AbstractCharacter caster, AbstractWorldObject target, Power power, | 
			
		
	
		
		
			
				
					
					|  |  |  |                               PowerAction powerAction, Effect effect, ModifierEntry modifierEntry, Integer rank) { |  |  |  |                               ActionEntry powerAction, Effect effect, ModifierEntry modifierEntry, Integer rank) { | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |                 Behaviour.FPSubTypeMonster(); |  |  |  |                 Behaviour.FPSubTypeMonster(); | 
			
		
	
		
		
			
				
					
					|  |  |  |             } |  |  |  |             } | 
			
		
	
		
		
			
				
					
					|  |  |  |         }, |  |  |  |         }, | 
			
		
	
		
		
			
				
					
					|  |  |  |         ProcInfo { |  |  |  |         ProcInfo { | 
			
		
	
		
		
			
				
					
					|  |  |  |             @Override |  |  |  |             @Override | 
			
		
	
		
		
			
				
					
					|  |  |  |             public void apply(AbstractCharacter caster, AbstractWorldObject target, Power power, |  |  |  |             public void apply(AbstractCharacter caster, AbstractWorldObject target, Power power, | 
			
		
	
		
		
			
				
					
					|  |  |  |                               PowerAction powerAction, Effect effect, ModifierEntry modifierEntry, Integer rank) { |  |  |  |                               ActionEntry powerAction, Effect effect, ModifierEntry modifierEntry, Integer rank) { | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |                 Behaviour.ProcInfo(); |  |  |  |                 Behaviour.ProcInfo(); | 
			
		
	
		
		
			
				
					
					|  |  |  |             } |  |  |  |             } | 
			
		
	
		
		
			
				
					
					|  |  |  |         }; |  |  |  |         }; | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |         public abstract void apply(AbstractCharacter caster, AbstractWorldObject target, Power power, |  |  |  |         public abstract void apply(AbstractCharacter caster, AbstractWorldObject target, Power power, | 
			
		
	
		
		
			
				
					
					|  |  |  |                                    PowerAction powerAction, Effect effect, ModifierEntry modifierEntry, Integer rank); |  |  |  |                                    ActionEntry powerAction, Effect effect, ModifierEntry modifierEntry, Integer rank); | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |     } |  |  |  |     } | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |     public enum MovementState { |  |  |  |     public enum MovementState { | 
			
		
	
	
		
		
			
				
					|  |  | 
 |