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

174 lines
6.9 KiB
Lua
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

require("misc.GSetClass")
local HeroData = GSetClass("Person")
local heroConfig = ConfigManager.GetConfig(ConfigName.HeroConfig)
HeroData.onCreate = function(self,_msgHeroData, isFindHandBook)
self._id = _msgHeroData.heroId
self._lv = _msgHeroData.level
self._Did = _msgHeroData.id
self._equipIdList = _msgHeroData.equipIdList
self._talismanList = self.especialEquipLevel
self._star = _msgHeroData.star
self._breakId = _msgHeroData.breakId
-- self._breakId = _msgHeroData.
self._warPower = 0
end
--等级
HeroData.__get__.lv = function(self)
local temp_lv = HarmonyManager.GetSingleAdditions(HarmonyAddType.AddLv)
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)))
if temp_lv > 0 and HarmonyManager.IsInfo(self.dynamicId) then
if HeroManager.IsTenTalent(self._id)and HarmonyManager:HongMengTowerUpLimit() ~= 0 then
endLv = HarmonyManager.GetSingleAdditionsData(HarmonyAddType.AddLv).value
else
if HeroManager.IsTenTalent(self._id) then
endLv = HarmonyManager.GetSingleAdditionsData(HarmonyAddType.AddLv).value
else
local curlvEen = HeroManager.heroLvEnd[self._id]
endLv = temp_lv > curlvEen and curlvEen or temp_lv
end
end
return endLv
elseif HarmonyManager.GetSingleAdditionsData(HarmonyAddType.AddLv) and HarmonyManager:IsEnvoy(self.dynamicId) then
local data = HarmonyManager.GetSingleAdditionsData(HarmonyAddType.AddLv)
if data.heroTid >= 0 and data.value >= 300 then
local temp_lv = 0
if HeroManager.IsTenTalent(self._id) then
temp_lv = data.value
else
temp_lv = HeroManager.heroLvEnd[self.id]
end
-- LogPink("temp_lv:"..tostring(temp_lv))
return temp_lv
else
return self._lv
end
else
-- LogBlue("self._lv2:"..tostring(self._lv))
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))
self._lv = value
end
--装备
HeroData.__get__.equipIdList = function(self)
local equipStar = HarmonyManager.GetSingleAdditions(HarmonyAddType.AddEquip)
--LogPink("self._equipIdList "..equipStar.." @@@@@@"..#self._equipIdList )
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
else
self.harmonyGongMing = false
return self._equipIdList
end
end
HeroData.__set__.equipIdList = function(self, value)
self._equipIdList = value
end
--法宝
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
self.harmonyFaGongMing = false
-- LogPink("法宝3 `````````` "..self._talismanList)
return 0
end
local Equip = HarmonyManager.GetSingleAdditions(HarmonyAddType.FaBao)
if Equip > 0 and HarmonyManager.IsInfo(self.dynamicId) then
--print(curlvEen," "..self.heroConfig.ReadingName)
local endLv = Equip > self._talismanList and Equip or self._talismanList
self.harmonyFaGongMing = true
--LogPink("法宝4 `````````` "..endLv)
return endLv
else
self.harmonyFaGongMing = false
--LogPink("法宝5 `````````` "..self._talismanList)
return self._talismanList
end
end
HeroData.__set__.talismanList = function(self, value)
self._talismanList = value
end
HeroData.__get__.oritalismanList = function (self)
-- body
return self._talismanList
end
HeroData.__get__.oriLv= function (self)
-- body
return self._lv
end
--天赋突破变化
HeroData.__set__.breakId = function (self,value)
-- body
self._breakId = value
--print("self._breakId",self._breakId)
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)
if HeroManager.IsTenTalent(self._id) and HarmonyManager.GetSingleAdditionsData(HarmonyAddType.AddLv).heroTid == 0 then
endLv = HarmonyManager.GetSingleAdditionsData(HarmonyAddType.AddLv).value
--print(endLv," "..self.heroConfig.ReadingName)
else
local curlvEen = HeroManager.heroLvEnd[self.id]
endLv = temp_lv > curlvEen and curlvEen or temp_lv
end
endbreakIdLv = HeroManager.GetAllStarBreakIdData(self._id,endLv)
--print(endbreakIdLv," 111 "..self.heroConfig.ReadingName.."等级"..endLv)
return endbreakIdLv
elseif HarmonyManager.GetSingleAdditionsData(HarmonyAddType.AddLv) and HarmonyManager:IsEnvoy(self.dynamicId) then
local data = HarmonyManager.GetSingleAdditionsData(HarmonyAddType.AddLv)
--print("self._id @@@"..HarmonyManager.hongmengAdditions[1].heroTid.."#####"..HarmonyManager.hongmengAdditions[1].value )
if data.heroTid >= 0 and data.value >= 300 then
local temp_lv = 0
if HeroManager.IsTenTalent(self._id) then
temp_lv = data.value
else
temp_lv = HeroManager.heroLvEnd[self.id]
end
endbreakIdLv = HeroManager.GetAllStarBreakIdData(self._id,temp_lv)
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
return HeroData