Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
D
dmobs
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Service Desk
Milestones
Merge Requests
0
Merge Requests
0
Operations
Operations
Incidents
Analytics
Analytics
Repository
Value Stream
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Illuna-Minetest
dmobs
Commits
a4521295
Commit
a4521295
authored
Dec 24, 2016
by
D00Med
Committed by
GitHub
Dec 24, 2016
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #12 from taikedz/dragonplus
Dragonplus
parents
f2aa6c87
c52e9d31
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
121 additions
and
105 deletions
+121
-105
dragons/dragon_normal.lua
dragons/dragon_normal.lua
+4
-0
dragons/main.lua
dragons/main.lua
+1
-57
dragons/piloting.lua
dragons/piloting.lua
+61
-0
init.lua
init.lua
+7
-4
spawn.lua
spawn.lua
+48
-44
No files found.
dragons/dragon_normal.lua
View file @
a4521295
--dragon
dofile
(
minetest
.
get_modpath
(
"dmobs"
)
..
"/dragons/piloting.lua"
)
mobs
:
register_mob
(
"dmobs:dragon"
,
{
type
=
"monster"
,
passive
=
false
,
...
...
@@ -63,6 +65,8 @@ mobs:register_mob("dmobs:dragon", {
punch_end
=
47
,
},
knock_back
=
2
,
do_custom
=
dmobs
.
dragon
.
step_custom
,
on_rightclick
=
dmobs
.
dragon
.
on_rc
})
...
...
dragons/main.lua
View file @
a4521295
...
...
@@ -2,66 +2,10 @@
dmobs
.
dragon
=
{}
dmobs
.
dragon
.
step_custom
=
function
(
self
,
dtime
)
if
self
.
driver
then
lib_mount
.
drive
(
self
,
dtime
,
"walk"
,
"stand"
,
true
)
if
self
.
state
==
"attack"
then
self
.
state
=
nil
end
return
false
end
return
true
end
dofile
(
minetest
.
get_modpath
(
"dmobs"
)
..
"/dragons/piloting.lua"
)
local
tamed_dragons
=
{}
dmobs
.
dragon
.
ride
=
function
(
self
,
clicker
)
if
self
.
tamed
and
self
.
owner
==
clicker
:
get_player_name
()
then
local
inv
=
clicker
:
get_inventory
()
if
self
.
driver
and
clicker
==
self
.
driver
then
object_detach
(
self
,
clicker
,
{
x
=
1
,
y
=
0
,
z
=
1
})
if
inv
:
room_for_item
(
"main"
,
"mobs:saddle"
)
then
inv
:
add_item
(
"main"
,
"mobs:saddle"
)
else
minetest
.
add_item
(
clicker
.
getpos
(),
"mobs:saddle"
)
end
elseif
not
self
.
driver
then
if
clicker
:
get_wielded_item
():
get_name
()
==
"mobs:saddle"
then
object_attach
(
self
,
clicker
,
{
x
=
0
,
y
=
12
,
z
=
4
},
{
x
=
0
,
y
=
0
,
z
=
4
})
inv
:
remove_item
(
"main"
,
"mobs:saddle"
)
end
end
end
end
dmobs
.
dragon
.
on_rc
=
function
(
self
,
clicker
)
if
not
clicker
or
not
clicker
:
is_player
()
then
return
end
if
mobs
:
feed_tame
(
self
,
clicker
,
1
,
false
,
false
)
then
return
end
dmobs
.
dragon
.
ride
(
self
,
clicker
)
end
dmobs
.
dragon
.
do_custom
=
function
(
self
,
dtime
)
if
self
.
driver
then
object_fly
(
self
,
dtime
,
10
,
true
,
"dmobs:fire_plyr"
,
"walk"
,
"stand"
)
if
self
.
state
==
"attack"
then
self
.
state
=
"idle"
end
return
false
end
return
true
end
--items and tools
minetest
.
register_craftitem
(
"dmobs:dragon_gem_lightning"
,
{
...
...
dragons/piloting.lua
0 → 100644
View file @
a4521295
if
not
dmobs
.
dragon
then
dmobs
.
dragon
=
{}
end
dmobs
.
dragon
.
step_custom
=
function
(
self
,
dtime
)
if
self
.
driver
then
object_fly
(
self
,
dtime
,
10
,
true
,
"dmobs:fire_plyr"
,
"walk"
,
"stand"
)
if
self
.
state
==
"attack"
then
self
.
state
=
nil
end
return
false
end
return
true
end
dmobs
.
dragon
.
ride
=
function
(
self
,
clicker
)
if
self
.
tamed
and
self
.
owner
==
clicker
:
get_player_name
()
then
local
inv
=
clicker
:
get_inventory
()
if
self
.
driver
and
clicker
==
self
.
driver
then
object_detach
(
self
,
clicker
,
{
x
=
1
,
y
=
0
,
z
=
1
})
if
inv
:
room_for_item
(
"main"
,
"mobs:saddle"
)
then
inv
:
add_item
(
"main"
,
"mobs:saddle"
)
else
minetest
.
add_item
(
clicker
.
getpos
(),
"mobs:saddle"
)
end
elseif
not
self
.
driver
then
if
clicker
:
get_wielded_item
():
get_name
()
==
"mobs:saddle"
then
object_attach
(
self
,
clicker
,
{
x
=
0
,
y
=
12
,
z
=
4
},
{
x
=
0
,
y
=
0
,
z
=
4
})
inv
:
remove_item
(
"main"
,
"mobs:saddle"
)
end
end
end
end
dmobs
.
dragon
.
on_rc
=
function
(
self
,
clicker
)
if
not
clicker
or
not
clicker
:
is_player
()
then
return
end
if
mobs
:
feed_tame
(
self
,
clicker
,
1
,
false
,
false
)
then
return
end
dmobs
.
dragon
.
ride
(
self
,
clicker
)
end
dmobs
.
dragon
.
do_custom
=
function
(
self
,
dtime
)
if
self
.
driver
then
object_fly
(
self
,
dtime
,
10
,
true
,
"dmobs:fire_plyr"
,
"walk"
,
"stand"
)
if
self
.
state
==
"attack"
then
self
.
state
=
"idle"
end
return
false
end
return
true
end
init.lua
View file @
a4521295
...
...
@@ -8,6 +8,7 @@ dofile(minetest.get_modpath("dmobs").."/api.lua")
-- Enable dragons (disable to remove tamed dragons and dragon bosses)
dmobs
.
dragons
=
minetest
.
setting_getbool
(
"dmobs.dragons"
)
or
false
dmobs
.
regulars
=
minetest
.
setting_getbool
(
"dmobs.regulars"
)
or
true
-- Enable fireballs/explosions
dmobs
.
destructive
=
minetest
.
setting_getbool
(
"dmobs.destructive"
)
or
false
...
...
@@ -68,8 +69,10 @@ local mobslist = {
"ogre"
,
}
for
_
,
mobname
in
pairs
(
mobslist
)
do
loadmob
(
mobname
)
if
dmobs
.
regulars
then
for
_
,
mobname
in
pairs
(
mobslist
)
do
loadmob
(
mobname
)
end
end
-- dragons!!
...
...
@@ -87,9 +90,9 @@ else
loadmob
(
"wyvern"
,
"/dragons/"
)
dofile
(
minetest
.
get_modpath
(
"dmobs"
)
..
"/dragons/eggs.lua"
)
dofile
(
minetest
.
get_modpath
(
"dmobs"
)
..
"/arrows/dragonfire.lua"
)
dofile
(
minetest
.
get_modpath
(
"dmobs"
)
..
"/arrows/dragonarrows.lua"
)
end
dofile
(
minetest
.
get_modpath
(
"dmobs"
)
..
"/arrows/dragonfire.lua"
)
dofile
(
minetest
.
get_modpath
(
"dmobs"
)
..
"/arrows/dragonarrows.lua"
)
-- General arrow definitions
...
...
spawn.lua
View file @
a4521295
-- friendlies
mobs
:
register_spawn
(
"dmobs:nyan"
,
{
"default:pine_needles"
,
"default:leaves"
},
20
,
10
,
50000
,
2
,
31000
)
mobs
:
register_spawn
(
"dmobs:nyan"
,
{
"nyanland:meseleaves"
},
20
,
10
,
15000
,
2
,
31000
)
mobs
:
register_spawn
(
"dmobs:hedgehog"
,
{
"default:dirt_with_grass"
,
"default:pine_needles"
},
20
,
10
,
15000
,
2
,
31000
)
mobs
:
register_spawn
(
"dmobs:whale"
,
{
"default:water_source"
},
20
,
10
,
15000
,
-
20
,
1000
)
mobs
:
register_spawn
(
"dmobs:owl"
,
{
"default:leaves"
,
"default:tree"
},
20
,
10
,
15000
,
2
,
31000
)
mobs
:
register_spawn
(
"dmobs:gnorm"
,
{
"default:dirt_with_grass"
,
"default:wood"
},
20
,
10
,
32000
,
2
,
31000
)
mobs
:
register_spawn
(
"dmobs:tortoise"
,
{
"default:clay"
,
"default:sand"
},
20
,
10
,
15000
,
2
,
31000
)
mobs
:
register_spawn
(
"dmobs:elephant"
,
{
"default:dirt_with_dry_grass"
,
"default:desert_sand"
},
20
,
10
,
15000
,
2
,
31000
)
mobs
:
register_spawn
(
"dmobs:badger"
,
{
"default:dirt_with_grass"
,
"default:dirt"
},
20
,
10
,
15000
,
2
,
31000
)
mobs
:
register_spawn
(
"dmobs:pig"
,
{
"default:pine_needles"
,
"default:leaves"
,
"nyanland:cloudstone"
},
20
,
10
,
32000
,
2
,
31000
)
mobs
:
register_spawn
(
"dmobs:panda"
,
{
"default:dirt_with_grass"
,
"ethereal:bamboo_dirt"
},
20
,
10
,
15000
,
2
,
31000
)
-- baddies
mobs
:
register_spawn
(
"dmobs:wasp"
,
{
"default:dirt_with_grass"
},
20
,
10
,
32000
,
2
,
31000
)
mobs
:
register_spawn
(
"dmobs:wasp"
,
{
"dmobs:hive"
},
20
,
10
,
16000
,
2
,
31000
)
mobs
:
register_spawn
(
"dmobs:wasp_leader"
,
{
"default:dirt_with_grass"
,
"dmobs:hive"
},
20
,
10
,
64000
,
2
,
31000
)
mobs
:
register_spawn
(
"dmobs:golem"
,
{
"default:stone"
},
7
,
0
,
16000
,
2
,
31000
)
mobs
:
register_spawn
(
"dmobs:pig_evil"
,
{
"default:pine_needles"
,
"default:leaves"
},
20
,
10
,
32000
,
2
,
31000
)
mobs
:
register_spawn
(
"dmobs:fox"
,
{
"default:dirt_with_grass"
,
"default:dirt"
},
20
,
10
,
32000
,
2
,
31000
)
if
not
dmobs
.
dragons
then
mobs
:
register_spawn
(
"dmobs:orc"
,
{
"default:snow"
,
"default:snow_block"
,
"default:desert_sand"
},
20
,
10
,
15000
,
2
,
31000
)
mobs
:
register_spawn
(
"dmobs:ogre"
,
{
"default:snow"
,
"default:dirt_with_dry_grass"
,
"default:desert_sand"
},
20
,
10
,
15000
,
2
,
31000
)
else
mobs
:
register_spawn
(
"dmobs:orc"
,
{
"default:snow"
,
"default:snow_block"
,
"default:desert_sand"
},
20
,
10
,
3500
,
2
,
31000
)
mobs
:
register_spawn
(
"dmobs:ogre"
,
{
"default:snow"
,
"default:dirt_with_dry_grass"
,
"default:desert_sand"
},
20
,
10
,
350
,
2
,
31000
)
if
dmobs
.
regulars
then
-- friendlies
mobs
:
register_spawn
(
"dmobs:nyan"
,
{
"default:pine_needles"
,
"default:leaves"
},
20
,
10
,
50000
,
2
,
31000
)
mobs
:
register_spawn
(
"dmobs:nyan"
,
{
"nyanland:meseleaves"
},
20
,
10
,
15000
,
2
,
31000
)
mobs
:
register_spawn
(
"dmobs:hedgehog"
,
{
"default:dirt_with_grass"
,
"default:pine_needles"
},
20
,
10
,
15000
,
2
,
31000
)
mobs
:
register_spawn
(
"dmobs:whale"
,
{
"default:water_source"
},
20
,
10
,
15000
,
-
20
,
1000
)
mobs
:
register_spawn
(
"dmobs:owl"
,
{
"default:leaves"
,
"default:tree"
},
20
,
10
,
15000
,
2
,
31000
)
mobs
:
register_spawn
(
"dmobs:gnorm"
,
{
"default:dirt_with_grass"
,
"default:wood"
},
20
,
10
,
32000
,
2
,
31000
)
mobs
:
register_spawn
(
"dmobs:tortoise"
,
{
"default:clay"
,
"default:sand"
},
20
,
10
,
15000
,
2
,
31000
)
mobs
:
register_spawn
(
"dmobs:elephant"
,
{
"default:dirt_with_dry_grass"
,
"default:desert_sand"
},
20
,
10
,
15000
,
2
,
31000
)
mobs
:
register_spawn
(
"dmobs:badger"
,
{
"default:dirt_with_grass"
,
"default:dirt"
},
20
,
10
,
15000
,
2
,
31000
)
mobs
:
register_spawn
(
"dmobs:pig"
,
{
"default:pine_needles"
,
"default:leaves"
,
"nyanland:cloudstone"
},
20
,
10
,
32000
,
2
,
31000
)
mobs
:
register_spawn
(
"dmobs:panda"
,
{
"default:dirt_with_grass"
,
"ethereal:bamboo_dirt"
},
20
,
10
,
15000
,
2
,
31000
)
-- baddies
mobs
:
register_spawn
(
"dmobs:wasp"
,
{
"default:dirt_with_grass"
},
20
,
10
,
32000
,
2
,
31000
)
mobs
:
register_spawn
(
"dmobs:wasp"
,
{
"dmobs:hive"
},
20
,
10
,
16000
,
2
,
31000
)
mobs
:
register_spawn
(
"dmobs:wasp_leader"
,
{
"default:dirt_with_grass"
,
"dmobs:hive"
},
20
,
10
,
64000
,
2
,
31000
)
mobs
:
register_spawn
(
"dmobs:golem"
,
{
"default:stone"
},
7
,
0
,
16000
,
2
,
31000
)
mobs
:
register_spawn
(
"dmobs:pig_evil"
,
{
"default:pine_needles"
,
"default:leaves"
},
20
,
10
,
32000
,
2
,
31000
)
mobs
:
register_spawn
(
"dmobs:fox"
,
{
"default:dirt_with_grass"
,
"default:dirt"
},
20
,
10
,
32000
,
2
,
31000
)
if
not
dmobs
.
dragons
then
mobs
:
register_spawn
(
"dmobs:orc"
,
{
"default:snow"
,
"default:snow_block"
,
"default:desert_sand"
},
20
,
10
,
15000
,
2
,
31000
)
mobs
:
register_spawn
(
"dmobs:ogre"
,
{
"default:snow"
,
"default:dirt_with_dry_grass"
,
"default:desert_sand"
},
20
,
10
,
15000
,
2
,
31000
)
else
mobs
:
register_spawn
(
"dmobs:orc"
,
{
"default:snow"
,
"default:snow_block"
,
"default:desert_sand"
},
20
,
10
,
3500
,
2
,
31000
)
mobs
:
register_spawn
(
"dmobs:ogre"
,
{
"default:snow"
,
"default:dirt_with_dry_grass"
,
"default:desert_sand"
},
20
,
10
,
350
,
2
,
31000
)
end
mobs
:
register_spawn
(
"dmobs:rat"
,
{
"default:stone"
,
"default:sand"
},
20
,
0
,
32000
,
2
,
31000
)
mobs
:
register_spawn
(
"dmobs:treeman"
,
{
"default:leaves"
,
"default:pine_needles"
},
7
,
0
,
16000
,
2
,
31000
)
mobs
:
register_spawn
(
"dmobs:skeleton"
,
{
"default:stone"
},
7
,
0
,
16000
,
2
,
31000
)
end
mobs
:
register_spawn
(
"dmobs:rat"
,
{
"default:stone"
,
"default:sand"
},
20
,
0
,
32000
,
2
,
31000
)
mobs
:
register_spawn
(
"dmobs:treeman"
,
{
"default:leaves"
,
"default:pine_needles"
},
7
,
0
,
16000
,
2
,
31000
)
mobs
:
register_spawn
(
"dmobs:skeleton"
,
{
"default:stone"
},
7
,
0
,
16000
,
2
,
31000
)
-- dragons
mobs
:
register_spawn
(
"dmobs:dragon"
,
{
"default:leaves"
,
"default:dirt_with_grass"
},
20
,
10
,
64000
,
2
,
31000
)
mobs
:
register_spawn
(
"dmobs:dragon2"
,
{
"default:pine_needles"
},
20
,
10
,
64000
,
2
,
31000
)
mobs
:
register_spawn
(
"dmobs:dragon3"
,
{
"default:acacia_leaves"
,
"default:dirt_with_dry_grass"
},
20
,
10
,
64000
,
2
,
31000
)
mobs
:
register_spawn
(
"dmobs:dragon4"
,
{
"default:jungleleaves"
},
20
,
10
,
64000
,
2
,
31000
)
mobs
:
register_spawn
(
"dmobs:waterdragon"
,
{
"default:water_source"
},
20
,
10
,
32000
,
1
,
31000
,
false
)
mobs
:
register_spawn
(
"dmobs:wyvern"
,
{
"default:leaves"
},
20
,
10
,
32000
,
1
,
31000
,
false
)
mobs
:
register_spawn
(
"dmobs:dragon_great"
,
{
"default:lava_source"
},
20
,
0
,
64000
,
-
21000
,
1000
,
false
)
if
not
dmobs
.
dragons
then
mobs
:
register_spawn
(
"dmobs:dragon"
,
{
"default:leaves"
,
"default:dirt_with_grass"
},
20
,
10
,
64000
,
2
,
31000
)
else
mobs
:
register_spawn
(
"dmobs:dragon2"
,
{
"default:pine_needles"
},
20
,
10
,
64000
,
2
,
31000
)
mobs
:
register_spawn
(
"dmobs:dragon3"
,
{
"default:acacia_leaves"
,
"default:dirt_with_dry_grass"
},
20
,
10
,
64000
,
2
,
31000
)
mobs
:
register_spawn
(
"dmobs:dragon4"
,
{
"default:jungleleaves"
},
20
,
10
,
64000
,
2
,
31000
)
mobs
:
register_spawn
(
"dmobs:waterdragon"
,
{
"default:water_source"
},
20
,
10
,
32000
,
1
,
31000
,
false
)
mobs
:
register_spawn
(
"dmobs:wyvern"
,
{
"default:leaves"
},
20
,
10
,
32000
,
1
,
31000
,
false
)
mobs
:
register_spawn
(
"dmobs:dragon_great"
,
{
"default:lava_source"
},
20
,
0
,
64000
,
-
21000
,
1000
,
false
)
end
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment