Skip to content
Snippets Groups Projects
Commit 96441fd0 authored by dg's avatar dg
Browse files

adjust stats&life by rank


git-svn-id: http://svn.net-core.org/repos/t-engine4@653 51575b47-30f0-44d4-a5cc-537603b46e54
parent dc508f72
No related branches found
No related tags found
No related merge requests found
......@@ -269,6 +269,16 @@ function _M:magicMap(radius, x, y)
end end
end
function _M:getRankStatAdjust()
if self.rank == 1 then return -1
elseif self.rank == 2 then return -0.5
elseif self.rank == 3 then return 0
elseif self.rank == 4 then return 1
elseif self.rank >= 5 then return 1
else return 0
end
end
function _M:getRankLevelAdjust()
if self.rank == 1 then return -1
elseif self.rank == 2 then return 0
......@@ -279,6 +289,16 @@ function _M:getRankLevelAdjust()
end
end
function _M:getRankLifeAdjust()
if self.rank == 1 then return -2
elseif self.rank == 2 then return -0.5
elseif self.rank == 3 then return 1
elseif self.rank == 4 then return 2
elseif self.rank >= 5 then return 3
else return 0
end
end
function _M:TextRank()
local rank, color = "normal", "#ANTIQUE_WHITE#"
if self.rank == 1 then rank, color = "critter", "#C0C0C0#"
......@@ -462,7 +482,7 @@ function _M:die(src)
end
function _M:levelup()
self.unused_stats = self.unused_stats + 3
self.unused_stats = self.unused_stats + 3 + self:getRankStatAdjust()
self.unused_talents = self.unused_talents + 2
-- At levels 10, 20 and 30 we gain a new talent type
if self.level == 10 or self.level == 20 or self.level == 30 then
......@@ -474,7 +494,7 @@ function _M:levelup()
if not self.fixed_rating then
rating = rng.range(math.floor(self.life_rating * 0.5), math.floor(self.life_rating * 1.5))
end
self.max_life = self.max_life + rating + 1 -- + 5
self.max_life = self.max_life + math.max(rating + self:getRankLifeAdjust(), 1)
+ (self:knowTalent(self.T_IMPROVED_HEALTH_I) and 1 or 0)
+ (self:knowTalent(self.T_IMPROVED_HEALTH_II) and 1 or 0)
+ (self:knowTalent(self.T_IMPROVED_HEALTH_III) and 1 or 0)
......
......@@ -20,10 +20,10 @@
local Autolevel = require "engine.Autolevel"
local function learnStats(self, statorder)
local i = 1
self.auto_stat_cnt = self.auto_stat_cnt or 1
while self.unused_stats > 0 do
self:incStat(statorder[i], 1)
i = util.boundWrap(i + 1, 1, #statorder)
self:incStat(statorder[self.auto_stat_cnt], 1)
self.auto_stat_cnt = util.boundWrap(self.auto_stat_cnt + 1, 1, #statorder)
self.unused_stats = self.unused_stats - 1
end
end
......@@ -60,17 +60,9 @@ Autolevel:registerScheme{ name = "caster", levelup = function(self)
end}
Autolevel:registerScheme{ name = "warriormage", levelup = function(self)
if self.level % 2 == 0 then
learnStats(self, { self.STAT_MAG, self.STAT_MAG, self.STAT_WIL })
else
learnStats(self, { self.STAT_STR, self.STAT_STR, self.STAT_DEX })
end
learnStats(self, { self.STAT_MAG, self.STAT_MAG, self.STAT_WIL, self.STAT_STR, self.STAT_STR, self.STAT_DEX })
end}
Autolevel:registerScheme{ name = "snake", levelup = function(self)
if self.level % 2 == 0 then
learnStats(self, { self.STAT_CUN, self.STAT_DEX, self.STAT_CON })
else
learnStats(self, { self.STAT_CUN, self.STAT_DEX, self.STAT_STR })
end
learnStats(self, { self.STAT_CUN, self.STAT_DEX, self.STAT_CON, self.STAT_CUN, self.STAT_DEX, self.STAT_STR })
end}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment