From 9af0142a36f345c16db5ccabf75349c1b13f59e2 Mon Sep 17 00:00:00 2001 From: Perttu Ahola Date: Fri, 2 Dec 2011 11:25:47 +0200 Subject: [PATCH] Add enable_pvp setting --- minetest.conf.example | 2 ++ src/defaultsettings.cpp | 1 + src/serverremoteplayer.cpp | 6 ++++++ 3 files changed, 9 insertions(+) diff --git a/minetest.conf.example b/minetest.conf.example index cf27acfa..83519e14 100644 --- a/minetest.conf.example +++ b/minetest.conf.example @@ -133,6 +133,8 @@ #default_privs = build, shout # Whether players are transferred to client without any range limit #unlimited_player_transfer_distance = true +# Whether to enable players killing each other +#enable_pvp = true # Profiler data print interval. #0 = disable. #profiler_print_interval = 0 diff --git a/src/defaultsettings.cpp b/src/defaultsettings.cpp index be63fb87..1e48183f 100644 --- a/src/defaultsettings.cpp +++ b/src/defaultsettings.cpp @@ -94,6 +94,7 @@ void set_default_settings(Settings *settings) settings->setDefault("default_password", ""); settings->setDefault("default_privs", "build, shout"); settings->setDefault("unlimited_player_transfer_distance", "true"); + settings->setDefault("enable_pvp", "true"); settings->setDefault("profiler_print_interval", "0"); settings->setDefault("enable_mapgen_debug_info", "false"); diff --git a/src/serverremoteplayer.cpp b/src/serverremoteplayer.cpp index bff414e1..900cc543 100644 --- a/src/serverremoteplayer.cpp +++ b/src/serverremoteplayer.cpp @@ -139,6 +139,12 @@ void ServerRemotePlayer::punch(ServerActiveObject *puncher, if(!puncher) return; + // No effect if PvP disabled + if(g_settings->getBool("enable_pvp") == false){ + if(puncher->getType() == ACTIVEOBJECT_TYPE_PLAYER) + return; + } + // "Material" properties of a player MaterialProperties mp; mp.diggability = DIGGABLE_NORMAL;