Merge branch 'master' of http://192.168.0.87:10010/r/SnxxServerCode
| | |
| | | TriggerType_OneDamage, # 伤害降低到1点 49
|
| | | TriggerType_LuckyHit, # 会心一击时增加会心伤害百分比 50
|
| | | TriggerType_ChangeHurtToHP, # 把受到伤害的xx%转化为生命值 51
|
| | | ) = range(1, 52)
|
| | | TriggerType_AddLayer, # BUFF层级增加时 52
|
| | | ) = range(1, 53)
|
| | |
|
| | |
|
| | | # NPC功能类型定义
|
| | |
| | | import ShareDefine
|
| | | import EventShell
|
| | | import EventReport
|
| | | import ChPlayer
|
| | |
|
| | |
|
| | | #阶段时间
|
| | |
| | | GameWorld.ErrLog("没有目标功能线路!toLineID=%s" % toLineID)
|
| | | return
|
| | |
|
| | | if curPlayer.GetPlayerAction() == IPY_GameWorld.paDie:
|
| | | GameWorld.Log("进入下一层时玩家是死亡状态,先复活!", curPlayer.GetPlayerID())
|
| | | ChPlayer.PlayerRebornByType(curPlayer, ChConfig.rebornType_System, tick)
|
| | | |
| | | toPosX, toPosY = __GetQueenRelicsLinePos(mapID, toLineID, toLineIpyData)
|
| | | PlayerControl.PlayerResetWorldPosFBLineID(curPlayer, mapID, toPosX, toPosY, toLineID)
|
| | |
|
| | |
| | | curPlayer.SetSight(min(ChConfig.Def_PlayerSight_Default, clientData.Sight))
|
| | | GameWorld.DebugLog("OnSightZoom:%s"%clientData.Sight)
|
| | |
|
| | | # 脱机玩家过多,需要隐身一部分
|
| | | if curPlayer.GetLV() < 190:
|
| | | if random.randint(0, 2) != 1:
|
| | | curPlayer.SetVisible(False)
|
| | | return
|
| | |
|
| | | # 需要处理的点,防沉迷
|
| | |
| | | else:
|
| | | curBuff.SetLayer(layerMaxCnt)
|
| | | changeLayer = True
|
| | | |
| | | #BUFF层级变化触发被动
|
| | | if buffOwner:
|
| | | PassiveBuffEffMng.OnPassiveSkillTrigger(buffOwner, curObj, curSkill, ChConfig.TriggerType_AddLayer, tick)
|
| | | |
| | | __BuffCanRemain(buffState, curBuff, i, resultTime, plusValueList, buffOwner)
|
| | | # 此处考虑下plusValue变强是否刷属性
|
| | | #DoAddBuffOver(curObj, curSkill, addBuff, tick)
|
| | |
| | |
|
| | | return True
|
| | |
|
| | |
|
| | | #ntSummon:(3)普通召唤兽,可继承主人基础属性如攻击 |
| | | #ntElf:(4)玩家替身,完全拥有玩家属性和被动功能
|
| | | #ntFairy :(7)同ntSummon,但技能可触发被动功能
|
| | |
|
| | | # ntElf 定义为人物使用对地持续性技能,并且人物可以移动,则需要ntElf做依托物的情况
|
| | | # 那么ntElf执行人物的伤害计算和被动触发效果
|
| | | # 被动技能只处理玩家,宠物,和灵
|
| | |
| | | return attacker
|
| | |
|
| | | npcType = attacker.GetType()
|
| | | if npcType not in [IPY_GameWorld.ntPet, IPY_GameWorld.ntElf]:
|
| | | if npcType not in [IPY_GameWorld.ntPet, IPY_GameWorld.ntElf, IPY_GameWorld.ntFairy]:
|
| | | if attacker.GetIsBoss():
|
| | | return attacker
|
| | | return
|
| | |
| | | # --宠物
|
| | | return attacker
|
| | |
|
| | | if npcType == IPY_GameWorld.ntElf:
|
| | | else:
|
| | | # ntElf 定义为人物使用对地持续性技能,并且人物可以移动,则需要ntElf做依托物的情况
|
| | | # 那么ntElf执行人物的伤害计算和被动触发效果
|
| | | attacker = NPCCommon.GetSummonNPCOwner(IPY_GameWorld.gotPlayer, attacker)
|
| | |
| | |
|
| | | if skillAim == ChConfig.Def_UseSkillAim_None:
|
| | | if curSkill.GetSkillType() in ChConfig.Def_CanAttackSkill_List:
|
| | | if target and target.GetGameObjType() == IPY_GameWorld.gotNPC and target.GetType() == IPY_GameWorld.ntElf:
|
| | | # 有害技能特殊处理,不能对自己的召唤物释放
|
| | | target = None
|
| | | if target and target.GetGameObjType() == IPY_GameWorld.gotNPC and target.GetGameNPCObjType() == IPY_GameWorld.gnotSummon:
|
| | | owner = NPCCommon.GetNpcObjOwnerDetail(target)
|
| | | if owner and owner.GetID() == attacker.GetID():
|
| | | # 有害技能特殊处理,不能对自己的召唤物释放
|
| | | target = None
|
| | |
|
| | | result = DoLogic_UseSkill(attacker, target, curSkill, tick, attacker.GetPosX(), attacker.GetPosY(), isEnhanceSkill=isEnhanceSkill)
|
| | | else:
|
| | |
| | | if not result:
|
| | | return json.dumps({"error":"insert card"}, ensure_ascii=False)
|
| | |
|
| | | mylog.debug("插入成功%s"%tmpCodeList)
|
| | | mylog.debug("插入成功%s条订单"%len(tmpCodeList))
|
| | |
|
| | | return json.dumps({orderID:codeList}, ensure_ascii=False)
|
| | |
| | | from lib import mylog, CommFunc
|
| | | import os.path
|
| | | import zipfile
|
| | | import time
|
| | |
|
| | | # get: request.query.username request.GET.get('username','')
|
| | | # post: request.forms.get('username') request.POST.get('username')
|
| | |
| | |
|
| | | wxdata['status'] = 1
|
| | | wxdata['accid'] = dataDict.get("accid", "") # 此处用原始账号
|
| | | wxdata['usetime'] = str(datetime.datetime.today())
|
| | | wxdata['usetime'] = str(datetime.datetime.today()).split(".")[0]
|
| | |
|
| | | wxdata['appid'] = agentName
|
| | | wxdata['serverid'] = 's%s'%sid
|
| | |
| | | post['ip'] = wxdata['ip']
|
| | | post['level'] = wxdata['level']
|
| | | post['viplevel'] = wxdata['viplevel']
|
| | | post['time'] = wxdata['usetime'] |
| | | post['time'] = int(time.time())
|
| | |
|
| | | key = ConfigIO.GetValue("Coupon", "%s_wxkey"%operateID)
|
| | | key = ConfigIO.GetValue("Coupon", "key_%s"%post['appid'])
|
| | | #md5(appid=$appid®ionid=$regionid&passport=$passport&&money=$money&time=$time$app_secret)
|
| | | sign = md5.md5("appid=%s®ionid=%s&passport=%s&money=%s&time=%s%s"%(\
|
| | | post['appid'], post['regionid'], post['passport'], post['money'], post['time'], key)).hexdigest()
|
| | | |
| | | post['Sign'] = sign
|
| | | result = urllib2.urlopen(billurl, urllib.urlencode(post), 3)
|
| | | mylog.debug("SendDataCollectorBillInfo result %s"%result.read())
|
| | | signStr = "appid=%s®ionid=%s&passport=%s&money=%s&time=%s%s"%(\
|
| | | post['appid'], post['regionid'], post['passport'], post['money'], post['time'], key)
|
| | | sign = md5.md5(signStr).hexdigest()
|
| | | #mylog.debug("SendDataCollectorBillInfo %s-%s-%s-%s"%(signStr, sign, key, post))
|
| | | post['sign'] = sign
|
| | | result = urllib2.urlopen(billurl +"?" + urllib.urlencode(post), timeout =3)
|
| | | #mylog.debug("SendDataCollectorBillInfo result %s"%result.read())
|
| | |
|
| | | except Exception, e:
|
| | | mylog.debug("SendDataCollectorBillInfo error %s"%e)
|