Index: binaries/data/mods/public/simulation/components/Attack.js
===================================================================
--- binaries/data/mods/public/simulation/components/Attack.js
+++ binaries/data/mods/public/simulation/components/Attack.js
@@ -74,6 +74,7 @@
"1600" +
"50.0" +
"2.5" +
+ "1000" +
"" +
"" +
"Cavalry" +
@@ -137,6 +138,7 @@
"" +
"" +
"" +
+ "" +
Attack.prototype.bonusesSchema +
Attack.prototype.preferredClassesSchema +
Attack.prototype.restrictedClassesSchema +
@@ -500,6 +502,11 @@
let cmpProjectileManager = Engine.QueryInterface(SYSTEM_ENTITY, IID_ProjectileManager);
let id = cmpProjectileManager.LaunchProjectileAtPoint(this.entity, realTargetPosition, horizSpeed, gravity);
+ let soundGroupName = "";
+ let cmpSound = Engine.QueryInterface(this.entity, IID_Sound);
+ if (cmpSound)
+ soundGroupName = cmpSound.GetSoundGroup('missile_hit');
+
cmpTimer = Engine.QueryInterface(SYSTEM_ENTITY, IID_Timer);
let data = {
"type": type,
@@ -511,7 +518,8 @@
"projectileId": id,
"bonus": this.GetBonusTemplate(type),
"isSplash": false,
- "attackerOwner": attackerOwner
+ "attackerOwner": attackerOwner,
+ "soundGroupName": soundGroupName
};
if (this.template.Ranged.Splash)
{
@@ -522,7 +530,7 @@
data.splashStrengths = this.GetAttackStrengths(type + ".Splash");
data.splashBonus = this.GetBonusTemplate(type + ".Splash");
}
- cmpTimer.SetTimeout(SYSTEM_ENTITY, IID_Damage, "MissileHit", timeToTarget * 1000, data);
+ cmpTimer.SetTimeout(SYSTEM_ENTITY, IID_Damage, "MissileHit", timeToTarget * 1000 + +this.template.Ranged.Delay, data);
}
else if (type == "Capture")
{
Index: binaries/data/mods/public/simulation/components/Damage.js
===================================================================
--- binaries/data/mods/public/simulation/components/Damage.js
+++ binaries/data/mods/public/simulation/components/Damage.js
@@ -111,6 +111,13 @@
if (!data.position)
return;
+ //TODO: create cpp function to start the explosion animation defined in the unit's actor file
+
+ let cmpSoundManager = Engine.QueryInterface(SYSTEM_ENTITY, IID_SoundManager);
+ if (cmpSoundManager && data.soundGroupName)
+ cmpSoundManager.PlaySoundGroup(data.soundGroupName, data.attacker);
+ //TODO: implement cpp function PlaySoundGroupAtPosition so that data.attacker is not needed
+
// Do this first in case the direct hit kills the target
if (data.isSplash)
{
Index: binaries/data/mods/public/simulation/components/tests/test_Damage.js
===================================================================
--- binaries/data/mods/public/simulation/components/tests/test_Damage.js
+++ binaries/data/mods/public/simulation/components/tests/test_Damage.js
@@ -28,7 +28,7 @@
let attacker = 11;
let atkPlayerEntity = 1;
let attackerOwner = 6;
- let cmpAttack = ConstructComponent(attacker, "Attack", { "Ranged": { "ProjectileSpeed": 500, "Spread": 0.5, "MaxRange": 50, "MinRange": 0 } } );
+ let cmpAttack = ConstructComponent(attacker, "Attack", { "Ranged": { "ProjectileSpeed": 500, "Spread": 0.5, "MaxRange": 50, "MinRange": 0, "Delay": 0 } } );
let damage = 5;
let target = 21;
let targetOwner = 7;
Index: binaries/data/mods/public/simulation/templates/other/plane.xml
===================================================================
--- binaries/data/mods/public/simulation/templates/other/plane.xml
+++ binaries/data/mods/public/simulation/templates/other/plane.xml
@@ -11,6 +11,7 @@
0
10000
1.0
+ 0
Index: binaries/data/mods/public/simulation/templates/structures/rome_army_camp.xml
===================================================================
--- binaries/data/mods/public/simulation/templates/structures/rome_army_camp.xml
+++ binaries/data/mods/public/simulation/templates/structures/rome_army_camp.xml
@@ -21,6 +21,7 @@
1200
2000
1.5
+ 0
Index: binaries/data/mods/public/simulation/templates/template_structure_civic_civil_centre.xml
===================================================================
--- binaries/data/mods/public/simulation/templates/template_structure_civic_civil_centre.xml
+++ binaries/data/mods/public/simulation/templates/template_structure_civic_civil_centre.xml
@@ -24,6 +24,7 @@
1200
2000
1.5
+ 0
Human
Index: binaries/data/mods/public/simulation/templates/template_structure_defense_defense_tower.xml
===================================================================
--- binaries/data/mods/public/simulation/templates/template_structure_defense_defense_tower.xml
+++ binaries/data/mods/public/simulation/templates/template_structure_defense_defense_tower.xml
@@ -12,6 +12,7 @@
1200
2000
1.5
+ 0
Human
Index: binaries/data/mods/public/simulation/templates/template_structure_defense_outpost.xml
===================================================================
--- binaries/data/mods/public/simulation/templates/template_structure_defense_outpost.xml
+++ binaries/data/mods/public/simulation/templates/template_structure_defense_outpost.xml
@@ -21,6 +21,7 @@
1200
2000
1.5
+ 0
Human
Index: binaries/data/mods/public/simulation/templates/template_structure_defense_wall_tower.xml
===================================================================
--- binaries/data/mods/public/simulation/templates/template_structure_defense_wall_tower.xml
+++ binaries/data/mods/public/simulation/templates/template_structure_defense_wall_tower.xml
@@ -11,6 +11,7 @@
1200
2000
1.5
+ 0
Human
Index: binaries/data/mods/public/simulation/templates/template_structure_military_fortress.xml
===================================================================
--- binaries/data/mods/public/simulation/templates/template_structure_military_fortress.xml
+++ binaries/data/mods/public/simulation/templates/template_structure_military_fortress.xml
@@ -16,6 +16,7 @@
1200
2000
1.5
+ 0
Human
Index: binaries/data/mods/public/simulation/templates/template_unit_cavalry_ranged.xml
===================================================================
--- binaries/data/mods/public/simulation/templates/template_unit_cavalry_ranged.xml
+++ binaries/data/mods/public/simulation/templates/template_unit_cavalry_ranged.xml
@@ -11,6 +11,7 @@
1000
1500
3.0
+ 0
Human
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
+++ binaries/data/mods/public/simulation/templates/template_unit_champion_cavalry_archer.xml
@@ -11,6 +11,7 @@
500
1000
1.0
+ 0
Human
Index: binaries/data/mods/public/simulation/templates/template_unit_champion_cavalry_javelinist.xml
===================================================================
--- binaries/data/mods/public/simulation/templates/template_unit_champion_cavalry_javelinist.xml
+++ binaries/data/mods/public/simulation/templates/template_unit_champion_cavalry_javelinist.xml
@@ -11,6 +11,7 @@
750
1250
1.0
+ 0
Human
Index: binaries/data/mods/public/simulation/templates/template_unit_champion_infantry_archer.xml
===================================================================
--- binaries/data/mods/public/simulation/templates/template_unit_champion_infantry_archer.xml
+++ binaries/data/mods/public/simulation/templates/template_unit_champion_infantry_archer.xml
@@ -11,6 +11,7 @@
300
500
1.0
+ 0
Human
Index: binaries/data/mods/public/simulation/templates/template_unit_champion_infantry_javelinist.xml
===================================================================
--- binaries/data/mods/public/simulation/templates/template_unit_champion_infantry_javelinist.xml
+++ binaries/data/mods/public/simulation/templates/template_unit_champion_infantry_javelinist.xml
@@ -11,6 +11,7 @@
500
1000
1.0
+ 0
Human
Index: binaries/data/mods/public/simulation/templates/template_unit_hero_cavalry_archer.xml
===================================================================
--- binaries/data/mods/public/simulation/templates/template_unit_hero_cavalry_archer.xml
+++ binaries/data/mods/public/simulation/templates/template_unit_hero_cavalry_archer.xml
@@ -11,6 +11,7 @@
1200
2000
0.5
+ 0
Human
Index: binaries/data/mods/public/simulation/templates/template_unit_hero_cavalry_javelinist.xml
===================================================================
--- binaries/data/mods/public/simulation/templates/template_unit_hero_cavalry_javelinist.xml
+++ binaries/data/mods/public/simulation/templates/template_unit_hero_cavalry_javelinist.xml
@@ -11,6 +11,7 @@
750
1250
0.5
+ 0
Human
Index: binaries/data/mods/public/simulation/templates/template_unit_hero_infantry_archer.xml
===================================================================
--- binaries/data/mods/public/simulation/templates/template_unit_hero_infantry_archer.xml
+++ binaries/data/mods/public/simulation/templates/template_unit_hero_infantry_archer.xml
@@ -11,6 +11,7 @@
200
300
0.5
+ 0
Human
Index: binaries/data/mods/public/simulation/templates/template_unit_hero_infantry_javelinist.xml
===================================================================
--- binaries/data/mods/public/simulation/templates/template_unit_hero_infantry_javelinist.xml
+++ binaries/data/mods/public/simulation/templates/template_unit_hero_infantry_javelinist.xml
@@ -11,6 +11,7 @@
600
1000
0.5
+ 0
Human
Index: binaries/data/mods/public/simulation/templates/template_unit_infantry_ranged.xml
===================================================================
--- binaries/data/mods/public/simulation/templates/template_unit_infantry_ranged.xml
+++ binaries/data/mods/public/simulation/templates/template_unit_infantry_ranged.xml
@@ -16,6 +16,7 @@
750
1250
3.0
+ 0
Human
Index: binaries/data/mods/public/simulation/templates/template_unit_mechanical_ship_bireme.xml
===================================================================
--- binaries/data/mods/public/simulation/templates/template_unit_mechanical_ship_bireme.xml
+++ binaries/data/mods/public/simulation/templates/template_unit_mechanical_ship_bireme.xml
@@ -11,6 +11,7 @@
1000
2000
2.0
+ 0
Ship Human
Index: binaries/data/mods/public/simulation/templates/template_unit_mechanical_ship_quinquereme.xml
===================================================================
--- binaries/data/mods/public/simulation/templates/template_unit_mechanical_ship_quinquereme.xml
+++ binaries/data/mods/public/simulation/templates/template_unit_mechanical_ship_quinquereme.xml
@@ -11,6 +11,7 @@
2000
5000
4.0
+ 0
Circular
10
Index: binaries/data/mods/public/simulation/templates/template_unit_mechanical_ship_trireme.xml
===================================================================
--- binaries/data/mods/public/simulation/templates/template_unit_mechanical_ship_trireme.xml
+++ binaries/data/mods/public/simulation/templates/template_unit_mechanical_ship_trireme.xml
@@ -11,6 +11,7 @@
1000
2000
2.0
+ 0
Ship Human
Index: binaries/data/mods/public/simulation/templates/template_unit_mechanical_siege_ballista.xml
===================================================================
--- binaries/data/mods/public/simulation/templates/template_unit_mechanical_siege_ballista.xml
+++ binaries/data/mods/public/simulation/templates/template_unit_mechanical_siege_ballista.xml
@@ -11,6 +11,7 @@
150.0
3000
4000
+ 0
Linear
8.0
Index: binaries/data/mods/public/simulation/templates/template_unit_mechanical_siege_onager.xml
===================================================================
--- binaries/data/mods/public/simulation/templates/template_unit_mechanical_siege_onager.xml
+++ binaries/data/mods/public/simulation/templates/template_unit_mechanical_siege_onager.xml
@@ -11,6 +11,7 @@
4000
5000
4.0
+ 2000
Circular
10
@@ -61,6 +62,7 @@
attack/siege/ballist_attack.xml
+ attack/destruction/building_collapse_large.xml
Index: binaries/data/mods/public/simulation/templates/template_unit_mechanical_siege_tower.xml
===================================================================
--- binaries/data/mods/public/simulation/templates/template_unit_mechanical_siege_tower.xml
+++ binaries/data/mods/public/simulation/templates/template_unit_mechanical_siege_tower.xml
@@ -12,6 +12,7 @@
1200
2000
2.0
+ 0
Human
Index: binaries/data/mods/public/simulation/templates/units/theb_mechanical_siege_fireraiser.xml
===================================================================
--- binaries/data/mods/public/simulation/templates/units/theb_mechanical_siege_fireraiser.xml
+++ binaries/data/mods/public/simulation/templates/units/theb_mechanical_siege_fireraiser.xml
@@ -11,6 +11,7 @@
2000
2000
2.0
+ 0