237 【福利内容】每日任务/每周任务/章节奖励-服务端(增加每日任务类型 6 ~ 10)
| | |
| | | DailyTask_HeroCall, # 武将招募 3
|
| | | DailyTask_Arena, # 演武场 4
|
| | | DailyTask_GoldRush, # 淘金 5
|
| | | ) = range(1, 1 + 5)
|
| | | DailyTask_CutTree, # 消耗X个战锤 6
|
| | | DailyTask_HeroLVUP, # 武将升级x次 7
|
| | | DailyTask_HeroStarUP, # 武将升星x次 8
|
| | | DailyTask_GetMoney, # 获得货币x个 9
|
| | | DailyTask_FBFinish, # 完成副本x次 10
|
| | | ) = range(1, 1 + 10)
|
| | |
|
| | | # 任务类型定义
|
| | | TaskTypeList = (
|
| | |
| | | import ItemCommon
|
| | | import NPCCommon
|
| | | import ReadChConfig
|
| | | import PlayerActivity
|
| | | import ChPyNetSendPack
|
| | | import NetPackCommon
|
| | | import IpyGameDataPY
|
| | |
| | | def AddEnterFBCount(curPlayer, fbID, addCount=1, lineBit=-1, isFree=False):
|
| | | ## 增加玩家进入副本次数
|
| | | ## @param isFree: 是否免费进入的,免费的不增加实际进入次数,但需要触发进入次数额外处理,如活跃、成就等
|
| | | #addCountEx = addCount
|
| | | addCountEx = addCount
|
| | | addCount = 0 if isFree else addCount
|
| | | fbID = GetRecordMapID(fbID)
|
| | | enterCntKey = ChConfig.Def_Player_Dict_FbEnterCnt % fbID
|
| | |
| | | PlayerControl.NomalDictSetProperty(curPlayer, enterCntKey, updValue)
|
| | | else:
|
| | | maxCnt = GetEnterFBMaxCnt(curPlayer, fbID)
|
| | | if enterCnt >= maxCnt:
|
| | | if not isFree and enterCnt >= maxCnt:
|
| | | return False
|
| | | updCnt = min(maxCnt, enterCnt + addCount)
|
| | | addCount = updCnt-enterCnt
|
| | | PlayerControl.NomalDictSetProperty(curPlayer, enterCntKey, updCnt)
|
| | |
|
| | | PlayerActivity.AddDailyTaskValue(curPlayer, ChConfig.DailyTask_FBFinish, addCountEx, [fbID])
|
| | | updValue = updCnt
|
| | | GameWorld.DebugLog(" AddEnterFBCount fbID=%s, addCount=%s, lineBit=%s, enterCnt=%s,updValue=%s"
|
| | | % (fbID, addCount, lineBit, enterCnt, updValue), curPlayer.GetPlayerID())
|
| | |
| | | itemList = FBCommon.GetPassAwardList(mapID, funcLineID)
|
| | | GameWorld.DebugLog("过关奖励: mapID=%s,funcLineID=%s,itemList=%s" % (mapID, funcLineID, itemList))
|
| | | # 首通不扣次数
|
| | | FBCommon.AddEnterFBCount(curPlayer, mapID, isFree=True)
|
| | | FBCommon.SetFBPass(curPlayer, mapID, funcLineID)
|
| | | ItemControler.GivePlayerItemOrMail(curPlayer, itemList, event=["Zhanchui", False, {}], isNotifyAward=False)
|
| | | overMsg.update({FBCommon.Over_itemInfo:FBCommon.GetJsonItemList(itemList)})
|
| | |
| | | taskConds = ipyData.GetTaskConds()
|
| | | if conds or taskConds:
|
| | | # 可按任务类型扩展不同的条件验证方式
|
| | | if taskConds != conds:
|
| | | if taskConds != tuple(conds):
|
| | | #GameWorld.DebugLog("条件不同taskConds=%s,conds=%s" % (taskConds, conds))
|
| | | continue
|
| | | needValue = ipyData.GetNeedValue()
|
| | | maxValue = max(maxValue, needValue)
|
| | |
| | | import PlayerGoldInvest
|
| | | import CrossRealmPlayer
|
| | | import CrossPlayerData
|
| | | import PlayerActivity
|
| | | import ChNetSendPack
|
| | | import PlayerState
|
| | | import PlayerOnline
|
| | |
| | | PlayerLLMJ.AddUseZhanchui(curPlayer, price)
|
| | | PlayerPrestigeSys.AddRealmTaskValue(curPlayer, PlayerPrestigeSys.RealmTaskType_UseXiantao, price)
|
| | | PlayerTask.AddTaskValue(curPlayer, ChConfig.TaskType_CutTree, price)
|
| | | |
| | | PlayerActivity.AddDailyTaskValue(curPlayer, ChConfig.DailyTask_CutTree, price)
|
| | |
|
| | | unitPrice = price if quantity == 1 else int(math.ceil(price * 1.0 / quantity)) # 单价
|
| | | #reason_name = "Unknown" if not costType else costType
|
| | |
| | | # 除钻石及绑钻外,未指定操作类型的不记录
|
| | |
|
| | | PlayerTask.AddTaskValue(curPlayer, ChConfig.TaskType_GetMoney, value, [priceType])
|
| | | PlayerActivity.AddDailyTaskValue(curPlayer, ChConfig.DailyTask_GetMoney, value, [priceType])
|
| | |
|
| | | if priceType == ShareDefine.TYPE_Price_FamilyCoin:
|
| | | PlayerFamily.AddFamilyContrib(curPlayer, value) # 公会币同步增加公会贡献
|
| | |
| | | import IPY_GameWorld
|
| | | import ItemControler
|
| | | import ChPyNetSendPack
|
| | | import PlayerActivity
|
| | | import NetPackCommon
|
| | | import PlayerControl
|
| | | import PlayerOnline
|
| | |
| | | heroItem.SetUserAttr(ShareDefine.Def_IudetHeroLV, updHeroLV)
|
| | |
|
| | | PlayerOnline.GetOnlinePlayer(curPlayer).OnHeroItemUpate([itemIndex])
|
| | | |
| | | PlayerActivity.AddDailyTaskValue(curPlayer, ChConfig.DailyTask_HeroLVUP, 1)
|
| | | return
|
| | |
|
| | | def GetHeroLVMax(heroItem):
|
| | |
| | | item.SetUserAttr(ShareDefine.Def_IudetHeroStar, updStar)
|
| | | if addStar > 0:
|
| | | __DoHeroStarTalentUp(item, addStar)
|
| | | PlayerActivity.AddDailyTaskValue(curPlayer, ChConfig.DailyTask_HeroStarUP, addStar)
|
| | | if isSync:
|
| | | heroItem.Sync_Item()
|
| | |
|