1
0
Fork 0

Compare commits

...

6 Commits

Author SHA1 Message Date
Bakawun 652bcce32e Ghast: align attributes with mc
Ghast should spawn much more rarely than they currently do
I set the value to 1/4th of the original value before 72000 was set as an attempt to lower spawn rates, it actually increased them.

Align View distance, sound distance and shit interval with mc wiki.
https://minecraft.fandom.com/wiki/Ghast


Align fireball velocity with mc issue tracker
https://bugs.mojang.com/browse/MC-238286
2023-11-16 06:44:11 +00:00
Bakawun fa02d828dd Shulker, add missing false statement 2023-11-14 14:47:24 +00:00
Bakawun f85ddd5651 Shulker; fix attack open animation, improve peek 2023-11-14 13:57:56 +00:00
Bakawun dfbf901b2d Shulker: randomize shoot interval
Randomize shoot interval to between 1 and 5.5 seconds and set default shoot interval to 5.5
2023-11-14 10:52:09 +00:00
Bakawun 57ec6836b4 Shulker: Make shulker peek periodically
Adjust walk and animation settings so the shulker peeks out randomly.
2023-11-13 15:13:52 +00:00
Bakawun 034d5d55b2 Shulker: lower shoot interval to 1 second
In this video we can see the shulkers are shooting at a rate of once per second.
https://youtube.com/shorts/8tUFaSZ4b7I?si=sszp4cnyXR4dXg9B

The wiki confirms this but mentions a range of 1 to 5.5 seconds. 
I think this range is caused by the shulker closing and stopping shots for a few seconds but no longer than the max interval of 5.5

https://minecraft.fandom.com/wiki/Shulker#:~:text=The%20shulker%20continues%20firing%20every,unaffected%20by%20Levitation%20when%20hit
2023-11-07 17:18:21 +00:00
2 changed files with 16 additions and 15 deletions

View File

@ -33,7 +33,7 @@ mcl_mobs.register_mob("mobs_mc:ghast", {
death = "mobs_mc_zombie_death",
attack = "mobs_fireball",
random = "mobs_eerie",
distance = 16,
distance = 80,
-- TODO: damage
-- TODO: better death
},
@ -50,10 +50,10 @@ mcl_mobs.register_mob("mobs_mc:ghast", {
run_start = 0, run_end = 40,
},
fall_damage = 0,
view_range = 100,
view_range = 64,
attack_type = "dogshoot",
arrow = "mobs_mc:fireball",
shoot_interval = 3.5,
shoot_interval = 3,
shoot_offset = -5,
dogshoot_switch = 1,
dogshoot_count_max =1,
@ -97,7 +97,7 @@ mcl_mobs:spawn_specific(
0,
7,
30,
72000,
4250,
2,
mcl_vars.mg_nether_min,
mcl_vars.mg_nether_max)
@ -107,7 +107,7 @@ mcl_mobs.register_arrow("mobs_mc:fireball", {
visual = "sprite",
visual_size = {x = 1, y = 1},
textures = {"mcl_fire_fire_charge.png"},
velocity = 15,
velocity = 5,
collisionbox = {-.5, -.5, -.5, .5, .5, .5},
_is_fireball = true,

View File

@ -35,7 +35,7 @@ mcl_mobs.register_mob("mobs_mc:shulker", {
type = "monster",
spawn_class = "hostile",
attack_type = "shoot",
shoot_interval = 0.5,
shoot_interval = 5.5,
arrow = "mobs_mc:shulkerbullet",
shoot_offset = 0.5,
passive = false,
@ -51,7 +51,7 @@ mcl_mobs.register_mob("mobs_mc:shulker", {
-- TODO: sounds
-- TODO: Make shulker dye-able
visual_size = {x=3, y=3},
walk_chance = 0,
walk_chance = 10,
knock_back = false,
jump = false,
can_despawn = false,
@ -65,28 +65,29 @@ mcl_mobs.register_mob("mobs_mc:shulker", {
looting_factor = 0.0625},
},
animation = {
stand_speed = 25, walk_speed = 0, run_speed = 50, punch_speed = 25,
stand_speed = 25, walk_speed = 25, run_speed = 50, punch_speed = 25,
speed_normal = 25, speed_run = 50,
stand_start = 0, stand_end = 25,
walk_start = 25, walk_end = 45,
run_start = 45, run_end = 85,
walk_start = 45, walk_end = 65,
walk_loop = false,
run_start = 65, run_end = 85,
run_loop = false,
punch_start = 80, punch_end = 100,
},
view_range = 16,
fear_height = 0,
walk_velocity = 0,
run_velocity = 0,
noyaw = true,
do_custom = function(self,dtime)
local pos = self.object:get_pos()
self.shoot_interval = math.random(1, 5.5)
if math.floor(self.object:get_yaw()) ~=0 then
self.object:set_yaw(0)
mcl_mobs:yaw(self, 0, 0, dtime)
end
if self.state == "walk" or self.state == "stand" then
self.state = "stand"
self:set_animation("stand")
end
if self.state == "attack" then
self:set_animation("punch")
self:set_animation("run")
end
self.path.way = false
self.look_at_players = false