HeroPropertyVO.lua 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161
  1. local HeroProperty = class( "HeroProperty" )
  2. function HeroProperty:ctor()
  3. self._sample = {} -- 基本属性
  4. self.lastlevel = nil -- 上一次等级
  5. self.namestr = "" -- 名字
  6. self.guildname = "" -- 公会
  7. self.curPkState = 0 -- 当前攻击模式
  8. self.Sex = nil -- 性别
  9. self.variableInfo = "" -- 玩家状态的脚本变量
  10. self.HeroLuck = nil -- 英雄忠诚度
  11. end
  12. function HeroProperty:GetHeroLuck()
  13. return self.HeroLuck or 1000
  14. end
  15. function HeroProperty:SetHeroLuck(HeroLuck)
  16. self.HeroLuck = HeroLuck or 1000
  17. end
  18. function HeroProperty:GetSampleData()
  19. return self._sample
  20. end
  21. function HeroProperty:GetLevel()
  22. return self._sample.level or 0
  23. end
  24. function HeroProperty:GetLastLevel()
  25. return self.lastlevel
  26. end
  27. function HeroProperty:GetRoleCurrHP()
  28. return self:GetAttByAttType(GUIFunction:PShowAttType().HP)
  29. end
  30. function HeroProperty:GetRoleCurrMP()
  31. return self:GetAttByAttType(GUIFunction:PShowAttType().MP)
  32. end
  33. function HeroProperty:GetRoleMaxHP()
  34. return self._sample.maxHP or 1
  35. end
  36. function HeroProperty:GetRoleMaxMP()
  37. return self._sample.maxMP or 1
  38. end
  39. function HeroProperty:GetCurrExp()
  40. return self._sample.curExp or 0
  41. end
  42. function HeroProperty:GetNeedExp()
  43. return self._sample.needExp or 1
  44. end
  45. function HeroProperty:GetForceAgainst()
  46. return self._sample.nForceAgainst or 0
  47. end
  48. function HeroProperty:GetForceRecovery()
  49. return self._sample.nForceRecovery or 0
  50. end
  51. function HeroProperty:GetName()
  52. return self.namestr or ""
  53. end
  54. function HeroProperty:GetGuildName()
  55. return self.guildname or ""
  56. end
  57. function HeroProperty:GetPKMode()
  58. return self.curPkState
  59. end
  60. function HeroProperty:GetRoleSex()
  61. return self.Sex
  62. end
  63. function HeroProperty:GetVariableInfo()
  64. return self.variableInfo or ""
  65. end
  66. function HeroProperty:SetVariableInfo(variable_info)
  67. self.variableInfo = variable_info
  68. end
  69. function HeroProperty:GetAttByAttType(attid)
  70. local data = self._sample.attdata or {}
  71. if data[attid] then
  72. return data[attid]
  73. end
  74. return 0
  75. end
  76. function HeroProperty:SetRoleManaData(curHP, maxHP, curMP, maxMP)
  77. local PShowAttType = GUIFunction:PShowAttType()
  78. self:SetAttDataByAttId(PShowAttType.HP,curHP)
  79. self._sample.maxHP = maxHP
  80. self:SetAttDataByAttId(PShowAttType.MP,curMP)
  81. self._sample.maxMP = maxMP
  82. end
  83. function HeroProperty:SetRoleCurrExp(curExp)
  84. self._sample.curExp = curExp
  85. end
  86. function HeroProperty:SetLastLevel( level )
  87. self.lastlevel = level
  88. end
  89. function HeroProperty:SetPKMode( state )
  90. self.curPkState = state
  91. end
  92. function HeroProperty:SetRoleSex(sex)
  93. self.Sex = sex
  94. end
  95. function HeroProperty:SetNeedExp( exp )
  96. self._sample.needExp = exp
  97. end
  98. function HeroProperty:SetName(name)
  99. self.namestr = name
  100. end
  101. function HeroProperty:SetGuildName(guildname)
  102. self.guildname = guildname
  103. end
  104. function HeroProperty:SetWeight(weight, wearWeight, handWeight)
  105. local PShowAttType = GUIFunction:PShowAttType()
  106. self:SetAttDataByAttId(PShowAttType.Weight, weight)
  107. self:SetAttDataByAttId(PShowAttType.Wear_Weight, wearWeight)
  108. self:SetAttDataByAttId(PShowAttType.Hand_Weight, handWeight)
  109. end
  110. function HeroProperty:SetAttDataByAttId(attid,val)
  111. if not self._sample.attdata then
  112. self._sample.attdata = {}
  113. end
  114. self._sample.attdata[attid] = val
  115. end
  116. function HeroProperty:SetDZValue(value)
  117. self:SetAttDataByAttId(GUIFunction:PShowAttType().Internal_DZValue, value)
  118. end
  119. function HeroProperty:GetReinLv()
  120. return self._sample.relevel or 0
  121. end
  122. function HeroProperty:SetReinLv(relevel)
  123. self._sample.relevel = relevel
  124. end
  125. function HeroProperty:GetRoleJob()
  126. return self._sample.job or -1
  127. end
  128. return HeroProperty