diff --git a/android/assets/jsons/Civ V - Vanilla/Units.json b/android/assets/jsons/Civ V - Vanilla/Units.json index 887818f863..6fae65f8cc 100644 --- a/android/assets/jsons/Civ V - Vanilla/Units.json +++ b/android/assets/jsons/Civ V - Vanilla/Units.json @@ -228,7 +228,7 @@ "upgradesTo": "Knight", "obsoleteTech": "Chivalry", "uniques": ["No defensive terrain bonus"], - "attackSound": "horse" + "attackSound": "elephant" }, { "name": "Spearman", @@ -542,7 +542,7 @@ "obsoleteTech": "Military Science", "upgradesTo": "Cavalry", "uniques": ["Can move after attacking","No defensive terrain bonus","+[50]% Strength vs [Mounted]","-[33]% Strength vs [City]"], - "attackSound": "shot" + "attackSound": "elephant" }, { "name": "Mandekalu Cavalry", @@ -707,7 +707,8 @@ "upgradesTo": "Ironclad", "obsoleteTech": "Combustion", "uniques": ["[+1] Visibility Range", "May withdraw before melee ([80]%)"], - "hurryCostModifier": 30 + "hurryCostModifier": 30, + "attackSound": "cannon" }, { "name": "Turtle Ship", @@ -721,7 +722,8 @@ "upgradesTo": "Ironclad", "obsoleteTech": "Combustion", "uniques": ["Cannot enter ocean tiles"], - "hurryCostModifier": 30 + "hurryCostModifier": 30, + "attackSound": "cannon" }, { "name": "Musketman", @@ -799,7 +801,8 @@ "requiredTech": "Navigation", "upgradesTo": "Destroyer", "promotions": ["Coastal Raider I"], - "uniques": ["May capture killed [Water] units"] + "uniques": ["May capture killed [Water] units"], + "attackSound": "cannon" }, { "name": "Sea Beggar", @@ -825,7 +828,8 @@ "requiredTech": "Navigation", "obsoleteTech": "Electronics", "upgradesTo": "Battleship", - "hurryCostModifier": 20 + "hurryCostModifier": 20, + "attackSound": "cannon" }, { "name": "Ship of the Line", @@ -841,7 +845,8 @@ "requiredTech": "Navigation", "obsoleteTech": "Electronics", "upgradesTo": "Battleship", - "hurryCostModifier": 20 + "hurryCostModifier": 20, + "attackSound": "cannon" }, { "name": "Lancer", @@ -884,7 +889,8 @@ "requiredTech": "Chemistry", "upgradesTo": "Artillery", "obsoleteTech": "Dynamite", - "uniques": ["+[200]% Strength vs [City]","No defensive terrain bonus","Must set up to ranged attack","Limited Visibility"] + "uniques": ["+[200]% Strength vs [City]","No defensive terrain bonus","Must set up to ranged attack","Limited Visibility"], + "attackSound": "cannon" }, // Industrial Era @@ -966,7 +972,8 @@ "requiredResource": "Coal", "upgradesTo": "Destroyer", "obsoleteTech": "Combustion", - "uniques": ["+[33]% Strength vs [City]","Double movement in coast"] + "uniques": ["+[33]% Strength vs [City]","Double movement in coast"], + "attackSound": "shipguns" }, { "name": "Artillery", @@ -979,7 +986,8 @@ "requiredTech": "Dynamite", "upgradesTo": "Rocket Artillery", "uniques": ["+[200]% Strength vs [City]","No defensive terrain bonus", - "Must set up to ranged attack","Limited Visibility","Ranged attacks may be performed over obstacles"] + "Must set up to ranged attack","Limited Visibility","Ranged attacks may be performed over obstacles"], + "attackSound": "artillery" }, // Modern era @@ -993,7 +1001,8 @@ "cost": 325, "requiredTech": "Refrigeration", "upgradesTo": "Nuclear Submarine", - "uniques": ["+[75]% Strength when attacking", "Invisible to others", "Can only attack [Water] units", "Can attack submarines", "Can enter ice tiles"] + "uniques": ["+[75]% Strength when attacking", "Invisible to others", "Can only attack [Water] units", "Can attack submarines", "Can enter ice tiles"], + "attackSound": "torpedo" }, { "name": "Great War Infantry", @@ -1035,7 +1044,7 @@ "obsoleteTech": "Radar", "uniques": ["[50]% chance to intercept air attacks","+[50]% Strength vs [Bomber]", "6 tiles in every direction always visible"], - "attackSound": "shot" + "attackSound": "machinegun" }, { "name": "Great War Bomber", @@ -1049,7 +1058,7 @@ "requiredResource": "Oil", "upgradesTo": "Bomber", "obsoleteTech": "Radar", - "attackSound": "shot" + "attackSound": "bombing" }, { "name": "Infantry", @@ -1081,7 +1090,8 @@ "cost": 375, "requiredResource": "Oil", "requiredTech": "Electronics", - "uniques": ["Ranged attacks may be performed over obstacles"] + "uniques": ["Ranged attacks may be performed over obstacles"], + "attackSound": "shipguns" // Does not actually upgrade to Missile Cruisers }, { @@ -1120,7 +1130,8 @@ "requiredResource": "Oil", "upgradesTo": "Tank", "obsoleteTech": "Combined Arms", - "uniques": ["Can move after attacking","No defensive terrain bonus"] + "uniques": ["Can move after attacking","No defensive terrain bonus"], + "attackSound": "tankshot" }, { "name": "Destroyer", @@ -1131,7 +1142,8 @@ "cost": 375, "requiredTech": "Combustion", "uniques": ["Can attack submarines", "[40]% chance to intercept air attacks", - "May withdraw before melee ([80]%)", "+[100]% Strength vs [WaterSubmarine]"] + "May withdraw before melee ([80]%)", "+[100]% Strength vs [WaterSubmarine]"], + "attackSound": "shipguns" }, // Atomic Era @@ -1143,9 +1155,9 @@ "strength": 65, "cost": 400, "requiredTech": "Pharmaceuticals", - "attackSound": "shot", "promotions": ["Amphibious"], - "uniques": ["[+1] Sight for all [Embarked] units", "Defense bonus when embarked"] + "uniques": ["[+1] Sight for all [Embarked] units", "Defense bonus when embarked"], + "attackSound": "shot" }, { "name": "Fighter", @@ -1161,7 +1173,7 @@ "upgradesTo": "Jet Fighter", "uniques": ["[100]% chance to intercept air attacks", "+[150]% Strength vs [Bomber]", "6 tiles in every direction always visible"], - "attackSound": "shot" + "attackSound": "machinegun" }, { "name": "Zero", @@ -1178,7 +1190,7 @@ "upgradesTo": "Jet Fighter", "uniques": ["[100]% chance to intercept air attacks","+[150]% Strength vs [Bomber]","+[33]% Strength vs [Fighter]", "6 tiles in every direction always visible"], - "attackSound": "shot" + "attackSound": "machinegun" }, { "name": "Bomber", @@ -1191,7 +1203,7 @@ "requiredTech": "Radar", "requiredResource": "Oil", "upgradesTo": "Stealth Bomber", - "attackSound": "shot" + "attackSound": "bombing" }, { "name": "B17", @@ -1207,7 +1219,7 @@ "requiredResource": "Oil", "promotions": ["Evasion", "Siege I"], "upgradesTo": "Stealth Bomber", - "attackSound": "shot" + "attackSound": "bombing" }, { "name": "Paratrooper", @@ -1229,7 +1241,8 @@ "requiredTech": "Combined Arms", "requiredResource": "Oil", "upgradesTo": "Modern Armor", - "uniques": ["Can move after attacking","No defensive terrain bonus"] + "uniques": ["Can move after attacking","No defensive terrain bonus"], + "attackSound": "tankshot" }, { "name": "Panzer", @@ -1241,7 +1254,8 @@ "cost": 375, "requiredTech": "Combined Arms", "requiredResource": "Oil", - "uniques": ["Can move after attacking","No defensive terrain bonus"] + "uniques": ["Can move after attacking","No defensive terrain bonus"], + "attackSound": "tankshot" //German unique unit, stronger than Tank }, { @@ -1252,7 +1266,8 @@ "cost": 300, "requiredTech": "Combined Arms", "upgradesTo": "Helicopter Gunship", - "uniques": ["+[100]% Strength vs [Armor]"] + "uniques": ["+[100]% Strength vs [Armor]"], + "attackSound": "machinegun" }, { "name": "Atomic Bomb", @@ -1282,7 +1297,8 @@ "requiredTech": "Rocketry", "requiredResource": "Aluminum", "uniques": ["+[200]% Strength vs [City]","No defensive terrain bonus", - "Limited Visibility","Ranged attacks may be performed over obstacles"] + "Limited Visibility","Ranged attacks may be performed over obstacles"], + "attackSound": "artillery" }, { "name": "Mobile SAM", @@ -1293,7 +1309,7 @@ "cost": 425, "requiredTech": "Rocketry", "uniques": ["[100]% chance to intercept air attacks","+[150]% Strength vs [air units]"], - "attackSound": "shot" + "attackSound": "missile" }, { "name": "Guided Missile", @@ -1304,7 +1320,8 @@ "range": 8, "cost": 150, "requiredTech": "Advanced Ballistics", - "uniques": ["Self-destructs when attacking"] + "uniques": ["Self-destructs when attacking"], + "attackSound": "missile" }, { "name": "Nuclear Missile", @@ -1331,7 +1348,7 @@ "requiredResource": "Aluminum", "uniques": ["+[100]% Strength vs [Armor]", "No defensive terrain bonus", "Can move after attacking", "All tiles cost 1 movement", "Can pass through impassable tiles", "Unable to capture cities"], - "attackSound": "shot" + "attackSound": "machinegun" }, // Information Era @@ -1345,7 +1362,8 @@ "cost": 425, "requiredTech": "Telecommunications", "uniques": ["+[75]% Strength when attacking", "Invisible to others", "Can only attack [Water] units", - "Can attack submarines", "Can enter ice tiles", "[+1] Visibility Range", "Can carry [2] [Missile] units"] + "Can attack submarines", "Can enter ice tiles", "[+1] Visibility Range", "Can carry [2] [Missile] units"], + "attackSound": "torpedo" }, { "name": "Mechanized Infantry", @@ -1353,7 +1371,8 @@ "movement": 3, "strength": 90, "cost": 375, - "requiredTech": "Mobile Tactics" + "requiredTech": "Mobile Tactics", + "attackSound": "tankshot" }, { "name": "Missile Cruiser", @@ -1367,7 +1386,8 @@ "requiredTech": "Robotics", "uniques": ["[100]% chance to intercept air attacks", "Can attack submarines", "Ranged attacks may be performed over obstacles", "Can carry [3] [Missile] units", - "+[100]% Strength vs [submarine units]"] + "+[100]% Strength vs [submarine units]"], + "attackSound": "shipguns" }, { "name": "Modern Armor", @@ -1378,7 +1398,8 @@ "requiredTech": "Lasers", "requiredResource": "Aluminum", "upgradesTo": "Giant Death Robot", - "uniques": ["Can move after attacking","No defensive terrain bonus"] + "uniques": ["Can move after attacking","No defensive terrain bonus"], + "attackSound": "tankshot" }, { "name": "Jet Fighter", @@ -1394,7 +1415,7 @@ "uniques": ["[100]% chance to intercept air attacks", "+[150]% Strength vs [Bomber]", "6 tiles in every direction always visible"], - "attackSound": "shot" + "attackSound": "jetgun" }, { "name": "Giant Death Robot", @@ -1418,7 +1439,7 @@ "requiredTech": "Stealth", "requiredResource": "Aluminum", "uniques": ["Damage taken from interception reduced by [100]%", "Cannot be carried by [Carrier] units", "6 tiles in every direction always visible"], - "attackSound": "shot" + "attackSound": "bombing" }, /* Great people */ diff --git a/android/assets/sounds/artillery.mp3 b/android/assets/sounds/artillery.mp3 new file mode 100644 index 0000000000..3820fd310d Binary files /dev/null and b/android/assets/sounds/artillery.mp3 differ diff --git a/android/assets/sounds/bombing.mp3 b/android/assets/sounds/bombing.mp3 new file mode 100644 index 0000000000..3a6539cc55 Binary files /dev/null and b/android/assets/sounds/bombing.mp3 differ diff --git a/android/assets/sounds/cannon.mp3 b/android/assets/sounds/cannon.mp3 new file mode 100644 index 0000000000..3900ba444c Binary files /dev/null and b/android/assets/sounds/cannon.mp3 differ diff --git a/android/assets/sounds/elephant.mp3 b/android/assets/sounds/elephant.mp3 new file mode 100644 index 0000000000..f9543f4170 Binary files /dev/null and b/android/assets/sounds/elephant.mp3 differ diff --git a/android/assets/sounds/jetgun.mp3 b/android/assets/sounds/jetgun.mp3 new file mode 100644 index 0000000000..a9d49c4fac Binary files /dev/null and b/android/assets/sounds/jetgun.mp3 differ diff --git a/android/assets/sounds/missile.mp3 b/android/assets/sounds/missile.mp3 new file mode 100644 index 0000000000..cf62d76209 Binary files /dev/null and b/android/assets/sounds/missile.mp3 differ diff --git a/android/assets/sounds/shipguns.mp3 b/android/assets/sounds/shipguns.mp3 new file mode 100644 index 0000000000..4741982f67 Binary files /dev/null and b/android/assets/sounds/shipguns.mp3 differ diff --git a/android/assets/sounds/swap.mp3 b/android/assets/sounds/swap.mp3 new file mode 100644 index 0000000000..25a1853a2f Binary files /dev/null and b/android/assets/sounds/swap.mp3 differ diff --git a/android/assets/sounds/tankshot.mp3 b/android/assets/sounds/tankshot.mp3 new file mode 100644 index 0000000000..66e42c611d Binary files /dev/null and b/android/assets/sounds/tankshot.mp3 differ diff --git a/android/assets/sounds/torpedo.mp3 b/android/assets/sounds/torpedo.mp3 new file mode 100644 index 0000000000..8e1c179ca0 Binary files /dev/null and b/android/assets/sounds/torpedo.mp3 differ diff --git a/core/src/com/unciv/models/UncivSound.kt b/core/src/com/unciv/models/UncivSound.kt index edd8c38da6..30ff348fa1 100644 --- a/core/src/com/unciv/models/UncivSound.kt +++ b/core/src/com/unciv/models/UncivSound.kt @@ -15,6 +15,7 @@ private enum class UncivSoundConstants (val value: String) { Bombard("bombard"), Slider("slider"), Construction("construction"), + Swap("swap"), Silent(""), Custom("") } @@ -54,6 +55,7 @@ class UncivSound private constructor ( val Bombard = UncivSound(UncivSoundConstants.Bombard) val Slider = UncivSound(UncivSoundConstants.Slider) val Construction = UncivSound(UncivSoundConstants.Construction) + val Swap = UncivSound(UncivSoundConstants.Swap) val Silent = UncivSound(UncivSoundConstants.Silent) /** Creates an UncivSound instance for a custom sound. * @param filename The base filename without extension. diff --git a/core/src/com/unciv/ui/worldscreen/WorldMapHolder.kt b/core/src/com/unciv/ui/worldscreen/WorldMapHolder.kt index 8da2541b65..5433e684bb 100644 --- a/core/src/com/unciv/ui/worldscreen/WorldMapHolder.kt +++ b/core/src/com/unciv/ui/worldscreen/WorldMapHolder.kt @@ -240,8 +240,8 @@ class WorldMapHolder(internal val worldScreen: WorldScreen, internal val tileMap if (selectedUnit.action == Constants.unitActionExplore || selectedUnit.isMoving()) selectedUnit.action = null // remove explore on manual swap-move - // Perhaps something like a swish-swoosh would be clearer - Sounds.play(UncivSound.Whoosh) + // Play something like a swish-swoosh + Sounds.play(UncivSound.Swap) if (selectedUnit.currentMovement > 0) worldScreen.bottomUnitTable.selectUnit(selectedUnit) diff --git a/docs/Credits.md b/docs/Credits.md index 2efc650ed0..16d85727f0 100644 --- a/docs/Credits.md +++ b/docs/Credits.md @@ -598,6 +598,7 @@ Sounds are from FreeSound.org and are either Creative Commons or Public Domain * [levelup](https://freesound.org/people/Seidhepriest/sounds/382915/) By Seidhepriest as 'chimes' for special actions (free tech, build city, hurry wonder etc.) * [Coin](https://freesound.org/people/TheDJoe93/sounds/97373/) By TheDJoe93 as 'coin' for purchasing tiles and constructions * [fast simple chop 1](https://freesound.org/people/dave.des/sounds/127196/) By dave.dev as 'whoosh' for moving units around +* [Sudden Teleportation](https://freesound.org/people/michalwa2003/sounds/419375/) by michalwa2003 for units swapping places * [Military kick](https://freesound.org/people/Dodgy%20C/sounds/72070/) By Dodgy C as 'promote' for unit promotions * [Tank reload](https://freesound.org/people/KieranKeegan/sounds/418882/) By KieranKeegan as 'setup' for siege unit setup * [Scribble_short](https://freesound.org/people/waldram/sounds/257518/) By waldram as 'policy' for adopting policies @@ -614,6 +615,22 @@ Sounds are from FreeSound.org and are either Creative Commons or Public Domain * [Explosion-Ultra-Bass](https://soundbible.com/1807-Explosion-Ultra-Bass.html) by Mark DiAngelo as part of 'nuke' sound (CC Attribution 3.0 license) * [Short Choir](https://freesound.org/people/Breviceps/sounds/444491/) by Breviceps as 'choir' for free great person pick * [Death Robot! Robotic scream](https://freesound.org/people/vultraz168/sounds/334660/) by vultraz168 for Giant Death Robot Attack (CC0 1.0 Universal license) +* [ceremonial cannon fire](https://freesound.org/people/DylanSmithSound/sounds/274826/) by DylanSmithSound for cannon +* [artillery fire](https://freesound.org/people/Tomashevsky/sounds/476664/) by Tomashevsky for artillery +* [20mm cannons](https://freesound.org/people/Piotr123/sounds/551534/) by Piotr123 for ship guns +* "bombing" is made by the Unciv team using Audacity from + * [lancaster bomber](https://freesound.org/people/confusion_music/sounds/103439/) by confusion_music - aircraft + * [Artillery Explosion (Close) (Mixed)](https://freesound.org/people/EFlexMusic/sounds/388528/) by EFlexMusic - impact + * [SFX Hit drop/bomb effect 5](https://freesound.org/people/old_waveplay/sounds/187502/) by old_waveplay - bass +* "jetgun" for Jet Fighter attack is made by the Unciv team using Audacity from + * [Fighter Jet Aircraft Fly by (synthesised)](https://freesound.org/people/Headphaze/sounds/347795/) by Headphaze + * [Machine Gun 001 - triple shot](https://freesound.org/people/pgi/sounds/212600/) by pgi +* Excerpt from [Tanks Shooting](https://freesound.org/people/qubodup/sounds/189344/) by qubodup for tankshot +* "torpedo" is made by the Unciv team using Audacity from + * [Torpedo launch underwater](https://freesound.org/people/jobro/sounds/35530/) by jobro + * [Artillery Explosion (Close) (Mixed)](https://freesound.org/people/EFlexMusic/sounds/388528/) by EFlexMusic +* [elephant 44](https://freesound.org/people/y89312/sounds/139875/) by y89312 for Naruesan's Elephant sound +* Excerpt from [Missile Strike](https://freesound.org/people/BaDoink/sounds/570690/) by BaDoink for guided missile # Music The following music is from https://filmmusic.io