update doppia kill per bazooka e proiettile direzionato correttamente

master
_Zaizen_ 2020-05-22 18:06:12 +02:00
commit 95ae1e528b
4 changed files with 15 additions and 8 deletions

View File

@ -2,6 +2,13 @@
--Metodo che spawna l'entity e la imposta di velocità e simili.
--manca il rinculo ma ho problemi più grandi da risolvere.
local shooted_players = 0
local stored_targets = 0
local counter = 0
local boolean = true
function quake.shoot_bullet(user, pointed_thing, bullet_name, pos_head, dir)
local username = user:get_player_name()
@ -98,19 +105,20 @@ function quake.shoot(number_of_players, p_name, pointed_thing, damage, has_knock
shooted_players = 0
counter = 0
end
shooted_players = shooted_players + 1
if shooted_players > 1 then
-- perchè al momento arriviamo a 5 achievement e quelli dopo sono il sesto che sarà doppia ed il settimo che è tripla.
--sarà da risolvere in qualche modo migliore in futuro più astratto ma al momento credo vada bene
if shooted_players == 2 then
quake.add_achievement(p_name, 6)
quake.show_achievement(p_name, 6)
arena_lib.send_message_players_in_arena(arena, "[Quake] " .. minetest.colorize("#eea160", p_name) .. " ha fatto una "..numeri[1].." kill")
elseif shooted_players == 3 then
elseif shooted_players >= 3 then
quake.add_achievement(p_name, 7)
quake.show_achievement(p_name, 7)
arena_lib.send_message_players_in_arena(arena, "[Quake] " .. minetest.colorize("#eea160", p_name) .. " ha fatto una "..numeri[2].." kill")
end
arena_lib.send_message_players_in_arena(arena, "[Quake] " .. minetest.colorize("#eea160", p_name) .. " ha ucciso " .. shooted_players " .. giocatori in un colpo!")
end
-- aggiungo la kill

View File

@ -61,10 +61,9 @@ function quake.register_weapon(name, def)
local target_pointed_thing = get_pointed_players(pos_head, dir, range, username)
if not target_pointed_thing then return end
local i = 0
for i = 2,(target_pointed_thing[1])+1 do
if target_pointed_thing[i] then
quake.shoot(target_pointed_thing[1], user:get_player_name(), target_pointed_thing[i].ref, def.weap_damage, has_knockback)
quake.shoot(user:get_player_name(), target_pointed_thing[i].ref, def.weap_damage, has_knockback, target_pointed_thing[1])
end
end
else

View File

@ -38,7 +38,7 @@ dofile(minetest.get_modpath("quake") .. "/_arena_lib/arena_properties.lua")
dofile(minetest.get_modpath("quake") .. "/_HUD/hud_achievements.lua")
dofile(minetest.get_modpath("quake") .. "/_HUD/hud_ingame_stats.lua")
dofile(minetest.get_modpath("quake") .. "/_HUD/scoreboard.lua")
dofile(minetest.get_modpath("quake") .. "/_weapons/bullet.lua")
dofile(minetest.get_modpath("quake") .. "/_weapons/bullets.lua")
dofile(minetest.get_modpath("quake") .. "/_weapons/weapons.lua")
dofile(minetest.get_modpath("quake") .. "/_weapons/railgun.lua")
dofile(minetest.get_modpath("quake") .. "/_weapons/shotgun.lua")