hch
2019-04-13 af2575ee52476f0d87d69a76dca5ee1f58cf114d
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:GameObj.GetPetDamPer(curObj), lambda curObj, value:GameObj.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生命, 数值为固定值
   
@@ -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],          # 宝石生命百分比
@@ -167,10 +164,10 @@
   [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.GetZhuXianRate(curObj), lambda curObj, value:PlayerControl.SetZhuXianRate(curObj, value), ShareDefine.CDBPlayerRefresh_ZhuxianRate, 1, 0],      # 诛仙一击概率
   [lambda curObj:PlayerControl.GetZhuXianHurtPer(curObj), lambda curObj, value:PlayerControl.SetZhuXianHurtPer(curObj, value), ShareDefine.CDBPlayerRefresh_ZhuxianHurtPer, 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],  # 属性法宝技能加成
]
## 通过索引获得属性值