-- TODO
-- logging
--- make idle notifications independent from game delay
+-- vote info in !status
-- Ideas:
-- scientists vote on kills
return
end
+ if string.lower(channel) ~= "#labspace" then
+ ls_notice(numeric, "Sorry, you can't use this command here.")
+ return
+ end
+
ls_set_lasthl(channel, os.time())
local numerics = {}
return
end
- ls_set_enabled(channel, false)
+ ls_set_enabled(channel, true)
ls_notice(numeric, "Game has been enabled.")
end
ls_set_guarded(channel, victimnumeric, false)
ls_chanmsg(channel, "The attack on " .. ls_format_player(channel, victimnumeric) .. " was deflected by a force field. The force field generator has now run out of power.")
+ elseif ls_get_trait(channel, victimnumeric, "infested") then
+ ls_devoice_player(channel, numeric)
+ ls_devoice_player(channel, victimnumeric)
+
+ ls_chanmsg(channel, "An alien bursts out of " .. ls_format_player(channel, victimnumeric, true) .. "'s chest just as " .. ls_format_player(channel, numeric, true) .. " was about to murder them, killing them both.")
+
+ ls_remove_player(channel, numeric, true)
+ ls_remove_player(channel, victimnumeric, true)
else
ls_devoice_player(channel, victimnumeric)
end
if chanuser.opped then
- ls_notice(channel, "You must not be opped to use this command.")
+ ls_notice(numeric, "You must not be opped to use this command.")
return
end
ls_notice(force_owner, "You've found the \002force field generator\002. Use /notice " .. BOTNICK .. " guard <nick> to protect someone.")
ls_notice(force_owner, "You are currently protecting yourself.")
+ -- make someone infested if there are at least 6 citizens
+ if table.getn(players) > 6 then
+ local infested_player = players[math.random(table.getn(players))]
+ ls_set_trait(channel, infested_player, "infested", true)
+ ls_notice(infested_player, "You're infested with an \002alien parasite\002.")
+ end
+
ls_chanmsg(channel, "Roles have been assigned: " ..
table.getn(ls_get_players(channel, "scientist")) .. "x " .. ls_format_role("scientist") .. ", " ..
table.getn(ls_get_players(channel, "investigator")) .. "x " .. ls_format_role("investigator") .. ", " ..
for _, player in pairs(ls_get_players(channel)) do
local seen = ls_get_seen(channel, player)
- if seen < os.time() - 120 then
- table.insert(dead_players, player)
- elseif seen < os.time() - 60 then
- table.insert(idle_players, player)
+ if seen then
+ if seen < os.time() - 120 then
+ table.insert(dead_players, player)
+ elseif seen < os.time() - 60 then
+ table.insert(idle_players, player)
+ end
end
end