summaryrefslogtreecommitdiff
path: root/src/REL
diff options
context:
space:
mode:
authorelijah-thomas774 <elijahthomas774@gmail.com>2026-04-03 21:28:58 -0400
committerelijah-thomas774 <elijahthomas774@gmail.com>2026-04-06 23:23:17 -0400
commitcbb28071ad4eedc34b79c10f1e7aef6e607de01b (patch)
treed9cb639c6b0ccfb4071dc00b412fe7cf244e94ae /src/REL
parent7d1748a99325a286663e53d08fd7322469168a1d (diff)
dAcEremly_c::StateEscape
Diffstat (limited to 'src/REL')
-rw-r--r--src/REL/d/a/e/d_a_e_remly.cpp43
1 files changed, 41 insertions, 2 deletions
diff --git a/src/REL/d/a/e/d_a_e_remly.cpp b/src/REL/d/a/e/d_a_e_remly.cpp
index e70847d8..7b84f28a 100644
--- a/src/REL/d/a/e/d_a_e_remly.cpp
+++ b/src/REL/d/a/e/d_a_e_remly.cpp
@@ -794,9 +794,48 @@ void dAcEremly_c::executeState_Run() {
}
void dAcEremly_c::finalizeState_Run() {}
-void dAcEremly_c::initializeState_Escape() {}
-void dAcEremly_c::executeState_Escape() {}
+void dAcEremly_c::initializeState_Escape() {
+ field_0xB6E = 0;
+ mAcceleration = -3.f;
+ mMdl.setAnm("RemlyRun", m3d::PLAY_MODE_4, 4.f);
+ field_0xB60 = 5;
+ mMdl.setRate(2.f);
+ field_0xB66 = 1;
+ field_0xB6A = 0;
+ field_0xB69 = 0;
+ field_0xB48 = 0;
+ field_0xB18 = 0;
+}
+void dAcEremly_c::executeState_Escape() {
+ fn_177_6FC0(false);
+ if (0 == sLib::calcTimer(&field_0xB48)) {
+ fn_177_7040(1, 20.f);
+ } else {
+ sLib::addCalcScaledDiff(&mSpeed, 20.f, 0.7f, 3.f);
+ }
+
+ if (fn_177_8C20(mRotation.y) || fn_177_8980(140.f)) {
+ field_0xB6E = 1;
+ if (field_0xB64 == 0) {
+ changeState(StateID_Scared);
+ } else {
+ field_0xB69 = 0;
+ changeState(StateID_Walk);
+ }
+ return;
+ }
+
+ if (field_0xB6A != 0) {
+ f32 f = mAng(0) + 400.f;
+ field_0xB6C = 1;
+ if (!fn_177_7510(f + 600.f) && !mNearbyBombRef.isLinked()) {
+ field_0xB69 = 0;
+ changeState(StateID_Walk);
+ }
+ }
+}
void dAcEremly_c::finalizeState_Escape() {}
+
void dAcEremly_c::initializeState_EscapeDash() {}
void dAcEremly_c::executeState_EscapeDash() {}
void dAcEremly_c::finalizeState_EscapeDash() {}