From fbf3fe5655d97c67db3bf07706ab5af232dcc9a5 Mon Sep 17 00:00:00 2001 From: hxp <ale99527@vip.qq.com> Date: 星期四, 18 九月 2025 19:17:48 +0800 Subject: [PATCH] 129 【战斗】战斗系统-服务端(甘夫人技能;增加连击、追击增伤减伤属性;) --- ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Item/ChItem.py | 133 ++++++------------------------------------- 1 files changed, 20 insertions(+), 113 deletions(-) diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Item/ChItem.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Item/ChItem.py index e4e12c9..36d166c 100644 --- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Item/ChItem.py +++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Item/ChItem.py @@ -42,7 +42,6 @@ import ReadChConfig import OperControlManager import ShareDefine -import PlayerAttrFruit import DataRecordPack import ChPyNetSendPack import NetPackCommon @@ -110,7 +109,7 @@ #=============================================================================== def __Func_InitItem(tick): #初始化物品掉落保护 - MapItemProtectTime = IpyGameDataPY.GetFuncCfg("MapItemProtectTime") + MapItemProtectTime = 120000 #IpyGameDataPY.GetFuncCfg("MapItemProtectTime") GameWorld.GetMapItemManager().SetProtectTime(MapItemProtectTime) #=============================================================================================== @@ -190,8 +189,6 @@ mapItemCount = singItem.GetCount() singItemGUID = singItem.GetGUID() curEffID = singItem.GetEffectByIndex(0).GetEffectID() - playerTeam = curPlayer.GetTeam() - #isTeamNotify = (ownerType == ChConfig.Def_NPCHurtTypeTeam and playerTeam != None) isTeamNotify = False # 拾取金钱 if mapItemType == ChConfig.Def_ItemType_Money: @@ -199,10 +196,6 @@ ChConfig.Def_GiveMoney_Pickup, {}, not isTeamNotify): return - # 提示获得金钱数量 - if isTeamNotify: - PlayerControl.TeamNotify(playerTeam.GetTeamID(), "GeRen_lhs_295695", [curPlayer.GetName(), - mapItemCount]) # 副本拾取金钱 FBLogic.OnFBPickUpItem(curPlayer, singItem, tick) singItem.Clear() @@ -462,12 +455,12 @@ def __DoLogic_PlayerUseItemSelf(curPlayer, useItemIndex, tick, useCnt=1, exData=0): #使用物品行为状态, 判断客户端限制 - if not OperControlManager.IsObjCanDoAction( - curPlayer, - ChConfig.Def_Obj_ActState_ClientAct, - IPY_GameWorld.oalUseItem - ): - return False + #if not OperControlManager.IsObjCanDoAction( + # curPlayer, + # ChConfig.Def_Obj_ActState_ClientAct, + # IPY_GameWorld.oalUseItem + # ): + # return False #------------------封包参数 获得 玩家物品 backPack = curPlayer.GetItemManager().GetPack(IPY_GameWorld.rptItem) @@ -648,15 +641,6 @@ #这个物品不是一般物品, 直接返回结果 return useSpecialItemResult - #---特殊装备不验证装备属性, 普通物品要验证装备属性--- - itemControler = ItemControler.PlayerItemControler(curPlayer) - - #装备无法使用 - if itemControler.PlayerCanEquipItem(curItem, False): - #这个物品是装备 - PlayerControl.NotifyCode(curPlayer, "GeRen_chenxin_774045") - return - #物品类型ID itemTypeID = curItem.GetItemTypeID() @@ -683,10 +667,6 @@ # @return None or True # @remarks 函数详细说明. def __DealWith_SpecialItem(curPlayer, curItem, tick, useCnt, exData): - #果实物品 - useFruitResult = PlayerAttrFruit.DoPlayerEatFruitItem(curPlayer, curItem, useCnt) - if useFruitResult != -1: - return useFruitResult #------------------------获得物品相关属性 itemTypeID = curItem.GetItemTypeID() #物品类型id @@ -724,7 +704,6 @@ ChConfig.Def_Effect_TrainRealmLV:"Item_TrainRealmLV", # 境界培养卡 ChConfig.Def_Effect_ResetBossKillCnt:"Item_ResetBossKillCnt", # 重置boss击杀疲劳 ChConfig.Def_Effect_AddFBCnt:"Item_AddFBCnt", # 增加副本可进入次数 - ChConfig.Def_Effect_AddArenaBattleCount:"Item_AddArenaBattleCount", # 增加竞技场挑战次数 ChConfig.Def_Effect_AddKillBossCnt:"Item_AddKillBossCnt", # 增加BOSS可击杀次数 ChConfig.Def_Effect_AddMagicWeaponUpExp:"Item_AddMagicWeaponUpExp", # 增加法宝升星经验 ChConfig.Def_Effect_ChatBubbleBox:"Item_ChatBubbleBox", # 激活聊天气泡框 @@ -734,6 +713,8 @@ ChConfig.Def_Effect_ItemGiveWeekPartyPoint1:"Item_WeekPartyPoint", # 增加活动巡礼积分 ChConfig.Def_Effect_AddRealmExpRate:"Item_AddRealmExpRate", # 增加聚灵效率 ChConfig.Def_Effect_TouchMission:"Item_TouchMission", # 触发任务接口 + ChConfig.Def_Effect_HeroSkin:"Item_HeroSkin", # 武将皮肤 + #ChConfig.Def_Effect_AddArenaBattleCount:"Item_AddArenaBattleCount", # 增加竞技场挑战次数 #ChConfig.Def_Effect_FamilyImpeach:"Item_FamilyImpeach", # 弹劾符 #ChConfig.Def_Effect_ClothesCoatSkin:"Item_ClothesCoatSkin", #激活时装皮肤 #ChConfig.Def_Effect_AddOfficialExp:"Item_AddOfficialExp", # 增加爵位经验 @@ -895,25 +876,25 @@ # @return 布尔值 # @remarks 检查使用物品的玩家属性. def CheckUseItemSelf_Player(curPlayer): - if GameObj.GetHP(curPlayer) <= 0 : - return False + #if GameObj.GetHP(curPlayer) <= 0 : + # return False # #眩晕时, 不可使用物品 # if curPlayer.GetAbnormalState() == IPY_GameWorld.sctFaint: # return False #使用物品行为状态, 判断服务端限制 - if not OperControlManager.IsObjCanDoAction( - curPlayer, - ChConfig.Def_Obj_ActState_ServerAct, - IPY_GameWorld.oalUseItem - ): - return False + #if not OperControlManager.IsObjCanDoAction( + # curPlayer, + # ChConfig.Def_Obj_ActState_ServerAct, + # IPY_GameWorld.oalUseItem + # ): + # return False #交易状态, 不可使用物品 - if curPlayer.GetPlayerAction() == IPY_GameWorld.paTrade: - PlayerControl.NotifyCode(curPlayer, "GeRen_lhs_372238") - return False + #if curPlayer.GetPlayerAction() == IPY_GameWorld.paTrade: + # PlayerControl.NotifyCode(curPlayer, "GeRen_lhs_372238") + # return False # #GM禁止使用 # if GameWorld.IsGM(curPlayer): @@ -1742,80 +1723,6 @@ infoDict[ShareDefine.Def_MapItemInfo_IsSuite] = 1 return infoDict - -# 特别设定:卓越物品必带武器技能增强效果,使用者请特别注意 -## 装备动态属性,只用于未设置属性的singleItem,roleItem使用多次发背包刷新包 -# @param curItem 玩家实例 -# @param equipData -# @return -def EquipAddAdditionEx(curItem, equipData): - # 绑定 - #if equipData.isBind: - # ItemControler.SetItemIsBind(curItem, equipData.isBind) - - if not ItemCommon.CheckItemIsEquip(curItem): - return - - #=========================================================================== - # # 强化等级 - # if equipData.starLV: - # curItem.SetItemStarLV(equipData.starLV) - # # 打孔 - # if 0 < equipData.holeCnt <= curItem.GetMaxHoleCount(): - # curItem.SetCanPlaceStoneCount(equipData.holeCnt) - # - # # 给镶嵌宝石 - # for i, stoneID in enumerate(equipData.stoneData): - # if i > equipData.holeCnt - 1: - # break - # - # if stoneID <= 0: - # continue - # - # curItem.SetStone(i, stoneID) - #=========================================================================== - - # 套装 - #if equipData.isSuite: - # curItem.SetIsSuite(equipData.isSuite) - #if equipData.suiteLV: - # curItem.SetUserAttr(ShareDefine.Def_IudetSuiteLV, equipData.suiteLV) - # 物品来源 - if equipData.source: - curItem.SetUserAttr(ShareDefine.Def_IudetSource, equipData.source) - - # 传奇属性 - if equipData.legendAttrIDList and equipData.legendAttrValueList: - curItem.ClearUserAttr(ShareDefine.Def_IudetLegendAttrID) - curItem.ClearUserAttr(ShareDefine.Def_IudetLegendAttrValue) - for i in xrange(len(equipData.legendAttrIDList)): - curItem.AddUserAttr(ShareDefine.Def_IudetLegendAttrID, equipData.legendAttrIDList[i]) - curItem.AddUserAttr(ShareDefine.Def_IudetLegendAttrValue, equipData.legendAttrValueList[i]) - # 传奇属性 - 神 - if equipData.legendAttrIDListShen and equipData.legendAttrValueListShen: - curItem.ClearUserAttr(ShareDefine.Def_IudetLegendAttrIDShen) - curItem.ClearUserAttr(ShareDefine.Def_IudetLegendAttrValueShen) - for i in xrange(len(equipData.legendAttrIDListShen)): - curItem.AddUserAttr(ShareDefine.Def_IudetLegendAttrIDShen, equipData.legendAttrIDListShen[i]) - curItem.AddUserAttr(ShareDefine.Def_IudetLegendAttrValueShen, equipData.legendAttrValueListShen[i]) - # 传奇属性 - 仙 - if equipData.legendAttrIDListXian and equipData.legendAttrValueListXian: - curItem.ClearUserAttr(ShareDefine.Def_IudetLegendAttrIDXian) - curItem.ClearUserAttr(ShareDefine.Def_IudetLegendAttrValueXian) - for i in xrange(len(equipData.legendAttrIDListXian)): - curItem.AddUserAttr(ShareDefine.Def_IudetLegendAttrIDXian, equipData.legendAttrIDListXian[i]) - curItem.AddUserAttr(ShareDefine.Def_IudetLegendAttrValueXian, equipData.legendAttrValueListXian[i]) - # 传奇属性 - 极 - if equipData.legendAttrIDListJi and equipData.legendAttrValueListJi: - curItem.ClearUserAttr(ShareDefine.Def_IudetLegendAttrIDJi) - curItem.ClearUserAttr(ShareDefine.Def_IudetLegendAttrValueJi) - for i in xrange(len(equipData.legendAttrIDListJi)): - curItem.AddUserAttr(ShareDefine.Def_IudetLegendAttrIDJi, equipData.legendAttrIDListJi[i]) - curItem.AddUserAttr(ShareDefine.Def_IudetLegendAttrValueJi, equipData.legendAttrValueListJi[i]) - - ItemCommon.MakeEquipGS(curItem) - return - ## 判断装备是否是可加强装备 # @param curItem 物品实例 -- Gitblit v1.8.0