From 9f75df2e561df58c84b48b9513849b656d57c7b9 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期一, 17 十一月 2025 11:09:04 +0800
Subject: [PATCH] 129 【战斗】战斗系统-服务端(修改主线掉落按消耗战锤掉落;分解装备改为按装备固定分解;)

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/MainLevel.py |   17 +++++++++++------
 1 files changed, 11 insertions(+), 6 deletions(-)

diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/MainLevel.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/MainLevel.py
index 64bc3ad..5b9be05 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/MainLevel.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/MainLevel.py
@@ -27,8 +27,8 @@
     
     if not gmList:
         GameWorld.DebugAnswer(curPlayer, "重置主线: MainLevel 0")
-        GameWorld.DebugAnswer(curPlayer, "设置主线: MainLevel 章节 关卡 波")
-        GameWorld.DebugAnswer(curPlayer, "测试掉落: MainLevel d 战锤数")
+        GameWorld.DebugAnswer(curPlayer, "设置主线: MainLevel 章节 关卡 波 [是否同波]")
+        GameWorld.DebugAnswer(curPlayer, "测试击杀: MainLevel k 消耗战锤数")
         GameWorld.DebugAnswer(curPlayer, "重置掉落: MainLevel d 0 [是否清掉落背包]")
         GameWorld.DebugAnswer(curPlayer, "重置战利: MainLevel b 0")
         GameWorld.DebugAnswer(curPlayer, "设置战利: MainLevel b 战利品ID 已掉落个数")
@@ -36,19 +36,23 @@
     
     value = gmList[0]
     
+    if value == "k":
+        useXiantao = gmList[1] if len(gmList) > 1 else 1
+        GameLogic_MainLevel.GMTestKill(curPlayer, useXiantao)
+        return
+    
     if value == "d":
         unXiantao = gmList[1] if len(gmList) > 1 else 1
         if unXiantao == 0:
             PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_UnXiantaoCntExp, 0)
             PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_UnXiantaoCntEquip, 0)
+            PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_AppointDropEquipCnt, 0)
             GameLogic_MainLevel.ResetBootyDropToday(curPlayer)
             clearDropPack = gmList[2] if len(gmList) > 2 else 0
             if clearDropPack:
                 ClearPack.__DoLogic_Clear_Pack(curPlayer, IPY_GameWorld.rptIdentify)
             GameWorld.DebugAnswer(curPlayer, "重置未结算战锤掉落OK!")
             return
-        
-        GameLogic_MainLevel.GMTestKillDrop(curPlayer, unXiantao)
         return
     
     if value == "b":
@@ -67,13 +71,14 @@
     
     if value <= 0:
         nowValue = PlayerControl.SetMainLevelNowInfo(curPlayer, 1, 1, 1)
-        passValue = PlayerControl.SetMainLevelPassInfo(curPlayer, 0, 0, 0)
+        passValue = PlayerControl.SetMainLevelPassInfo(curPlayer, 1, 1, 0)
         GameWorld.DebugAnswer(curPlayer, "重置主线:now=%s,pass=%s" % (nowValue, passValue))
         return
     
     chapterID = value
     levelNum = gmList[1] if len(gmList) > 1 else 1
     wave = gmList[2] if len(gmList) > 2 else 1
+    isSameWave = gmList[3] if len(gmList) > 3 else 0
     
     levelIpyData = IpyGameDataPY.GetIpyGameData("MainLevel", chapterID, levelNum)
     if not levelIpyData:
@@ -88,6 +93,6 @@
         wave = waveMax
         
     nowValue = PlayerControl.SetMainLevelNowInfo(curPlayer, chapterID, levelNum, wave)
-    passValue = PlayerControl.SetMainLevelPassInfo(curPlayer, chapterID, levelNum, wave)
+    passValue = PlayerControl.SetMainLevelPassInfo(curPlayer, chapterID, levelNum, wave if isSameWave else max(0, wave - 1))
     GameWorld.DebugAnswer(curPlayer, "设置主线:章关=%s-%s,波=%s,%s,%s" % (chapterID, levelNum, wave, nowValue, passValue))
     return

--
Gitblit v1.8.0