From 6551123a8a4a9c55380ebf4dff41c9d3bdbb2c47 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期一, 15 四月 2019 17:10:07 +0800
Subject: [PATCH] 6459 【后端】【2.0】缥缈仙域开发单(分流地图配置)
---
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/EffGetSet.py | 36 +++++++++++++++++++-----------------
1 files changed, 19 insertions(+), 17 deletions(-)
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/EffGetSet.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/EffGetSet.py
index 740cc53..28d4073 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/EffGetSet.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/EffGetSet.py
@@ -22,13 +22,14 @@
import IPY_PlayerDefine
import ShareDefine
+
#生物属性接口,顺序对应ChConfig.TYPE_Calc_AttrList
#同个属性Get, Set 写在一起,方便维护 [Get, Set, 属性类型, 是否通知自身, 是否通知周围玩家]
ObjProperty_AttrByIndex = [
- [lambda curObj:curObj.GetSTR(), lambda curObj, value:curObj.SetSTR(value), IPY_PlayerDefine.CDBPlayerRefresh_STR, 1, 0], # 力量
- [lambda curObj:curObj.GetPNE(), lambda curObj, value:curObj.SetPNE(value), IPY_PlayerDefine.CDBPlayerRefresh_PNE, 1, 0], # 智力
- [lambda curObj:curObj.GetPHY(), lambda curObj, value:curObj.SetPHY(value), IPY_PlayerDefine.CDBPlayerRefresh_PHY, 1, 0], # 敏捷
- [lambda curObj:curObj.GetCON(), lambda curObj, value:curObj.SetCON(value), IPY_PlayerDefine.CDBPlayerRefresh_CON, 1, 0], # 体质
+ [lambda curObj:PlayerControl.GetMetal(curObj), lambda curObj, value:PlayerControl.SetMetal(curObj, value), ShareDefine.CDBPlayerRefresh_Mater, 1, 0], # 金
+ [lambda curObj:PlayerControl.GetWood(curObj), lambda curObj, value:PlayerControl.SetWood(curObj, value), ShareDefine.CDBPlayerRefresh_Wood, 1, 0], # 木
+ [lambda curObj:PlayerControl.GetWater(curObj), lambda curObj, value:PlayerControl.SetWater(curObj, value), ShareDefine.CDBPlayerRefresh_Water, 1, 0], # 水
+ [lambda curObj:PlayerControl.GetFire(curObj), lambda curObj, value:PlayerControl.SetFire(curObj, value), ShareDefine.CDBPlayerRefresh_Fire, 1, 0], # 火
[lambda curObj:GameObj.GetHP(curObj), lambda curObj, value:GameObj.SetHP(curObj, value), IPY_PlayerDefine.CDBPlayerRefresh_HP, 1, 1], # 当前血量
[lambda curObj:curObj.GetMP(), lambda curObj, value:curObj.SetMP(value), IPY_PlayerDefine.CDBPlayerRefresh_MP, 0, 0], # 当前魔量
@@ -36,11 +37,13 @@
[lambda curObj:curObj.GetMaxMP(), lambda curObj, value:curObj.SetMaxMP(value), IPY_PlayerDefine.CDBPlayerRefresh_MaxMP, 0, 0], # 最大魔量
[lambda curObj:curObj.GetMinAtk(), lambda curObj, value:curObj.SetMinAtk(value), IPY_PlayerDefine.CDBPlayerRefresh_MINATK, 1, 0], # 最小攻击力
[lambda curObj:curObj.GetMaxAtk(), lambda curObj, value:curObj.SetMaxAtk(value), IPY_PlayerDefine.CDBPlayerRefresh_MAXATK, 1, 0], # 最大攻击力
- [lambda curObj:curObj.GetMAtkMin(), lambda curObj, value:curObj.SetMAtkMin(value), IPY_PlayerDefine.CDBPlayerRefresh_MAtkMin, 0, 0], # 最小魔攻
- [lambda curObj:curObj.GetMAtkMax(), lambda curObj, value:curObj.SetMAtkMax(value), IPY_PlayerDefine.CDBPlayerRefresh_MAtkMax, 0, 0], # 最大魔攻
+ [lambda curObj:PlayerControl.GetEarth(curObj), lambda curObj, value:PlayerControl.SetEarth(curObj, value), ShareDefine.CDBPlayerRefresh_Earth, 1, 0], # 土
+ [lambda curObj:curObj.GetLuckValue(), lambda curObj, value:curObj.SetLuckValue(value), IPY_PlayerDefine.CDBPlayerRefresh_LuckValue, 1, 0], # 气运
[lambda curObj:curObj.GetDef(), lambda curObj, value:curObj.SetDef(value), IPY_PlayerDefine.CDBPlayerRefresh_DEF, 1, 0], # 防御力
[lambda curObj:curObj.GetHit(), lambda curObj, value:curObj.SetHit(value), IPY_PlayerDefine.CDBPlayerRefresh_HIT, 1, 0], # 命中
[lambda curObj:curObj.GetMiss(), lambda curObj, value:curObj.SetMiss(value), IPY_PlayerDefine.CDBPlayerRefresh_Miss, 1, 0], # 闪避
+ #[lambda curObj:curObj.GetMAtkMin(), lambda curObj, value:curObj.SetMAtkMin(value), IPY_PlayerDefine.CDBPlayerRefresh_MAtkMin, 0, 0], # 最小魔攻
+ #[lambda curObj:curObj.GetMAtkMax(), lambda curObj, value:curObj.SetMAtkMax(value), IPY_PlayerDefine.CDBPlayerRefresh_MAtkMax, 0, 0], # 最大魔攻
[lambda curObj:PlayerControl.GetSpeedNotBuff(curObj), lambda curObj, value:PlayerControl.SetSpeedNotBuff(curObj, value), 0, 0, 0], # 移动速度
[lambda curObj:PlayerControl.GetAtkSpeed(curObj), lambda curObj, value:PlayerControl.SetAtkSpeed(curObj, value), IPY_PlayerDefine.CDBPlayerRefresh_BattleValEx1, 1, 1], # 攻击速度
@@ -81,7 +84,7 @@
[lambda curObj:curObj.GetGoldFoundRate(), lambda curObj, value:curObj.SetGoldFoundRate(value), IPY_PlayerDefine.CDBPlayerRefresh_GoldFoundRate, 1, 0], # 掉落金钱值增加
[lambda curObj:PlayerControl.GetPetMinAtk(curObj), lambda curObj, value:PlayerControl.SetPetMinAtk(curObj, value), 0, 0, 0], # 宠物最小攻击
[lambda curObj:PlayerControl.GetPetMaxAtk(curObj), lambda curObj, value:PlayerControl.SetPetMaxAtk(curObj, value), 0, 0, 0], # 宠物最大攻击
- [lambda curObj:PlayerControl.GetPetDamPer(curObj), lambda curObj, value:PlayerControl.SetPetDamPer(curObj, value), 0, 0, 0], # 宠物伤害百分比提升
+ [lambda curObj:GameObj.GetPetDamPer(curObj), lambda curObj, value:GameObj.SetPetDamPer(curObj, value), ShareDefine.CDBPlayerRefresh_PetDamPer, 1, 0], # 宠物伤害百分比提升
[lambda curObj:PlayerControl.GetPerLVAtk(curObj), lambda curObj, value:PlayerControl.SetPerLVAtk(curObj, value), 0, 0, 0], # 每1级+%s攻击, 数值取万分率,支持小数算法
[lambda curObj:PlayerControl.GetPerLVMaxHP(curObj), lambda curObj, value:PlayerControl.SetPerLVMaxHP(curObj, value), 0, 0, 0], # 每1级+%s生命, 数值为固定值
@@ -119,7 +122,7 @@
[lambda curObj:PlayerControl.GetDamagePerPVP(curObj), lambda curObj, value:PlayerControl.SetDamagePerPVP(curObj, value), ShareDefine.CDBPlayerRefresh_DamagePerPVP, 1, 0], # 伤害输出计算百分比PVP
[lambda curObj:PlayerControl.GetDamagePerPVPReduce(curObj), lambda curObj, value:PlayerControl.SetDamagePerPVPReduce(curObj, value), ShareDefine.CDBPlayerRefresh_DamagePerPVPReduce, 1, 0],# 伤害输出计算百分比PVP减少
[lambda curObj:PlayerControl.GetDamagePerPVE(curObj), lambda curObj, value:PlayerControl.SetDamagePerPVE(curObj, value), 0, 0, 0], # 伤害输出计算百分比PVE
- [lambda curObj:PlayerControl.GetNPCHurtAddPer(curObj), lambda curObj, value:PlayerControl.SetNPCHurtAddPer(curObj, value), 0, 0, 0], # 对怪物伤害加成
+ [lambda curObj:PlayerControl.GetNPCHurtAddPer(curObj), lambda curObj, value:PlayerControl.SetNPCHurtAddPer(curObj, value), ShareDefine.CDBPlayerRefresh_NPCHurtAddPer, 1, 0], # 对怪物伤害加成
[lambda curObj:PlayerControl.GetJobAHurtAddPer(curObj), lambda curObj, value:PlayerControl.SetJobAHurtAddPer(curObj, value), 0, 0, 0], # 目标战士伤害加成
[lambda curObj:PlayerControl.GetJobBHurtAddPer(curObj), lambda curObj, value:PlayerControl.SetJobBHurtAddPer(curObj, value), 0, 0, 0], # 目标法师伤害加成
[lambda curObj:PlayerControl.GetJobCHurtAddPer(curObj), lambda curObj, value:PlayerControl.SetJobCHurtAddPer(curObj, value), 0, 0, 0], # 目标弓手伤害加成
@@ -129,7 +132,7 @@
[lambda curObj:PlayerControl.GetJobCAtkReducePer(curObj), lambda curObj, value:PlayerControl.SetJobCAtkReducePer(curObj, value), 0, 0, 0], # 弓手攻击伤害减免
[lambda curObj:PlayerControl.GetCommMapExpRate(curObj), lambda curObj, value:PlayerControl.SetCommMapExpRate(curObj, value), 0, 0, 0], # 常规地图经验倍率加成
- [lambda curObj:PlayerControl.GetFujiaHitRate(curObj), lambda curObj, value:PlayerControl.SetFujiaHitRate(curObj, value), 0, 0, 0], # 富甲一击概率
+ [lambda curObj:PlayerControl.GetFinalHurtPer(curObj), lambda curObj, value:PlayerControl.SetFinalHurtPer(curObj, value), 0, 0, 0], # 最终伤害百分比
[lambda curObj:PlayerControl.GetFuhaoHitRate(curObj), lambda curObj, value:PlayerControl.SetFuhaoHitRate(curObj, value), 0, 0, 0], # 富豪一击概率
[lambda curObj:PlayerControl.GetBossIDHurt(curObj), lambda curObj, value:PlayerControl.SetBossIDHurt(curObj, value), 0, 0, 0], # 对指定boss伤害加成固定值
[lambda curObj:PlayerControl.GetBossIDHurtAddPer(curObj), lambda curObj, value:PlayerControl.SetBossIDHurtAddPer(curObj, value), 0, 0, 0],# 对指定boss伤害加成倍率
@@ -140,12 +143,6 @@
[lambda curObj:PlayerControl.GetBaseDefAddPer(curObj), lambda curObj, value:PlayerControl.SetBaseDefAddPer(curObj, value), 0, 0, 0], # 基础防御百分比
[lambda curObj:PlayerControl.GetBaseHitAddPer(curObj), lambda curObj, value:PlayerControl.SetBaseHitAddPer(curObj, value), 0, 0, 0], # 基础命中百分比
[lambda curObj:PlayerControl.GetBaseMissAddPer(curObj), lambda curObj, value:PlayerControl.SetBaseMissAddPer(curObj, value), 0, 0, 0], # 基础闪避百分比
- [lambda curObj:PlayerControl.GetHorcruxBasePer(curObj), lambda curObj, value:PlayerControl.SetHorcruxBasePer(curObj, value), 0, 0, 0], # 魂器基础百分比
- [lambda curObj:PlayerControl.GetEquipBaseAddPer(curObj), lambda curObj, value:PlayerControl.SetEquipBaseAddPer(curObj, value), 0, 0, 0], # 装备基础百分比
- [lambda curObj:PlayerControl.GetWeaponAtkAddPer(curObj), lambda curObj, value:PlayerControl.SetWeaponAtkAddPer(curObj, value), 0, 0, 0], # 武器基础攻击百分比
- [lambda curObj:PlayerControl.GetRelicsAtkAddPer(curObj), lambda curObj, value:PlayerControl.SetRelicsAtkAddPer(curObj, value), 0, 0, 0], # 圣器基础攻击百分比
- [lambda curObj:PlayerControl.GetArmorMaxHPAddPer(curObj), lambda curObj, value:PlayerControl.SetArmorMaxHPAddPer(curObj, value), 0, 0, 0], # 防具基础生命百分比
- [lambda curObj:PlayerControl.GetArmorDefAddPer(curObj), lambda curObj, value:PlayerControl.SetArmorDefAddPer(curObj, value), 0, 0, 0], # 防具基础防御百分比
[lambda curObj:PlayerControl.GetGodWeaponMaxHPPer(curObj), lambda curObj, value:PlayerControl.SetGodWeaponMaxHPPer(curObj, value), 0, 0, 0], # 神兵生命百分比
[lambda curObj:PlayerControl.GetGodWeaponAtkPer(curObj), lambda curObj, value:PlayerControl.SetGodWeaponAtkPer(curObj, value), 0, 0, 0], # 神兵攻击百分比
[lambda curObj:PlayerControl.GetStoneMaxHPPer(curObj), lambda curObj, value:PlayerControl.SetStoneMaxHPPer(curObj, value), 0, 0, 0], # 宝石生命百分比
@@ -166,6 +163,11 @@
[lambda curObj:PlayerControl.GetWingHPPer(curObj), lambda curObj, value:PlayerControl.SetWingHPPer(curObj, value), 0, 0, 0], # 翅膀生命百分比
[lambda curObj:PlayerControl.GetSuiteBasePer(curObj), lambda curObj, value:PlayerControl.SetSuiteBasePer(curObj, value), 0, 0, 0], # 套装基础属性百分比
[lambda curObj:PlayerControl.GetPlusBaseAtkPer(curObj), lambda curObj, value:PlayerControl.SetPlusBaseAtkPer(curObj, value), 0, 0, 0], # 强化基础攻击百分比
+ [lambda curObj:PlayerControl.GetProDef(curObj), lambda curObj, value:PlayerControl.SetProDef(curObj, value), IPY_PlayerDefine.CDBPlayerRefresh_ExAttr4, 1, 0], # 当前防护值
+ [lambda curObj:PlayerControl.GetNormalHurt(curObj), lambda curObj, value:PlayerControl.SetNormalHurt(curObj, value), ShareDefine.CDBPlayerRefresh_NormalHurt, 1, 0], # 属性普通攻击增伤
+ [lambda curObj:PlayerControl.GetNormalHurtPer(curObj), lambda curObj, value:PlayerControl.SetNormalHurtPer(curObj, value), ShareDefine.CDBPlayerRefresh_NormalHurtPer, 1, 0], # 属性普通攻击加成
+ [lambda curObj:PlayerControl.GetFabaoHurt(curObj), lambda curObj, value:PlayerControl.SetFabaoHurt(curObj, value), ShareDefine.CDBPlayerRefresh_FabaoHurt, 1, 0], # 属性法宝技能增伤
+ [lambda curObj:PlayerControl.GetFabaoHurtPer(curObj), lambda curObj, value:PlayerControl.SetFabaoHurtPer(curObj, value), ShareDefine.CDBPlayerRefresh_FabaoHurtPer, 1, 0], # 属性法宝技能加成
]
## 通过索引获得属性值
@@ -215,7 +217,7 @@
def CopyPlayerFuncAttr(curPlayer):
for i in xrange(len(ObjProperty_AttrByIndex)):
# Get
- if i+1 in [ChConfig.TYPE_Calc_AttrHP, ChConfig.TYPE_Calc_AttrMP]:
+ if i+1 in [ChConfig.TYPE_Calc_AttrHP, ChConfig.TYPE_Calc_AttrMP, ChConfig.TYPE_Calc_ProDef]:
continue
value = ObjProperty_AttrByIndex[i][0](curPlayer)
if value == 0 and curPlayer.GetDictByKey(ChConfig.Def_PlayerKey_CopyFuncAttr%i) == 0:
@@ -226,7 +228,7 @@
# 恢复缓存功能属性的刷新结果,用于BUFF属性单独刷新
def RestorePlayerFuncAttr(curPlayer):
for i in xrange(len(ObjProperty_AttrByIndex)):
- if i+1 in [ChConfig.TYPE_Calc_AttrHP, ChConfig.TYPE_Calc_AttrMP]:
+ if i+1 in [ChConfig.TYPE_Calc_AttrHP, ChConfig.TYPE_Calc_AttrMP, ChConfig.TYPE_Calc_ProDef]:
continue
ObjProperty_AttrByIndex[i][1](curPlayer,
curPlayer.GetDictByKey(ChConfig.Def_PlayerKey_CopyFuncAttr%i))
--
Gitblit v1.8.0