|
|
@@ -14,7 +14,10 @@ public class ConductController : MonoBehaviour
|
|
|
private SoldierLevelRecord soldierLevelRecord;
|
|
|
|
|
|
[LabelText("品质")] public int[] rarity;
|
|
|
+ [Tooltip("勾选定额;不勾选百分比")] public bool[] bUseFixedSacrifice;
|
|
|
public float[] conversionRate;
|
|
|
+ public int[] sacrificeValue;
|
|
|
+
|
|
|
public float[] totalCD;
|
|
|
public float[] cd;
|
|
|
[LabelText("融魂技")] public ConductSkills[] conductSkills;
|
|
|
@@ -57,17 +60,23 @@ public class ConductController : MonoBehaviour
|
|
|
{
|
|
|
case ConductSkills.NetherfireRebirth:
|
|
|
ConductManager.NetherfireRebirth netherfireRebirth = conductManager.netherfireRebirth;
|
|
|
+ bUseFixedSacrifice[i] = netherfireRebirth.bUseFixedSacrifice;
|
|
|
conversionRate[i] = netherfireRebirth.sacrificeRatio[demonicRarity];
|
|
|
+ sacrificeValue[i] = netherfireRebirth.sacrificeValue[demonicRarity];
|
|
|
totalCD[i] = netherfireRebirth.cd[demonicRarity];
|
|
|
break;
|
|
|
case ConductSkills.FlyingSwords:
|
|
|
ConductManager.FlyingSwords flyingSwords = conductManager.flyingSwords;
|
|
|
+ bUseFixedSacrifice[i] = flyingSwords.bUseFixedSacrifice;
|
|
|
conversionRate[i] = flyingSwords.sacrificeRatio[demonicRarity];
|
|
|
+ sacrificeValue[i] = flyingSwords.sacrificeValue[demonicRarity];
|
|
|
totalCD[i] = flyingSwords.cd[demonicRarity];
|
|
|
break;
|
|
|
case ConductSkills.IceRain:
|
|
|
ConductManager.IceRain iceRain = conductManager.iceRain;
|
|
|
+ bUseFixedSacrifice[i] = iceRain.bUseFixedSacrifice;
|
|
|
conversionRate[i] = iceRain.sacrificeRatio[demonicRarity];
|
|
|
+ sacrificeValue[i] = iceRain.sacrificeValue[demonicRarity];
|
|
|
totalCD[i] = iceRain.cd[demonicRarity];
|
|
|
break;
|
|
|
}
|
|
|
@@ -99,14 +108,31 @@ public class ConductController : MonoBehaviour
|
|
|
public void Conduct(int demonicId)
|
|
|
{
|
|
|
int boostNum = playerController.demonicDic[demonicId].Count;
|
|
|
- int dienum = (int)(boostNum * conversionRate[demonicId]/100f + 0.5f);
|
|
|
- if (dienum == 0 && boostNum >= 1)
|
|
|
+ int dienum;
|
|
|
+ if (bUseFixedSacrifice[demonicId])
|
|
|
{
|
|
|
- dienum = 1;
|
|
|
+ dienum = sacrificeValue[demonicId];
|
|
|
+ if (boostNum < dienum)
|
|
|
+ {
|
|
|
+ dienum = 0;
|
|
|
+ }
|
|
|
}
|
|
|
+ else
|
|
|
+ {
|
|
|
+ dienum = (int)(boostNum * conversionRate[demonicId] / 100 + 0.5f);
|
|
|
+ if (dienum == 0 && boostNum >= 1)
|
|
|
+ {
|
|
|
+ dienum = 1;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
if (dienum > 0)
|
|
|
{
|
|
|
- cd[demonicId] = totalCD[demonicId];
|
|
|
+ if (!bUseFixedSacrifice[demonicId])
|
|
|
+ {
|
|
|
+ cd[demonicId] = totalCD[demonicId];
|
|
|
+ }
|
|
|
GameObject obj;
|
|
|
List<int> dieId = new List<int>();
|
|
|
List<Demonic> dieDemonic = new List<Demonic>();
|