From a1a2b899497d3be4668787f500477e97c9bd335d Mon Sep 17 00:00:00 2001 From: Yair Morgenstern Date: Tue, 18 Dec 2018 22:32:04 +0200 Subject: [PATCH] Added various attack sounds, for different types of units --- Credits.md | 10 +- android/assets/jsons/Translations.json | 3 + android/assets/jsons/Units.json | 88 ++++++++++++------ android/assets/sounds/arrow.mp3 | Bin 0 -> 2616 bytes android/assets/sounds/horse.mp3 | Bin 0 -> 8304 bytes android/assets/sounds/machinegun.mp3 | Bin 0 -> 7680 bytes android/assets/sounds/metalhit.mp3 | Bin 0 -> 3408 bytes android/assets/sounds/nonmetalhit.mp3 | Bin 0 -> 3168 bytes android/assets/sounds/shot.mp3 | Bin 0 -> 3600 bytes android/assets/sounds/throw.mp3 | Bin 0 -> 3912 bytes .../unciv/models/gamebasics/unit/BaseUnit.kt | 2 +- .../ui/worldscreen/bottombar/BattleTable.kt | 4 +- 12 files changed, 75 insertions(+), 32 deletions(-) create mode 100644 android/assets/sounds/arrow.mp3 create mode 100644 android/assets/sounds/horse.mp3 create mode 100644 android/assets/sounds/machinegun.mp3 create mode 100644 android/assets/sounds/metalhit.mp3 create mode 100644 android/assets/sounds/nonmetalhit.mp3 create mode 100644 android/assets/sounds/shot.mp3 create mode 100644 android/assets/sounds/throw.mp3 diff --git a/Credits.md b/Credits.md index 84edeae7da..93462e628e 100644 --- a/Credits.md +++ b/Credits.md @@ -169,6 +169,7 @@ All the following are from [the Noun Project](https://thenounproject.com) licenc * [The Louvre](https://thenounproject.com/term/the-louvre/1577539/) By roundicons.com * [Forbidden City](https://thenounproject.com/term/forbidden-city/1797540/) By 1516 * [Theatre](https://thenounproject.com/term/theatre/1780401/) By b farias +* [Tower of Pisa](https://thenounproject.com/search/?q=leaning%20tower%20of%20pisa&i=1002578) By Pedro Santos * [Windmill](https://thenounproject.com/term/windmill/1705107/) By corpus delicti * [Taj Mahal](https://thenounproject.com/term/taj-mahal/1907755/) By Felipe Alvarado * [Observatory](https://thenounproject.com/term/observatory/1259/) By Nathan Driskell @@ -405,4 +406,11 @@ Sounds are from FreeSound.org and are either Creative Commons or Public Domain * [fast simple chop 1](https://freesound.org/people/dave.des/sounds/127196/) By dave.dev as 'whoosh' for moving units around * [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 \ No newline at end of file +* [Scribble_short](https://freesound.org/people/waldram/sounds/257518/) By waldram as 'policy' for adopting policies +* [Hit Impact](https://freesound.org/people/Mrguff/sounds/369711/) by Mrguff as 'throw' for catapult & trebuchet attacks +* [Slingshot fly by 2](https://freesound.org/people/saturdaysoundguy/sounds/394186/) by saturdaysoundguy as 'arrow' for arrow attacks +* [Metal hit slide](https://freesound.org/people/orginaljun/sounds/149102/) by orginaljun as 'nonmetalhit' for pre-metal melee sounds +* [klick_anlauf](https://freesound.org/people/jascha/sounds/16576/) By jascha as 'metalhit' for metal melee sounds +* [Horse Neigh 2](https://freesound.org/people/GoodListener/sounds/322450/) By GoodListener as 'horse' for cavalry attack sounds +* [machine gun 001 - loop](https://freesound.org/people/pgi/sounds/212602/) By pgi as 'machinegun' for machine gun attack sound +* [uzzi_full_single](https://freesound.org/people/Deganoth/sounds/348685/) By Deganoth as 'shot' for bullet attacks \ No newline at end of file diff --git a/android/assets/jsons/Translations.json b/android/assets/jsons/Translations.json index 9a4a19a76b..04fa02839a 100644 --- a/android/assets/jsons/Translations.json +++ b/android/assets/jsons/Translations.json @@ -4407,6 +4407,9 @@ Portuguese:"Teatro" } + "Leaning Tower of Pisa":{} + "Free Great Person":{} + "Taj Mahal":{ Italian:"Taj Mahal" Russian:"Тадж-Махал" diff --git a/android/assets/jsons/Units.json b/android/assets/jsons/Units.json index 909d5f5ce8..ffccbc606b 100644 --- a/android/assets/jsons/Units.json +++ b/android/assets/jsons/Units.json @@ -25,7 +25,8 @@ movement:2, strength:5, cost:25, - uniques:["Ignores terrain cost"] + uniques:["Ignores terrain cost"], + attackSound:"nonmetalhit" }, { name:"Warrior", @@ -35,7 +36,8 @@ cost: 40, hurryCostModifier:20, obsoleteTech:"Metal Casting", - upgradesTo:"Swordsman" + upgradesTo:"Swordsman", + attackSound:"nonmetalhit" }, { name:"Archer", @@ -47,7 +49,8 @@ hurryCostModifier:20, requiredTech:"Archery", obsoleteTech:"Machinery", - upgradesTo:"Crossbowman" + upgradesTo:"Crossbowman", + attackSound:"arrow" }, { name:"Bowman", @@ -61,7 +64,8 @@ obsoleteTech:"Machinery", replaces:"Archer", uniqueTo:"Babylon", - upgradesTo:"Crossbowman" + upgradesTo:"Crossbowman", + attackSound:"arrow" }, { name:"Work Boats", @@ -82,7 +86,8 @@ uniques:["Cannot enter ocean tiles"] upgradesTo:"Caravel", obsoleteTech:"Astronomy", - hurryCostModifier:20 + hurryCostModifier:20, + attackSound:"nonmetalhit" }, { name:"Chariot Archer", @@ -96,7 +101,8 @@ upgradesTo:"Knight", obsoleteTech:"Chivalry", uniques:["No defensive terrain bonus","Rough terrain penalty"], - hurryCostModifier:20 + hurryCostModifier:20, + attackSound:"arrow" }, { name:"Spearman", @@ -108,7 +114,8 @@ obsoleteTech:"Civil Service", upgradesTo: "Pikeman", uniques:["Bonus vs Mounted 50%"], - hurryCostModifier:20 + hurryCostModifier:20, + attackSound:"metalhit" }, { name:"Hoplite", @@ -122,7 +129,8 @@ obsoleteTech:"Civil Service", upgradesTo: "Pikeman", uniques:["Bonus vs Mounted 50%"], - hurryCostModifier:20 + hurryCostModifier:20, + attackSound:"metalhit" }, @@ -138,7 +146,8 @@ obsoleteTech:"Physics", upgradesTo: "Trebuchet", uniques:["Bonus vs City 200%","No defensive terrain bonus","Must set up to ranged attack"], - hurryCostModifier:20 + hurryCostModifier:20, + attackSound:"throw" }, { name:"Ballista", @@ -153,7 +162,8 @@ obsoleteTech:"Physics", upgradesTo: "Trebuchet", uniques:["Bonus vs City 200%","No defensive terrain bonus","Must set up to ranged attack"], - hurryCostModifier:20 + hurryCostModifier:20, + attackSound:"throw" }, { name:"Swordsman", @@ -165,7 +175,8 @@ upgradesTo:"Longswordsman", obsoleteTech:"Steel", requiredResource:"Iron", - hurryCostModifier:20 + hurryCostModifier:20, + attackSound:"metalhit" }, { name:"Horseman", @@ -178,7 +189,8 @@ upgradesTo:"Knight", obsoleteTech:"Metallurgy", uniques:["Can move after attacking","No defensive terrain bonus","Penalty vs City 33%" ], - hurryCostModifier:20 + hurryCostModifier:20, + attackSound:"horse" }, { name:"Companion Cavalry", @@ -193,7 +205,8 @@ obsoleteTech:"Metallurgy", requiredResource:"Horses", uniques:["Can move after attacking","No defensive terrain bonus","Penalty vs City 33%" ], - hurryCostModifier:20 + hurryCostModifier:20, + attackSound:"horse" }, // Medieval Era @@ -207,7 +220,8 @@ requiredTech:"Machinery", upgradesTo:"Gatling Gun", obsoleteTech:"Industrialization", - hurryCostModifier:20 + hurryCostModifier:20, + attackSound:"arrow" }, { name:"Longbowman", @@ -222,7 +236,8 @@ requiredTech:"Machinery", upgradesTo:"Gatling Gun", obsoleteTech:"Industrialization", - hurryCostModifier:20 + hurryCostModifier:20, + attackSound:"arrow" }, { name:"Trebuchet", @@ -235,7 +250,8 @@ obsoleteTech:"Chemistry", upgradesTo:"Cannon", uniques:["Bonus vs City 200%","No defensive terrain bonus","Must set up to ranged attack","Limited Visibility"], - hurryCostModifier:20 + hurryCostModifier:20, + attackSound:"throw" }, { name:"Longswordsman", @@ -247,7 +263,8 @@ upgradesTo:"Musketman", obsoleteTech:"Gunpowder", requiredResource:"Iron", - hurryCostModifier:20 + hurryCostModifier:20, + attackSound:"metalhit" }, { name:"Pikeman", @@ -259,7 +276,8 @@ uniques:["Bonus vs Mounted 50%"], upgradesTo:"Musketman", obsoleteTech:"Gunpowder", - hurryCostModifier:20 + hurryCostModifier:20, + attackSound:"metalhit" }, { name:"Galleass", @@ -272,7 +290,8 @@ obsoleteTech:"Navigation", upgradesTo:"Frigate", uniques:["Cannot enter ocean tiles"] - hurryCostModifier:20 + hurryCostModifier:20, + attackSound:"arrow" }, { name:"Knight", @@ -285,7 +304,8 @@ upgradesTo:"Cavalry", requiredResource:"Horses", uniques:["Can move after attacking","No defensive terrain bonus","Penalty vs City 33%" ], - hurryCostModifier:20 + hurryCostModifier:20, + attackSound:"horse" }, { name:"Camel Archer", @@ -301,7 +321,8 @@ upgradesTo:"Cavalry", obsoleteTech:"Military science", uniques:["Can move after attacking","No defensive terrain bonus"], - hurryCostModifier:20 + hurryCostModifier:20, + attackSound:"arrow" }, // Rennaisance Era @@ -341,7 +362,8 @@ requiredTech:"Gunpowder", upgradesTo:"Rifleman" obsoleteTech:"Rifling", - hurryCostModifier:20 + hurryCostModifier:20, + attackSound:"shot" }, { name:"Musketeer", @@ -354,7 +376,8 @@ requiredTech:"Gunpowder", upgradesTo:"Rifleman" obsoleteTech:"Rifling", - hurryCostModifier:20 + hurryCostModifier:20, + attackSound:"shot" }, { name:"Minuteman", @@ -368,7 +391,8 @@ upgradesTo:"Rifleman" obsoleteTech:"Rifling", uniques:["Bonus vs units in rough terrain 15%","Ignores terrain cost"] - hurryCostModifier:20 + hurryCostModifier:20, + attackSound:"shot" }, { name:"Frigate", @@ -392,7 +416,9 @@ requiredTech:"Metallurgy", requiredResource:"Horses", hurryCostModifier:20, - uniques:["Can move after attacking","No defensive terrain bonus","Penalty vs City 33%","Bonus vs Mounted 33%" ], + uniques:["Can move after attacking","No defensive terrain bonus", + "Penalty vs City 33%","Bonus vs Mounted 33%" ], + attackSound:"horse" }, // Industrial Era @@ -406,7 +432,8 @@ rangedStrength:30, cost: 225, requiredTech:"Industrialization", - hurryCostModifier:20 + hurryCostModifier:20, + attackSound:"machinegun" }, { name:"Rifleman", @@ -417,7 +444,8 @@ requiredTech:"Rifling", obsoleteTech:"Replacable Parts", upgradesTo:"Great War Infantry", - hurryCostModifier:20 + hurryCostModifier:20, + attackSound:"shot" }, { name:"Cavalry", @@ -429,7 +457,8 @@ requiredResource:"Horses", upgradesTo:"Landship", uniques:["Can move after attacking","No defensive terrain bonus","Penalty vs City 33%" ], - hurryCostModifier:20 + hurryCostModifier:20, + attackSound:"horse" }, { name:"Artillery", @@ -512,7 +541,8 @@ strength:50, cost: 320, requiredTech:"Replacable Parts", - hurryCostModifier:20 + hurryCostModifier:20, + attackSound:"shot" }, /* Great people */ diff --git a/android/assets/sounds/arrow.mp3 b/android/assets/sounds/arrow.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..3ad80b67d1431a82465314b5a627f638776aab26 GIT binary patch literal 2616 zcmdtk`8(U$8UXNbB1t0^grs9hJ3%6gr4*&=wn6NscG6N3DPt*3wMxsBC~53vq9`@7 z)Lu=iwT#Z4Q7Oh!OLZ7UX&GCTYt(&6r@8UmXZ&#gg!_5U`Q@A+&N=V1621ud zU-aIM4@WhE2@PoZ8 z=@S6}ZI6fGQUJhy?;hl4{fxbh|07ZfO%{Ks0Au<=fx(GX32od);y`Pr7o#9{@u^s( zA{^mXc&gc5WK6%AV{5pZgO2lGxki+bkN(B@;w9ys=0oBB1M0R4tu47WgkJ?!frM2^ z3j4Q4M(!N68CAw>hBHpt`j~Ag*jR!l~jqK$ylH8)6cR1xq_w!sYx<` zou0ZD4;Yc*qYST!($yJ&$@yjF#aB^D<(<|z6{(=Tu`rJ|BNl)hJ?9is(Rg0fnJ8*yK?gwd2>))9{T=Vmsc5LUibj|MiIV&;{ z;Wyl;Cn)RRx0;{5YQh6GQe9OV3m$E&1!Pv3htDRQRO;T0RFV{8IeMbWsSdY}+~}!b zlJs4xxn}meI%STT((jK{3%5O31#^AQEz9d;S@bUW%d5~TuY0ED#miXVr?sssYIBt4MWb^I z44%2^Pls3=$wD#jX|7wanDw}aVVq^{tQnHx+lF}hV`!P2ugZw1&{j9oq$beAe#tVw zW9V~N4YcCISEReA-TpdwKgQpfC|1f23yFNjV_vmXT)=M0`Xya}8 z404=cVAsgbdK>N^Aa@ewFq3onQl%iQ-IuFeqMPG$g$|gU3G5co5t?4*^HCh^bwgvJJngtoOB)pk^DJA2I%C6M`jwXV%ij_2zqUdRI89e?Ss%%<_qXkLzJHpeM926Z1f6F&EGmvcX!hqx53;p@R^8Eq zF=a~@g8+?h6;pY&6p)8R=bM1ak(xs65?K6v>^FcXl z5=riB@hFK$8dWoY>#~AnmtNp4T8#Yny+{Jt<#th&6B}9ACd=2_hTFnrl#%Aj^n7pE zG3IX%xyMxQ1wB7z{ty)~Lu8!(Eq2_I-%M92&^Fah9O&INe|7VI9ah<6uJ&Wta#=|# zU29SczR3`p!vha)lnHJIMd%q~Dk;C#kq|t1*)6LcJvW`DDYyE;t@&}E+Ri=;7qD8$ z4^6$4<2435IwN{a?~WkNL!dlFzTAVj+TTI;YL22|>V{zahbu>*ssf6JsRJhA8&`hh zK-9;77Z&0_QSu`$SN#HLks6K3cW(({a6hQ2Uh=TE;!*r?>DzwOs7+zYFoBb4rM~ws zppy@x&%1He*y#cAB^5@#d-1o&}Njq2IliQ0N&*&d`PAHM}3164gT~#@%!7*-m4_5 zJg$8)qTEL9uCAgM^b9vA!%E{T%fs%b&NN{x_4Scj)BHDCtbv^%|5YUUUqZk0rxpMz z!fuyCb#;R5)e#KH2rINE3RxUWb)s-v!NPsZ5?Ts-_`Oq8@V(=Gc@JXh>(SX52jj)L zd&ahjB|*pGH+9@TMx31Ngb$ZcpMn}dmUx}Wy*MM15f*V~Fnq7| zSw!{5wn8nhOEow*T~_8X#xaUJ(PXJ!+{P@oDlg zrllq-4KmZ3@UXe=6yM-DA`b&t-TK@?8YJL4^->m?xL6fbPNnWSLsH6m#0y-StBU1B zkq4tF-b(F&E>1bKlnL&aN0Q+PzP=q{qH{hgBj<*89(&!(V>l%A8gKE`On$FaVk+ws zGQ#}G2ZY}OS2^QjT5t#f#>NpVQ|F4l7`o1*V<{XIdW?U@J0`e2E={-oXUm@uGu>c9 zCK4krr*o#!*&AbtlrsZS9cWZ{UzhaYqh}{?J5P7ZoyjOlDMY{of6mq1k@`WG+M% literal 0 HcmV?d00001 diff --git a/android/assets/sounds/horse.mp3 b/android/assets/sounds/horse.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..d11fbc6a209cd5a29a4942698cd7f693ab20f764 GIT binary patch literal 8304 zcmZ9RbyQSu)b9rvI%Wt71?lb%0cmC^2LzFDU`=@}WBn3$NGLn4vCe{XMZ9~_*Won2p}P!Hb{SCds&6yy;X_ds`f zMB?fK0LYY>&`}xyfYKv}-_%Ef#|Qt9q0Yjr0QgRh|uvg6TMcYLHNrfr${+f+9C!>)Tl|C^`;Ia4$_L_W` zaEb0ku>S&2D3xA-HAySV&%@kFotBGuKlrPCa&n$XSH5QbS1l)3YX`GsO44F?5$$;jO-vyOvIEjY#%dRLpQhdJMI2oU#=D-#E zqd7fj7x6mHMtp*eZKc68Vox2bnUAQmG%GTqZdM8Gtt`_nB9});!;b8nXz1721@mJ1O-Wqy5Ua zM(`*cyr!J2u4no2gMRHOPu8B8kNM*6Y4pgM5#r+)eu1yNq6x`hhQ`eFI2|q!K6d!X zm)pns;si7Q7Q-?Rl_puoixAO|1XS+(2s++L5B*l4e$U>QBb&Vmj4`UWVYAM^$Q2|} z650?sKjluYZwW|VzI-)h*R7^1MdfVJ@OpK2HM@3L&iU<)sn07 zXy7&=x7ZhdHU(z3{K2QY@ul>{{-1GVmGTPmgx--S;csRoq`+Sto;#v}58$HmjU;E{ z9XGWC3d%V}lWb5b<-Kf{O}s?)((d0sQ4Q9?u@D--f0v3|_ZTl+5ZF^p%Y0LUm~VH) zBu9xwW2CK*OlIJTccO+|-E-kDRZDX_*W;8Lx5YKDi$M1~Sk!j0o7SziB;xIROCgD-$4DU z>?Ww~Ljk!=QG_Ddm`mHx0RjmJoU+a}!?CFReZ9?~k)HCAH$R*NBfC}#z&^pe^a={U zN9v(J+m^*h8eO2{?}dV}jK`FkA@#!8AgMo?I#J?(eY}tda1Qa+j^xlKW9r_%P7Ht^ zIE=tNg%~anUJN6k1}LJ=-deE`whF$YmF(35^OeI#3`oF&+i3NlJTJcM)3f3ll?7)H zC7s%wp9;3R+r~L2UuReu{1d3i$&YLimg#@Vrqcvvcg6t|d=$z8#D2KX5#42rzq<*@ zeO~gB4q;x?327j}ntJ{M>DNfvw#^OPoc@U2H$c)=OM(SU?R{?dgeKYosHm0gVysHm z&yaK9SB849e+EbQiT4*We5ETHD%1mpSC4sxM=&}8>6EkxBWBwS(IO=fn_A#LLL$GP zOea}sj}KIp)9)kz-(WXK-Vpg_P+$XHYT@XwJ}{K6&EBi;4zF<4ZWnbku8v4+KZ-x=vD=}lg^cY+g6GvqE>5FwDIOQD^uA@ zHncAp0l#9rIpg0dwxgyye%aXzWGtwk&5wT@?@bF;rc+Rh`T7MC*Wlp5#(e05x(P-d zcnE@?h$ndha4V5S03^W}XWgY@RUnRune%nXy_vd~-e&$ympO17KTAkDkDnogZ1z*c z%>0%(uk9e7O{Z?d{v-Ba=f8uOu4T1=BwHrrLHDp_eT)5<-ba2AVF-pMt$C;th;lk! z`vsO{`9E(D{Y5OUQTU+JQJr75c@}JVIL-0b`vi~$@lu}NRKE4>k!$e&j$u&`%@F(2 z@(Prpxv4z!=*o*$Tt0FU2jssTN`OT&Mo2fc)Cb zoz6?D$+L2Ey@bsp{y6GdJ{t0!P!=it_6BXAej<%0Da|W>WaIs{r4D{$ZHJa@k3QhR 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 literal 0 HcmV?d00001 diff --git a/android/assets/sounds/machinegun.mp3 b/android/assets/sounds/machinegun.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..7271d9d8d1d0637b6b7b0c94ea489d574ce734e5 GIT binary patch literal 7680 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 PPyg@zq>vc;{}=ubYvMlz literal 0 HcmV?d00001 diff --git a/android/assets/sounds/metalhit.mp3 b/android/assets/sounds/metalhit.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..75d832eb56cf3acbeed5d8ef52ce5490a7beb216 GIT binary patch literal 3408 zcmdtl=T}q9-Uskah@pto7y*%*KtOs6Dgs8}5Q@~$3<6T538(}WJjYO_oN%ZrAku5- zN=NA!Itc2KA{Ic9CQ6ZnWM5eFJTLB_a6fD2&E9Lx{N}r6X0Hv>Q@erxX7BBPZT}h1 zem}O~EC7+;)DKx6y8c`Ep@)YGetUkX>(KabpAM}b0)N||>x}6IGXpinGg>zxg$E@m zssRAp5DCfY1OUT>I$~v5We#5a4*}_s`}uQB&+x+40oK^c(>ofy7g_%V0O)aj^Qgw0 z+?ZHuqdLzKfti`}?A$E5Q4xAx=txesXas~*t*vTu;`s^K$7zDoW)+javFaeo-P@xC zf{q1mxfo9>+sOO~s3e?5*a|sa96d^Rc+wS(mmRR`$SBxWi$;2Bg^w*5>T^UOSRj=R z&+PL}g}I>s5_89u0cV-#2IxD_7$7lpD_}>r{J0*kma(m+zxX+j9@Gtu;P!AZBy5u) znlfJ0ZK-%y&kQg2sF@FxluOql#c6&742nZ_L!Je#hoU_U_d17eCkXUEaJ{o7c~hc2 z+04MiqLWAR^HE9;=~vu)x1rgb${}#;w%qMMja0Ao6?v#>s-Uh}8F+fvX9uf0FR*2Q zBRXc3Y2fBa>g~Lo_mLan~(G{NyvA$_`fit4hNn=$!ws5NU#Sc)wtH!*Q3Z5A7}LX*t`!Ozys zy&TzQ$TS|_Fc$#`L=eh@)O{or9N%s8fF&v7F10z4~FRh6+XB?ttK6Mzl zuE0@!6)gd-vHHUDJAMtiSo>20tshdKb@)mp90#WVP$YB*UhZj!vyJN~ERbQcF%fR@ z>UTHHrqILyE~Y5g>CoP~)n{Th#cjWS^?I!K_6J-}`;vh9**dG%>~CI#K&Pg(eW#Q! zyd�q^GW|Gc}5eEig(A;Q83)cPQbY=CPC5{KKu%`kUkk73J~HSt3_!$?_p17ZvkbX(p0p zY0buPCwxK8ltQxfnt!t3lei;qC$&rkeUJ47>h3s7#g{3*wsO0voKu;BRyMG+AJoZ| zZK02dy3&i8#Gc_(f9AllF#KKM)*cP_zJL2GW?GA`MX6gQ{5?No_2B*ZyIa{0TGBpz z@h>EQiayD7W}GCo$5#fjzDzMmt3|pc3??4qNV$C`fZ2AojbdCLz8|%qmbx6DEw+%u za0#Tlce4ZJ7p`tkVn{5tXu0pN8U*oYTX-dn{(YZlEm<~(lQBD?y2Sn3J}3b?)9;Rl z<1+b4!}`e;aC@p-WLBb&jbFaxGT+sWTHIOu5(T7#FXBA?{$5--{?N%+f$e5TwqbMp zVuKrkaosu3J+(?h8At|5WH+DX%S2^l!Sf~}{XTMjg;)s8j2ACEZndc8{pA_%@VHc0 zPr(as6Bd@Q9Fw(|S(Oy?OXG82n`yumL%We%Vt32MHaZ;mZ) zUgWuiGEozJRi-(++y9EVcsi~)j_Uqh*rAyyWHR)?thV+|#^d&M5(Id2;qKSQ2?vkM z8NOF|wUOiFCQqoprX7auG={YNl6+Tq@#eKM9wKHV4uV5ntFJZbaUr;Uv(?eose@!=RSYBs8Wa?L2M$ z`Zb%jb}g;|9b$O_hXT5X@up-wt42`#>()itRJd|VEK!AVQ7K@&jd><%m26(f`M|=1 zk43D!o+}0d>kON^`f1wQN7><(N3%3E`CO=b!`s<(kH0({Mvn)1CmPW92F7>)p*Hb{ zHK~Yr&o-BNyaLRU_r8i<>_7VuH-p*#(Ax@$BDc}D1Kx_Y832hlko0i(_Dor-35^ge zZ+nn4C&016rkn4wjWftzC>Rp$6Lglkd^cn2C;rBZ!3D^#lTtx-*}A4QQMquOWQ4fA zt?$q2JAM_r3w>#bCdA5MxdCGP9mv!VmaoSJT9N>ER;P-;hU-_rJWdqzm>nq)WJdKS zC|t01yV-=ok&p*DvjUu_j+hlZe?Dd)zJMfijy?oBpZzvPBeR-gSz(V31}hTOBAea*h~UmL*1e@Z~sLw*hs6 zg%c2CPhhqK7}uSQKBjbV6j)?|%~)7E&tz&wKp;Zm#fUoaN!kp#Upva|Rl-3{0r??jib49m6 z@Uis-sa*ss`wa6iUTG~EcwL4d%z4>XP7Ue(_&oW}d&<7J$fCpA2Rjm{3%0)jVxT++ zbwU6Ri&6zCzu+)5-`u}h8PrjPckKAjSb-9q>d1^aQds1)uz$L6&Yzg&HO9$hY6Z z+h`~wkhui_2m65qf{P)GAy=GzSL#+%()<1_c!+s9<5CX6rKOSpA|**{bBy!e*hWW60QIM literal 0 HcmV?d00001 diff --git a/android/assets/sounds/nonmetalhit.mp3 b/android/assets/sounds/nonmetalhit.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..80bdc56915455a34e42eb28b36157d32720edebe GIT binary patch literal 3168 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�D0 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 literal 0 HcmV?d00001 diff --git a/core/src/com/unciv/models/gamebasics/unit/BaseUnit.kt b/core/src/com/unciv/models/gamebasics/unit/BaseUnit.kt index 7f946dc5a2..47e4f375de 100644 --- a/core/src/com/unciv/models/gamebasics/unit/BaseUnit.kt +++ b/core/src/com/unciv/models/gamebasics/unit/BaseUnit.kt @@ -29,7 +29,7 @@ class BaseUnit : INamed, IConstruction, ICivilopedia { var upgradesTo:String? = null var replaces:String?=null var uniqueTo:String?=null - + var attackSound:String?=null override val description: String get(){ diff --git a/core/src/com/unciv/ui/worldscreen/bottombar/BattleTable.kt b/core/src/com/unciv/ui/worldscreen/bottombar/BattleTable.kt index e9396365d5..dab80c22fc 100644 --- a/core/src/com/unciv/ui/worldscreen/bottombar/BattleTable.kt +++ b/core/src/com/unciv/ui/worldscreen/bottombar/BattleTable.kt @@ -135,7 +135,9 @@ class BattleTable(val worldScreen: WorldScreen): Table() { if(attackableEnemy==null || !attacker.unit.canAttack()) attackButton.disable() else { - attackButton.onClick { + var attackSound = attacker.unit.baseUnit.attackSound + if(attackSound==null) attackSound="click" + attackButton.onClick(attackSound) { attacker.unit.moveToTile(attackableEnemy.tileToAttackFrom) battle.attack(attacker, defender) worldScreen.shouldUpdate=true