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/Player/PlayerTask.py | 36 +++++++++++++++++++++++++++--------- 1 files changed, 27 insertions(+), 9 deletions(-) diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerTask.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerTask.py index 0d8eef3..1ff3d57 100644 --- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerTask.py +++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerTask.py @@ -145,10 +145,11 @@ if taskType == ChConfig.TaskType_LV: taskValue = curPlayer.GetLV() - elif taskType == ChConfig.TaskType_FBPass: - if len(conds) != 2: + elif taskType == ChConfig.TaskType_MainLevel: + if not conds: return 0 - mapID, lineID = conds + mapID = ChConfig.Def_FBMapID_Main + lineID = conds[0] taskValue = 1 if FBCommon.IsFBPass(curPlayer, mapID, lineID) else 0 elif taskType == ChConfig.TaskType_TreeLV: @@ -156,6 +157,24 @@ elif taskType == ChConfig.TaskType_RealmLV: taskValue = curPlayer.GetOfficialRank() + + elif taskType == ChConfig.TaskType_EquipColor: + if not conds: + return 0 + needColor = conds[0] + equipCnt = 0 + equipPack = curPlayer.GetItemManager().GetPack(IPY_GameWorld.rptEquip) + for equipPlace in ChConfig.Def_MainEquipPlaces: + equipIndex = equipPlace - 1 + if equipIndex < 0 or equipIndex >= equipPack.GetCount(): + continue + curEquip = equipPack.GetAt(equipIndex) + if not curEquip or curEquip.IsEmpty(): + continue + itemColor = curEquip.GetItemColor() + if itemColor >= needColor: + equipCnt += 1 + taskValue = equipCnt return taskValue @@ -279,21 +298,20 @@ if curState != ChConfig.TaskState_CanGet: GameWorld.DebugLog("任务未完成无法领奖: taskID=%s,curValue=%s/%s,curState=%s" % (taskID, curValue, needValue, curState), playerID) return - if not ItemControler.CheckPackSpaceEnough(curPlayer, awardItemList): - return + #if not ItemControler.CheckPackSpaceEnough(curPlayer, awardItemList): + # return PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_TaskIDLast % taskGroup, taskID) PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_TaskID % taskGroup, 0) PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_TaskValue % taskGroup, 0) PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_TaskState % taskGroup, 0) - for itemID, itemCount, isAuctionItem in awardItemList: - ItemControler.GivePlayerItem(curPlayer, itemID, itemCount, isAuctionItem, [IPY_GameWorld.rptItem]) - + ItemControler.GivePlayerItemOrMail(curPlayer, awardItemList, event=["Task", False, {}]) + if not __giveNewTask(curPlayer, taskGroup): SyncTaskInfo(curPlayer, [taskGroup]) - GameFuncComm.DoFuncOpenLogic(curPlayer, [taskID]) + GameFuncComm.DoFuncOpenLogic(curPlayer) return def SyncTaskInfo(curPlayer, taskGroupList=None): -- Gitblit v1.8.0