diff --git a/ColorlessWorld-2024-4-2/Assets/GameDate/cardDeckList.asset b/ColorlessWorld-2024-4-2/Assets/GameDate/cardDeckList.asset index 380661d4..b3113679 100644 --- a/ColorlessWorld-2024-4-2/Assets/GameDate/cardDeckList.asset +++ b/ColorlessWorld-2024-4-2/Assets/GameDate/cardDeckList.asset @@ -13,16 +13,16 @@ MonoBehaviour: m_Name: cardDeckList m_EditorClassIdentifier: cardDeckList: - - 1001 - - 1001 - - 2028 - - 1002 - - 1002 - - 1002 - - 1003 - - 2008 - - 2015 - - 2001 - - 2008 - - 3001 - - 3001 + - 2006 + - 2031 + - 2036 + - 2031 + - 1005 + - 1005 + - 1005 + - 1005 + - 1005 + - 1005 + - 1005 + - 1005 + - 2006 diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/Card/TurnMaster.cs b/ColorlessWorld-2024-4-2/Assets/Scripts/Card/TurnMaster.cs index 2967fe48..4262174e 100644 --- a/ColorlessWorld-2024-4-2/Assets/Scripts/Card/TurnMaster.cs +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/Card/TurnMaster.cs @@ -477,8 +477,10 @@ public class TurnMaster : Singleton yield return new WaitForSeconds(0.1f); } - yield return CardActiveSort.Instance.StartCoroutine(CardActiveSort.Instance.ReflashCardPointWithDrawCards()); + + //yield return StartCoroutine(CardActiveSort.Instance.ReflashCardPointWithDrawCards()); yield return StartCoroutine(copyNewestCard()); + CardActiveSort.Instance.ReflashCardPoint(); yield break; } @@ -492,6 +494,7 @@ public class TurnMaster : Singleton } string cardId= handCard.cardEntityList[handCardCount-1].cardOriginalData.CardId; copyCard(handCardCount + 1,cardId); + yield return CardActiveSort.Instance.StartCoroutine(CardActiveSort.Instance.ReflashCardPointWithDrawCards()); yield break; } diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/EnemyNode.cs b/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/EnemyNode.cs index d18cc236..aff7bd82 100644 --- a/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/EnemyNode.cs +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/EnemyNode.cs @@ -213,14 +213,14 @@ public class EnemyNode : MonoBehaviour,IEnemyObserver { if(enemyType == EnemyType.enemy ) { - if (EnemyState.shieldValue > 0 && Usermanager.Instance.expectDamage > 0) + if (EnemyState.shieldValue > 0 && Usermanager.Instance.expectDamage.Item1 > 0) { enemyUIBar.sheildFlash.enabled = true; } if (mapUnities.Contains(getNodeTools .LocationToGetNode (positionX ,positionY))) { enemyUIBar.isSync = false; - float remainDamage = EnemyState.shieldValue - SufferDamageCalculation((int)Usermanager.Instance.expectDamage); + float remainDamage = EnemyState.shieldValue - ExpectSufferDamageCal(Usermanager.Instance.expectDamage); if (remainDamage >= 0) { enemyUIBar.sheildText.text = remainDamage.ToString(); @@ -1632,6 +1632,26 @@ public class EnemyNode : MonoBehaviour,IEnemyObserver } } + public int ExpectSufferDamageCal((float, int) damge) + { + int trueDamage = 0; + for (int i = 0; i < damge.Item2; i++) + { + trueDamage += SufferDamageCalculation((int)damge.Item1); + } + if (EnemyState.abnormalCondition.ContainsKey(AbnormalCondition.bleed)) + { + int bleedCount = Math.Min(EnemyState.abnormalCondition[AbnormalCondition.bleed].value, damge.Item2); + int bleedDamage = 2; + if (Usermanager.playerAbnormalCondition.ContainsKey(AbnormalCondition.bleedDamage)) + { + bleedDamage += Usermanager.playerAbnormalCondition[AbnormalCondition.bleedDamage].value; + } + trueDamage += bleedCount * bleedDamage; + } + return trueDamage; + } + #region 行动动画 public IEnumerator MeleeAttackAim() { diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/manager/SettlementManager.cs b/ColorlessWorld-2024-4-2/Assets/Scripts/manager/SettlementManager.cs index 154be9f4..84b159d7 100644 --- a/ColorlessWorld-2024-4-2/Assets/Scripts/manager/SettlementManager.cs +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/manager/SettlementManager.cs @@ -1113,23 +1113,25 @@ public class SettlementManager : Singleton Dictionary trueFunctionVal = new Dictionary(); trueFunctionVal.AddRange(cardOriginalData.TrueFunctionVal); - Usermanager.Instance.expectDamage = 0; + Usermanager.Instance.expectDamage = (0,0); foreach (KeyValuePair kvp in trueFunctionVal) { switch (kvp.Key) { case CardFunction.cardDamage: // damageWork(int.Parse(kvp.Value), influencePreviewPool, pierceNum); - Usermanager .Instance .expectDamage = Usermanager.Instance.DamageCalculation(int.Parse(kvp.Value)); + Usermanager .Instance .expectDamage.Item1 = Usermanager.Instance.DamageCalculation(int.Parse(kvp.Value)); + Usermanager.Instance.expectDamage.Item2 = 1; break; case CardFunction.damagexy: string[] values = kvp.Value.Split("&"); int damageVal = int.Parse(values[0]); int damageCount = int.Parse(values[1]); // damageWork(int.Parse(kvp.Value), influencePreviewPool, pierceNum); + Usermanager.Instance.expectDamage.Item2 = damageCount; for (int i = 0; i < damageCount; i++) { - Usermanager.Instance.expectDamage+= Usermanager.Instance.DamageCalculation(damageVal); + Usermanager.Instance.expectDamage.Item1 += Usermanager.Instance.DamageCalculation(damageVal); } //Usermanager.Instance.expectDamage = Usermanager.Instance.DamageCalculation(int.Parse(kvp.Value)); break; @@ -1137,12 +1139,12 @@ public class SettlementManager : Singleton if (GameManager.Instance.getNodeDiffForPlayer() > 0) { // damageWork(GameManager.Instance.getNodeDiffForPlayer(), influencePreviewPool, pierceNum); - Usermanager.Instance.expectDamage = Usermanager.Instance.DamageCalculation(GameManager.Instance.getNodeDiffForPlayer()); + Usermanager.Instance.expectDamage.Item1 = Usermanager.Instance.DamageCalculation(GameManager.Instance.getNodeDiffForPlayer()); } else if (GameManager.Instance.getNodeDiffForPlayer() < 0) { // damageWork(-GameManager.Instance.getNodeDiffForPlayer(), influencePreviewPool, pierceNum); - Usermanager.Instance.expectDamage = Usermanager.Instance.DamageCalculation(-GameManager.Instance.getNodeDiffForPlayer()); + Usermanager.Instance.expectDamage.Item1 = Usermanager.Instance.DamageCalculation(-GameManager.Instance.getNodeDiffForPlayer()); } break; diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/manager/Usermanager.cs b/ColorlessWorld-2024-4-2/Assets/Scripts/manager/Usermanager.cs index 6ab86632..c5935b6d 100644 --- a/ColorlessWorld-2024-4-2/Assets/Scripts/manager/Usermanager.cs +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/manager/Usermanager.cs @@ -49,7 +49,7 @@ public class Usermanager : Singleton public BuffInforOnMouse buffInforOnMouseInStatus; [Header("角色将要造成的伤害")] - public float expectDamage; + public (float, int) expectDamage; [Header("角色将要造成的单次伤害")] public float expectOnceDamage; //费用和步数检查 @@ -566,6 +566,17 @@ public class Usermanager : Singleton return trueDamage; } + public int ExpectDamageCalculation(int damage,int count) + { + int trueDamage = 0; + for (int i = 0; i < count; i++) + { + trueDamage += DamageCalculation(damage); + } + + return trueDamage; + } + //护盾计算函数 public int ShieldCalculation(int shield) { diff --git a/ColorlessWorld-2024-4-2/obj/Debug/Assembly-CSharp-Editor.csproj.AssemblyReference.cache b/ColorlessWorld-2024-4-2/obj/Debug/Assembly-CSharp-Editor.csproj.AssemblyReference.cache index 55624e61cf9b5fd2dc13eba2aa68d0dfcf7c7a16..85557b53af07fb9320f88a35fd3f7a6632f1755a 100644 GIT binary patch delta 8450 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 delta 8450 zcmZu%d0bW1_J8}za0l*y3?dGxX-1C0*WG$kQho?@<7bYY*2Do@pk#l zFkkfyOZ1vYk%Vl}42LEM%z;;GB`MEJGY8&Ud+&4Zwcqa_Ip@2+YwfkywD-9m>(`s> z*PAVVEQtN>Z*1&n=-eiDO~OPr8v6Ogt~s5J4~W20HcLQp(B1Te!cLoX?2O3FOj+s^qDP=PM8_&ZCALX%R<<#NGiELK=a$1vD4AQ*}}hCuN>iArwmG+W4P)O+_X!6IYjohf65o#LT)7d^^X zx={WpdYkWk37@Em}I` z;RIJimcTzzhKl-7@X1im$fp(7zOM^zMpDTWUeWhig{SrFFE+k8id>{kruExLPY=Yw zjQgKbSmyn0AhN$GBE;KaIB)c)01`iZKnQ39DDeFra4W3)z-8in9K1WoDeMOglC2O6 zhXw^gktGcOW(rOm6bvp!r!8J9}acGu>wrN5Nv>< z8A_*Ym=p4c$+nIK=Wz0YlJ)us3!EKJtc@e%V8aMAJU4Q0R*njWUD1@ZjU&gyIn+q%ZG)#r={EYtP^oN-Ii~o1W6WTSbHS3Q ze4y@0Kd5k6VOmTGVxt6af|9m|4zUjLT=i6fDMLCmVN8(dxS2k7pyw^4$(e02VoW7bZ}vH72IO%ZYxlB|#K!Mm#hpSp<@oNX6TjxL@cH z4&pr??j+k`^+X>yQzG}@luS)hh`LfjmDQLSzc$qY(^KS<_)@C0Z>P3~w3J}DlsZ{y z5%SuDB}!f~)e5sGQNhdma*9gm~3M zPOv1mMJ=issc(hVX?Dm;6CH#c`Q`&r>5IHLchVmhw)Kp^H0@!0r*4RvPCKK@D$5KI zl^>O3$7eHyXHvw8QTjbJ;_GgbL_ee^0P#9Cql`%F3($fhQq$c8r4 z3G=h`1ES+BiX7o*X02A-@3O71CwrR0>Fwc%sn5vHh#WK2<@i9SoGD5!5jm!YL&a=A znD+=}Y+G?Gu-Wn;C7f0yEIC(>Ey=ayQDz9YmVhN%fayCJzmsE)`+RT0)ik$r8E5A0awg24rLn71%mP)AFF z?om~d^fVFbimb5s@AC}{F1TGB2#Liqg5MapKinz_RQ)Hti&IEz_`M_yY8J^zM8S|! zS-DYgs8m*N7nr@c7A^Jj>jLAR{)%kAmIOmz4S^Y}dciwO*09lh<3TnMvdY^ad_U}Z zW}6~4FY|%J&)VU@(jDHUgU_BY2=90cD$9C8^a_W&{qkYVVDyB;&(HV^%f0D^NDpHW zB&`UBIWPSmR`iNQ5347b$}nGsukOmS6kRHJv(rnec4BvLTs_sBHEk`%!mxp?P*@D# zDrXm#w}YBja8w9_JF7h3TQ!pJy<7EyP{S-4_S|vnQc0yz8xLpxNxhg_JswKeQx7+4 zDKO*p2@0FI%^z;O{+z;(Y?$nYFL+~>#QC7vEEMKcP~nmxQfjx6vO~r?y!oIPUiW61 z!Z&Q9CerzJZ~DN*e~B@UI{n}BmYsWxE1d&x)2PsO&b?)Ezx_89=%x6<{CRw%2Y=_8k~R#?V% zI^iW|cKf-z>PAX-EH(uGaH-M>wL5Saeo&zldA$=#H5){0zA$^c6PE7uj*~~aQSh;{ z#Uf{Sy^T-XuBO8A-FW$Nr&gEKf&>h%p*fLSo$5YcbDsp$AZM@0N>iGAL`>F&<7F<-4#drdq5|2_$nAC zeo2=>rRnbQ)fjI=%hy&uC!YoLUy_&^n!g_Jp#sXFrdosSZ|VL>TOdbn9k)ZuF}gtO z&Pc=;cAnY}=a16_C2sWzJ$jFw>?W5?ho**ELNVR_&Z!6;Y;Lr{sWTREo$-Z*zdLzt ze{?1D^cca+A(7j4<}UWevvgvmHs!eU&Z+pOLvte?G6=%W#$flQ|ETDYzy_s1$ROn4 zQvmPYn{DSG?#5*t7sQ!)RkBtv2*&>{a@h z+IDrH6uJ-n`hYZ-2KCn+F#MVW!-V4%HPhUY*NlADU)K{IdClQ|?GMpolnT;1deaJ# zf6`GzX+r`byfmI^P<@m7m53{D;S*mI$fm)}+f@q8yOW|ocW_IX@`OkGGDkVEG$rE2 zKFp>)$k@H!1irNubMT){j1B`bOSE8ZS1YD>1=+!hF@!drn3MOlGGFbsmFYp?#Q|)AVrUcWY`E^{SqH;` zC^R+h^zg?8vM?SI$S`CYy8Z_8dA}gGMMh8?7|iZbP$n-5WiI~W23&T@CT8XhA#9YQ zJrT;NzezKbo5RFU9hd;#DvY(}CpTglE^o`|j1q*BaAx5d;Y@XoW^c!+oq0@qM%h3` zZ9)g(A`iTmP3K>9WNL2lx`E7x-tBO)tSdx)_76U>6ZuZWOkUZA*?Gs#ln1gR+3$8? z4((!R){~Y%+EFi|HnJ;=R`_(@(2WvpXlkqO6M2?SID61K9^ug*jE)G-da)XBJiNC^ zmsHvmahK;>Rv$)lR|@p$#9Hd;r zqgZEy|9T9g@k_bKl_nZ^%V?b1Xh+T!;f9OP7>&L-#>gF_w}(Bp1GEM4j0TDHv1$Ud z@|3yEm(R<`x}}-R4~}IvP6B9Zwm`}0?jCK4lY+)4T97+@oaADNc;iHt&4(r;uq1&^ zRnA5w%E}kQmLy!GDj8QhlVl_w83DXLiM6Id%5x{uKFQW6YFU(9`Meb7r#Vs?T~o;O zbiV3Awo+%zWoB*BBqJ(9=+7gjFmXx1_~Q>JX6@`0SvtD9KhK;>vqYqi81(Lh^h4Xl z0OnWH7*1egHGf{3!2;-L5-B^KZlp|DMD>*XVy-~?)yryGT&d_}km ze`5xtj|i$J;f@aaY8z&<5&w_zk=ZPW&z!~RlhIqtrJ*F@ZiTHm*!$NX))ON`f?(gf zY0Kld1Byu;)tk&*F1_-t0~WDGu%R`hM-<-YNvvW zAH`~?8q(-8?-jS&0v5{eJmx77GIXdw&On^+@<2@EtDj(2?Y=@eF=j1f1-$NY!z>Dg zS%LR?3X?nINy8!vLp21&R7FOk+A-n$$Uer*C*qtau*Jts*&tQ}`JZ(%iG-wf^mb*lb;5E+}{YpaZ zqos_l3Z$OF=dZx_nz@XLdpOp~`!8cw@!ckxhwd``%5w}aGhXz%gVMF z;;|b3;@wv9-KI6a$mrH)SfituYJ&`E$t(Zr*{W6Oz;9*xdK%JVNWC-1jvc?+SYX_0 z9G)2C?J)6%nd6(CpIaj$s59-nVy#ivNN~`*Y|eqNh!G)}mU3e(o+@W_2cos`qftaY z>Qy{_B$UlRe2v;!;7iuYQw^!vyvur{E|724&aamTln^Gp!9w^}T6tBynOAIJ6I1{M z6{Y(2via+8qLVEZ#wkb)1N7DKl=t}3`(KzbI=JwnFwWZ|3d9reA;U+f7FEgGV=#p5tt||{4f(9CY`RwPp69T;@&V4~ zmiH-t8VX<1`2r8vj-w!8E5?G3ta;mL{*j4H4JG1pkd_tHb#8{A213a3IZ#w5-D-Kn z2Vzf(Nf$z4p>n6^%7qrJ{K#(Xi($Lyc$H@Q>|#NhZMQ7Pe${Lj3h*b6L_Tm2dm5h+ zO5&|*MC}WFPmPWz^7)_QwP?kMG>SMdqKx7`^B{l@nl}JpW%;n2H%G-Js|GDLTT{l!hPC_^!CVU z3}45CY^gMRQ`gkDV&ijv!Pq+Lb%(@OY<$>d?8*3pIJ9BS%qGpGp?blbHDb)C-NJSsl`0I_{~5y5r)rKrB4qB)S7982+q5RgugGp8QKeh!CeVU_9D2=mnR{1@K#gr|K}` zo8`ipJp4O6D$ajLcNVYhp&?Z=x%}j5+)C{kR-!YWKPzG;vON17Ms@NzhF^-x`9_96 zF37ss(J0D6IN$d=X1~|>_)qD7JdDoYi_a^;5D7Z`1KJDtLDU%T@w{$!*#*qa&hwt! zJa++uf%&!Z`FQ4iH8^Y%aDB`z-jQyB82=viE95Mi$D@^^E zn8@F~a@TUABz^g!W-<4KCf20@to%ehPVS`3Sos1g`Y+uZl^?gU^g8{DgRlQphTqjP z;G^!~ZUs8+4yF~KXk8Iqblk>Ue#MS&_*HySiuAqn8-~05H;+qL8cv?|J5E?(avD9i z=h@fT65S9cl0Ha<`pN5_?s?@8Pt}(HfmSBnpkr08?)#^wWc>cbqwCn8qCP!|ue-(C z@SQj5azX)|!7FaEaQ=%w=63TfPjAe>t77-6%%l(6^5Z5aFJ~shLlGZaE0dK^H<|DwL2i(>GSLhcZi+c2I_zRA`kw&A$mRQd zOh*2(aq-gQhc>qOn&{dkf`ly`K&UZVyZD>v{w{