Merge branch 'master' into nalc-1.2.

- Avec correction la personnalisation du mod pour le serveur NALC.
This commit is contained in:
Sys Quatre 2019-05-09 21:15:14 +02:00
commit 687947b07d
7 changed files with 107 additions and 139 deletions

View File

@ -1,9 +1,3 @@
Home / Licenses
GPL v3
GNU GENERAL PUBLIC LICENSE
Version 3, 29 June 2007
@ -678,35 +672,3 @@ may consider it more useful to permit linking proprietary applications with
the library. If this is what you want to do, use the GNU Lesser General
Public License instead of this License. But first, please read
<http://www.gnu.org/philosophy/why-not-lgpl.html>.
Copy license text to clipboard
How to apply this license
Create a text file (typically named LICENSE or LICENSE.txt) in the root of your source code and copy the text of the license into the file.
Note: The Free Software Foundation recommends taking the additional step of adding a boilerplate notice to the top of each file. The boilerplate can be found at the end of the license.
Source
Required
Disclose Source
License and copyright notice
State Changes
Permitted
Commercial Use
Distribution
Modification
Patent Grant
Private Use
Forbidden
Hold Liable
Sublicensing
About Terms of Service
If you have questions or issues, it is always best to consult a legal professional.
This site is licensed under the Creative Commons Attribution 3.0 Unported License.
Demystified with <3 by GitHub, Inc.

View File

@ -1,12 +0,0 @@
Death Messages
==============
A Minetest mod which sends a chat message when a player dies.
Version: 0.1.2 beta
License of source code:
GPL v3
See LICENSE.txt for full legal text

17
README.txt Normal file
View File

@ -0,0 +1,17 @@
____ _ _ __ __
| _ \ ___ __ _| |_| |__ | \/ | ___ ___ ___ __ _ __ _ ___ ___
| | | |/ _ \/ _` | __| '_ \ | |\/| |/ _ \/ __/ __|/ _` |/ _` |/ _ \/ __|
| |_| | __/ (_| | |_| | | | | | | | __/\__ \__ \ (_| | (_| | __/\__ \
|____/ \___|\__,_|\__|_| |_| |_| |_|\___||___/___/\__,_|\__, |\___||___/
|___/
A Minetest mod which sends a chat message when a player dies.
Version: 0.1.3
License: GPL v3 (see LICENSE.txt)
Dependencies:
none
Please report bugs at the github issue tracker:
https://github.com/4Evergreen4/death_messages/issues/

1
description.txt Normal file
View File

@ -0,0 +1 @@
A Minetest mod which sends a chat message when a player dies.

177
init.lua
View File

@ -1,12 +1,31 @@
--[[
death_messages - A Minetest mod which sends a chat message when a player dies.
Copyright (C) 2016 EvergreenTree
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
--]]
-----------------------------------------------------------------------------------------------
local title = "Death Messages"
local title = "Death Messages"
local version = "0.1.2"
local mname = "death_messages"
local mname = "death_messages"
-----------------------------------------------------------------------------------------------
dofile(minetest.get_modpath("death_messages").."/settings.txt")
-----------------------------------------------------------------------------------------------
-- A table of quips for death messages
-- A table of quips for death messages. The first item in each sub table is the
-- default message used when RANDOM_MESSAGES is disabled.
local messages = {}
-- Another one to avoid double death messages
@ -117,39 +136,40 @@ messages.monsters_whacking = {
-- Monsters
local monsters = {
["mobs:fireball"] = "dungeon master",
["mobs:dungeon_master"] = "dungeon master",
["mobs:spider"] = "spider",
["mobs:sand_monster"] = "sand monster",
["mobs:cow"] = "cow",
["mobs:creeper"] = "creeper",
["mobs:dog"] = "dog",
["mobs:greenbig"] = "big green slim",
["mobs:greenmedium"] = "medium green slim",
["mobs:greensmall"] = "small green slim",
["mobs:lavabig"] = "big lava slim",
["mobs:lavamedium"] = "medium lava slim",
["mobs:lavasmall"] = "small lava slim",
["mobs:yeti"] = "yeti",
["mobs:snowball"] = "yeti",
["mobs:npc"] = "npc",
["mobs:npc_female"] = "female npc",
["mobs:oerkki"] = "oerkki",
["mobs:stone_monster"] = "stone monster",
["mobs:dirt_monster"] = "dirt monster",
["mobs:goat"] = "goat",
["mobs:wolf"] = "wolf",
["mobs:tree_monster"] = "tree monster",
["mobs:mese_arrow"] = "mese monster",
["mobs:zombie"] = "zombie",
["mobs:minotaur"] = "minotaur",
["mobs:pumba"] = "warthog",
["mobs_monster:fireball"] = "dungeon master",
["mobs_monster:dungeon_master"] = "dungeon master",
["mobs_monster:spider"] = "spider",
["mobs_monster:sand_monster"] = "sand monster",
["mobs_animal:cow"] = "cow",
["creeper:creeper"] = "creeper",
["pmobs:dog"] = "dog",
["slimes:greenbig"] = "big green slim",
["slimes:greenmedium"] = "medium green slim",
["slimes:greensmall"] = "small green slim",
["slimes:lavabig"] = "big lava slim",
["slimes:lavamedium"] = "medium lava slim",
["slimes:lavasmall"] = "small lava slim",
["pmobs:yeti"] = "yeti",
["pmobs:snowball"] = "yeti",
["pmobs:npc"] = "npc",
["pmobs:npc_female"] = "female npc",
["mobs_monster:oerkki"] = "oerkki",
["mobs_monster:stone_monster"] = "stone monster",
["mobs_monster:dirt_monster"] = "dirt monster",
["mobs_animal:goat"] = "goat",
["pmobs:wolf"] = "wolf",
["mobs_monster:tree_monster"] = "tree monster",
["mobs_monster:mese_arrow"] = "mese monster",
["zombie:zombie"] = "zombie",
["mobs_monster:minotaur"] = "minotaur",
["mobs_animal:pumba"] = "warthog",
["tsm_pyramids:mummy"] = "mummy",
["mobs:shark_lg"] = "large shark",
["mobs:shark_md"] = "medium shark",
["mobs:pumpking"] = "pumpking",
["mobs:pumpboom"] = "pumpboom",
["mobs:mese_dragon"] = "mese_dragon",
["mobs_sharks:shark_lg"] = "large shark",
["mobs_sharks:shark_md"] = "medium shark",
["mobs_sharks:shark_sm"] = "small shark",
-- ["mobs:pumpking"] = "pumpking",
-- ["mobs:pumpboom"] = "pumpboom",
-- ["mobs:mese_dragon"] = "mese_dragon",
}
local function broadcast_death(msg)
@ -166,7 +186,6 @@ local function sound_play_all(dead)
for _, p in ipairs(minetest.get_connected_players()) do
local player_name = p:get_player_name()
if player_name and player_name ~= dead then
-- minetest.sound_play("death_messages_people_1",{to_player=player_name, gain=soundset.get_gain(player_name,"other")})
minetest.sound_play("death_messages_people_1",{to_player=player_name, gain=1})
end
end
@ -184,9 +203,8 @@ minetest.register_on_punchplayer(function(player, hitter, time,
death_message = string.format(messages.monsters_whacking[math.random(1, #messages.monsters_whacking)], player_name, entity_name, player_name, entity_name)
end
broadcast_death(death_message)
-- minetest.sound_play(sounds[math.random(1,#sounds)],{to_player=player:get_player_name(),gain=soundset.get_gain(player:get_player_name(),"other")})
minetest.sound_play(sounds[math.random(1,#sounds)],{to_player=player:get_player_name(),gain=1})
sound_play_all(player:get_player_name())
minetest.sound_play(sounds[math.random(1,#sounds)],{to_player=player_name,gain=1})
sound_play_all(player_name)
whacked[player_name] = true
end
end)
@ -200,10 +218,21 @@ minetest.register_on_respawnplayer(function(player)
whacked[player:get_player_name()] = nil
end)
if RANDOM_MESSAGES == true then
minetest.register_on_dieplayer(function(player)
local function get_message(mtype)
if RANDOM_MESSAGES then
return messages[mtype][math.random(1, #messages[mtype])]
else
return messages[mtype][1] -- 1 is the index for the non-random message
end
end
local function find_node(pos, name)
return minetest.find_node_near(pos, 1, name, true)
end
minetest.register_on_dieplayer(
function(player)
local player_name = player:get_player_name()
local node = minetest.registered_nodes[minetest.get_node(player:getpos()).name]
if minetest.is_singleplayer() then
player_name = "You"
end
@ -213,64 +242,34 @@ if RANDOM_MESSAGES == true then
if not whacked[player_name] then
-- Death by lava
if node.groups.lava ~= nil then
death_message = messages.lava[math.random(1,#messages.lava)]
-- Death by acid
elseif node.groups.acid ~= nil then
death_message = messages.acid[math.random(1,#messages.acid)]
-- Death by drowning
elseif player:get_breath() == 0 and node.groups.water then
death_message = messages.water[math.random(1,#messages.water)]
-- Death by fire
elseif node.name == "fire:basic_flame" then
death_message = messages.fire[math.random(1,#messages.fire)]
-- Death in quicksand
elseif player:get_breath() == 0 and node.name == "default:sand_source" or node.name == "default:sand_flowing" then
death_message = messages.sand[math.random(1,#messages.sand)]
-- Death by something else
if find_node(player:get_pos(), "group:lava") then
death_message = get_message("lava")
-- Death by acid
elseif find_node(player:get_pos(), "group:acid") then
death_message = get_message("acid")
-- Death by drowning
elseif player:get_breath() == 0 and find_node(player:get_pos(), "group:water") then
death_message = get_message("water")
-- Death by fire
elseif find_node(player:get_pos(), "fire:basic_flame") then
death_message = get_message("fire")
-- Death in quicksand
elseif player:get_breath() == 0 and find_node(player:get_pos(), {"nalc:sand_source", "nalc:sand_flowing"}) then
death_message = get_message("sand")
-- Death by something else
else
death_message = messages.other[math.random(1,#messages.other)]
death_message = get_message("other")
end
-- Actually tell something
death_message = string.format(death_message, player_name, player_name)
broadcast_death(death_message)
-- minetest.sound_play(sounds[math.random(1,#sounds)],{to_player=player_name,gain=soundset.get_gain(player_name, "other")})
minetest.sound_play(sounds[math.random(1,#sounds)],{to_player=player_name,gain=1})
minetest.sound_play(sounds[math.random(1,#sounds)], {to_player=player_name,gain=1})
sound_play_all(player_name)
whacked[player_name] = true
end
end)
else
-- Should we keep that part?
minetest.register_on_dieplayer(function(player)
local player_name = player:get_player_name()
local node = minetest.registered_nodes[minetest.get_node(player:getpos()).name]
if minetest.is_singleplayer() then
player_name = "You"
end
if not whacked[player_name] then
-- Death by lava
if node.groups.lava ~= nil then
minetest.chat_send_all(player_name .. " melted into a ball of fire")
-- Death by drowning
elseif player:get_breath() == 0 then
minetest.chat_send_all(player_name .. " ran out of air.")
-- Death by fire
elseif node.name == "fire:basic_flame" then
minetest.chat_send_all(player_name .. " burned to a crisp.")
-- Death by something else
else
minetest.chat_send_all(player_name .. " died.")
end
end
-- minetest.sound_play(sounds[math.random(1,#sounds)],{to_player=player:get_player_name(),gain=soundset.get_gain(player:get_player_name(),"other")})
minetest.sound_play(sounds[math.random(1,#sounds)],{to_player=player:get_player_name(),gain=1})
sound_play_all(player:get_player_name())
end)
end
-----------------------------------------------------------------------------------------------
minetest.log("action", "[Mod] "..title.." ["..version.."] ["..mname.."] Loaded...")
-----------------------------------------------------------------------------------------------

1
mod.conf Normal file
View File

@ -0,0 +1 @@
name = death_messages

BIN
screenshot.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 68 KiB