123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123 |
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using CommonAI.Zone;
- using XmdsCommon.Plugin;
- using XmdsCommonServer.Plugin;
- using CommonLang;
- using XmdsCommonServer.XLS.Data;
- namespace XmdsCommonSkill.Plugin.Skills.Monster
- {
- /// <summary>
- /// 怪物通用物理攻击脚本.
- /// damageID 0: 攻击力伤害百分比
- /// damageID 1: 对方目标生命值百分比, 参数valueSet1
- /// damageID 2: 对方目标生命值百分比, 参数valueSet2
- /// </summary>
- public class Monster_CommonAtk : XmdsSkillBase
- {
- //技能ID.
- public static int mSkillID = XmdsCommonServer.Plugin.XmdsSkillTemplate.Skills.XmdsBattleSkill.DefaultSkillScriptID;
- //DamagePercent
- public static XmdsSkillValue mDmg ;
- //生命伤害比1
- public static XmdsSkillValue mHPDamagePer1;
- //生命伤害比2
- public static XmdsSkillValue mHPDamagePer2;
- //生命伤害比3
- public static XmdsSkillValue mHPDamagePer3;
- //攻击力系数4
- public static XmdsSkillValue mHPDamage4;
- //攻击力系数5
- public static XmdsSkillValue mHPDamage5;
- //攻击力系数6
- public static XmdsSkillValue mHPDamage6;
- //攻击力系数7--扩展
- public static XmdsSkillValue mHPDamageExt;
- //生命伤害比4--扩展
- public static XmdsSkillValue mHPPerDamageExt;
- public override int SkillID { get { return mSkillID; } }
- protected override void OnSkillDamagePerEvent(BattleParams param)
- {
- if(param.AtkProp.DamagePerID == 0)
- {
- param.SkillDamagePer = mDmg.GetValue();
- }
- else if(param.AtkProp.DamagePerID == 4)
- {
- param.SkillDamagePer = mHPDamage4.GetValue();
- }
- else if(param.AtkProp.DamagePerID == 5)
- {
- param.SkillDamagePer = mHPDamage5.GetValue();
- }
- else if(param.AtkProp.DamagePerID == 6)
- {
- param.SkillDamagePer = mHPDamage6.GetValue();
- }
- else if (param.AtkProp.DamagePerID == 7)
- {
- param.SkillDamagePer = mHPDamageExt.GetValue(param.AtkProp.DamageModiferID);
- }
- }
- protected override bool OnSkillFinalDamageModifyEvent(BattleParams param)
- {
- if(param.AtkProp.DamagePerID == 1)
- {
- param.HitDamge = CUtils.CastInt(param.Hitter.MirrorProp.MaxHP * XmdsUnitProp.PER * mHPDamagePer1.GetValue());
- }
- else if(param.AtkProp.DamagePerID == 2)
- {
- param.HitDamge = CUtils.CastInt(param.Hitter.MirrorProp.MaxHP * XmdsUnitProp.PER * mHPDamagePer2.GetValue());
- }
- else if (param.AtkProp.DamagePerID == 3)
- {
- param.HitDamge = CUtils.CastInt(param.Hitter.MirrorProp.MaxHP * XmdsUnitProp.PER * mHPDamagePer3.GetValue());
- }
- else if (param.AtkProp.DamagePerID == 8)
- {
- param.HitDamge = CUtils.CastInt(param.Hitter.MirrorProp.MaxHP * XmdsUnitProp.PER * mHPPerDamageExt.GetValue(param.AtkProp.DamageModiferID));
- }
- else if (param.AtkProp.DamagePerID == 0 || param.AtkProp.DamagePerID == 4 || param.AtkProp.DamagePerID == 5
- || param.AtkProp.DamagePerID == 6 || param.AtkProp.DamagePerID == 7)
- {
- return false;
- }
- else
- {
- param.UseDamageType = CommonAI.Data.DamageType.None;
- }
-
- return true;
- }
- protected override void OnBaseInit(GameSkill info, XmdsVirtual unit, ref SkillTemplate template)
- {
- //普通攻击技能CD走配置表.
- OnInit(info, unit, ref template);
- }
- protected override void OnInitSkillParam()
- {
- XmdsSkillData data = XmdsDataMgr.GetInstance().GetXmdsSkillData(mSkillID);
- InitData(data, out mDmg, XmdsSkillData.XmdsSkillDataKey.DmgRate);
- InitData(data, out mHPDamagePer1, XmdsSkillData.XmdsSkillDataKey.ValueSet);
- InitData(data, out mHPDamagePer2, XmdsSkillData.XmdsSkillDataKey.ValueSet2);
- InitData(data, out mHPDamagePer3, XmdsSkillData.XmdsSkillDataKey.ValueSet3);
- InitData(data, out mHPDamage4, XmdsSkillData.XmdsSkillDataKey.ValueSet4);
- InitData(data, out mHPDamage5, XmdsSkillData.XmdsSkillDataKey.ValueSet5);
- InitData(data, out mHPDamage6, XmdsSkillData.XmdsSkillDataKey.ValueSet6);
- InitData(data, out mHPDamageExt, XmdsSkillData.XmdsSkillDataKey.ValueSet7);
- InitData(data, out mHPPerDamageExt, XmdsSkillData.XmdsSkillDataKey.ValueSet8);
- }
- }
- }
|