Index: binaries/data/mods/public/simulation/components/Auras.js
===================================================================
--- binaries/data/mods/public/simulation/components/Auras.js	(revision 17853)
+++ binaries/data/mods/public/simulation/components/Auras.js	(working copy)
@@ -37,6 +37,15 @@
 					"</choice>" +
 				"</element>" +
 				modificationSchema +
+				"<optional>" +	
+					"<element name='StateMultiplier' a:help='Multipliers for states'>" +
+						"<oneOrMore>" +
+							"<element a:help='UnitAI state'>" +
+								"<anyName/><data type='decimal'/>" +
+							"</element>" +
+						"</oneOrMore>" +						
+					"</element>" +
+				"</optional>"  +
 				"<optional>" +
 					"<element name='AuraName' a:help='name to display in the GUI'>" +
 						"<text/>" +
@@ -70,7 +79,7 @@
 	this.templateName = cmpTemplateManager.GetCurrentTemplateName(this.entity);
 	this.auras = {};
 	this.affectedPlayers = {};
-	for (var name in this.template)
+	for (let name in this.template)
 	{
 		this.affectedPlayers[name] = []; // will be calculated on ownership change
 		var aura = {};
@@ -77,6 +86,8 @@
 		aura.affects = this.template[name].Affects;
 		if (this.template[name].AffectedPlayers)
 			aura.affectedPlayers = this.template[name].AffectedPlayers.split(/\s+/);
+		if (this.template[name].StateMultiplier)
+			aura.stateMultiplier = this.template[name].StateMultiplier
 		this.auras[name] = aura;
 	}
 };
@@ -160,6 +171,18 @@
 	}
 };
 
+Auras.prototype.GetStateMultiplier = function(name)
+{
+	let cmpUnitAI = Engine.QueryInterface(this.entity, IID_UnitAI);
+	if (!cmpUnitAI || !this.auras[name].stateMultiplier)
+		return 1.0;
+
+	let action = cmpUnitAI.GetCurrentState().split(".").pop();
+	if (this.auras[name].stateMultiplier[action])
+		return this.auras[name].stateMultiplier[action];
+	return 1.0;
+};
+
 Auras.prototype.HasFormationAura = function()
 {
 	return this.GetAuraNames().some(n => this.IsFormationAura(n));
@@ -206,6 +229,16 @@
 	return this.GetType(name) == "global";
 };
 
+Auras.prototype.HasStateMultiplier = function()
+{
+	return this.GetAuraNames().some(n => !this.IsStateMultiplier(n));
+};
+
+Auras.prototype.IsStateMultiplier = function(name)
+{
+	return !this.auras[name].stateMultiplier;
+};
+
 /**
  * clean all bonuses. Remove the old ones and re-apply the new ones
  */
@@ -374,24 +407,34 @@
 
 Auras.prototype.ApplyBonus = function(name, ents)
 {
-	var validEnts = this.GiveMembersWithValidClass(name, ents);
+	let validEnts = this.GiveMembersWithValidClass(name, ents);
 	if (!validEnts.length)
 		return;
 
 	this[name].targetUnits = this[name].targetUnits.concat(validEnts);
-	var modifications = this.GetModifications(name);
-	var cmpAuraManager = Engine.QueryInterface(SYSTEM_ENTITY, IID_AuraManager);
+	let modifications = this.GetModifications(name);
+	let cmpAuraManager = Engine.QueryInterface(SYSTEM_ENTITY, IID_AuraManager);
+	let modNumber = 0;
+	for (let mod in modifications)
+	{
+		let data = {};
+		if (modifications[mod].add)
+			data.add = modifications[mod].add * this.GetStateMultiplier(name);
+		if (modifications[mod].multiply)
+			data.multiply = modifications[mod].multiply * this.GetStateMultiplier(name);
+		if ((!modifications[mod].add || data.add == 0) && (!modifications[mod].multiply || data.multiply == 1))
+			continue;
+		cmpAuraManager.ApplyBonus(modifications[mod].value, validEnts, data, this.GetModifierIdentifier(name, modifications[mod]));
+		++modNumber;
+	}
 
-	for (let mod of modifications)
-		cmpAuraManager.ApplyBonus(mod.value, validEnts, mod, this.GetModifierIdentifier(name, mod));
-
-	// update status bars if this has an icon
-	if (!this.GetOverlayIcon(name))
+	// update status bars if this has an icon and a bonus is applied
+	if (!this.GetOverlayIcon(name) || modNumber == 0)
 		return;
 
 	for (let ent of validEnts)
 	{
-		var cmpStatusBars = Engine.QueryInterface(ent, IID_StatusBars);
+		let cmpStatusBars = Engine.QueryInterface(ent, IID_StatusBars);
 		if (cmpStatusBars)
 			cmpStatusBars.AddAuraSource(this.entity, name);
 	}
Index: binaries/data/mods/public/simulation/components/StatusBars.js
===================================================================
--- binaries/data/mods/public/simulation/components/StatusBars.js	(revision 17853)
+++ binaries/data/mods/public/simulation/components/StatusBars.js	(working copy)
@@ -72,6 +72,8 @@
 
 StatusBars.prototype.RemoveAuraSource = function(source, auraName)
 {
+	if (!this.auraSources[source])
+		return;
 	let names = this.auraSources[source];
 	names.splice(names.indexOf(auraName), 1);
 	this.RegenerateSprites();
Index: binaries/data/mods/public/simulation/helpers/FSM.js
===================================================================
--- binaries/data/mods/public/simulation/helpers/FSM.js	(revision 17853)
+++ binaries/data/mods/public/simulation/helpers/FSM.js	(working copy)
@@ -383,6 +383,10 @@
 
 	obj.fsmStateName = nextStateName;
 	obj.FsmStateNameChanged(obj.fsmStateName);
+
+	let cmpAuras = Engine.QueryInterface(obj.entity, IID_Auras);
+	if (cmpAuras && cmpAuras.HasStateMultiplier())
+		cmpAuras.Clean();
 };
 
 Engine.RegisterGlobal("FSM", FSM);
Index: binaries/data/mods/public/simulation/templates/gaia/fauna_elephant_african_bush.xml
===================================================================
--- binaries/data/mods/public/simulation/templates/gaia/fauna_elephant_african_bush.xml	(revision 17853)
+++ binaries/data/mods/public/simulation/templates/gaia/fauna_elephant_african_bush.xml	(working copy)
@@ -33,6 +33,25 @@
 	  </Bonuses>
     </Charge>
   </Attack>
+  <Auras>
+    <Aura1>
+      <Type>range</Type>
+      <Radius>7</Radius>
+      <Affects>Human</Affects>
+      <AffectedPlayers>Enemy</AffectedPlayers>
+      <Modifications>
+        <Health.RegenRate> <Add>-1</Add> </Health.RegenRate>
+      </Modifications>
+      <StateMultiplier>
+        <IDLE>0</IDLE>
+        <WALKING>2.0</WALKING>
+        <APPROACHING>2.0</APPROACHING>
+      </StateMultiplier>
+      <AuraName>Trample</AuraName>
+      <AuraDescription>Tramples all nearby enemy's</AuraDescription>
+      <OverlayIcon>art/textures/ui/session/auras/attack_bonus.png</OverlayIcon>
+    </Aura1>
+  </Auras>
   <Footprint>
     <Circle radius="3.65"/>
     <Height>3.0</Height>
Index: binaries/data/mods/public/simulation/templates/gaia/fauna_elephant_asian.xml
===================================================================
--- binaries/data/mods/public/simulation/templates/gaia/fauna_elephant_asian.xml	(revision 17853)
+++ binaries/data/mods/public/simulation/templates/gaia/fauna_elephant_asian.xml	(working copy)
@@ -33,6 +33,25 @@
 	  </Bonuses>
     </Charge>
   </Attack>
+  <Auras>
+    <Aura1>
+      <Type>range</Type>
+      <Radius>7</Radius>
+      <Affects>Human</Affects>
+      <AffectedPlayers>Enemy</AffectedPlayers>
+      <Modifications>
+        <Health.RegenRate> <Add>-1.5</Add> </Health.RegenRate>
+      </Modifications>
+      <StateMultiplier>
+        <IDLE>0</IDLE>
+        <WALKING>2.0</WALKING>
+        <APPROACHING>2.0</APPROACHING>
+      </StateMultiplier>
+      <AuraName>Trample</AuraName>
+      <AuraDescription>Tramples all nearby enemy's</AuraDescription>
+      <OverlayIcon>art/textures/ui/session/auras/attack_bonus.png</OverlayIcon>
+    </Aura1>
+  </Auras>
   <Footprint>
     <Circle radius="2.8"/>
     <Height>3.0</Height>
Index: binaries/data/mods/public/simulation/templates/gaia/fauna_elephant_north_african.xml
===================================================================
--- binaries/data/mods/public/simulation/templates/gaia/fauna_elephant_north_african.xml	(revision 17853)
+++ binaries/data/mods/public/simulation/templates/gaia/fauna_elephant_north_african.xml	(working copy)
@@ -20,6 +20,25 @@
 	  </Bonuses>
     </Melee>
   </Attack>
+  <Auras>
+    <Aura1>
+      <Type>range</Type>
+      <Radius>7</Radius>
+      <Affects>Human</Affects>
+      <AffectedPlayers>Enemy</AffectedPlayers>
+      <Modifications>
+        <Health.RegenRate> <Add>-1.5</Add> </Health.RegenRate>
+      </Modifications>
+      <StateMultiplier>
+        <IDLE>0</IDLE>
+        <WALKING>2.0</WALKING>
+        <APPROACHING>2.0</APPROACHING>
+      </StateMultiplier>
+      <AuraName>Trample</AuraName>
+      <AuraDescription>Tramples all nearby enemy's</AuraDescription>
+      <OverlayIcon>art/textures/ui/session/auras/attack_bonus.png</OverlayIcon>
+    </Aura1>
+  </Auras>
   <Footprint>
     <Circle radius="2.6"/>
     <Height>2.7</Height>
Index: binaries/data/mods/public/simulation/templates/template_unit_champion_cavalry_archer.xml
===================================================================
--- binaries/data/mods/public/simulation/templates/template_unit_champion_cavalry_archer.xml	(revision 17853)
+++ binaries/data/mods/public/simulation/templates/template_unit_champion_cavalry_archer.xml	(working copy)
@@ -14,6 +14,25 @@
       <PreferredClasses datatype="tokens">Human</PreferredClasses>
     </Ranged>
   </Attack>
+  <Auras>
+    <Aura1>
+      <Type>range</Type>
+      <Radius>8</Radius>
+      <Affects>Human</Affects>
+      <AffectedPlayers>Enemy</AffectedPlayers>
+      <Modifications>
+        <Health.RegenRate> <Add>-4.5</Add> </Health.RegenRate>
+      </Modifications>
+      <StateMultiplier>
+        <IDLE>0</IDLE>
+        <WALKING>2.0</WALKING>
+        <APPROACHING>2.0</APPROACHING>
+      </StateMultiplier>
+      <AuraName>Trample</AuraName>
+      <AuraDescription>Tramples all nearby enemy's</AuraDescription>
+      <OverlayIcon>art/textures/ui/session/auras/attack_bonus.png</OverlayIcon>
+    </Aura1>
+  </Auras>
   <Cost>
     <Resources>
       <wood>100</wood>
Index: binaries/data/mods/public/simulation/templates/template_unit_champion_elephant.xml
===================================================================
--- binaries/data/mods/public/simulation/templates/template_unit_champion_elephant.xml	(revision 17853)
+++ binaries/data/mods/public/simulation/templates/template_unit_champion_elephant.xml	(working copy)
@@ -5,6 +5,25 @@
     <Pierce>8</Pierce>
     <Crush>25</Crush>
   </Armour>
+  <Auras>
+    <Aura1>
+      <Type>range</Type>
+      <Radius>7</Radius>
+      <Affects>Human</Affects>
+      <AffectedPlayers>Enemy</AffectedPlayers>
+      <Modifications>
+        <Health.RegenRate> <Add>-2</Add> </Health.RegenRate>
+      </Modifications>
+      <StateMultiplier>
+        <IDLE>0</IDLE>
+        <WALKING>2.0</WALKING>
+        <APPROACHING>2.0</APPROACHING>
+      </StateMultiplier>
+      <AuraName>Trample</AuraName>
+      <AuraDescription>Tramples all nearby enemy's</AuraDescription>
+      <OverlayIcon>art/textures/ui/session/auras/attack_bonus.png</OverlayIcon>
+    </Aura1>
+  </Auras>
   <Cost>
     <Population>3</Population>
     <BuildTime>20</BuildTime>
Index: binaries/data/mods/public/simulation/templates/units/maur_elephant_archer_b.xml
===================================================================
--- binaries/data/mods/public/simulation/templates/units/maur_elephant_archer_b.xml	(revision 17853)
+++ binaries/data/mods/public/simulation/templates/units/maur_elephant_archer_b.xml	(working copy)
@@ -1,5 +1,24 @@
 <?xml version="1.0" encoding="utf-8"?>
 <Entity parent="template_unit_cavalry_ranged_archer">
+  <Auras>
+    <Aura1>
+      <Type>range</Type>
+      <Radius>7</Radius>
+      <Affects>Human</Affects>
+      <AffectedPlayers>Enemy</AffectedPlayers>
+      <Modifications>
+        <Health.RegenRate> <Add>-1.5</Add> </Health.RegenRate>
+      </Modifications>
+      <StateMultiplier>
+        <IDLE>0</IDLE>
+        <WALKING>2.0</WALKING>
+        <APPROACHING>2.0</APPROACHING>
+      </StateMultiplier>
+      <AuraName>Trample</AuraName>
+      <AuraDescription>Tramples all nearby enemy's</AuraDescription>
+      <OverlayIcon>art/textures/ui/session/auras/attack_bonus.png</OverlayIcon>
+    </Aura1>
+  </Auras>
   <Footprint replace="">
     <Circle radius="3.5"/>
     <Height>8.0</Height>
