From 5c27c43c293460a98a1374504c07533ddf17d24f Mon Sep 17 00:00:00 2001
From: xdh <xiefantasy@qq.com>
Date: 星期一, 03 六月 2019 19:32:21 +0800
Subject: [PATCH] 7067 【2.0】【后端】丹炉新增批量炼丹
---
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetPack.py | 56 ++++++++++--------
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetSendPack.py | 8 ++
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerRefineStove.py | 83 +++++++++++++++------------
ServerPython/CoreServerGroup/GameServer/Script/ChPyNetPack.py | 12 ++-
ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py | 8 ++
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChConfig.py | 1
6 files changed, 96 insertions(+), 72 deletions(-)
diff --git a/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetPack.py b/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetPack.py
index 406c6ca..4a9855a 100644
--- a/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetPack.py
+++ b/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetPack.py
@@ -2228,7 +2228,7 @@
class tagCGVoiceChat(Structure):
Head = tagHead()
- ChannelType = 0 #(BYTE ChannelType)// 1 世界 2 仙盟 3 私聊(好友) 4 队伍 -------查看封包tagCMVoiceChat 5 区域
+ ChannelType = 0 #(BYTE ChannelType)// 1 世界 2 仙盟 3 私聊(好友) 4 队伍 -------查看封包tagCMVoiceChat 5 区域
TargetNameLen = 0 #(BYTE TargetNameLen)
TargetName = "" #(String TargetName)//size = TargetNameLen
TargetID = 0 #(DWORD TargetID)// 默认发玩家ID,没有ID才发名称
@@ -3396,8 +3396,8 @@
_fields_ = [
("Cmd", c_ubyte),
("SubCmd", c_ubyte),
- ("ZoneID", c_ubyte), # 赛区ID
- ("SeasonID", c_ubyte), # 赛季ID
+ ("ZoneID", c_ubyte), # 赛区ID
+ ("SeasonID", c_ubyte), # 赛季ID
]
def __init__(self):
@@ -5953,7 +5953,7 @@
("SrcBackpack", c_ubyte), #源背包类型
("DesBackPack", c_ubyte), #目标背包类型
("SrcIndex", c_ushort), #转移物品索引位置;当全部转移时此值无效
- ("IsAll", c_ubyte), #是否全部转移
+ ("IsAll", c_ubyte), #是否全部转移
]
def __init__(self):
@@ -10304,6 +10304,7 @@
("Cmd", c_ubyte),
("SubCmd", c_ubyte),
("AlchemyID", c_int), # 丹药ID
+ ("AlchemyTimes", c_ushort), # 丹药次数
("DoType", c_ubyte), # 0-学习 1-开始炼丹 2-停止炼丹 3-开炉取丹
]
@@ -10322,6 +10323,7 @@
self.Cmd = 0xA5
self.SubCmd = 0x76
self.AlchemyID = 0
+ self.AlchemyTimes = 0
self.DoType = 0
return
@@ -10336,12 +10338,14 @@
Cmd:%s,
SubCmd:%s,
AlchemyID:%d,
+ AlchemyTimes:%d,
DoType:%d
'''\
%(
self.Cmd,
self.SubCmd,
self.AlchemyID,
+ self.AlchemyTimes,
self.DoType
)
return DumpString
diff --git a/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py b/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py
index a218635..2c62392 100644
--- a/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py
+++ b/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py
@@ -16465,6 +16465,7 @@
_fields_ = [
("AlchemyID", c_int), # 丹 ID
("StartTime", c_int), # 开始炼的时间
+ ("AlchemyTimes", c_ushort), # 炼的次数
]
def __init__(self):
@@ -16479,6 +16480,7 @@
def Clear(self):
self.AlchemyID = 0
self.StartTime = 0
+ self.AlchemyTimes = 0
return
def GetLength(self):
@@ -16490,11 +16492,13 @@
def OutputString(self):
DumpString = '''// A3 BF 通知客户端炼丹炉信息 //tagMCPlayerStoveMsg:
AlchemyID:%d,
- StartTime:%d
+ StartTime:%d,
+ AlchemyTimes:%d
'''\
%(
self.AlchemyID,
- self.StartTime
+ self.StartTime,
+ self.AlchemyTimes
)
return DumpString
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChConfig.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChConfig.py
index 81375a4..e4ef773 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChConfig.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChConfig.py
@@ -3891,6 +3891,7 @@
Def_PDict_AlchemyLearnState = "AlchemyLearnState%s" #丹方是否已学习
Def_PDict_AlchemyItemID = "AlchemyItemID_%s" #炼丹中的丹药ID 参数丹药类型
Def_PDict_AlchemyStartTime = "AlchemyStartTime_%s" #炼丹开始时间 参数丹药ID
+Def_PDict_AlchemyTimes = "AlchemyTimes_%s" #本次炼丹几次 参数丹药ID
Def_PDict_AlchemyCnt = "AlchemyCnt%s" #丹药炼丹次数
Def_PDict_AlchemyPrayCnt = "AlchemyPrayCnt" #炼丹祈福次数
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetPack.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetPack.py
index 406c6ca..aa0e755 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetPack.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetPack.py
@@ -2228,7 +2228,7 @@
class tagCGVoiceChat(Structure):
Head = tagHead()
- ChannelType = 0 #(BYTE ChannelType)// 1 世界 2 仙盟 3 私聊(好友) 4 队伍 -------查看封包tagCMVoiceChat 5 区域
+ ChannelType = 0 #(BYTE ChannelType)// 1 世界 2 仙盟 3 私聊(好友) 4 队伍 -------查看封包tagCMVoiceChat 5 区域
TargetNameLen = 0 #(BYTE TargetNameLen)
TargetName = "" #(String TargetName)//size = TargetNameLen
TargetID = 0 #(DWORD TargetID)// 默认发玩家ID,没有ID才发名称
@@ -2326,7 +2326,7 @@
_fields_ = [
("Cmd", c_ubyte),
("SubCmd", c_ubyte),
- ("TagID", c_int),
+ ("TagID", c_int),
("Answer", c_ubyte), #0: 拒绝 1: 接受
]
@@ -2382,7 +2382,7 @@
_fields_ = [
("Cmd", c_ubyte),
("SubCmd", c_ubyte),
- ("ItemID", c_int),
+ ("ItemID", c_int),
("IsAttention", c_ubyte), #是否关注,取消关注发0
]
@@ -3396,8 +3396,8 @@
_fields_ = [
("Cmd", c_ubyte),
("SubCmd", c_ubyte),
- ("ZoneID", c_ubyte), # 赛区ID
- ("SeasonID", c_ubyte), # 赛季ID
+ ("ZoneID", c_ubyte), # 赛区ID
+ ("SeasonID", c_ubyte), # 赛季ID
]
def __init__(self):
@@ -3676,7 +3676,7 @@
_fields_ = [
("Cmd", c_ubyte),
("SubCmd", c_ubyte),
- ("Adult", c_ubyte),
+ ("Adult", c_ubyte),
]
def __init__(self):
@@ -4029,7 +4029,7 @@
_fields_ = [
("Cmd", c_ubyte),
("SubCmd", c_ubyte),
- ("MapID", c_int),
+ ("MapID", c_int),
]
def __init__(self):
@@ -4129,8 +4129,8 @@
_fields_ = [
("Cmd", c_ubyte),
("SubCmd", c_ubyte),
- ("MapID", c_int),
- ("FuncLineID", c_ushort),
+ ("MapID", c_int),
+ ("FuncLineID", c_ushort),
]
def __init__(self):
@@ -4185,7 +4185,7 @@
_fields_ = [
("Cmd", c_ubyte),
("SubCmd", c_ubyte),
- ("ObjID", c_int),
+ ("ObjID", c_int),
]
def __init__(self):
@@ -4341,7 +4341,7 @@
_fields_ = [
("Cmd", c_ubyte),
("SubCmd", c_ubyte),
- ("TaskID", c_int),
+ ("TaskID", c_int),
("RewardPer", c_ushort), # 奖励百分比, 默认100; 150则代表1.5倍
]
@@ -4397,7 +4397,7 @@
_fields_ = [
("Cmd", c_ubyte),
("SubCmd", c_ubyte),
- ("NPCID", c_int),
+ ("NPCID", c_int),
("EndType", c_ubyte), # 0-默认;1-跳过
]
@@ -4781,8 +4781,8 @@
_fields_ = [
("Cmd", c_ubyte),
("SubCmd", c_ubyte),
- ("ObjID", c_int),
- ("BossID", c_int),
+ ("ObjID", c_int),
+ ("BossID", c_int),
]
def __init__(self):
@@ -4837,8 +4837,8 @@
_fields_ = [
("Cmd", c_ubyte),
("SubCmd", c_ubyte),
- ("ObjID", c_int),
- ("NPCID", c_int),
+ ("ObjID", c_int),
+ ("NPCID", c_int),
("QueryType", c_ubyte), # 0-实时仙盟伤血,1-历史仙盟伤血,2-实时玩家伤血,3-历史玩家伤血
]
@@ -5119,7 +5119,7 @@
_fields_ = [
("Cmd", c_ubyte),
("SubCmd", c_ubyte),
- ("MissionID", c_int),
+ ("MissionID", c_int),
("DoType", c_ubyte), # 0-只完成本次;1-完成所有环任务
]
@@ -5336,7 +5336,7 @@
("Cmd", c_ubyte),
("SubCmd", c_ubyte),
("GuideIndex", c_ubyte), # 记录位索引, 发送255时,代表设置全部
- ("IsOK", c_ubyte),
+ ("IsOK", c_ubyte),
]
def __init__(self):
@@ -5467,7 +5467,7 @@
_fields_ = [
("Cmd", c_ubyte),
("SubCmd", c_ubyte),
- ("MissionID", c_int),
+ ("MissionID", c_int),
]
def __init__(self):
@@ -5666,7 +5666,7 @@
_fields_ = [
("Cmd", c_ubyte),
("SubCmd", c_ubyte),
- ("PlayerID", c_int),
+ ("PlayerID", c_int),
("EquipClassLV", c_ubyte), #大于0为查看指定境界阶装备信息, 0为查看默认信息
]
@@ -5898,7 +5898,7 @@
_fields_ = [
("Cmd", c_ubyte),
("SubCmd", c_ubyte),
- ("Seting", c_int),
+ ("Seting", c_int),
]
def __init__(self):
@@ -5953,7 +5953,7 @@
("SrcBackpack", c_ubyte), #源背包类型
("DesBackPack", c_ubyte), #目标背包类型
("SrcIndex", c_ushort), #转移物品索引位置;当全部转移时此值无效
- ("IsAll", c_ubyte), #是否全部转移
+ ("IsAll", c_ubyte), #是否全部转移
]
def __init__(self):
@@ -6839,7 +6839,7 @@
("SubCmd", c_ubyte),
("PackType", c_ubyte), #背包类型
("ItemIndex", c_ushort), #物品在背包中索引
- ("DropPosX", c_ushort),
+ ("DropPosX", c_ushort),
("DropPosY", c_ushort), #掉落物品
]
@@ -7895,8 +7895,8 @@
_fields_ = [
("Cmd", c_ubyte),
("SubCmd", c_ubyte),
- ("MapID", c_int),
- ("LineID", c_ushort),
+ ("MapID", c_int),
+ ("LineID", c_ushort),
("Cnt", c_ubyte), # 扫荡次数
("IsFinish", c_ubyte), # 是否立即完成; 0-否;1-花钱立即完成;2-客户端自行倒计时间到后发送2代表领取扫荡完成奖励
("DataEx", c_int), #附带信息
@@ -10073,7 +10073,7 @@
_fields_ = [
("Cmd", c_ubyte),
("SubCmd", c_ubyte),
- ("MWID", c_int),
+ ("MWID", c_int),
]
def __init__(self):
@@ -10304,6 +10304,7 @@
("Cmd", c_ubyte),
("SubCmd", c_ubyte),
("AlchemyID", c_int), # 丹药ID
+ ("AlchemyTimes", c_ushort), # 丹药次数
("DoType", c_ubyte), # 0-学习 1-开始炼丹 2-停止炼丹 3-开炉取丹
]
@@ -10322,6 +10323,7 @@
self.Cmd = 0xA5
self.SubCmd = 0x76
self.AlchemyID = 0
+ self.AlchemyTimes = 0
self.DoType = 0
return
@@ -10336,12 +10338,14 @@
Cmd:%s,
SubCmd:%s,
AlchemyID:%d,
+ AlchemyTimes:%d,
DoType:%d
'''\
%(
self.Cmd,
self.SubCmd,
self.AlchemyID,
+ self.AlchemyTimes,
self.DoType
)
return DumpString
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetSendPack.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetSendPack.py
index f3daa2e..10ec851 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetSendPack.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetSendPack.py
@@ -16465,6 +16465,7 @@
_fields_ = [
("AlchemyID", c_int), # 丹 ID
("StartTime", c_int), # 开始炼的时间
+ ("AlchemyTimes", c_ushort), # 炼的次数
]
def __init__(self):
@@ -16479,6 +16480,7 @@
def Clear(self):
self.AlchemyID = 0
self.StartTime = 0
+ self.AlchemyTimes = 0
return
def GetLength(self):
@@ -16490,11 +16492,13 @@
def OutputString(self):
DumpString = '''// A3 BF 通知客户端炼丹炉信息 //tagMCPlayerStoveMsg:
AlchemyID:%d,
- StartTime:%d
+ StartTime:%d,
+ AlchemyTimes:%d
'''\
%(
self.AlchemyID,
- self.StartTime
+ self.StartTime,
+ self.AlchemyTimes
)
return DumpString
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerRefineStove.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerRefineStove.py
index 04958df..56bd17f 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerRefineStove.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerRefineStove.py
@@ -76,7 +76,7 @@
if not GameFuncComm.GetFuncCanUse(curPlayer, ShareDefine.GameFuncID_RefineStove):
GameWorld.DebugLog("炼丹炉功能未开启!", playerID)
return
-
+ refineTimes = max(1, clientPack.AlchemyTimes)
alchemyID = clientPack.AlchemyID
doType = clientPack.DoType
GameWorld.DebugLog("玩家炼丹: alchemyID=%s, doType=%s" % (alchemyID, doType), playerID)
@@ -119,9 +119,11 @@
if curAlchemyItemID:
GameWorld.DebugLog('当前丹类型已在炼丹中! curAlchemyItemID=%s' % curAlchemyItemID)
return
+ if refineTimes < 1:
+ return
# 基础固定消耗
needMaterialDict = alchemyIpyData.GetMaterial()
-
+ needMaterialDict = {itemID:itemCnt*refineTimes for itemID, itemCnt in needMaterialDict.items()}
itemPack = curPlayer.GetItemManager().GetPack(IPY_GameWorld.rptItem)
lackItemDict, delInfoDict = ItemCommon.GetCostItemIndexList(needMaterialDict, itemPack, False)
if lackItemDict:
@@ -132,6 +134,7 @@
ItemCommon.DelCostItem(curPlayer, itemPack, delInfoDict, ChConfig.ItemDel_Alchemy)
PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_AlchemyItemID % alchemType, alchemyItemID)
PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_AlchemyStartTime % alchemyID, curTime)
+ PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_AlchemyTimes % alchemyID, refineTimes)
Sycn_AlchemyMsg(curPlayer, alchemyID, False)
#日常任务
@@ -149,33 +152,36 @@
if curAlchemyItemID != alchemyItemID:
GameWorld.DebugLog('开炉丹药ID错误 curAlchemyItemID=%s' % curAlchemyItemID)
return
+ refineTimes = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_AlchemyTimes % alchemyID)
+ refineTimes = max(1, refineTimes)
startTime = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_AlchemyStartTime % alchemyID)
passTime = max(0, curTime - startTime)
- if passTime < alchemyIpyData.GetNeedTime():
+ if passTime < alchemyIpyData.GetNeedTime() * refineTimes:
GameWorld.DebugLog('开炉丹药,时间未到 passTime=%s' % passTime)
return
alchemyQuality = alchemyIpyData.GetAlchemyQuality()
- appointInfo = [] #定制配置 [数量,成功率]
- alchemyCustomizedDict = IpyGameDataPY.GetFuncEvalCfg('alchemyCustomized', 1, {})
- if alchemyID in alchemyCustomizedDict:
- alchemyCnt = GameWorld.GetDictValueByBit(curPlayer, ChConfig.Def_PDict_AlchemyCnt, alchemyID, False)
- alchemyCntDict = alchemyCustomizedDict[alchemyID]
- if alchemyCnt + 1 in alchemyCntDict:
- appointInfo = alchemyCntDict[alchemyCnt + 1]
+
+ # appointInfo = [] #定制配置 [数量,成功率]
+ # alchemyCustomizedDict = IpyGameDataPY.GetFuncEvalCfg('alchemyCustomized', 1, {})
+ # if alchemyID in alchemyCustomizedDict:
+ # alchemyCnt = GameWorld.GetDictValueByBit(curPlayer, ChConfig.Def_PDict_AlchemyCnt, alchemyID, False)
+ # alchemyCntDict = alchemyCustomizedDict[alchemyID]
+ # if alchemyCnt + 1 in alchemyCntDict:
+ # appointInfo = alchemyCntDict[alchemyCnt + 1]
#成功率
- if appointInfo:
- successRate = appointInfo[1]
- elif alchemType == DefStoveType2:
- successRate = ShareDefine.Def_MaxRateValue #仙丹必定成功
- elif alchemType == DefStoveType1:
- #灵丹成功率公式 参数 curLuckValue:慧根 alchemyLV:炼丹等级 alchemyQuality:丹药等级 qualityNeedLuck:要求慧根
- qualityNeedLuck = IpyGameDataPY.GetFuncEvalCfg('alchemySuccess', 2, {}).get(str(alchemyQuality), 0)
- successRate = eval(IpyGameDataPY.GetFuncCompileCfg('alchemySuccess'))
- else:
- return
- isSuccess = GameWorld.CanHappen(successRate)
+ # if appointInfo:
+ # successRate = appointInfo[1]
+ # elif alchemType == DefStoveType2:
+ # successRate = ShareDefine.Def_MaxRateValue #仙丹必定成功
+ # elif alchemType == DefStoveType1:
+ # #灵丹成功率公式 参数 curLuckValue:慧根 alchemyLV:炼丹等级 alchemyQuality:丹药等级 qualityNeedLuck:要求慧根
+ # qualityNeedLuck = IpyGameDataPY.GetFuncEvalCfg('alchemySuccess', 2, {}).get(str(alchemyQuality), 0)
+ # successRate = eval(IpyGameDataPY.GetFuncCompileCfg('alchemySuccess'))
+ # else:
+ # return
+ isSuccess = 1 #GameWorld.CanHappen(successRate)
resultCnt = 0 #丹药数量 0代表失败
if isSuccess:
needSpace = 1
@@ -186,20 +192,18 @@
if alchemType == DefStoveType2:
resultCnt = 1 #仙丹必定为1
elif alchemType == DefStoveType1:
- if appointInfo:
- resultCnt = appointInfo[0]
- else:
- ipyData = IpyGameDataPY.InterpolationSearch('AlchemyResult', 'LuckValue', curLuckValue, {'AlchemyQuality':alchemyIpyData.GetAlchemyQuality()})
- if not ipyData:
- GameWorld.ErrLog('AlchemyResult 配置错误 未找到该丹方数量 alchemyItemID=%s' % alchemyItemID, playerID)
- return
- resultCnt = GameWorld.GetResultByRandomList(ipyData.GetCntRateList())
+ ipyData = IpyGameDataPY.InterpolationSearch('AlchemyResult', 'LuckValue', curLuckValue, {'AlchemyQuality':alchemyIpyData.GetAlchemyQuality()})
+ if not ipyData:
+ GameWorld.ErrLog('AlchemyResult 配置错误 未找到该丹方数量 alchemyItemID=%s' % alchemyItemID, playerID)
+ return
+ resultCnt = GameWorld.GetResultByRandomList(ipyData.GetCntRateList())
if not resultCnt:
GameWorld.ErrLog('AlchemyResult 配置错误 未随机出该丹方数量alchemyItemID=%s' % alchemyItemID, playerID)
return
makeItemData = GameWorld.GetGameData().GetItemByTypeID(alchemyItemID)
if not makeItemData:
return
+ resultCnt *=refineTimes
ItemControler.GivePlayerItem(curPlayer, alchemyItemID, resultCnt, 0, [IPY_GameWorld.rptItem],
event=[ChConfig.ItemGive_Refine, False, {}])
#紫色及以上全服广播
@@ -210,30 +214,32 @@
PlayerControl.WorldNotify(0, "AchemyGreatSuccess", [curPlayer.GetPlayerName(), alchemyItemID])
#任务
- EventShell.EventRespons_RefineItem(curPlayer, alchemyQuality, alchemyItemID)
+ for _ in xrange(refineTimes):
+ EventShell.EventRespons_RefineItem(curPlayer, alchemyQuality, alchemyItemID)
#重置
PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_AlchemyItemID % alchemType, 0)
PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_AlchemyStartTime % alchemyID, 0)
+ PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_AlchemyTimes % alchemyID, 0)
#加经验
- addExp = alchemyIpyData.GetAlchemyExp()
+ addExp = alchemyIpyData.GetAlchemyExp() * refineTimes
AddRefineExp(curPlayer, addExp, alchemyLV)
#加次数
- if alchemyID in alchemyCustomizedDict:
- GameWorld.SetDictValueByBit(curPlayer, ChConfig.Def_PDict_AlchemyCnt, alchemyID, min(alchemyCnt + 1, 9), False)
+ # if alchemyID in alchemyCustomizedDict:
+ # GameWorld.SetDictValueByBit(curPlayer, ChConfig.Def_PDict_AlchemyCnt, alchemyID, min(alchemyCnt + refineTimes, 9), False)
- GameWorld.DebugLog('炼丹结果 alchemyItemID=%s,successRate=%s,isSuccess=%s,resultCnt=%s,appointInfo=%s' % (alchemyItemID, successRate, isSuccess, resultCnt, appointInfo), playerID)
+ GameWorld.DebugLog('炼丹结果 alchemyItemID=%s,refineTimes=%s,isSuccess=%s,resultCnt=%s' % (alchemyItemID, refineTimes, isSuccess, resultCnt), playerID)
Sycn_AlchemyMsg(curPlayer, alchemyID, False, alchemyItemID, resultCnt)
#完成1次炼丹成就
- PlayerSuccess.DoAddSuccessProgress(curPlayer, ShareDefine.SuccType_RefineItem, 1)
+ PlayerSuccess.DoAddSuccessProgress(curPlayer, ShareDefine.SuccType_RefineItem, refineTimes)
#完成1次X品质物品炼丹成就
#PlayerSuccess.DoAddSuccessProgress(curPlayer, ShareDefine.SuccType_RefineStoveColor, 1, [makeItemData.GetItemColor()])
- PlayerFairyCeremony.AddFCPartyActionCnt(curPlayer, ChConfig.Def_PPAct_RefineStove, 1)
- PlayerNewFairyCeremony.AddFCPartyActionCnt(curPlayer, ChConfig.Def_PPAct_RefineStove, 1)
- PlayerActLogin.AddLoginAwardActionCnt(curPlayer, ChConfig.Def_LoginAct_Alchemy, 1)
+ PlayerFairyCeremony.AddFCPartyActionCnt(curPlayer, ChConfig.Def_PPAct_RefineStove, refineTimes)
+ PlayerNewFairyCeremony.AddFCPartyActionCnt(curPlayer, ChConfig.Def_PPAct_RefineStove, refineTimes)
+ PlayerActLogin.AddLoginAwardActionCnt(curPlayer, ChConfig.Def_LoginAct_Alchemy, refineTimes)
return
@@ -295,6 +301,7 @@
StoveInfo = ChPyNetSendPack.tagMCPlayerStoveInfo()
StoveInfo.AlchemyID = alchemyID
StoveInfo.StartTime = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_AlchemyStartTime % alchemyID)
+ StoveInfo.AlchemyTimes = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_AlchemyTimes % alchemyID)
pack.InfoList.append(StoveInfo)
pack.StoveCnt = len(pack.InfoList)
NetPackCommon.SendFakePack(curPlayer, pack)
--
Gitblit v1.8.0