6077 【后端】【1.5.200】新增一个仙界盛典(特殊版本)活动
| | |
| | | ShareDefine.Def_BT_Campaign_Recharge : 100, #累计充值(开服活动榜)
|
| | | ShareDefine.Def_BT_Campaign_PetLV : 100, #灵宠等级(开服活动榜)
|
| | | ShareDefine.Def_BT_FCCostGold : 5, #消费排行榜(仙界盛典)
|
| | | ShareDefine.Def_BT_NewFCCostGold : 5, #消费排行榜(仙界盛典)
|
| | | ShareDefine.Def_BT_FBHelpBattle : 100, #助战次数榜
|
| | | ShareDefine.Def_BT_ZhuXianTower : 100, #诛仙塔榜
|
| | | ShareDefine.Def_BT_HighLadder : 1000, #玩家天梯竞技场排行
|
| | |
| | | class tagMCFeastWeekPartyPlayerInfo(Structure):
|
| | | Head = tagHead()
|
| | | Count = 0 #(BYTE Count)
|
| | | DayInfoList = list() #(vector<tagMCWeekPartyDayPlayerInfo> DayInfoList)//活动完成次数信息
|
| | | DayInfoList = list() #(vector<tagMCFeastWeekPartyDayPlayerInfo> DayInfoList)//活动完成次数信息
|
| | | data = None
|
| | |
|
| | | def __init__(self):
|
| | |
| | | _pos = self.Head.ReadData(_lpData, _pos)
|
| | | self.Count,_pos = CommFunc.ReadBYTE(_lpData, _pos)
|
| | | for i in range(self.Count):
|
| | | temDayInfoList = tagMCWeekPartyDayPlayerInfo()
|
| | | temDayInfoList = tagMCFeastWeekPartyDayPlayerInfo()
|
| | | _pos = temDayInfoList.ReadData(_lpData, _pos)
|
| | | self.DayInfoList.append(temDayInfoList)
|
| | | return _pos
|
| | |
| | | import PlayerFamilySWRH
|
| | | import GameWorldBoss
|
| | | import PlayerFairyCeremony
|
| | | import PlayerNewFairyCeremony
|
| | | import GameWorldProcess
|
| | | import ChPyNetSendPack
|
| | | import NetPackCommon
|
| | |
| | | ipyData = operationActionDict[ShareDefine.OperationActionName_FairyCeremony][0]
|
| | | if ipyData:
|
| | | PlayerFairyCeremony.Sync_OperationAction_FairyCeremony(ipyData, curPlayer)
|
| | | |
| | | # 新仙界盛典活动进行中
|
| | | if ShareDefine.OperationActionName_NewFairyCeremony in operationActionDict:
|
| | | ipyData = operationActionDict[ShareDefine.OperationActionName_NewFairyCeremony][0]
|
| | | if ipyData:
|
| | | PlayerNewFairyCeremony.Sync_OperationAction_NewFairyCeremony(ipyData, curPlayer)
|
| | | # 多倍修行点活动进行中
|
| | | if ShareDefine.OperationActionName_RealmPoint in operationActionDict:
|
| | | ipyData = operationActionDict[ShareDefine.OperationActionName_RealmPoint][0]
|
| | |
| | | elif actName == ShareDefine.OperationActionName_FairyCeremony:
|
| | | #重置仙界盛典
|
| | | PlayerFairyCeremony.ResetFairyCeremony()
|
| | | |
| | | elif actName == ShareDefine.OperationActionName_NewFairyCeremony:
|
| | | #重置仙界盛典
|
| | | PlayerNewFairyCeremony.ResetNewFairyCeremony()
|
| | |
|
| | |
|
| | | if state >= 1 and actName in ShareDefine.NeedWorldLVOperationActNameList:
|
| | |
| | | PlayerFairyCeremony.Sync_OperationAction_FairyCeremony(ipyData)
|
| | | if preState != state and state == 0:
|
| | | PlayerFairyCeremony.OnFairyCeremonyEnd()
|
| | | elif actName == ShareDefine.OperationActionName_NewFairyCeremony:
|
| | | if isReload and ipyData:
|
| | | PlayerNewFairyCeremony.Sync_OperationAction_NewFairyCeremony(ipyData)
|
| | | if preState != state and state == 0:
|
| | | PlayerNewFairyCeremony.OnNewFairyCeremonyEnd()
|
| | | |
| | | elif actName == ShareDefine.OperationActionName_RealmPoint:
|
| | | if isReload and ipyData:
|
| | | Sync_OperationAction_RealmPoint(ipyData)
|
New file |
| | |
| | | #!/usr/bin/python
|
| | | # -*- coding: GBK -*-
|
| | | #-------------------------------------------------------------------------------
|
| | | #
|
| | | #-------------------------------------------------------------------------------
|
| | | #
|
| | | ##@package Player.PlayerNewFairyCeremony
|
| | | #
|
| | | # @todo:新仙界盛典
|
| | | # @author xdh
|
| | | # @date 2018-07-23 16:50
|
| | | # @version 1.0
|
| | | #
|
| | | #
|
| | | # 详细描述: 新仙界盛典
|
| | | #
|
| | | #---------------------------------------------------------------------
|
| | | """Version = 2018-07-23 16:50"""
|
| | | #---------------------------------------------------------------------
|
| | |
|
| | | import ChPyNetSendPack
|
| | | import GameWorld
|
| | | import PlayerDBGSEvent
|
| | | import ShareDefine
|
| | | import NetPackCommon
|
| | | import PlayerBillboard
|
| | | import IpyGameDataPY
|
| | | import PlayerCompensation
|
| | |
|
| | | (
|
| | | Def_FC_Recharge, #充值大礼
|
| | | Def_FC_Fireworks, #烟花
|
| | | Def_FC_Party, #全民来嗨
|
| | | Def_FC_RechargeRank, #绝版降临
|
| | | ) = range(1, 5)
|
| | |
|
| | | def ResetNewFairyCeremony():
|
| | | ##活动开始 重置排行榜信息
|
| | | # 清除排行榜
|
| | | |
| | | PlayerBillboard.ClearBillboardByIndex(ShareDefine.Def_BT_NewFCCostGold)
|
| | | return
|
| | |
|
| | | def OnNewFairyCeremonyEnd():
|
| | | #活动结束 绝版降临给奖励
|
| | | billBoard = GameWorld.GetBillboard().FindBillboard(ShareDefine.Def_BT_NewFCCostGold)
|
| | | if not billBoard:
|
| | | return
|
| | | worldLvNum = __GetFCWorldLVIndex(Def_FC_RechargeRank)
|
| | | |
| | | billboardCnt = billBoard.GetCount()
|
| | | |
| | | for index in range(0, billboardCnt):
|
| | | ipyData = IpyGameDataPY.GetIpyGameData('UniquenessArrive', worldLvNum, index + 1)
|
| | | if not ipyData:
|
| | | break
|
| | | objBillboard = billBoard.At(index)
|
| | | playerID = objBillboard.GetID()
|
| | | awardInfoDict = ipyData.GetAward()
|
| | | job = objBillboard.GetType2() % 10
|
| | | if str(job) not in awardInfoDict:
|
| | | GameWorld.ErrLog(' 绝版降临给奖励 UniquenessArrive 未配置该职业 job=%s' % job, playerID)
|
| | | continue
|
| | | |
| | | awardList = awardInfoDict[str(job)]
|
| | | PlayerCompensation.SendMailByKey('CeremonyRank', [playerID], awardList, [objBillboard.GetName1(), index + 1])
|
| | | |
| | | GameWorld.DebugLog(' 活动结束 绝版降临给奖励 worldLvNum=%s, billboardCnt=%s' % (worldLvNum, billboardCnt))
|
| | | return
|
| | |
|
| | | def __GetFCWorldLVIndex(fcType):
|
| | | #获取活动世界等级档
|
| | | playerFCWorldLV = PlayerDBGSEvent.GetDBGSTrig_ByKey(PlayerDBGSEvent.Def_OActWorldLV % ShareDefine.OperationActionName_NewFairyCeremony)
|
| | | fcWorldlvDict = IpyGameDataPY.GetFuncEvalCfg('CeremonyWorldLv', 1, {})
|
| | | if str(fcType) not in fcWorldlvDict:
|
| | | return 0
|
| | | worldLVIndex = 0
|
| | | worldlvList = fcWorldlvDict[str(fcType)]
|
| | | for index, lvinfo in enumerate(worldlvList):
|
| | | minlv, maxlv = lvinfo
|
| | | if minlv <= playerFCWorldLV <= maxlv:
|
| | | worldLVIndex = index
|
| | | break
|
| | | return worldLVIndex
|
| | |
|
| | | def Sync_OperationAction_NewFairyCeremony(ipyData, curPlayer=None):
|
| | | ## 通知新仙界盛典活动信息
|
| | | if not ipyData:
|
| | | return
|
| | | |
| | | openServerDay = PlayerDBGSEvent.GetDBGSTrig_ByKey(PlayerDBGSEvent.Def_ServerDay) + 1
|
| | | NewFairyCeremonyInfo = ChPyNetSendPack.tagGCNewFairyCeremonyInfo()
|
| | | NewFairyCeremonyInfo.Clear()
|
| | | NewFairyCeremonyInfo.StartDate = GameWorld.GetOperationActionDateStr(ipyData.GetStartDate(), openServerDay)
|
| | | NewFairyCeremonyInfo.EndtDate = GameWorld.GetOperationActionDateStr(ipyData.GetEndDate(), openServerDay)
|
| | | NewFairyCeremonyInfo.WorldLV = PlayerDBGSEvent.GetDBGSTrig_ByKey(PlayerDBGSEvent.Def_OActWorldLV % ShareDefine.OperationActionName_NewFairyCeremony)
|
| | | NewFairyCeremonyInfo.LimitLV = ipyData.GetLVLimit()
|
| | | NewFairyCeremonyInfo.ResetType = ipyData.GetResetType()
|
| | | if not curPlayer:
|
| | | # 全服广播在线玩家
|
| | | playerManager = GameWorld.GetPlayerManager()
|
| | | for i in xrange(playerManager.GetPlayerCount()):
|
| | | curPlayer = playerManager.GetPlayerByIndex(i)
|
| | | if curPlayer == None or not curPlayer.GetInitOK():
|
| | | continue
|
| | | NetPackCommon.SendFakePack(curPlayer, NewFairyCeremonyInfo)
|
| | | else:
|
| | | NetPackCommon.SendFakePack(curPlayer, NewFairyCeremonyInfo)
|
| | | return
|
| | |
| | | OperationActionName_BossReborn = "ActBossReborn" # BOSS复活活动
|
| | | OperationActionName_FlashGiftbag = "ActFlashGiftbag" # 限时礼包活动
|
| | | OperationActionName_FairyCeremony = "ActFairyCeremony" # 仙界盛典活动
|
| | | OperationActionName_NewFairyCeremony = "ActNewFairyCeremony" # 仙界盛典活动
|
| | | OperationActionName_RealmPoint = "ActRealmPoint" # 多倍修行点活动
|
| | | OperationActionName_FlashSale = "ActFlashSale" # 限时抢购活动
|
| | | OperationActionName_WishingWell = "ActWishingWell" # 许愿池活动
|
| | |
| | | OperationActionName_FlashGiftbag, OperationActionName_FairyCeremony,
|
| | | OperationActionName_RealmPoint, OperationActionName_FlashSale,
|
| | | OperationActionName_WishingWell, OperationActionName_TotalRecharge,
|
| | | OperationActionName_WeekParty, OperationActionName_LoginAward, ] \
|
| | | OperationActionName_WeekParty, OperationActionName_LoginAward, |
| | | OperationActionName_NewFairyCeremony, ] \
|
| | | + FeastOperationActionNameList
|
| | | #需要记录开启活动时的世界等级的运营活动
|
| | | NeedWorldLVOperationActNameList = [OperationActionName_FairyCeremony, OperationActionName_WishingWell]
|
| | | NeedWorldLVOperationActNameList = [OperationActionName_FairyCeremony, OperationActionName_WishingWell, OperationActionName_NewFairyCeremony]
|
| | |
|
| | | #活动信息字典key定义
|
| | | ActKey_ID = "ID" # 活动ID,唯一标识的ID,一般是活动开启的time值
|
| | |
| | | Def_BT_Campaign_PetLV, #灵宠等级(开服活动榜)
|
| | |
|
| | | Def_BT_ZhuXianTower, #诛仙塔榜
|
| | | Def_BT_NewFCCostGold, #消费排行榜(新仙界盛典)
|
| | |
|
| | | Def_BT_HighLadder, #天梯竞技场排行
|
| | | Def_BT_HighLadder_Yester, #天梯竞技场昨日排行
|
| | |
| | | Def_BT_CostTeHuiLast, #消费特惠排行榜上一期
|
| | |
|
| | | Def_BT_Max, #排行榜最大类型
|
| | | ) = range(0, 33 + 2) |
| | | ) = range(0, 34 + 2) |
| | |
|
| | | #职业对应战力排行榜类型
|
| | | JobFightPowerBillboardDict = {
|
| | |
| | | Def_PDict_FCPartyAwardRecord = "FCPartyAwardRecord" #全民来嗨活动领奖记录
|
| | | Def_PDict_FCCostGold = "FCCostGold" # 绝版降临总累计消费仙玉
|
| | |
|
| | | #新仙界盛典
|
| | | Def_PDict_NewFairyCeremonyID = "NewFairyCeremonyID" # 玩家身上的仙界盛典活动ID,唯一标识,取活动开始日期time值
|
| | | Def_PDict_NewFCActionWorldLV = "NewFCActionWorldLV" #玩家身上的仙界盛典时的世界等级
|
| | | Def_PDict_NewFCRechargeState = "NewFCRechargeState" # 充值大礼状态 0-不可领 1-可领 2-已领取
|
| | | Def_PDict_NewFCPartyCurCnt = "NewFCPartyCurCnt_%s" #全民来嗨活动当前完成次数 参数活动ID
|
| | | Def_PDict_NewFCPartyCurPoint = "NewFCPartyCurPoint" #全民来嗨活动当前总点数
|
| | | Def_PDict_NewFCPartyAwardRecord = "NewFCPartyAwardRecord" #全民来嗨活动领奖记录
|
| | | Def_PDict_NewFCCostGold = "NewFCCostGold" # 绝版降临总累计消费仙玉
|
| | |
|
| | | #绑玉转盘
|
| | | Def_PDict_BindJadeWheelCurCnt = "BindJadeWheelCurCnt" # 今日已转次数
|
| | | Def_PDict_BindJadeWheelHistoryCnt = "BindJadeWheelHistoryCnt" # 历史已转次数
|
| | |
| | | Def_RewardType_WeekPartyAct, # 领取周狂欢活动奖励20
|
| | | Def_RewardType_WeekPartyPoint, # 领取周狂欢积分奖励21
|
| | | Def_RewardType_ActLoginAwardAct, # 领取登录奖励活动奖励22
|
| | | )= range(23)
|
| | | Def_RewardType_NewFairyCRecharge, # 新仙界盛典充值大礼23
|
| | | Def_RewardType_NewFairyCParty, # 新仙界盛典全民来嗨24
|
| | | )= range(25)
|
| | |
|
| | |
|
| | | #boss复活相关活动定义
|
| | |
| | | class tagMCFeastWeekPartyPlayerInfo(Structure):
|
| | | Head = tagHead()
|
| | | Count = 0 #(BYTE Count)
|
| | | DayInfoList = list() #(vector<tagMCWeekPartyDayPlayerInfo> DayInfoList)//活动完成次数信息
|
| | | DayInfoList = list() #(vector<tagMCFeastWeekPartyDayPlayerInfo> DayInfoList)//活动完成次数信息
|
| | | data = None
|
| | |
|
| | | def __init__(self):
|
| | |
| | | _pos = self.Head.ReadData(_lpData, _pos)
|
| | | self.Count,_pos = CommFunc.ReadBYTE(_lpData, _pos)
|
| | | for i in range(self.Count):
|
| | | temDayInfoList = tagMCWeekPartyDayPlayerInfo()
|
| | | temDayInfoList = tagMCFeastWeekPartyDayPlayerInfo()
|
| | | _pos = temDayInfoList.ReadData(_lpData, _pos)
|
| | | self.DayInfoList.append(temDayInfoList)
|
| | | return _pos
|
| | |
| | | import PlayerRune
|
| | | import GameFuncComm
|
| | | import PlayerFairyCeremony
|
| | | import PlayerNewFairyCeremony
|
| | | import PlayerSpringSale
|
| | | import PyGameData
|
| | |
|
| | |
| | | SyncShoppingResult(curPlayer, itemIndex, clientBuyCount)
|
| | | if itemIndex in IpyGameDataPY.GetFuncEvalCfg('CeremonyFireParty', 1, {}).values():
|
| | | PlayerFairyCeremony.AddFCPartyActionCnt(curPlayer, ChConfig.Def_PPAct_Fireworks, clientBuyCount)
|
| | | if itemIndex in IpyGameDataPY.GetFuncEvalCfg('NewCeremonyFireParty', 1, {}).values():
|
| | | PlayerNewFairyCeremony.AddFCPartyActionCnt(curPlayer, ChConfig.Def_PPAct_Fireworks, clientBuyCount)
|
| | | |
| | | return
|
| | |
|
| | | def GetShopJobItem(job, itemID, jobItemList):
|
| | |
| | | #烟花狂欢
|
| | | if itemIndex in IpyGameDataPY.GetFuncEvalCfg('CeremonyFireParty', 1, {}).values():
|
| | | return not PlayerFairyCeremony.IsCanBuyFireworks(curPlayer, itemIndex)
|
| | | |
| | | if itemIndex in IpyGameDataPY.GetFuncEvalCfg('NewCeremonyFireParty', 1, {}).values():
|
| | | return not PlayerNewFairyCeremony.IsCanBuyFireworks(curPlayer, itemIndex)
|
| | | # if itemIndex in dict(IpyGameDataPY.GetFuncEvalCfg('SuperGiftTimeList')):
|
| | | # return not CheckSuperGiftBuy(curPlayer, itemIndex)
|
| | | if shopNPCID == 16:#神秘限购
|
| | |
| | | import PlayerActivity
|
| | | import PlayerBossReborn
|
| | | import PlayerFairyCeremony
|
| | | import PlayerNewFairyCeremony
|
| | | #------------------------------------------------------------------------------
|
| | |
|
| | | #获取金币祈愿奖励
|
| | |
| | | # 每日活动
|
| | | PlayerActivity.AddDailyActionFinishCnt(curPlayer, ShareDefine.DailyActionID_Pray)
|
| | | PlayerFairyCeremony.AddFCPartyActionCnt(curPlayer, ChConfig.Def_PPAct_Pray, 1)
|
| | | PlayerNewFairyCeremony.AddFCPartyActionCnt(curPlayer, ChConfig.Def_PPAct_Pray, 1)
|
| | | Sync_NotifyDataChange(curPlayer, [buyType])
|
| | | return
|
| | |
|
| | |
| | | import PlayerMagicWeapon
|
| | | import PlayerBossReborn
|
| | | import PlayerFairyCeremony
|
| | | import PlayerNewFairyCeremony
|
| | | import PlayerWeekParty
|
| | | import PlayerHorse
|
| | | import FBCommon
|
| | |
| | | PlayerSuccess.DoAddSuccessProgress(curPlayer, ShareDefine.SuccType_TaskCRun, addCnt)
|
| | | PlayerBossReborn.AddBossRebornActionCnt(curPlayer, ChConfig.Def_BRAct_RunTask, addCnt)
|
| | | PlayerFairyCeremony.AddFCPartyActionCnt(curPlayer, ChConfig.Def_PPAct_RunTask, addCnt)
|
| | | PlayerNewFairyCeremony.AddFCPartyActionCnt(curPlayer, ChConfig.Def_PPAct_RunTask, addCnt)
|
| | | PlayerWeekParty.AddWeekPartyActionCnt(curPlayer, ChConfig.Def_WPAct_RunTask, addCnt)
|
| | | elif missionType == QuestCommon.Def_Mission_Type_RunFamily:
|
| | | PlayerActivity.AddDailyActionFinishCnt(curPlayer, ShareDefine.DailyActionID_FamilyRunMission, addCnt)
|
| | |
| | | import PlayerSuccess
|
| | | import PlayerBossReborn
|
| | | import PlayerFairyCeremony
|
| | | import PlayerNewFairyCeremony
|
| | | import PlayerWeekParty
|
| | | import ItemControler
|
| | | import GameFuncComm
|
| | |
| | | FBCommon.AddEnterFBCount(curPlayer, ChConfig.Def_FBMapID_BZZD)
|
| | | PlayerBossReborn.AddBossRebornActionCnt(curPlayer, ChConfig.Def_BRAct_XJMJ, 1)
|
| | | PlayerFairyCeremony.AddFCPartyActionCnt(curPlayer, ChConfig.Def_PPAct_XJMJ, 1)
|
| | | PlayerNewFairyCeremony.AddFCPartyActionCnt(curPlayer, ChConfig.Def_PPAct_XJMJ, 1)
|
| | | PlayerWeekParty.AddWeekPartyActionCnt(curPlayer, ChConfig.Def_WPAct_XJMJ, 1)
|
| | | FBCommon.UpdateFBEnterTick(curPlayer)
|
| | | gameFB.SetPlayerGameFBDict(playerID, FBPlayerDict_EnterLV, playerLV)
|
| | |
| | | import IpyGameDataPY
|
| | | import GameWorldProcess
|
| | | import PlayerFairyCeremony
|
| | | import PlayerNewFairyCeremony
|
| | | import EventReport
|
| | | import PyGameData
|
| | | import ItemCommon
|
| | |
| | | PlayerFamily.AddFamilyActivity(curPlayer, ShareDefine.FamilyActive_Party)
|
| | | EventReport.WriteEvent_FB(curPlayer, ChConfig.Def_FBMapID_FamilyParty, 0, ChConfig.CME_Log_Start)
|
| | | PlayerFairyCeremony.AddFCPartyActionCnt(curPlayer, ChConfig.Def_PPAct_FamilyParty, 1)
|
| | | PlayerNewFairyCeremony.AddFCPartyActionCnt(curPlayer, ChConfig.Def_PPAct_FamilyParty, 1)
|
| | | lineID = GameWorld.GetGameWorld().GetLineID()
|
| | | if lineID not in g_familyMapPlayerIDDict:
|
| | | g_familyMapPlayerIDDict[lineID] = []
|
| | |
| | | import PlayerControl
|
| | | import PlayerBossReborn
|
| | | import PlayerFairyCeremony
|
| | | import PlayerNewFairyCeremony
|
| | | import PlayerWeekParty
|
| | | import EventReport
|
| | | import time
|
| | |
| | | EventReport.WriteEvent_FB(curPlayer, ChConfig.Def_FBMapID_GodArea, 0, ChConfig.CME_Log_Start)
|
| | | PlayerBossReborn.AddBossRebornActionCnt(curPlayer, ChConfig.Def_BRAct_GodArea, 1)
|
| | | PlayerFairyCeremony.AddFCPartyActionCnt(curPlayer, ChConfig.Def_PPAct_GodArea, 1)
|
| | | PlayerNewFairyCeremony.AddFCPartyActionCnt(curPlayer, ChConfig.Def_PPAct_GodArea, 1)
|
| | | PlayerWeekParty.AddWeekPartyActionCnt(curPlayer, ChConfig.Def_WPAct_GodArea, 1)
|
| | | elif __IsAngerFull(curPlayer):
|
| | | #怒气已满,退出副本
|
| | |
| | | import IpyGameDataPY
|
| | | import PlayerBossReborn
|
| | | import PlayerFairyCeremony
|
| | | import PlayerNewFairyCeremony
|
| | | import ChConfig
|
| | | import ChPlayer
|
| | | import EventReport
|
| | |
| | | EventReport.WriteEvent_FB(curPlayer, ChConfig.Def_FBMapID_PersonalBoss, 0, ChConfig.CME_Log_Start)
|
| | | PlayerBossReborn.AddBossRebornActionCnt(curPlayer, ChConfig.Def_BRAct_VIPBOSS, 1)
|
| | | PlayerFairyCeremony.AddFCPartyActionCnt(curPlayer, ChConfig.Def_PPAct_VIPBoss, 1)
|
| | | PlayerNewFairyCeremony.AddFCPartyActionCnt(curPlayer, ChConfig.Def_PPAct_VIPBoss, 1)
|
| | |
|
| | | FBCommon.ClearFBNPC()
|
| | |
|
| | |
| | | import PlayerMagicWeapon
|
| | | import PlayerBossReborn
|
| | | import PlayerFairyCeremony
|
| | | import PlayerNewFairyCeremony
|
| | | import PlayerWeekParty
|
| | | import EventReport
|
| | |
|
| | |
| | | PlayerMagicWeapon.SetMWPrivilegeData(curPlayer, ChConfig.MWPrivilege_SealDemonAddAttr, addCnt, True)
|
| | | PlayerBossReborn.AddBossRebornActionCnt(curPlayer, ChConfig.Def_BRAct_FMT, addCnt)
|
| | | PlayerFairyCeremony.AddFCPartyActionCnt(curPlayer, ChConfig.Def_PPAct_FMT, addCnt)
|
| | | PlayerNewFairyCeremony.AddFCPartyActionCnt(curPlayer, ChConfig.Def_PPAct_FMT, addCnt)
|
| | | PlayerWeekParty.AddWeekPartyActionCnt(curPlayer, ChConfig.Def_WPAct_FMT, addCnt)
|
| | | return prizeItemList
|
| | |
|
| | |
| | | import PlayerMagicWeapon
|
| | | import PlayerBossReborn
|
| | | import PlayerFairyCeremony
|
| | | import PlayerNewFairyCeremony
|
| | | import PlayerWeekParty
|
| | | import FamilyRobBoss
|
| | | import IpyGameDataPY
|
| | |
| | | PlayerActivity.AddDailyActionFinishCnt(curPlayer, ShareDefine.DailyActionID_WorldBOSS)
|
| | | PlayerBossReborn.AddBossRebornActionCnt(curPlayer, ChConfig.Def_BRAct_WorldBOSS, 1)
|
| | | PlayerFairyCeremony.AddFCPartyActionCnt(curPlayer, ChConfig.Def_PPAct_WorldBoss, 1)
|
| | | PlayerNewFairyCeremony.AddFCPartyActionCnt(curPlayer, ChConfig.Def_PPAct_WorldBoss, 1)
|
| | | PlayerWeekParty.AddWeekPartyActionCnt(curPlayer, ChConfig.Def_WPAct_WorldBOSS, 1)
|
| | |
|
| | | if mapID == ChConfig.Def_FBMapID_BossHome:
|
| | |
| | | PlayerActivity.AddDailyActionFinishCnt(curPlayer, ShareDefine.DailyActionID_BOSSHome)
|
| | | PlayerBossReborn.AddBossRebornActionCnt(curPlayer, ChConfig.Def_BRAct_BOSSHome, 1)
|
| | | PlayerFairyCeremony.AddFCPartyActionCnt(curPlayer, ChConfig.Def_PPAct_BossHome, 1)
|
| | | PlayerNewFairyCeremony.AddFCPartyActionCnt(curPlayer, ChConfig.Def_PPAct_BossHome, 1)
|
| | | PlayerWeekParty.AddWeekPartyActionCnt(curPlayer, ChConfig.Def_WPAct_BOSSHome, 1)
|
| | | return
|
| | |
|
| | |
| | | import PlayerActTotalRecharge
|
| | | import PlayerSpringSale
|
| | | import PlayerFairyCeremony
|
| | | import PlayerNewFairyCeremony
|
| | | import CrossRealmPlayer
|
| | | import ChNetSendPack
|
| | | import FamilyRobBoss
|
| | |
| | | PlayerActLogin.OnLogin(curPlayer)
|
| | | # 仙界盛典活动
|
| | | PlayerFairyCeremony.OnLogin(curPlayer)
|
| | | # 新仙界盛典活动
|
| | | PlayerNewFairyCeremony.OnLogin(curPlayer)
|
| | | # 分支下载奖励记录通知
|
| | | SyncPackDownloadAward(curPlayer)
|
| | | # 登录触发功能开启(老号处理)
|
| | |
| | | # 领取登录奖励活动奖励
|
| | | elif rewardType == ChConfig.Def_RewardType_ActLoginAwardAct:
|
| | | PlayerActLogin.GetLoginAwardActionAward(curPlayer, dataEx, dataExStr)
|
| | | |
| | | # 领取新仙界盛典充值大礼
|
| | | elif rewardType == ChConfig.Def_RewardType_NewFairyCRecharge:
|
| | | PlayerNewFairyCeremony.GetFCRechargeAward(curPlayer)
|
| | | # 领取新仙界盛典全民来嗨
|
| | | elif rewardType == ChConfig.Def_RewardType_NewFairyCParty:
|
| | | PlayerNewFairyCeremony.GetFCPartyAward(curPlayer, dataEx)
|
| | | return
|
| | |
|
| | |
|
| | |
| | | import ShareDefine
|
| | | import PlayerFlashGiftbag
|
| | | import PlayerFairyCeremony
|
| | | import PlayerNewFairyCeremony
|
| | | import PlayerGoldGift
|
| | | import PlayerActTotalRecharge
|
| | | import OpenServerCampaign
|
| | |
| | | #---充值成功后逻辑---
|
| | | #仙界盛典-充值大礼
|
| | | PlayerFairyCeremony.OnFCRecharge(curPlayer)
|
| | | PlayerNewFairyCeremony.OnFCRecharge(curPlayer)
|
| | | PlayerGoldGift.DayChargeRedPackAward(curPlayer)
|
| | | #累积充值X元
|
| | | PlayerActTotalRecharge.AddTotalRechargeGold(curPlayer, orderCoin/100)
|
| | |
| | | import PlayerCostRebate
|
| | | import GY_Query_CrossRealmReg
|
| | | import PlayerFairyCeremony
|
| | | import PlayerNewFairyCeremony
|
| | | import PlayerCrossRealmPK
|
| | | import FunctionNPCCommon
|
| | | import CrossRealmPlayer
|
| | |
| | | PlayerCostRebate.AddCostRebateGold(curPlayer, costType, price, infoDict)
|
| | | # 绝版降临
|
| | | PlayerFairyCeremony.AddFCCostGold(curPlayer, costType, price)
|
| | | PlayerNewFairyCeremony.AddFCCostGold(curPlayer, costType, price)
|
| | | # 消费VIP
|
| | | # if costVIPGold < 0:
|
| | | # costVIPGold = price
|
| | |
| | | import PlayerActLogin
|
| | | import PlayerFlashGiftbag
|
| | | import PlayerFairyCeremony
|
| | | import PlayerNewFairyCeremony
|
| | | import PlayerRefineStove
|
| | | import PlayerFlashSale
|
| | | import PlayerWishingWell
|
| | |
| | | elif actionName == ShareDefine.OperationActionName_FairyCeremony:
|
| | | PlayerFairyCeremony.RefreshOperationAction_FairyCeremony()
|
| | |
|
| | | elif actionName == ShareDefine.OperationActionName_NewFairyCeremony:
|
| | | PlayerNewFairyCeremony.RefreshOperationAction_NewFairyCeremony()
|
| | | |
| | | elif actionName == ShareDefine.OperationActionName_FlashSale:
|
| | | PlayerFlashSale.RefreshflashSaleActionInfo()
|
| | |
|
New file |
| | |
| | | #!/usr/bin/python
|
| | | # -*- coding: GBK -*-
|
| | | #-------------------------------------------------------------------------------
|
| | | #
|
| | | #-------------------------------------------------------------------------------
|
| | | #
|
| | | ##@package Player.PlayerNewFairyCeremony
|
| | | #
|
| | | # @todo:新仙界盛典
|
| | | # @author xdh
|
| | | # @date 2018-07-23 16:50
|
| | | # @version 1.0
|
| | | #
|
| | | #
|
| | | # 详细描述: 新仙界盛典
|
| | | #
|
| | | #---------------------------------------------------------------------
|
| | | """Version = 2018-07-23 16:50"""
|
| | | #---------------------------------------------------------------------
|
| | | import IPY_GameWorld
|
| | | import GameWorld
|
| | | import ChConfig
|
| | | import IpyGameDataPY
|
| | | import PlayerControl
|
| | | import ItemControler
|
| | | import ChPyNetSendPack
|
| | | import NetPackCommon
|
| | | import ShareDefine
|
| | | import PyGameData
|
| | | import ItemCommon
|
| | | import PlayerBillboard
|
| | |
|
| | | (
|
| | | Def_FC_Recharge, #充值大礼
|
| | | Def_FC_Fireworks, #烟花
|
| | | Def_FC_Party, #全民来嗨
|
| | | Def_FC_RechargeRank, #绝版降临
|
| | | ) = range(1, 5)
|
| | |
|
| | |
|
| | | def OnLogin(curPlayer):
|
| | | isReset = __CheckPlayerNewFairyCeremonyAction(curPlayer)
|
| | | if not isReset:
|
| | | actCostRebateInfo = PyGameData.g_operationActionDict.get(ShareDefine.OperationActionName_NewFairyCeremony, {})
|
| | | # 活动中同步活动信息
|
| | | if actCostRebateInfo.get(ShareDefine.ActKey_State):
|
| | | SyncFCRechargeInfo(curPlayer)
|
| | | SyncFCPartyInfo(curPlayer)
|
| | | return
|
| | |
|
| | | def RefreshOperationAction_NewFairyCeremony():
|
| | | playerManager = GameWorld.GetPlayerManager()
|
| | | for i in xrange(playerManager.GetPlayerCount()):
|
| | | curPlayer = playerManager.GetPlayerByIndex(i)
|
| | | if curPlayer == None or not curPlayer.GetInitOK():
|
| | | continue
|
| | | __CheckPlayerNewFairyCeremonyAction(curPlayer)
|
| | | return
|
| | |
|
| | |
|
| | | def __CheckPlayerNewFairyCeremonyAction(curPlayer):
|
| | | ## 检查玩家新仙界盛典活动数据信息
|
| | | playerID = curPlayer.GetPlayerID()
|
| | | |
| | | actNewFairyCeremonyInfo = PyGameData.g_operationActionDict.get(ShareDefine.OperationActionName_NewFairyCeremony, {})
|
| | | NewFairyCeremonyID = actNewFairyCeremonyInfo.get(ShareDefine.ActKey_ID, 0)
|
| | | state = actNewFairyCeremonyInfo.get(ShareDefine.ActKey_State, 0)
|
| | | |
| | | playerNewFairyCeremonyID = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_NewFairyCeremonyID) # 玩家身上的活动ID
|
| | | |
| | | # 活动ID 相同的话不处理
|
| | | if NewFairyCeremonyID == playerNewFairyCeremonyID:
|
| | | #GameWorld.DebugLog("新仙界盛典活动ID不变,不处理!", curPlayer.GetPlayerID())
|
| | | return
|
| | | actWorldLV = actNewFairyCeremonyInfo.get(ShareDefine.ActKey_WorldLV, 0)
|
| | | playerFCWorldLV = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_NewFCActionWorldLV)
|
| | | GameWorld.DebugLog("新仙界盛典重置! NewFairyCeremonyID=%s,playerCostRebateID=%s,state=%s,ActWorldLV=%s,playerFCWorldLV=%s" |
| | | % (NewFairyCeremonyID, playerNewFairyCeremonyID, state, actWorldLV, playerFCWorldLV), playerID)
|
| | | |
| | | # 未领取的奖励邮件发放
|
| | | __SendNewFairyCeremonyMail(curPlayer, playerFCWorldLV)
|
| | | |
| | | |
| | | PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_NewFairyCeremonyID, NewFairyCeremonyID)
|
| | | PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_NewFCActionWorldLV, actWorldLV)
|
| | | #重置充值大礼记录
|
| | | PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_NewFCRechargeState, 0)
|
| | | SyncFCRechargeInfo(curPlayer)
|
| | | #重置全民来嗨
|
| | | PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_NewFCPartyCurPoint, 0)
|
| | | PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_NewFCPartyAwardRecord, 0)
|
| | | for actid in ChConfig.PeoplePartyActIDList:
|
| | | PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_NewFCPartyCurCnt % actid, 0)
|
| | | SyncFCPartyInfo(curPlayer)
|
| | | #重置消费
|
| | | PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_NewFCCostGold, 0)
|
| | | return True
|
| | |
|
| | | def __SendNewFairyCeremonyMail(curPlayer, playerFCWorldLV):
|
| | | # 未领取的奖励邮件发放
|
| | | #充值大礼
|
| | | playerID = curPlayer.GetID()
|
| | | playerName = curPlayer.GetName()
|
| | | if curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_NewFCRechargeState) == 1:
|
| | | worldLvNum = __GetFCWorldLVIndex(curPlayer, Def_FC_Recharge)
|
| | | awardInfoDict = IpyGameDataPY.GetFuncEvalCfg('NewCeremonyRecharge', 1, {})
|
| | | if str(worldLvNum) not in awardInfoDict:
|
| | | GameWorld.ErrLog(' 邮件发放充值大礼奖励 CeremonyRecharge 未配置奖励 worldLvNum=%s' % worldLvNum)
|
| | | else:
|
| | | awardList = awardInfoDict[str(worldLvNum)]
|
| | | PlayerControl.SendMailByKey('CeremonyPayPack', [playerID], awardList, [playerName])
|
| | | #全民来嗨
|
| | | worldLvNum = __GetFCWorldLVIndex(curPlayer, Def_FC_Party)
|
| | | curPoint = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_NewFCPartyCurPoint)
|
| | | awardRecord = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_NewFCPartyAwardRecord)
|
| | | ipyDataList = IpyGameDataPY.GetIpyGameDataByCondition('NewAllPeoplePartyAward', {'WorldLvNum':worldLvNum}, True)
|
| | | if not ipyDataList:
|
| | | GameWorld.ErrLog(' 邮件发放全民来嗨奖励 AllPeoplePartyAward 未配置世界等级档 WorldLvNum=%s' % worldLvNum)
|
| | | return
|
| | | |
| | | partyAwardList = []
|
| | | for ipyData in ipyDataList:
|
| | | index = ipyData.GetIndex()
|
| | | if awardRecord & pow(2, index):
|
| | | continue
|
| | | needPoint = ipyData.GetNeedPoint()
|
| | | if curPoint < needPoint:
|
| | | continue
|
| | | awardInfoDict = ipyData.GetAward()
|
| | | job = curPlayer.GetJob()
|
| | | if str(job) not in awardInfoDict:
|
| | | GameWorld.ErrLog(' 邮件发放全民来嗨奖励 AllPeoplePartyAward 未配置职业奖励 job=%s' % job)
|
| | | continue
|
| | | awardList = awardInfoDict[str(job)]
|
| | | partyAwardList += awardList
|
| | | if partyAwardList:
|
| | | PlayerControl.SendMailByKey('CeremonyHaiPoint', [playerID], partyAwardList, [playerName])
|
| | | return
|
| | |
|
| | | def __IsAtFCAction():
|
| | | ##是否在新仙界盛典活动中
|
| | | actBossRebornInfo = PyGameData.g_operationActionDict.get(ShareDefine.OperationActionName_NewFairyCeremony, {})
|
| | | state = actBossRebornInfo.get(ShareDefine.ActKey_State, 0)
|
| | | return state == 1
|
| | |
|
| | | def __GetFCWorldLVIndex(curPlayer, fcType):
|
| | | #获取活动世界等级档
|
| | | playerFCWorldLV = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_NewFCActionWorldLV)
|
| | | fcWorldlvDict = IpyGameDataPY.GetFuncEvalCfg('NewCeremonyWorldLv', 1, {})
|
| | | if str(fcType) not in fcWorldlvDict:
|
| | | return 0
|
| | | worldLVIndex = 0
|
| | | worldlvList = fcWorldlvDict[str(fcType)]
|
| | | for index, lvinfo in enumerate(worldlvList):
|
| | | minlv, maxlv = lvinfo
|
| | | if minlv <= playerFCWorldLV <= maxlv:
|
| | | worldLVIndex = index
|
| | | break
|
| | | return worldLVIndex
|
| | |
|
| | | #################充值大礼##############################
|
| | | def OnFCRecharge(curPlayer):
|
| | | if not __IsAtFCAction():
|
| | | return
|
| | | curState = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_NewFCRechargeState)
|
| | | if curState != 0:
|
| | | return
|
| | | PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_NewFCRechargeState, 1)
|
| | | SyncFCRechargeInfo(curPlayer)
|
| | | return
|
| | |
|
| | | def GetFCRechargeAward(curPlayer):
|
| | | ## 领取充值大礼奖励
|
| | | curState = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_NewFCRechargeState)
|
| | | if curState != 1:
|
| | | return
|
| | | worldLvNum = __GetFCWorldLVIndex(curPlayer, Def_FC_Recharge)
|
| | | awardInfoDict = IpyGameDataPY.GetFuncEvalCfg('NewCeremonyRecharge', 1, {})
|
| | | if str(worldLvNum) not in awardInfoDict:
|
| | | GameWorld.ErrLog(' 领取充值大礼奖励 CeremonyRecharge 未配置奖励 worldLvNum=%s' % worldLvNum)
|
| | | return
|
| | | awardList = awardInfoDict[str(worldLvNum)]
|
| | | # 检查背包
|
| | | needSpace = len(awardList)
|
| | | packSpace = ItemCommon.GetItemPackSpace(curPlayer, IPY_GameWorld.rptItem, needSpace)
|
| | | if needSpace > packSpace:
|
| | | PlayerControl.NotifyCode(curPlayer, "GeRen_chenxin_998371")
|
| | | return
|
| | | |
| | | PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_NewFCRechargeState, 2)
|
| | | for itemID, itemCnt, isBind in awardList:
|
| | | ItemControler.GivePlayerItem(curPlayer, itemID, itemCnt, isBind, [IPY_GameWorld.rptItem])
|
| | | |
| | | SyncFCRechargeInfo(curPlayer)
|
| | | |
| | | PlayerControl.WorldNotify(0, 'CeremonyRecharge', [curPlayer.GetName()])
|
| | | return
|
| | |
|
| | |
|
| | | def SyncFCRechargeInfo(curPlayer):
|
| | | ## 通知充值大礼活动状态
|
| | | packData = ChPyNetSendPack.tagMCNewXJSDRecharge()
|
| | | packData.State = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_NewFCRechargeState)
|
| | | NetPackCommon.SendFakePack(curPlayer, packData)
|
| | | return
|
| | |
|
| | | #################全民来嗨##############################
|
| | | def AddFCPartyActionCnt(curPlayer, actionID, addCnt=1):
|
| | | ##增加全民来嗨完成次数
|
| | | if not __IsAtFCAction():
|
| | | return
|
| | | ipyData = IpyGameDataPY.GetIpyGameData('NewAllPeopleParty', actionID)
|
| | | if not ipyData:
|
| | | return
|
| | | maxCnt = ipyData.GetTotalTimes()
|
| | | curCnt = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_NewFCPartyCurCnt % actionID)
|
| | | if curCnt >= maxCnt:
|
| | | return
|
| | | newCnt = min(maxCnt, curCnt + addCnt)
|
| | | PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_NewFCPartyCurCnt % actionID, newCnt)
|
| | | singlePoint = ipyData.GetAddPoint()
|
| | | addPoint = (newCnt - curCnt) * singlePoint
|
| | | curPoint = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_NewFCPartyCurPoint)
|
| | | PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_NewFCPartyCurPoint, curPoint + addPoint)
|
| | | SyncFCPartyInfo(curPlayer, [actionID])
|
| | | return
|
| | |
|
| | | def GetFCPartyAward(curPlayer, index):
|
| | | ## 全民来嗨领奖
|
| | | worldLvNum = __GetFCWorldLVIndex(curPlayer, Def_FC_Party)
|
| | | |
| | | ipyData = IpyGameDataPY.GetIpyGameData('NewAllPeoplePartyAward', worldLvNum, index)
|
| | | if not ipyData:
|
| | | return
|
| | | |
| | | curPoint = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_NewFCPartyCurPoint)
|
| | | if curPoint < ipyData.GetNeedPoint():
|
| | | GameWorld.DebugLog(' 全民来嗨领奖, 点数不足%s, worldLvNum=%s, index=%s' % (ipyData.GetNeedPoint(), worldLvNum, index), curPlayer.GetID())
|
| | | return
|
| | | awardRecord = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_NewFCPartyAwardRecord)
|
| | | awardMark = pow(2, index)
|
| | | if awardRecord & awardMark:
|
| | | GameWorld.DebugLog(' 全民来嗨领奖, 已领奖, worldLvNum=%s, index=%s' % (worldLvNum, index), curPlayer.GetID())
|
| | | return
|
| | | awardInfoDict = ipyData.GetAward()
|
| | | job = curPlayer.GetJob()
|
| | | if str(job) not in awardInfoDict:
|
| | | return
|
| | | awardList = awardInfoDict[str(job)]
|
| | | # 检查背包
|
| | | needSpace = len(awardList)
|
| | | packSpace = ItemCommon.GetItemPackSpace(curPlayer, IPY_GameWorld.rptItem, needSpace)
|
| | | if needSpace > packSpace:
|
| | | PlayerControl.NotifyCode(curPlayer, "GeRen_chenxin_998371")
|
| | | return
|
| | | #更新记录
|
| | | awardRecord |= awardMark
|
| | | PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_NewFCPartyAwardRecord, awardRecord)
|
| | | for itemID, itemCnt, isBind in awardList:
|
| | | ItemControler.GivePlayerItem(curPlayer, itemID, itemCnt, isBind, [IPY_GameWorld.rptItem])
|
| | | #֪ͨ
|
| | | SyncFCPartyInfo(curPlayer, isGetAward=True)
|
| | | return
|
| | |
|
| | |
|
| | | def SyncFCPartyInfo(curPlayer, actIDList=[], isGetAward=False):
|
| | | ##通知全民来嗨信息
|
| | | packData = ChPyNetSendPack.tagMCNewAllPeoplePartyInfo()
|
| | | packData.Clear()
|
| | | packData.CurPoint = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_NewFCPartyCurPoint)
|
| | | packData.AwardRecord = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_NewFCPartyAwardRecord)
|
| | | if not isGetAward:
|
| | | packData.BuyCountList = []
|
| | | for actID in ChConfig.PeoplePartyActIDList:
|
| | | if actIDList and actID not in actIDList:
|
| | | continue
|
| | | finishInfo = ChPyNetSendPack.tagMCNewAllPeoplePartyCount()
|
| | | finishInfo.ActID = actID
|
| | | finishInfo.CurTimes = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_NewFCPartyCurCnt % actID)
|
| | | packData.BuyCountList.append(finishInfo)
|
| | | packData.Count = len(packData.BuyCountList)
|
| | | |
| | | NetPackCommon.SendFakePack(curPlayer, packData)
|
| | | return
|
| | |
|
| | | #################绝版降临##############################
|
| | | def AddFCCostGold(curPlayer, costType, costGold):
|
| | | if costGold <= 0:
|
| | | return
|
| | | if costType in ChConfig.CostRebate_DisableType:
|
| | | #GameWorld.DebugLog("不计入绝版降临消费的消费类型!costType=%s" % costType, curPlayer.GetPlayerID())
|
| | | return
|
| | | if not __IsAtFCAction():
|
| | | return
|
| | | curCostGold = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_NewFCCostGold)
|
| | | updCostGold = curCostGold + costGold
|
| | | PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_NewFCCostGold, updCostGold)
|
| | | |
| | | if updCostGold < IpyGameDataPY.GetFuncCfg('NewCeremonyRankLimit'):
|
| | | return
|
| | | |
| | | #更新排行榜
|
| | | PlayerBillboard.UpdatePlayerBillboard(curPlayer, ShareDefine.Def_BT_NewFCCostGold, updCostGold)
|
| | | |
| | | GameWorld.DebugLog("玩家绝版降临消费活动: curCostGold=%s,costGold=%s,updCostGold=%s" |
| | | % (curCostGold, costGold, updCostGold), curPlayer.GetPlayerID())
|
| | | return
|
| | |
|
| | | #################烟花狂欢##############################
|
| | | def IsCanBuyFireworks(curPlayer, itemIndex):
|
| | | ##当前是否可以买烟花
|
| | | if not __IsAtFCAction():
|
| | | GameWorld.Log(' 烟花狂欢买烟花 活动未开启, 无法购买')
|
| | | return False
|
| | | fireworksDict = IpyGameDataPY.GetFuncEvalCfg('NewCeremonyFireParty', 1, {})
|
| | | worldLvNum = __GetFCWorldLVIndex(curPlayer, Def_FC_Fireworks)
|
| | | canBuyID = fireworksDict.get(str(worldLvNum), 0)
|
| | | if canBuyID != itemIndex:
|
| | | GameWorld.Log(' 烟花狂欢买烟花 当前可以买烟花为 %s, 无法购买 %s,worldLvNum=%s'%(canBuyID, itemIndex,worldLvNum), curPlayer.GetID())
|
| | | return False
|
| | | return True |
| | |
| | | import EventShell
|
| | | import PlayerActivity
|
| | | import PlayerFairyCeremony
|
| | | import PlayerNewFairyCeremony
|
| | | import PlayerVip
|
| | |
|
| | | import copy
|
| | |
| | | costItemCnt = sum(needMaterialDict.values())
|
| | | PlayerActivity.AddDailyActionFinishCnt(curPlayer, ShareDefine.DailyActionID_RefineStove, costItemCnt)
|
| | | PlayerFairyCeremony.AddFCPartyActionCnt(curPlayer, ChConfig.Def_PPAct_RefineStove, 1)
|
| | | PlayerNewFairyCeremony.AddFCPartyActionCnt(curPlayer, ChConfig.Def_PPAct_RefineStove, 1)
|
| | | return
|
| | |
|
| | | def __GetAlchemyUpItemID(itemID, alchemyLV, alchemyUpCfg):
|
| | |
| | | import NetPackCommon
|
| | | import PlayerBossReborn
|
| | | import PlayerFairyCeremony
|
| | | import PlayerNewFairyCeremony
|
| | | import ItemCommon
|
| | | import ChConfig
|
| | |
|
| | |
| | |
|
| | | if treasureType == 2:
|
| | | PlayerFairyCeremony.AddFCPartyActionCnt(curPlayer, ChConfig.Def_PPAct_RuneTreasure, treasureCount)
|
| | | PlayerNewFairyCeremony.AddFCPartyActionCnt(curPlayer, ChConfig.Def_PPAct_RuneTreasure, treasureCount)
|
| | | PlayerBossReborn.AddBossRebornActionCnt(curPlayer, ChConfig.Def_BRAct_RuneTreasure, treasureCount)
|
| | | else:
|
| | | PlayerFairyCeremony.AddFCPartyActionCnt(curPlayer, ChConfig.Def_PPAct_Treasure, treasureCount)
|
| | | PlayerNewFairyCeremony.AddFCPartyActionCnt(curPlayer, ChConfig.Def_PPAct_Treasure, treasureCount)
|
| | | PlayerBossReborn.AddBossRebornActionCnt(curPlayer, ChConfig.Def_BRAct_Treasure, treasureCount)
|
| | | # 给物品
|
| | | mailItemList = []
|
| | |
| | | OperationActionName_BossReborn = "ActBossReborn" # BOSS复活活动
|
| | | OperationActionName_FlashGiftbag = "ActFlashGiftbag" # 限时礼包活动
|
| | | OperationActionName_FairyCeremony = "ActFairyCeremony" # 仙界盛典活动
|
| | | OperationActionName_NewFairyCeremony = "ActNewFairyCeremony" # 仙界盛典活动
|
| | | OperationActionName_RealmPoint = "ActRealmPoint" # 多倍修行点活动
|
| | | OperationActionName_FlashSale = "ActFlashSale" # 限时抢购活动
|
| | | OperationActionName_WishingWell = "ActWishingWell" # 许愿池活动
|
| | |
| | | OperationActionName_FlashGiftbag, OperationActionName_FairyCeremony,
|
| | | OperationActionName_RealmPoint, OperationActionName_FlashSale,
|
| | | OperationActionName_WishingWell, OperationActionName_TotalRecharge,
|
| | | OperationActionName_WeekParty, OperationActionName_LoginAward, ] \
|
| | | OperationActionName_WeekParty, OperationActionName_LoginAward, |
| | | OperationActionName_NewFairyCeremony, ] \
|
| | | + FeastOperationActionNameList
|
| | | #需要记录开启活动时的世界等级的运营活动
|
| | | NeedWorldLVOperationActNameList = [OperationActionName_FairyCeremony, OperationActionName_WishingWell]
|
| | | NeedWorldLVOperationActNameList = [OperationActionName_FairyCeremony, OperationActionName_WishingWell, OperationActionName_NewFairyCeremony]
|
| | |
|
| | | #活动信息字典key定义
|
| | | ActKey_ID = "ID" # 活动ID,唯一标识的ID,一般是活动开启的time值
|
| | |
| | | Def_BT_Campaign_PetLV, #灵宠等级(开服活动榜)
|
| | |
|
| | | Def_BT_ZhuXianTower, #诛仙塔榜
|
| | | Def_BT_NewFCCostGold, #消费排行榜(新仙界盛典)
|
| | |
|
| | | Def_BT_HighLadder, #天梯竞技场排行
|
| | | Def_BT_HighLadder_Yester, #天梯竞技场昨日排行
|
| | |
| | | Def_BT_CostTeHuiLast, #消费特惠排行榜上一期
|
| | |
|
| | | Def_BT_Max, #排行榜最大类型
|
| | | ) = range(0, 33 + 2) |
| | | ) = range(0, 34 + 2) |
| | |
|
| | | #职业对应战力排行榜类型
|
| | | JobFightPowerBillboardDict = {
|