aboutsummaryrefslogtreecommitdiff
path: root/interest.lua
diff options
context:
space:
mode:
Diffstat (limited to 'interest.lua')
-rw-r--r--interest.lua27
1 files changed, 19 insertions, 8 deletions
diff --git a/interest.lua b/interest.lua
index e492566..696b691 100644
--- a/interest.lua
+++ b/interest.lua
@@ -1,16 +1,27 @@
-- adapted from the income.lua file from the currency mod.
local timer = 0
+
+function atm.welfare_payout()
+ payout = false
+ for _,player in ipairs(minetest.get_connected_players()) do
+ local name = player:get_player_name()
+ local limit = atm.welfare[name] or atm.default_welfare
+ atm.ensure_init(name)
+ if limit > 5 then
+ atm.balance[name] = math.floor(atm.balance[name] + 5)
+ atm.welfare[name] = limit - 5
+ payout = true
+ end
+ end
+ if payout then
+ atm.saveaccounts()
+ end
+end
+
minetest.register_globalstep(function(dtime)
timer = timer + dtime;
if timer >= 1000 then
timer = 0
- atm.readaccounts()
- for _,player in ipairs(minetest.get_connected_players()) do
- local name = player:get_player_name()
- if not (atm.balance[name] == nil) then
- atm.balance[name] = math.floor(atm.balance[name] + 5)
- end
- end
- atm.saveaccounts()
+ atm.welfare_payout()
end
end)