From 94d74fac72ae97d3eeb8735eeddd778860db254e Mon Sep 17 00:00:00 2001 From: 12014 Date: Sun, 13 Apr 2025 02:34:09 +0900 Subject: [PATCH] Update the interface of Pokedex, TrainerCard, Berry Fix Program; Do some Translations on item menu and mini games --- data/scripts/roulette.inc | 34 +-- data/text/save.inc | 2 +- graphics/contest/applause.png | Bin 1593 -> 302 bytes graphics/contest/interface.png | Bin 3062 -> 2709 bytes graphics/contest/nextturn.png | Bin 1466 -> 208 bytes graphics/pokedex/interface.png | Bin 1044 -> 1240 bytes graphics/pokedex/list_underlay.bin | Bin 1280 -> 1280 bytes graphics/pokedex/menu.png | Bin 2082 -> 2189 bytes graphics/trainer_card/tiles.png | Bin 1856 -> 1754 bytes include/config/general.h | 2 +- include/strings.h | 2 +- src/battle_interface.c | 18 +- src/battle_message.c | 374 ++++++++++++++--------------- src/berry_fix_program.c | 42 ++-- src/berry_tag_screen.c | 33 ++- src/item_menu.c | 10 +- src/item_use.c | 28 +-- src/pokedex.c | 79 +++--- src/strings.c | 32 +-- src/trainer_card.c | 3 +- 20 files changed, 347 insertions(+), 312 deletions(-) mode change 100644 => 100755 graphics/contest/applause.png mode change 100644 => 100755 graphics/contest/interface.png mode change 100644 => 100755 graphics/contest/nextturn.png mode change 100644 => 100755 graphics/pokedex/interface.png mode change 100644 => 100755 graphics/pokedex/list_underlay.bin mode change 100644 => 100755 graphics/pokedex/menu.png mode change 100644 => 100755 graphics/trainer_card/tiles.png diff --git a/data/scripts/roulette.inc b/data/scripts/roulette.inc index 9e6c84f655..e6c92cd7bb 100644 --- a/data/scripts/roulette.inc +++ b/data/scripts/roulette.inc @@ -24,45 +24,47 @@ Roulette_EventScript_Play:: end Roulette_Text_PlayMinimumWagerIsX:: - .string "The minimum wager at this table\n" - .string "is {STR_VAR_1}. Do you want to play?$" + .string "这里是倍率为{STR_VAR_1}倍的轮盘台。\n" + .string "要在这里玩轮盘吗?$" Roulette_Text_NotEnoughCoins:: - .string "You don't have enough COINS.$" + .string "代币不足……$" Roulette_Text_SpecialRateTable:: - .string "Special rate table right now!$" + .string "现在是特别倍率期间!$" Roulette_Text_ControlsInstruction:: - .string "Place your wager with the + Control\n" - .string "Pad, then press the A Button.$" + .string "用十字键选择要下注的网格,\n" + .string "按A键决定。$" Roulette_Text_ItsAHit:: - .string "It's a hit!$" + .string "中了!$" Roulette_Text_Jackpot:: - .string "Jackpot!$" + .string "中大奖了!$" Roulette_Text_NothingDoing:: - .string "Nothing doing!$" + .string "没中—$" Roulette_Text_YouveWonXCoins:: - .string "You've won {STR_VAR_1} COINS!$" + .string "恭喜中奖!\n" + .string "获得了{STR_VAR_1}枚硬币!$" Roulette_Text_NoCoinsLeft:: - .string "No COINS left…$" + .string "代币用光了……$" Roulette_Text_KeepPlaying:: - .string "Keep playing?$" + .string "要继续玩吗?$" Roulette_Text_BoardWillBeCleared:: - .string "The ROULETTE board will be cleared.$" + .string "清除现在\n" + .string "台面上的钢珠。$" @ Unused Roulette_Text_YouDontHaveACoinCase:: - .string "You don't have a COIN CASE.$" + .string "没有代币盒……$" Roulette_Text_CoinCaseIsFull:: - .string "Your COIN CASE is full!\n" - .string "Coins can be exchanged for prizes.$" + .string "代币盒满了!\n" + .string "请去兑换奖品!$" //TODO 汉化 diff --git a/data/text/save.inc b/data/text/save.inc index e583bd8516..bf9b3d5b42 100644 --- a/data/text/save.inc +++ b/data/text/save.inc @@ -33,4 +33,4 @@ gText_SaveError:: gText_SavingDontTurnOffPower:: .string "正在写入记录……\n" - .string "请勿切断电源。$" \ No newline at end of file + .string "请勿切断电源。$" diff --git a/graphics/contest/applause.png b/graphics/contest/applause.png old mode 100644 new mode 100755 index 8b720a19dbfc771f1cad563a876a2f169670a240..05c1cdf17748ae4b0c0b068404912af9f18da65c GIT binary patch delta 275 zcmdnVvyN$kNGZx^prw85kH00(?STf%KFpfp2?@|KBVA|9{SZLy4;b4BzJ5 z`_B*sl)?n9aqAufMb~(`IEHw1-ksXb*Py`R%KGYm{m!(Brw(tpc5Bbo5=(w_Ri8{L z$B1(!E?k@!ofs|!WuF!Q-dfKg%D7?fxm8uYB8(+}o_<;&^G0q#c7tt5+LIj{7BHsW z;cGZj(fQh9fwV*6hEKLEE3W-p$vp4zT9*gHzl<0*+Sq;RZT>S$<4P3+mz`XLX8GGC z3^J@Y_J2O0cVZID^Jgxf9l}&LFZz-adbKgfY}KdV#fp3FX8yav_GY5cmS09aaXcXZ Nc)I$ztaD0e0suA`bW8vM literal 1593 zcmbVMU1%Id9N*fc#%QWoBDEqNwhyM*-JRXN+uV)4Ch6_9cbbjo^{}xBc5Zj>ZprP= zW_Odj3qEMIpdeAuR%`=SUlbqeixz5;iazwEeiWooMG>(Nc~S%wTWOrVFA}L1yD&Q+ z|KI=nEGb=-DSm(4fQFYQRXe-jlYI+QMRQ@sOj`WdF0iwKm;i@_7&M%k z8=yvtZ^=dM96d`sXhFi66h9Fu1k*+yq^VDUCPKl4PywS!QPyIyL}CX}paLa0D#=h# z6a+OCS3&3FnKs`lqk_Jtql?{Ad^HR`BuVvpU977j^(&H`OeQ6$NQxpbgb*~{5H|!j z*w&Sxlfd+CFSMx(B8j*}=fV`vEN#2scs;Rh&(rc!N}$Vc{ZIZ!eVer)uHCep zs4=73L0LOsS#5S&XCImEoN6{`l?%dV)CMWujPg&I2kmG3rX$eiuU82Z`X6=Ch6S`7 z*0E0}DlA$ztUHMrFGUU8_Cxxoi!Iu!=I+AT#E6c)QN=F3VMkmx;e0mA7HK}3tMBIY ziDLHLcSj!E_&m6yKljwPSGP9LzBeFz@X>MO=?mi}^wJAoeKW%^_gy}pJ$xxW@Z6P= z?aLRo-g5NxwFB<*!t0ZLZ=8GQGpv9^JNnPR_3FKE-Z`j#a({i@GY_2Da^J!AiJ`Ag z-hJZu)iWC&-}Jfuq=$UvvlLq_|Y#vjb?W)Go_#0eelrVzzGMa diff --git a/graphics/contest/interface.png b/graphics/contest/interface.png old mode 100644 new mode 100755 index 598e5e338def67b41a6c9f76be717affb1c1aa43..5ebbc882d5b4ed3dbe660d61e4d2bacb21b547e4 GIT binary patch delta 1917 zcmV-@2ZH$a7nK!|Bnkm@Qb$4nuFf3kv3m{!e+NTJL_t(|ob8!SZ`w#0$3t0bCA8^h zActP8T=vp?QBYZeBj->FH3YswA*DI&rN8xgNOT@&Gz50Ju8SZ^RY4t^jx)j-je@f>4Fe_#ERh2cdJ%8|__lKcpcjsq2rvcroPs&0Kq!LLPe>58d zoCPzk_sb--B)_nY;*u zCJj|Z_=l$@Xsx&9vfuB&Q+wZEnEW3c+(%fr>_7bqrAPQX3;nem0R4M`ejk(obdLpC zufMI=k9b@z-;w(8pulZ`&xS=Y0RE^x4&d9j_2c6sG%5n*-{&V40>otif8^g>1p0mS z@6)q##?MBR0`oIg_u0R}8qg5{_ZdH(7qJECH~>BNKOA7?35O3gAbu|_VhPZ30JLfY z_|tIhsn05yh8<0CFu=_#$pU<+rJI|pTDrOUSWCG8(SUY1Edz*#v|mM5!$N>)q)(Ja zwEyg#hX` zup~AB`4LcwP%L=J)_@-T$csiLfEfND55S4Q@CpE~ashDo1i+EN3v~dpC13%Z!h-}1 z@sJ0AJ2WF3fSLe2{yc!8jQ|dx5lR6*ng~=DAp?kM(L@c1ZV7;`f4_2oA)D?|1L!}h zm<5A~qb^D>vPp0kB0c6Z0B{>=0I-+-IRNY|1`SYI0EoS^8&VOL)PN2=PD8XWpN2f{ zfdu$qqu~^xX)_C<4?uOt^(U+Fzw|JA?Z@%=@85%9>F6u`?Sp44z1g>xE74Ww!H*yK zVffC2Y7YWfJ~%=Gf4V=b0sy}ML$wI-S1q{!4-ak#fPijqHa5%$fbaVNv{;SR$yi<) z=L0N#eGN1+AU2@0RQg;rGRFK~#m)r>Opbtqwk^E0Oe*j8u1Zt$<%a$V0B0rG6F}#oECtm7=CCIKrhov(V_S`F0cd+#2rwdt0=Oyoo8<#! z79zAZX^+7Fup02L7eyfFSup0WfpXOZ$jtwo^+DGFYwySL zKMm^ufF~iif5mbAo9kK<08dZu9S-R~qp+_5p#CSg_)V}op}hz|e;;r7Y?N=PKMO6s zZ$EAUCX-5H;5$fw30Pn21n9qLCj|f*L)m|Ne>PbVhO)0i(GYR!3z38<6uBU2yzKrfm{nlcZ^ySOhqO3od{SLDLaHe?-8Mn|``+ZD`yt z5P=Q*rD$#aeE?Gd@BJ7w1(0scAq!weo((`d0N`wouL4l4<^Zq;Y8C_*tsb{jHD4`0kHYGmAe3damylvlNSKks$q-W1;7yS zG}QfO0ZP_^lvB?O5k;bP07a0}N=(JrDuAi~G!=89VE|Qk-pfuyHkDFE*)%|sx-WMj zXY&2i7Xa9LFR>J70U%>70{9`IXF<~dJMSg_GBUMq=0nmhKw_sKO~<5d0Q^zFzr@Vn zNbLe7=7)(<(*VUqSfFMBa?~ooNhh6j(n%+s^uN}>un0hxWpl~`00000NkvXXu0mjf DJ&;S@ delta 2272 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 Pf-LlO^>bP0l+XkK45vI6 literal 1466 zcmbVMO>ERg6n0pOAcz#Wm0m^$RYAe)v9sR9Bise*CLMt;bip-;v}UR9Lc_k;S1Tyf_K6Je2hVvQF&VGL+RIXTsdDO=|ft?@<>IqHLJ zH&hgOj(Wy&u^Z3uW>DQq`1005oo%f%+f%1rM<+W32tqC?>V&N*B^^iY@)B5Q$GVET z5V`KC)0siE;x3{Yk#J-e4UJ)Jpb1!&%I2hPpFk!y$8}uRO-nN|!3MD`)c>hqF7bS_ zRGI4=gPo%`rHqNLx7+Pvd%P%;hHlultz%O+O$`uQx*18@(W3O|fT6-umISd3M1(R% zx+XTHqk^kF4Pl(qMrl7z5HY<&W8Em?Oj8%=u^bm~B(1J-kLkR{LmtT#uttuJn?j1T zDgK2z|NN8zh^_19HlFEA80IEYIeQUg^aJutbXwnxxxU0xv5_!7dlB3`nyHD&Ov0%Y zNnME6AXAG2myu}|4K#Wth&<6wk3VsNSE%HU3R$x>T+*;zH%wxch-Hr9NrG_?>IyIL zH~$H>NNJp4`za{Yj7KGXF4$wl7fDD#a1hc4*W;+6qCAXbMzll%hBNQFUbrr)MX96_ zR^5)uvb1tf?H>m(9DyEfyUBs{ zKhoWUrNWnOn(*lcMC-Zbq=WN%)`vYE`rjpXzdg~j12_zVY?+TB*yKZuM=-e(7*VyG z5ry$~p;no$k8XeXQSIb{i+dsWW4(jwC<`(7I!IAj;Q|iPW!*kF)U+`;S8y1>x*h zMkY|dFcN|LnGp%vzZjWdk<~=Id z_bvG*fc57dxb{t6;D^A_?y~`i>&dAfI4#fi?a3epKsCjUbHii+O)x)ZjUl!p?wpYc z=K^pFu0p6pOdt-{TFlkvG^jFz+bh5|?`nl5{H&xBD=mwEpwVJZ=gRz_fLFx_|Cize z9ZS?x8skGCxT$9XB1j$S;Ci>;^M zgapS|!g>{CB|o zXWOCQM&X%%h$6x5YK+)}BE4?Y=|r!R{V9mdkZeE@|HhdMA$f{VcEh>qBG?(s>9~^V z!qn5lS&)!BsUK}@$P!bLU=B=N0!dP~OsTaAp{_#MA`C2|u^4Jv3G%97V;fckSp{q$ zGh&0(PpeQ#1mN97vU8=mDw1QzGZttx8jYU@Dpo;%Te*Jlm1iWZ+^XR{r6e~)RbYG% zRHtqIAenkoKX8WL)ellXKUO~w31!le@)Me(9C8li0-TGMDi4#WD6PB%rEnG~%-~a= zO?}T~Pbr1A^@Ay^>iU6a*wqg@VpBh8J-MkLoYq}GG#ZU>!hGY5>CsCFE5Rs1-U9I* zk1`B@N_xOZSl=|VF#$c{%hK;VQlh>}1$Do^6+qk1Z6>fCI3*{$uofKRlU*>V8QX<; zIU}>gZXjZ?LnI_SXkn2Ez(NCBb=6RQ|M|6``iBz4E+Xa9F$#OFULh+Ji~WzS%l)qi zvZ&ovQ;Biy;`d+oKnTkKCgbyuDYf45S-D4lwLip{yJ2Kfvv8Qg7YjRV&js6IdoI`x z>0HFMv#_But%Pkf8vhCxzjv*t=)Rg;&@eZp)ej@w*(i3Jw+ikaWu7fM{g&)5QfOXF ztZSpY<@-r#LDWKNyt!l!$xrTV`ejxk3cfG=}zTX&b{hSoijk$2I@z#Z4RTRR1 z4jE4V%L8Z9I0OHVHOvhDJ%SgTwb*%7p+#`hJVUtezwzx~GJJUSIDsmT3&O~%KWd3w z2Bne?0VDWBu*2qDjPRh4rI7CFb5RMmy`5d%Jnj;TI2jpVP7ymVR^g%pB*M6s nzR_qj8jVJy(P%Upjo0HZf;D(U+r%-v00000NkvXXu0mjfxDhll delta 976 zcmV;>126p836uzs7zqRe0000HXLHz*E8KMASw=^NO8BPn(T6l#R(V`nBqAq@C)KS^*aVvl`R+Yitd5P?(V zMX~s_&@f3U4}b*XReJ!9-{hV9@lrR3Fn_2_eGGJzJ{*9b(q&T>oLkF-SzCXbMqyyg zZ48<|6Lrp(iF%>rSP9Qnmey*vOd1bKY}xYdgx2b5wgaR!^+mox7XArX*o@x_%)~B% zx&qS-5>u}8IHU~$+kkcG#(C&MU7|u8jcM|t4N93c(%QJX0yKNYxyqhDwtQN^(=0y) zq^tmB1!x8+G*D;@X#jtf{9}IrpYbrgL>m}jIqceH0GJ0hJ`6Aq8kfcSuooJa#reeM zHuizlEJE%B3)+q(V&eh6MQPQ*HzEvB9B3<|t_8>%2O!tNLjly<%tKEky;<%7#@z~- z{|`~KxOAZOei3rQtHnXuAplPw(l7KD%izB^%>0k>Xgs2|+THd5!4Q8B%a5^Nn8(yF z%)|S|>bo5c+h};pe=D?v^VXgZ@7mjXDn~k;rD}kj>>Uto+KI4=YVg56;{dcOe2LHi z<&OP3r;}r`-MvyKK+_OY!hl)J>a;$fO#>r9UomA z+G)}GM2o}qeTVVziLvo;KCxMjn0iBOQj4Yq{gCP_54I0hEn1b!R8{}OvZOf=uHFU# zj3;Pk*_RWGLsRlN_$+J&uSZN;c$ojblJ=gv;Ng5)9Gs8w82db>OnfeRJm{BhuqQ}Q y%X>i2Q delta 26 hcmZqRYT(*X!NlUn!ptzahRKG-kB6CI^ByJ_CID5k1^oa3 diff --git a/graphics/pokedex/menu.png b/graphics/pokedex/menu.png old mode 100644 new mode 100755 index ef4cfd47b0c7f1dd49ee3e52f26913831662b273..cc65b8836cb910f3ed65c3b77521d73813f29fef GIT binary patch delta 2130 zcmV-Y2(9;`5RDO#7#0Wv0002=;F0+N0004VQb$4nuFf3kks&^R2n$I>K~#90?VHtL-2URWhxdDrkcvAR zdLaMM_V?eXT$at_)z_6jUVCI5MaF+{yaT6C9q;Q-qRPC^>K7p6MaPY#eD+$2m)kfh37U{`d zuDAU219P5u*sD9baAn6dp}o=4<8BuKq0wIh=zX=f?ym-al4F1cI=*ST0`kP8k#wyG zptwy}=-fs3&Lnsnv2J8_T+rgO1%h`$cVwBqeu!=e_H5GzE9-91dLf_yNu-9eU}WtM zQg?3jdXu=|`G?zo1z`VUjQ}Kb|9pFN^`G$~QKCnK27#eqK0zlb6jT100UYP-uooPb z$3oIT=kH8^&H|*Odja4SEh34pI9q4fBmhNXAa|ZOaOIKBQatqfFtrv^C3 zD0FKs0C2h(xB@_4>&cNITXew%Y|Nt&lX%w%s}`tq(pc%3$ACsnB9Ci8F=;$#krfn7c zjd22huw}(tY52Qs%K%`loWOS;$r@sop$GWRH?oG9}ng_M#-BHV;ezx~Vv_*<(4-&Jn@3iIUg0Y3CBa4=hGQfOJy}&!cJ>->-() zs1%^P0G@}dbS?nU>`ti!-FZJzc6DRY4c<5g5dGQV3jk^X6XAGa0Pa0U7l}&%#N0=J z0Ptc_dcM*>KEbbx7SKsC0)S!|H3RV2rxgbl;^fv(h`Dm1&IxdKf z3ktzpzXI?I)Dam1#A4-%3$iuH3l{)?yIP7{Ccfc#8+W=tts#dDbx3XD+03-?OA3E0QIS)YtP`|h5y95t^GuzFV z3y`0=NLW~mDu7Tv7pzQOM}h&6LIerH7AV1BT;#$Uz?7>!$6EkSeq0Y!Nl~(Mg7(R3 zFa%)Jw;oXdEke`+0I2JPNhG|+0DC7U3_xfVAtunTx%&42jL{n(Jc_3^2Cz6+015X$ zA@BgWlUlD2!!r-W;$ba9)YTS$z}AW%0l*TCJo+C+695879O`4T4$6aR5cnX3D|bh* z*Yb&ikPDJvCR@akETzF`vw#htUwwk<>mbM<-$yM(V(|efk97Mf8W&8KsJy6}A=8;G{uSCUoRCdU&d$5*xn>ENm!i0#p3E0HH3qvc5G0pQ)R9_VabOzQy; z02Ak2*jWqoJ87eOK-ZwSR1fI)VjKW}uWbl0tOx9l%|bnpbDsr(0uBM0j@AVL=+^@Q z&*aKATaI(|5ds0=nx_MQaBIP&9x%H#EA;?PfY1W$l?(RWyI@!kR2wGO^#B1x2XOYV zM%^)Sd0G0O|n{=}X9x`zHYXdVpQS z4A=F5p3zxgmtV7KRl8tR4{%f#jFo!8pj3Ha1c1N8dLTx9U8x6uJb<6~cH1t$$I06k zBa=7FVuUF)1=zp#c&;DvyjvI8wc$Ph-|R-^9u)-12!LM)$jAE`!sv(Z6#yH7^``Lp z^1lMGYy7qVx;>Y43BC`Ynsa>@mq-O4y8}J)deN#yfqd)hy@5z?A+)A05pm# z^=tvCwVxgQ8~|ovygw0*0nBGc0nhSS_is!@O8{8vBi8-W7MK3t1*kqX`%?QKz^?_+ z?F*DI0z7~H+O#AC0Nz^wvpXOUsQ-R7eAWOG=p6ulE=zQOc+)flfL|3`7ueimwngs- z@C_B}!#$FxbTdF(2~fj>s@Wq-X=x+iV*vW=f-ulDeJ2MH<%#e%fM*SWNr^mR|EHBc zAb%|e0zH(N|AG0?T?u_az7wGC4fI%M0TLUYpAK%H1q%SQKfn_}KDxgP;L-&_Qjpmw zyD<~4!~h*JnR;M(D_{Yj?(N6GSDK%G00=(~P_F?eK&V~t4^lQ8g`ib$FaQ7m07*qo IM6N<$f<@KPm;e9( delta 2022 zcmV?RUo|k`2N=hOp z9m3@~O8pmiAl8pQ)pEdbUffLKEI%hjYT=Rt!1rUX=r1lA=I5U8o!DmHf}InsYl8^_sGl3C=gYB3IDKRJ zPXOgx3IHFfw-f;8?sU~Y@bjV5qH%{Ws|Pe$wQbWhDPUzbas#(QTePa0w9bD5mYa>~ z0Unl3wM4Zsp)DIVOJkzCsuA33^Uwt}4;4)?k+~~2YARZ=6V{m4m;ni^4eQdz4#0rh z)itY4Gb91VXaQ{;3Fd!+7DPV4)dp7_nG^s6TG+IFXiOSPFgLxfR&l(9P+o#6 zJ=5m6UZz09rb}5P9N^89>2-x`(3|qX=g)ryz!-L?-nmo{R;nVMnq!b2y3+wFg1I-T;E4g!d^ z8qVqY2S1k6&v9rSMrSPTP#gi~ihSHhjMz)SD|DR3esSSKo_G=5&| zE?~QzqSbUd3~09wFw1|nhKzn3yq``XBg8=pIDN!j7f9T|s(u_SrtG?lgAQO9%4Zks zd&W4>aVX!Ou*)suU^)QUe=;QiGol=}w)o9A$=qlPXbj-oXP*v$#cpvF52K8H)$$pa zf6(dr?n@6K7S!T%jR6Ee;nb{I(FJfgz6=8jv_Mx?7qo$YLl%F?Xv6?^rty)A1!gM7#3kn#o1!E;>g$vySEG(d^?t=tp zf&6w&jFXV(N)zei(kj2Rd=#E|lXs zir}%=Wa4>w<0|(7_~~3)@j=A>SU~Fm^VAEnLm30`;afWU%TQb10D$?Z~ zf7ov!*iRb^6PrphmsT(hbbm5gK%JG&0nQB;z+{3*WJZ5M5ahzhJE7 z!exz=G~|Co%Jg&MCIA!@ijt8-7Jwc~7#;-x&iqi?;VkEqOf#A2S|N$7bw)*WNYMx2 zZgzO-{I~<4DV8D}{4==H>!O;%8i~`u*PWhdt^Yxb-Nh#fYQ238txh#MGZn zjR(Z}K;~l6&j%QTV-NUXCAieq$p<1~ARhowIKU}iOUh2g$3dJAxL2SnyZHb+Un}8M zmwbOQDu56NQ9h{iTtsy90s9l6FUy;<2Z-_kup;uUtYH%`KRnM%O3rb|LE0{jNUuZsdW z);<#yF9JFnZAdtnP7r@cNp{Qq5`e|O6BfV$w)@CGG7n|DzaOAFkjFkuB+kPz5+;+m z_`yRgfSJIIlR!YWD+l($le@CQJ~g}wfZs;nv4NBT>@$;+NB*&aGyu>tS?yE9et>_2 z>F9^={|~^=g*dV72l)M0NojFvo4D-(llhCI@W}zRJfwL5_jP#O9W#ss_!$`_xP@KY z=hkt6us@poi04MTuv5n-K}|sb0I`mI`%#mzdkzDC1BFRMK~!jg?U-wpqaYB4HBL@P zG~)((meIen|6Pqj71RR+jE_Ej`c7J9jPOwxN=VayT97NN9O3|_$( z4bvUeiF$Z@vu>aO(An|;@&Kkah+>e$5rpc^;N=0Jd=p9oxb|ZJj)FzN;FTjH09bz~ zTb2NS$^ze@umC%4NCcb%ZHPdS2avIs7D#|j)Wsq|P+ErK&jkQIyRR(3kSPmX_jR+0 zF%Y+)SNF>S!l0)?0Sj;ztOE>#zMr*V0+~u_3&i~n^au0_!Usk*20}k$=SCgu3yai_breShy%!}zXw3oERd<^Z3}Wr)sGb@fKrKyYV&|esTcr5nHv46S)h|I z*A@UV@C)()S%_=~2o}Ug|7so}gJ-h^v;x}WTm<|x5rDpryc<$-!HbQ7^$1|twFSL@ zE!P0dulWU_Iu8sn04x^+wCw_rO#?9tSOSsxq#6MC3#j~aMg#PrPz-<;gvA;Q;eF*f zWkHWKdJ}+H;Aa7P4L}D&F~DqrU7FroE@(dqAWg^1&51~^@9P12mJW&mFobf8l>;z? zw18)WYJhRzA^>(1dKdtPP^=G(2Y_9FumX@0`M4M$r={_cO10}h?B%p005@k8p`XKU zKQ;kuNyS+JF*wc#5FwXaI=Y`VM_3>|KObPY*n)ZhcXvO4gau?8vOIv6>;~}h_KPRS!*f8DSg-^v{YFkA_+ymRTI6fB7EB@a++W8wkMh(L5} z<}HxFCmaC~+nkcIZ~}ndo)2U?CbwedU}edNgSFE1%N`#GY8~L~^|hSH@@<-?`OjUk zL%7dN9JUtOV1ZP1_K>z@;j|==^1+g&> z1AhPkVoOIv|D^}=#Q*>Ulu1NERCt{2nB9`2AP|K$*;EA0`U1O;G1qzjC(7lnN+0NM zK*jQBYimx;NE`xu_JJ0rsz^1--90AV2U!y8ZJ{0{bW|&0{OU#u0Qc#>C3ygkFRjR4c>wC?rj!S8DKd=A5`O^tzw41TKxBamxsCuE*%hc`VHxECbnLYS z8UPIv05qh$3xQ}^Fy;V^sE;f_$Z{5B3lD5(EHLP{-2xyjh$kUJmj!5 z2NHELKyyp>b4xW^kfFjDQTmFcp1F}qEm%^nf1MYKr8+9j12(7C09Z-6*`Helaq^Yg z0-z@TiafwJBAWq%1^UT7Kt2z!$$zui0^R|C;-v`qHVFV@lFK_S7rfLQn2!L$9$R4K zmTU#U@P;1&%2ol!)Bw?*a7lGN0xYJ1lm#Mz=zLNPfb#;h+|I@TCfuwBfCXW*CPMg_ zX%|^wu%b5ss15!ifQbS4WLOO_STJo(AGH*Xp9RpSL3`HJ*CA$GU zUs6a1$Pc>>v=#tXAU|9O(0>)?{Jj9+J@Uh40Nqsp4e3ec=>QP^{{I8K&Kl?&;2Yqd z1^7w24B+wzj5(kG{{r_&#m&(vxs&^^8}8FbxuXEuD*?uLF5i@r1?jWo0ZJWAJir+d zNFL3+1^WL9M*yS_r)(~q01zL~TecjtM=^V_7RlR#H8b>kx;6)D9)IBL{WTVB`_}jU z@asN_3u+<%?NBGa3N>>Uyhlj@H^vJXVniBO3>s**090=LO0@|9o<=`^_)7%SONeIH zf_J3=*yB$>qR(DNCuKpbc>q%K@exu!D+HekNDg4lGRy*a8~X4mAAvajI{@&fO9J$v zUDAjR7N|iGZ$Dr(Ek1Vz2(f3&kS##C&nyU+BtWSJysO|mpN`UZ>A*&S>ryf4!k3ZL b)vx2fMWeqaE0K~G00000NkvXXu0mjfI{?sR diff --git a/include/config/general.h b/include/config/general.h index cff1432bb7..ad06ce0725 100644 --- a/include/config/general.h +++ b/include/config/general.h @@ -80,7 +80,7 @@ #define UNITS_IMPERIAL 0 // Inches, feet, pounds #define UNITS_METRIC 1 // meters, kilograms -#define UNITS UNITS_IMPERIAL +#define UNITS UNITS_METRIC #define CHAR_DEC_SEPARATOR CHAR_PERIOD // CHAR_PERIOD is used as a decimal separator only in the UK and the US. The rest of the world uses CHAR_COMMA. // Naming Screen diff --git a/include/strings.h b/include/strings.h index 588d513d4b..5c7f76f1fd 100644 --- a/include/strings.h +++ b/include/strings.h @@ -1955,7 +1955,7 @@ extern const u8 gText_TrainerCardName[]; extern const u8 gText_TrainerCardIDNo[]; extern const u8 gText_TrainerCardMoney[]; extern const u8 gText_PokedollarVar1[]; -extern const u8 gText_EmptyString6[]; +extern const u8 gText_TrainerCardHiki[]; extern const u8 gText_TrainerCardPokedex[]; extern const u8 gText_TrainerCardTime[]; extern const u8 gText_Colon2[]; diff --git a/src/battle_interface.c b/src/battle_interface.c index 1f85e68eea..1aa17a6b96 100644 --- a/src/battle_interface.c +++ b/src/battle_interface.c @@ -2534,7 +2534,7 @@ static void ClearAbilityName(u8 spriteId1, u8 spriteId2) static void PrintBattlerOnAbilityPopUp(u8 battlerId, u8 spriteId1, u8 spriteId2) { int i; - u8 lastChar; + //u8 lastChar; u8* textPtr; u8 monName[POKEMON_NAME_LENGTH + 3] = {0}; u8* nick = gBattleMons[battlerId].nickname; // This needs to be updated for Illusion support @@ -2552,16 +2552,22 @@ static void PrintBattlerOnAbilityPopUp(u8 battlerId, u8 spriteId1, u8 spriteId2) if (*(textPtr - 1) == EOS) textPtr--; - lastChar = *(textPtr - 1); + //lastChar = *(textPtr - 1); // Make the string say "[NAME]'s" instead of "[NAME]" - textPtr[0] = CHAR_SGL_QUOTE_RIGHT; // apostraphe - textPtr++; - if (lastChar != CHAR_S && lastChar != CHAR_s) + //textPtr[0] = CHAR_SGL_QUOTE_RIGHT; // apostraphe + //textPtr++; + /*if (lastChar != CHAR_S && lastChar != CHAR_s) { textPtr[0] = CHAR_s; textPtr++; - } + }*/ + //修改,修改特性显示窗口文字 + //调整为「○○的」 + textPtr[0] = 0x03; //手动写入汉字第一部分 + textPtr++; + textPtr[0] = 0x0B; //手动写入汉字第二部分 + textPtr++; textPtr[0] = EOS; diff --git a/src/battle_message.c b/src/battle_message.c index 3d2e7a7949..7493e2ae46 100644 --- a/src/battle_message.c +++ b/src/battle_message.c @@ -156,8 +156,8 @@ const u8 *const gPokeblockWasTooXStringTable[FLAVOR_COUNT] = [FLAVOR_SOUR] = COMPOUND_STRING("was too sour!"), }; -static const u8 sText_Someones[] = _("someone's"); -static const u8 sText_Lanettes[] = _("LANETTE's"); //no decapitalize until it is everywhere +static const u8 sText_Someones[] = _("某人的"); +static const u8 sText_Lanettes[] = _("LANETTE的"); //no decapitalize until it is everywhere static const u8 sText_EnigmaBerry[] = _("ENIGMA BERRY"); //no decapitalize until it is everywhere static const u8 sText_BerrySuffix[] = _(" BERRY"); //no decapitalize until it is everywhere const u8 gText_EmptyString3[] = _(""); @@ -172,19 +172,19 @@ static const u8 sText_TerrainReturnedToNormal[] = _("The terrain returned to nor const u8 *const gBattleStringsTable[BATTLESTRINGS_COUNT] = { [STRINGID_TRAINER1LOSETEXT] = COMPOUND_STRING("{B_TRAINER1_LOSE_TEXT}"), - [STRINGID_PKMNGAINEDEXP] = COMPOUND_STRING("{B_BUFF1} gained{B_BUFF2} {B_BUFF3} Exp. Points!\p"), - [STRINGID_PKMNGREWTOLV] = COMPOUND_STRING("{B_BUFF1} grew to Lv. {B_BUFF2}!{WAIT_SE}\p"), - [STRINGID_PKMNLEARNEDMOVE] = COMPOUND_STRING("{B_BUFF1} learned {B_BUFF2}!{WAIT_SE}\p"), - [STRINGID_TRYTOLEARNMOVE1] = COMPOUND_STRING("{B_BUFF1} wants to learn the move {B_BUFF2}.\p"), - [STRINGID_TRYTOLEARNMOVE2] = COMPOUND_STRING("However, {B_BUFF1} already knows four moves.\p"), - [STRINGID_TRYTOLEARNMOVE3] = COMPOUND_STRING("Should another move be forgotten and replaced with {B_BUFF2}?"), - [STRINGID_PKMNFORGOTMOVE] = COMPOUND_STRING("{B_BUFF1} forgot {B_BUFF2}…\p"), - [STRINGID_STOPLEARNINGMOVE] = COMPOUND_STRING("{PAUSE 32}Do you want to give up on having {B_BUFF1} learn {B_BUFF2}?"), - [STRINGID_DIDNOTLEARNMOVE] = COMPOUND_STRING("{B_BUFF1} did not learn {B_BUFF2}.\p"), - [STRINGID_PKMNLEARNEDMOVE2] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} learned {B_BUFF1}!"), - [STRINGID_ATTACKMISSED] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX}'s attack missed!"), - [STRINGID_PKMNPROTECTEDITSELF] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX} protected itself!"), - [STRINGID_STATSWONTINCREASE2] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX}'s stats won't go any higher!"), + [STRINGID_PKMNGAINEDEXP] = COMPOUND_STRING("{B_BUFF1}得到了{B_BUFF2}{B_BUFF3}点经验值!\p"), + [STRINGID_PKMNGREWTOLV] = COMPOUND_STRING("{B_BUFF1}升到了{B_BUFF2}级!{WAIT_SE}\p"), + [STRINGID_PKMNLEARNEDMOVE] = COMPOUND_STRING("{B_BUFF1}学会了{B_BUFF2}!{WAIT_SE}\p"), + [STRINGID_TRYTOLEARNMOVE1] = COMPOUND_STRING("{B_BUFF1}想要学会{B_BUFF2},\p"), + [STRINGID_TRYTOLEARNMOVE2] = COMPOUND_STRING("但是,{B_BUFF1}已经掌握了四个技能。\p"), + [STRINGID_TRYTOLEARNMOVE3] = COMPOUND_STRING("要忘记一个技能来学习{B_BUFF2}吗?"), + [STRINGID_PKMNFORGOTMOVE] = COMPOUND_STRING("{B_BUFF1}忘记了{B_BUFF2}……\p"), + [STRINGID_STOPLEARNINGMOVE] = COMPOUND_STRING("{PAUSE 32}你想忘记{B_BUFF1}来学习{B_BUFF2}吗?"), + [STRINGID_DIDNOTLEARNMOVE] = COMPOUND_STRING("{B_BUFF1}没有学习{B_BUFF2}。\p"), + [STRINGID_PKMNLEARNEDMOVE2] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX}学会了{B_BUFF1}!"), + [STRINGID_ATTACKMISSED] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX}的技能没有命中!"), + [STRINGID_PKMNPROTECTEDITSELF] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX}保护了自己!"), + [STRINGID_STATSWONTINCREASE2] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX}的stats won't go any higher!"), [STRINGID_AVOIDEDDAMAGE] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX} avoided damage with {B_DEF_ABILITY}!"), //not in gen 5+, ability popup [STRINGID_ITDOESNTAFFECT] = COMPOUND_STRING("It doesn't affect {B_DEF_NAME_WITH_PREFIX2}…"), [STRINGID_ATTACKERFAINTED] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} fainted!\p"), @@ -199,35 +199,35 @@ const u8 *const gBattleStringsTable[BATTLESTRINGS_COUNT] = [STRINGID_PREVENTSESCAPE] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX} prevents escape with {B_SCR_ACTIVE_ABILITY}!\p"), [STRINGID_HITXTIMES] = COMPOUND_STRING("The Pokémon was hit {B_BUFF1} time(s)!"), //SV has dynamic plural here [STRINGID_PKMNFELLASLEEP] = COMPOUND_STRING("{B_EFF_NAME_WITH_PREFIX} fell asleep!"), - [STRINGID_PKMNMADESLEEP] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX}'s {B_BUFF1} made {B_EFF_NAME_WITH_PREFIX2} sleep!"), //not in gen 5+, ability popup + [STRINGID_PKMNMADESLEEP] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX}的{B_BUFF1} made {B_EFF_NAME_WITH_PREFIX2} sleep!"), //not in gen 5+, ability popup [STRINGID_PKMNALREADYASLEEP] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX} is already asleep!"), [STRINGID_PKMNALREADYASLEEP2] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} is already asleep!"), [STRINGID_PKMNWASNTAFFECTED] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX} wasn't affected!"), //not in gen 5+, ability popup [STRINGID_PKMNWASPOISONED] = COMPOUND_STRING("{B_EFF_NAME_WITH_PREFIX} was poisoned!"), - [STRINGID_PKMNPOISONEDBY] = COMPOUND_STRING("{B_EFF_NAME_WITH_PREFIX} was poisoned by {B_SCR_NAME_WITH_PREFIX2}'s {B_BUFF1}!"), //not in gen 5+, ability popup + [STRINGID_PKMNPOISONEDBY] = COMPOUND_STRING("{B_EFF_NAME_WITH_PREFIX} was poisoned by {B_SCR_NAME_WITH_PREFIX2}的{B_BUFF1}!"), //not in gen 5+, ability popup [STRINGID_PKMNHURTBYPOISON] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} was hurt by its poisoning!"), [STRINGID_PKMNALREADYPOISONED] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX} is already poisoned!"), [STRINGID_PKMNBADLYPOISONED] = COMPOUND_STRING("{B_EFF_NAME_WITH_PREFIX} was badly poisoned!"), [STRINGID_PKMNENERGYDRAINED] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX} had its energy drained!"), [STRINGID_PKMNWASBURNED] = COMPOUND_STRING("{B_EFF_NAME_WITH_PREFIX} was burned!"), - [STRINGID_PKMNBURNEDBY] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX}'s {B_BUFF1} burned {B_EFF_NAME_WITH_PREFIX2}!"), //not in gen 5+, ability popup + [STRINGID_PKMNBURNEDBY] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX}的{B_BUFF1} burned {B_EFF_NAME_WITH_PREFIX2}!"), //not in gen 5+, ability popup [STRINGID_PKMNHURTBYBURN] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} was hurt by its burn!"), [STRINGID_PKMNWASFROZEN] = COMPOUND_STRING("{B_EFF_NAME_WITH_PREFIX} was frozen solid!"), - [STRINGID_PKMNFROZENBY] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX}'s {B_BUFF1} froze {B_EFF_NAME_WITH_PREFIX2} solid!"), //not in gen 5+, ability popup + [STRINGID_PKMNFROZENBY] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX}的{B_BUFF1} froze {B_EFF_NAME_WITH_PREFIX2} solid!"), //not in gen 5+, ability popup [STRINGID_PKMNISFROZEN] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} is frozen solid!"), [STRINGID_PKMNWASDEFROSTED] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX} thawed out!"), [STRINGID_PKMNWASDEFROSTED2] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} thawed out!"), - [STRINGID_PKMNWASDEFROSTEDBY] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX}'s {B_CURRENT_MOVE} melted the ice!"), + [STRINGID_PKMNWASDEFROSTEDBY] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX}的{B_CURRENT_MOVE} melted the ice!"), [STRINGID_PKMNWASPARALYZED] = COMPOUND_STRING("{B_EFF_NAME_WITH_PREFIX} is paralyzed, so it may be unable to move!"), - [STRINGID_PKMNWASPARALYZEDBY] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX}'s {B_BUFF1} paralyzed {B_EFF_NAME_WITH_PREFIX2}, so it may be unable to move!"), //not in gen 5+, ability popup - [STRINGID_PKMNISPARALYZED] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} couldn't move because it's paralyzed!"), + [STRINGID_PKMNWASPARALYZEDBY] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX}的{B_BUFF1} paralyzed {B_EFF_NAME_WITH_PREFIX2}, so it may be unable to move!"), //not in gen 5+, ability popup + [STRINGID_PKMNISPARALYZED] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} couldn't move because It'sparalyzed!"), [STRINGID_PKMNISALREADYPARALYZED] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX} is already paralyzed!"), [STRINGID_PKMNHEALEDPARALYSIS] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX} was cured of paralysis!"), - [STRINGID_PKMNDREAMEATEN] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX}'s dream was eaten!"), //not in gen 5+, expansion doesn't use anymore - [STRINGID_STATSWONTINCREASE] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX}'s {B_BUFF1} won't go any higher!"), - [STRINGID_STATSWONTDECREASE] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX}'s {B_BUFF1} won't go any lower!"), - [STRINGID_TEAMSTOPPEDWORKING] = COMPOUND_STRING("Your team's {B_BUFF1} stopped working!"), //unused - [STRINGID_FOESTOPPEDWORKING] = COMPOUND_STRING("The foe's {B_BUFF1} stopped working!"), //unused + [STRINGID_PKMNDREAMEATEN] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX}的dream was eaten!"), //not in gen 5+, expansion doesn't use anymore + [STRINGID_STATSWONTINCREASE] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX}的{B_BUFF1} won't go any higher!"), + [STRINGID_STATSWONTDECREASE] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX}的{B_BUFF1} won't go any lower!"), + [STRINGID_TEAMSTOPPEDWORKING] = COMPOUND_STRING("Your team的{B_BUFF1} stopped working!"), //unused + [STRINGID_FOESTOPPEDWORKING] = COMPOUND_STRING("The foe的{B_BUFF1} stopped working!"), //unused [STRINGID_PKMNISCONFUSED] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} is confused!"), [STRINGID_PKMNHEALEDCONFUSION] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} snapped out of its confusion!"), [STRINGID_PKMNWASCONFUSED] = COMPOUND_STRING("{B_EFF_NAME_WITH_PREFIX} became confused!"), @@ -238,8 +238,8 @@ const u8 *const gBattleStringsTable[BATTLESTRINGS_COUNT] = [STRINGID_PKMNBLOWNAWAY] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX} was blown away!"), //unused [STRINGID_PKMNCHANGEDTYPE] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} transformed into the {B_BUFF1} type!"), [STRINGID_PKMNFLINCHED] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} flinched and couldn't move!"), - [STRINGID_PKMNREGAINEDHEALTH] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX}'s HP was restored."), - [STRINGID_PKMNHPFULL] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX}'s HP is full!"), + [STRINGID_PKMNREGAINEDHEALTH] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX}的HP was restored."), + [STRINGID_PKMNHPFULL] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX}的HP is full!"), [STRINGID_PKMNRAISEDSPDEF] = COMPOUND_STRING("Light Screen made {B_ATK_TEAM2} team stronger against special moves!"), [STRINGID_PKMNRAISEDDEF] = COMPOUND_STRING("Reflect made {B_ATK_TEAM2} team stronger against physical moves!"), [STRINGID_PKMNCOVEREDBYVEIL] = COMPOUND_STRING("{B_ATK_TEAM1} team cloaked itself in a mystical veil!"), @@ -269,7 +269,7 @@ const u8 *const gBattleStringsTable[BATTLESTRINGS_COUNT] = [STRINGID_PKMNPELTEDBYHAIL] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} is buffeted by the hail!"), [STRINGID_PKMNSEEDED] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX} was seeded!"), [STRINGID_PKMNEVADEDATTACK] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX} avoided the attack!"), - [STRINGID_PKMNSAPPEDBYLEECHSEED] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX}'s health is sapped by Leech Seed!"), + [STRINGID_PKMNSAPPEDBYLEECHSEED] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX}的health is sapped by Leech Seed!"), [STRINGID_PKMNFASTASLEEP] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} is fast asleep."), [STRINGID_PKMNWOKEUP] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} woke up!"), [STRINGID_PKMNUPROARKEPTAWAKE] = COMPOUND_STRING("But the uproar kept {B_SCR_NAME_WITH_PREFIX2} awake!"), @@ -292,20 +292,20 @@ const u8 *const gBattleStringsTable[BATTLESTRINGS_COUNT] = [STRINGID_PKMNMADESUBSTITUTE] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} put in a substitute!"), [STRINGID_PKMNHASSUBSTITUTE] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} already has a substitute!"), [STRINGID_SUBSTITUTEDAMAGED] = COMPOUND_STRING("The substitute took damage for {B_DEF_NAME_WITH_PREFIX2}!\p"), - [STRINGID_PKMNSUBSTITUTEFADED] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX}'s substitute faded!\p"), + [STRINGID_PKMNSUBSTITUTEFADED] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX}的substitute faded!\p"), [STRINGID_PKMNMUSTRECHARGE] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} must recharge!"), - [STRINGID_PKMNRAGEBUILDING] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX}'s rage is building!"), - [STRINGID_PKMNMOVEWASDISABLED] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX}'s {B_BUFF1} was disabled!"), - [STRINGID_PKMNMOVEISDISABLED] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX}'s {B_CURRENT_MOVE} is disabled!\p"), - [STRINGID_PKMNMOVEDISABLEDNOMORE] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX}'s move is no longer disabled!"), + [STRINGID_PKMNRAGEBUILDING] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX}的rage is building!"), + [STRINGID_PKMNMOVEWASDISABLED] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX}的{B_BUFF1} was disabled!"), + [STRINGID_PKMNMOVEISDISABLED] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX}的{B_CURRENT_MOVE} is disabled!\p"), + [STRINGID_PKMNMOVEDISABLEDNOMORE] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX}的move is no longer disabled!"), [STRINGID_PKMNGOTENCORE] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX} must do an encore!"), [STRINGID_PKMNENCOREENDED] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} ended its encore!"), [STRINGID_PKMNTOOKAIM] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} took aim at {B_DEF_NAME_WITH_PREFIX2}!"), [STRINGID_PKMNSKETCHEDMOVE] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} sketched {B_BUFF1}!"), [STRINGID_PKMNTRYINGTOTAKEFOE] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} is hoping to take its attacker down with it!"), [STRINGID_PKMNTOOKFOE] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX} took its attacker down with it!"), - [STRINGID_PKMNREDUCEDPP] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX}'s PP was reduced!"), - [STRINGID_PKMNSTOLEITEM] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} stole {B_DEF_NAME_WITH_PREFIX2}'s {B_LAST_ITEM}!"), + [STRINGID_PKMNREDUCEDPP] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX}的PP was reduced!"), + [STRINGID_PKMNSTOLEITEM] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} stole {B_DEF_NAME_WITH_PREFIX2}的{B_LAST_ITEM}!"), [STRINGID_TARGETCANTESCAPENOW] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX} can no longer escape!"), [STRINGID_PKMNFELLINTONIGHTMARE] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX} began having a nightmare!"), [STRINGID_PKMNLOCKEDINNIGHTMARE] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} is locked in a nightmare!"), @@ -314,23 +314,23 @@ const u8 *const gBattleStringsTable[BATTLESTRINGS_COUNT] = [STRINGID_SPIKESSCATTERED] = COMPOUND_STRING("Spikes were scattered on the ground all around {B_DEF_TEAM2} team!"), [STRINGID_PKMNHURTBYSPIKES] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX} was hurt by the spikes!"), [STRINGID_PKMNIDENTIFIED] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX} was identified!"), - [STRINGID_PKMNPERISHCOUNTFELL] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX}'s perish count fell to {B_BUFF1}!"), + [STRINGID_PKMNPERISHCOUNTFELL] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX}的perish count fell to {B_BUFF1}!"), [STRINGID_PKMNBRACEDITSELF] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} braced itself!"), [STRINGID_PKMNENDUREDHIT] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX} endured the hit!"), [STRINGID_MAGNITUDESTRENGTH] = COMPOUND_STRING("Magnitude {B_BUFF1}!"), [STRINGID_PKMNCUTHPMAXEDATTACK] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} cut its own HP and maximized its Attack!"), - [STRINGID_PKMNCOPIEDSTATCHANGES] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} copied {B_DEF_NAME_WITH_PREFIX2}'s stat changes!"), - [STRINGID_PKMNGOTFREE] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} got free of {B_DEF_NAME_WITH_PREFIX2}'s {B_BUFF1}!"), //not in gen 5+, generic rapid spin? + [STRINGID_PKMNCOPIEDSTATCHANGES] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} copied {B_DEF_NAME_WITH_PREFIX2}的stat changes!"), + [STRINGID_PKMNGOTFREE] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} got free of {B_DEF_NAME_WITH_PREFIX2}的{B_BUFF1}!"), //not in gen 5+, generic rapid spin? [STRINGID_PKMNSHEDLEECHSEED] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} shed Leech Seed!"), //not in gen 5+, generic rapid spin? [STRINGID_PKMNBLEWAWAYSPIKES] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} blew away Spikes!"), //not in gen 5+, generic rapid spin? [STRINGID_PKMNFLEDFROMBATTLE] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} fled from battle!"), [STRINGID_PKMNFORESAWATTACK] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} foresaw an attack!"), [STRINGID_PKMNTOOKATTACK] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX} took the {B_BUFF1} attack!"), - [STRINGID_PKMNATTACK] = COMPOUND_STRING("{B_BUFF1}'s attack!"), //not in gen 5+, expansion doesn't use anymore + [STRINGID_PKMNATTACK] = COMPOUND_STRING("{B_BUFF1}的attack!"), //not in gen 5+, expansion doesn't use anymore [STRINGID_PKMNCENTERATTENTION] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX} became the center of attention!"), [STRINGID_PKMNCHARGINGPOWER] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} began charging power!"), [STRINGID_NATUREPOWERTURNEDINTO] = COMPOUND_STRING("Nature Power turned into {B_CURRENT_MOVE}!"), - [STRINGID_PKMNSTATUSNORMAL] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX}'s status returned to normal!"), + [STRINGID_PKMNSTATUSNORMAL] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX}的status returned to normal!"), [STRINGID_PKMNHASNOMOVESLEFT] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} has no moves left that it can use!\p"), [STRINGID_PKMNSUBJECTEDTOTORMENT] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX} was subjected to torment!"), [STRINGID_PKMNCANTUSEMOVETORMENT] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} can't use the same move twice in a row due to the torment!\p"), @@ -339,56 +339,56 @@ const u8 *const gBattleStringsTable[BATTLESTRINGS_COUNT] = [STRINGID_PKMNCANTUSEMOVETAUNT] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} can't use {B_CURRENT_MOVE} after the taunt!\p"), [STRINGID_PKMNREADYTOHELP] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} is ready to help {B_DEF_NAME_WITH_PREFIX2}!"), [STRINGID_PKMNSWITCHEDITEMS] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} switched items with its target!"), - [STRINGID_PKMNCOPIEDFOE] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} copied {B_DEF_NAME_WITH_PREFIX2}'s Ability!"), + [STRINGID_PKMNCOPIEDFOE] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} copied {B_DEF_NAME_WITH_PREFIX2}的Ability!"), [STRINGID_PKMNMADEWISH] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} made a wish!"), //unused - [STRINGID_PKMNWISHCAMETRUE] = COMPOUND_STRING("{B_BUFF1}'s wish came true!"), + [STRINGID_PKMNWISHCAMETRUE] = COMPOUND_STRING("{B_BUFF1}的wish came true!"), [STRINGID_PKMNPLANTEDROOTS] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} planted its roots!"), [STRINGID_PKMNABSORBEDNUTRIENTS] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} absorbed nutrients with its roots!"), [STRINGID_PKMNANCHOREDITSELF] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX} anchored itself with its roots!"), [STRINGID_PKMNWASMADEDROWSY] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX} grew drowsy!"), - [STRINGID_PKMNKNOCKEDOFF] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} knocked off {B_DEF_NAME_WITH_PREFIX2}'s {B_LAST_ITEM}!"), + [STRINGID_PKMNKNOCKEDOFF] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} knocked off {B_DEF_NAME_WITH_PREFIX2}的{B_LAST_ITEM}!"), [STRINGID_PKMNSWAPPEDABILITIES] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} swapped Abilities with its target!"), [STRINGID_PKMNSEALEDOPPONENTMOVE] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} sealed any moves its target shares with it!"), [STRINGID_PKMNCANTUSEMOVESEALED] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} can't use its sealed {B_CURRENT_MOVE}!\p"), [STRINGID_PKMNWANTSGRUDGE] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} wants its target to bear a grudge!"), - [STRINGID_PKMNLOSTPPGRUDGE] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX}'s {B_BUFF1} lost all its PP due to the grudge!"), + [STRINGID_PKMNLOSTPPGRUDGE] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX}的{B_BUFF1} lost all its PP due to the grudge!"), [STRINGID_PKMNSHROUDEDITSELF] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} shrouded itself with Magic Coat!"), [STRINGID_PKMNMOVEBOUNCED] = COMPOUND_STRING("{B_EFF_NAME_WITH_PREFIX} bounced the {B_CURRENT_MOVE} back!"), [STRINGID_PKMNWAITSFORTARGET] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} waits for a target to make a move!"), - [STRINGID_PKMNSNATCHEDMOVE] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX} snatched {B_SCR_NAME_WITH_PREFIX2}'s move!"), - [STRINGID_PKMNMADEITRAIN] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX}'s {B_SCR_ACTIVE_ABILITY} made it rain!"), //not in gen 5+, ability popup - [STRINGID_PKMNRAISEDSPEED] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX}'s {B_SCR_ACTIVE_ABILITY} raised its Speed!"), //not in gen 5+, ability popup + [STRINGID_PKMNSNATCHEDMOVE] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX} snatched {B_SCR_NAME_WITH_PREFIX2}的move!"), + [STRINGID_PKMNMADEITRAIN] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX}的{B_SCR_ACTIVE_ABILITY} made it rain!"), //not in gen 5+, ability popup + [STRINGID_PKMNRAISEDSPEED] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX}的{B_SCR_ACTIVE_ABILITY} raised its Speed!"), //not in gen 5+, ability popup [STRINGID_PKMNPROTECTEDBY] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX} was protected by {B_DEF_ABILITY}!"), //not in gen 5+, ability popup - [STRINGID_PKMNPREVENTSUSAGE] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX}'s {B_DEF_ABILITY} prevents {B_ATK_NAME_WITH_PREFIX2} from using {B_CURRENT_MOVE}!"), //I don't see this in SV text + [STRINGID_PKMNPREVENTSUSAGE] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX}的{B_DEF_ABILITY} prevents {B_ATK_NAME_WITH_PREFIX2} from using {B_CURRENT_MOVE}!"), //I don't see this in SV text [STRINGID_PKMNRESTOREDHPUSING] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX} restored HP using its {B_DEF_ABILITY}!"), //not in gen 5+, ability popup - [STRINGID_PKMNCHANGEDTYPEWITH] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX}'s {B_DEF_ABILITY} made it the {B_BUFF1} type!"), //not in gen 5+, ability popup - [STRINGID_PKMNPREVENTSPARALYSISWITH] = COMPOUND_STRING("{B_EFF_NAME_WITH_PREFIX}'s {B_DEF_ABILITY} prevents paralysis!"), //not in gen 5+, ability popup - [STRINGID_PKMNPREVENTSROMANCEWITH] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX}'s {B_DEF_ABILITY} prevents romance!"), //not in gen 5+, ability popup - [STRINGID_PKMNPREVENTSPOISONINGWITH] = COMPOUND_STRING("{B_EFF_NAME_WITH_PREFIX}'s {B_DEF_ABILITY} prevents poisoning!"), //not in gen 5+, ability popup - [STRINGID_PKMNPREVENTSCONFUSIONWITH] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX}'s {B_DEF_ABILITY} prevents confusion!"), //not in gen 5+, ability popup - [STRINGID_PKMNRAISEDFIREPOWERWITH] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX}'s {B_DEF_ABILITY} raised the power of Fire-type moves!"), //not in gen 5+, ability popup + [STRINGID_PKMNCHANGEDTYPEWITH] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX}的{B_DEF_ABILITY} made it the {B_BUFF1} type!"), //not in gen 5+, ability popup + [STRINGID_PKMNPREVENTSPARALYSISWITH] = COMPOUND_STRING("{B_EFF_NAME_WITH_PREFIX}的{B_DEF_ABILITY} prevents paralysis!"), //not in gen 5+, ability popup + [STRINGID_PKMNPREVENTSROMANCEWITH] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX}的{B_DEF_ABILITY} prevents romance!"), //not in gen 5+, ability popup + [STRINGID_PKMNPREVENTSPOISONINGWITH] = COMPOUND_STRING("{B_EFF_NAME_WITH_PREFIX}的{B_DEF_ABILITY} prevents poisoning!"), //not in gen 5+, ability popup + [STRINGID_PKMNPREVENTSCONFUSIONWITH] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX}的{B_DEF_ABILITY} prevents confusion!"), //not in gen 5+, ability popup + [STRINGID_PKMNRAISEDFIREPOWERWITH] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX}的{B_DEF_ABILITY} raised the power of Fire-type moves!"), //not in gen 5+, ability popup [STRINGID_PKMNANCHORSITSELFWITH] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX} anchors itself with {B_DEF_ABILITY}!"), //not in gen 5+, ability popup - [STRINGID_PKMNCUTSATTACKWITH] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX}'s {B_SCR_ACTIVE_ABILITY} cuts {B_DEF_NAME_WITH_PREFIX2}'s Attack!"), //not in gen 5+, ability popup - [STRINGID_PKMNPREVENTSSTATLOSSWITH] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX}'s {B_SCR_ACTIVE_ABILITY} prevents stat loss!"), //not in gen 5+, ability popup - [STRINGID_PKMNHURTSWITH] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} was hurt by {B_DEF_NAME_WITH_PREFIX2}'s {B_BUFF1}!"), - [STRINGID_PKMNTRACED] = COMPOUND_STRING("It traced {B_BUFF1}'s {B_BUFF2}!"), + [STRINGID_PKMNCUTSATTACKWITH] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX}的{B_SCR_ACTIVE_ABILITY} cuts {B_DEF_NAME_WITH_PREFIX2}的Attack!"), //not in gen 5+, ability popup + [STRINGID_PKMNPREVENTSSTATLOSSWITH] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX}的{B_SCR_ACTIVE_ABILITY} prevents stat loss!"), //not in gen 5+, ability popup + [STRINGID_PKMNHURTSWITH] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} was hurt by {B_DEF_NAME_WITH_PREFIX2}的{B_BUFF1}!"), + [STRINGID_PKMNTRACED] = COMPOUND_STRING("It traced {B_BUFF1}的{B_BUFF2}!"), [STRINGID_STATSHARPLY] = gText_StatSharply, [STRINGID_STATROSE] = gText_StatRose, [STRINGID_STATHARSHLY] = COMPOUND_STRING("harshly "), [STRINGID_STATFELL] = gText_StatFell, - [STRINGID_ATTACKERSSTATROSE] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX}'s {B_BUFF1} {B_BUFF2}"), + [STRINGID_ATTACKERSSTATROSE] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX}的{B_BUFF1}{B_BUFF2}"), [STRINGID_DEFENDERSSTATROSE] = gText_DefendersStatRose, - [STRINGID_ATTACKERSSTATFELL] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX}'s {B_BUFF1} {B_BUFF2}"), - [STRINGID_DEFENDERSSTATFELL] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX}'s {B_BUFF1} {B_BUFF2}"), - [STRINGID_CRITICALHIT] = COMPOUND_STRING("A critical hit!"), - [STRINGID_ONEHITKO] = COMPOUND_STRING("It's a one-hit KO!"), + [STRINGID_ATTACKERSSTATFELL] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX}的{B_BUFF1}{B_BUFF2}"), + [STRINGID_DEFENDERSSTATFELL] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX}的{B_BUFF1}{B_BUFF2}"), + [STRINGID_CRITICALHIT] = COMPOUND_STRING("击中了要害"), + [STRINGID_ONEHITKO] = COMPOUND_STRING("一击必杀!"), [STRINGID_123POOF] = COMPOUND_STRING("One…{PAUSE 10}two…{PAUSE 10}and…{PAUSE 10}{PAUSE 20}{PLAY_SE SE_BALL_BOUNCE_1}ta-da!\p"), [STRINGID_ANDELLIPSIS] = COMPOUND_STRING("And…\p"), [STRINGID_NOTVERYEFFECTIVE] = COMPOUND_STRING("It's not very effective…"), - [STRINGID_SUPEREFFECTIVE] = COMPOUND_STRING("It's super effective!"), + [STRINGID_SUPEREFFECTIVE] = COMPOUND_STRING("It's uper effective!"), [STRINGID_GOTAWAYSAFELY] = sText_GotAwaySafely, [STRINGID_WILDPKMNFLED] = COMPOUND_STRING("{PLAY_SE SE_FLEE}The wild {B_BUFF1} fled!"), - [STRINGID_NORUNNINGFROMTRAINERS] = COMPOUND_STRING("No! There's no running from a Trainer battle!\p"), + [STRINGID_NORUNNINGFROMTRAINERS] = COMPOUND_STRING("No! There的no running from a Trainer battle!\p"), [STRINGID_CANTESCAPE] = COMPOUND_STRING("You can't escape!\p"), [STRINGID_DONTLEAVEBIRCH] = COMPOUND_STRING("PROF. BIRCH: Don't leave me like this!\p"), //no decapitalize until it is everywhere [STRINGID_BUTNOTHINGHAPPENED] = COMPOUND_STRING("But nothing happened!"), @@ -418,7 +418,7 @@ const u8 *const gBattleStringsTable[BATTLESTRINGS_COUNT] = [STRINGID_SHAREDPAIN] = COMPOUND_STRING("The battlers shared their pain!"), [STRINGID_BELLCHIMED] = COMPOUND_STRING("A bell chimed!"), [STRINGID_FAINTINTHREE] = COMPOUND_STRING("All Pokémon that heard the song will faint in three turns!"), - [STRINGID_NOPPLEFT] = COMPOUND_STRING("There's no PP left for this move!\p"), //not in gen 5+ + [STRINGID_NOPPLEFT] = COMPOUND_STRING("There的no PP left for this move!\p"), //not in gen 5+ [STRINGID_BUTNOPPLEFT] = COMPOUND_STRING("But there was no PP left for the move!"), [STRINGID_PLAYERUSEDITEM] = COMPOUND_STRING("You used {B_LAST_ITEM}!"), [STRINGID_WALLYUSEDITEM] = COMPOUND_STRING("WALLY used {B_LAST_ITEM}!"), //no decapitalize until it is everywhere @@ -433,9 +433,9 @@ const u8 *const gBattleStringsTable[BATTLESTRINGS_COUNT] = [STRINGID_GOTCHAPKMNCAUGHTPLAYER] = COMPOUND_STRING("Gotcha! {B_DEF_NAME} was caught!{WAIT_SE}{PLAY_BGM MUS_CAUGHT}\p"), [STRINGID_GOTCHAPKMNCAUGHTWALLY] = COMPOUND_STRING("Gotcha! {B_DEF_NAME} was caught!{WAIT_SE}{PLAY_BGM MUS_CAUGHT}{PAUSE 127}"), [STRINGID_GIVENICKNAMECAPTURED] = COMPOUND_STRING("Would you like to give {B_DEF_NAME} a nickname?"), - [STRINGID_PKMNSENTTOPC] = COMPOUND_STRING("{B_DEF_NAME} has been sent to {B_PC_CREATOR_NAME} PC!"), //Still used lanette's pc since terminology is different - [STRINGID_PKMNDATAADDEDTODEX] = COMPOUND_STRING("{B_DEF_NAME}'s data has been added to the Pokédex!\p"), - [STRINGID_ITISRAINING] = COMPOUND_STRING("It's raining!"), + [STRINGID_PKMNSENTTOPC] = COMPOUND_STRING("{B_DEF_NAME} has been sent to {B_PC_CREATOR_NAME} PC!"), //Still used lanette的pc since terminology is different + [STRINGID_PKMNDATAADDEDTODEX] = COMPOUND_STRING("{B_DEF_NAME}的data has been added to the Pokédex!\p"), + [STRINGID_ITISRAINING] = COMPOUND_STRING("It'sraining!"), [STRINGID_SANDSTORMISRAGING] = COMPOUND_STRING("The sandstorm is raging!"), [STRINGID_CANTESCAPE2] = COMPOUND_STRING("You couldn't get away!\p"), [STRINGID_PKMNIGNORESASLEEP] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} ignored orders and kept sleeping!"), @@ -454,13 +454,13 @@ const u8 *const gBattleStringsTable[BATTLESTRINGS_COUNT] = [STRINGID_PKMNIGNOREDX] = COMPOUND_STRING("{B_OPPONENT_MON1_NAME} completely ignored the {B_BUFF1}!"), //safari [STRINGID_THREWPOKEBLOCKATPKMN] = COMPOUND_STRING("{B_PLAYER_NAME} threw a {POKEBLOCK} at the {B_OPPONENT_MON1_NAME}!"), //safari [STRINGID_OUTOFSAFARIBALLS] = COMPOUND_STRING("{PLAY_SE SE_DING_DONG}ANNOUNCER: You're out of Safari Balls! Game over!\p"), //safari - [STRINGID_PKMNSITEMCUREDPARALYSIS] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX}'s {B_LAST_ITEM} cured its paralysis!"), - [STRINGID_PKMNSITEMCUREDPOISON] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX}'s {B_LAST_ITEM} cured its poison!"), - [STRINGID_PKMNSITEMHEALEDBURN] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX}'s {B_LAST_ITEM} cured its burn!"), - [STRINGID_PKMNSITEMDEFROSTEDIT] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX}'s {B_LAST_ITEM} defrosted it!"), - [STRINGID_PKMNSITEMWOKEIT] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX}'s {B_LAST_ITEM} woke it up!"), - [STRINGID_PKMNSITEMSNAPPEDOUT] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX}'s {B_LAST_ITEM} snapped it out of its confusion!"), - [STRINGID_PKMNSITEMCUREDPROBLEM] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX}'s {B_LAST_ITEM} cured its {B_BUFF1} problem!"), + [STRINGID_PKMNSITEMCUREDPARALYSIS] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX}的{B_LAST_ITEM} cured its paralysis!"), + [STRINGID_PKMNSITEMCUREDPOISON] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX}的{B_LAST_ITEM} cured its poison!"), + [STRINGID_PKMNSITEMHEALEDBURN] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX}的{B_LAST_ITEM} cured its burn!"), + [STRINGID_PKMNSITEMDEFROSTEDIT] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX}的{B_LAST_ITEM} defrosted it!"), + [STRINGID_PKMNSITEMWOKEIT] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX}的{B_LAST_ITEM} woke it up!"), + [STRINGID_PKMNSITEMSNAPPEDOUT] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX}的{B_LAST_ITEM} snapped it out of its confusion!"), + [STRINGID_PKMNSITEMCUREDPROBLEM] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX}的{B_LAST_ITEM} cured its {B_BUFF1} problem!"), [STRINGID_PKMNSITEMRESTOREDHEALTH] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX} restored its health using its {B_LAST_ITEM}!"), [STRINGID_PKMNSITEMRESTOREDPP] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX} restored PP to its move {B_BUFF1} using its {B_LAST_ITEM}!"), [STRINGID_PKMNSITEMRESTOREDSTATUS] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX} returned its stats to normal using its {B_LAST_ITEM}!"), @@ -468,18 +468,18 @@ const u8 *const gBattleStringsTable[BATTLESTRINGS_COUNT] = [STRINGID_ITEMALLOWSONLYYMOVE] = COMPOUND_STRING("{B_LAST_ITEM} only allows the use of {B_CURRENT_MOVE}!\p"), [STRINGID_PKMNHUNGONWITHX] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX} hung on using its {B_LAST_ITEM}!"), [STRINGID_EMPTYSTRING3] = gText_EmptyString3, - [STRINGID_PKMNSXPREVENTSBURNS] = COMPOUND_STRING("{B_EFF_NAME_WITH_PREFIX}'s {B_EFF_ABILITY} prevents burns!"), //not in gen 5+, ability popup - [STRINGID_PKMNSXBLOCKSY] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX}'s {B_DEF_ABILITY} blocks {B_CURRENT_MOVE}!"), //not in gen 5+, ability popup - [STRINGID_PKMNSXRESTOREDHPALITTLE2] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX}'s {B_ATK_ABILITY} restored its HP a little!"), //not in gen 5+, ability popup - [STRINGID_PKMNSXWHIPPEDUPSANDSTORM] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX}'s {B_SCR_ACTIVE_ABILITY} whipped up a sandstorm!"), //not in gen 5+, ability popup - [STRINGID_PKMNSXPREVENTSYLOSS] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX}'s {B_SCR_ACTIVE_ABILITY} prevents {B_BUFF1} loss!"), //not in gen 5+, ability popup - [STRINGID_PKMNSXINFATUATEDY] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX}'s {B_DEF_ABILITY} infatuated {B_ATK_NAME_WITH_PREFIX2}!"), //not in gen 5+, ability popup - [STRINGID_PKMNSXMADEYINEFFECTIVE] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX}'s {B_DEF_ABILITY} made {B_CURRENT_MOVE} ineffective!"), //not in gen 5+, ability popup - [STRINGID_PKMNSXCUREDYPROBLEM] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX}'s {B_SCR_ACTIVE_ABILITY} cured its {B_BUFF1} problem!"), //not in gen 5+, ability popup + [STRINGID_PKMNSXPREVENTSBURNS] = COMPOUND_STRING("{B_EFF_NAME_WITH_PREFIX}的{B_EFF_ABILITY} prevents burns!"), //not in gen 5+, ability popup + [STRINGID_PKMNSXBLOCKSY] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX}的{B_DEF_ABILITY} blocks {B_CURRENT_MOVE}!"), //not in gen 5+, ability popup + [STRINGID_PKMNSXRESTOREDHPALITTLE2] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX}的{B_ATK_ABILITY} restored its HP a little!"), //not in gen 5+, ability popup + [STRINGID_PKMNSXWHIPPEDUPSANDSTORM] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX}的{B_SCR_ACTIVE_ABILITY} whipped up a sandstorm!"), //not in gen 5+, ability popup + [STRINGID_PKMNSXPREVENTSYLOSS] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX}的{B_SCR_ACTIVE_ABILITY} prevents {B_BUFF1} loss!"), //not in gen 5+, ability popup + [STRINGID_PKMNSXINFATUATEDY] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX}的{B_DEF_ABILITY} infatuated {B_ATK_NAME_WITH_PREFIX2}!"), //not in gen 5+, ability popup + [STRINGID_PKMNSXMADEYINEFFECTIVE] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX}的{B_DEF_ABILITY} made {B_CURRENT_MOVE} ineffective!"), //not in gen 5+, ability popup + [STRINGID_PKMNSXCUREDYPROBLEM] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX}的{B_SCR_ACTIVE_ABILITY} cured its {B_BUFF1} problem!"), //not in gen 5+, ability popup [STRINGID_ITSUCKEDLIQUIDOOZE] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} sucked up the liquid ooze!"), [STRINGID_PKMNTRANSFORMED] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX} transformed!"), - [STRINGID_ELECTRICITYWEAKENED] = COMPOUND_STRING("Electricity's power was weakened!"), - [STRINGID_FIREWEAKENED] = COMPOUND_STRING("Fire's power was weakened!"), + [STRINGID_ELECTRICITYWEAKENED] = COMPOUND_STRING("Electricity的power was weakened!"), + [STRINGID_FIREWEAKENED] = COMPOUND_STRING("Fire的power was weakened!"), [STRINGID_PKMNHIDUNDERWATER] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} hid underwater!"), [STRINGID_PKMNSPRANGUP] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} sprang up!"), [STRINGID_HMMOVESCANTBEFORGOTTEN] = COMPOUND_STRING("HM moves can't be forgotten now.\p"), @@ -490,52 +490,52 @@ const u8 *const gBattleStringsTable[BATTLESTRINGS_COUNT] = [STRINGID_FORXCOMMAYZ] = COMPOUND_STRING("For {B_SCR_NAME_WITH_PREFIX2}, {B_LAST_ITEM} {B_BUFF1}"), //not in gen 5+, expansion doesn't use anymore [STRINGID_USINGITEMSTATOFPKMNROSE] = COMPOUND_STRING("Using {B_LAST_ITEM}, the {B_BUFF1} of {B_SCR_NAME_WITH_PREFIX2} {B_BUFF2}"), //todo: update this, will require code changes [STRINGID_PKMNUSEDXTOGETPUMPED] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX} used the {B_LAST_ITEM} to get pumped!"), - [STRINGID_PKMNSXMADEYUSELESS] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX}'s {B_DEF_ABILITY} made {B_CURRENT_MOVE} useless!"), //not in gen 5+, ability popup + [STRINGID_PKMNSXMADEYUSELESS] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX}的{B_DEF_ABILITY} made {B_CURRENT_MOVE} useless!"), //not in gen 5+, ability popup [STRINGID_PKMNTRAPPEDBYSANDTOMB] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX} became trapped by the quicksand!"), [STRINGID_EMPTYSTRING4] = COMPOUND_STRING(""), [STRINGID_ABOOSTED] = COMPOUND_STRING(" a boosted"), - [STRINGID_PKMNSXINTENSIFIEDSUN] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX}'s {B_SCR_ACTIVE_ABILITY} intensified the sun's rays!"), //not in gen 5+, ability popup + [STRINGID_PKMNSXINTENSIFIEDSUN] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX}的{B_SCR_ACTIVE_ABILITY} intensified the sun的rays!"), //not in gen 5+, ability popup [STRINGID_PKMNMAKESGROUNDMISS] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX} makes Ground-type moves miss with {B_DEF_ABILITY}!"), //not in gen 5+, ability popup [STRINGID_YOUTHROWABALLNOWRIGHT] = COMPOUND_STRING("You throw a Ball now, right? I… I'll do my best!"), - [STRINGID_PKMNSXTOOKATTACK] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX}'s {B_DEF_ABILITY} took the attack!"), //In gen 5+ but without naming the ability + [STRINGID_PKMNSXTOOKATTACK] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX}的{B_DEF_ABILITY} took the attack!"), //In gen 5+ but without naming the ability [STRINGID_PKMNCHOSEXASDESTINY] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} chose Doom Desire as its destiny!"), [STRINGID_PKMNLOSTFOCUS] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} lost its focus and couldn't move!"), [STRINGID_USENEXTPKMN] = COMPOUND_STRING("Use next Pokémon?"), [STRINGID_PKMNFLEDUSINGITS] = COMPOUND_STRING("{PLAY_SE SE_FLEE}{B_ATK_NAME_WITH_PREFIX} fled using its {B_LAST_ITEM}!\p"), [STRINGID_PKMNFLEDUSING] = COMPOUND_STRING("{PLAY_SE SE_FLEE}{B_ATK_NAME_WITH_PREFIX} fled using {B_ATK_ABILITY}!\p"), //not in gen 5+ [STRINGID_PKMNWASDRAGGEDOUT] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX} was dragged out!\p"), - [STRINGID_PREVENTEDFROMWORKING] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX}'s {B_DEF_ABILITY} prevented {B_SCR_NAME_WITH_PREFIX2}'s {B_BUFF1} from working!"), //unused - [STRINGID_PKMNSITEMNORMALIZEDSTATUS] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX}'s {B_LAST_ITEM} normalized its status!"), + [STRINGID_PREVENTEDFROMWORKING] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX}的{B_DEF_ABILITY} prevented {B_SCR_NAME_WITH_PREFIX2}的{B_BUFF1} from working!"), //unused + [STRINGID_PKMNSITEMNORMALIZEDSTATUS] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX}的{B_LAST_ITEM} normalized its status!"), [STRINGID_TRAINER1USEDITEM] = COMPOUND_STRING("{B_ATK_TRAINER_NAME_WITH_CLASS} used {B_LAST_ITEM}!"), [STRINGID_BOXISFULL] = COMPOUND_STRING("The Box is full! You can't catch any more!\p"), [STRINGID_PKMNAVOIDEDATTACK] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX} avoided the attack!"), - [STRINGID_PKMNSXMADEITINEFFECTIVE] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX}'s {B_SCR_ACTIVE_ABILITY} made it ineffective!"), //not in gen 5+, ability popup - [STRINGID_PKMNSXPREVENTSFLINCHING] = COMPOUND_STRING("{B_EFF_NAME_WITH_PREFIX}'s {B_EFF_ABILITY} prevents flinching!"), //not in gen 5+, ability popup + [STRINGID_PKMNSXMADEITINEFFECTIVE] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX}的{B_SCR_ACTIVE_ABILITY} made it ineffective!"), //not in gen 5+, ability popup + [STRINGID_PKMNSXPREVENTSFLINCHING] = COMPOUND_STRING("{B_EFF_NAME_WITH_PREFIX}的{B_EFF_ABILITY} prevents flinching!"), //not in gen 5+, ability popup [STRINGID_PKMNALREADYHASBURN] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX} is already burned!"), - [STRINGID_STATSWONTDECREASE2] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX}'s stats won't go any lower!"), - [STRINGID_PKMNSXBLOCKSY2] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX}'s {B_SCR_ACTIVE_ABILITY} blocks {B_CURRENT_MOVE}!"), //not in gen 5+, ability popup - [STRINGID_PKMNSXWOREOFF] = COMPOUND_STRING("{B_ATK_TEAM1} team's {B_BUFF1} wore off!"), - [STRINGID_PKMNRAISEDDEFALITTLE] = COMPOUND_STRING("{B_ATK_PREFIX1}'s {B_CURRENT_MOVE} raised DEFENSE a little!"), //expansion doesn't use anymore - [STRINGID_PKMNRAISEDSPDEFALITTLE] = COMPOUND_STRING("{B_ATK_PREFIX1}'s {B_CURRENT_MOVE} raised SP. DEF a little!"), //expansion doesn't use anymore + [STRINGID_STATSWONTDECREASE2] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX}的stats won't go any lower!"), + [STRINGID_PKMNSXBLOCKSY2] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX}的{B_SCR_ACTIVE_ABILITY} blocks {B_CURRENT_MOVE}!"), //not in gen 5+, ability popup + [STRINGID_PKMNSXWOREOFF] = COMPOUND_STRING("{B_ATK_TEAM1} team的{B_BUFF1} wore off!"), + [STRINGID_PKMNRAISEDDEFALITTLE] = COMPOUND_STRING("{B_ATK_PREFIX1}的{B_CURRENT_MOVE} raised DEFENSE a little!"), //expansion doesn't use anymore + [STRINGID_PKMNRAISEDSPDEFALITTLE] = COMPOUND_STRING("{B_ATK_PREFIX1}的{B_CURRENT_MOVE} raised SP. DEF a little!"), //expansion doesn't use anymore [STRINGID_THEWALLSHATTERED] = COMPOUND_STRING("The wall shattered!"), //not in gen5+, uses "your teams light screen wore off!" etc instead - [STRINGID_PKMNSXPREVENTSYSZ] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX}'s {B_ATK_ABILITY} prevents {B_DEF_NAME_WITH_PREFIX2}'s {B_DEF_ABILITY} from working!"), - [STRINGID_PKMNSXCUREDITSYPROBLEM] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX}'s {B_SCR_ACTIVE_ABILITY} cured its {B_BUFF1} problem!"), //not in gen 5+, ability popup + [STRINGID_PKMNSXPREVENTSYSZ] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX}的{B_ATK_ABILITY} prevents {B_DEF_NAME_WITH_PREFIX2}的{B_DEF_ABILITY} from working!"), + [STRINGID_PKMNSXCUREDITSYPROBLEM] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX}的{B_SCR_ACTIVE_ABILITY} cured its {B_BUFF1} problem!"), //not in gen 5+, ability popup [STRINGID_ATTACKERCANTESCAPE] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} can't escape!"), [STRINGID_PKMNOBTAINEDX] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} obtained {B_BUFF1}."), [STRINGID_PKMNOBTAINEDX2] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX} obtained {B_BUFF2}."), [STRINGID_PKMNOBTAINEDXYOBTAINEDZ] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} obtained {B_BUFF1}.\p{B_DEF_NAME_WITH_PREFIX} obtained {B_BUFF2}."), [STRINGID_BUTNOEFFECT] = COMPOUND_STRING("But it had no effect!"), - [STRINGID_PKMNSXHADNOEFFECTONY] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX}'s {B_SCR_ACTIVE_ABILITY} had no effect on {B_EFF_NAME_WITH_PREFIX2}!"), //not in gen 5+, ability popup + [STRINGID_PKMNSXHADNOEFFECTONY] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX}的{B_SCR_ACTIVE_ABILITY} had no effect on {B_EFF_NAME_WITH_PREFIX2}!"), //not in gen 5+, ability popup [STRINGID_TWOENEMIESDEFEATED] = sText_TwoInGameTrainersDefeated, [STRINGID_TRAINER2LOSETEXT] = COMPOUND_STRING("{B_TRAINER2_LOSE_TEXT}"), [STRINGID_PKMNINCAPABLEOFPOWER] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} appears incapable of using its power!"), - [STRINGID_GLINTAPPEARSINEYE] = COMPOUND_STRING("A glint appears in {B_SCR_NAME_WITH_PREFIX2}'s eyes!"), + [STRINGID_GLINTAPPEARSINEYE] = COMPOUND_STRING("A glint appears in {B_SCR_NAME_WITH_PREFIX2}的eyes!"), [STRINGID_PKMNGETTINGINTOPOSITION] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX} is getting into position!"), [STRINGID_PKMNBEGANGROWLINGDEEPLY] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX} began growling deeply!"), [STRINGID_PKMNEAGERFORMORE] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX} is eager for more!"), - [STRINGID_DEFEATEDOPPONENTBYREFEREE] = COMPOUND_STRING("{B_PLAYER_MON1_NAME} defeated the opponent {B_OPPONENT_MON1_NAME} in a REFEREE's decision!"), - [STRINGID_LOSTTOOPPONENTBYREFEREE] = COMPOUND_STRING("{B_PLAYER_MON1_NAME} lost to the opponent {B_OPPONENT_MON1_NAME} in a REFEREE's decision!"), - [STRINGID_TIEDOPPONENTBYREFEREE] = COMPOUND_STRING("{B_PLAYER_MON1_NAME} tied the opponent {B_OPPONENT_MON1_NAME} in a REFEREE's decision!"), + [STRINGID_DEFEATEDOPPONENTBYREFEREE] = COMPOUND_STRING("{B_PLAYER_MON1_NAME} defeated the opponent {B_OPPONENT_MON1_NAME} in a REFEREE的decision!"), + [STRINGID_LOSTTOOPPONENTBYREFEREE] = COMPOUND_STRING("{B_PLAYER_MON1_NAME} lost to the opponent {B_OPPONENT_MON1_NAME} in a REFEREE的decision!"), + [STRINGID_TIEDOPPONENTBYREFEREE] = COMPOUND_STRING("{B_PLAYER_MON1_NAME} tied the opponent {B_OPPONENT_MON1_NAME} in a REFEREE的decision!"), [STRINGID_QUESTIONFORFEITMATCH] = COMPOUND_STRING("Would you like to forfeit the match and quit now?"), [STRINGID_FORFEITEDMATCH] = COMPOUND_STRING("The match was forfeited."), [STRINGID_PKMNTRANSFERREDSOMEONESPC] = gText_PkmnTransferredSomeonesPC, @@ -549,18 +549,18 @@ const u8 *const gBattleStringsTable[BATTLESTRINGS_COUNT] = [STRINGID_HURTBYITEM] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} was hurt by the {B_LAST_ITEM}!"), [STRINGID_PSNBYITEM] = COMPOUND_STRING("{B_EFF_NAME_WITH_PREFIX} was badly poisoned by the {B_LAST_ITEM}!"), [STRINGID_BRNBYITEM] = COMPOUND_STRING("{B_EFF_NAME_WITH_PREFIX} was burned by the {B_LAST_ITEM}!"), - [STRINGID_DEFABILITYIN] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX}'s {B_DEF_ABILITY} activates!"), + [STRINGID_DEFABILITYIN] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX}的{B_DEF_ABILITY} activates!"), [STRINGID_GRAVITYINTENSIFIED] = COMPOUND_STRING("Gravity intensified!"), [STRINGID_TARGETIDENTIFIED] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX} was identified!"), [STRINGID_TARGETWOKEUP] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX} woke up!"), - [STRINGID_PKMNSTOLEANDATEITEM] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} stole and ate its target's {B_LAST_ITEM}!"), + [STRINGID_PKMNSTOLEANDATEITEM] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} stole and ate its target的{B_LAST_ITEM}!"), [STRINGID_TAILWINDBLEW] = COMPOUND_STRING("The Tailwind blew from behind {B_ATK_TEAM2} team!"), [STRINGID_PKMNWENTBACK] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} went back to {B_ATK_TRAINER_NAME}!"), [STRINGID_PKMNCANTUSEITEMSANYMORE] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX} can't use items anymore!"), [STRINGID_PKMNFLUNG] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} flung its {B_LAST_ITEM}!"), [STRINGID_PKMNPREVENTEDFROMHEALING] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX} was prevented from healing!"), [STRINGID_PKMNSWITCHEDATKANDDEF] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} switched its Attack and Defense!"), - [STRINGID_PKMNSABILITYSUPPRESSED] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX}'s Ability was suppressed!"), + [STRINGID_PKMNSABILITYSUPPRESSED] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX}的Ability was suppressed!"), [STRINGID_SHIELDEDFROMCRITICALHITS] = COMPOUND_STRING("Lucky Chant shielded {B_ATK_TEAM2} team from critical hits!"), [STRINGID_SWITCHEDATKANDSPATK] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} switched all changes to its Attack and Sp. Atk\pwith its target!"), [STRINGID_SWITCHEDDEFANDSPDEF] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} switched all changes to its Defense and Sp. Def\pwith its target!"), @@ -580,41 +580,41 @@ const u8 *const gBattleStringsTable[BATTLESTRINGS_COUNT] = [STRINGID_SWAPSDEFANDSPDEFOFALLPOKEMON] = COMPOUND_STRING("It created a bizarre area in which Defense and Sp. Def stats are swapped!"), [STRINGID_BECAMENIMBLE] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} became nimble!"), [STRINGID_HURLEDINTOTHEAIR] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX} was hurled into the air!"), - [STRINGID_HELDITEMSLOSEEFFECTS] = COMPOUND_STRING("It created a bizarre area in which Pokémon's held items lose their effects!"), + [STRINGID_HELDITEMSLOSEEFFECTS] = COMPOUND_STRING("It created a bizarre area in which Pokémon的held items lose their effects!"), [STRINGID_FELLSTRAIGHTDOWN] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX} fell straight down!"), [STRINGID_TARGETCHANGEDTYPE] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX} transformed into the {B_BUFF1} type!"), [STRINGID_PKMNACQUIREDSIMPLE] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX} acquired Simple!"), //shouldn't directly use the name [STRINGID_EMPTYSTRING5] = sText_EmptyString4, [STRINGID_KINDOFFER] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX} took the kind offer!"), - [STRINGID_RESETSTARGETSSTATLEVELS] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX}'s stat changes were removed!"), + [STRINGID_RESETSTARGETSSTATLEVELS] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX}的stat changes were removed!"), [STRINGID_EMPTYSTRING6] = sText_EmptyString4, [STRINGID_ALLYSWITCHPOSITION] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} and {B_SCR_NAME_WITH_PREFIX2} switched places!"), - [STRINGID_RESTORETARGETSHEALTH] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX}'s HP was restored!"), + [STRINGID_RESTORETARGETSHEALTH] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX}的HP was restored!"), [STRINGID_TOOKPJMNINTOTHESKY] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} took {B_DEF_NAME_WITH_PREFIX2} into the sky!"), [STRINGID_FREEDFROMSKYDROP] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX} was freed from the Sky Drop!"), - [STRINGID_POSTPONETARGETMOVE] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX}'s move was postponed!"), + [STRINGID_POSTPONETARGETMOVE] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX}的move was postponed!"), [STRINGID_REFLECTTARGETSTYPE] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} became the same type as {B_DEF_NAME_WITH_PREFIX2}!"), [STRINGID_TRANSFERHELDITEM] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX} received {B_LAST_ITEM} from {B_ATK_NAME_WITH_PREFIX2}"), [STRINGID_EMBARGOENDS] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} can use items again!"), [STRINGID_ELECTROMAGNETISM] = COMPOUND_STRING("electromagnetism"), - [STRINGID_BUFFERENDS] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX}'s {B_BUFF1} wore off!"), + [STRINGID_BUFFERENDS] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX}的{B_BUFF1} wore off!"), [STRINGID_TELEKINESISENDS] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} was freed from the telekinesis!"), - [STRINGID_TAILWINDENDS] = COMPOUND_STRING("{B_ATK_TEAM1} team's Tailwind petered out!"), - [STRINGID_LUCKYCHANTENDS] = COMPOUND_STRING("{B_ATK_TEAM1} team's Lucky Chant wore off!"), + [STRINGID_TAILWINDENDS] = COMPOUND_STRING("{B_ATK_TEAM1} team的Tailwind petered out!"), + [STRINGID_LUCKYCHANTENDS] = COMPOUND_STRING("{B_ATK_TEAM1} team的Lucky Chant wore off!"), [STRINGID_TRICKROOMENDS] = COMPOUND_STRING("The twisted dimensions returned to normal!"), [STRINGID_WONDERROOMENDS] = COMPOUND_STRING("Wonder Room wore off, and Defense and Sp. Def stats returned to normal!"), [STRINGID_MAGICROOMENDS] = COMPOUND_STRING("Magic Room wore off, and held items' effects returned to normal!"), [STRINGID_MUDSPORTENDS] = COMPOUND_STRING("The effects of Mud Sport have faded."), [STRINGID_WATERSPORTENDS] = COMPOUND_STRING("The effects of Water Sport have faded."), [STRINGID_GRAVITYENDS] = COMPOUND_STRING("Gravity returned to normal!"), - [STRINGID_AQUARINGHEAL] = COMPOUND_STRING("A veil of water restored {B_ATK_NAME_WITH_PREFIX2}'s HP!"), + [STRINGID_AQUARINGHEAL] = COMPOUND_STRING("A veil of water restored {B_ATK_NAME_WITH_PREFIX2}的HP!"), [STRINGID_ELECTRICTERRAINENDS] = COMPOUND_STRING("The electricity disappeared from the battlefield."), [STRINGID_MISTYTERRAINENDS] = COMPOUND_STRING("The mist disappeared from the battlefield."), [STRINGID_PSYCHICTERRAINENDS] = COMPOUND_STRING("The weirdness disappeared from the battlefield!"), [STRINGID_GRASSYTERRAINENDS] = COMPOUND_STRING("The grass disappeared from the battlefield."), - [STRINGID_TARGETABILITYSTATRAISE] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX}'s {B_DEF_ABILITY} raised its {B_BUFF1}!"), - [STRINGID_TARGETSSTATWASMAXEDOUT] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX}'s {B_DEF_ABILITY} maxed its {B_BUFF1}!"), - [STRINGID_ATTACKERABILITYSTATRAISE] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX}'s {B_ATK_ABILITY} raised its {B_BUFF1}!"), + [STRINGID_TARGETABILITYSTATRAISE] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX}的{B_DEF_ABILITY} raised its {B_BUFF1}!"), + [STRINGID_TARGETSSTATWASMAXEDOUT] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX}的{B_DEF_ABILITY} maxed its {B_BUFF1}!"), + [STRINGID_ATTACKERABILITYSTATRAISE] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX}的{B_ATK_ABILITY} raised its {B_BUFF1}!"), [STRINGID_POISONHEALHPUP] = COMPOUND_STRING("The poisoning healed {B_ATK_NAME_WITH_PREFIX2} a little bit!"), //don't think this message is displayed anymore [STRINGID_BADDREAMSDMG] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX} is tormented!"), [STRINGID_MOLDBREAKERENTERS] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX} breaks the mold!"), @@ -622,18 +622,18 @@ const u8 *const gBattleStringsTable[BATTLESTRINGS_COUNT] = [STRINGID_TURBOBLAZEENTERS] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX} is radiating a blazing aura!"), [STRINGID_SLOWSTARTENTERS] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX} is slow to get going!"), [STRINGID_SLOWSTARTEND] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} finally got its act together!"), - [STRINGID_SOLARPOWERHPDROP] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX}'s {B_ATK_ABILITY} takes its toll!"), //don't think this message is displayed anymore + [STRINGID_SOLARPOWERHPDROP] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX}的{B_ATK_ABILITY} takes its toll!"), //don't think this message is displayed anymore [STRINGID_AFTERMATHDMG] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} was hurt!"), [STRINGID_ANTICIPATIONACTIVATES] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX} shuddered!"), - [STRINGID_FOREWARNACTIVATES] = COMPOUND_STRING("{B_SCR_ACTIVE_ABILITY} alerted {B_SCR_NAME_WITH_PREFIX2} to {B_DEF_NAME_WITH_PREFIX2}'s {B_BUFF1}!"), - [STRINGID_ICEBODYHPGAIN] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX}'s {B_ATK_ABILITY} healed it a little bit!"), //don't think this message is displayed anymore + [STRINGID_FOREWARNACTIVATES] = COMPOUND_STRING("{B_SCR_ACTIVE_ABILITY} alerted {B_SCR_NAME_WITH_PREFIX2} to {B_DEF_NAME_WITH_PREFIX2}的{B_BUFF1}!"), + [STRINGID_ICEBODYHPGAIN] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX}的{B_ATK_ABILITY} healed it a little bit!"), //don't think this message is displayed anymore [STRINGID_SNOWWARNINGHAIL] = COMPOUND_STRING("It started to hail!"), [STRINGID_FRISKACTIVATES] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} frisked {B_DEF_NAME_WITH_PREFIX2} and found its {B_LAST_ITEM}!"), [STRINGID_UNNERVEENTERS] = COMPOUND_STRING("{B_DEF_TEAM1} team is too nervous to eat Berries!"), [STRINGID_HARVESTBERRY] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} harvested its {B_LAST_ITEM}!"), - [STRINGID_LASTABILITYRAISEDSTAT] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX}'s {B_LAST_ABILITY} raised its {B_BUFF1}!"), + [STRINGID_LASTABILITYRAISEDSTAT] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX}的{B_LAST_ABILITY} raised its {B_BUFF1}!"), [STRINGID_MAGICBOUNCEACTIVATES] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX} bounced the {B_ATK_NAME_WITH_PREFIX2} back!"), - [STRINGID_PROTEANTYPECHANGE] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX}'s {B_ATK_ABILITY} transformed it into the {B_BUFF1} type!"), + [STRINGID_PROTEANTYPECHANGE] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX}的{B_ATK_ABILITY} transformed it into the {B_BUFF1} type!"), [STRINGID_SYMBIOSISITEMPASS] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX} passed its {B_LAST_ITEM} to {B_EFF_NAME_WITH_PREFIX2} through {B_LAST_ABILITY}!"), [STRINGID_STEALTHROCKDMG] = COMPOUND_STRING("Pointed stones dug into {B_SCR_NAME_WITH_PREFIX2}!"), [STRINGID_TOXICSPIKESABSORBED] = COMPOUND_STRING("The poison spikes disappeared from the ground around {B_SCR_TEAM2} team!"), @@ -642,18 +642,18 @@ const u8 *const gBattleStringsTable[BATTLESTRINGS_COUNT] = [STRINGID_HEALINGWISHCAMETRUE] = COMPOUND_STRING("The healing wish came true for {B_ATK_NAME_WITH_PREFIX2}!"), [STRINGID_HEALINGWISHHEALED] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} regained health!"), [STRINGID_LUNARDANCECAMETRUE] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} became cloaked in mystical moonlight!"), - [STRINGID_CUSEDBODYDISABLED] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX}'s {B_BUFF1} was disabled by {B_DEF_NAME_WITH_PREFIX2}'s {B_DEF_ABILITY}!"), + [STRINGID_CUSEDBODYDISABLED] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX}的{B_BUFF1} was disabled by {B_DEF_NAME_WITH_PREFIX2}的{B_DEF_ABILITY}!"), [STRINGID_ATTACKERACQUIREDABILITY] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} acquired {B_ATK_ABILITY}!"), - [STRINGID_TARGETABILITYSTATLOWER] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX}'s {B_DEF_ABILITY} lowered its {B_BUFF1}!"), - [STRINGID_TARGETSTATWONTGOHIGHER] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX}'s {B_BUFF1} won't go any higher!"), - [STRINGID_PKMNMOVEBOUNCEDABILITY] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX}'s {B_CURRENT_MOVE} was bounced back by {B_DEF_NAME_WITH_PREFIX2}'s {B_DEF_ABILITY}!"), + [STRINGID_TARGETABILITYSTATLOWER] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX}的{B_DEF_ABILITY} lowered its {B_BUFF1}!"), + [STRINGID_TARGETSTATWONTGOHIGHER] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX}的{B_BUFF1} won't go any higher!"), + [STRINGID_PKMNMOVEBOUNCEDABILITY] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX}的{B_CURRENT_MOVE} was bounced back by {B_DEF_NAME_WITH_PREFIX2}的{B_DEF_ABILITY}!"), [STRINGID_IMPOSTERTRANSFORM] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} transformed into {B_DEF_NAME_WITH_PREFIX2} using {B_LAST_ABILITY}!"), [STRINGID_ASSAULTVESTDOESNTALLOW] = COMPOUND_STRING("The effects of the {B_LAST_ITEM} prevent status moves from being used!\p"), [STRINGID_GRAVITYPREVENTSUSAGE] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} can't use {B_CURRENT_MOVE} because of gravity!\p"), [STRINGID_HEALBLOCKPREVENTSUSAGE] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} was prevented from healing!\p"), [STRINGID_NOTDONEYET] = COMPOUND_STRING("This move effect is not done yet!\p"), [STRINGID_STICKYWEBUSED] = COMPOUND_STRING("A sticky web has been laid out on the ground around {B_DEF_TEAM2} team!"), - [STRINGID_QUASHSUCCESS] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX}'s move was postponed!"), + [STRINGID_QUASHSUCCESS] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX}的move was postponed!"), [STRINGID_PKMNBLEWAWAYTOXICSPIKES] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} blew away Toxic Spikes!"), [STRINGID_PKMNBLEWAWAYSTICKYWEB] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} blew away Sticky Web!"), [STRINGID_PKMNBLEWAWAYSTEALTHROCK] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} blew away Stealth Rock!"), @@ -663,8 +663,8 @@ const u8 *const gBattleStringsTable[BATTLESTRINGS_COUNT] = [STRINGID_TERRAINBECOMESGRASSY] = COMPOUND_STRING("Grass grew to cover the battlefield!"), [STRINGID_TERRAINBECOMESELECTRIC] = COMPOUND_STRING("An electric current ran across the battlefield!"), [STRINGID_TERRAINBECOMESPSYCHIC] = COMPOUND_STRING("The battlefield got weird!"), - [STRINGID_TARGETELECTRIFIED] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX}'s moves have been electrified!"), - [STRINGID_MEGAEVOREACTING] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX}'s {B_LAST_ITEM} is reacting to {B_ATK_TRAINER_NAME}'s Mega Ring!"), //actually displays the type of mega ring in inventory, but we didnt implement them :( + [STRINGID_TARGETELECTRIFIED] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX}的moves have been electrified!"), + [STRINGID_MEGAEVOREACTING] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX}的{B_LAST_ITEM} is reacting to {B_ATK_TRAINER_NAME}的Mega Ring!"), //actually displays the type of mega ring in inventory, but we didnt implement them :( [STRINGID_MEGAEVOEVOLVED] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} has Mega Evolved into Mega {B_BUFF1}!"), [STRINGID_DRASTICALLY] = gText_drastically, [STRINGID_SEVERELY] = gText_severely, @@ -678,7 +678,7 @@ const u8 *const gBattleStringsTable[BATTLESTRINGS_COUNT] = [STRINGID_COVEREDINPOWDER] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX} is covered in powder!"), [STRINGID_POWDEREXPLODES] = COMPOUND_STRING("When the flame touched the powder on the Pokémon, it exploded!"), [STRINGID_BELCHCANTSELECT] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} hasn't eaten any held Berries, so it can't possibly belch!\p"), - [STRINGID_SPECTRALTHIEFSTEAL] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} stole the target's boosted stats!"), + [STRINGID_SPECTRALTHIEFSTEAL] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} stole the target的boosted stats!"), [STRINGID_GRAVITYGROUNDING] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX} fell from the sky due to the gravity!"), [STRINGID_MISTYTERRAINPREVENTS] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX} surrounds itself with a protective mist!"), [STRINGID_GRASSYTERRAINHEALS] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} is healed by the grassy terrain!"), @@ -689,50 +689,50 @@ const u8 *const gBattleStringsTable[BATTLESTRINGS_COUNT] = [STRINGID_SWEETVEILPROTECTED] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX} can't fall asleep due to a veil of sweetness!"), [STRINGID_AROMAVEILPROTECTED] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX} is protected by an aromatic veil!"), [STRINGID_CELEBRATEMESSAGE] = COMPOUND_STRING("Congratulations, {B_PLAYER_NAME}!"), - [STRINGID_USEDINSTRUCTEDMOVE] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} followed {B_BUFF1}'s instructions!"), + [STRINGID_USEDINSTRUCTEDMOVE] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} followed {B_BUFF1}的instructions!"), [STRINGID_THROATCHOPENDS] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} can use sound-based moves again!"), [STRINGID_PKMNCANTUSEMOVETHROATCHOP] = COMPOUND_STRING("The effects of Throat Chop prevent {B_ATK_NAME_WITH_PREFIX2} from using certain moves!\p"), [STRINGID_LASERFOCUS] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} concentrated intensely!"), - [STRINGID_GEMACTIVATES] = COMPOUND_STRING("The {B_LAST_ITEM} strengthened {B_ATK_NAME_WITH_PREFIX2}'s power!"), + [STRINGID_GEMACTIVATES] = COMPOUND_STRING("The {B_LAST_ITEM} strengthened {B_ATK_NAME_WITH_PREFIX2}的power!"), [STRINGID_BERRYDMGREDUCES] = COMPOUND_STRING("The {B_LAST_ITEM} weakened the damage to {B_SCR_NAME_WITH_PREFIX2}!"), [STRINGID_AIRBALLOONFLOAT] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX} floats in the air with its Air Balloon!"), - [STRINGID_AIRBALLOONPOP] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX}'s Air Balloon popped!"), - [STRINGID_INCINERATEBURN] = COMPOUND_STRING("{B_EFF_NAME_WITH_PREFIX}'s {B_LAST_ITEM} was burnt up!"), - [STRINGID_BUGBITE] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} stole and ate its target's {B_LAST_ITEM}!"), - [STRINGID_ILLUSIONWOREOFF] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX}'s illusion wore off!"), - [STRINGID_ATTACKERCUREDTARGETSTATUS] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} cured {B_DEF_NAME_WITH_PREFIX2}'s problem!"), + [STRINGID_AIRBALLOONPOP] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX}的Air Balloon popped!"), + [STRINGID_INCINERATEBURN] = COMPOUND_STRING("{B_EFF_NAME_WITH_PREFIX}的{B_LAST_ITEM} was burnt up!"), + [STRINGID_BUGBITE] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} stole and ate its target的{B_LAST_ITEM}!"), + [STRINGID_ILLUSIONWOREOFF] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX}的illusion wore off!"), + [STRINGID_ATTACKERCUREDTARGETSTATUS] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} cured {B_DEF_NAME_WITH_PREFIX2}的problem!"), [STRINGID_ATTACKERLOSTFIRETYPE] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} burned itself out!"), - [STRINGID_HEALERCURE] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX}'s {B_LAST_ABILITY} cured {B_SCR_NAME_WITH_PREFIX2}'s problem!"), - [STRINGID_SCRIPTINGABILITYSTATRAISE] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX}'s {B_SCR_ACTIVE_ABILITY} raised its {B_BUFF1}!"), - [STRINGID_RECEIVERABILITYTAKEOVER] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX}'s {B_SCR_ACTIVE_ABILITY} was taken over!"), + [STRINGID_HEALERCURE] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX}的{B_LAST_ABILITY} cured {B_SCR_NAME_WITH_PREFIX2}的problem!"), + [STRINGID_SCRIPTINGABILITYSTATRAISE] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX}的{B_SCR_ACTIVE_ABILITY} raised its {B_BUFF1}!"), + [STRINGID_RECEIVERABILITYTAKEOVER] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX}的{B_SCR_ACTIVE_ABILITY} was taken over!"), [STRINGID_PKNMABSORBINGPOWER] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} is absorbing power!"), [STRINGID_NOONEWILLBEABLETORUNAWAY] = COMPOUND_STRING("No one will be able to run away during the next turn!"), [STRINGID_DESTINYKNOTACTIVATES] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX} fell in love because of the {B_LAST_ITEM}!"), [STRINGID_CLOAKEDINAFREEZINGLIGHT] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} became cloaked in a freezing light!"), [STRINGID_CLEARAMULETWONTLOWERSTATS] = COMPOUND_STRING("The effects of the {B_LAST_ITEM} held by {B_SCR_NAME_WITH_PREFIX2} prevents its stats from being lowered!"), - [STRINGID_FERVENTWISHREACHED] = COMPOUND_STRING("{B_ATK_TRAINER_NAME}'s fervent wish has reached {B_ATK_NAME_WITH_PREFIX2}!"), + [STRINGID_FERVENTWISHREACHED] = COMPOUND_STRING("{B_ATK_TRAINER_NAME}的fervent wish has reached {B_ATK_NAME_WITH_PREFIX2}!"), [STRINGID_AIRLOCKACTIVATES] = COMPOUND_STRING("The effects of the weather disappeared."), [STRINGID_PRESSUREENTERS] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX} is exerting its pressure!"), [STRINGID_DARKAURAENTERS] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX} is radiating a dark aura!"), [STRINGID_FAIRYAURAENTERS] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX} is radiating a fairy aura!"), - [STRINGID_AURABREAKENTERS] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX} reversed all other Pokémon's auras!"), + [STRINGID_AURABREAKENTERS] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX} reversed all other Pokémon的auras!"), [STRINGID_COMATOSEENTERS] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX} is drowsing!"), [STRINGID_SCREENCLEANERENTERS] = COMPOUND_STRING("All screens on the field were cleansed!"), [STRINGID_FETCHEDPOKEBALL] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX} found a {B_LAST_ITEM}!"), - [STRINGID_BATTLERABILITYRAISEDSTAT] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX}'s {B_SCR_ACTIVE_ABILITY} raised its {B_BUFF1}!"), + [STRINGID_BATTLERABILITYRAISEDSTAT] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX}的{B_SCR_ACTIVE_ABILITY} raised its {B_BUFF1}!"), [STRINGID_ASANDSTORMKICKEDUP] = COMPOUND_STRING("A sandstorm kicked up!"), [STRINGID_PKMNSWILLPERISHIN3TURNS] = COMPOUND_STRING("Both Pokémon will perish in three turns!"), //don't think this message is displayed anymore - [STRINGID_ABILITYRAISEDSTATDRASTICALLY] = COMPOUND_STRING("{B_DEF_ABILITY} raised {B_DEF_NAME_WITH_PREFIX2}'s {B_BUFF1} drastically!"), - [STRINGID_AURAFLAREDTOLIFE] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX}'s aura flared to life!"), + [STRINGID_ABILITYRAISEDSTATDRASTICALLY] = COMPOUND_STRING("{B_DEF_ABILITY} raised {B_DEF_NAME_WITH_PREFIX2}的{B_BUFF1} drastically!"), + [STRINGID_AURAFLAREDTOLIFE] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX}的aura flared to life!"), [STRINGID_ASONEENTERS] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX} has two Abilities!"), - [STRINGID_CURIOUSMEDICINEENTERS] = COMPOUND_STRING("{B_EFF_NAME_WITH_PREFIX}'s stat changes were removed!"), + [STRINGID_CURIOUSMEDICINEENTERS] = COMPOUND_STRING("{B_EFF_NAME_WITH_PREFIX}的stat changes were removed!"), [STRINGID_CANACTFASTERTHANKSTO] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} can act faster than normal, thanks to its {B_BUFF1}!"), [STRINGID_MICLEBERRYACTIVATES] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX} boosted the accuracy of its next move using {B_LAST_ITEM}!"), [STRINGID_PKMNSHOOKOFFTHETAUNT] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX} shook off the taunt!"), [STRINGID_PKMNGOTOVERITSINFATUATION] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX} got over its infatuation!"), - [STRINGID_ITEMCANNOTBEREMOVED] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX}'s item cannot be removed!"), + [STRINGID_ITEMCANNOTBEREMOVED] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX}的item cannot be removed!"), [STRINGID_STICKYBARBTRANSFER] = COMPOUND_STRING("The {B_LAST_ITEM} attached itself to {B_ATK_NAME_WITH_PREFIX2}!"), - [STRINGID_PKMNBURNHEALED] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX}'s burn was cured!"), + [STRINGID_PKMNBURNHEALED] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX}的burn was cured!"), [STRINGID_REDCARDACTIVATE] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX} held up its Red Card against {B_ATK_NAME_WITH_PREFIX2}!"), [STRINGID_EJECTBUTTONACTIVATE] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX} is switched out with the {B_LAST_ITEM}!"), [STRINGID_ATKGOTOVERINFATUATION] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} got over its infatuation!"), @@ -753,15 +753,15 @@ const u8 *const gBattleStringsTable[BATTLESTRINGS_COUNT] = [STRINGID_MYSTERIOUSAIRCURRENTBLOWSON] = COMPOUND_STRING("The mysterious strong winds blow on regardless!"), [STRINGID_ATTACKWEAKENEDBSTRONGWINDS] = COMPOUND_STRING("The mysterious strong winds weakened the attack!"), [STRINGID_STUFFCHEEKSCANTSELECT] = COMPOUND_STRING("It can't use the move because it doesn't have a Berry!\p"), - [STRINGID_PKMNREVERTEDTOPRIMAL] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX}'s Primal Reversion! It reverted to its primal state!"), + [STRINGID_PKMNREVERTEDTOPRIMAL] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX}的Primal Reversion! It reverted to its primal state!"), [STRINGID_BUTPOKEMONCANTUSETHEMOVE] = COMPOUND_STRING("But {B_ATK_NAME_WITH_PREFIX2} can't use the move!"), [STRINGID_BUTHOOPACANTUSEIT] = COMPOUND_STRING("But {B_ATK_NAME_WITH_PREFIX2} can't use it the way it is now!"), - [STRINGID_BROKETHROUGHPROTECTION] = COMPOUND_STRING("It broke through {B_DEF_NAME_WITH_PREFIX2}'s protection!"), + [STRINGID_BROKETHROUGHPROTECTION] = COMPOUND_STRING("It broke through {B_DEF_NAME_WITH_PREFIX2}的protection!"), [STRINGID_ABILITYALLOWSONLYMOVE] = COMPOUND_STRING("{B_ATK_ABILITY} only allows the use of {B_CURRENT_MOVE}!\p"), [STRINGID_SWAPPEDABILITIES] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX} swapped Abilities with its target!"), [STRINGID_PASTELVEILPROTECTED] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX} is protected by a pastel veil!"), [STRINGID_PASTELVEILENTERS] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX} was cured of its poisoning!"), - [STRINGID_BATTLERTYPECHANGEDTO] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX}'s type changed to {B_BUFF1}!"), + [STRINGID_BATTLERTYPECHANGEDTO] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX}的type changed to {B_BUFF1}!"), [STRINGID_BOTHCANNOLONGERESCAPE] = COMPOUND_STRING("Neither Pokémon can run away!"), [STRINGID_CANTESCAPEDUETOUSEDMOVE] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} can no longer escape because it used No Retreat!"), [STRINGID_PKMNBECAMEWEAKERTOFIRE] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX} became weaker to fire!"), @@ -784,7 +784,7 @@ const u8 *const gBattleStringsTable[BATTLESTRINGS_COUNT] = [STRINGID_ZMOVEZBOOSTCRIT] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX} boosted its critical-hit ratio using its Z-Power!"), [STRINGID_ZMOVERESTOREHP] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX} restored its HP using its Z-Power!"), [STRINGID_ZMOVESTATUP] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX} boosted its stats using its Z-Power!"), - [STRINGID_ZMOVEHPTRAP] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX}'s HP was restored by the Z-Power!"), + [STRINGID_ZMOVEHPTRAP] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX}的HP was restored by the Z-Power!"), [STRINGID_ATTACKEREXPELLEDTHEPOISON] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} managed to expel the poison so you wouldn't worry!"), [STRINGID_ATTACKERSHOOKITSELFAWAKE] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} shook itself awake so you wouldn't worry!"), [STRINGID_ATTACKERBROKETHROUGHPARALYSIS] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} gathered all its energy to break through its paralysis so you wouldn't worry!"), @@ -794,20 +794,20 @@ const u8 *const gBattleStringsTable[BATTLESTRINGS_COUNT] = [STRINGID_ATTACKERLOSTELECTRICTYPE] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} used up all its electricity!"), [STRINGID_ATTACKERSWITCHEDSTATWITHTARGET] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} switched {B_BUFF1} with its target!"), [STRINGID_BEINGHITCHARGEDPKMNWITHPOWER] = COMPOUND_STRING("Being hit by {B_CURRENT_MOVE} charged {B_DEF_NAME_WITH_PREFIX2} with power!"), - [STRINGID_SUNLIGHTACTIVATEDABILITY] = COMPOUND_STRING("The harsh sunlight activated {B_SCR_NAME_WITH_PREFIX2}'s Protosynthesis!"), - [STRINGID_STATWASHEIGHTENED] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX}'s {B_BUFF1} was heightened!"), - [STRINGID_ELECTRICTERRAINACTIVATEDABILITY] = COMPOUND_STRING("The Electric Terrain activated {B_SCR_NAME_WITH_PREFIX2}'s Quark Drive!"), - [STRINGID_ABILITYWEAKENEDSURROUNDINGMONSSTAT] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX}'s {B_SCR_ACTIVE_ABILITY} weakened the {B_BUFF1} of all surrounding Pokémon!\p"), + [STRINGID_SUNLIGHTACTIVATEDABILITY] = COMPOUND_STRING("The harsh sunlight activated {B_SCR_NAME_WITH_PREFIX2}的Protosynthesis!"), + [STRINGID_STATWASHEIGHTENED] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX}的{B_BUFF1} was heightened!"), + [STRINGID_ELECTRICTERRAINACTIVATEDABILITY] = COMPOUND_STRING("The Electric Terrain activated {B_SCR_NAME_WITH_PREFIX2}的Quark Drive!"), + [STRINGID_ABILITYWEAKENEDSURROUNDINGMONSSTAT] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX}的{B_SCR_ACTIVE_ABILITY} weakened the {B_BUFF1} of all surrounding Pokémon!\p"), [STRINGID_ATTACKERGAINEDSTRENGTHFROMTHEFALLEN] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX} gained strength from the fallen!"), - [STRINGID_PKMNSABILITYPREVENTSABILITY] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX}'s {B_SCR_ACTIVE_ABILITY} prevents {B_DEF_NAME_WITH_PREFIX2}'s {B_DEF_ABILITY} from working!"), //not in gen 5+, ability popup + [STRINGID_PKMNSABILITYPREVENTSABILITY] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX}的{B_SCR_ACTIVE_ABILITY} prevents {B_DEF_NAME_WITH_PREFIX2}的{B_DEF_ABILITY} from working!"), //not in gen 5+, ability popup [STRINGID_PREPARESHELLTRAP] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} set a shell trap!"), - [STRINGID_SHELLTRAPDIDNTWORK] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX}'s shell trap didn't work!"), + [STRINGID_SHELLTRAPDIDNTWORK] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX}的shell trap didn't work!"), [STRINGID_SPIKESDISAPPEAREDFROMTEAM] = COMPOUND_STRING("The spikes disappeared from the ground around {B_ATK_TEAM2} team!"), [STRINGID_TOXICSPIKESDISAPPEAREDFROMTEAM] = COMPOUND_STRING("The poison spikes disappeared from the ground around {B_ATK_TEAM2} team!"), [STRINGID_STICKYWEBDISAPPEAREDFROMTEAM] = COMPOUND_STRING("The sticky web has disappeared from the ground around {B_ATK_TEAM2} team!"), [STRINGID_STEALTHROCKDISAPPEAREDFROMTEAM] = COMPOUND_STRING("The pointed stones disappeared from around {B_ATK_TEAM2} team!"), [STRINGID_COULDNTFULLYPROTECT] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX} couldn't fully protect itself and got hurt!"), - [STRINGID_STOCKPILEDEFFECTWOREOFF] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX}'s stockpiled effect wore off!"), + [STRINGID_STOCKPILEDEFFECTWOREOFF] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX}的stockpiled effect wore off!"), [STRINGID_PKMNREVIVEDREADYTOFIGHT] = COMPOUND_STRING("{B_BUFF1} was revived and is ready to fight again!"), [STRINGID_ITEMRESTOREDSPECIESHEALTH] = COMPOUND_STRING("{B_BUFF1} had its HP restored."), [STRINGID_ITEMCUREDSPECIESSTATUS] = COMPOUND_STRING("{B_BUFF1} had its status healed!"), @@ -815,17 +815,17 @@ const u8 *const gBattleStringsTable[BATTLESTRINGS_COUNT] = [STRINGID_THUNDERCAGETRAPPED] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} trapped {B_DEF_NAME_WITH_PREFIX2}!"), [STRINGID_PKMNHURTBYFROSTBITE] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} was hurt by its frostbite!"), [STRINGID_PKMNGOTFROSTBITE] = COMPOUND_STRING("{B_EFF_NAME_WITH_PREFIX} got frostbite!"), - [STRINGID_PKMNSITEMHEALEDFROSTBITE] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX}'s {B_LAST_ITEM} cured its frostbite!"), + [STRINGID_PKMNSITEMHEALEDFROSTBITE] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX}的{B_LAST_ITEM} cured its frostbite!"), [STRINGID_ATTACKERHEALEDITSFROSTBITE] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} cured its frostbite through sheer determination so you wouldn't worry!"), - [STRINGID_PKMNFROSTBITEHEALED] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX}'s frostbite was cured!"), - [STRINGID_PKMNFROSTBITEHEALED2] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX}'s frostbite was cured!"), - [STRINGID_PKMNFROSTBITEHEALEDBY] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX}'s {B_CURRENT_MOVE} cured its frostbite!"), - [STRINGID_MIRRORHERBCOPIED] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX} used its Mirror Herb to mirror its opponent's stat changes!"), + [STRINGID_PKMNFROSTBITEHEALED] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX}的frostbite was cured!"), + [STRINGID_PKMNFROSTBITEHEALED2] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX}的frostbite was cured!"), + [STRINGID_PKMNFROSTBITEHEALEDBY] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX}的{B_CURRENT_MOVE} cured its frostbite!"), + [STRINGID_MIRRORHERBCOPIED] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX} used its Mirror Herb to mirror its opponent的stat changes!"), [STRINGID_STARTEDSNOW] = COMPOUND_STRING("It started to snow!"), [STRINGID_SNOWCONTINUES] = COMPOUND_STRING("Snow continues to fall."), //not in gen 5+ (lol) [STRINGID_SNOWSTOPPED] = COMPOUND_STRING("The snow stopped."), [STRINGID_SNOWWARNINGSNOW] = COMPOUND_STRING("It started to snow!"), - [STRINGID_PKMNITEMMELTED] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} corroded {B_DEF_NAME_WITH_PREFIX2}'s {B_LAST_ITEM}!"), + [STRINGID_PKMNITEMMELTED] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} corroded {B_DEF_NAME_WITH_PREFIX2}的{B_LAST_ITEM}!"), [STRINGID_ULTRABURSTREACTING] = COMPOUND_STRING("Bright light is about to burst out of {B_ATK_NAME_WITH_PREFIX2}!"), [STRINGID_ULTRABURSTCOMPLETED] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} regained its true power through Ultra Burst!"), [STRINGID_TEAMGAINEDEXP] = COMPOUND_STRING("The rest of your team gained Exp. Points thanks to the Exp. Share!\p"), @@ -838,19 +838,19 @@ const u8 *const gBattleStringsTable[BATTLESTRINGS_COUNT] = [STRINGID_PKMNBLEWAWAYSHARPSTEEL] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} blew away sharp steel!"), [STRINGID_SHARPSTEELDISAPPEAREDFROMTEAM] = COMPOUND_STRING("The pieces of steel surrounding {B_ATK_TEAM2} Pokémon disappeared!"), [STRINGID_TEAMTRAPPEDWITHVINES] = COMPOUND_STRING("{B_DEF_TEAM1} Pokémon got trapped with vines!"), - [STRINGID_PKMNHURTBYVINES] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} is hurt by G-Max Vine Lash's ferocious beating!"), + [STRINGID_PKMNHURTBYVINES] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} is hurt by G-Max Vine Lash的ferocious beating!"), [STRINGID_TEAMCAUGHTINVORTEX] = COMPOUND_STRING("{B_DEF_TEAM1} Pokémon got caught in a vortex of water!"), - [STRINGID_PKMNHURTBYVORTEX] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} is hurt by G-Max Cannonade's vortex!"), + [STRINGID_PKMNHURTBYVORTEX] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} is hurt by G-Max Cannonade的vortex!"), [STRINGID_TEAMSURROUNDEDBYFIRE] = COMPOUND_STRING("{B_DEF_TEAM1} Pokémon were surrounded by fire!"), - [STRINGID_PKMNBURNINGUP] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} is burning up within G-Max Wildfire's flames!"), + [STRINGID_PKMNBURNINGUP] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} is burning up within G-Max Wildfire的flames!"), [STRINGID_TEAMSURROUNDEDBYROCKS] = COMPOUND_STRING("{B_DEF_TEAM1} Pokémon became surrounded by rocks!"), [STRINGID_PKMNHURTBYROCKSTHROWN] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} is hurt by rocks thrown out by G-Max Volcalith!"), [STRINGID_MOVEBLOCKEDBYDYNAMAX] = COMPOUND_STRING("The move was blocked by the power of Dynamax!"), [STRINGID_ZEROTOHEROTRANSFORMATION] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX} underwent a heroic transformation!"), - [STRINGID_THETWOMOVESBECOMEONE] = COMPOUND_STRING("The two moves have become one! It's a combined move!{PAUSE 16}"), - [STRINGID_ARAINBOWAPPEAREDONSIDE] = COMPOUND_STRING("A rainbow appeared in the sky on {B_ATK_TEAM2} team's side!"), - [STRINGID_THERAINBOWDISAPPEARED] = COMPOUND_STRING("The rainbow on {B_ATK_TEAM2} team's side disappeared!"), - [STRINGID_WAITINGFORPARTNERSMOVE] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} is waiting for {B_ATK_PARTNER_NAME}'s move…{PAUSE 16}"), + [STRINGID_THETWOMOVESBECOMEONE] = COMPOUND_STRING("The two moves have become one! It'sa combined move!{PAUSE 16}"), + [STRINGID_ARAINBOWAPPEAREDONSIDE] = COMPOUND_STRING("A rainbow appeared in the sky on {B_ATK_TEAM2} team的side!"), + [STRINGID_THERAINBOWDISAPPEARED] = COMPOUND_STRING("The rainbow on {B_ATK_TEAM2} team的side disappeared!"), + [STRINGID_WAITINGFORPARTNERSMOVE] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} is waiting for {B_ATK_PARTNER_NAME}的move…{PAUSE 16}"), [STRINGID_SEAOFFIREENVELOPEDSIDE] = COMPOUND_STRING("A sea of fire enveloped {B_DEF_TEAM2} team!"), [STRINGID_HURTBYTHESEAOFFIRE] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} was hurt by the sea of fire!"), [STRINGID_THESEAOFFIREDISAPPEARED] = COMPOUND_STRING("The sea of fire around {B_ATK_TEAM2} team disappeared!"), @@ -865,7 +865,7 @@ const u8 *const gBattleStringsTable[BATTLESTRINGS_COUNT] = [STRINGID_CLOAKEDINAHARSHLIGHT] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} became cloaked in a harsh light!"), [STRINGID_SUPERSWEETAROMAWAFTS] = COMPOUND_STRING("A supersweet aroma is wafting from the syrup covering {B_ATK_NAME_WITH_PREFIX2}!"), [STRINGID_DIMENSIONSWERETWISTED] = COMPOUND_STRING("The dimensions were twisted!"), - [STRINGID_BIZARREARENACREATED] = COMPOUND_STRING("A bizarre area was created in which Pokémon's held items lose their effects!"), + [STRINGID_BIZARREARENACREATED] = COMPOUND_STRING("A bizarre area was created in which Pokémon的held items lose their effects!"), [STRINGID_BIZARREAREACREATED] = COMPOUND_STRING("A bizarre area was created in which Defense and Sp. Def stats are swapped!"), [STRINGID_TIDYINGUPCOMPLETE] = COMPOUND_STRING("Tidying up complete!"), [STRINGID_PKMNTERASTALLIZEDINTO] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} terastallized into the {B_BUFF1} type!"), @@ -873,15 +873,15 @@ const u8 *const gBattleStringsTable[BATTLESTRINGS_COUNT] = [STRINGID_FOGCREPTUP] = COMPOUND_STRING("Fog crept up as thick as soup!"), [STRINGID_FOGISDEEP] = COMPOUND_STRING("The fog is deep…"), [STRINGID_FOGLIFTED] = COMPOUND_STRING("The fog lifted."), - [STRINGID_PKMNMADESHELLGLEAM] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX} made its shell gleam! It's distorting type matchups!"), + [STRINGID_PKMNMADESHELLGLEAM] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX} made its shell gleam! It'sdistorting type matchups!"), [STRINGID_FICKLEBEAMDOUBLED] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} is going all out for this attack!"), - [STRINGID_COMMANDERACTIVATES] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX} was swallowed by Dondozo and became Dondozo's commander!"), - [STRINGID_POKEFLUTECATCHY] = COMPOUND_STRING("{B_PLAYER_NAME} played the {B_LAST_ITEM}.\pNow, that's a catchy tune!"), + [STRINGID_COMMANDERACTIVATES] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX} was swallowed by Dondozo and became Dondozo的commander!"), + [STRINGID_POKEFLUTECATCHY] = COMPOUND_STRING("{B_PLAYER_NAME} played the {B_LAST_ITEM}.\pNow, that的a catchy tune!"), [STRINGID_POKEFLUTE] = COMPOUND_STRING("{B_PLAYER_NAME} played the {B_LAST_ITEM}."), [STRINGID_MONHEARINGFLUTEAWOKE] = COMPOUND_STRING("The Pokémon hearing the flute awoke!"), [STRINGID_SUNLIGHTISHARSH] = COMPOUND_STRING("The sunlight is harsh!"), - [STRINGID_ITISHAILING] = COMPOUND_STRING("It's hailing!"), - [STRINGID_ITISSNOWING] = COMPOUND_STRING("It's snowing!"), + [STRINGID_ITISHAILING] = COMPOUND_STRING("It'shailing!"), + [STRINGID_ITISSNOWING] = COMPOUND_STRING("It'ssnowing!"), [STRINGID_ISCOVEREDWITHGRASS] = COMPOUND_STRING("The battlefield is covered with grass!"), [STRINGID_MISTSWIRLSAROUND] = COMPOUND_STRING("Mist swirls around the battlefield!"), [STRINGID_ELECTRICCURRENTISRUNNING] = COMPOUND_STRING("An electric current is running across the battlefield!"), @@ -1131,7 +1131,7 @@ const u16 gStatDownStringIds[] = [B_MSG_STAT_FELL_EMPTY] = STRINGID_EMPTYSTRING3, }; -// Index copied from move's index in sTrappingMoves +// Index copied from move的index in sTrappingMoves const u16 gWrappedStringIds[NUM_TRAPPING_MOVES] = { [B_MSG_WRAPPED_BIND] = STRINGID_PKMNSQUEEZEDBYBIND, // MOVE_BIND @@ -1447,7 +1447,7 @@ const u8 gText_Win[] = _("{HIGHLIGHT TRANSPARENT}Win"); const u8 gText_Loss[] = _("{HIGHLIGHT TRANSPARENT}Loss"); const u8 gText_Draw[] = _("{HIGHLIGHT TRANSPARENT}Draw"); static const u8 sText_SpaceIs[] = _(" is"); -static const u8 sText_ApostropheS[] = _("'s"); +static const u8 sText_ApostropheS[] = _("的"); const u8 gText_BattleTourney[] = _("BATTLE TOURNEY"); const u8 *const gRoundsStringTable[DOME_ROUNDS_COUNT] = @@ -1490,8 +1490,8 @@ const u8 *const gRefereeStringsTable[] = [B_MSG_REF_JUDGE_MIND] = COMPOUND_STRING("REFEREE: Judging category 1, Mind! The POKéMON showing the most guts!\p"), [B_MSG_REF_JUDGE_SKILL] = COMPOUND_STRING("REFEREE: Judging category 2, Skill! The POKéMON using moves the best!\p"), [B_MSG_REF_JUDGE_BODY] = COMPOUND_STRING("REFEREE: Judging category 3, Body! The POKéMON with the most vitality!\p"), - [B_MSG_REF_PLAYER_WON] = COMPOUND_STRING("REFEREE: Judgment: {B_BUFF1} to {B_BUFF2}! The winner is {B_PLAYER_NAME}'s {B_PLAYER_MON1_NAME}!\p"), - [B_MSG_REF_OPPONENT_WON] = COMPOUND_STRING("REFEREE: Judgment: {B_BUFF1} to {B_BUFF2}! The winner is {B_TRAINER1_NAME}'s {B_OPPONENT_MON1_NAME}!\p"), + [B_MSG_REF_PLAYER_WON] = COMPOUND_STRING("REFEREE: Judgment: {B_BUFF1} to {B_BUFF2}! The winner is {B_PLAYER_NAME}的{B_PLAYER_MON1_NAME}!\p"), + [B_MSG_REF_OPPONENT_WON] = COMPOUND_STRING("REFEREE: Judgment: {B_BUFF1} to {B_BUFF2}! The winner is {B_TRAINER1_NAME}的{B_OPPONENT_MON1_NAME}!\p"), [B_MSG_REF_DRAW] = COMPOUND_STRING("REFEREE: Judgment: 3 to 3! We have a draw!\p"), [B_MSG_REF_COMMENCE_BATTLE] = COMPOUND_STRING("REFEREE: {B_PLAYER_MON1_NAME} VS {B_OPPONENT_MON1_NAME}! Commence battling!"), }; @@ -1500,7 +1500,7 @@ static const u8 sText_Trainer1Fled[] = _( "{PLAY_SE SE_FLEE}{B_TRAINER1_NAME_WIT static const u8 sText_PlayerLostAgainstTrainer1[] = _("You lost to {B_TRAINER1_NAME_WITH_CLASS}!"); static const u8 sText_PlayerBattledToDrawTrainer1[] = _("You battled to a draw against {B_TRAINER1_NAME_WITH_CLASS}!"); const u8 gText_RecordBattleToPass[] = _("Would you like to record your battle\non your Frontier Pass?"); -const u8 gText_BattleRecordedOnPass[] = _("{B_PLAYER_NAME}'s battle result was recorded\non the Frontier Pass."); +const u8 gText_BattleRecordedOnPass[] = _("{B_PLAYER_NAME}的battle result was recorded\non the Frontier Pass."); static const u8 sText_LinkTrainerWantsToBattlePause[] = _("You are challenged by {B_LINK_OPPONENT1_NAME}!\p"); static const u8 sText_TwoLinkTrainersWantToBattlePause[] = _("You are challenged by {B_LINK_OPPONENT1_NAME} and {B_LINK_OPPONENT2_NAME}!\p"); static const u8 sText_Your1[] = _("Your"); diff --git a/src/berry_fix_program.c b/src/berry_fix_program.c index 5900cb298a..92bc6b510d 100644 --- a/src/berry_fix_program.c +++ b/src/berry_fix_program.c @@ -34,27 +34,27 @@ static int BerryFix_TrySetScene(int); static void BerryFix_SetScene(int); static void BerryFix_HideScene(void); -static const u8 sText_BerryProgramUpdate[] = _("Berry Program Update"); -static const u8 sText_RubySapphire[] = _("Ruby/Sapphire"); -static const u8 sText_Emerald[] = _("Emerald"); -static const u8 sText_BerryProgramWillBeUpdatedPressA[] = _("The Berry Program on your POKéMON\n" - "Ruby/Sapphire Game Pak will be updated.\n" - "{COLOR RED}{SHADOW LIGHT_RED}Press the A Button."); -static const u8 sText_EnsureGBAConnectionMatches[] = _("Please ensure the connection of your\n" - "Game Boy Advance system matches this.\n" - "{COLOR RED}{SHADOW LIGHT_RED}YES: Press the A Button.\n" - "NO: Turn off the power and try again."); -static const u8 sText_TurnOffPowerHoldingStartSelect[] = _("Please turn on the power of POKéMON\n" - "Ruby/Sapphire while holding START and\n" - "SELECT simultaneously. Then, ensure\n" - "the picture above appears."); -static const u8 sText_TransmittingPleaseWait[] = _("Transmitting. Please wait.\n" - "{COLOR RED}{SHADOW LIGHT_RED}Please do not turn off the power or\n" - "unplug the Game Boy Advance Game\nLink Cable."); -static const u8 sText_PleaseFollowInstructionsOnScreen[] = _("Please follow the instructions on your\n" - "POKéMON Ruby/Sapphire screen."); -static const u8 sText_TransmissionFailureTryAgain[] = _("Transmission failure.\n" - "{COLOR RED}{SHADOW LIGHT_RED}Please try again."); +static const u8 sText_BerryProgramUpdate[] = _("树果问题修复补丁程序"); +static const u8 sText_RubySapphire[] = _("红宝石·蓝宝石"); +static const u8 sText_Emerald[] = _("绿宝石"); +static const u8 sText_BerryProgramWillBeUpdatedPressA[] = _("{COLOR DARK_GRAY}{SHADOW LIGHT_GRAY}{CLEAR_TO 24}针对精灵宝可梦:红宝石·蓝宝石\n" + "{CLEAR_TO 12}树果问题进行修复的补丁程序已经就绪\n" + "\n{COLOR RED}{SHADOW LIGHT_RED}{CLEAR_TO 8}请按下A键继续。"); +static const u8 sText_EnsureGBAConnectionMatches[] = _("{COLOR DARK_GRAY}{SHADOW LIGHT_GRAY}请确认两台GBA游戏机\n" + "是否已经按照上图所示这样的方式连接。\n" + "{COLOR RED}{SHADOW LIGHT_RED}确认,没有问题{CLEAR_TO 12} ▶按下A键\n" + "不是{CLEAR_TO 12} ▶关机重启再试一次"); +static const u8 sText_TurnOffPowerHoldingStartSelect[] = _("{COLOR DARK_GRAY}{SHADOW LIGHT_GRAY}请一边按住开始键和选择键,一边打开\n" + "插有精灵宝可梦红蓝宝石卡带的GBA电源。\n" + "完成以上步骤后,请确认该GBA上\n" + "是否已经出现上面的开机画面。"); +static const u8 sText_TransmittingPleaseWait[] = _("正在建立通信连接\n" + "请稍等……\n" + "\n{COLOR RED}{SHADOW LIGHT_RED}{CLEAR_TO 24}请勿拔插通信数据线!"); +static const u8 sText_PleaseFollowInstructionsOnScreen[] = _("请根据红宝石·蓝宝石\n" + "游戏画面操作。"); +static const u8 sText_TransmissionFailureTryAgain[] = _("\n{CLEAR_TO 12}通信连接失败!\n" + "\n{COLOR RED}{SHADOW LIGHT_RED}{CLEAR_TO 12}请关机并重新再试一次。"); static const struct BgTemplate sBerryFixBgTemplates[] = { { diff --git a/src/berry_tag_screen.c b/src/berry_tag_screen.c index b47366a971..3900a2ae1f 100644 --- a/src/berry_tag_screen.c +++ b/src/berry_tag_screen.c @@ -145,11 +145,11 @@ static const struct WindowTemplate sWindowTemplates[] = static const u8 *const sBerryFirmnessStrings[] = { [BERRY_FIRMNESS_UNKNOWN] = COMPOUND_STRING("???"), - [BERRY_FIRMNESS_VERY_SOFT] = COMPOUND_STRING("Very soft"), - [BERRY_FIRMNESS_SOFT] = COMPOUND_STRING("Soft"), - [BERRY_FIRMNESS_HARD] = COMPOUND_STRING("Hard"), - [BERRY_FIRMNESS_VERY_HARD] = COMPOUND_STRING("Very hard"), - [BERRY_FIRMNESS_SUPER_HARD] = COMPOUND_STRING("Super hard") + [BERRY_FIRMNESS_VERY_SOFT] = COMPOUND_STRING("非常软"), + [BERRY_FIRMNESS_SOFT] = COMPOUND_STRING("软"), + [BERRY_FIRMNESS_HARD] = COMPOUND_STRING("硬"), + [BERRY_FIRMNESS_VERY_HARD] = COMPOUND_STRING("非常硬"), + [BERRY_FIRMNESS_SUPER_HARD] = COMPOUND_STRING("特别硬") }; // this file's functions @@ -174,11 +174,11 @@ static void Task_DisplayAnotherBerry(u8 taskId); static void TryChangeDisplayedBerry(u8 taskId, s8 toMove); static void HandleBagCursorPositionChange(s8 toMove); -static const u8 sText_SizeSlash[] = _("SIZE /"); -static const u8 sText_FirmSlash[] = _("FIRM /"); -static const u8 sText_Var1DotVar2[] = _("{STR_VAR_1}.{STR_VAR_2}”"); +static const u8 sText_SizeSlash[] = _("大小"); +static const u8 sText_FirmSlash[] = _("硬度"); +static const u8 sText_Var1DotVar2[] = _("{STR_VAR_1}.{STR_VAR_2} CM");//修改,树果标签尺寸公制显示 static const u8 sText_NumberVar1Var2[] = _("{NO}{STR_VAR_1} {STR_VAR_2}"); -static const u8 sText_BerryTag[] = _("BERRY TAG"); +static const u8 sText_BerryTag[] = _("树果标签"); static const u8 sText_ThreeMarks[] = _("???"); // code @@ -424,16 +424,23 @@ static void PrintBerrySize(void) AddTextPrinterParameterized(WIN_SIZE_FIRM, FONT_NORMAL, sText_SizeSlash, 0, 1, TEXT_SKIP_DRAW, NULL); if (berry->size != 0) { - u32 inches, fraction; + /*u32 inches, fraction; inches = 1000 * berry->size / 254; if (inches % 10 > 4) inches += 10; fraction = (inches % 100) / 10; - inches /= 100; + inches /= 100;*/ + //修改,树果标签尺寸公制显示 + u32 size1, size2; + size1 = berry->size / 10; //小数点前一位 + size2 = (berry->size % 10); // 小数点后一位 - ConvertIntToDecimalStringN(gStringVar1, inches, STR_CONV_MODE_LEFT_ALIGN, 2); - ConvertIntToDecimalStringN(gStringVar2, fraction, STR_CONV_MODE_LEFT_ALIGN, 2); + + //ConvertIntToDecimalStringN(gStringVar1, inches, STR_CONV_MODE_LEFT_ALIGN, 2); + ConvertIntToDecimalStringN(gStringVar1, size1, STR_CONV_MODE_LEFT_ALIGN, 2); + //ConvertIntToDecimalStringN(gStringVar2, fraction, STR_CONV_MODE_LEFT_ALIGN, 2); + ConvertIntToDecimalStringN(gStringVar2, size2, STR_CONV_MODE_LEFT_ALIGN, 2); StringExpandPlaceholders(gStringVar4, sText_Var1DotVar2); AddTextPrinterParameterized(WIN_SIZE_FIRM, FONT_NORMAL, gStringVar4, 0x28, 1, 0, NULL); } diff --git a/src/item_menu.c b/src/item_menu.c index ff5d569f96..04a0febfb1 100755 --- a/src/item_menu.c +++ b/src/item_menu.c @@ -278,12 +278,12 @@ static const struct MenuAction sItemMenuActions[] = { [ACTION_GIVE] = {gMenuText_Give, {ItemMenu_Give}}, [ACTION_CANCEL] = {gText_Cancel2, {ItemMenu_Cancel}}, [ACTION_BATTLE_USE] = {gMenuText_Use, {ItemMenu_UseInBattle}}, - [ACTION_CHECK] = {COMPOUND_STRING("CHECK"), {ItemMenu_UseOutOfBattle}}, - [ACTION_WALK] = {COMPOUND_STRING("WALK"), {ItemMenu_UseOutOfBattle}}, - [ACTION_DESELECT] = {COMPOUND_STRING("DESELECT"), {ItemMenu_Register}}, - [ACTION_CHECK_TAG] = {COMPOUND_STRING("CHECK TAG"), {ItemMenu_CheckTag}}, + [ACTION_CHECK] = {COMPOUND_STRING("查看"), {ItemMenu_UseOutOfBattle}}, + [ACTION_WALK] = {COMPOUND_STRING("放下"), {ItemMenu_UseOutOfBattle}}, + [ACTION_DESELECT] = {COMPOUND_STRING("取消登录"), {ItemMenu_Register}}, + [ACTION_CHECK_TAG] = {COMPOUND_STRING("查看标签"), {ItemMenu_CheckTag}}, [ACTION_CONFIRM] = {gMenuText_Confirm, {Task_FadeAndCloseBagMenu}}, - [ACTION_SHOW] = {COMPOUND_STRING("SHOW"), {ItemMenu_Show}}, + [ACTION_SHOW] = {COMPOUND_STRING("展示"), {ItemMenu_Show}}, [ACTION_GIVE_FAVOR_LADY] = {gMenuText_Give2, {ItemMenu_GiveFavorLady}}, [ACTION_CONFIRM_QUIZ_LADY] = {gMenuText_Confirm, {ItemMenu_ConfirmQuizLady}}, [ACTION_DUMMY] = {gText_EmptyString2, {NULL}} diff --git a/src/item_use.c b/src/item_use.c index c609614292..ab46b3b296 100644 --- a/src/item_use.c +++ b/src/item_use.c @@ -80,20 +80,20 @@ static void CB2_OpenPokeblockFromBag(void); static void ItemUseOnFieldCB_Honey(u8 taskId); static bool32 IsValidLocationForVsSeeker(void); -static const u8 sText_CantDismountBike[] = _("You can't dismount your BIKE here.{PAUSE_UNTIL_PRESS}"); -static const u8 sText_ItemFinderNearby[] = _("Huh?\nThe ITEMFINDER's responding!\pThere's an item buried around here!{PAUSE_UNTIL_PRESS}"); -static const u8 sText_ItemFinderOnTop[] = _("Oh!\nThe ITEMFINDER's shaking wildly!{PAUSE_UNTIL_PRESS}"); -static const u8 sText_ItemFinderNothing[] = _("… … … …Nope!\nThere's no response.{PAUSE_UNTIL_PRESS}"); -static const u8 sText_CoinCase[] = _("Your COINS:\n{STR_VAR_1}{PAUSE_UNTIL_PRESS}"); -static const u8 sText_PowderQty[] = _("POWDER QTY: {STR_VAR_1}{PAUSE_UNTIL_PRESS}"); -static const u8 sText_BootedUpTM[] = _("Booted up a TM."); -static const u8 sText_BootedUpHM[] = _("Booted up an HM."); -static const u8 sText_TMHMContainedVar1[] = _("It contained\n{STR_VAR_1}.\pTeach {STR_VAR_1}\nto a POKéMON?"); -static const u8 sText_UsedVar2WildLured[] = _("{PLAYER} used the\n{STR_VAR_2}.\pWild POKéMON will be lured.{PAUSE_UNTIL_PRESS}"); -static const u8 sText_UsedVar2WildRepelled[] = _("{PLAYER} used the\n{STR_VAR_2}.\pWild POKéMON will be repelled.{PAUSE_UNTIL_PRESS}"); -static const u8 sText_PlayedPokeFluteCatchy[] = _("Played the POKé FLUTE.\pNow, that's a catchy tune!{PAUSE_UNTIL_PRESS}"); -static const u8 sText_PlayedPokeFlute[] = _("Played the POKé FLUTE."); -static const u8 sText_PokeFluteAwakenedMon[] = _("The POKé FLUTE awakened sleeping\nPOKéMON.{PAUSE_UNTIL_PRESS}"); +static const u8 sText_CantDismountBike[] = _("这里不能下车!{PAUSE_UNTIL_PRESS}"); +static const u8 sText_ItemFinderNearby[] = _("哦!\n机器有反应了!\p附近有埋着道具!{PAUSE_UNTIL_PRESS}"); +static const u8 sText_ItemFinderOnTop[] = _("机器在脚下\n反应得很剧烈了!{PAUSE_UNTIL_PRESS}"); +static const u8 sText_ItemFinderNothing[] = _("…… …… 呼!\n…… 什么反应都没有!{PAUSE_UNTIL_PRESS}"); +static const u8 sText_CoinCase[] = _("你现在的代币\n{STR_VAR_1}枚{PAUSE_UNTIL_PRESS}"); +static const u8 sText_PowderQty[] = _("粉末量 {STR_VAR_1}{PAUSE_UNTIL_PRESS}"); +static const u8 sText_BootedUpTM[] = _("启动了招式学习器!"); +static const u8 sText_BootedUpHM[] = _("启动了秘传招式学习器!"); +static const u8 sText_TMHMContainedVar1[] = _("里面有被记录着\n{STR_VAR_1}!\p要让宝可梦学会\n{STR_VAR_1}吗?"); +static const u8 sText_UsedVar2WildLured[] = _("{PLAYER}\n使用了{STR_VAR_2}!\p野生的宝可梦们\n会被引诱过来。{PAUSE_UNTIL_PRESS}"); +static const u8 sText_UsedVar2WildRepelled[] = _("{PLAYER}\n使用了{STR_VAR_2}!\p野生的宝可梦们\n会被驱赶不再出现。{PAUSE_UNTIL_PRESS}"); +static const u8 sText_PlayedPokeFluteCatchy[] = _("{PLAYER}\n吹响了宝可梦之笛!\p嗯……不错的音色!{PAUSE_UNTIL_PRESS}"); +static const u8 sText_PlayedPokeFlute[] = _("{PLAYER}\n吹响了宝可梦之笛!"); +static const u8 sText_PokeFluteAwakenedMon[] = _("听到宝可梦之笛声音的\n宝可梦醒来了!{PAUSE_UNTIL_PRESS}"); // EWRAM variables EWRAM_DATA static void(*sItemUseOnFieldCB)(u8 taskId) = NULL; diff --git a/src/pokedex.c b/src/pokedex.c index 141ae3cdd2..2b54a77744 100644 --- a/src/pokedex.c +++ b/src/pokedex.c @@ -282,9 +282,9 @@ static u8* ReplaceDecimalSeparator(const u8* originalString); static void PrintOwnedMonMeasurements(u16 species); static void PrintOwnedMonHeight(u16 species); static void PrintOwnedMonWeight(u16 species); -static u8* ConvertMonHeightToImperialString(u32 height); +//static u8* ConvertMonHeightToImperialString(u32 height); static u8* ConvertMonHeightToMetricString(u32 height); -static u8* ConvertMonWeightToImperialString(u32 weight); +//static u8* ConvertMonWeightToImperialString(u32 weight); static u8* ConvertMonWeightToMetricString(u32 weight); static u8* ConvertMeasurementToMetricString(u32 num, u32* index); static void ResetOtherVideoRegisters(u16); @@ -862,7 +862,7 @@ static const struct WindowTemplate sPokemonList_WindowTemplate[] = static const u8 sText_No0000[] = _("{NO}0000"); static const u8 sText_No000[] = _("{NO}000"); static const u8 sCaughtBall_Gfx[] = INCBIN_U8("graphics/pokedex/caught_ball.4bpp"); -static const u8 sText_TenDashes[] = _("----------"); +static const u8 sText_TenDashes[] = _("------------"); ALIGNED(4) static const u8 sExpandedPlaceholder_PokedexDescription[] = _(""); @@ -1000,7 +1000,7 @@ static const struct WindowTemplate sNewEntryInfoScreen_WindowTemplates[] = DUMMY_WIN_TEMPLATE }; -static const u8 sText_TenDashes2[] = _("----------"); +static const u8 sText_TenDashes2[] = _("------------"); // First character in range followed by number of characters in range for upper and lowercase static const u8 sLetterSearchRanges[][4] = @@ -2347,7 +2347,8 @@ static void PrintMonName(u8 windowId, u8 fontId, const u8 *str, u8 left, u8 top) { static const u8 color[3] = { TEXT_COLOR_TRANSPARENT, TEXT_DYNAMIC_COLOR_6, TEXT_COLOR_LIGHT_GRAY }; fontId = GetFontIdToFit(str, fontId, 0, 50); - AddTextPrinterParameterized4(windowId, fontId, left * 8, (top * 8) + 1, 0, 0, color, TEXT_SKIP_DRAW, str); + //修改,修改精灵名字显示 + AddTextPrinterParameterized4(windowId, fontId, (left * 8) - 2, (top * 8) + 1, 0, 0, color, TEXT_SKIP_DRAW, str); } // u16 ignored is passed but never used @@ -2407,6 +2408,7 @@ static void CreateMonListEntry(u8 position, u16 b, u16 ignored) CreateMonDexNum(entryNum, 18, sPokedexView->listVOffset * 2, ignored); CreateCaughtBall(FALSE, 17, sPokedexView->listVOffset * 2, ignored); CreateMonName(0, 0x16, sPokedexView->listVOffset * 2); + } } break; @@ -2458,7 +2460,12 @@ static void CreateMonDexNum(u16 entryNum, u8 left, u8 top, u16 unused) text[offset++] = CHAR_0 + ((dexNum % 1000) % 100) / 10; text[offset++] = CHAR_0 + ((dexNum % 1000) % 100) % 10; text[offset++] = EOS; - PrintMonDexNum(0, FONT_NARROW, text, left, top); + //PrintMonDexNum(0, FONT_NARROW, text, left, top); + //修改,修改精灵图鉴数字表示字体 + if (sPokedexView->dexMode != DEX_MODE_HOENN) + PrintMonDexNum(0, FONT_SMALL, text, left, top); + else + PrintMonDexNum(0, FONT_NARROW, text, left, top); } static void CreateCaughtBall(bool16 owned, u8 x, u8 y, u16 unused) @@ -2484,7 +2491,8 @@ static u8 CreateMonName(u16 num, u8 left, u8 top) static void ClearMonListEntry(u8 x, u8 y, u16 unused) { - FillWindowPixelRect(0, PIXEL_FILL(0), x * 8, y * 8, 0x60, 16); + //FillWindowPixelRect(0, PIXEL_FILL(0), x * 8, y * 8, 0x60, 16); + FillWindowPixelRect(0, PIXEL_FILL(0), x * 8, y * 8, 0x62, 16); //修改,修正清空函数,避免精灵列表右侧显示错误 } // u16 ignored is passed but never used @@ -2812,7 +2820,9 @@ static void CreateInterfaceSprites(u8 page) gSprites[spriteId].sIsDownArrow = TRUE; gSprites[spriteId].vFlip = TRUE; - CreateSprite(&sScrollBarSpriteTemplate, 230, 20, 0); + //CreateSprite(&sScrollBarSpriteTemplate, 230, 20, 0); + //修改,修改最右侧方块显示位置 + CreateSprite(&sScrollBarSpriteTemplate, 235, 20, 0); // Start button CreateSprite(&sInterfaceTextSpriteTemplate, 16, 120, 0); // Menu text @@ -3622,8 +3632,11 @@ static void Task_LoadCryScreen(u8 taskId) gMain.state++; break; case 4: - PrintInfoScreenText(gText_CryOf, 82, 33); - PrintCryScreenSpeciesName(0, sPokedexListItem->dexNum, 82, 49); + //PrintInfoScreenText(gText_CryOf, 82, 33); + //PrintCryScreenSpeciesName(0, sPokedexListItem->dexNum, 82, 49); + //修改,修改图鉴「○○的叫声」文本 + PrintCryScreenSpeciesName(0, sPokedexListItem->dexNum, 82, 33); + PrintInfoScreenText(gText_CryOf, 82, 49); gMain.state++; break; case 5: @@ -3811,11 +3824,17 @@ static void Task_LoadSizeScreen(u8 taskId) break; case 3: { - u8 string[64]; + //u8 string[64]; - StringCopy(string, gText_SizeComparedTo); - StringAppend(string, gSaveBlock2Ptr->playerName); - PrintInfoScreenText(string, GetStringCenterAlignXOffset(FONT_NORMAL, string, DISPLAY_WIDTH), 121); + //StringCopy(string, gText_SizeComparedTo); + //StringAppend(string, gSaveBlock2Ptr->playerName); + //修改,修改名字大小比较文本与日版相同 + StringCopy(gStringVar1, GetSpeciesName(sPokedexListItem->dexNum)); //复制字符串到变量 + StringCopy(gStringVar2, gSaveBlock2Ptr->playerName); //复制字符串到变量 + StringExpandPlaceholders(gStringVar4, gText_SizeComparedTo); //写入变量到文本 + //显示(打印),string由于多余就去除了。 + //PrintInfoScreenText(string, GetStringCenterAlignXOffset(FONT_NORMAL, string, DISPLAY_WIDTH), 121); + PrintInfoScreenText(gStringVar4, GetStringCenterAlignXOffset(FONT_NORMAL, gStringVar4, DISPLAY_WIDTH), 121); gMain.state++; } break; @@ -4250,17 +4269,17 @@ static void PrintUnknownMonMeasurements(void) static u8* GetUnknownMonHeightString(void) { - if (UNITS == UNITS_IMPERIAL) - return ReplaceDecimalSeparator(gText_UnkHeight); - else + //if (UNITS == UNITS_IMPERIAL) + //return ReplaceDecimalSeparator(gText_UnkHeight); + //else return ReplaceDecimalSeparator(gText_UnkHeightMetric); } static u8* GetUnknownMonWeightString(void) { - if (UNITS == UNITS_IMPERIAL) - return ReplaceDecimalSeparator(gText_UnkWeight); - else + //if (UNITS == UNITS_IMPERIAL) + //return ReplaceDecimalSeparator(gText_UnkWeight); + //else return ReplaceDecimalSeparator(gText_UnkWeightMetric); } @@ -4307,9 +4326,9 @@ static void PrintOwnedMonHeight(u16 species) u8* ConvertMonHeightToString(u32 height) { - if (UNITS == UNITS_IMPERIAL) - return ConvertMonHeightToImperialString(height); - else + //if (UNITS == UNITS_IMPERIAL) + //return ConvertMonHeightToImperialString(height); + //else return ConvertMonHeightToMetricString(height); } @@ -4328,13 +4347,13 @@ static void PrintOwnedMonWeight(u16 species) u8* ConvertMonWeightToString(u32 weight) { - if (UNITS == UNITS_IMPERIAL) - return ConvertMonWeightToImperialString(weight); - else + //if (UNITS == UNITS_IMPERIAL) + //return ConvertMonWeightToImperialString(weight); + //else return ConvertMonWeightToMetricString(weight); } -static u8* ConvertMonHeightToImperialString(u32 height) +/*static u8* ConvertMonHeightToImperialString(u32 height) { u8* heightString = Alloc(WEIGHT_HEIGHT_STR_MEM); u32 inches, feet, index = 0; @@ -4365,7 +4384,7 @@ static u8* ConvertMonHeightToImperialString(u32 height) heightString[index++] = EOS; return heightString; -} +}*/ static u8* ConvertMonHeightToMetricString(u32 height) { @@ -4377,7 +4396,7 @@ static u8* ConvertMonHeightToMetricString(u32 height) return heightString; } -static u8* ConvertMonWeightToImperialString(u32 weight) +/*static u8* ConvertMonWeightToImperialString(u32 weight) { u8* weightString = Alloc(WEIGHT_HEIGHT_STR_MEM); bool32 output = FALSE; @@ -4431,7 +4450,7 @@ static u8* ConvertMonWeightToImperialString(u32 weight) weightString[index++] = EOS; return weightString; -} +}*/ static u8* ConvertMonWeightToMetricString(u32 weight) { diff --git a/src/strings.c b/src/strings.c index b85e9b5860..cb875091bc 100644 --- a/src/strings.c +++ b/src/strings.c @@ -49,9 +49,9 @@ const u8 gText_EmptyPkmnCategory[] = _("宝可梦"); // Unused const u8 gText_EmptyHeight[] = _("{CLEAR_TO 0x0C} . m"); // Unused const u8 gText_EmptyWeight[] = _(". kg"); // Unused const u8 gText_EmptyPokedexInfo1[] = _(""); // Unused -const u8 gText_CryOf[] = _("声音"); +const u8 gText_CryOf[] = _("的叫声"); //日文版中为「の\nなきごえ」 const u8 gText_EmptyPokedexInfo2[] = _(""); // Unused -const u8 gText_SizeComparedTo[] = _("体型相对于"); +const u8 gText_SizeComparedTo[] = _("{STR_VAR_1}与{STR_VAR_2}的体型比较"); const u8 gText_PokedexRegistration[] = _("图鉴登记完毕。"); const u8 gText_HTHeight[] = _("身高"); const u8 gText_WTWeight[] = _("体重"); @@ -122,11 +122,11 @@ const u8 gText_BirchInTrouble[] = _("小田卷博士遇到麻烦了!\n请拿出 const u8 gText_ConfirmStarterChoice[] = _("确定选择这个宝可梦?"); const u8 gText_Pokemon4[] = _("宝可梦"); // Unused const u8 gText_FlyToWhere[] = _("要飞到哪里?"); -const u8 gMenuText_Use[] = _("USE"); -const u8 gMenuText_Toss[] = _("TOSS"); -const u8 gMenuText_Register[] = _("REGISTER"); +const u8 gMenuText_Use[] = _("使用"); +const u8 gMenuText_Toss[] = _("丢弃"); +const u8 gMenuText_Register[] = _("登录"); const u8 gMenuText_Give[] = _("给予"); -const u8 gMenuText_Confirm[] = _("CONFIRM"); +const u8 gMenuText_Confirm[] = _("确定"); const u8 gText_Cancel[] = _("取消"); const u8 gText_Cancel2[] = _("取消"); const u8 gText_EmptyString2[] = _(""); @@ -151,7 +151,7 @@ const u8 gText_xVar1[] = _("×{STR_VAR_1}"); const u8 gText_Berry2[] = _("树果"); // Unused const u8 gText_Coins[] = _("{STR_VAR_1}枚代币"); const u8 gText_CloseBag[] = _("合上包包"); -const u8 gText_Var1IsSelected[] = _("{STR_VAR_1} \n要做什么?"); +const u8 gText_Var1IsSelected[] = _("要对{STR_VAR_1} \n做什么?"); const u8 gText_CantWriteMail[] = _("你不能在这\n写邮件。"); const u8 gText_NoPokemon[] = _("没有宝可梦。"); const u8 gText_MoveVar1Where[] = _("移动\n{STR_VAR_1}\n去哪?"); @@ -248,7 +248,7 @@ const u8 gText_PkmnAlreadySelected[] = _("{STR_VAR_1}已经被\n选择了。{PAU const u8 gText_PkmnHasNoEnergy[] = _("{STR_VAR_1}场上已经没有\n对手了!{PAUSE_UNTIL_PRESS}"); const u8 gText_CantSwitchWithAlly[] = _("你不能交换{STR_VAR_1}的\n宝可梦!{PAUSE_UNTIL_PRESS}"); const u8 gText_EggCantBattle[] = _("{PAUSE_UNTIL_PRESS},宝可梦蛋不能参战!"); -const u8 gText_CantUseUntilNewBadge[] = _("直至得到新的徽章前\n这个不能使用。{PAUSE_UNTIL_PRESS}"); +const u8 gText_CantUseUntilNewBadge[] = _("在得到新的徽章之前\n还不能使用。{PAUSE_UNTIL_PRESS}"); const u8 gText_NoMoreThanVar1Pkmn[] = _("不超过{STR_VAR_1}宝可梦\n才能进入。{PAUSE_UNTIL_PRESS}"); const u8 gText_SendMailToPC[] = _("取下邮件并发去\n你的电脑吗?"); const u8 gText_MailSentToPC[] = _("邮件已经发送去你的电脑了!{PAUSE_UNTIL_PRESS}"); @@ -714,21 +714,21 @@ const u8 gText_PkmnFainted_FldPsn[] = _("{STR_VAR_1}忍住了毒素,\n毒素消 const u8 gText_PkmnFainted_FldPsn[] = _("{STR_VAR_1}忍住了毒素,\n毒素消退了!\p"); #endif const u8 gText_Marco[] = _("浩二"); -const u8 gText_TrainerCardName[] = _("名字:"); +const u8 gText_TrainerCardName[] = _("名字 {CLEAR_TO 0x20}"); //修改,仿照日版删去训练师姓名前引号并改用空格 const u8 gText_TrainerCardIDNo[] = _("IDNo."); -const u8 gText_TrainerCardMoney[] = _("金钱"); +const u8 gText_TrainerCardMoney[] = _("零花钱"); const u8 gText_PokeDollar[] = _("$"); // Unused -const u8 gText_TrainerCardPokedex[] = _("图鉴"); -const u8 gText_EmptyString6[] = _(""); +const u8 gText_TrainerCardPokedex[] = _("宝可梦图鉴"); +const u8 gText_TrainerCardHiki[] = _("只"); //修改,恢复训练师卡片图鉴单位显示 const u8 gText_Colon2[] = _(":"); const u8 gText_Points[] = _("点数"); // Unused -const u8 gText_TrainerCardTime[] = _("时间"); +const u8 gText_TrainerCardTime[] = _("冒险时间"); const u8 gJPText_BattlePoints[] = _("ゲ-ムポイント"); // Unused. Name presumed, translation is Game Points const u8 gText_Var1sTrainerCard[] = _("{STR_VAR_1}的训练家卡片"); const u8 gText_HallOfFameDebut[] = _("初次进入殿堂"); const u8 gText_LinkBattles[] = _("联机对战"); const u8 gText_LinkCableBattles[] = _("有线联机对战"); -const u8 gText_WinsLosses[] = _("W:{COLOR RED}{SHADOW LIGHT_RED}{STR_VAR_1}{COLOR DARK_GRAY}{SHADOW LIGHT_GRAY} L:{COLOR RED}{SHADOW LIGHT_RED}{STR_VAR_2}{COLOR DARK_GRAY}{SHADOW LIGHT_GRAY}"); +const u8 gText_WinsLosses[] = _("胜:{COLOR RED}{SHADOW LIGHT_RED}{STR_VAR_1}{COLOR DARK_GRAY}{SHADOW LIGHT_GRAY} 负:{COLOR RED}{SHADOW LIGHT_RED}{STR_VAR_2}{COLOR DARK_GRAY}{SHADOW LIGHT_GRAY}"); const u8 gText_PokemonTrades[] = _("宝可梦交换"); const u8 gText_UnionTradesAndBattles[] = _("联合交换和对战"); const u8 gText_BerryCrush[] = _("树果混合"); @@ -1256,8 +1256,8 @@ const u8 gText_John[] = _("约翰"); const u8 gText_Roy[] = _("加古"); const u8 gText_Gabby[] = _("玛丽"); const u8 gText_Anna[] = _("美穗"); -const u8 gText_ClearAllSaveData[] = _("清除所有的资料?"); -const u8 gText_ClearingData[] = _("资料清除中……\n请等待。"); +const u8 gText_ClearAllSaveData[] = _("要清除卡带所有\n保存记录区域的数据吗?"); +const u8 gText_ClearingData[] = _("正在清除记录……\n请稍等。"); const u8 gText_IsThisTheCorrectTime[] = _("这是正确的时间吗?"); const u8 gText_Confirm3[] = _("确定"); const u8 gText_Cancel4[] = _("取消"); diff --git a/src/trainer_card.c b/src/trainer_card.c index 29e94bfe9f..86fc8b0802 100755 --- a/src/trainer_card.c +++ b/src/trainer_card.c @@ -1078,7 +1078,8 @@ static void PrintPokedexOnCard(void) AddTextPrinterParameterized3(WIN_CARD_TEXT, FONT_NORMAL, 20, 72, sTrainerCardTextColors, TEXT_SKIP_DRAW, gText_TrainerCardPokedex); else AddTextPrinterParameterized3(WIN_CARD_TEXT, FONT_NORMAL, 16, 73, sTrainerCardTextColors, TEXT_SKIP_DRAW, gText_TrainerCardPokedex); - StringCopy(ConvertIntToDecimalStringN(gStringVar4, sData->trainerCard.caughtMonsCount, STR_CONV_MODE_LEFT_ALIGN, 4), gText_EmptyString6); + //修改,恢复训练师卡片单位显示。 + StringCopy(ConvertIntToDecimalStringN(gStringVar4, sData->trainerCard.caughtMonsCount, STR_CONV_MODE_LEFT_ALIGN, 4), gText_TrainerCardHiki); if (!sData->isHoenn) { xOffset = GetStringRightAlignXOffset(FONT_NORMAL, gStringVar4, 144);