public int valCaused(BattleRoleData source, BattleRoleData target, SkillKind kind) { int B = 0; NumberData d = physicalND; AttributeData atb = AttributeData.AT; if (kind == SkillKind.Elemental) { atb = AttributeData.MT; d = elementalND; } else if (kind == SkillKind.Physical) { atb = AttributeData.AT; d = physicalND; } else if (kind == SkillKind.Arcane) { d = arcaneND; } if (physicalND.dataTag == NumberData.DataType.percent) { for (int i = 0; i < SkillGrade; i++) { d.DATA += 10; } HSkilInfo hsi = GetComponent <HSkilInfo>(); if (hsi && hsi.UseAppointedAtb) { atb = hsi.Atb; } else { if (kind == SkillKind.Arcane) { B = (int)((source.ThisBasicRoleProperty().ReadRA(AttributeData.MT) + source.ThisBasicRoleProperty().ReadRA(AttributeData.AT)) / 2 * d.DECIMAL); } } B = (int)(source.ThisBasicRoleProperty().ReadRA(atb) * d.DECIMAL); } else { B = physicalND.DATA; } if (HSModifity) { B = HSModifity.AllResult(source, target, kind, SkillGrade); } B = ValChangedByCharacterType(source, target, B); return(B); }
public void OpenSDP(SkillFunction skill) { HSkilInfo info = skill.GetComponent <HSkilInfo>(); OneSkill detail = info.HSDetail; SkillPanelContent.GetComponent <Image>().color = Color.clear; SkillPanelContent.GetChild(0).localScale = Vector3.zero; SkillPanelContent.localScale = Vector3.one; SkillDetailsPanel.DOScale(Vector3.one, 0.15f).SetEase(Ease.OutBack); //显示当前技能详情 ShowThisSkillDetails(skill, detail); }
public virtual int dmgCaused(BattleRoleData source, BattleRoleData target) { SkillKind kind = SkillKind.Physical; AttributeData Atb = AttributeData.AT; HSkilInfo hsi = GetComponent <HSkilInfo>(); if (hsi) { kind = hsi.kind; if (hsi.UseAppointedAtb) { Atb = hsi.Atb; } else { if (kind == SkillKind.Physical) { Atb = AttributeData.AT; } else if (kind == SkillKind.Elemental) { Atb = AttributeData.MT; } else if (kind == SkillKind.Arcane) { Atb = AttributeData.MT; } } } int atk = source.ThisBasicRoleProperty().ReadRA(Atb); if (atk <= 0) { atk = SDConstants.MinDamageCount; } HSExportDmgModifity S = HSModifity; if (S) { atk = S.AllResult(source, target, kind, SkillGrade); } atk = ValChangedByCharacterType(source, target, atk); return(atk); }
public void addSkill(OneSkill skill, Transform trans, string heroId) { Transform s; if (!skill.UseAppointedPrefab) { if (skill.SkillFunctionID < 0) { return; } int index = skill.SkillFunctionID; s = Instantiate(SDL.AllSkillList[index]) as Transform; } else { s = Instantiate(skill.SkillPrefab) as Transform; s.GetComponent <Button>().interactable = true; HSExportDmgModifity HSE = s.GetComponent <HSExportDmgModifity>(); if (HSE) { HSE.BCPerformDataUsingRA = skill.DataSet.BCPerformDataUsingRA; HSE.PDUsingRA_PerLevel = skill.DataSet.PDUsingRA_PerLevel; HSE.PDUsingRA_PerSkillGrade = skill.DataSet.PDUsingRA_PerSkillGrade; } SkillFunction sf = s.GetComponent <SkillFunction>(); if (sf) { sf.UseState = skill.DataSet.UseState; sf._standardState = skill.DataSet._standardState; } } s.GetComponentInChildren <HSkilInfo>().HSDetail = skill; s.SetParent(trans); s.GetComponent <RectTransform>().anchoredPosition = Vector2.zero; s.localScale = Vector3.one; HSkilInfo info = s.GetComponent <HSkilInfo>(); info.breed = skill.Breed; if (skill.Kind != SkillKind.End) { info.kind = skill.Kind; } if (skill.SkillAoe != SDConstants.AOEType.End) { info.AOEType = skill.SkillAoe; } if (skill.MpTpAddType != SDConstants.AddMpTpType.End) { info.AfterwardsAddType = skill.MpTpAddType; } SkillFunction basicSkillController = s.GetComponent <SkillFunction>(); if (skill.Aim != SkillAim.End) { basicSkillController.ThisSkillAim = skill.Aim; } basicSkillController.SkillGrade = skill.lv; basicSkillController.IsOmega = skill.isOmegaSkill; if (skill.BulletImg != null && skill.BulletImg != "") { basicSkillController.bullet.GetComponent <Image>().sprite = Resources.Load <Sprite>("Sprites/" + skill.BulletImg); } //判断是否为稀有角色 // basicSkillController.initIcon(); }