瀏覽代碼

【需求】MMO-20560:战斗数值调整

meijun 3 年之前
父節點
當前提交
cc8286f17c

+ 11 - 1
XmdsCommon/Plugin/XmdsConfig.cs

@@ -143,7 +143,17 @@ namespace XmdsCommon.Plugin
 		[DescAttribute("怪物系数K", "战斗公式")]
 		public string monster_Defence = "";
 
-		public override string ToString()
+        [DescAttribute("PVP伤害系统K", "战斗公式")]
+        public float PVP_DAMAGE_K = 0.7f;
+        [DescAttribute("boss等级压制K", "战斗公式")]
+        public float BOSS_LEVEL_SUBDUE_K = 0.05f;
+        [DescAttribute("神器对无神器伤害加成", "战斗公式")]
+        public int S_ArtifactDamage = 1000;
+        [DescAttribute("随从受伤K系数", "战斗公式")]
+        public float PET_HIT_DAMAGE_K = 4.0f;
+
+
+        public override string ToString()
         {
             return "Xmds 配置扩展属性";
         }

+ 13 - 8
XmdsCommonServer/Plugin/XmdsSkillTemplate/DamageCalculator/XmdsDamageCalculator.cs

@@ -33,24 +33,29 @@ namespace XmdsCommonServer.Plugin.XmdsSkillTemplate.DamageCalculator
 			0, 100, 300, 800, 2000, 5000, 10000, 15000, 20000, 20000, 20000, 20000, 20000};
 
 		//PVP伤害系统
-		private static readonly float PVP_DAMAGE_COEF = 0.7f;          //攻击系数
+		private static float PVP_DAMAGE_K = 0.7f;          //攻击系数
 		//boss等级压制													   
-		private static readonly float BOSS_LEVEL_SUBDUE = 0.05f;
+		private static float BOSS_LEVEL_SUBDUE_K = 0.05f;
 
 		//神器对无神器伤害加成
-		private static readonly int S_ArtifactDamage = 1000;
+		private static int S_ArtifactDamage = 1000;
 
-		//神器属性
-		private const float Coefficient_Artifact = 1.1f;
+		////神器属性
+		//private const float Coefficient_Artifact = 1.1f;
 
 		//随从受伤K系数
-		private static readonly float PET_HIT_DAMAGE_K = 2.0f;
+		private static float PET_HIT_DAMAGE_K = 4.0f;
 
         //万分比.
         public static float PERER = 10000.0f;
 
 		public static void Init()
 		{
+			PVP_DAMAGE_K = XmdsConfig.Instance.PVP_DAMAGE_K;
+			BOSS_LEVEL_SUBDUE_K = XmdsConfig.Instance.BOSS_LEVEL_SUBDUE_K;
+			S_ArtifactDamage = XmdsConfig.Instance.S_ArtifactDamage;
+			PET_HIT_DAMAGE_K = XmdsConfig.Instance.PET_HIT_DAMAGE_K;
+
 			// 人物K
 			try
 			{
@@ -433,13 +438,13 @@ namespace XmdsCommonServer.Plugin.XmdsSkillTemplate.DamageCalculator
 			{
 				if(hitter.IsPlayerUnit())
 				{
-					damage = CUtils.CastInt(damage * PVP_DAMAGE_COEF);
+					damage = CUtils.CastInt(damage * PVP_DAMAGE_K);
 				}				
 			}
 			else if(attacker.IsLvRepress() && attacker.mUnit.Level > hitter.mUnit.Level)
 			{
 				//LvRepress
-				damage = CUtils.CastInt(damage * (1 + (attacker.mUnit.Level - hitter.mUnit.Level) * BOSS_LEVEL_SUBDUE));
+				damage = CUtils.CastInt(damage * (1 + (attacker.mUnit.Level - hitter.mUnit.Level) * BOSS_LEVEL_SUBDUE_K));
 			}
 
 			return Math.Max(damage, 1);