Granate aggiunte!

master
_Zaizen_ 2020-08-14 17:04:29 +02:00
parent d1b1f3b7e4
commit ad6e3cc351
4 changed files with 21 additions and 14 deletions

View File

@ -46,7 +46,7 @@ arena_lib.on_start("quake", function(arena)
local weapon = ItemStack("quake:railgun")
local weapon2 = ItemStack("quake:rocket_launcher")
local grenade = ItemStack("quake:grenade")
local grenade = ItemStack("quake:grenade 3")
for pl_name, stats in pairs(arena.players) do
@ -79,7 +79,7 @@ arena_lib.on_join("quake", function(p_name, arena)
local player = minetest.get_player_by_name(p_name)
local weapon = ItemStack("quake:railgun")
local weapon2 = ItemStack("quake:rocket_launcher")
local grenade = ItemStack("quake:grenade")
local grenade = ItemStack("quake:grenade 3")
quake.HUD_stats_create(p_name)
quake.HUD_broadcast_create(p_name)
@ -95,8 +95,6 @@ arena_lib.on_join("quake", function(p_name, arena)
player:get_inventory():add_item("main", weapon)
player:get_inventory():add_item("main", weapon2)
player:get_inventory():set_stack("main", 1, "grenade " .. 5)
player:get_inventory():add_item("main", grenade)
player:set_physics_override({
@ -135,6 +133,7 @@ arena_lib.on_celebration("quake", function(arena, winner_name)
for pl_name, stats in pairs(arena.players) do
local inv = minetest.get_player_by_name(pl_name):get_inventory()
inv:remove_item("main", ItemStack("quake:railgun"))
inv:remove_item("main", ItemStack("quake:rocket_launcher"))
inv:remove_item("main", ItemStack("quake:grenade"))
@ -235,3 +234,11 @@ arena_lib.on_quit("quake", function(arena, p_name)
})
end
end)
minetest.register_on_respawnplayer(function(player)
player:get_inventory():remove_item("main", ItemStack("quake:grenade 99"))
local grenade = ItemStack("quake:grenade 3")
player:get_inventory():add_item("main", grenade)
end)

View File

@ -7,7 +7,7 @@ quake.register_bullet("quake:rocket",{
textures = {"quake_bullet_rocket.png"},
explosion_texture = "quake_rocket_particle.png",
collisionbox = {-0.1, -0.1, -0.1, 0.1, 0.1, 0.1}, -- {xmin, ymin, zmin, xmax, ymax, zmax}
speed = 5, --30
speed = 30,
damage = 14,
jump = 0,
explosion_range = 4,

View File

@ -22,7 +22,8 @@ function quake.register_grenade(name, def)
itemstack:take_item()
end
]]
return itemstack
itemstack:take_item()
return
end,
on_secondary_use = function(itemstack, user, pointed_thing)
-- lancia la granata
@ -34,7 +35,8 @@ function quake.register_grenade(name, def)
itemstack:take_item()
end
]]
return itemstack
itemstack:take_item()
return
end,
})
@ -183,9 +185,9 @@ function grenade_set_entity(name, def)
local acceleration = vector.multiply(velocity, -drag)
acceleration.x = acceleration.x * (self.sliding * 5 * 2 + 1) -- Modifica la x in base a se sta scivolando o meno
acceleration.x = acceleration.x * (self.sliding * 10 * 2 + 1) -- Modifica la x in base a se sta scivolando o meno
acceleration.y = acceleration.y - 10 * ((7 - drag) / 7) -- Perdita in altezza del proiettile in base all' attrito
acceleration.z = acceleration.z * (self.sliding * 5 * 2 + 1) -- Modifica la Z in base a se sta scivolando o meno
acceleration.z = acceleration.z * (self.sliding * 10 * 2 + 1) -- Modifica la Z in base a se sta scivolando o meno
-- Controlla che l'accelerazione sia un numero
if tostring(acceleration) ~= 'nan' then

View File

@ -113,7 +113,7 @@ function get_pointed_players(head_pos, dir, dist, username)
--distrugge sia il proiettile con cui collide che se stesso
entity.old_p_name = entity.p_name
entity.p_name = username
entity:_destroy()
end
end
@ -238,12 +238,10 @@ function kill(arena, p_name, target)
if t_name ~= p_name then
--[[
local grenade = ItemStack("quake:grenade")
local player = minetest.get_player_by_name(p_name)
add_item("main", grenade)
player:get_inventory():set_stack("main", 1, "arena_lib:players_min " .. arena.min_players)
]]
player:get_inventory():add_item("main", grenade)
-- informo dell'uccisione
quake.HUD_broadcast_player(p_name, S("YOU'VE KILLED @1", t_name), 2.5)