Update bazooka with entities. Known bugs: entity has a railgun shape, you can kill yourself and gain kills, the model of the bazooka has to be fixed

master
_Zaizen_ 2020-05-11 22:43:59 +02:00
parent a998a5a3aa
commit 4b33a71a4f
7 changed files with 1204 additions and 39 deletions

16
_weapons/bazooka.lua Normal file
View File

@ -0,0 +1,16 @@
quake.register_weapon("quake:bazooka", {
description = "IT'S ONESHOT BABY",
mesh = "bazooka.obj",
tiles = {"quake_bazooka.png"},
wield_scale = {x=1.3, y=1.3, z=1.3},
inventory_image = "railgun.png",
weap_damage = 10, --FF7 in my heart
weap_delay = 0.8,
weap_sound_shooting = "quake_railgun_shoot",
is_hitscan = false,
range = 100,
bullet = "quake:rocket",
knockback = true
})

View File

@ -1,30 +1,111 @@
function quake.register_bullet(name, def)
minetest.register_entity(name, {
physical = def.physical,
textures = def.texture,
collisionbox = def.collisionbox,
timer = 0,
speed = def.speed,
damage = def.damage,
on_step = function(self, dtime)
timer = timer + dtime
pos = self.object.getpos()
local node = minetest.env:get_node(pos);
if timer > 0.10 then
local objs = minetest.env:get_objexts_inside_radius({x=pos.x,y=pos.y,z=pos.z},1)
for k, obj in pairs(objs) do
--check da aggiungere
obj:set_hp(obj:get_hp() - damage)
--Check se la speed non è nulla perchè se lo è a che cazzo serve fare qualcosa
if (def.speed) then
--NON REGISTRA L'ENTITà
--Faccio così perchè è più ordinato e perchè ruben fa così UwU (lo ho anche fatto in tutt'altro modo vedi: bulletOriginal.lua)
local bulletentity = {
--array con le proprietà iniziali dell'entità come si fa sempre
--NB Non tutti i valori sono necessari ed andrà pulito quando funzionerà.
initial_properties = {
name = name,
physical = def.physical,
visual = def.visual,
mesh = def.mesh,
visual_size = def.visual_size,
tiles = def.tiles,
textures = def.textures,
collisionbox = def.collisionbox,
speed = def.speed,
damage = def.damage,
explosion_range = def.explosion_range,
durata = def.durata,
explosion_damage = def.explosion_damage,
lastpos = { },
def = def,
timer = 0,
user = nil,
p_name = nil,
},
}
--funzione che permette di definire cosa succede alla distruzione del proiettile. In pratica prende il metodo impostato
--nella creazione del proiettile e lo usa alla distruzione. Comodo perchè così è astratta anche quella
function bulletentity:_destroy()
--BUNCH OF GARBAGE THAT I DON'T WANT TO EXPLAIN CAUSE IT WORKS AND YOU HAVE TO STFU
if (self.initial_properties.def.on_destroy) then
self.initial_properties.def.on_destroy(self);
end
self.initial_properties.timer = 0
--self.initial_properties.user = nil
--self.initial_properties.p_name = nil
self.object:remove()
end
--per ottenere gli static data. Spiego meglio cosa siano all'on_activate
function bulletentity:on_activate(staticdata)
if staticdata ~= "" and staticdata ~= nil then
self.initial_properties.p_name = staticdata
self.initial_properties.user = minetest.get_player_by_name(staticdata)
end
end
function bulletentity:on_step(dtime)
self.initial_properties.timer = self.initial_properties.timer + dtime
local pos = self.object:getpos()
local node = minetest.env:get_node(pos)
if self.initial_properties.timer > (1/(2*self.initial_properties.speed)) and self.initial_properties.timer < self.initial_properties.durata then
local objs = minetest.env:get_objects_inside_radius({x=pos.x,y=pos.y-1.475,z=pos.z},0.5)
if objs then
for k, obj in ipairs(objs) do
--check da aggiungere
if (obj:get_entity_name() ~= self.object:get_entity_name() and obj:is_player()) then
quake.shoot(self.initial_properties.p_name, obj, self.initial_properties.damage, false)
self:_destroy();
return;
end
end
end
elseif self.initial_properties.timer >= self.initial_properties.durata then
self:_destroy()
return
else
local objs = minetest.env:get_objects_inside_radius({x=pos.x,y=pos.y-1.475,z=pos.z},0.5)
if objs then
for k, obj in ipairs(objs) do
--check da aggiungere
if (obj:get_entity_name() ~= self.object:get_entity_name() and obj:get_player_name() ~= self.initial_properties.p_name and obj:is_player()) then
quake.shoot(self.initial_properties.p_name, obj, self.initial_properties.damage, false)
self:_destroy();
return;
end
end
end
end
if (self.lastpos.x ~= nil) then
if (self.initial_properties.lastpos.x ~= nil) then
if (node.name ~= "air") then
self:_destroy();
return;
end
end
self.lastpos = { x=pos.x, y=pos.y, z=pos.z };
end,
})
self.initial_properties.lastpos = { x=pos.x, y=pos.y, z=pos.z };
end
--end of function on_step
minetest.register_entity(name, bulletentity)
end
end

16
_weapons/rocket.lua Normal file
View File

@ -0,0 +1,16 @@
quake.register_bullet("quake:rocket",{
physical = true,
visual = "mesh",
mesh = "railgun.obj",
visual_size = {x=5, y=5, z=5},
tiles = {"quake_railgun.png"},
textures = "quake_railgun.png",
collisionbox = {2,2,2,2,2,2},
speed = 2,
damage = 10,
explosion_range = 5,
durata = 5,
explosion_damage = 5,
on_destroy = quake.explode
})

View File

@ -1,5 +1,7 @@
local function get_pointed_players(pos, dir, dist, username) end
local function shoot(target) end
function shoot_bullet(user, pointed_thing, bullet_name, pos_head, has_knockback) end
function quake.explode() end
function quake.register_weapon(name, def)
@ -20,10 +22,6 @@ function quake.register_weapon(name, def)
inventory_image = def.inventory_image,
stack_max = 1,
groups = {oddly_breakable_by_hand = "2"},
on_drop = function()
return nil
end,
on_place = function()
return nil
@ -56,7 +54,6 @@ function quake.register_weapon(name, def)
to_player = user:get_player_name(),
max_hear_distance = 5,
})
local dir = user:get_look_dir()
local pos = user:get_pos()
@ -67,18 +64,23 @@ function quake.register_weapon(name, def)
if def.is_hitscan then
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(user:get_player_name(), target_pointed_thing[i].ref, def.weap_damage, has_knockback)
end
end
else
local has_knockback = def.knockback
local bullet_name = def.bullet
--i parametri potrebbero essere inutili ma non ne sono sicuro. Lasciamo così finchè va.
shoot_bullet(user, pointed_thing, bullet_name, pos_head, has_knockback)
--TODO armi con proiettili
end
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
shoot(user:get_player_name(), target_pointed_thing[i], def.weap_damage, has_knockback)
end
end
end,
@ -86,6 +88,77 @@ function quake.register_weapon(name, def)
end
--Metodo che spawna l'entity e la imposta di velocità e simili.
--manca il rinculo ma ho problemi più grandi da risolvere.
function shoot_bullet(user, pointed_thing, bullet_name, pos_head, dir, has_knockback)
local arena = arena_lib.get_arena_by_player(user:get_player_name())
if not arena then return end
local pos = user:getpos()
local dir = user:get_look_dir()
pos.x = pos.x + (dir.x / 2)
pos.y = pos.y + (dir.y / 2)
pos.z = pos.z + (dir.z / 2)
if has_knockback then
local knockback = vector.multiply(dir,14)
user:add_player_velocity(knockback)
end
local pos_ent = {x=pos_head.x, y=pos_head.y, z=pos_head.z }
local username = user:get_player_name()
local bullet = minetest.env:add_entity(
pos_ent,
bullet_name,
username
)
local speed = bullet:get_luaentity().initial_properties.speed
--imposta la velocità all'entità
bullet:setvelocity({
x=(dir.x * speed),
y=(dir.y * speed),
z=(dir.z * speed),
})
bullet:setacceleration({ x=0, y=0, z=0 })
end
--funzione che usa quando esplode il proiettile. Posso piazzarla dove cazzo mi pare come file ma per ora va bene così.
--funziona. E fa danno in base alla distanza.
quake.explode = function(self)
local explosion_range = self.initial_properties.explosion_range
local explosion_damage = self.initial_properties.explosion_damage
local p1 = self.object:getpos()
local objs = minetest.env:get_objects_inside_radius(p1,explosion_range)
if objs then
for _, obj in ipairs(objs) do
--check da aggiungere
if (obj:get_entity_name() ~= self.initial_properties.name and obj:is_player()) then
if (obj:get_player_name() ~= self.initial_properties.p_name) then
local p2 = obj:getpos()
local lenx = math.abs(p2.x - p1.x)
local leny = math.abs(p2.y - p1.y)
local lenz = math.abs(p2.z - p1.z)
local hypot = math.sqrt((lenx * lenx) + (lenz * lenz))
local dist = math.sqrt((hypot * hypot) + (leny * leny))
local damage = explosion_damage - (explosion_damage * dist / explosion_range)
quake.shoot(self.initial_properties.p_name, obj, explosion_damage, false)
else
quake.shoot(self.initial_properties.p_name, obj, (explosion_damage/5), false)
end
end
end
end
end
-- ritorna un array di player con a index 1 il numero di player trovati. Se non
-- trova player diversi da se stessi ritorna nil
@ -144,11 +217,10 @@ function get_pointed_players(head_pos, dir, dist, username)
end
function shoot(p_name, pointed_thing, damage, has_knockback)
function quake.shoot(p_name, pointed_thing, damage, has_knockback)
local pos = minetest.get_pointed_thing_position(pointed_thing)
local target = pointed_thing.ref
local target = pointed_thing
local arena = arena_lib.get_arena_by_player(p_name)
if not arena then return end -- uno potrebbe sparare nel decimo di secondo di sostituzione arma a fine match e far crashare
@ -167,17 +239,17 @@ function shoot(p_name, pointed_thing, damage, has_knockback)
local knockback = vector.multiply(dir,14)
target:add_player_velocity(knockback)
end
local t_name = target:get_player_name()
local remaining_HP = target:get_hp() - damage
-- controllo se è shutdown PRIMA di ucciderlo, sennò si resetta killstreak
if remaining_HP <= 0 and arena.players[t_name].killstreak >= 3 then
quake.add_achievement(p_name, 4)
quake.show_achievement(p_name, 4)
arena_lib.send_message_players_in_arena(arena, "[Quake] " .. minetest.colorize("#eea160", p_name) .. " ha fermato " .. minetest.colorize("#eea160", t_name))
end
-- applico il danno
target:set_hp(remaining_HP)
@ -201,7 +273,7 @@ function shoot(p_name, pointed_thing, damage, has_knockback)
p_stats.kills = p_stats.kills +1
p_stats.killstreak = p_stats.killstreak +1
quake.calc_kill_leader(arena, p_name)
--eventuale first blood
if arena.first_blood == "" then
arena.first_blood = p_name

View File

@ -42,5 +42,8 @@ dofile(minetest.get_modpath("quake") .. "/_weapons/bullet.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")
dofile(minetest.get_modpath("quake") .. "/_weapons/bazooka.lua")
dofile(minetest.get_modpath("quake") .. "/_weapons/bullet.lua")
dofile(minetest.get_modpath("quake") .. "/_weapons/rocket.lua")
quake.init_storage()

977
models/bazooka.obj Normal file
View File

@ -0,0 +1,977 @@
# Made in Blockbench 3.4.2
mtllib rocketlauncher.mtl
o cube
v 0.1875 0.375 0.25
v 0.1875 0.375 -0.375
v 0.1875 0.0625 0.25
v 0.1875 0.0625 -0.375
v -0.125 0.375 -0.375
v -0.125 0.375 0.25
v -0.125 0.0625 -0.375
v -0.125 0.0625 0.25
vt 0.671859375 0.734375
vt 0.671859375 0.6565624999999999
vt 0.82790625 0.734375
vt 0.671859375 0.6565624999999999
vt 0.82790625 0.6565624999999999
vt 0.82790625 0.734375
vt 0.67184375 0.82815625
vt 0.67184375 0.750234375
vt 0.827875 0.82815625
vt 0.67184375 0.750234375
vt 0.827875 0.750234375
vt 0.827875 0.82815625
vt 0.749953125 0.6406562499999999
vt 0.749953125 0.48457812499999997
vt 0.82796875 0.6406562499999999
vt 0.749953125 0.48457812499999997
vt 0.82796875 0.48457812499999997
vt 0.82796875 0.6406562499999999
vt 0.6561875 0.6406562499999999
vt 0.6561875 0.48457812499999997
vt 0.7340625 0.6406562499999999
vt 0.6561875 0.48457812499999997
vt 0.7340625 0.48457812499999997
vt 0.7340625 0.6406562499999999
vt 0.578125 0.82815625
vt 0.578125 0.75028125
vt 0.655984375 0.82815625
vt 0.578125 0.75028125
vt 0.655984375 0.75028125
vt 0.655984375 0.82815625
vt 0.578125 0.734375
vt 0.578125 0.6564062500000001
vt 0.6559375 0.734375
vt 0.578125 0.6564062500000001
vt 0.6559375 0.6564062500000001
vt 0.6559375 0.734375
vn 1 0 0
vn 1 0 0
vn 1 0 0
vn 1 0 0
vn 1 0 0
vn 1 0 0
vn -1 0 0
vn -1 0 0
vn -1 0 0
vn -1 0 0
vn -1 0 0
vn -1 0 0
vn 0 1 0
vn 0 1 0
vn 0 1 0
vn 0 1 0
vn 0 1 0
vn 0 1 0
vn 0 -1 0
vn 0 -1 0
vn 0 -1 0
vn 0 -1 0
vn 0 -1 0
vn 0 -1 0
vn 0 0 1
vn 0 0 1
vn 0 0 1
vn 0 0 1
vn 0 0 1
vn 0 0 1
vn 0 0 -1
vn 0 0 -1
vn 0 0 -1
vn 0 0 -1
vn 0 0 -1
vn 0 0 -1
usemtl particle
f 1/1/1 3/2/2 2/3/3
f 3/4/4 4/5/5 2/6/6
usemtl particle
f 5/7/7 7/8/8 6/9/9
f 7/10/10 8/11/11 6/12/12
usemtl particle
f 5/13/13 6/14/14 2/15/15
f 6/16/16 1/17/17 2/18/18
usemtl particle
f 8/19/19 7/20/20 3/21/21
f 7/22/22 4/23/23 3/24/24
usemtl particle
f 6/25/25 8/26/26 1/27/27
f 8/28/28 3/29/29 1/30/30
usemtl particle
f 2/31/31 4/32/32 5/33/33
f 4/34/34 7/35/35 5/36/36
o cube
v 0.1875 0.375 0.8125
v 0.1875 0.375 0.75
v 0.1875 0.0625 0.8125
v 0.1875 0.0625 0.75
v -0.125 0.375 0.75
v -0.125 0.375 0.8125
v -0.125 0.0625 0.75
v -0.125 0.0625 0.8125
vt 0.937453125 0.421875
vt 0.937453125 0.34410937500000005
vt 0.9530625 0.421875
vt 0.937453125 0.34410937500000005
vt 0.9530625 0.34410937500000005
vt 0.9530625 0.421875
vt 0.968734375 0.421875
vt 0.968734375 0.34401562500000005
vt 0.984359375 0.421875
vt 0.968734375 0.34401562500000005
vt 0.984359375 0.34401562500000005
vt 0.984359375 0.421875
vt 0.843734375 0.421875
vt 0.843734375 0.40626562499999996
vt 0.921703125 0.421875
vt 0.843734375 0.40626562499999996
vt 0.921703125 0.40626562499999996
vt 0.921703125 0.421875
vt 0.843734375 0.359375
vt 0.843734375 0.34376562499999996
vt 0.921609375 0.359375
vt 0.843734375 0.34376562499999996
vt 0.921609375 0.34376562499999996
vt 0.921609375 0.359375
vt 0.843703125 0.421921875
vt 0.843703125 0.34410937500000005
vt 0.921625 0.421921875
vt 0.843703125 0.34410937500000005
vt 0.921625 0.34410937500000005
vt 0.921625 0.421921875
vt 0.843734375 0.421875
vt 0.843734375 0.34390624999999997
vt 0.9215625 0.421875
vt 0.843734375 0.34390624999999997
vt 0.9215625 0.34390624999999997
vt 0.9215625 0.421875
vn 1 0 0
vn 1 0 0
vn 1 0 0
vn 1 0 0
vn 1 0 0
vn 1 0 0
vn -1 0 0
vn -1 0 0
vn -1 0 0
vn -1 0 0
vn -1 0 0
vn -1 0 0
vn 0 1 0
vn 0 1 0
vn 0 1 0
vn 0 1 0
vn 0 1 0
vn 0 1 0
vn 0 -1 0
vn 0 -1 0
vn 0 -1 0
vn 0 -1 0
vn 0 -1 0
vn 0 -1 0
vn 0 0 1
vn 0 0 1
vn 0 0 1
vn 0 0 1
vn 0 0 1
vn 0 0 1
vn 0 0 -1
vn 0 0 -1
vn 0 0 -1
vn 0 0 -1
vn 0 0 -1
vn 0 0 -1
usemtl particle
f 9/37/37 11/38/38 10/39/39
f 11/40/40 12/41/41 10/42/42
usemtl particle
f 13/43/43 15/44/44 14/45/45
f 15/46/46 16/47/47 14/48/48
usemtl particle
f 13/49/49 14/50/50 10/51/51
f 14/52/52 9/53/53 10/54/54
usemtl particle
f 16/55/55 15/56/56 11/57/57
f 15/58/58 12/59/59 11/60/60
usemtl particle
f 14/61/61 16/62/62 9/63/63
f 16/64/64 11/65/65 9/66/66
usemtl particle
f 10/67/67 12/68/68 13/69/69
f 12/70/70 15/71/71 13/72/72
o cube
v 0.1875 0.375 -0.813125
v 0.1875 0.375 -1.0631249999999999
v 0.1875 0.0625 -0.813125
v 0.1875 0.0625 -1.0631249999999999
v -0.125 0.375 -1.0631249999999999
v -0.125 0.375 -0.813125
v -0.125 0.0625 -1.0631249999999999
v -0.125 0.0625 -0.813125
vt 0.01559375 0.921921875
vt 0.01559375 0.8441093749999999
vt 0.077875 0.921921875
vt 0.01559375 0.8441093749999999
vt 0.077875 0.8441093749999999
vt 0.077875 0.921921875
vt 0.156203125 0.921921875
vt 0.156203125 0.844
vt 0.218484375 0.921921875
vt 0.156203125 0.844
vt 0.218484375 0.844
vt 0.218484375 0.921921875
vt 0.078078125 0.98440625
vt 0.078078125 0.922125
vt 0.156 0.98440625
vt 0.078078125 0.922125
vt 0.156 0.922125
vt 0.156 0.98440625
vt 0.078078125 0.843796875
vt 0.078078125 0.7815156249999999
vt 0.155890625 0.843796875
vt 0.078078125 0.7815156249999999
vt 0.155890625 0.7815156249999999
vt 0.155890625 0.843796875
vt 0.078125 0.921875
vt 0.078125 0.8440156249999999
vt 0.155984375 0.921875
vt 0.078125 0.8440156249999999
vt 0.155984375 0.8440156249999999
vt 0.155984375 0.921875
vt 0 1
vt 0 0.922078125
vt 0.0778125 1
vt 0 0.922078125
vt 0.0778125 0.922078125
vt 0.0778125 1
vn 1 0 0
vn 1 0 0
vn 1 0 0
vn 1 0 0
vn 1 0 0
vn 1 0 0
vn -1 0 0
vn -1 0 0
vn -1 0 0
vn -1 0 0
vn -1 0 0
vn -1 0 0
vn 0 1 0
vn 0 1 0
vn 0 1 0
vn 0 1 0
vn 0 1 0
vn 0 1 0
vn 0 -1 0
vn 0 -1 0
vn 0 -1 0
vn 0 -1 0
vn 0 -1 0
vn 0 -1 0
vn 0 0 1
vn 0 0 1
vn 0 0 1
vn 0 0 1
vn 0 0 1
vn 0 0 1
vn 0 0 -1
vn 0 0 -1
vn 0 0 -1
vn 0 0 -1
vn 0 0 -1
vn 0 0 -1
usemtl particle
f 17/73/73 19/74/74 18/75/75
f 19/76/76 20/77/77 18/78/78
usemtl particle
f 21/79/79 23/80/80 22/81/81
f 23/82/82 24/83/83 22/84/84
usemtl particle
f 21/85/85 22/86/86 18/87/87
f 22/88/88 17/89/89 18/90/90
usemtl particle
f 24/91/91 23/92/92 19/93/93
f 23/94/94 20/95/95 19/96/96
usemtl particle
f 22/97/97 24/98/98 17/99/99
f 24/100/100 19/101/101 17/102/102
usemtl particle
f 18/103/103 20/104/104 21/105/105
f 20/106/106 23/107/107 21/108/108
o cube
v 0.15625 0.34375 0.75
v 0.15625 0.34375 -0.8125
v 0.15625 0.09375 0.75
v 0.15625 0.09375 -0.8125
v -0.09375 0.34375 -0.8125
v -0.09375 0.34375 0.75
v -0.09375 0.09375 -0.8125
v -0.09375 0.09375 0.75
vt 0.593734375 0.906265625
vt 0.593734375 0.8440156249999999
vt 0.984203125 0.906265625
vt 0.593734375 0.8440156249999999
vt 0.984203125 0.8440156249999999
vt 0.984203125 0.906265625
vt 0.593671875 0.984453125
vt 0.593671875 0.9221874999999999
vt 0.984046875 0.984453125
vt 0.593671875 0.9221874999999999
vt 0.984046875 0.9221874999999999
vt 0.984046875 0.984453125
vt 0.843703125 0.828140625
vt 0.843703125 0.43771875000000005
vt 0.90603125 0.828140625
vt 0.843703125 0.43771875000000005
vt 0.90603125 0.43771875000000005
vt 0.90603125 0.828140625
vt 0.921828125 0.828140625
vt 0.921828125 0.43771875000000005
vt 0.98415625 0.828140625
vt 0.921828125 0.43771875000000005
vt 0.98415625 0.43771875000000005
vt 0.98415625 0.828140625
vt 0.296875 0.921890625
vt 0.296875 0.8595937499999999
vt 0.31234375 0.921890625
vt 0.296875 0.8595937499999999
vt 0.31234375 0.8595937499999999
vt 0.31234375 0.921890625
vt 0.093734375 0.906265625
vt 0.093734375 0.85953125
vt 0.140375 0.906265625
vt 0.093734375 0.85953125
vt 0.140375 0.85953125
vt 0.140375 0.906265625
vn 1 0 0
vn 1 0 0
vn 1 0 0
vn 1 0 0
vn 1 0 0
vn 1 0 0
vn -1 0 0
vn -1 0 0
vn -1 0 0
vn -1 0 0
vn -1 0 0
vn -1 0 0
vn 0 1 0
vn 0 1 0
vn 0 1 0
vn 0 1 0
vn 0 1 0
vn 0 1 0
vn 0 -1 0
vn 0 -1 0
vn 0 -1 0
vn 0 -1 0
vn 0 -1 0
vn 0 -1 0
vn 0 0 1
vn 0 0 1
vn 0 0 1
vn 0 0 1
vn 0 0 1
vn 0 0 1
vn 0 0 -1
vn 0 0 -1
vn 0 0 -1
vn 0 0 -1
vn 0 0 -1
vn 0 0 -1
usemtl particle
f 25/109/109 27/110/110 26/111/111
f 27/112/112 28/113/113 26/114/114
usemtl particle
f 29/115/115 31/116/116 30/117/117
f 31/118/118 32/119/119 30/120/120
usemtl particle
f 29/121/121 30/122/122 26/123/123
f 30/124/124 25/125/125 26/126/126
usemtl particle
f 32/127/127 31/128/128 27/129/129
f 31/130/130 28/131/131 27/132/132
usemtl none
f 30/133/133 32/134/134 25/135/135
f 32/136/136 27/137/137 25/138/138
usemtl particle
f 26/139/139 28/140/140 29/141/141
f 28/142/142 31/143/143 29/144/144
o cube
v 0.09375 0.0625 0.1875
v 0.09375 0.0625 -0.3125
v 0.09375 -0.0625 0.1875
v 0.09375 -0.0625 -0.3125
v -0.03125 0.0625 -0.3125
v -0.03125 0.0625 0.1875
v -0.03125 -0.0625 -0.3125
v -0.03125 -0.0625 0.1875
vt 0.7030625 0.46876562499999996
vt 0.7030625 0.437828125
vt 0.827875 0.46876562499999996
vt 0.7030625 0.437828125
vt 0.827875 0.437828125
vt 0.827875 0.46876562499999996
vt 0.671859375 0.6406562499999999
vt 0.671859375 0.56278125
vt 0.718484375 0.6406562499999999
vt 0.671859375 0.56278125
vt 0.718484375 0.56278125
vt 0.718484375 0.6406562499999999
vt 0.609375 0.703125
vt 0.609375 0.39073437499999997
vt 0.6405625 0.703125
vt 0.609375 0.39073437499999997
vt 0.6405625 0.39073437499999997
vt 0.6405625 0.703125
vt 0.671859375 0.6094062499999999
vt 0.671859375 0.5314375
vt 0.71853125 0.6094062499999999
vt 0.671859375 0.5314375
vt 0.71853125 0.5314375
vt 0.71853125 0.6094062499999999
vt 0.671859375 0.5937656250000001
vt 0.671859375 0.5315
vt 0.687296875 0.5937656250000001
vt 0.671859375 0.5315
vt 0.687296875 0.5315
vt 0.687296875 0.5937656250000001
vt 0.671859375 0.625
vt 0.671859375 0.5626875
vt 0.687234375 0.625
vt 0.671859375 0.5626875
vt 0.687234375 0.5626875
vt 0.687234375 0.625
vn 1 0 0
vn 1 0 0
vn 1 0 0
vn 1 0 0
vn 1 0 0
vn 1 0 0
vn -1 0 0
vn -1 0 0
vn -1 0 0
vn -1 0 0
vn -1 0 0
vn -1 0 0
vn 0 1 0
vn 0 1 0
vn 0 1 0
vn 0 1 0
vn 0 1 0
vn 0 1 0
vn 0 -1 0
vn 0 -1 0
vn 0 -1 0
vn 0 -1 0
vn 0 -1 0
vn 0 -1 0
vn 0 0 1
vn 0 0 1
vn 0 0 1
vn 0 0 1
vn 0 0 1
vn 0 0 1
vn 0 0 -1
vn 0 0 -1
vn 0 0 -1
vn 0 0 -1
vn 0 0 -1
vn 0 0 -1
usemtl particle
f 33/145/145 35/146/146 34/147/147
f 35/148/148 36/149/149 34/150/150
usemtl particle
f 37/151/151 39/152/152 38/153/153
f 39/154/154 40/155/155 38/156/156
usemtl none
f 37/157/157 38/158/158 34/159/159
f 38/160/160 33/161/161 34/162/162
usemtl particle
f 40/163/163 39/164/164 35/165/165
f 39/166/166 36/167/167 35/168/168
usemtl particle
f 38/169/169 40/170/170 33/171/171
f 40/172/172 35/173/173 33/174/174
usemtl particle
f 34/175/175 36/176/176 37/177/177
f 36/178/178 39/179/179 37/180/180
o cube
v 0.0625 0.09375 -0.3125
v 0.0625 0.09375 -0.75
v 0.0625 0.03125 -0.3125
v 0.0625 0.03125 -0.75
v 0 0.09375 -0.75
v 0 0.09375 -0.3125
v 0 0.03125 -0.75
v 0 0.03125 -0.3125
vt 0.656234375 0.6406562499999999
vt 0.656234375 0.484671875
vt 0.73415625 0.6406562499999999
vt 0.656234375 0.484671875
vt 0.73415625 0.484671875
vt 0.73415625 0.6406562499999999
vt 0.656234375 0.6406562499999999
vt 0.656234375 0.484625
vt 0.73415625 0.6406562499999999
vt 0.656234375 0.484625
vt 0.73415625 0.484625
vt 0.73415625 0.6406562499999999
vt 0.609375 0.703125
vt 0.609375 0.39073437499999997
vt 0.6405625 0.703125
vt 0.609375 0.39073437499999997
vt 0.6405625 0.39073437499999997
vt 0.6405625 0.703125
vt 0.656234375 0.6406562499999999
vt 0.656234375 0.484625
vt 0.73415625 0.6406562499999999
vt 0.656234375 0.484625
vt 0.73415625 0.484625
vt 0.73415625 0.6406562499999999
vt 0.296875 0.921890625
vt 0.296875 0.8595937499999999
vt 0.31234375 0.921890625
vt 0.296875 0.8595937499999999
vt 0.31234375 0.8595937499999999
vt 0.31234375 0.921890625
vt 0.656234375 0.6406562499999999
vt 0.656234375 0.484671875
vt 0.7340625 0.6406562499999999
vt 0.656234375 0.484671875
vt 0.7340625 0.484671875
vt 0.7340625 0.6406562499999999
vn 1 0 0
vn 1 0 0
vn 1 0 0
vn 1 0 0
vn 1 0 0
vn 1 0 0
vn -1 0 0
vn -1 0 0
vn -1 0 0
vn -1 0 0
vn -1 0 0
vn -1 0 0
vn 0 1 0
vn 0 1 0
vn 0 1 0
vn 0 1 0
vn 0 1 0
vn 0 1 0
vn 0 -1 0
vn 0 -1 0
vn 0 -1 0
vn 0 -1 0
vn 0 -1 0
vn 0 -1 0
vn 0 0 1
vn 0 0 1
vn 0 0 1
vn 0 0 1
vn 0 0 1
vn 0 0 1
vn 0 0 -1
vn 0 0 -1
vn 0 0 -1
vn 0 0 -1
vn 0 0 -1
vn 0 0 -1
usemtl particle
f 41/181/181 43/182/182 42/183/183
f 43/184/184 44/185/185 42/186/186
usemtl particle
f 45/187/187 47/188/188 46/189/189
f 47/190/190 48/191/191 46/192/192
usemtl none
f 45/193/193 46/194/194 42/195/195
f 46/196/196 41/197/197 42/198/198
usemtl particle
f 48/199/199 47/200/200 43/201/201
f 47/202/202 44/203/203 43/204/204
usemtl none
f 46/205/205 48/206/206 41/207/207
f 48/208/208 43/209/209 41/210/210
usemtl particle
f 42/211/211 44/212/212 45/213/213
f 44/214/214 47/215/215 45/216/216
o cube
v 0.09375 0.09375 -0.5
v 0.09375 0.09375 -0.6875
v 0.09375 -0.03125 -0.5
v 0.09375 -0.03125 -0.6875
v -0.03125 0.09375 -0.6875
v -0.03125 0.09375 -0.5
v -0.03125 -0.03125 -0.6875
v -0.03125 -0.03125 -0.5
vt 0.687453125 0.625
vt 0.687453125 0.562734375
vt 0.734125 0.625
vt 0.687453125 0.562734375
vt 0.734125 0.562734375
vt 0.734125 0.625
vt 0.65621875 0.6406562499999999
vt 0.65621875 0.5471406249999999
vt 0.718484375 0.6406562499999999
vt 0.65621875 0.5471406249999999
vt 0.718484375 0.5471406249999999
vt 0.718484375 0.6406562499999999
vt 0.609375 0.703125
vt 0.609375 0.39073437499999997
vt 0.6405625 0.703125
vt 0.609375 0.39073437499999997
vt 0.6405625 0.39073437499999997
vt 0.6405625 0.703125
vt 0.671859375 0.625
vt 0.671859375 0.5314375
vt 0.71853125 0.625
vt 0.671859375 0.5314375
vt 0.71853125 0.5314375
vt 0.71853125 0.625
vt 0.65621875 0.5937656250000001
vt 0.65621875 0.5315
vt 0.671640625 0.5937656250000001
vt 0.65621875 0.5315
vt 0.671640625 0.5315
vt 0.671640625 0.5937656250000001
vt 0.671859375 0.6406562499999999
vt 0.671859375 0.5783281250000001
vt 0.687234375 0.6406562499999999
vt 0.671859375 0.5783281250000001
vt 0.687234375 0.5783281250000001
vt 0.687234375 0.6406562499999999
vn 1 0 0
vn 1 0 0
vn 1 0 0
vn 1 0 0
vn 1 0 0
vn 1 0 0
vn -1 0 0
vn -1 0 0
vn -1 0 0
vn -1 0 0
vn -1 0 0
vn -1 0 0
vn 0 1 0
vn 0 1 0
vn 0 1 0
vn 0 1 0
vn 0 1 0
vn 0 1 0
vn 0 -1 0
vn 0 -1 0
vn 0 -1 0
vn 0 -1 0
vn 0 -1 0
vn 0 -1 0
vn 0 0 1
vn 0 0 1
vn 0 0 1
vn 0 0 1
vn 0 0 1
vn 0 0 1
vn 0 0 -1
vn 0 0 -1
vn 0 0 -1
vn 0 0 -1
vn 0 0 -1
vn 0 0 -1
usemtl particle
f 49/217/217 51/218/218 50/219/219
f 51/220/220 52/221/221 50/222/222
usemtl particle
f 53/223/223 55/224/224 54/225/225
f 55/226/226 56/227/227 54/228/228
usemtl none
f 53/229/229 54/230/230 50/231/231
f 54/232/232 49/233/233 50/234/234
usemtl particle
f 56/235/235 55/236/236 51/237/237
f 55/238/238 52/239/239 51/240/240
usemtl particle
f 54/241/241 56/242/242 49/243/243
f 56/244/244 51/245/245 49/246/246
usemtl particle
f 50/247/247 52/248/248 53/249/249
f 52/250/250 55/251/251 53/252/252
o cube
v 0.0625 -0.03125 -0.53125
v 0.0625 -0.03125 -0.65625
v 0.0625 -0.34375 -0.53125
v 0.0625 -0.34375 -0.65625
v 0 -0.03125 -0.65625
v 0 -0.03125 -0.53125
v 0 -0.34375 -0.65625
v 0 -0.34375 -0.53125
vt 0.578125 0.6406562499999999
vt 0.578125 0.56278125
vt 0.609203125 0.6406562499999999
vt 0.578125 0.56278125
vt 0.609203125 0.56278125
vt 0.609203125 0.6406562499999999
vt 0.60934375 0.562546875
vt 0.60934375 0.48471875
vt 0.64028125 0.562546875
vt 0.60934375 0.48471875
vt 0.64028125 0.48471875
vt 0.64028125 0.562546875
vt 0.609375 0.703125
vt 0.609375 0.39073437499999997
vt 0.6405625 0.703125
vt 0.609375 0.39073437499999997
vt 0.6405625 0.39073437499999997
vt 0.6405625 0.703125
vt 0.60934375 0.6406562499999999
vt 0.60934375 0.5940156249999999
vt 0.640328125 0.6406562499999999
vt 0.60934375 0.5940156249999999
vt 0.640328125 0.5940156249999999
vt 0.640328125 0.6406562499999999
vt 0.60934375 0.6406562499999999
vt 0.60934375 0.5783906249999999
vt 0.624765625 0.6406562499999999
vt 0.60934375 0.5783906249999999
vt 0.624765625 0.5783906249999999
vt 0.624765625 0.6406562499999999
vt 0.593734375 0.6406562499999999
vt 0.593734375 0.562734375
vt 0.60934375 0.6406562499999999
vt 0.593734375 0.562734375
vt 0.60934375 0.562734375
vt 0.60934375 0.6406562499999999
vn 1 0 0
vn 1 0 0
vn 1 0 0
vn 1 0 0
vn 1 0 0
vn 1 0 0
vn -1 0 0
vn -1 0 0
vn -1 0 0
vn -1 0 0
vn -1 0 0
vn -1 0 0
vn 0 1 0
vn 0 1 0
vn 0 1 0
vn 0 1 0
vn 0 1 0
vn 0 1 0
vn 0 -1 0
vn 0 -1 0
vn 0 -1 0
vn 0 -1 0
vn 0 -1 0
vn 0 -1 0
vn 0 0 1
vn 0 0 1
vn 0 0 1
vn 0 0 1
vn 0 0 1
vn 0 0 1
vn 0 0 -1
vn 0 0 -1
vn 0 0 -1
vn 0 0 -1
vn 0 0 -1
vn 0 0 -1
usemtl particle
f 57/253/253 59/254/254 58/255/255
f 59/256/256 60/257/257 58/258/258
usemtl particle
f 61/259/259 63/260/260 62/261/261
f 63/262/262 64/263/263 62/264/264
usemtl none
f 61/265/265 62/266/266 58/267/267
f 62/268/268 57/269/269 58/270/270
usemtl particle
f 64/271/271 63/272/272 59/273/273
f 63/274/274 60/275/275 59/276/276
usemtl particle
f 62/277/277 64/278/278 57/279/279
f 64/280/280 59/281/281 57/282/282
usemtl particle
f 58/283/283 60/284/284 61/285/285
f 60/286/286 63/287/287 61/288/288
o cube
v 0.0625 -0.014664831027665928 -0.10326507721173442
v 0.0625 -0.06250026007330214 -0.21875001877564526
v 0.0625 -0.30337718493744303 0.016323495402356114
v 0.0625 -0.35121261398307924 -0.09916144616155476
v 0 -0.06250026007330214 -0.21875001877564526
v 0 -0.014664831027665928 -0.10326507721173442
v 0 -0.35121261398307924 -0.09916144616155476
v 0 -0.30337718493744303 0.016323495402356114
vt 0.578015625 0.6407031249999999
vt 0.578015625 0.56296875
vt 0.60890625 0.6407031249999999
vt 0.578015625 0.56296875
vt 0.60890625 0.56296875
vt 0.60890625 0.6407031249999999
vt 0.60934375 0.562546875
vt 0.60934375 0.484625
vt 0.640375 0.562546875
vt 0.60934375 0.484625
vt 0.640375 0.484625
vt 0.640375 0.562546875
vt 0.609375 0.703125
vt 0.609375 0.39073437499999997
vt 0.6405625 0.703125
vt 0.609375 0.39073437499999997
vt 0.6405625 0.39073437499999997
vt 0.6405625 0.703125
vt 0.60934375 0.6406562499999999
vt 0.60934375 0.5626875
vt 0.640375 0.6406562499999999
vt 0.60934375 0.5626875
vt 0.640375 0.5626875
vt 0.640375 0.6406562499999999
vt 0.609375 0.6406562499999999
vt 0.609375 0.56278125
vt 0.62496875 0.6406562499999999
vt 0.609375 0.56278125
vt 0.62496875 0.56278125
vt 0.62496875 0.6406562499999999
vt 0.593734375 0.6406562499999999
vt 0.593734375 0.562734375
vt 0.60934375 0.6406562499999999
vt 0.593734375 0.562734375
vt 0.60934375 0.562734375
vt 0.60934375 0.6406562499999999
vn 1 0 0
vn 1 0 0
vn 1 0 0
vn 1 0 0
vn 1 0 0
vn 1 0 0
vn -1 0 0
vn -1 0 0
vn -1 0 0
vn -1 0 0
vn -1 0 0
vn -1 0 0
vn 0 0.9238795325112867 -0.3826834323650897
vn 0 0.9238795325112867 -0.3826834323650897
vn 0 0.9238795325112867 -0.3826834323650897
vn 0 0.9238795325112867 -0.3826834323650897
vn 0 0.9238795325112867 -0.3826834323650897
vn 0 0.9238795325112867 -0.3826834323650897
vn 0 -0.9238795325112867 0.3826834323650897
vn 0 -0.9238795325112867 0.3826834323650897
vn 0 -0.9238795325112867 0.3826834323650897
vn 0 -0.9238795325112867 0.3826834323650897
vn 0 -0.9238795325112867 0.3826834323650897
vn 0 -0.9238795325112867 0.3826834323650897
vn 0 0.3826834323650897 0.9238795325112867
vn 0 0.3826834323650897 0.9238795325112867
vn 0 0.3826834323650897 0.9238795325112867
vn 0 0.3826834323650897 0.9238795325112867
vn 0 0.3826834323650897 0.9238795325112867
vn 0 0.3826834323650897 0.9238795325112867
vn 0 -0.3826834323650897 -0.9238795325112867
vn 0 -0.3826834323650897 -0.9238795325112867
vn 0 -0.3826834323650897 -0.9238795325112867
vn 0 -0.3826834323650897 -0.9238795325112867
vn 0 -0.3826834323650897 -0.9238795325112867
vn 0 -0.3826834323650897 -0.9238795325112867
usemtl particle
f 65/289/289 67/290/290 66/291/291
f 67/292/292 68/293/293 66/294/294
usemtl particle
f 69/295/295 71/296/296 70/297/297
f 71/298/298 72/299/299 70/300/300
usemtl particle
f 69/301/301 70/302/302 66/303/303
f 70/304/304 65/305/305 66/306/306
usemtl particle
f 72/307/307 71/308/308 67/309/309
f 71/310/310 68/311/311 67/312/312
usemtl particle
f 70/313/313 72/314/314 65/315/315
f 72/316/316 67/317/317 65/318/318
usemtl particle
f 66/319/319 68/320/320 69/321/321
f 68/322/322 71/323/323 69/324/324
o cube
v 0.03187499999999999 -0.0625 -0.125
v 0.03187499999999999 -0.0625 -0.3125
v 0.03187499999999999 -0.1875 -0.125
v 0.03187499999999999 -0.1875 -0.3125
v 0.03125 -0.0625 -0.3125
v 0.03125 -0.0625 -0.125
v 0.03125 -0.1875 -0.3125
v 0.03125 -0.1875 -0.125
vt 0 1
vt 0 1
vt 0 1
vt 0 1
vt 0 1
vt 0 1
vt 0.6561875 0.45315625000000004
vt 0.6561875 0.422265625
vt 0.702734375 0.45315625000000004
vt 0.6561875 0.422265625
vt 0.702734375 0.422265625
vt 0.702734375 0.45315625000000004
vt 0 1
vt 0 1
vt 0 1
vt 0 1
vt 0 1
vt 0 1
vt 0 1
vt 0 1
vt 0 1
vt 0 1
vt 0 1
vt 0 1
vt 0 1
vt 0 1
vt 0 1
vt 0 1
vt 0 1
vt 0 1
vt 0 1
vt 0 1
vt 0 1
vt 0 1
vt 0 1
vt 0 1
vn 1 0 0
vn 1 0 0
vn 1 0 0
vn 1 0 0
vn 1 0 0
vn 1 0 0
vn -1 0 0
vn -1 0 0
vn -1 0 0
vn -1 0 0
vn -1 0 0
vn -1 0 0
vn 0 1 0
vn 0 1 0
vn 0 1 0
vn 0 1 0
vn 0 1 0
vn 0 1 0
vn 0 -1 0
vn 0 -1 0
vn 0 -1 0
vn 0 -1 0
vn 0 -1 0
vn 0 -1 0
vn 0 0 1
vn 0 0 1
vn 0 0 1
vn 0 0 1
vn 0 0 1
vn 0 0 1
vn 0 0 -1
vn 0 0 -1
vn 0 0 -1
vn 0 0 -1
vn 0 0 -1
vn 0 0 -1
usemtl particle
f 77/331/331 79/332/332 78/333/333
f 79/334/334 80/335/335 78/336/336

BIN
textures/quake_bazooka.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB