From 134ef287afba6ca468c9a984199db4bfcb3c54e3 Mon Sep 17 00:00:00 2001 From: shamoanjac Date: Sat, 27 Aug 2016 16:22:44 +0200 Subject: [PATCH 1/5] Disabled war --- factions.lua | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/factions.lua b/factions.lua index 5461172..d208379 100644 --- a/factions.lua +++ b/factions.lua @@ -392,7 +392,7 @@ function factions.Faction.is_online(self) end function factions.Faction.attack_parcel(self, parcelpos) - local attacked_faction = factions.get_parcel_faction(parcelpos) +--[[ local attacked_faction = factions.get_parcel_faction(parcelpos) if attacked_faction then self.power = self.power - factions.power_per_attack if attacked_faction.attacked_parcels[parcelpos] then @@ -406,6 +406,7 @@ function factions.Faction.attack_parcel(self, parcelpos) end factions.save() end + ]] end function factions.Faction.stop_attack(self, parcelpos) From 919666c7f703c72ae75b914ca953d968e6368a06 Mon Sep 17 00:00:00 2001 From: shamoanjac Date: Sat, 27 Aug 2016 19:09:54 +0200 Subject: [PATCH 2/5] Fixed auto-deletion not working --- factions.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/factions.lua b/factions.lua index d208379..51aed47 100644 --- a/factions.lua +++ b/factions.lua @@ -711,7 +711,7 @@ factions.faction_tick = function() if faction:is_online() then faction:increase_power(factions.power_per_tick) end - if faction.last_logon - now > factions.maximum_faction_inactivity then + if now - faction.last_logon > factions.maximum_faction_inactivity then faction:disband() end end From 80be027f88cd8c3992fa39929b1d0e3feec87c66 Mon Sep 17 00:00:00 2001 From: shamoanjac Date: Sat, 27 Aug 2016 22:10:25 +0200 Subject: [PATCH 3/5] Added /f which to get a player's faction --- chatcommands.lua | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/chatcommands.lua b/chatcommands.lua index a0406e7..31ae5ea 100644 --- a/chatcommands.lua +++ b/chatcommands.lua @@ -557,6 +557,23 @@ factions.register_command("forceupdate", { end }) +factions.register_command("which", { + description = "Gets a player's faction", + infaction = false, + format = {"string"}, + on_success = function(player, faction, pos, parcelpos, args) + local playername = args.strings[1] + local faction = factions.get_player_faction(playername) + if not faction then + send_error(player, "Player "..playername.." does not belong to any faction") + return false + else + minetest.chat_send_player(player, "player "..playername.." belongs to faction "..faction.name) + return true + end + end +}) + ------------------------------------------------------------------------------- -- name: cmdhandler(playername,parameter) -- From 3ffc31f8f265a42c4c2fd0214c20367276ea93e5 Mon Sep 17 00:00:00 2001 From: shamoanjac Date: Sat, 27 Aug 2016 22:34:09 +0200 Subject: [PATCH 4/5] Added /f setleader --- chatcommands.lua | 18 ++++++++++++++++++ factions.lua | 3 +++ 2 files changed, 21 insertions(+) diff --git a/chatcommands.lua b/chatcommands.lua index 31ae5ea..9fd9ade 100644 --- a/chatcommands.lua +++ b/chatcommands.lua @@ -574,6 +574,24 @@ factions.register_command("which", { end }) +factions.register_command("setleader", { + description = "Set a player as a faction's leader", + infaction = false, + global_privileges = {"faction_admin"}, + format = {"faction", "player"}, + on_success = function(player, faction, pos, parcelpos, args) + local playername = args.players[1]:get_player_name() + local playerfaction = factions.get_player_faction(playername) + local targetfaction = args.factions[1] + if playerfaction.name ~= targetfaction.name then + send_error(player, "Player "..playername.." is not in faction "..targetfaction.name..".") + return false + end + targetfaction:set_leader(playername) + return true + end +}) + ------------------------------------------------------------------------------- -- name: cmdhandler(playername,parameter) -- diff --git a/factions.lua b/factions.lua index 51aed47..77e27be 100644 --- a/factions.lua +++ b/factions.lua @@ -248,6 +248,9 @@ end --! @brief change the faction leader function factions.Faction.set_leader(self, player) + if self.leader then + self.players[self.leader] = self.default_rank + end self.leader = player self.players[player] = self.default_leader_rank self:on_new_leader() From da37376d207bba689c98c542850fd6e5cb508c4a Mon Sep 17 00:00:00 2001 From: shamoanjac Date: Sat, 27 Aug 2016 23:16:11 +0200 Subject: [PATCH 5/5] Added /f setadmin --- chatcommands.lua | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/chatcommands.lua b/chatcommands.lua index 9fd9ade..8f5fc53 100644 --- a/chatcommands.lua +++ b/chatcommands.lua @@ -592,6 +592,17 @@ factions.register_command("setleader", { end }) +factions.register_command("setadmin", { + description = "Make a faction an admin faction", + infaction = false, + global_privileges = {"faction_admin"}, + format = {"faction"}, + on_success = function(player, faction, pos, parcelpos, args) + args.factions[1].is_admin = false + return true + end +}) + ------------------------------------------------------------------------------- -- name: cmdhandler(playername,parameter) --