CardSkill_1030010.cs 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. using CommonAI.Data;
  2. using CommonAI.Zone.Formula;
  3. using System;
  4. using System.Collections.Generic;
  5. using System.Linq;
  6. using System.Text;
  7. using System.Threading.Tasks;
  8. using XmdsCommon.Plugin;
  9. using XmdsCommonServer.Plugin;
  10. using XmdsCommonServer.XLS.Data;
  11. using static CommonAI.Zone.Instance.InstanceUnit;
  12. namespace XmdsCommonSkill.Plugin.CardSkill
  13. {
  14. public class CardSkill_1030010 : CardSkill_LiangYiBase
  15. {
  16. private static readonly int ID = 1030010;
  17. public override int SkillID { get { return ID; } }
  18. // 蓄势翻倍概率
  19. protected static XmdsSkillValue s_ValueSet1;
  20. //额外获得一层蓄势概率
  21. protected static XmdsSkillValue s_ValueSet2;
  22. //触发卡牌技能
  23. public override void OnTriggerCardSkill(XmdsVirtual player, XmdsVirtual hitter, AttackSource source, CardSkillData skillData, int sameNums)
  24. {
  25. BuffState buff = player.mUnit.GetBuffByID(JSGCardSkillBase.BUFF_STOREENERGY);
  26. int buffLayer = buff == null ? 0 : buff.OverlayLevel;
  27. int finalAddLayer = buffLayer;
  28. if (player.RandomPercent(s_ValueSet1.GetValue(skillData.skilLv)))
  29. {
  30. finalAddLayer += finalAddLayer;
  31. }
  32. if(player.RandomPercent(s_ValueSet2.GetValue(skillData.skilLv)))
  33. {
  34. finalAddLayer += 1;
  35. }
  36. if (finalAddLayer > 0)
  37. {
  38. player.mUnit.AddBuff(JSGCardSkillBase.BUFF_STOREENERGY, player.mUnit, 0, false, false, false, 0, finalAddLayer);
  39. //加蓄势伤害层数
  40. base.AddXuShi(player, finalAddLayer - buffLayer);
  41. base.unitLaunchSpell(player, hitter, this.GetEffectID(skillData.skilLv, sameNums));
  42. }
  43. }
  44. protected override void OnInitSkillParam()
  45. {
  46. XmdsSkillData data = XmdsDataMgr.GetInstance().GetXmdsSkillData(this.SkillID);
  47. InitData(data, out s_ValueSet1, XmdsSkillData.XmdsSkillDataKey.ValueSet);
  48. InitData(data, out s_ValueSet2, XmdsSkillData.XmdsSkillDataKey.ValueSet2);
  49. }
  50. }
  51. }