Fix issues with bounty_score
* Set lower limit to bounty * Check for div-by-0 before calculating bounty_score * Rounded score after calculation * Changed the divisor from 10000 to 5000 to prevent very tiny bounties on targets
This commit is contained in:
parent
e3b12312e5
commit
b7bec9168b
1 changed files with 9 additions and 2 deletions
|
@ -24,15 +24,22 @@ local function bounty_player(target)
|
||||||
|
|
||||||
bountied_player = target
|
bountied_player = target
|
||||||
|
|
||||||
-- Score * K/D
|
-- Score * K/D
|
||||||
-- bounty_score = -----------, or 500 (whichever is lesser)
|
-- bounty_score = -----------, or 500 (whichever is lesser)
|
||||||
-- 10000
|
-- 5000
|
||||||
|
|
||||||
local pstat, _ = ctf_stats.player(target)
|
local pstat, _ = ctf_stats.player(target)
|
||||||
|
if pstat.deaths == 0 then
|
||||||
|
pstat.deaths = 1
|
||||||
|
end
|
||||||
bounty_score = (pstat.score * (pstat.kills / pstat.deaths)) / 10000
|
bounty_score = (pstat.score * (pstat.kills / pstat.deaths)) / 10000
|
||||||
if bounty_score > 500 then
|
if bounty_score > 500 then
|
||||||
bounty_score = 500
|
bounty_score = 500
|
||||||
end
|
end
|
||||||
|
if bounty_score < 50 then
|
||||||
|
bounty_score = 50
|
||||||
|
end
|
||||||
|
bounty_score = math.floor(bounty_score)
|
||||||
|
|
||||||
minetest.after(0.1, announce_all)
|
minetest.after(0.1, announce_all)
|
||||||
end
|
end
|
||||||
|
|
Loading…
Reference in a new issue