master
Lars Mueller 2020-04-11 00:17:14 +02:00
commit 81ec6e48b9
23 changed files with 2722 additions and 0 deletions

39
Readme.md Normal file
View File

@ -0,0 +1,39 @@
# Advanced Weapons
Adds a variety of advanced weapons.
## About
Depends on `modlib` and `tnt`.
Written by LMD aka appguru(eu). Licensed under the GPLv3.
## Features
* Explosives
* Landmines
* Place them on full height blocks
* Walking on them triggers explosion
* Can be (un)buried by digging node below them
* Buried landmines are harder to spot & can't be easily picked up
* Special
* ~~Whips~~ temporarily cancelled as unfinished
* High range, average damage
* Causes bleeding & stunning (by chance)
* Right-click to "capture" player
* Drops their wielded item
* Player can't attack while captured
* Can be dragged around
* Unleashed as soon as RMB is released
* Futuristic Grappling Hook
* Throw to hook it somewhere
* Creates Force Beam
* Right-click ascent aid to (de)attach
* Go forwards/backwards on the beam
* Turrets
* Gatlin Gun
* High reload rate, low damage & range
* Turns slowly, so you can try dodging
* Only attacks owners opponents
* Destroying/digging the base destroys the turret
* Many more!
* Soon

5
init.lua Normal file
View File

@ -0,0 +1,5 @@
adv_weapons = {}
modlib.mod.extend("adv_weapons", "main")
modlib.mod.extend("adv_weapons", "mine")
modlib.mod.extend("adv_weapons", "special")
modlib.mod.extend("adv_weapons", "turret")

44
main.lua Normal file
View File

@ -0,0 +1,44 @@
adv_weapons.is_opponent = function(a, b) return a == b end
players = {}
last_use = {}
minetest.register_on_joinplayer(function(player)
players[player:get_player_name()] = {}
last_use[player:get_player_name()] = minetest.get_us_time()
end)
minetest.register_globalstep(function()
for _, player in pairs(minetest.get_connected_players()) do
local controls = player:get_player_control_bits()
local rmb = controls >= math.pow(2, 8)
if rmb then
local wielded = minetest.registered_items[player:get_wielded_item():get_name()]
if wielded then
local action = wielded.on_place or wielded.on_secondary_use or wielded.on_rightclick
if not action then
local lmb = controls >= math.pow(2, 7)
if lmb then
action = wielded.on_punch or wielded.on_use
end
end
if action then
last_use[player:get_player_name()] = minetest.get_us_time()
end
end
end
end
end)
minetest.register_on_leaveplayer(function(player)
players[player:get_player_name()] = nil
last_use[player:get_player_name()] = nil
end)
function get_rotation(direction)
return {x = math.atan2(direction.y, math.sqrt(direction.z*direction.z+direction.x*direction.x)), y = -math.atan2(direction.x, direction.z), z = 0}
end
function get_rotation_smooth(direction)
return {x = math.pi + math.atan2(direction.y, math.sqrt(direction.z*direction.z+direction.x*direction.x)), y = math.pi-math.atan2(direction.x, direction.z), z = 0}
end

View File

@ -0,0 +1,301 @@
# Blender v2.82 (sub 7) OBJ File: ''
# www.blender.org
o mesh_turret_gatlin_gun
v 0.095460 0.030142 0.001832
v 0.095460 -0.032358 0.001832
v 0.157960 -0.032358 0.001832
v 0.157960 0.030142 0.001832
v 0.095460 -0.032358 0.814332
v 0.095460 0.030142 0.814332
v 0.157960 -0.032358 0.814332
v 0.157960 0.030142 0.814332
v 0.032960 -0.032358 0.001832
v 0.032960 -0.094858 0.001832
v 0.095460 -0.094858 0.001832
v 0.032960 -0.094858 0.814332
v 0.032960 -0.032358 0.814332
v 0.095460 -0.094858 0.814332
v 0.032960 0.092642 0.001832
v 0.032960 0.030142 0.001832
v 0.095460 0.092642 0.001832
v 0.032960 0.030142 0.814332
v 0.032960 0.092642 0.814332
v 0.095460 0.092642 0.814332
v -0.029540 0.030142 0.001832
v -0.029540 -0.032358 0.001832
v -0.029540 -0.032358 0.814332
v -0.029540 0.030142 0.814332
v -0.092040 -0.032358 0.001832
v -0.092040 -0.094858 0.001832
v -0.029540 -0.094858 0.001832
v -0.092040 -0.094858 0.814332
v -0.092040 -0.032358 0.814332
v -0.029540 -0.094858 0.814332
v -0.092040 0.092642 0.001832
v -0.092040 0.030142 0.001832
v -0.029540 0.092642 0.001832
v -0.092040 0.030142 0.814332
v -0.092040 0.092642 0.814332
v -0.029540 0.092642 0.814332
v -0.154540 0.030142 0.001832
v -0.154540 -0.032358 0.001832
v -0.154540 -0.032358 0.814332
v -0.154540 0.030142 0.814332
vt 0.200000 0.500000
vt 0.240000 0.538462
vt 0.200000 0.538462
vt 0.040000 0.500000
vt 0.000000 1.000000
vt 0.000000 0.500000
vt 0.480000 0.500000
vt 0.520000 0.000000
vt 0.520000 0.500000
vt 0.200000 0.000000
vt 0.160000 0.500000
vt 0.160000 0.000000
vt 0.400000 0.538462
vt 0.360000 0.500000
vt 0.400000 0.500000
vt 0.640000 0.000000
vt 0.680000 0.500000
vt 0.640000 0.500000
vt 0.080000 0.500000
vt 0.040000 1.000000
vt 0.040000 0.500000
vt 0.160000 0.538462
vt 0.200000 0.500000
vt 0.200000 0.538462
vt 0.200000 0.576923
vt 0.160000 0.538462
vt 0.200000 0.538462
vt 0.280000 0.500000
vt 0.320000 0.538462
vt 0.280000 0.538462
vt 0.280000 0.500000
vt 0.320000 0.000000
vt 0.320000 0.500000
vt 0.440000 0.500000
vt 0.480000 0.000000
vt 0.480000 0.500000
vt 0.160000 0.500000
vt 0.120000 0.538462
vt 0.120000 0.500000
vt 0.200000 0.538462
vt 0.240000 0.576923
vt 0.200000 0.576923
vt 0.800000 0.000000
vt 0.840000 0.500000
vt 0.800000 0.500000
vt 0.720000 0.000000
vt 0.760000 0.500000
vt 0.720000 0.500000
vt 0.520000 0.500000
vt 0.560000 0.538462
vt 0.520000 0.538462
vt 1.000000 0.000000
vt 0.960000 0.500000
vt 0.960000 0.000000
vt 0.080000 0.000000
vt 0.040000 0.500000
vt 0.040000 0.000000
vt 0.440000 0.538462
vt 0.480000 0.500000
vt 0.480000 0.538462
vt 0.600000 0.500000
vt 0.560000 0.000000
vt 0.600000 0.000000
vt 0.120000 0.500000
vt 0.160000 0.000000
vt 0.160000 0.500000
vt 0.000000 0.500000
vt 0.040000 0.000000
vt 0.040000 0.500000
vt 0.240000 0.500000
vt 0.280000 0.000000
vt 0.280000 0.500000
vt 0.200000 0.500000
vt 0.240000 0.000000
vt 0.240000 0.500000
vt 0.160000 0.576923
vt 0.120000 0.538462
vt 0.160000 0.538462
vt 0.960000 0.000000
vt 0.920000 0.500000
vt 0.920000 0.000000
vt 0.400000 0.500000
vt 0.440000 0.000000
vt 0.440000 0.500000
vt 0.240000 0.500000
vt 0.280000 0.538462
vt 0.240000 0.538462
vt 0.120000 0.500000
vt 0.080000 1.000000
vt 0.080000 0.500000
vt 0.600000 0.000000
vt 0.640000 0.500000
vt 0.600000 0.500000
vt 0.920000 0.000000
vt 0.880000 0.500000
vt 0.880000 0.000000
vt 0.680000 0.000000
vt 0.720000 0.500000
vt 0.680000 0.500000
vt 0.360000 0.500000
vt 0.400000 0.000000
vt 0.400000 0.500000
vt 0.320000 0.500000
vt 0.360000 0.000000
vt 0.360000 0.500000
vt 0.520000 0.538462
vt 0.480000 0.500000
vt 0.520000 0.500000
vt 0.400000 0.538462
vt 0.440000 0.500000
vt 0.440000 0.538462
vt 0.080000 0.500000
vt 0.120000 0.000000
vt 0.120000 0.500000
vt 0.560000 0.000000
vt 0.520000 0.500000
vt 0.520000 0.000000
vt 0.840000 0.500000
vt 0.880000 0.000000
vt 0.880000 0.500000
vt 0.360000 0.538462
vt 0.320000 0.500000
vt 0.360000 0.500000
vt 0.760000 0.000000
vt 0.800000 0.500000
vt 0.760000 0.500000
vt 0.240000 0.500000
vt 0.040000 1.000000
vt 0.480000 0.000000
vt 0.200000 0.500000
vt 0.360000 0.538462
vt 0.680000 0.000000
vt 0.080000 1.000000
vt 0.160000 0.500000
vt 0.160000 0.576923
vt 0.320000 0.500000
vt 0.280000 0.000000
vt 0.440000 0.000000
vt 0.160000 0.538462
vt 0.240000 0.538462
vt 0.840000 0.000000
vt 0.760000 0.000000
vt 0.560000 0.500000
vt 1.000000 0.500000
vt 0.080000 0.500000
vt 0.440000 0.500000
vt 0.560000 0.500000
vt 0.120000 0.000000
vt 0.000000 0.000000
vt 0.240000 0.000000
vt 0.200000 0.000000
vt 0.120000 0.576923
vt 0.960000 0.500000
vt 0.400000 0.000000
vt 0.280000 0.500000
vt 0.120000 1.000000
vt 0.640000 0.000000
vt 0.920000 0.500000
vt 0.720000 0.000000
vt 0.360000 0.000000
vt 0.320000 0.000000
vt 0.480000 0.538462
vt 0.080000 0.000000
vt 0.560000 0.500000
vt 0.840000 0.000000
vt 0.320000 0.538462
vt 0.800000 0.000000
vn 0.0000 0.0000 -1.0000
vn -1.0000 -0.0000 0.0000
vn 0.0000 -1.0000 -0.0000
vn 1.0000 -0.0000 0.0000
vn 0.0000 0.0000 1.0000
vn 0.0000 1.0000 0.0000
s 1
f 1/1/1 3/2/1 2/3/1
f 16/4/2 13/5/2 9/6/2
f 9/7/3 23/8/3 22/9/3
f 24/10/4 22/11/4 23/12/4
f 8/13/5 5/14/5 7/15/5
f 35/16/6 33/17/6 31/18/6
f 17/19/2 6/20/2 1/21/2
f 9/22/1 11/23/1 10/24/1
f 5/25/5 12/26/5 14/27/5
f 15/28/1 1/29/1 16/30/1
f 3/31/3 5/32/3 2/33/3
f 11/34/3 12/35/3 10/36/3
f 20/37/5 18/38/5 6/39/5
f 21/40/1 9/41/1 22/42/1
f 6/43/6 4/44/6 1/45/6
f 24/46/6 16/47/6 21/48/6
f 18/49/5 23/50/5 13/51/5
f 4/52/2 7/53/2 3/54/2
f 35/55/4 32/56/4 34/57/4
f 25/58/1 27/59/1 26/60/1
f 13/61/6 2/62/6 9/63/6
f 2/64/4 6/65/4 1/66/4
f 16/67/4 19/68/4 15/69/4
f 26/70/4 29/71/4 25/72/4
f 10/73/4 13/74/4 9/75/4
f 23/76/5 28/77/5 30/78/5
f 22/79/2 30/80/2 27/81/2
f 1/82/3 18/83/3 16/84/3
f 31/85/1 21/86/1 32/87/1
f 33/88/2 24/89/2 21/90/2
f 29/91/6 22/92/6 25/93/6
f 2/94/2 14/95/2 11/96/2
f 19/97/6 17/98/6 15/99/6
f 21/100/3 34/101/3 32/102/3
f 27/103/3 28/104/3 26/105/3
f 36/106/5 34/107/5 24/108/5
f 37/109/1 25/110/1 38/111/1
f 38/112/4 40/113/4 37/114/4
f 39/115/3 25/116/3 29/117/3
f 32/118/2 29/119/2 25/120/2
f 34/121/5 39/122/5 29/123/5
f 40/124/6 32/125/6 37/126/6
f 1/1/1 4/127/1 3/2/1
f 16/4/2 18/128/2 13/5/2
f 9/7/3 13/129/3 23/8/3
f 24/10/4 21/130/4 22/11/4
f 8/13/5 6/131/5 5/14/5
f 35/16/6 36/132/6 33/17/6
f 17/19/2 20/133/2 6/20/2
f 9/22/1 2/134/1 11/23/1
f 5/25/5 13/135/5 12/26/5
f 15/28/1 17/136/1 1/29/1
f 3/31/3 7/137/3 5/32/3
f 11/34/3 14/138/3 12/35/3
f 20/37/5 19/139/5 18/38/5
f 21/40/1 16/140/1 9/41/1
f 6/43/6 8/141/6 4/44/6
f 24/46/6 18/142/6 16/47/6
f 18/49/5 24/143/5 23/50/5
f 4/52/2 8/144/2 7/53/2
f 35/55/4 31/145/4 32/56/4
f 25/58/1 22/146/1 27/59/1
f 13/61/6 5/147/6 2/62/6
f 2/64/4 5/148/4 6/65/4
f 16/67/4 18/149/4 19/68/4
f 26/70/4 28/150/4 29/71/4
f 10/73/4 12/151/4 13/74/4
f 23/76/5 29/152/5 28/77/5
f 22/79/2 23/153/2 30/80/2
f 1/82/3 6/154/3 18/83/3
f 31/85/1 33/155/1 21/86/1
f 33/88/2 36/156/2 24/89/2
f 29/91/6 23/157/6 22/92/6
f 2/94/2 5/158/2 14/95/2
f 19/97/6 20/159/6 17/98/6
f 21/100/3 24/160/3 34/101/3
f 27/103/3 30/161/3 28/104/3
f 36/106/5 35/162/5 34/107/5
f 37/109/1 32/102/1 25/110/1
f 38/112/4 39/163/4 40/113/4
f 39/115/3 38/164/3 25/116/3
f 32/118/2 34/165/2 29/119/2
f 34/121/5 40/166/5 39/122/5
f 40/124/6 34/167/6 32/125/6

View File

@ -0,0 +1,826 @@
# Blender v2.82 (sub 7) OBJ File: 'grappling.blend'
# www.blender.org
o mesh_grappling
v 0.312500 -0.312500 -0.062500
v 0.312500 -0.312500 -0.000000
v 0.312500 -0.250000 -0.000000
v 0.312500 -0.250000 -0.062500
v 0.375000 -0.312500 -0.062500
v 0.375000 -0.250000 -0.062500
v 0.312500 -0.250000 0.062500
v 0.375000 -0.250000 0.062500
v 0.312500 -0.312500 0.062500
v 0.375000 -0.312500 0.062500
v 0.250000 -0.375000 -0.062500
v 0.250000 -0.312500 -0.000000
v 0.250000 -0.312500 -0.062500
v 0.312500 -0.375000 -0.062500
v 0.250000 -0.250000 -0.000000
v 0.250000 -0.250000 0.062500
v 0.250000 -0.187500 0.062500
v 0.250000 -0.187500 -0.000000
v 0.312500 -0.187500 -0.000000
v 0.250000 -0.375000 0.062500
v 0.250000 -0.312500 0.062500
v 0.312500 -0.375000 0.062500
v 0.250000 -0.187500 0.125000
v 0.312500 -0.187500 0.125000
v 0.312500 -0.312500 0.125000
v 0.187500 -0.312500 -0.000000
v 0.187500 -0.250000 0.062500
v 0.187500 -0.250000 -0.000000
v 0.187500 -0.125000 0.062500
v 0.250000 -0.125000 0.062500
v 0.187500 -0.125000 0.125000
v 0.250000 -0.125000 0.125000
v 0.187500 -0.250000 0.125000
v 0.187500 -0.312500 0.125000
v 0.125000 -0.062500 0.062500
v 0.187500 -0.062500 0.062500
v 0.125000 -0.062500 0.125000
v 0.187500 -0.062500 0.125000
v 0.125000 -0.187500 0.062500
v 0.125000 -0.187500 0.125000
v 0.125000 -0.250000 0.062500
v 0.125000 -0.250000 0.125000
v 0.062500 -0.062500 0.062500
v 0.062500 -0.000000 0.062500
v 0.125000 -0.000000 0.062500
v 0.062500 -0.000000 0.125000
v 0.125000 -0.000000 0.125000
v 0.062500 -0.062500 0.125000
v 0.062500 -0.125000 0.062500
v 0.062500 -0.125000 0.125000
v 0.062500 -0.187500 0.062500
v 0.062500 -0.187500 0.125000
v 0.062500 0.062500 -0.500000
v 0.062500 -0.062500 -0.500000
v 0.062500 0.312500 -0.062500
v 0.062500 0.375000 -0.062500
v 0.062500 0.312500 0.000000
v 0.062500 0.375000 0.062500
v 0.062500 0.312500 0.062500
v 0.062500 0.250000 0.000000
v 0.062500 0.250000 0.062500
v 0.062500 0.062500 0.062500
v 0.062500 0.312500 0.125000
v 0.062500 0.062500 0.125000
v 0.062500 0.062500 0.187500
v 0.062500 -0.062500 0.187500
v -0.062500 0.062500 -0.500000
v -0.062500 -0.062500 -0.500000
v -0.062500 0.312500 -0.062500
v -0.062500 0.312500 0.000000
v -0.062500 0.375000 -0.062500
v -0.062500 0.312500 0.062500
v -0.062500 0.375000 0.062500
v -0.062500 0.250000 0.000000
v -0.062500 0.250000 0.062500
v -0.062500 -0.000000 0.062500
v -0.062500 0.062500 0.062500
v -0.062500 -0.062500 0.062500
v -0.062500 0.312500 0.125000
v -0.062500 0.062500 0.125000
v -0.062500 -0.000000 0.125000
v -0.062500 -0.125000 0.062500
v -0.062500 -0.062500 0.125000
v -0.062500 -0.125000 0.125000
v -0.062500 0.062500 0.187500
v -0.062500 -0.062500 0.187500
v -0.125000 -0.062500 0.062500
v -0.125000 -0.062500 0.125000
v -0.125000 -0.000000 0.125000
v -0.125000 -0.000000 0.062500
v -0.062500 -0.187500 0.062500
v -0.125000 -0.187500 0.062500
v -0.125000 -0.187500 0.125000
v -0.062500 -0.187500 0.125000
v -0.187500 -0.125000 0.062500
v -0.187500 -0.125000 0.125000
v -0.187500 -0.062500 0.125000
v -0.187500 -0.062500 0.062500
v -0.125000 -0.250000 0.062500
v -0.187500 -0.250000 0.062500
v -0.187500 -0.250000 0.125000
v -0.125000 -0.250000 0.125000
v -0.187500 -0.312500 -0.000000
v -0.250000 -0.312500 -0.000000
v -0.250000 -0.250000 -0.000000
v -0.187500 -0.250000 -0.000000
v -0.250000 -0.250000 0.062500
v -0.250000 -0.312500 0.062500
v -0.250000 -0.187500 0.062500
v -0.250000 -0.187500 0.125000
v -0.250000 -0.125000 0.125000
v -0.250000 -0.125000 0.062500
v -0.187500 -0.312500 0.125000
v -0.312500 -0.375000 -0.062500
v -0.312500 -0.312500 -0.000000
v -0.312500 -0.312500 -0.062500
v -0.250000 -0.375000 -0.062500
v -0.250000 -0.312500 -0.062500
v -0.312500 -0.250000 -0.000000
v -0.312500 -0.250000 0.062500
v -0.312500 -0.187500 -0.000000
v -0.250000 -0.187500 -0.000000
v -0.312500 -0.375000 0.062500
v -0.312500 -0.312500 0.062500
v -0.250000 -0.375000 0.062500
v -0.312500 -0.187500 0.125000
v -0.312500 -0.312500 0.125000
v -0.375000 -0.312500 -0.062500
v -0.375000 -0.250000 -0.062500
v -0.312500 -0.250000 -0.062500
v -0.375000 -0.312500 0.062500
v -0.375000 -0.250000 0.062500
vt 0.811688 0.906926
vt 0.854978 0.950216
vt 0.811688 0.950216
vt 0.807359 0.859307
vt 0.764069 0.902597
vt 0.764069 0.859307
vt 0.525974 0.718615
vt 0.569264 0.718615
vt 0.569264 0.761905
vt 0.668831 0.902597
vt 0.712121 0.859307
vt 0.712121 0.902597
vt 0.997835 0.002165
vt 0.954545 0.045455
vt 0.954545 0.002165
vt 0.049784 0.954545
vt 0.093074 0.997835
vt 0.049784 0.997835
vt 0.575758 0.528138
vt 0.662338 0.614719
vt 0.575758 0.614718
vt 0.954545 0.049784
vt 0.997835 0.093074
vt 0.954545 0.093074
vt 0.521645 0.805195
vt 0.478355 0.761905
vt 0.521645 0.718615
vt 0.906926 0.764069
vt 0.950216 0.807359
vt 0.906926 0.807359
vt 0.002165 0.997835
vt 0.045455 0.954545
vt 0.045455 0.997835
vt 0.859307 0.859307
vt 0.902597 0.902597
vt 0.859307 0.902597
vt 0.573593 0.906926
vt 0.616883 0.950216
vt 0.573593 0.950216
vt 0.287879 0.766234
vt 0.331169 0.852814
vt 0.287879 0.852814
vt 0.811688 0.859307
vt 0.854978 0.902597
vt 0.811688 0.902597
vt 0.906926 0.573593
vt 0.950216 0.616883
vt 0.906926 0.616883
vt 0.906926 0.525974
vt 0.950216 0.569264
vt 0.906926 0.569264
vt 0.950216 0.664502
vt 0.906926 0.621212
vt 0.950216 0.621212
vt 0.480520 0.709957
vt 0.480520 0.666667
vt 0.523810 0.666667
vt 0.906926 0.759740
vt 0.950216 0.716450
vt 0.950216 0.759740
vt 0.906926 0.290043
vt 0.950216 0.290043
vt 0.950216 0.333333
vt 0.383117 0.906926
vt 0.426407 0.950216
vt 0.383117 0.950216
vt 0.525974 0.906926
vt 0.569264 0.950216
vt 0.525974 0.950216
vt 0.712121 0.906926
vt 0.668831 0.950216
vt 0.668831 0.906926
vt 0.621212 0.718615
vt 0.664502 0.718615
vt 0.664502 0.761905
vt 0.906926 0.194805
vt 0.950216 0.281385
vt 0.906926 0.281385
vt 0.430736 0.900433
vt 0.474026 0.813853
vt 0.474026 0.900433
vt 0.902597 0.757576
vt 0.859307 0.714286
vt 0.902597 0.670996
vt 0.859307 0.766234
vt 0.902597 0.766234
vt 0.902597 0.809524
vt 0.662338 0.666667
vt 0.619048 0.709957
vt 0.619048 0.666667
vt 0.902597 0.662338
vt 0.859307 0.662338
vt 0.859307 0.619048
vt 0.099567 0.932900
vt 0.186147 0.543290
vt 0.186147 0.932900
vt 0.331169 0.948052
vt 0.287879 0.948052
vt 0.287879 0.904762
vt 0.859307 0.480519
vt 0.902597 0.480519
vt 0.902597 0.523809
vt 0.426407 0.900433
vt 0.383117 0.813853
vt 0.426407 0.813853
vt 0.564935 0.067100
vt 0.564935 0.110390
vt 0.435065 0.110390
vt 0.192641 0.900433
vt 0.235931 0.813853
vt 0.235931 0.900433
vt 0.761905 0.796537
vt 0.718615 0.839827
vt 0.675325 0.796537
vt 0.385281 0.805195
vt 0.471861 0.718615
vt 0.471862 0.805195
vt 0.428571 0.666667
vt 0.471861 0.623377
vt 0.471861 0.709957
vt 0.335498 0.766234
vt 0.378788 0.852814
vt 0.335498 0.852814
vt 0.281385 0.805195
vt 0.194805 0.718615
vt 0.281385 0.718615
vt 0.664502 0.900433
vt 0.621212 0.813853
vt 0.664502 0.813853
vt 0.283550 0.900433
vt 0.240260 0.813853
vt 0.283550 0.813853
vt 0.523810 0.614718
vt 0.480520 0.571428
vt 0.523810 0.571428
vt 0.569264 0.900433
vt 0.525974 0.813853
vt 0.569264 0.813853
vt 0.621212 0.906926
vt 0.664502 0.950216
vt 0.621212 0.950216
vt 0.764069 0.906926
vt 0.807359 0.950216
vt 0.764069 0.950216
vt 0.764069 0.064935
vt 0.807359 0.108225
vt 0.720779 0.108225
vt 0.101732 0.067100
vt 0.101732 0.110390
vt 0.058442 0.110390
vt 0.759740 0.950216
vt 0.716450 0.906926
vt 0.759740 0.906926
vt 0.906926 0.668831
vt 0.950216 0.712121
vt 0.906926 0.712121
vt 0.478355 0.906926
vt 0.521645 0.950216
vt 0.478355 0.950216
vt 0.950216 0.950216
vt 0.906926 0.906926
vt 0.950216 0.906926
vt 0.004329 0.543290
vt 0.090909 0.932900
vt 0.004329 0.932900
vt 0.906926 0.478355
vt 0.950216 0.521645
vt 0.906926 0.521645
vt 0.240260 0.906926
vt 0.283550 0.950216
vt 0.240260 0.950216
vt 0.906926 0.902597
vt 0.950216 0.859307
vt 0.950216 0.902597
vt 0.521645 0.900433
vt 0.478355 0.813853
vt 0.521645 0.813853
vt 0.430736 0.906926
vt 0.474026 0.950216
vt 0.430736 0.950216
vt 0.140693 0.997835
vt 0.097403 0.954545
vt 0.140693 0.954545
vt 0.573593 0.900433
vt 0.616883 0.813853
vt 0.616883 0.900433
vt 0.385281 0.614719
vt 0.385281 0.571428
vt 0.428571 0.571428
vt 0.188312 0.954545
vt 0.145022 0.997835
vt 0.145022 0.954545
vt 0.950216 0.811688
vt 0.906926 0.854978
vt 0.906926 0.811688
vt 0.290043 0.660173
vt 0.376623 0.530303
vt 0.376623 0.660173
vt 0.194805 0.532467
vt 0.281385 0.705628
vt 0.194805 0.705628
vt 0.906926 0.099567
vt 0.950216 0.186147
vt 0.906926 0.186147
vt 0.997836 0.097403
vt 0.954545 0.140693
vt 0.954545 0.097403
vt 0.192641 0.954545
vt 0.235931 0.997835
vt 0.192641 0.997835
vt 0.333333 0.714286
vt 0.290043 0.670996
vt 0.376623 0.670996
vt 0.906926 0.385281
vt 0.950216 0.385281
vt 0.950216 0.428571
vt 0.759740 0.859307
vt 0.716450 0.902597
vt 0.716450 0.859307
vt 0.573593 0.718615
vt 0.616883 0.805195
vt 0.573593 0.805195
vt 0.335498 0.861472
vt 0.378788 0.861472
vt 0.378788 0.904762
vt 0.859307 0.950216
vt 0.902597 0.906926
vt 0.902597 0.950216
vt 0.235931 0.950216
vt 0.192641 0.906926
vt 0.235931 0.906926
vt 0.906926 0.004329
vt 0.950216 0.047619
vt 0.906926 0.090909
vt 0.854978 0.906926
vt 0.807359 0.902597
vt 0.569264 0.805195
vt 0.525974 0.805195
vt 0.668831 0.859307
vt 0.997835 0.045455
vt 0.093074 0.954545
vt 0.662338 0.528138
vt 0.997835 0.049784
vt 0.478355 0.805195
vt 0.478355 0.718615
vt 0.950216 0.764069
vt 0.002165 0.954545
vt 0.902597 0.859307
vt 0.616883 0.906926
vt 0.331169 0.766234
vt 0.854978 0.859307
vt 0.950216 0.573593
vt 0.950216 0.525974
vt 0.906926 0.664502
vt 0.523810 0.623377
vt 0.567100 0.623377
vt 0.567100 0.709957
vt 0.906926 0.716450
vt 0.950216 0.376623
vt 0.906926 0.376623
vt 0.426407 0.906926
vt 0.569264 0.906926
vt 0.712121 0.950216
vt 0.664502 0.805195
vt 0.621212 0.805195
vt 0.950216 0.194805
vt 0.430736 0.813853
vt 0.859307 0.757576
vt 0.859307 0.670996
vt 0.902597 0.852814
vt 0.859307 0.852814
vt 0.575758 0.623376
vt 0.619048 0.623376
vt 0.662338 0.623376
vt 0.662338 0.709957
vt 0.575758 0.666667
vt 0.859307 0.575758
vt 0.902597 0.575758
vt 0.099567 0.543290
vt 0.287879 0.861472
vt 0.331169 0.861472
vt 0.902597 0.567100
vt 0.859307 0.567100
vt 0.383117 0.900433
vt 0.391775 0.153680
vt 0.391775 0.196970
vt 0.348485 0.196970
vt 0.348485 0.110390
vt 0.391775 0.110390
vt 0.391775 0.067100
vt 0.564935 0.023810
vt 0.608225 0.067100
vt 0.651515 0.023810
vt 0.651515 0.067100
vt 0.608225 0.110390
vt 0.651515 0.110390
vt 0.651515 0.500000
vt 0.564935 0.500000
vt 0.435065 0.153680
vt 0.192641 0.813853
vt 0.675325 0.493506
vt 0.718615 0.493506
vt 0.675325 0.536797
vt 0.761905 0.493506
vt 0.761905 0.536797
vt 0.805195 0.536797
vt 0.805195 0.580087
vt 0.718615 0.580087
vt 0.675325 0.580087
vt 0.848485 0.580087
vt 0.848485 0.623377
vt 0.761905 0.623377
vt 0.718615 0.623377
vt 0.805195 0.623377
vt 0.805195 0.709957
vt 0.848485 0.709957
vt 0.848485 0.753247
vt 0.805195 0.753247
vt 0.718615 0.753247
vt 0.718615 0.709957
vt 0.761905 0.709957
vt 0.805195 0.796537
vt 0.675325 0.753247
vt 0.761905 0.839827
vt 0.675325 0.839827
vt 0.385281 0.718615
vt 0.428571 0.623377
vt 0.385281 0.709957
vt 0.385281 0.666667
vt 0.378788 0.766234
vt 0.194805 0.805195
vt 0.621212 0.900433
vt 0.240260 0.900433
vt 0.480520 0.614718
vt 0.480520 0.528138
vt 0.523810 0.528138
vt 0.567100 0.571428
vt 0.567100 0.614718
vt 0.525974 0.900433
vt 0.664502 0.906926
vt 0.807359 0.906926
vt 0.677489 0.454545
vt 0.677489 0.367965
vt 0.720779 0.367965
vt 0.720779 0.324675
vt 0.764069 0.324675
vt 0.764069 0.281385
vt 0.807359 0.281385
vt 0.807359 0.194805
vt 0.764069 0.194805
vt 0.764069 0.151515
vt 0.764069 0.411255
vt 0.807359 0.367965
vt 0.764069 0.454545
vt 0.807359 0.411255
vt 0.850649 0.324675
vt 0.850649 0.367965
vt 0.893939 0.281385
vt 0.893939 0.324675
vt 0.850649 0.281385
vt 0.893939 0.151515
vt 0.893939 0.194805
vt 0.850649 0.194805
vt 0.850649 0.151515
vt 0.720779 0.151515
vt 0.850649 0.108225
vt 0.677489 0.108225
vt 0.677489 0.021645
vt 0.807359 0.064935
vt 0.764069 0.021645
vt 0.058442 0.067100
vt 0.015152 0.067100
vt 0.015152 0.023810
vt 0.101732 0.023810
vt 0.274892 0.067100
vt 0.231602 0.110390
vt 0.274892 0.110390
vt 0.318182 0.110390
vt 0.274892 0.153680
vt 0.318182 0.196970
vt 0.274892 0.196970
vt 0.231602 0.153680
vt 0.101732 0.500000
vt 0.015152 0.500000
vt 0.015152 0.110390
vt 0.716450 0.950216
vt 0.950216 0.668831
vt 0.521645 0.906926
vt 0.906926 0.950216
vt 0.090909 0.543290
vt 0.950216 0.478355
vt 0.283550 0.906926
vt 0.906926 0.859307
vt 0.478355 0.900433
vt 0.474026 0.906926
vt 0.097403 0.997835
vt 0.573593 0.813853
vt 0.428571 0.528138
vt 0.471861 0.528138
vt 0.471861 0.614718
vt 0.188312 0.997835
vt 0.950216 0.854978
vt 0.290043 0.530303
vt 0.281385 0.532467
vt 0.950216 0.099567
vt 0.997836 0.140693
vt 0.235931 0.954545
vt 0.290043 0.714286
vt 0.376623 0.757576
vt 0.333333 0.757576
vt 0.950216 0.471861
vt 0.906926 0.471861
vt 0.759740 0.902597
vt 0.616883 0.718615
vt 0.378788 0.948052
vt 0.335498 0.948052
vt 0.859307 0.906926
vt 0.192641 0.950216
vt 0.950216 0.004329
vt 0.950216 0.090909
vn 1.0000 -0.0000 -0.0000
vn 0.0000 0.0000 -1.0000
vn 0.0000 -0.0000 1.0000
vn 0.0000 1.0000 0.0000
vn -1.0000 0.0000 0.0000
vn 0.0000 -1.0000 -0.0000
s 1
f 2/1/1 4/2/1 1/3/1
f 1/4/2 6/5/2 5/6/2
f 123/7/1 124/8/1 115/9/1
f 9/10/3 8/11/3 7/12/3
f 11/13/2 1/14/2 14/15/2
f 12/16/4 1/17/4 13/18/4
f 86/19/3 65/20/3 85/21/3
f 16/22/1 18/23/1 15/24/1
f 19/25/4 17/26/4 24/27/4
f 20/28/3 9/29/3 21/30/3
f 27/31/4 15/32/4 28/33/4
f 31/34/4 30/35/4 29/36/4
f 17/37/5 32/38/5 23/39/5
f 5/40/5 8/41/5 10/42/5
f 37/43/4 36/44/4 35/45/4
f 29/46/5 38/47/5 31/48/5
f 42/49/1 39/50/1 41/51/1
f 33/52/6 41/53/6 27/54/6
f 26/55/6 12/56/6 21/57/6
f 46/58/4 45/59/4 44/60/4
f 34/61/1 33/62/1 27/63/1
f 35/64/5 47/65/5 37/66/5
f 52/67/1 49/68/1 51/69/1
f 40/70/6 51/71/6 39/72/6
f 14/73/5 1/74/5 2/75/5
f 84/76/6 49/77/6 50/78/6
f 85/79/4 64/80/4 80/81/4
f 6/82/4 3/83/4 8/84/4
f 20/85/1 21/86/1 12/87/1
f 119/88/2 122/89/2 105/90/2
f 126/91/4 110/92/4 109/93/4
f 67/94/4 62/95/4 53/96/4
f 10/97/6 9/98/6 2/99/6
f 117/100/5 118/101/5 104/102/5
f 75/103/6 60/104/6 61/105/6
f 64/106/5 62/107/5 61/108/5
f 79/109/4 59/110/4 72/111/4
f 29/112/2 17/113/2 27/114/2
f 53/115/2 68/116/2 67/117/2
f 7/118/5 19/119/5 24/120/5
f 86/121/6 48/122/6 66/123/6
f 73/124/4 56/125/4 71/126/4
f 22/127/6 11/128/6 14/129/6
f 70/130/6 55/131/6 57/132/6
f 3/133/2 12/134/2 15/135/2
f 69/136/2 56/137/2 55/138/2
f 88/139/1 90/140/1 87/141/1
f 89/142/4 76/143/4 90/144/4
f 23/145/3 31/146/3 33/147/3
f 80/148/1 77/149/1 76/150/1
f 94/151/6 92/152/6 91/153/6
f 91/154/5 84/155/5 94/156/5
f 96/157/1 98/158/1 95/159/1
f 97/160/4 87/161/4 98/162/4
f 43/163/6 68/164/6 54/165/6
f 102/166/6 100/167/6 99/168/6
f 99/169/5 93/170/5 102/171/5
f 107/172/4 106/173/4 105/174/4
f 74/175/2 57/176/2 60/177/2
f 110/178/1 112/179/1 109/180/1
f 111/181/4 95/182/4 112/183/4
f 72/184/3 58/185/3 73/186/3
f 127/187/6 124/188/6 108/189/6
f 114/190/2 118/191/2 117/192/2
f 115/193/4 118/194/4 116/195/4
f 61/196/2 77/197/2 75/198/2
f 80/199/3 63/200/3 79/201/3
f 125/202/6 114/203/6 117/204/6
f 105/205/5 109/206/5 107/207/5
f 123/208/3 108/209/3 124/210/3
f 120/211/1 127/212/1 126/213/1
f 103/214/5 106/215/5 100/216/5
f 128/217/2 130/218/2 116/219/2
f 131/220/1 129/221/1 128/222/1
f 132/223/4 120/224/4 119/225/4
f 116/226/5 119/227/5 115/228/5
f 131/229/3 120/230/3 132/231/3
f 128/232/6 115/233/6 131/234/6
f 2/1/1 3/235/1 4/2/1
f 1/4/2 4/236/2 6/5/2
f 116/237/1 114/238/1 115/9/1
f 114/238/1 123/7/1 115/9/1
f 9/10/3 10/239/3 8/11/3
f 11/13/2 13/240/2 1/14/2
f 12/16/4 2/241/4 1/17/4
f 86/19/3 66/242/3 65/20/3
f 16/22/1 17/243/1 18/23/1
f 18/244/4 17/26/4 19/25/4
f 17/26/4 23/245/4 24/27/4
f 20/28/3 22/246/3 9/29/3
f 27/31/4 16/247/4 15/32/4
f 31/34/4 32/248/4 30/35/4
f 17/37/5 30/249/5 32/38/5
f 5/40/5 6/250/5 8/41/5
f 37/43/4 38/251/4 36/44/4
f 29/46/5 36/252/5 38/47/5
f 42/49/1 40/253/1 39/50/1
f 33/52/6 42/254/6 41/53/6
f 9/255/6 25/256/6 21/57/6
f 25/256/6 34/257/6 21/57/6
f 34/257/6 26/55/6 21/57/6
f 46/58/4 47/258/4 45/59/4
f 28/259/1 26/260/1 27/63/1
f 26/260/1 34/61/1 27/63/1
f 35/64/5 45/261/5 47/65/5
f 52/67/1 50/262/1 49/68/1
f 40/70/6 52/263/6 51/71/6
f 9/264/5 22/265/5 2/75/5
f 22/265/5 14/73/5 2/75/5
f 84/76/6 82/266/6 49/77/6
f 85/79/4 65/267/4 64/80/4
f 4/268/4 3/83/4 6/82/4
f 3/83/4 7/269/4 8/84/4
f 13/270/1 11/271/1 12/87/1
f 11/271/1 20/85/1 12/87/1
f 103/272/2 104/273/2 105/90/2
f 104/273/2 115/274/2 119/88/2
f 119/88/2 121/275/2 122/89/2
f 104/273/2 119/88/2 105/90/2
f 105/90/2 106/276/2 103/272/2
f 122/277/4 121/278/4 109/93/4
f 121/278/4 126/91/4 109/93/4
f 67/94/4 77/279/4 62/95/4
f 1/280/6 5/281/6 2/99/6
f 5/281/6 10/97/6 2/99/6
f 108/282/5 125/283/5 104/102/5
f 125/283/5 117/100/5 104/102/5
f 75/103/6 74/284/6 60/104/6
f 57/285/5 55/286/5 56/287/5
f 56/287/5 58/288/5 57/285/5
f 58/288/5 59/289/5 57/285/5
f 59/289/5 63/290/5 61/108/5
f 63/290/5 64/106/5 61/108/5
f 64/106/5 65/291/5 46/292/5
f 65/291/5 66/293/5 46/292/5
f 66/293/5 48/294/5 46/292/5
f 44/295/5 43/296/5 54/297/5
f 44/295/5 54/297/5 53/298/5
f 64/106/5 46/292/5 44/295/5
f 61/108/5 60/299/5 57/285/5
f 44/295/5 53/298/5 62/107/5
f 61/108/5 57/285/5 59/289/5
f 64/106/5 44/295/5 62/107/5
f 79/109/4 63/300/4 59/110/4
f 107/301/2 109/302/2 100/303/2
f 109/302/2 112/304/2 95/305/2
f 95/305/2 98/306/2 87/307/2
f 109/302/2 95/305/2 100/303/2
f 92/308/2 99/309/2 100/303/2
f 87/307/2 90/310/2 76/311/2
f 100/303/2 95/305/2 92/308/2
f 95/305/2 87/307/2 92/308/2
f 82/312/2 91/313/2 92/308/2
f 87/307/2 76/311/2 78/314/2
f 43/315/2 44/316/2 45/317/2
f 92/308/2 87/307/2 82/312/2
f 87/307/2 78/314/2 82/312/2
f 43/315/2 45/317/2 35/318/2
f 39/319/2 51/320/2 49/321/2
f 49/321/2 82/312/2 78/314/2
f 43/315/2 35/318/2 49/321/2
f 35/318/2 36/322/2 29/112/2
f 49/321/2 78/314/2 43/315/2
f 27/114/2 41/323/2 39/319/2
f 39/319/2 49/321/2 29/112/2
f 29/112/2 49/321/2 35/318/2
f 29/112/2 30/324/2 17/113/2
f 17/113/2 16/325/2 27/114/2
f 27/114/2 39/319/2 29/112/2
f 53/115/2 54/326/2 68/116/2
f 7/118/5 3/327/5 19/119/5
f 24/120/5 25/328/5 7/118/5
f 25/328/5 9/329/5 7/118/5
f 86/121/6 83/330/6 48/122/6
f 73/124/4 58/331/4 56/125/4
f 22/127/6 20/332/6 11/128/6
f 70/130/6 69/333/6 55/131/6
f 3/133/2 2/334/2 12/134/2
f 12/134/2 26/335/2 28/336/2
f 15/135/2 18/337/2 19/338/2
f 12/134/2 28/336/2 15/135/2
f 19/338/2 3/133/2 15/135/2
f 69/136/2 71/339/2 56/137/2
f 88/139/1 89/340/1 90/140/1
f 89/142/4 81/341/4 76/143/4
f 127/342/3 113/343/3 101/344/3
f 101/344/3 102/345/3 93/346/3
f 93/346/3 94/347/3 84/348/3
f 50/349/3 52/350/3 40/351/3
f 101/344/3 93/346/3 110/352/3
f 93/346/3 84/348/3 96/353/3
f 101/344/3 110/352/3 127/342/3
f 110/352/3 126/354/3 127/342/3
f 96/353/3 111/355/3 110/352/3
f 88/356/3 97/357/3 96/353/3
f 81/358/3 89/359/3 88/356/3
f 83/360/3 81/358/3 88/356/3
f 96/353/3 110/352/3 93/346/3
f 83/360/3 88/356/3 84/348/3
f 88/356/3 96/353/3 84/348/3
f 47/361/3 46/362/3 48/363/3
f 48/363/3 83/360/3 84/348/3
f 84/348/3 50/349/3 48/363/3
f 37/364/3 47/361/3 48/363/3
f 40/351/3 42/365/3 33/147/3
f 48/363/3 50/349/3 37/364/3
f 50/349/3 40/351/3 37/364/3
f 31/146/3 38/366/3 37/364/3
f 33/147/3 34/367/3 25/368/3
f 37/364/3 40/351/3 31/146/3
f 40/351/3 33/147/3 31/146/3
f 23/145/3 32/369/3 31/146/3
f 33/147/3 25/368/3 23/145/3
f 25/368/3 24/370/3 23/145/3
f 81/371/1 83/372/1 86/373/1
f 86/373/1 85/374/1 81/371/1
f 85/374/1 80/148/1 81/371/1
f 80/148/1 79/375/1 75/376/1
f 79/375/1 72/377/1 75/376/1
f 72/377/1 73/378/1 70/379/1
f 73/378/1 71/380/1 70/379/1
f 71/380/1 69/381/1 70/379/1
f 70/379/1 74/382/1 75/376/1
f 77/149/1 67/383/1 76/150/1
f 67/383/1 68/384/1 76/150/1
f 70/379/1 75/376/1 72/377/1
f 80/148/1 75/376/1 77/149/1
f 76/150/1 81/371/1 80/148/1
f 68/384/1 78/385/1 76/150/1
f 94/151/6 93/386/6 92/152/6
f 91/154/5 82/387/5 84/155/5
f 96/157/1 97/388/1 98/158/1
f 97/160/4 88/389/4 87/161/4
f 43/163/6 78/390/6 68/164/6
f 102/166/6 101/391/6 100/167/6
f 99/169/5 92/392/5 93/170/5
f 107/172/4 100/393/4 106/173/4
f 74/175/2 70/394/2 57/176/2
f 110/178/1 111/395/1 112/179/1
f 111/181/4 96/396/4 95/182/4
f 72/184/3 59/397/3 58/185/3
f 104/398/6 103/399/6 108/189/6
f 103/399/6 113/400/6 108/189/6
f 113/400/6 127/187/6 108/189/6
f 114/190/2 116/401/2 118/191/2
f 115/193/4 104/402/4 118/194/4
f 61/196/2 62/403/2 77/197/2
f 80/199/3 64/404/3 63/200/3
f 125/202/6 123/405/6 114/203/6
f 105/205/5 122/406/5 109/206/5
f 123/208/3 125/407/3 108/209/3
f 120/211/1 124/408/1 127/212/1
f 126/213/1 121/409/1 120/211/1
f 121/409/1 119/410/1 120/211/1
f 101/411/5 113/412/5 100/216/5
f 113/412/5 103/214/5 100/216/5
f 128/217/2 129/413/2 130/218/2
f 131/220/1 132/414/1 129/221/1
f 130/415/4 129/416/4 119/225/4
f 129/416/4 132/223/4 119/225/4
f 116/226/5 130/417/5 119/227/5
f 131/229/3 124/418/3 120/230/3
f 116/419/6 115/233/6 128/232/6
f 115/233/6 124/420/6 131/234/6

View File

@ -0,0 +1,136 @@
# Blender v2.82 (sub 7) OBJ File: ''
# www.blender.org
mtllib adv_weapons_landmine.mtl
o mesh_landmine
v 0.500000 -0.500000 -0.500000
v 0.500000 -0.375000 -0.500000
v 0.375000 -0.375000 -0.375000
v 0.375000 -0.375000 0.375000
v 0.500000 -0.500000 0.500000
v 0.500000 -0.375000 0.500000
v 0.375000 -0.250000 -0.375000
v 0.375000 -0.250000 0.375000
v 0.125000 -0.250000 -0.125000
v 0.125000 -0.250000 0.125000
v 0.125000 -0.125000 -0.125000
v 0.125000 -0.125000 0.125000
v -0.125000 -0.375000 -0.500000
v -0.125000 -0.375000 -0.375000
v -0.125000 -0.375000 0.375000
v -0.125000 -0.375000 0.500000
v -0.125000 -0.250000 -0.375000
v -0.125000 -0.250000 -0.125000
v -0.125000 -0.250000 0.125000
v -0.125000 -0.250000 0.375000
v -0.125000 -0.125000 -0.125000
v -0.125000 -0.125000 0.125000
v -0.375000 -0.375000 -0.375000
v -0.375000 -0.375000 0.375000
v -0.375000 -0.250000 -0.375000
v -0.375000 -0.250000 0.375000
v -0.500000 -0.375000 -0.500000
v -0.500000 -0.500000 -0.500000
v -0.500000 -0.500000 0.500000
v -0.500000 -0.375000 0.500000
vt 0.500000 1.000000
vt 0.000000 1.000000
vt 0.000000 0.500000
vt 0.500000 0.500000
vt 0.937500 0.750000
vt 0.937500 0.875000
vt 0.875000 0.875000
vt 0.875000 0.750000
vt 0.687500 0.875000
vt 0.687500 0.562500
vt 0.687500 0.375000
vt 0.750000 0.375000
vt 0.750000 0.875000
vt 0.750000 0.875000
vt 0.750000 0.750000
vt 0.875000 0.750000
vt 0.875000 0.875000
vt 0.875000 0.000000
vt 0.875000 0.250000
vt 0.750000 0.250000
vt 0.750000 0.125000
vt 0.625000 0.125000
vt 0.625000 0.250000
vt 0.500000 0.250000
vt 0.500000 0.000000
vt 0.875000 0.375000
vt 0.500000 0.375000
vt 0.437500 0.062500
vt 0.312500 0.062500
vt 0.312500 0.000000
vt 0.500000 0.000000
vt 0.500000 0.500000
vt 0.312500 0.500000
vt 0.312500 0.437500
vt 0.437500 0.437500
vt 0.875000 0.375000
vt 0.937500 0.375000
vt 0.937500 0.750000
vt 0.875000 0.750000
vt 0.875000 0.375000
vt 0.875000 0.625000
vt 0.875000 0.750000
vt 0.812500 0.750000
vt 0.812500 0.625000
vt 0.812500 0.375000
vt 0.062500 0.062500
vt 0.062500 0.437500
vt 0.000000 0.500000
vt 0.000000 0.000000
vt 0.937500 0.250000
vt 1.000000 0.250000
vt 1.000000 0.375000
vt 0.937500 0.375000
vt 0.750000 0.375000
vt 0.812500 0.375000
vt 0.812500 0.750000
vt 0.750000 0.750000
vt 1.000000 0.125000
vt 0.937500 0.125000
vt 0.937500 0.000000
vt 1.000000 0.000000
vt 0.937500 0.125000
vt 1.000000 0.125000
vt 0.562500 0.687500
vt 0.562500 0.375000
vt 0.625000 0.375000
vt 0.625000 0.875000
vt 0.562500 0.875000
vt 0.937500 0.000000
vt 0.937500 0.250000
vt 0.937500 0.375000
vt 0.687500 0.375000
vt 0.625000 0.875000
vt 0.500000 0.875000
vt 0.500000 0.375000
vt 0.562500 0.375000
vn 0.0000 -1.0000 -0.0000
vn 0.0000 0.0000 1.0000
vn 0.0000 1.0000 0.0000
vn -1.0000 -0.0000 0.0000
vn 0.0000 0.0000 -1.0000
vn 1.0000 0.0000 -0.0000
usemtl Default_OBJ
s 1
f 28/1/1 1/2/1 5/3/1 29/4/1
f 12/5/2 22/6/2 19/7/2 10/8/2
f 6/9/2 16/10/2 30/11/2 29/12/2 5/13/2
f 21/14/3 22/15/3 12/16/3 11/17/3
f 7/18/3 17/19/3 18/20/3 9/21/3 10/22/3 19/23/3 20/24/3 8/25/3
f 20/24/3 19/23/3 18/20/3 17/19/3 25/26/3 26/27/3
f 23/28/3 14/29/3 13/30/3 27/31/3 30/32/3 16/33/3 15/34/3 24/35/3
f 3/36/4 7/37/4 8/38/4 4/39/4
f 8/40/2 20/41/2 26/42/2 24/43/2 15/44/2 4/45/2
f 13/30/3 14/29/3 3/46/3 4/47/3 15/34/3 16/33/3 6/48/3 2/49/3
f 18/50/5 21/51/5 11/52/5 9/53/5
f 24/54/6 26/55/6 25/56/6 23/57/6
f 12/58/4 10/59/4 9/60/4 11/61/4
f 19/62/6 22/63/6 21/51/6 18/50/6
f 13/64/5 2/65/5 1/66/5 28/67/5 27/68/5
f 7/18/5 3/69/5 14/70/5 23/71/5 25/26/5 17/19/5
f 1/66/4 2/72/4 6/9/4 5/73/4
f 27/68/6 28/74/6 29/75/6 30/76/6

View File

@ -0,0 +1,134 @@
# Blender v2.82 (sub 7) OBJ File: ''
# www.blender.org
o mesh_landmine
v 0.500000 -0.775869 -0.500000
v 0.500000 -0.650869 -0.500000
v 0.375000 -0.650869 -0.375000
v 0.375000 -0.650869 0.375000
v 0.500000 -0.775869 0.500000
v 0.500000 -0.650869 0.500000
v 0.375000 -0.525869 -0.375000
v 0.375000 -0.525869 0.375000
v 0.125000 -0.525869 -0.125000
v 0.125000 -0.525869 0.125000
v 0.125000 -0.400869 -0.125000
v 0.125000 -0.400869 0.125000
v -0.125000 -0.650869 -0.500000
v -0.125000 -0.650869 -0.375000
v -0.125000 -0.650869 0.375000
v -0.125000 -0.650869 0.500000
v -0.125000 -0.525869 -0.375000
v -0.125000 -0.525869 -0.125000
v -0.125000 -0.525869 0.125000
v -0.125000 -0.525869 0.375000
v -0.125000 -0.400869 -0.125000
v -0.125000 -0.400869 0.125000
v -0.375000 -0.650869 -0.375000
v -0.375000 -0.650869 0.375000
v -0.375000 -0.525869 -0.375000
v -0.375000 -0.525869 0.375000
v -0.500000 -0.650869 -0.500000
v -0.500000 -0.775869 -0.500000
v -0.500000 -0.775869 0.500000
v -0.500000 -0.650869 0.500000
vt 0.500000 1.000000
vt 0.000000 1.000000
vt 0.000000 0.500000
vt 0.500000 0.500000
vt 0.937500 0.750000
vt 0.937500 0.875000
vt 0.875000 0.875000
vt 0.875000 0.750000
vt 0.687500 0.875000
vt 0.687500 0.562500
vt 0.687500 0.375000
vt 0.750000 0.375000
vt 0.750000 0.875000
vt 0.750000 0.875000
vt 0.750000 0.750000
vt 0.875000 0.750000
vt 0.875000 0.875000
vt 0.875000 0.000000
vt 0.875000 0.250000
vt 0.750000 0.250000
vt 0.750000 0.125000
vt 0.625000 0.125000
vt 0.625000 0.250000
vt 0.500000 0.250000
vt 0.500000 0.000000
vt 0.875000 0.375000
vt 0.500000 0.375000
vt 0.437500 0.062500
vt 0.312500 0.062500
vt 0.312500 0.000000
vt 0.500000 0.000000
vt 0.500000 0.500000
vt 0.312500 0.500000
vt 0.312500 0.437500
vt 0.437500 0.437500
vt 0.875000 0.375000
vt 0.937500 0.375000
vt 0.937500 0.750000
vt 0.875000 0.750000
vt 0.875000 0.375000
vt 0.875000 0.625000
vt 0.875000 0.750000
vt 0.812500 0.750000
vt 0.812500 0.625000
vt 0.812500 0.375000
vt 0.062500 0.062500
vt 0.062500 0.437500
vt 0.000000 0.500000
vt 0.000000 0.000000
vt 0.937500 0.250000
vt 1.000000 0.250000
vt 1.000000 0.375000
vt 0.937500 0.375000
vt 0.750000 0.375000
vt 0.812500 0.375000
vt 0.812500 0.750000
vt 0.750000 0.750000
vt 1.000000 0.125000
vt 0.937500 0.125000
vt 0.937500 0.000000
vt 1.000000 0.000000
vt 0.937500 0.125000
vt 1.000000 0.125000
vt 0.562500 0.687500
vt 0.562500 0.375000
vt 0.625000 0.375000
vt 0.625000 0.875000
vt 0.562500 0.875000
vt 0.937500 0.000000
vt 0.937500 0.250000
vt 0.937500 0.375000
vt 0.687500 0.375000
vt 0.625000 0.875000
vt 0.500000 0.875000
vt 0.500000 0.375000
vt 0.562500 0.375000
vn 0.0000 -1.0000 0.0000
vn 0.0000 0.0000 1.0000
vn 0.0000 1.0000 0.0000
vn -1.0000 -0.0000 0.0000
vn 0.0000 0.0000 -1.0000
vn 1.0000 0.0000 -0.0000
s 1
f 28/1/1 1/2/1 5/3/1 29/4/1
f 12/5/2 22/6/2 19/7/2 10/8/2
f 6/9/2 16/10/2 30/11/2 29/12/2 5/13/2
f 21/14/3 22/15/3 12/16/3 11/17/3
f 7/18/3 17/19/3 18/20/3 9/21/3 10/22/3 19/23/3 20/24/3 8/25/3
f 20/24/3 19/23/3 18/20/3 17/19/3 25/26/3 26/27/3
f 23/28/3 14/29/3 13/30/3 27/31/3 30/32/3 16/33/3 15/34/3 24/35/3
f 3/36/4 7/37/4 8/38/4 4/39/4
f 8/40/2 20/41/2 26/42/2 24/43/2 15/44/2 4/45/2
f 13/30/3 14/29/3 3/46/3 4/47/3 15/34/3 16/33/3 6/48/3 2/49/3
f 18/50/5 21/51/5 11/52/5 9/53/5
f 24/54/6 26/55/6 25/56/6 23/57/6
f 12/58/4 10/59/4 9/60/4 11/61/4
f 19/62/6 22/63/6 21/51/6 18/50/6
f 13/64/5 2/65/5 1/66/5 28/67/5 27/68/5
f 7/18/5 3/69/5 14/70/5 23/71/5 25/26/5 17/19/5
f 1/66/4 2/72/4 6/9/4 5/73/4
f 27/68/6 28/74/6 29/75/6 30/76/6

View File

@ -0,0 +1,12 @@
# Blender MTL File: 'None'
# Material Count: 1
newmtl Default_OBJ
Ns 225.000000
Ka 1.000000 1.000000 1.000000
Kd 0.800000 0.800000 0.800000
Ks 0.500000 0.500000 0.500000
Ke 0.000000 0.000000 0.000000
Ni 1.450000
d 1.000000
illum 2

View File

@ -0,0 +1,572 @@
# Blender v2.82 (sub 7) OBJ File: ''
# www.blender.org
o mesh_turret_new
v 0.300000 -0.490814 -0.300000
v 0.300000 -0.490814 -0.450000
v 0.450000 -0.490814 -0.300000
v 0.450000 -0.490814 -0.450000
v 0.300000 -0.490814 0.450000
v 0.300000 -0.490814 0.300000
v 0.450000 -0.490814 0.450000
v 0.450000 -0.490814 0.300000
v 0.300000 -0.190814 -0.300000
v 0.300000 -0.190814 -0.450000
v 0.450000 -0.190814 -0.300000
v 0.300000 -0.190814 0.450000
v 0.300000 -0.190814 0.300000
v 0.450000 -0.190814 0.300000
v 0.450000 -0.190814 -0.150000
v 0.300000 -0.190814 -0.150000
v 0.450000 -0.040814 -0.150000
v 0.300000 -0.040814 -0.150000
v 0.300000 -0.190814 0.150000
v 0.450000 -0.190814 0.150000
v 0.300000 -0.040814 0.150000
v 0.450000 -0.040814 0.150000
v 0.450000 0.109186 -0.450000
v 0.300000 0.109186 -0.300000
v 0.300000 0.109186 0.300000
v 0.450000 0.109186 0.450000
v 0.150000 -0.190814 -0.300000
v 0.150000 -0.040814 -0.300000
v 0.150000 -0.040814 -0.450000
v 0.150000 -0.190814 -0.450000
v 0.150000 -0.190814 -0.150000
v 0.150000 -0.190814 -0.000000
v 0.300000 -0.190814 -0.000000
v 0.150000 -0.190814 0.150000
v 0.150000 -0.190814 0.300000
v 0.150000 -0.190814 0.450000
v 0.150000 -0.040814 0.450000
v 0.150000 -0.040814 0.300000
v 0.150000 0.109186 -0.150000
v 0.150000 0.109186 0.150000
v 0.300000 0.259186 -0.300000
v 0.150000 0.259186 -0.150000
v 0.150000 0.259186 0.150000
v 0.300000 0.259186 0.300000
v 0.150000 0.409186 -0.150000
v 0.150000 0.409186 0.150000
v -0.150000 -0.190814 -0.150000
v -0.150000 -0.190814 -0.300000
v -0.150000 -0.040814 -0.300000
v -0.150000 -0.190814 0.300000
v -0.150000 -0.190814 0.150000
v -0.150000 -0.040814 0.300000
v -0.150000 -0.040814 -0.450000
v -0.150000 0.109186 -0.450000
v -0.150000 0.109186 -0.300000
v -0.150000 0.109186 -0.150000
v -0.150000 0.109186 0.150000
v -0.150000 -0.040814 0.450000
v -0.150000 0.109186 0.300000
v -0.150000 0.109186 0.450000
v -0.150000 0.259186 -0.300000
v -0.150000 0.259186 -0.150000
v -0.150000 0.259186 0.150000
v -0.150000 0.259186 0.300000
v -0.150000 0.409186 -0.150000
v -0.150000 0.409186 0.150000
v -0.300000 -0.190814 -0.300000
v -0.300000 -0.190814 -0.450000
v -0.150000 -0.190814 -0.450000
v -0.300000 -0.190814 -0.150000
v -0.300000 -0.040814 -0.150000
v -0.300000 -0.190814 0.150000
v -0.300000 -0.040814 0.150000
v -0.300000 -0.190814 0.300000
v -0.150000 -0.190814 0.450000
v -0.300000 -0.190814 0.450000
v -0.300000 0.109186 -0.300000
v -0.300000 0.109186 0.300000
v -0.300000 0.259186 -0.300000
v -0.300000 0.259186 0.300000
v -0.450000 -0.490814 -0.300000
v -0.450000 -0.490814 -0.450000
v -0.300000 -0.490814 -0.300000
v -0.300000 -0.490814 -0.450000
v -0.450000 -0.490814 0.450000
v -0.450000 -0.490814 0.300000
v -0.300000 -0.490814 0.450000
v -0.300000 -0.490814 0.300000
v -0.450000 -0.190814 -0.300000
v -0.450000 -0.190814 0.300000
v -0.450000 -0.190814 -0.150000
v -0.450000 -0.040814 -0.150000
v -0.450000 -0.040814 0.150000
v -0.450000 -0.190814 0.150000
v -0.450000 0.109186 -0.450000
v -0.450000 0.109186 0.450000
vt 1.000000 0.470588
vt 0.941176 0.529412
vt 0.941176 0.470588
vt 0.941176 0.705882
vt 0.882353 0.823529
vt 0.882353 0.705882
vt 0.529412 0.941176
vt 0.470588 1.000000
vt 0.470588 0.941176
vt 0.882353 0.705882
vt 0.823529 0.823529
vt 0.823529 0.705882
vt 0.705882 0.823529
vt 0.647059 0.941176
vt 0.647059 0.823529
vt 0.882353 0.823529
vt 0.941176 0.941176
vt 0.882353 0.941177
vt 0.647059 0.941176
vt 0.588235 0.823529
vt 0.647059 0.823529
vt 0.058824 0.764706
vt 0.000000 0.705882
vt 0.235294 0.705882
vt 0.117647 1.000000
vt 0.058824 0.941177
vt 0.117647 0.941176
vt 0.705882 0.705882
vt 0.529412 0.941176
vt 0.588235 1.000000
vt 0.529412 1.000000
vt 0.529412 0.823529
vt 0.470588 0.941176
vt 0.470588 0.823529
vt 0.588235 0.941176
vt 0.529412 0.823529
vt 0.588235 0.823529
vt 0.882353 0.352941
vt 0.941177 0.470588
vt 0.882353 0.470588
vt 1.000000 0.117647
vt 0.941177 0.235294
vt 0.941176 0.117647
vt 0.117647 0.941176
vt 0.176471 1.000000
vt 0.117647 1.000000
vt 0.470588 0.705882
vt 0.470588 0.823529
vt 0.411765 0.823529
vt 0.941176 0.000000
vt 1.000000 0.117647
vt 0.941177 0.117647
vt 0.117647 0.588235
vt 0.176471 0.647059
vt 0.117647 0.647059
vt 0.411765 0.882353
vt 0.411765 0.823529
vt 0.470588 0.823529
vt 0.000000 0.941176
vt 0.058824 1.000000
vt 0.000000 1.000000
vt 0.647059 0.235294
vt 0.705882 0.294118
vt 0.588235 0.352941
vt 0.882353 0.470588
vt 0.823529 0.705882
vt 0.823529 0.470588
vt 0.882353 0.470588
vt 0.941176 0.588235
vt 0.882353 0.588235
vt 0.352941 0.352941
vt 0.352941 0.000000
vt 0.411765 0.235294
vt 0.352941 0.823529
vt 0.411765 0.941177
vt 0.352941 0.941177
vt 0.235294 0.470588
vt 0.235294 0.411765
vt 0.294118 0.411765
vt 0.882353 0.823529
vt 0.823529 0.941176
vt 0.823529 0.823529
vt 0.352941 0.705882
vt 0.235294 0.823529
vt 0.235294 0.705882
vt 0.941176 0.235294
vt 1.000000 0.352941
vt 0.941176 0.352941
vt 0.235294 0.941176
vt 0.294118 1.000000
vt 0.235294 1.000000
vt 0.823529 0.235294
vt 0.882353 0.000000
vt 0.882353 0.235294
vt 0.058824 0.058824
vt 0.000000 0.000000
vt 0.352941 0.000000
vt 1.000000 0.470588
vt 0.941176 0.352941
vt 1.000000 0.352941
vt 0.176471 0.941176
vt 0.235294 1.000000
vt 0.176471 1.000000
vt 0.823529 0.411765
vt 0.823529 0.235294
vt 0.882353 0.235294
vt 0.764706 0.588235
vt 0.764706 0.470588
vt 0.823529 0.588235
vt 0.764706 0.941176
vt 0.823529 0.823529
vt 0.823529 0.941176
vt 0.470588 0.941176
vt 0.411765 1.000000
vt 0.411765 0.941176
vt 0.882353 0.235294
vt 0.941177 0.352941
vt 0.882353 0.352941
vt 0.941176 0.705882
vt 0.882353 0.588235
vt 0.941176 0.588235
vt 0.411765 0.941176
vt 0.352941 1.000000
vt 0.352941 0.941176
vt 0.000000 0.941177
vt 0.058824 0.882353
vt 0.176471 0.882353
vt 0.882353 0.058824
vt 0.882353 0.000000
vt 0.941176 0.000000
vt 0.764706 0.941176
vt 0.705882 0.823529
vt 0.764706 0.823529
vt 0.352941 0.941176
vt 0.235294 0.823529
vt 0.352941 0.823529
vt 0.588235 0.941176
vt 0.647059 1.000000
vt 0.588235 1.000000
vt 0.588235 0.705882
vt 0.705882 0.823529
vt 0.588235 0.823529
vt 0.352941 1.000000
vt 0.294118 0.941177
vt 0.352941 0.941176
vt 0.588235 0.705882
vt 0.470588 0.823529
vt 0.470588 0.705882
vt 0.529412 0.470588
vt 0.588235 0.352941
vt 0.588235 0.705882
vt 0.352941 0.352941
vt 0.000000 0.352941
vt 0.294118 0.294118
vt 1.000000 0.529412
vt 0.941176 0.823529
vt 0.529412 1.000000
vt 0.882353 0.823529
vt 0.705882 0.941176
vt 0.941176 0.823529
vt 0.588235 0.941177
vt 0.000000 0.882353
vt 0.235294 0.882353
vt 0.176471 0.764706
vt 0.058824 1.000000
vt 0.705882 0.823529
vt 0.588235 0.941176
vt 0.529412 0.941176
vt 0.529412 0.941176
vt 0.941176 0.352941
vt 1.000000 0.235294
vt 0.176471 0.941176
vt 0.352941 0.823529
vt 0.352941 0.705882
vt 1.000000 0.000000
vt 0.176471 0.588235
vt 0.470588 0.941177
vt 0.411765 0.941176
vt 0.058824 0.941176
vt 0.588235 0.000000
vt 0.823529 0.000000
vt 0.705882 0.058824
vt 0.823529 0.058824
vt 0.705882 0.117647
vt 0.647059 0.117647
vt 0.588235 0.235294
vt 0.705882 0.235294
vt 0.823529 0.294118
vt 0.823529 0.352941
vt 0.882353 0.705882
vt 0.941176 0.470588
vt 0.470588 0.294118
vt 0.588235 0.294118
vt 0.588235 0.352941
vt 0.588235 0.000000
vt 0.470588 0.058824
vt 0.588235 0.058824
vt 0.470588 0.117647
vt 0.411765 0.117647
vt 0.470588 0.235294
vt 0.411765 0.823529
vt 0.117647 0.470588
vt 0.058824 0.588235
vt 0.058824 0.647059
vt 0.117647 0.705882
vt 0.058824 0.705882
vt 0.000000 0.647059
vt 0.000000 0.588235
vt 0.058824 0.470588
vt 0.000000 0.470588
vt 0.000000 0.411765
vt 0.058824 0.411765
vt 0.117647 0.411765
vt 0.058824 0.352941
vt 0.117647 0.352941
vt 0.235294 0.588235
vt 0.235294 0.647059
vt 0.294118 0.705882
vt 0.235294 0.705882
vt 0.352941 0.588235
vt 0.352941 0.647059
vt 0.294118 0.647059
vt 0.294118 0.588235
vt 0.352941 0.411765
vt 0.352941 0.470588
vt 0.294118 0.470588
vt 0.235294 0.352941
vt 0.294118 0.352941
vt 0.882353 0.941176
vt 0.352941 0.823529
vt 1.000000 0.235294
vt 0.294118 0.941176
vt 0.823529 0.000000
vt 0.352941 0.235294
vt 0.294118 0.058824
vt 0.294118 0.235294
vt 0.058824 0.235294
vt 0.000000 0.235294
vt 0.941176 0.470588
vt 0.235294 0.941176
vt 0.882353 0.411765
vt 0.882353 0.470588
vt 0.823529 0.470588
vt 0.705882 0.470588
vt 0.705882 0.411765
vt 0.588235 0.411765
vt 0.588235 0.352941
vt 0.823529 0.352941
vt 0.823529 0.705882
vt 0.588235 0.705882
vt 0.705882 0.647059
vt 0.588235 0.647059
vt 0.705882 0.588235
vt 0.764706 0.823529
vt 0.470588 1.000000
vt 0.941177 0.235294
vt 0.882353 0.705882
vt 0.411765 1.000000
vt 0.235294 0.941176
vt 0.941176 0.058824
vt 0.941176 0.235294
vt 0.882353 0.235294
vt 0.705882 0.941176
vt 0.235294 0.941176
vt 0.647059 0.941176
vt 0.705882 0.705882
vt 0.294118 1.000000
vt 0.588235 0.823529
vt 0.352941 0.705882
vt 0.352941 0.647059
vt 0.470588 0.647059
vt 0.470588 0.588235
vt 0.529412 0.588235
vt 0.470588 0.470588
vt 0.470588 0.411765
vt 0.352941 0.411765
vt 0.352941 0.352941
vt 0.058824 0.294118
vn 0.0000 -1.0000 -0.0000
vn -1.0000 0.0000 0.0000
vn 1.0000 -0.0000 0.0000
vn 0.0000 1.0000 0.0000
vn 0.0000 0.0000 1.0000
vn 0.0000 0.0000 -1.0000
s 1
f 1/1/1 4/2/1 3/3/1
f 21/4/1 17/5/1 22/6/1
f 5/7/1 8/8/1 7/9/1
f 43/10/2 45/11/2 46/12/2
f 66/13/3 62/14/3 63/15/3
f 9/16/3 2/17/3 1/18/3
f 49/19/1 29/20/1 28/21/1
f 43/22/4 44/23/4 41/24/4
f 17/25/5 16/26/5 15/27/5
f 45/11/4 66/28/4 46/12/4
f 21/29/6 20/30/6 19/31/6
f 73/32/3 70/33/3 72/34/3
f 58/35/1 38/36/1 37/37/1
f 90/38/6 88/39/6 86/40/6
f 65/41/6 42/42/6 62/43/6
f 28/44/3 30/45/3 27/46/3
f 39/47/3 31/48/3 32/49/3
f 11/50/5 1/51/5 3/52/5
f 34/53/1 33/54/1 19/55/1
f 33/56/2 16/57/2 18/58/2
f 37/59/3 35/60/3 36/61/3
f 53/62/6 68/63/6 95/64/6
f 41/65/2 25/66/2 24/67/2
f 12/68/3 6/69/3 5/70/3
f 23/71/2 26/72/2 17/73/2
f 87/74/2 74/75/2 76/76/2
f 47/77/1 70/78/1 67/79/1
f 93/80/1 71/81/1 73/82/1
f 57/83/1 39/84/1 40/85/1
f 66/86/5 43/87/5 46/88/5
f 48/89/2 53/90/2 49/91/2
f 77/92/3 80/93/3 79/94/3
f 25/95/4 26/96/4 23/97/4
f 13/98/6 8/99/6 6/100/6
f 75/101/2 52/102/2 58/103/2
f 59/104/5 25/105/5 44/106/5
f 58/107/5 37/108/5 60/109/5
f 49/110/6 27/111/6 48/112/6
f 81/113/1 84/114/1 83/115/1
f 83/116/2 68/117/2 67/118/2
f 67/119/5 81/120/5 83/121/5
f 85/122/1 88/123/1 87/124/1
f 80/125/4 63/126/4 62/127/4
f 55/128/6 77/129/6 79/130/6
f 52/131/5 35/132/5 38/133/5
f 57/134/6 34/135/6 51/136/6
f 71/137/5 91/138/5 70/139/5
f 31/140/5 56/141/5 47/142/5
f 93/143/6 72/144/6 94/145/6
f 47/146/2 57/147/2 51/148/2
f 93/149/3 96/150/3 95/151/3
f 95/152/4 96/153/4 77/154/4
f 1/1/1 2/155/1 4/2/1
f 21/4/1 18/156/1 17/5/1
f 5/7/1 6/157/1 8/8/1
f 43/10/2 42/158/2 45/11/2
f 66/13/3 65/159/3 62/14/3
f 9/16/3 10/160/3 2/17/3
f 49/19/1 53/161/1 29/20/1
f 43/22/4 63/126/4 64/162/4
f 41/24/4 61/163/4 42/164/4
f 61/163/4 62/127/4 42/164/4
f 43/22/4 64/162/4 44/23/4
f 41/24/4 42/164/4 43/22/4
f 17/25/5 18/165/5 16/26/5
f 45/11/4 65/166/4 66/28/4
f 21/29/6 22/167/6 20/30/6
f 73/32/3 71/168/3 70/33/3
f 58/35/1 52/169/1 38/36/1
f 90/38/6 74/170/6 88/39/6
f 65/41/6 45/171/6 42/42/6
f 28/44/3 29/172/3 30/45/3
f 32/49/3 34/173/3 40/174/3
f 40/174/3 39/47/3 32/49/3
f 11/50/5 9/175/5 1/51/5
f 34/53/1 32/176/1 33/54/1
f 18/58/2 21/177/2 33/56/2
f 21/177/2 19/178/2 33/56/2
f 37/59/3 38/179/3 35/60/3
f 23/180/6 4/181/6 10/182/6
f 4/181/6 2/183/6 10/182/6
f 10/182/6 30/184/6 29/185/6
f 95/64/6 54/186/6 53/62/6
f 54/186/6 23/180/6 29/185/6
f 53/62/6 54/186/6 29/185/6
f 23/180/6 10/182/6 29/185/6
f 53/62/6 69/187/6 68/63/6
f 84/188/6 82/189/6 68/63/6
f 82/189/6 95/64/6 68/63/6
f 41/65/2 44/190/2 25/66/2
f 12/68/3 13/191/3 6/69/3
f 11/192/2 3/193/2 4/194/2
f 26/72/2 7/195/2 14/196/2
f 7/195/2 8/197/2 14/196/2
f 14/196/2 20/198/2 22/199/2
f 11/192/2 4/194/2 23/71/2
f 17/73/2 15/200/2 11/192/2
f 26/72/2 14/196/2 22/199/2
f 17/73/2 11/192/2 23/71/2
f 26/72/2 22/199/2 17/73/2
f 87/74/2 88/201/2 74/75/2
f 51/202/1 34/53/1 35/203/1
f 34/53/1 19/55/1 13/204/1
f 19/55/1 20/205/1 14/206/1
f 13/204/1 12/207/1 36/208/1
f 19/55/1 14/206/1 13/204/1
f 34/53/1 13/204/1 35/203/1
f 13/204/1 36/208/1 35/203/1
f 50/209/1 75/210/1 76/211/1
f 50/209/1 76/211/1 74/212/1
f 51/202/1 35/203/1 50/209/1
f 47/77/1 51/202/1 72/213/1
f 51/202/1 50/209/1 74/212/1
f 74/212/1 90/214/1 94/215/1
f 51/202/1 74/212/1 72/213/1
f 33/54/1 32/176/1 31/216/1
f 16/217/1 33/54/1 31/216/1
f 11/218/1 15/219/1 16/217/1
f 30/220/1 10/221/1 9/222/1
f 9/222/1 11/218/1 16/217/1
f 16/217/1 31/216/1 27/223/1
f 31/216/1 47/77/1 27/223/1
f 30/220/1 9/222/1 27/223/1
f 9/222/1 16/217/1 27/223/1
f 68/224/1 69/225/1 48/226/1
f 48/226/1 27/223/1 47/77/1
f 74/212/1 94/215/1 72/213/1
f 70/78/1 91/227/1 89/228/1
f 70/78/1 89/228/1 67/79/1
f 47/77/1 72/213/1 70/78/1
f 68/224/1 48/226/1 67/79/1
f 48/226/1 47/77/1 67/79/1
f 93/80/1 92/229/1 71/81/1
f 57/83/1 56/230/1 39/84/1
f 66/86/5 63/231/5 43/87/5
f 48/89/2 69/232/2 53/90/2
f 77/92/3 78/233/3 80/93/3
f 23/97/4 54/234/4 24/235/4
f 54/234/4 55/236/4 24/235/4
f 59/237/4 60/238/4 25/95/4
f 60/238/4 26/96/4 25/95/4
f 23/97/4 24/235/4 25/95/4
f 13/98/6 14/239/6 8/99/6
f 75/101/2 50/240/2 52/102/2
f 44/106/5 64/241/5 59/104/5
f 64/241/5 80/242/5 59/104/5
f 80/242/5 78/243/5 59/104/5
f 37/108/5 36/244/5 12/245/5
f 12/245/5 5/246/5 7/247/5
f 26/248/5 60/109/5 37/108/5
f 60/109/5 96/249/5 58/107/5
f 96/249/5 85/250/5 76/251/5
f 85/250/5 87/252/5 76/251/5
f 76/251/5 75/253/5 58/107/5
f 12/245/5 7/247/5 26/248/5
f 37/108/5 12/245/5 26/248/5
f 96/249/5 76/251/5 58/107/5
f 49/110/6 28/254/6 27/111/6
f 81/113/1 82/255/1 84/114/1
f 83/116/2 84/256/2 68/117/2
f 67/119/5 89/257/5 81/120/5
f 85/122/1 86/258/1 88/123/1
f 61/163/4 79/259/4 62/127/4
f 79/259/4 80/125/4 62/127/4
f 80/125/4 64/162/4 63/126/4
f 79/130/6 61/260/6 55/128/6
f 61/260/6 41/261/6 55/128/6
f 41/261/6 24/262/6 55/128/6
f 52/131/5 50/263/5 35/132/5
f 57/134/6 40/264/6 34/135/6
f 71/137/5 92/265/5 91/138/5
f 31/140/5 39/266/5 56/141/5
f 93/143/6 73/267/6 72/144/6
f 47/146/2 56/268/2 57/147/2
f 82/269/3 81/270/3 89/271/3
f 89/271/3 91/272/3 92/273/3
f 93/149/3 94/274/3 90/275/3
f 90/275/3 86/276/3 85/277/3
f 95/151/3 82/269/3 89/271/3
f 95/151/3 89/271/3 92/273/3
f 90/275/3 85/277/3 96/150/3
f 95/151/3 92/273/3 93/149/3
f 93/149/3 90/275/3 96/150/3
f 96/153/4 60/238/4 78/278/4
f 60/238/4 59/237/4 78/278/4
f 55/236/4 54/234/4 77/154/4
f 54/234/4 95/152/4 77/154/4
f 96/153/4 78/278/4 77/154/4

108
mine.lua Normal file
View File

@ -0,0 +1,108 @@
minetest.register_craft({
output = 'adv_weapons:landmine_placed 3',
recipe = {
{'default:steel_ingot', 'default:steel_ingot', 'default:steel_ingot'},
{'default:steel_ingot', 'tnt:tnt', 'default:steel_ingot'},
{'default:steel_ingot', 'default:steel_ingot', 'default:steel_ingot'}
}
})
local size = 0.99 -- in order to get rid of z fighting
local box = {
type = "fixed",
fixed = {
{-size/2, -0.5, -size/2, size/2, -0.5 + size * 3/8, size/2},
},
}
function clear_meta(pos)
minetest.get_meta(pos):set_string("owner", "")
end
function on_walk(player)
if is_opponent(player:get_player_name(), minetest.get_meta(player:get_pos()):get_string("owner")) then
minetest.remove_node(player:get_pos())
tnt.boom(player:get_pos(), {radius = 3})
clear_meta(player:get_pos())
end
end
local def = {
description = "Landmine",
drawtype = "mesh",
visual_scale = size,
mesh = "adv_weapons_landmine.obj",
tiles = {"adv_weapons_landmine.png"},
selection_box = box,
collision_box = box,
sunlight_propagates = true,
on_place = function(itemstack, placer, pointed_thing)
if pointed_thing.type ~= "node" then
return
end
if pointed_thing.above.y <= pointed_thing.under.y then
return
end
local pointed_node = minetest.registered_nodes[minetest.get_node(pointed_thing.under).name]
if pointed_node and pointed_node.collision_box and pointed_node.collision_box.type == "fixed" then
local is_high_enough = false
for _, box in pairs(pointed_node.collision_box.fixed) do
if box[5] == 0.5 then
is_high_enough = true
break
end
end
if not is_high_enough then
return
end
end
minetest.item_place(itemstack, placer, pointed_thing)
local meta = minetest.get_meta(pointed_thing.above)
meta:set_string("owner", placer:get_player_name())
itemstack:take_item()
return itemstack
end,
on_blast = function(pos)
clear_meta(pos)
minetest.remove_node(pos)
tnt.boom(pos, {radius = 3})
end,
on_punch = function(...)
clear_meta(...)
return unpack({minetest.node_dig(...)})
end
}
local landmines = modlib.table.set({"adv_weapons:landmine_placed", "adv_weapons:landmine_buried"})
-- landmines can be (un)buried by digging below them
minetest.register_on_dignode(function(pos, oldnode, _)
pos.y = pos.y + 1
local nodename = minetest.get_node(pos).name
if nodename == "adv_weapons:landmine_placed" then
minetest.swap_node(pos, {name = "adv_weapons:landmine_buried"})
pos.y = pos.y - 1
minetest.set_node(pos, oldnode)
elseif nodename == "adv_weapons:landmine_buried" then
minetest.swap_node(pos, {name = "adv_weapons:landmine_placed"})
minetest.spawn_falling_node(pos)
end
end)
minetest.register_node("adv_weapons:landmine_placed", def)
local b = box.fixed[1]
b[2] = b[2] - 0.4
b[5] = b[5] - 0.4
def = modlib.table.copy(def)
-- moving the box down
def.mesh = "adv_weapons_landmine_buried.obj"
def.groups = {not_in_creative_inventory = 1, falling_node = 1}
def.on_punch = def.on_blast
minetest.register_node("adv_weapons:landmine_buried", def)
minetest.register_globalstep(function()
for _, player in pairs(minetest.get_connected_players()) do
local standing_on = minetest.get_node(player:get_pos())
if landmines[standing_on.name] then
on_walk(player)
end
end
end)

4
mod.conf Normal file
View File

@ -0,0 +1,4 @@
name = adv_weapons
description = Adds a variety of advanced weapons.
depends = modlib, tnt
optional_depends = player_api

369
special.lua Normal file
View File

@ -0,0 +1,369 @@
minetest.register_craft({
output = 'adv_weapons:grappling_hook',
recipe = {
{'default:steel_ingot', 'default:steel_ingot', 'default:steel_ingot'},
{'', 'default:mese_crystal', 'default:steel_ingot'},
{'default:diamond', '', 'default:steel_ingot'}
}
})
function set_rotation(obj, size)
obj:set_rotation({x = math.atan2(size.y, math.sqrt(size.z*size.z+size.x*size.x)), y = -math.atan2(size.x, size.z), z = 0})
end
--[[minetest.register_tool("adv_weapons:whip", {
description = "Whip",
range = 7,
inventory_image = "adv_weapons_whip.png",
tool_capabilities = {bloody = 1, stunny = 1},
on_use = function(itemstack, user, pointed_thing)
if pointed_thing and pointed_thing.type == "object" then
local victim = pointed_thing.ref
if user then
local time_since_last = (minetest.get_us_time() - last_use[user:get_player_name()]) / 1000000
victim:punch(user, time_since_last, {bloody = 1, stunny = 1})
itemstack:add_wear(1000)
end
end
itemstack:add_wear(100)
return itemstack
end,
on_secondary_use = function(itemstack, user, pointed_thing)
if pointed_thing and pointed_thing.type == "object" then
local victim = pointed_thing.ref
if victim:is_player() then
local wield_name = victim:get_wielded_item():get_name()
local wield_def = minetest.registered_items[wield_name]
if wield_name and wield_def and wield_def.on_drop then
victim:set_wielded_item(wield_def.on_drop(victim:get_wielded_item(), victim, {x=0, y=victim:get_properties().eye_height, z=0}))
end
end
itemstack:add_wear(2000)
end
itemstack:add_wear(100)
return itemstack
end
})]]
local re = "aw_bs.png"
local rs = "blank.png"
minetest.register_entity("adv_weapons:beam", {
initial_properties = {
hp = 1,
visual = "cube",
visual_size = {x = 0, y = 0, z = 0},
textures = {rs,rs,rs,rs,re,re},
physical = false,
collide_with_objects = false,
collisionbox = {0,0,0,0,0,0},
pointable = false,
infotext = "Rope",
glow = 14
},
on_activate = function(self, staticdata)
self.object:set_armor_groups({immortal = 1})
if staticdata == "deleteme" then
self.object:remove()
return
end
if staticdata ~= "" then
local size = minetest.parse_json(staticdata)
adjust_rope(self.object, size)
end
end,
get_staticdata = function(self)
return "deleteme"
--return (self._size and minetest.write_json(self._size)) or ""
end,
})
function check_pos(pos)
local node = minetest.registered_nodes[minetest.get_node(pos).name]
return node and node.walkable ~= false
end
function check_hooked(self)
local obj = self.object
local checked = {}
for _, offset in pairs({vector.multiply(vector.normalize(self._.last_velocity), 0.4), {x = 0, y = -0.2, z = 0}}) do
local hook_pos = vector.add(obj:get_pos(), offset)
local check = true
for _, pos in pairs(checked) do
if vector.equals(pos, hook_pos) then
check = false
break
end
end
if check then
if check_pos(hook_pos) then
return true
end
table.insert(checked, vector.floor(hook_pos))
end
end
end
local function remove_ascent_aid(self)
if self._owner then
local clicker = minetest.get_player_by_name(self._owner)
clicker:set_properties({visual_size = vector.new(1,1,1)})
if player_api then
player_api.player_attached[clicker:get_player_name()] = nil
minetest.after(0.1, function()
player_api.set_animation(clicker, "stand", 30)
end)
end
end
end
local gt = "adv_weapons_grappling_hook_texture.png"
minetest.register_entity("adv_weapons:grappling_hook", {
initial_properties = {
hp = 1,
visual = "mesh",
mesh = "adv_weapons_grappling_hook.obj",
visual_size = {x = 10, y = 10, z = 10},
textures = {gt,gt,gt,gt,gt,gt},
physical = true,
collide_with_objects = true,
collisionbox = {-0.2,-0.2,-0.2,0.2,0.2,0.2},
infotext = "Grappling Hook"
},
on_step = function(self, dtime)
local obj = self.object
if self._.last_velocity then
if self._.hooked then
if self._last_check < 0.5 then
self._last_check = self._last_check + dtime
elseif not check_hooked(self) then
if self._ascent_aid then
remove_ascent_aid(self._ascent_aid:get_luaentity())
self._ascent_aid:remove()
self._ascent_aid = nil
end
if self._rope then
self._rope:remove()
self._rope = nil
end
self._.hooked = false
self._.last_velocity = obj:get_velocity()
obj:set_acceleration{x=0, y=-9.81, z=0}
end
return
end
local expected_vel = vector.add(self._.last_velocity, vector.multiply(obj:get_acceleration(), dtime))
local thresh_diff = vector.length(vector.subtract(expected_vel, obj:get_velocity()))
if thresh_diff >= 0.05 and check_hooked(self) then
self._.hooked = true
self._last_check = 0
obj:set_velocity{x=0, y=0, z=0}
obj:set_acceleration{x=0, y=0, z=0}
set_rotation(obj, self._.last_velocity)
if self._origin then
local end_pos = vector.add(obj:get_pos(), vector.multiply(vector.normalize(self._.last_velocity), -0.4))
local d = vector.distance(end_pos, self._origin)
if d < 1 then
return
end
if d > 20 then
local dir = vector.normalize(vector.subtract(self._origin, end_pos))
self._origin = vector.add(vector.multiply(dir, 20), end_pos)
end
local ascent_aid = minetest.add_entity(self._origin, "adv_weapons:ascent_aid")
self._ascent_aid = ascent_aid
local aid_dir = vector.subtract(end_pos, self._origin)
ascent_aid:get_luaentity()._direction = vector.normalize(aid_dir)
ascent_aid:get_luaentity()._origin = self._origin
ascent_aid:get_luaentity()._length = vector.length(aid_dir)
set_rotation(ascent_aid, vector.normalize(aid_dir))
self._rope = spawn_rope(end_pos, self._origin)
end
return
end
end
-- slowdown (air resistance)
obj:set_velocity(vector.multiply(obj:get_velocity(), math.pow(0.99, dtime)))
local size = obj:get_velocity()
self._.last_velocity = obj:get_velocity()
-- rotate properly
set_rotation(obj, size)
end,
on_punch = function(self, clicker)
if self._.hooked then
local inv = clicker:get_inventory()
if inv:room_for_item("main", "adv_weapons:grappling_hook") then
inv:add_item("main", "adv_weapons:grappling_hook")
if self._ascent_aid then
remove_ascent_aid(self._ascent_aid:get_luaentity())
self._ascent_aid:remove()
self._ascent_aid = nil
end
if self._rope then
self._rope:remove()
self._rope = nil
end
self.object:remove()
end
end
end,
on_activate = function(self, staticdata)
self.object:set_armor_groups({immortal = 1})
self._ = self._ or {}
if staticdata ~= "" then
local parsed = minetest.parse_json(staticdata)
if parsed then
modlib.table.add_all(self._, parsed)
end
end
if self._.hooked then
self._last_check = 0
end
end,
get_staticdata = function(self)
return minetest.write_json(self._)
end,
})
local aa_box = {-0.1,0.01,-0.1,0.1,0.1,0.1}
minetest.register_entity("adv_weapons:ascent_aid", {
initial_properties = {
hp = 1,
visual = "cube",
visual_size = {x = 0.4, y = 0.2, z = 0.4},
textures = {gt,gt,gt,gt,gt,gt},
collisionbox = aa_box,
selectionbox = {-0.2,-0.1,-0.2,0.2,0.1,0.2},
physical = true,
infotext = "Ascent Aid"
},
on_activate = function(self, staticdata)
self.object:set_armor_groups({immortal = 1})
if staticdata == "deleteme" then
self.object:remove()
return
end
if staticdata ~= "" then
self._size = minetest.parse_json(staticdata)
adjust_rope(self.object, size)
end
end,
get_staticdata = function(self)
return "deleteme"
--return (self._size and minetest.write_json(self._size)) or ""
end,
on_rightclick = function(self, clicker)
if vector.distance(self.object:get_pos(), clicker:get_pos()) >= 1 then
return
end
if clicker:get_attach() == self.object then
clicker:set_detach()
self.object:set_properties({collisionbox = aa_box, selectionbox = {-0.2,-0.1,-0.2,0.2,0.1,0.2}})
self._owner = nil
clicker:set_properties({visual_size = vector.new(1,1,1)})
if player_api then
player_api.player_attached[clicker:get_player_name()] = nil
minetest.after(0.1, function()
player_api.set_animation(clicker, "stand", 30)
end)
end
return
end
clicker:set_attach(self.object, "", {x = 0, y = 12, z = 0}, {x = 180, y = 0, z = 0})
--local box = modlib.table.copy(clicker:get_properties().collisionbox)
--box[2] = box[2] + 0.01
--self.object:set_properties({collisionbox = box, selectionbox = {-0.2,-0.1,-0.2,0.2,0.1,0.2}})
clicker:set_properties({visual_size = vector.divide(vector.new(1,1,1), {x = 0.4, y = 0.2, z = 0.4})})
self._owner = clicker:get_player_name()
if player_api then
player_api.player_attached[clicker:get_player_name()] = true
minetest.after(0.1, function()
player_api.set_animation(clicker, "lay", 30)
end)
end
clicker:set_look_horizontal(self.object:get_yaw())
end,
on_step = function(self, dtime)
local obj = self.object
obj:set_velocity(vector.multiply(obj:get_velocity(), math.pow(0.75, dtime)))
local speed = vector.length(obj:get_velocity())
if speed < 0.1 then
obj:set_velocity(vector.new(0,0,0))
end
local line_off
if self._origin then
local translated = vector.subtract(obj:get_pos(), self._origin)
line_off = math.min(self._length-0.1, math.max(0.1, vector.dot(translated, self._direction)))
local closest = vector.add(vector.multiply(self._direction, line_off), self._origin)
local diff = vector.length(vector.subtract(obj:get_pos(), closest))
if diff >= 0.11 then
obj:set_velocity(vector.new(0,0,0))
obj:set_pos(closest)
return
end
end
if speed > 5 then
return
end
if self._owner then
local clicker = minetest.get_player_by_name(self._owner)
clicker:set_properties({visual_size = vector.divide(vector.new(1,1,1), {x = 0.4, y = 0.2, z = 0.4})})
local control = clicker:get_player_control()
local direction = self._direction--clicker:get_look_dir()
set_rotation(obj, direction)
local factor = 0
if control.up and line_off < self._length - 0.2 then
factor = 1
elseif control.down and line_off > 0.2 then
factor = -1
end
obj:set_velocity(vector.add(obj:get_velocity(), vector.multiply(direction, factor*0.5)))
end
end
})
function adjust_rope(rope, size)
rope:get_luaentity()._size = size
local length = vector.length(size)
local segments = {}
for i=0, length*2 do
table.insert(segments, "0,"..(i*19).."=aw_bs.png")
end
local rs = "[combine:16x"..(#segments*19)..":"..table.concat(segments, ":")
segments = {}
for i=0, length*2 do
table.insert(segments, (i*19)..",0=aw_rs.png")
end
local rss = "[combine:"..(#segments*19).."x16:"..table.concat(segments, ":")
rope:set_properties({visual_size = {x = 0.1, y = 0.1, z = length}, textures = {rs, rs, rss, rss, re, re}})
size = vector.normalize(size)
set_rotation(rope, size)
end
function spawn_rope(origin, target)
local size = vector.subtract(target, origin)
local rope = minetest.add_entity(vector.add(origin, vector.divide(size, 2)), "adv_weapons:beam")
adjust_rope(rope, size)
return rope
end
minetest.register_tool("adv_weapons:grappling_hook", {
description = "Grappling Hook",
range = 20,
inventory_image = "adv_weapons_grappling_hook.png",
on_use = function(itemstack, user, pointed_thing)
local pos = vector.add(user:get_pos(), vector.new(0,user:get_properties().eye_height,0))
pos = vector.add(pos, vector.multiply(user:get_look_dir(), 0.5))
local hook = minetest.add_entity(pos, "adv_weapons:grappling_hook")
hook:get_luaentity()._origin = vector.add(user:get_pos(), vector.new(0, 0.01, 0))
hook:get_luaentity()._owner = user:get_player_name()
local velocity = vector.normalize(vector.add(user:get_look_dir(), vector.multiply(
vector.subtract({x = math.random(), y = math.random(), z = math.random()}, 0.5), 0.1)))
hook:set_velocity(vector.multiply(velocity, 10))
hook:set_acceleration({x=0, y=-9.81, z=0})
itemstack:take_item()
return itemstack
--[[if pointed_thing.under then
spawn_rope(user:get_pos(), pointed_thing.under)
end]]
end
})

Binary file not shown.

After

Width:  |  Height:  |  Size: 149 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 167 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 224 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 855 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 50 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 187 B

BIN
textures/aw_bs.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 109 B

BIN
textures/aw_rs.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 109 B

172
turret.lua Normal file
View File

@ -0,0 +1,172 @@
minetest.register_craft({
output = 'adv_weapons:turret_base',
recipe = {
{'default:steel_ingot', 'default:steel_ingot', 'default:steel_ingot'},
{'default:steel_ingot', '', 'default:steel_ingot'},
{'default:steel_ingot', '', 'default:steel_ingot'}
}
})
minetest.register_craft({
output = 'adv_weapons:gatlin_barrel',
recipe = {
{'default:steel_ingot', 'default:diamond', 'default:steel_ingot'},
{'default:steel_ingot', 'default:mese_crystal', 'default:steel_ingot'},
{'default:steel_ingot', 'default:diamond', 'default:steel_ingot'}
}
})
local function target_player(self, player)
local player_pos = player:get_pos()
player_pos.y = player_pos.y + player:get_properties().eye_height
local eye_pos = vector.add(self.object:get_pos(), vector.multiply(vector.direction(self.object:get_pos(), player_pos), 0.75))
if is_opponent(self._owner, player:get_player_name()) and player_pos.y >= self.object:get_pos().y
and minetest.line_of_sight(eye_pos, player_pos) then
local distance = vector.distance(self.object:get_pos(), player_pos)
if distance < 20 then
return distance
end
end
return false
end
minetest.register_entity("adv_weapons:turret_gatlin_barrel", {
initial_properties = {
hp = 1,
visual = "mesh",
mesh = "adv_weapons_gatlin_barrel.obj",
visual_size = {x = 8, y = 8, z = 8},
textures = {"adv_weapons_grappling_hook_texture.png"},
physical = false,
collide_with_objects = false,
collisionbox = {0,0,0,0,0,0},
pointable = false,
infotext = "Gatlin Barrel"
},
on_activate = function(self, staticdata)
self.object:set_armor_groups({immortal = 1})
self._dtime = 0
self._owner = staticdata
end,
get_staticdata = function(self)
return self._owner
end,
on_step = function(self, dtime)
if minetest.get_node(self.object:get_pos()).name ~= "adv_weapons:turret_base" then
self.object:remove()
minetest.add_item(self.object:get_pos(), "adv_weapons:gatlin_barrel")
return
end
self._dtime = self._dtime + dtime
local target_ref
if self._target then
target_ref = minetest.get_player_by_name(self._target)
if not target_player(self, target_ref) then
target_ref = nil
end
end
if not target_ref then
local min_distance = math.huge
for _, player in pairs(minetest.get_connected_players()) do
local distance = target_player(self, player)
if distance then
if distance < min_distance then
min_distance = distance
target_ref = player
end
end
end
end
if target_ref then
local player_pos = target_ref:get_pos()
player_pos.y = player_pos.y + target_ref:get_properties().eye_height
self._target_rotation = get_rotation(vector.direction(self.object:get_pos(), player_pos))
end
if self._target_rotation then
local total_diff = vector.subtract(self._target_rotation, self.object:get_rotation())
total_diff = vector.apply(total_diff, function(c)
if math.abs(c) > math.pi then
return -(2*math.pi-c)
end
return c
end)
local diff = vector.length(total_diff)
if diff < 0.1 then -- time for SHOOT
if self._dtime > 0.5 then
local r = self.object:get_rotation()
local d = {}
-- x rotation
d.y = math.sin(r.x)
d.z = math.cos(r.x)
-- y rotation
d.x = -(d.z * math.sin(r.y))
d.z = d.z * math.cos(r.y)
local start = vector.add(self.object:get_pos(), vector.multiply(d, 0.75))
minetest.add_particle({
pos = start,
velocity = vector.multiply(d, 10),
--acceleration = {x=0, y=0, z=0},
expirationtime = 10,
size = 0.2,
collisiondetection = true,
collision_removal = true,
object_collision = true,
glow = 14,
texture = "adv_weapons_bullet.png",
})
for thing in minetest.raycast(start, vector.add(start, vector.multiply(d, 20)), true, true) do
if thing.type ~= "object" then
break
end
thing.ref:punch(self.object, 1, {full_punch_interval=1, damage_groups = {fleshy=2}}, d)
end
self._dtime = 0
end
end
if diff < 0.05 then
self.object:set_rotation(self._target_rotation)
else
local rotate = vector.add(self.object:get_rotation(), vector.multiply(total_diff, math.min(1, dtime*2)))
self.object:set_rotation(rotate)
end
end
end
})
-- HACK should use item instead
minetest.register_node("adv_weapons:gatlin_barrel", {
groups = {not_in_creative_inventory = 1},
description = "Gatlin Barrel",
drawtype = "mesh",
mesh = "adv_weapons_gatlin_barrel.obj",
tiles = {"adv_weapons_grappling_hook_texture.png"},
on_place = function(itemstack, placer, pointed_thing)
if pointed_thing.type ~= "node" then
return
end
if minetest.get_node(pointed_thing.under).name ~= "adv_weapons:turret_base" then
return
end
local above = vector.add(pointed_thing.under, {x=0, y=0.3, z=0})
local ent = minetest.add_entity(above, "adv_weapons:turret_gatlin_barrel")
ent:get_luaentity()._owner = placer:get_player_name()
itemstack:take_item()
return itemstack
end
})
minetest.register_node("adv_weapons:turret_base", {
paramtype = "light",
sunlight_propagates = true,
groups = {cracky = 1, level = 3, falling_node = 1},
--[[collisionbox = {
type = "fixed",
fixed = {
{-0.5, -0.5, -0.5, 0.5, 0, 0.5},
},
},]]
description = "Turret Base",
drawtype = "mesh",
mesh = "adv_weapons_turret_base.obj",
tiles = {"adv_weapons_grappling_hook_texture.png"}
})