| | |
| | | import PlayerSuccess
|
| | | import PassiveBuffEffMng
|
| | | import PlayerFamilyRedPacket
|
| | | import FormulaControl
|
| | | import PlayerGoldGift
|
| | | import PlayerFlashSale
|
| | | import PlayerWing
|
| | | import ChEquip
|
| | |
|
| | |
| | | relation = BaseAttack.GetTagRelation(curPlayer, curTag, None, tick)
|
| | | #判断是否敌对关系
|
| | | if relation[0] != ChConfig.Type_Relation_Enemy :
|
| | | AttackCommon.PlayerAttackFailSysMessanage(curPlayer, relation[1])
|
| | | #AttackCommon.PlayerAttackFailSysMessanage(curPlayer, relation[1])
|
| | | return
|
| | |
|
| | | return curTag
|
| | |
| | | posX = curPlayer.GetDictByKey(ChConfig.Def_PlayerKey_TransPosX)
|
| | | posY = curPlayer.GetDictByKey(ChConfig.Def_PlayerKey_TransPosY)
|
| | |
|
| | | #执行逻辑,应该在入口设置好消耗,这边只是扣除
|
| | | #=======================================================================
|
| | | # isFreedomTransBuff = SkillCommon.GetPlayerBuffBySkillTypeID(curPlayer, ShareDefine.Def_FreedomTransBuffID)
|
| | | # if transportType == ChConfig.Def_Transport_Type_BigMap or not isFreedomTransBuff:
|
| | | # isAutoBuy = curPlayer.GetDictByKey(ChConfig.Def_PlayerKey_TransAutoBuyItem)
|
| | | # #传送支付处理
|
| | | # if not ChPlayer.PayForTransport(curPlayer, transportType, isAutoBuy):
|
| | | # return
|
| | | #=======================================================================
|
| | | |
| | | if not TransCostAfterPrepare(curPlayer):
|
| | | return
|
| | |
|
| | |
| | | if not result:
|
| | | return
|
| | |
|
| | | FBLogic.OnCollectOK(curPlayer, tick)
|
| | | FBLogic.OnCollectOK(curPlayer, curNPC.GetNPCID(), tick)
|
| | | return
|
| | |
|
| | | #---------------------------------------------------------------------
|
| | |
| | | PlayerSuccess.FinishDelayAddSuccessProgress(curPlayer, tick, False)
|
| | | #开服红包处理
|
| | | PlayerFamilyRedPacket.ProcessOSRedPacket(curPlayer, tick)
|
| | | #限时抢购
|
| | | PlayerFlashSale.ProcessFlashSaleMail(curPlayer, tick)
|
| | | #地图经验
|
| | | ProcessAreaExp(curPlayer, tick)
|
| | | return
|
| | |
|
| | |
|
| | |
| | | #GameWorld.DebugLog("设置Boss状态tick!tick=%s" % tick, curPlayer.GetPlayerID())
|
| | | return
|
| | |
|
| | | def ProcessAreaExp(curPlayer, tick):
|
| | | ##给场景经验
|
| | | mapID = GameWorld.GetMap().GetMapID()
|
| | | neutralMapExpAwardDict = IpyGameDataPY.GetFuncEvalCfg('NeutralMapExpAward', 1, {})
|
| | | expAwardInfo = GameWorld.GetDictValueByKey(neutralMapExpAwardDict, mapID)
|
| | | if not expAwardInfo:
|
| | | return
|
| | | if len(expAwardInfo) != 2:
|
| | | return
|
| | | secondCD, expFormula = expAwardInfo
|
| | | lastTick = curPlayer.GetDictByKey(ChConfig.Def_PDict_MapAreaExpTick)
|
| | | if not lastTick:
|
| | | curPlayer.SetDict(ChConfig.Def_PDict_MapAreaExpTick, tick)
|
| | | return
|
| | | if tick - lastTick < secondCD:
|
| | | return
|
| | | curPlayer.SetDict(ChConfig.Def_PDict_MapAreaExpTick, tick)
|
| | |
|
| | | reExp = PlayerControl.GetPlayerReExp(curPlayer)
|
| | | reLV = curPlayer.GetLV()
|
| | | worldLV = GameWorld.GetGameWorld().GetGameWorldDictByKey(ShareDefine.Def_Notify_WorldKey_WorldAverageLv)
|
| | | addExp = eval(FormulaControl.GetCompileFormula('NeutralMapExpAward%s'%mapID, expFormula))
|
| | | PlayerControl.PlayerControl(curPlayer).AddExp(addExp)
|
| | | return
|