This commit is contained in:
Diego Martínez 2017-03-12 01:11:04 +00:00 committed by GitHub
commit eed5f1eccf
4 changed files with 17 additions and 20 deletions

9
.luacheckrc Normal file
View File

@ -0,0 +1,9 @@
read_globals = {
"minetest",
"vector",
}
globals = {
"player_monoids",
}

View File

@ -65,7 +65,7 @@ function mon_meta:add_change(player, value, id)
local p_name = player:get_player_name()
local def = self.def
local p_effects = self.player_map[p_name]
if p_effects == nil then
p_effects = {}

View File

@ -1,17 +1,5 @@
-- Standard effect monoids, to provide canonicity.
local function mult(x, y) return x * y end
local function mult_fold(elems)
local tot = 1
for k,v in pairs(elems) do
tot = tot * v
end
return tot
end
local function v_mult(v1, v2)
local res = {}
@ -26,7 +14,7 @@ local function v_mult_fold(identity)
return function(elems)
local tot = identity
for k, v in pairs(elems) do
for _, v in pairs(elems) do
tot = v_mult(tot, v)
end
@ -42,7 +30,7 @@ player_monoids.speed = monoid({
combine = function(x, y) return x * y end,
fold = function(elems)
local res = 1
for k, v in pairs(elems) do
for _, v in pairs(elems) do
res = res * v
end
@ -63,7 +51,7 @@ player_monoids.jump = monoid({
combine = function(x, y) return x * y end,
fold = function(elems)
local res = 1
for k, v in pairs(elems) do
for _, v in pairs(elems) do
res = res * v
end
@ -83,7 +71,7 @@ player_monoids.gravity = monoid({
combine = function(x, y) return x * y end,
fold = function(elems)
local res = 1
for k, v in pairs(elems) do
for _, v in pairs(elems) do
res = res * v
end
@ -103,7 +91,7 @@ player_monoids.gravity = monoid({
player_monoids.fly = monoid({
combine = function(p, q) return p or q end,
fold = function(elems)
for k, v in pairs(elems) do
for _, v in pairs(elems) do
if v then return true end
end
@ -130,7 +118,7 @@ player_monoids.fly = monoid({
player_monoids.noclip = monoid({
combine = function(p, q) return p or q end,
fold = function(elems)
for k, v in pairs(elems) do
for _, v in pairs(elems) do
if v then return true end
end

View File

@ -11,7 +11,7 @@ local function test(player)
local p_name = player:get_player_name()
minetest.chat_send_player(p_name, "Your speed is: " .. speed:value(player))
minetest.after(3, function()
speed:del_change(player, ch_id)
minetest.chat_send_player(p_name, "Your speed is: " .. speed:value(player))