|
|
@@ -167,6 +167,7 @@ public class PlayerController : MoveCharacter
|
|
|
private bool isReadyConduct;
|
|
|
[Header("时间倍率")] [Tooltip("时间速度放慢到正常的几倍")] public float timeSlowingMultiplier;
|
|
|
public float readyTipFxTime;
|
|
|
+ [Header("转换率")] public float[] conversionRate;
|
|
|
//大胖子
|
|
|
[Header("融合临时血量基数")] public int temptHp;
|
|
|
[Header("融合血量持续时间")]public float temptTime;
|
|
|
@@ -743,14 +744,25 @@ public class PlayerController : MoveCharacter
|
|
|
|
|
|
public void Conduct()
|
|
|
{
|
|
|
- if (demonicDic[cacheConductId].Count > 0)
|
|
|
+ int dienum = Mathf.RoundToInt(demonicDic[cacheConductId].Count * conversionRate[cacheConductId]);
|
|
|
+ if (dienum > 0)
|
|
|
{
|
|
|
GameObject obj;
|
|
|
- foreach (Demonic d in demonicDic[cacheConductId])
|
|
|
+ List<int> dieId = new List<int>();
|
|
|
+ List<Demonic> dieDemonic = new List<Demonic>();
|
|
|
+ while(dieId.Count<dienum)
|
|
|
+ {
|
|
|
+ int id = UnityEngine.Random.Range(0, demonicDic[cacheConductId].Count);
|
|
|
+ if(!dieId.Exists(t=> t == id))
|
|
|
+ {
|
|
|
+ dieId.Add(id);
|
|
|
+ dieDemonic.Add(demonicDic[cacheConductId][id]);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ foreach (Demonic d in dieDemonic)
|
|
|
{
|
|
|
d.ChangeState(CharacterState.Die);
|
|
|
}
|
|
|
- int dienum = demonicDic[cacheConductId].Count;
|
|
|
switch (conductSkills[cacheConductId])
|
|
|
{
|
|
|
//胖子
|