From c1fc60c5a2a4b96b830afc29942648714944b9d7 Mon Sep 17 00:00:00 2001
From: Kelly Rauchenberger <fefferburbia@gmail.com>
Date: Fri, 26 Feb 2021 18:54:38 -0500
Subject: Added sprite bobbing (for Lucas underwater)

---
 res/scripts/common.lua           | 15 +++++++++++++++
 res/scripts/underwater.lua       |  1 +
 res/scripts/underwater_start.lua |  1 +
 3 files changed, 17 insertions(+)

(limited to 'res/scripts')

diff --git a/res/scripts/common.lua b/res/scripts/common.lua
index 895ad7b..825d2e5 100644
--- a/res/scripts/common.lua
+++ b/res/scripts/common.lua
@@ -329,3 +329,18 @@ function AllowCrouching()
   local playerSprite = getSprite(playerId)
   playerSprite.cantCrouch = false
 end
+
+--- Makes a sprite start bobbing up and down (for underwater).
+-- This only applies when the sprite is on a normal medium (so, not on ladders).
+function StartBobbing(spriteName)
+  local spriteId = getSpriteByAlias(spriteName)
+  local sprite = getSprite(spriteId)
+  sprite.bobsWhenNormal = true
+end
+
+--- Makes a sprite stop bobbing up and down.
+function StopBobbing(spriteName)
+  local spriteId = getSpriteByAlias(spriteName)
+  local sprite = getSprite(spriteId)
+  sprite.bobsWhenNormal = false
+end
diff --git a/res/scripts/underwater.lua b/res/scripts/underwater.lua
index 4c5d2bb..3500079 100644
--- a/res/scripts/underwater.lua
+++ b/res/scripts/underwater.lua
@@ -2,6 +2,7 @@ underwater = {}
 
 function underwater.leave()
   AllowCrouching()
+  StopBobbing("lucas")
 end
 
 function underwater.fish2()
diff --git a/res/scripts/underwater_start.lua b/res/scripts/underwater_start.lua
index 98a6e67..c14f4b8 100644
--- a/res/scripts/underwater_start.lua
+++ b/res/scripts/underwater_start.lua
@@ -2,6 +2,7 @@ underwater_start = {}
 
 function underwater_start.init()
   PreventCrouching()
+  StartBobbing("lucas")
 end
 
 function underwater_start.talk_to_fish1()
-- 
cgit 1.4.1