From 0b46eab310456ff94ec4689468d97718e65e975b Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期四, 27 九月 2018 10:23:57 +0800
Subject: [PATCH] 3888 【后端】成长型怪物增加最低等级限制

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py |    3 +++
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/NPC/NPCCommon.py |    3 +++
 PySysDB/PySysDBPY.h                                                                  |    1 +
 3 files changed, 7 insertions(+), 0 deletions(-)

diff --git a/PySysDB/PySysDBPY.h b/PySysDB/PySysDBPY.h
index 82da2d4..fcca1bd 100644
--- a/PySysDB/PySysDBPY.h
+++ b/PySysDB/PySysDBPY.h
@@ -346,6 +346,7 @@
 	DWORD		_NPCID;	//NPCID
 	BYTE		IsStrengthenByPlayerCount;//是否根据人数成长
 	BYTE		LVStrengthenType;//等级成长类型, 0-不按等级成长;1-按玩家平均等级;2-按玩家最大等级;3-按世界等级;
+	BYTE		CmpNPCBaseLV;//是否比较NPC表等级, 是的话取NPC表配置等级与成长等级中较大等级
 	DWORD		HitTime;//受击次数
 	DWORD		DefCoefficient;//人物防御系数
 	DWORD		AtkCoefficient;//人物攻击系数
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py
index e6b7d6f..d8226da 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py
@@ -291,6 +291,7 @@
                         ("DWORD", "NPCID", 1),
                         ("BYTE", "IsStrengthenByPlayerCount", 0),
                         ("BYTE", "LVStrengthenType", 0),
+                        ("BYTE", "CmpNPCBaseLV", 0),
                         ("DWORD", "HitTime", 0),
                         ("DWORD", "DefCoefficient", 0),
                         ("DWORD", "AtkCoefficient", 0),
@@ -1550,6 +1551,7 @@
         self.NPCID = 0
         self.IsStrengthenByPlayerCount = 0
         self.LVStrengthenType = 0
+        self.CmpNPCBaseLV = 0
         self.HitTime = 0
         self.DefCoefficient = 0
         self.AtkCoefficient = 0
@@ -1567,6 +1569,7 @@
     def GetNPCID(self): return self.NPCID # NPCID
     def GetIsStrengthenByPlayerCount(self): return self.IsStrengthenByPlayerCount # 是否根据人数成长
     def GetLVStrengthenType(self): return self.LVStrengthenType # 等级成长类型, 0-不按等级成长;1-按玩家平均等级;2-按玩家最大等级;3-按世界等级;
+    def GetCmpNPCBaseLV(self): return self.CmpNPCBaseLV # 是否比较NPC表等级, 是的话取NPC表配置等级与成长等级中较大等级
     def GetHitTime(self): return self.HitTime # 受击次数
     def GetDefCoefficient(self): return self.DefCoefficient # 人物防御系数
     def GetAtkCoefficient(self): return self.AtkCoefficient # 人物攻击系数
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/NPC/NPCCommon.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/NPC/NPCCommon.py
index e6ff985..b9af9b6 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/NPC/NPCCommon.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/NPC/NPCCommon.py
@@ -160,6 +160,9 @@
     elif lvStrengthenType == 1:
         strengthenLV = gameFB.GetGameFBDictByKey(ChConfig.Def_FB_NPCStrengthenAverageLV)
         
+    if strengthenIpyData.GetCmpNPCBaseLV():
+        strengthenLV = max(strengthenLV, curNPC.GetLV())
+    
     if lvStrengthenType in [1, 2] and not strengthenLV:
         GameWorld.ErrLog("NPC配置了成长等级类型,但是无法获取到对应的成长等级值!npcID=%s,lvStrengthenType=%s" % (npcID, lvStrengthenType))
         return

--
Gitblit v1.8.0