Make villager stand still if there is near player
[MineClone/MineClone2.git] / mods / ENTITIES / mobs_mc / spider.lua
bloba04f705dffb622b6a923989f48b6564c73c41e22
1 --MCmobs v0.4
2 --maikerumine
3 --made for MC like Survival game
4 --License for code WTFPL and otherwise stated in readmes
6 -- intllib
7 local MP = minetest.get_modpath(minetest.get_current_modname())
8 local S, NS = dofile(MP.."/intllib.lua")
10 --dofile(minetest.get_modpath("mobs").."/api.lua")
12 --###################
13 --################### SPIDER
14 --###################
17 -- Spider by AspireMint (fishyWET (CC-BY-SA 3.0 license for texture)
19 local spider = {
20 type = "monster",
21 passive = false,
22 docile_by_day = true,
23 attack_type = "dogfight",
24 pathfinding = 1,
25 damage = 2,
26 reach = 2,
27 hp_min = 16,
28 hp_max = 16,
29 collisionbox = {-0.7, -0.01, -0.7, 0.7, 0.89, 0.7},
30 visual = "mesh",
31 mesh = "mobs_mc_spider.b3d",
32 textures = {
33 {"mobs_mc_spider.png^(mobs_mc_spider_eyes.png^[makealpha:0,0,0)"},
35 visual_size = {x=3, y=3},
36 makes_footstep_sound = false,
37 sounds = {
38 random = "mobs_spider",
39 attack = "mobs_spider",
40 distance = 16,
42 walk_velocity = 3.9,
43 jump = true,
44 jump_height = 2,
45 view_range = 16,
46 floats = 1,
47 drops = {
48 {name = mobs_mc.items.string, chance = 1, min = 0, max = 2,},
49 {name = mobs_mc.items.spider_eye, chance = 3, min = 1, max = 1,},
51 specific_attack = { "player", "mobs_mc:iron_golem" },
52 water_damage = 0,
53 lava_damage = 4,
54 light_damage = 0,
55 fear_height = 4,
56 animation = {
57 stand_speed = 10,
58 walk_speed = 25,
59 run_speed = 50,
60 stand_start = 20,
61 stand_end = 40,
62 walk_start = 0,
63 walk_end = 20,
64 run_start = 0,
65 run_end = 20,
67 blood_amount = 0,
69 mobs:register_mob("mobs_mc:spider", spider)
71 -- Cave spider
72 local cave_spider = table.copy(spider)
73 cave_spider.textures = { {"mobs_mc_cave_spider.png^(mobs_mc_spider_eyes.png^[makealpha:0,0,0)"} }
74 -- TODO: Poison damage
75 -- TODO: Revert damage to 2
76 cave_spider.damage = 3 -- damage increased to undo non-existing poison
77 cave_spider.hp_min = 1
78 cave_spider.hp_max = 12
79 cave_spider.collisionbox = {-0.35, -0.01, -0.35, 0.35, 0.49, 0.35}
80 cave_spider.visual_size = {x=1.66666, y=1.5}
81 cave_spider.walk_velocity = 4.1
82 mobs:register_mob("mobs_mc:cave_spider", cave_spider)
85 mobs:spawn_specific("mobs_mc:spider", mobs_mc.spawn.solid, {"air"}, 0, 7, 30, 17000, 2, mobs_mc.spawn_height.overworld_min, mobs_mc.spawn_height.overworld_max)
87 -- compatibility
88 mobs:alias_mob("mobs:spider", "mobs_mc:spider")
89 mobs:alias_mob("esmobs:spider", "mobs_mc:spider")
91 -- spawn eggs
92 mobs:register_egg("mobs_mc:spider", S("Spider"), "mobs_mc_spawn_icon_spider.png", 0)
93 mobs:register_egg("mobs_mc:cave_spider", S("Cave Spider"), "mobs_mc_spawn_icon_cave_spider.png", 0)
95 if minetest.settings:get_bool("log_mods") then
96 minetest.log("action", "MC Spiders loaded")
97 end