|
|
@@ -22,6 +22,7 @@ public class ConductController : MonoBehaviour
|
|
|
public float[] cd;
|
|
|
[LabelText("融魂技")] public ConductSkills[] conductSkills;
|
|
|
|
|
|
+ public Photosphere photosphere;
|
|
|
[Serializable] public struct Giant
|
|
|
{
|
|
|
public GameObject bigGiant;
|
|
|
@@ -33,19 +34,6 @@ public class ConductController : MonoBehaviour
|
|
|
private bool ShowGiant() => conductSkills.Contains(ConductSkills.Giant);
|
|
|
[ShowIf("ShowGiant")][LabelText("合成大胖子参数")]
|
|
|
public Giant giant;
|
|
|
-
|
|
|
- [Serializable]public struct Photon
|
|
|
- {
|
|
|
- public GameObject obj;
|
|
|
- [LabelText("血量基数")]
|
|
|
- public int photosphereHp;
|
|
|
- [DisplayOnly] public bool havePhoton;
|
|
|
- [HideInInspector] public Photosphere photosphere;
|
|
|
- }
|
|
|
- private bool ShowPhotosphere() => conductSkills.Contains(ConductSkills.Photon);
|
|
|
- [ShowIf("ShowPhotosphere")][LabelText("光球参数")]
|
|
|
- public Photon photon;
|
|
|
-
|
|
|
|
|
|
private void Awake()
|
|
|
{
|
|
|
@@ -79,6 +67,13 @@ public class ConductController : MonoBehaviour
|
|
|
sacrificeValue[i] = iceRain.sacrificeValue[demonicRarity];
|
|
|
totalCD[i] = iceRain.cd[demonicRarity];
|
|
|
break;
|
|
|
+ case ConductSkills.Barrier:
|
|
|
+ ConductManager.Barrier barrier = conductManager.barrier;
|
|
|
+ bUseFixedSacrifice[i] = barrier.bUseFixedSacrifice;
|
|
|
+ conversionRate[i] = barrier.sacrificeRatio[demonicRarity];
|
|
|
+ sacrificeValue[i] = barrier.sacrificeValue[demonicRarity];
|
|
|
+ totalCD[i] = barrier.cd[demonicRarity];
|
|
|
+ break;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
@@ -149,8 +144,10 @@ public class ConductController : MonoBehaviour
|
|
|
{
|
|
|
d.ChangeState(CharacterState.Die);
|
|
|
}
|
|
|
- int attackDamage = playerController.demonicPrefabs[demonicId].GetComponent<Demonic>().attackController.attackMethod_summon[0].attackInfo.damage
|
|
|
- + soldierLevelRecord.seb[demonicId].summonAttack
|
|
|
+ Demonic prefabDemonic = playerController.demonicPrefabs[demonicId].GetComponent<Demonic>();
|
|
|
+ SoldierLevelRecord.SoldierExtraBuff soldierExtraBuff = soldierLevelRecord.seb[demonicId];
|
|
|
+ int attackDamage = prefabDemonic.attackController.attackMethod_summon[0].attackInfo.damage
|
|
|
+ + soldierExtraBuff.summonAttack
|
|
|
+ gameManager.damage;
|
|
|
List<int> myTreasureTag = gameManager.myTreasuresTag;
|
|
|
float tagAdd = 1;
|
|
|
@@ -206,6 +203,25 @@ public class ConductController : MonoBehaviour
|
|
|
iceRainController.damage = (int)(attackDamage * tagAdd);
|
|
|
iceRainController.Biu();
|
|
|
break;
|
|
|
+ case ConductSkills.Barrier:
|
|
|
+ ConductManager.Barrier barrier = conductManager.barrier;
|
|
|
+ Photosphere photosphere;
|
|
|
+ if (this.photosphere)
|
|
|
+ {
|
|
|
+ obj = this.photosphere.gameObject;
|
|
|
+ photosphere = this.photosphere;
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ obj = PoolManager.Instantiate(barrier.obj);
|
|
|
+ obj.transform.parent = transform;
|
|
|
+ photosphere = obj.GetComponent<Photosphere>();
|
|
|
+ this.photosphere = photosphere;
|
|
|
+ }
|
|
|
+ obj.transform.position = transform.position + Vector3.up;
|
|
|
+ photosphere.hp = prefabDemonic.totalHp + soldierExtraBuff.hp + gameManager.totalHp;
|
|
|
+ photosphere.conductController = this;
|
|
|
+ break;
|
|
|
/*胖子*/
|
|
|
//融合大胖子
|
|
|
case ConductSkills.Giant:
|
|
|
@@ -251,40 +267,7 @@ public class ConductController : MonoBehaviour
|
|
|
bs.Attack_summon();
|
|
|
demonicObj.SetActive(true);
|
|
|
break;
|
|
|
- //光球
|
|
|
- case ConductSkills.Photon:
|
|
|
- playerController.conductCanRelease[demonicId] = false;
|
|
|
- obj = PoolManager.Instantiate(photon.obj);
|
|
|
- obj.transform.position = transform.position + Vector3.up;
|
|
|
- Photosphere photosphere = obj.GetComponent<Photosphere>();
|
|
|
- photosphere.owner = playerController;
|
|
|
- photosphere.conductId = demonicId;
|
|
|
- photosphere.hp = boostNum * photon.photosphereHp;
|
|
|
- photosphere.conductController = this;
|
|
|
- photon.photosphere = photosphere;
|
|
|
- photon.havePhoton = true;
|
|
|
- break;
|
|
|
- // case ConductSkills.SwordsControl:
|
|
|
- // conductCanRelease[cacheConductId] = false;
|
|
|
- // obj = Instantiate(flyingSwordsObj, transform);
|
|
|
- // obj.transform.position = transform.position + Vector3.up;
|
|
|
- // SwordsControl swordsControl = obj.GetComponentInChildren<SwordsControl>();
|
|
|
- // swordsControl.owner = this;
|
|
|
- // swordsControl.conductId = cacheConductId;
|
|
|
- // swordsControl.boostNum = boostNum;
|
|
|
- // break;
|
|
|
-
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
- public bool HavePhoton(Character attackFrom, int damage)
|
|
|
- {
|
|
|
- if (photon.havePhoton)
|
|
|
- {
|
|
|
- photon.photosphere.Reflex(attackFrom.beHitTrigger, damage);
|
|
|
- return true;
|
|
|
- }
|
|
|
- return false;
|
|
|
- }
|
|
|
}
|