diff options
| -rw-r--r-- | lua/pets/animations.lua | 5 | ||||
| -rw-r--r-- | lua/pets/pets/slime.lua | 7 | ||||
| -rw-r--r-- | media/slime/green/split_die/0.png | bin | 0 -> 465 bytes | |||
| -rw-r--r-- | media/slime/green/split_die/1.png | bin | 0 -> 458 bytes | |||
| -rw-r--r-- | media/slime/green/split_die/2.png | bin | 0 -> 453 bytes | |||
| -rw-r--r-- | media/slime/green/split_die/3.png | bin | 0 -> 455 bytes | |||
| -rw-r--r-- | media/slime/green/split_die/4.png | bin | 0 -> 439 bytes | |||
| -rw-r--r-- | media/slime/green/split_die/5.png | bin | 0 -> 411 bytes | |||
| -rw-r--r-- | media/slime/green/split_die/6.png | bin | 0 -> 366 bytes | |||
| -rw-r--r-- | media/slime/green/split_die/7.png | bin | 0 -> 318 bytes |
10 files changed, 10 insertions, 2 deletions
diff --git a/lua/pets/animations.lua b/lua/pets/animations.lua index e4462a2..1b685d9 100644 --- a/lua/pets/animations.lua +++ b/lua/pets/animations.lua @@ -54,6 +54,7 @@ function M.Animation.new(sourcedir, type, style, popup, user_opts, state) instance.idle_actions = pet.idle_actions instance.movements = pet.movements instance.first_action = pet.first_action + instance.get_death_animation = pet.get_death_animation return instance end @@ -158,12 +159,12 @@ end -- @function decide which action comes after the current_action function M.Animation:set_next_action() if self.dying then - if self.current_action == "die" then + if vim.startswith(self.current_action, "die") or vim.endswith(self.current_action, "die") then self.dead = true M.Animation.stop(self) self.popup:unmount() end - self.current_action = "die" + self.current_action = self.get_death_animation(self.current_action) return end if self.state.idle then diff --git a/lua/pets/pets/slime.lua b/lua/pets/pets/slime.lua index da86c0d..ccdca88 100644 --- a/lua/pets/pets/slime.lua +++ b/lua/pets/pets/slime.lua @@ -26,4 +26,11 @@ return { normal = { "walk_left" }, }, }, + get_death_animation = function(current_action) + local split_animations = { "split_idle", "divide", "split_walk", "split_swap" } + if vim.tbl_contains(split_animations, current_action) then + return "split_die" + end + return "die" + end, } diff --git a/media/slime/green/split_die/0.png b/media/slime/green/split_die/0.png Binary files differnew file mode 100644 index 0000000..a46d1fb --- /dev/null +++ b/media/slime/green/split_die/0.png diff --git a/media/slime/green/split_die/1.png b/media/slime/green/split_die/1.png Binary files differnew file mode 100644 index 0000000..643fa5b --- /dev/null +++ b/media/slime/green/split_die/1.png diff --git a/media/slime/green/split_die/2.png b/media/slime/green/split_die/2.png Binary files differnew file mode 100644 index 0000000..44b14d1 --- /dev/null +++ b/media/slime/green/split_die/2.png diff --git a/media/slime/green/split_die/3.png b/media/slime/green/split_die/3.png Binary files differnew file mode 100644 index 0000000..29a4115 --- /dev/null +++ b/media/slime/green/split_die/3.png diff --git a/media/slime/green/split_die/4.png b/media/slime/green/split_die/4.png Binary files differnew file mode 100644 index 0000000..d4f929d --- /dev/null +++ b/media/slime/green/split_die/4.png diff --git a/media/slime/green/split_die/5.png b/media/slime/green/split_die/5.png Binary files differnew file mode 100644 index 0000000..9fb0540 --- /dev/null +++ b/media/slime/green/split_die/5.png diff --git a/media/slime/green/split_die/6.png b/media/slime/green/split_die/6.png Binary files differnew file mode 100644 index 0000000..ec60765 --- /dev/null +++ b/media/slime/green/split_die/6.png diff --git a/media/slime/green/split_die/7.png b/media/slime/green/split_die/7.png Binary files differnew file mode 100644 index 0000000..faa5274 --- /dev/null +++ b/media/slime/green/split_die/7.png |