miduo_client/Assets/ManagedResources/~Lua/Modules/Hero/HeroData.lua

174 lines
6.9 KiB
Lua
Raw Normal View History

2021-04-20 13:58:00 +08:00
require("misc.GSetClass")
2020-12-17 10:41:00 +08:00
local HeroData = GSetClass("Person")
local heroConfig = ConfigManager.GetConfig(ConfigName.HeroConfig)
2020-12-17 10:41:00 +08:00
HeroData.onCreate = function(self,_msgHeroData, isFindHandBook)
2020-12-26 15:58:03 +08:00
self._id = _msgHeroData.heroId
2020-12-17 10:41:00 +08:00
self._lv = _msgHeroData.level
2020-12-30 14:50:38 +08:00
self._Did = _msgHeroData.id
2020-12-17 10:41:00 +08:00
self._equipIdList = _msgHeroData.equipIdList
2020-12-26 15:58:03 +08:00
self._talismanList = self.especialEquipLevel
self._star = _msgHeroData.star
2021-01-09 14:30:35 +08:00
self._breakId = _msgHeroData.breakId
2020-12-17 10:41:00 +08:00
-- self._breakId = _msgHeroData.
self._warPower = 0
2020-12-17 10:41:00 +08:00
end
--等级
HeroData.__get__.lv = function(self)
local temp_lv = HarmonyManager.GetSingleAdditions(HarmonyAddType.AddLv)
2020-12-18 13:39:35 +08:00
local endLv = 0
-- LogWarn("名字:"..tostring(heroConfig[self._id].ReadingName)..
-- " temp_lv:"..tostring(temp_lv)..
-- " Bool:"..tostring(HarmonyManager:HongMengTowerUpLimit() ~= 0)..
-- " Bool2:"..tostring(HarmonyManager.GetSingleAdditionsData(HarmonyAddType.AddLv))
-- )
-- LogWarn(" Bool3:"..tostring(HarmonyManager:IsEnvoy(self.dynamicId)))
2020-12-17 10:41:00 +08:00
if temp_lv > 0 and HarmonyManager.IsInfo(self.dynamicId) then
2021-01-14 21:11:53 +08:00
if HeroManager.IsTenTalent(self._id)and HarmonyManager:HongMengTowerUpLimit() ~= 0 then
2021-01-18 17:43:11 +08:00
endLv = HarmonyManager.GetSingleAdditionsData(HarmonyAddType.AddLv).value
else
2021-01-14 21:11:53 +08:00
if HeroManager.IsTenTalent(self._id) then
2021-01-18 17:43:11 +08:00
endLv = HarmonyManager.GetSingleAdditionsData(HarmonyAddType.AddLv).value
2021-01-14 21:11:53 +08:00
else
local curlvEen = HeroManager.heroLvEnd[self._id]
endLv = temp_lv > curlvEen and curlvEen or temp_lv
end
2020-12-18 13:39:35 +08:00
end
2020-12-17 10:41:00 +08:00
return endLv
2021-01-18 17:43:11 +08:00
elseif HarmonyManager.GetSingleAdditionsData(HarmonyAddType.AddLv) and HarmonyManager:IsEnvoy(self.dynamicId) then
local data = HarmonyManager.GetSingleAdditionsData(HarmonyAddType.AddLv)
if data.heroTid >= 0 and data.value >= 330 then
2021-01-04 16:31:46 +08:00
local temp_lv = 0
if HeroManager.IsTenTalent(self._id) then
2021-01-18 17:43:11 +08:00
temp_lv = data.value
2021-01-04 16:31:46 +08:00
else
temp_lv = HeroManager.heroLvEnd[self.id]
end
-- LogPink("temp_lv:"..tostring(temp_lv))
2021-01-04 16:31:46 +08:00
return temp_lv
2020-12-29 20:36:37 +08:00
else
return self._lv
end
2020-12-17 10:41:00 +08:00
else
-- LogBlue("self._lv2:"..tostring(self._lv))
2020-12-17 10:41:00 +08:00
return self._lv
end
end
HeroData.__set__.lv = function(self, value)
-- print(this._lv, " - 属性访问器set lv", value)
-- LogGreen("SetValue: Name:"..tostring(heroConfig[self._id].ReadingName).." Value:"..tostring(self._lv))
2020-12-17 10:41:00 +08:00
self._lv = value
end
--装备
HeroData.__get__.equipIdList = function(self)
local equipStar = HarmonyManager.GetSingleAdditions(HarmonyAddType.AddEquip)
2021-01-08 17:29:54 +08:00
--LogPink("self._equipIdList "..equipStar.." @@@@@@"..#self._equipIdList )
2020-12-17 10:41:00 +08:00
if #self._equipIdList > 0 then
self.harmonyGongMing = false
return self._equipIdList
elseif equipStar > 0 and HarmonyManager.IsInfo(self.dynamicId) then
local curEquipIdList = {}
local curEquipConfigs = ConfigManager.GetAllConfigsDataByKey(ConfigName.EquipConfig,"Star",equipStar)
for i = 1, #curEquipConfigs do
table.insert(curEquipIdList,curEquipConfigs[i].Id)
end
self.harmonyGongMing = true
return curEquipIdList
2021-01-08 17:29:54 +08:00
else
2020-12-17 10:41:00 +08:00
self.harmonyGongMing = false
return self._equipIdList
end
end
HeroData.__set__.equipIdList = function(self, value)
self._equipIdList = value
end
--法宝
2020-12-26 15:58:03 +08:00
HeroData.__get__.talismanList = function(self)
-- EquipTalismana
--LogPink("法宝1 `````````` ")
local heroConfig = ConfigManager.GetConfigData(ConfigName.HeroConfig,self._id)
--LogPink("法宝2 `````````` "..self._id)
if heroConfig and not heroConfig.EquipTalismana then
2021-01-08 17:29:54 +08:00
self.harmonyFaGongMing = false
2020-12-26 15:58:03 +08:00
-- LogPink("法宝3 `````````` "..self._talismanList)
return 0
end
2020-12-17 10:41:00 +08:00
local Equip = HarmonyManager.GetSingleAdditions(HarmonyAddType.FaBao)
if Equip > 0 and HarmonyManager.IsInfo(self.dynamicId) then
--print(curlvEen," "..self.heroConfig.ReadingName)
2020-12-26 15:58:03 +08:00
local endLv = Equip > self._talismanList and Equip or self._talismanList
2021-01-08 17:29:54 +08:00
self.harmonyFaGongMing = true
2020-12-26 15:58:03 +08:00
--LogPink("法宝4 `````````` "..endLv)
2020-12-17 10:41:00 +08:00
return endLv
else
2021-01-08 17:29:54 +08:00
self.harmonyFaGongMing = false
2020-12-26 15:58:03 +08:00
--LogPink("法宝5 `````````` "..self._talismanList)
return self._talismanList
2020-12-17 10:41:00 +08:00
end
end
2020-12-26 15:58:03 +08:00
HeroData.__set__.talismanList = function(self, value)
self._talismanList = value
2020-12-17 10:41:00 +08:00
end
2021-01-25 15:14:45 +08:00
HeroData.__get__.oritalismanList = function (self)
-- body
return self._talismanList
end
2020-12-17 10:41:00 +08:00
HeroData.__get__.oriLv= function (self)
-- body
return self._lv
end
2021-01-09 14:30:35 +08:00
--天赋突破变化
HeroData.__set__.breakId = function (self,value)
-- body
self._breakId = value
2021-01-14 21:11:53 +08:00
--print("self._breakId",self._breakId)
2021-01-09 14:30:35 +08:00
end
HeroData.__get__.breakId = function (self)
-- body
local temp_lv = HarmonyManager.GetSingleAdditions(HarmonyAddType.AddLv)
local endLv = 0
local endbreakIdLv = 0
if temp_lv > 0 and HarmonyManager.IsInfo(self.dynamicId) then
--LogGreen(tostring(HeroManager.IsElevenStar(self.star)))
--print(self._id.." "..HarmonyManager.hongmengAdditions[1].heroTid..self.heroConfig.ReadingName)
2021-01-18 17:43:11 +08:00
if HeroManager.IsTenTalent(self._id) and HarmonyManager.GetSingleAdditionsData(HarmonyAddType.AddLv).heroTid == 0 then
endLv = HarmonyManager.GetSingleAdditionsData(HarmonyAddType.AddLv).value
2021-01-09 14:30:35 +08:00
--print(endLv," "..self.heroConfig.ReadingName)
else
2021-01-09 14:30:35 +08:00
local curlvEen = HeroManager.heroLvEnd[self.id]
endLv = temp_lv > curlvEen and curlvEen or temp_lv
end
endbreakIdLv = HeroManager.GetAllStarBreakIdData(self._id,endLv)
2021-01-14 21:11:53 +08:00
--print(endbreakIdLv," 111 "..self.heroConfig.ReadingName.."等级"..endLv)
2021-01-09 14:30:35 +08:00
return endbreakIdLv
2021-01-18 17:43:11 +08:00
elseif HarmonyManager.GetSingleAdditionsData(HarmonyAddType.AddLv) and HarmonyManager:IsEnvoy(self.dynamicId) then
local data = HarmonyManager.GetSingleAdditionsData(HarmonyAddType.AddLv)
2021-01-09 14:30:35 +08:00
--print("self._id @@@"..HarmonyManager.hongmengAdditions[1].heroTid.."#####"..HarmonyManager.hongmengAdditions[1].value )
2021-01-18 17:43:11 +08:00
if data.heroTid >= 0 and data.value >= 330 then
2021-01-09 14:30:35 +08:00
local temp_lv = 0
if HeroManager.IsTenTalent(self._id) then
2021-01-18 17:43:11 +08:00
temp_lv = data.value
2021-01-09 14:30:35 +08:00
else
temp_lv = HeroManager.heroLvEnd[self.id]
end
2021-01-14 21:11:53 +08:00
endbreakIdLv = HeroManager.GetAllStarBreakIdData(self._id,temp_lv)
2021-01-09 14:30:35 +08:00
return endbreakIdLv
else
return self._breakId
end
else
return self._breakId
end
end
--战斗力设置
HeroData.__get__.warPower= function (self)
self._warPower = HeroPowerManager.GetHeroPower(self._Did)
return self._warPower
end
HeroData.__set__.warPower = function (self,value)
self._warPower = value
end
2020-12-17 10:41:00 +08:00
return HeroData