From c1047913481665648f1f53f2765fa6feb2466674 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期五, 19 四月 2019 19:35:19 +0800
Subject: [PATCH] 6459 【后端】【2.0】缥缈仙域开发单(修复仙草园重置报错)
---
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/SkillShell.py | 53 ++++++++++++++++++++++++++++-------------------------
1 files changed, 28 insertions(+), 25 deletions(-)
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/SkillShell.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/SkillShell.py
index af21d9c..890dc9a 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/SkillShell.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/SkillShell.py
@@ -27,12 +27,10 @@
import FBLogic
import ItemCommon
import OperControlManager
-import GameLogic_ManorWar
import PetControl
import ReadChConfig
import DataRecordPack
-import ChItem
-import PlayerActivity
+#import ChItem
import ShareDefine
import PlayerGreatMaster
import PlayerHorse
@@ -46,6 +44,7 @@
import SkillShell
import FBCommon
import IpyGameDataPY
+#import EquipZhuXian
#---------------------------------------------------------------------
GameWorld.ImportAll("Script\\Skill\\" , "GameSkills")
GameWorld.ImportAll("Script\\Skill\\" , "GameBuffs")
@@ -966,10 +965,12 @@
#GameWorld.ErrLog('UseSkill findSkillErr = %s'%(pack_SkillID), curPlayerID)
return
- if not CheckClientAttackTick(curPlayer, clientTick, tick):
- AttackFailNotify(curPlayer, curSkill, ChConfig.SkillFail_AtkInterval)
- curPlayer.Sync_ClientTick()
- return
+ if pack_SkillID != ChConfig.Def_SkillID_Somersault:
+ # 翻滚特殊处理,实时响应, 由CD 总控制
+ if not CheckClientAttackTick(curPlayer, clientTick, tick):
+ AttackFailNotify(curPlayer, curSkill, ChConfig.SkillFail_AtkInterval)
+ curPlayer.Sync_ClientTick()
+ return
#已经在攻击中
if curPlayer.GetPlayerAction() == IPY_GameWorld.paAttack:
@@ -1835,8 +1836,11 @@
#升级技能CD直接冷却
curSkill.SetRemainTime(0)
+ learnSkillNotifyDict = IpyGameDataPY.GetFuncEvalCfg("SPSkillType", 3, {})
if curSkill.GetFuncType() == ChConfig.Def_SkillFuncType_HorseSkill:
PlayerControl.WorldNotify(0, 'GetMountSkill', [curPlayer.GetName(), curSkillID])
+ elif skillTypeID in learnSkillNotifyDict:
+ PlayerControl.WorldNotify(0, learnSkillNotifyDict[skillTypeID], [curPlayer.GetName(), curSkillID])
else:
#通知技能已升级成功 GeRen_admin_31379
PlayerControl.NotifyCode(curPlayer, "GeRen_admin_31379", [curSkillID, curSkill.GetSkillLV()])
@@ -1878,6 +1882,11 @@
if upSkill.GetFuncType() == ChConfig.Def_SkillFuncType_GiftSkill:
if not PlayerGreatMaster.GetGreatMasterFreeSkillPoint(curPlayer):
return False
+ #诛仙技能学习判断
+ #if upSkill.GetFuncType() == ChConfig.Def_SkillFuncType_ZhuXian:
+ # if not EquipZhuXian.CheckLearnZhuXianSkill(curPlayer, curSkillTypeID):
+ # return False
+
#经验检测
skillLvUpNeedExp = upSkill.GetLVUpCostExp()
@@ -2009,10 +2018,11 @@
needBaseAttrID, needBaseAttrValue = stateSkillLV /10000, stateSkillLV%10000
if needBaseAttrID and needBaseAttrValue:
baseAttrDict = {
- ShareDefine.Def_Effect_STR:curPlayer.GetSTR(),
- ShareDefine.Def_Effect_PHY:curPlayer.GetPHY(),
- ShareDefine.Def_Effect_CON:curPlayer.GetCON(),
- ShareDefine.Def_Effect_PNE:curPlayer.GetPNE(),
+ ShareDefine.Def_Effect_Metal:PlayerControl.GetMetal(),
+ ShareDefine.Def_Effect_Wood:PlayerControl.GetWood(),
+ ShareDefine.Def_Effect_Water:PlayerControl.GetWater(),
+ ShareDefine.Def_Effect_Fire:PlayerControl.GetFire(),
+ ShareDefine.Def_Effect_Earth:PlayerControl.GetEarth(),
}
if needBaseAttrID not in baseAttrDict:
GameWorld.ErrLog(' 天赋技能升级属性点条件配置错误,curSkillTypeID=%s,needBaseAttrID=%s'%(curSkillTypeID, needBaseAttrID))
@@ -2243,14 +2253,6 @@
#GameWorld.Log("删除场景Buff %d"%skillID)
processResult = True
continue
- else:
- # 非领地战期间, 该区域有领地旗buff, 删除区域buff
- if skillID == ChConfig.Def_SkillID_ManorFlagArea and not GameLogic_ManorWar.CanManorWarAtk():
- mapBuffManager.DeleteBuffByIndex(index)
- ClearBuffEffectBySkillID(curPlayer, skillID, ownerID, ownerType)
- processResult = True
- #GameWorld.DebugLog("非领地战期间, 该区域有领地旗buff, 删除区域buff")
- continue
index += 1
@@ -2276,10 +2278,7 @@
continue
if findBuff.GetSkill().GetSkillLV() > curSkill.GetSkillLV():
continue
-
- if skillTypeID == ChConfig.Def_SkillID_ManorFlagArea and not GameLogic_ManorWar.CanManorWarAtk():
- #GameWorld.DebugLog(" i=%s,effectID=%s,skillID=%s, 该位置有buff, 非领地战期间, 不添加" % (i, effectID, skillTypeID))
- continue
+
#添加场景buff
isOK = BuffSkill.AddBuffNoRefreshState(curPlayer, IPY_GameWorld.bfMapBuff, curSkill, tick)
processResult = processResult or isOK
@@ -2384,6 +2383,9 @@
#骑马触发技能
houseSkill = ChConfig.Def_Skill_TypeID_Speed
curSkillType = curSkill.GetSkillTypeID()
+
+ if not SkillCommon.IsBuff(curSkill):
+ continue
if curSkillType in houseSkill:
#不使用,不添加buff
@@ -2719,7 +2721,8 @@
if curPlayerSkill.GetFuncType() not in [ChConfig.Def_SkillFuncType_FbSkill,
ChConfig.Def_SkillFuncType_FbSPSkill,
ChConfig.Def_SkillFuncType_GiftSkill,
- ChConfig.Def_SkillFuncType_GWSkill]:
+ ChConfig.Def_SkillFuncType_GWSkill,
+ ChConfig.Def_SkillFuncType_ZhuXian]:
# 根据技能情况调整
continue
@@ -3428,7 +3431,7 @@
return curSkill.GetExAttr2()
-# 只有在指定地图才能生效的buff效果
+# 只有在指定地图才能生效的buff效果,或者指定地图可被动触发
def GetAttrMapID(curSkill):
return curSkill.GetExAttr3()
--
Gitblit v1.8.0