From f611ba2ca93e527c98b2d05ffefdcc21a6ed0bd1 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期四, 30 十月 2025 15:42:49 +0800
Subject: [PATCH] 129 【战斗】战斗系统-服务端(何太后技能;优化孙坚技能buff额外属性逻辑;增加技能计算伤害类型6-按自残血量值;增加效果7008 5021 5022;)
---
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerFamily.py | 28 +++++++++++++++++++++-------
1 files changed, 21 insertions(+), 7 deletions(-)
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerFamily.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerFamily.py
index b9e2f8a..93c6f86 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerFamily.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerFamily.py
@@ -24,6 +24,7 @@
import ChPyNetSendPack
import PlayerFamilyEmblem
import PlayerFamilyZhenbaoge
+import PlayerFamilyTaofa
import IPY_PlayerDefine
import IpyGameDataPY
import IPY_GameWorld
@@ -81,8 +82,8 @@
family = familyManager.GetAt(i)
familyID = family.GetID()
- #珍宝阁
PlayerFamilyZhenbaoge.OnDay(family)
+ PlayerFamilyTaofa.OnDay(family)
for index in xrange(family.GetCount()):
member = family.GetAt(index)
@@ -99,6 +100,7 @@
return
ResetDailyDonateCnt(curPlayer)
PlayerFamilyZhenbaoge.PlayerOnDay(curPlayer)
+ PlayerFamilyTaofa.PlayerOnDay(curPlayer)
return
def OnPlayerLogin(curPlayer, tick):
@@ -108,6 +110,7 @@
Sync_RequestAddFamilyInfo(curPlayer, False)
SyncDonateCntInfo(curPlayer)
PlayerFamilyZhenbaoge.OnPlayerLogin(curPlayer)
+ PlayerFamilyTaofa.OnPlayerLogin(curPlayer)
return
def OnPlayerLogout(curPlayer):
@@ -461,6 +464,7 @@
familyMgr = DBDataMgr.GetFamilyMgr()
familyMgr.DelPlayerReqJoinFamilyIDAll(curPlayer.GetPlayerID())
Sync_RequestAddFamilyInfo(curPlayer)
+ PlayerFamilyTaofa.OnPlayerEnterFamily(curPlayer)
return
def __OnLeaveFamily(curPlayer, isVoluntarily, tick):
@@ -495,6 +499,8 @@
delMoney = int(nowMoney * delMoneyPer / 100.0)
GameWorld.DebugLog(" 扣除货币: delMoneyType=%s,delMoneyPer=%s,nowMoney=%s,delMoney=%s" % (delMoneyType, delMoneyPer, nowMoney, delMoney))
PlayerControl.PayMoney(curPlayer, delMoneyType, delMoney, "LeaveFamily")
+
+ PlayerFamilyTaofa.OnPlayerLeaveFamily(curPlayer)
FBLogic.OnLeaveFamily(curPlayer, tick)
return
@@ -711,17 +717,17 @@
family = familyMgr.GetAt(index)
if not family:
continue
- familyID = family.GetID()
+ #familyID = family.GetID()
lvMin = family.GetJoinLVMin()
if lvMin and realmLV < lvMin:
- GameWorld.DebugLog(" 官职不足的不处理! familyID=%s,lvMin=%s" % (familyID, lvMin), playerID)
+ #GameWorld.DebugLog(" 官职不足的不处理! familyID=%s,lvMin=%s" % (familyID, lvMin), playerID)
continue
if family.GetJoinReview():
- GameWorld.DebugLog(" 需要审核的不处理! familyID=%s" % familyID, playerID)
+ #GameWorld.DebugLog(" 需要审核的不处理! familyID=%s" % familyID, playerID)
continue
MemberMax = GetFamilySetting(family.GetLV(), "MemberMax")
if family.GetCount() >= MemberMax:
- GameWorld.DebugLog(" 成员已满的不处理! familyID=%s" % familyID, playerID)
+ #GameWorld.DebugLog(" 成员已满的不处理! familyID=%s" % familyID, playerID)
continue
#直接加入
@@ -1219,6 +1225,7 @@
#XW_JZ_LeaveFamily <n color="0,190,255">{%S1%}</n><n color="255,255,0">退出了家族!</n> 25 - -
NotifyAllFamilyMemberMsg(familyID, "XW_JZ_LeaveFamily", [curPlayer.GetName()])
+ __DoPlayerLeaveFamilyByID(family, playerID, curPlayer)
MapServer_FamilyRefresh(curPlayer, 0, 1)
if family.GetCount() == 0:
@@ -1284,10 +1291,16 @@
#删除玩家
tagPlayer = GameWorld.GetPlayerManager().FindPlayerByID(tagMemberID)
+ __DoPlayerLeaveFamilyByID(family, tagPlayerID, tagPlayer)
if tagPlayer:
MapServer_FamilyRefresh(tagPlayer, 0)
Broadcast_FamilyChange(familyID, FamilyChangeType_MemLeave)
+ return
+
+def __DoPlayerLeaveFamilyByID(curFamily, leavePlayerID, tagPlayer=None):
+ ## 有玩家离开家族处理,主要针对家族层级的,玩家个人的在 __OnLeaveFamily 处理
+ PlayerFamilyTaofa.OnFamilyMemberLeave(curFamily, leavePlayerID, tagPlayer)
return
#// A6 11 家族改名 #tagCMRenameFamily
@@ -1484,7 +1497,7 @@
curMember.SetDonateCntTotal(memDonateCntTotal)
GameWorld.DebugLog("家族捐献: donateType=%s,donateCnt=%s,%s,memDonateCntDay=%s,memDonateCntDay=%s"
% (donateType, donateCnt, awardItemList, memDonateCntDay, memDonateCntTotal), playerID)
- ItemControler.GivePlayerItemOrMail(curPlayer, awardItemList)
+ ItemControler.GivePlayerItemOrMail(curPlayer, awardItemList, event=["FamilyMoneyDonate", False, {}])
return
def ResetDailyDonateCnt(curPlayer):
@@ -1604,7 +1617,8 @@
def SendFamilyActionInfo(curPlayer, familyID, actionType):
## 发送家族行为
# @param curPlayer: 为None时通知该仙盟所有成员
-
+ if not familyID:
+ return
familyAction = DBDataMgr.GetFamilyActionMgr().GetFamilyAction(familyID, actionType)
clientPack = ChPyNetSendPack.tagMCFamilyActionInfo()
--
Gitblit v1.8.0