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