5031 子 【优化】【1.3】神兵系统修改 / 【后端】【1.3】神兵特效解锁时的系统广播
| | |
| | | BYTE Star; //星数
|
| | | list LVLimit; //等级范围
|
| | | list ItemList; //奖励
|
| | | };
|
| | |
|
| | |
|
| | | //神兵特效表
|
| | |
|
| | | struct tagGodWeaponEffect
|
| | | {
|
| | | BYTE GWType; //神兵类型
|
| | | WORD Level; //神兵等级
|
| | | char NotifyCode; //广播
|
| | | }; |
| | |
| | | ("list", "LVLimit", 0),
|
| | | ("list", "ItemList", 0),
|
| | | ),
|
| | |
|
| | | "GodWeaponEffect":(
|
| | | ("BYTE", "GWType", 0),
|
| | | ("WORD", "Level", 0),
|
| | | ("char", "NotifyCode", 0),
|
| | | ),
|
| | | }
|
| | |
|
| | | |
| | |
| | | def GetStar(self): return self.Star # 星数
|
| | | def GetLVLimit(self): return self.LVLimit # 等级范围
|
| | | def GetItemList(self): return self.ItemList # 奖励 |
| | | |
| | | # 神兵特效表 |
| | | class IPY_GodWeaponEffect(): |
| | | |
| | | def __init__(self): |
| | | self.GWType = 0
|
| | | self.Level = 0
|
| | | self.NotifyCode = "" |
| | | return |
| | | |
| | | def GetGWType(self): return self.GWType # 神兵类型
|
| | | def GetLevel(self): return self.Level # 神兵等级
|
| | | def GetNotifyCode(self): return self.NotifyCode # 广播 |
| | |
|
| | |
|
| | | def Log(msg, playerID=0, par=0):
|
| | |
| | | self.ipyMagicWeaponFBLen = len(self.ipyMagicWeaponFBCache)
|
| | | self.ipyIceLodeStarAwardCache = self.__LoadFileData("IceLodeStarAward", IPY_IceLodeStarAward)
|
| | | self.ipyIceLodeStarAwardLen = len(self.ipyIceLodeStarAwardCache)
|
| | | self.ipyGodWeaponEffectCache = self.__LoadFileData("GodWeaponEffect", IPY_GodWeaponEffect)
|
| | | self.ipyGodWeaponEffectLen = len(self.ipyGodWeaponEffectCache)
|
| | | Log("IPY_FuncConfig count=%s" % len(self.ipyFuncConfigDict))
|
| | | Log("IPY_DataMgr InitOK!")
|
| | | return
|
| | |
| | | def GetMagicWeaponFBByIndex(self, index): return self.ipyMagicWeaponFBCache[index]
|
| | | def GetIceLodeStarAwardCount(self): return self.ipyIceLodeStarAwardLen
|
| | | def GetIceLodeStarAwardByIndex(self, index): return self.ipyIceLodeStarAwardCache[index]
|
| | | def GetGodWeaponEffectCount(self): return self.ipyGodWeaponEffectLen
|
| | | def GetGodWeaponEffectByIndex(self, index): return self.ipyGodWeaponEffectCache[index]
|
| | |
|
| | | IPYData = IPY_DataMgr()
|
| | | def IPY_Data(): return IPYData
|
| | |
| | | if beforeAttrLV < notifyLV and attrLV >= notifyLV:
|
| | | PlayerControl.WorldNotify(0, 'GodWeaponLv', [curPlayer.GetName(), weaponType, notifyLV])
|
| | |
|
| | | # 神兵特效激活广播
|
| | | godWeaponEffectData = IpyGameDataPY.GetIpyGameDataByCondition('GodWeaponEffect', {'GWType':weaponType, "Level":attrLV}, False, False)
|
| | | if godWeaponEffectData:
|
| | | PlayerControl.WorldNotify(0, godWeaponEffectData.GetNotifyCode(), [curPlayer.GetName(), attrLV])
|
| | | |
| | | totalExp = godWeaponData.GetExp()
|
| | | |
| | | |
| | | Sync_GodWeaponLVInfo(curPlayer, weaponType)
|
| | | #任务
|
| | | EventShell.EventRespons_PlusGodWeapon(curPlayer)
|