Skip to content

Commit c4f82b2

Browse files
committed
Fix Zombiquarium Snorkel behavior logic
修复水族馆僵尸活动逻辑
1 parent 462db73 commit c4f82b2

File tree

1 file changed

+19
-19
lines changed

1 file changed

+19
-19
lines changed

Lawn_Shared/Lawn/Zombie/Zombie.cs

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -10110,8 +10110,6 @@ public void UpdateZombiquarium()//3update
1011010110
{
1011110111
return;
1011210112
}
10113-
float num = mVelZ;
10114-
float num2 = mVelX;
1011510113
Reanimation reanimation = mApp.ReanimationGet(mBodyReanimID);
1011610114
if (mZombiePhase == ZombiePhase.ZombiquariumBite)
1011710115
{
@@ -10125,38 +10123,38 @@ public void UpdateZombiquarium()//3update
1012510123
}
1012610124
else if (!ZombiquariumFindClosestBrain() && mPhaseCounter == 0)
1012710125
{
10128-
int num3 = RandomNumbers.NextNumber(7);
10129-
if (num3 <= 4)
10126+
int aRnd = RandomNumbers.NextNumber(7);
10127+
if (aRnd <= 4)
1013010128
{
1013110129
mZombiePhase = ZombiePhase.ZombiquariumAccel;
10132-
num = TodCommon.RandRangeFloat(0f, 6.2831855f);
10130+
mVelZ = TodCommon.RandRangeFloat(0f, GlobalMembersSexyMath.SEXYMATH_2PI);
1013310131
mPhaseCounter = TodCommon.RandRangeInt(300, 1000);
1013410132
reanimation.mAnimRate = TodCommon.RandRangeFloat(15f, 20f);
1013510133
}
10136-
else if (num3 == 4)
10134+
else if (aRnd == 4)
1013710135
{
1013810136
mZombiePhase = ZombiePhase.ZombiquariumDrift;
10139-
num = 4.712389f;
10137+
mVelZ = GlobalMembersSexyMath.SEXYMATH_PI * 1.5f;
1014010138
mPhaseCounter = TodCommon.RandRangeInt(300, 1000);
1014110139
reanimation.mAnimRate = TodCommon.RandRangeFloat(8f, 10f);
1014210140
}
10143-
else if (num3 == 5)
10141+
else if (aRnd == 5)
1014410142
{
1014510143
mZombiePhase = ZombiePhase.ZombiquariumBackAndForth;
10146-
num = 0f;
10144+
mVelZ = 0f;
1014710145
mPhaseCounter = TodCommon.RandRangeInt(300, 1000);
1014810146
reanimation.mAnimRate = TodCommon.RandRangeFloat(15f, 20f);
1014910147
}
1015010148
else
1015110149
{
1015210150
mZombiePhase = ZombiePhase.ZombiquariumBackAndForth;
10153-
num = 3.1415927f;
10151+
mVelZ = GlobalMembersSexyMath.SEXYMATH_PI;
1015410152
mPhaseCounter = TodCommon.RandRangeInt(300, 1000);
1015510153
reanimation.mAnimRate = TodCommon.RandRangeFloat(15f, 20f);
1015610154
}
1015710155
}
10158-
float aVelX = (float)Math.Cos(num);
10159-
float aVelY = (float)Math.Sin(num);
10156+
float aVelX = (float)Math.Cos(mVelZ);
10157+
float aVelY = (float)Math.Sin(mVelZ);
1016010158
bool flag = false;
1016110159
if (mPosX < 0f && aVelX < 0f)
1016210160
{
@@ -10177,7 +10175,7 @@ public void UpdateZombiquarium()//3update
1017710175
float aMaxSpeed = 0.5f;
1017810176
if (flag)
1017910177
{
10180-
aMaxSpeed = num2 * 0.3f;
10178+
aMaxSpeed = mVelX * 0.3f;
1018110179
mPhaseCounter = Math.Min(100, mPhaseCounter);
1018210180
}
1018310181
else if (mZombiePhase == ZombiePhase.ZombiquariumAccel)
@@ -10186,21 +10184,23 @@ public void UpdateZombiquarium()//3update
1018610184
}
1018710185
else if (mZombiePhase == ZombiePhase.ZombiquariumBackAndForth)
1018810186
{
10189-
if (mPosX >= 200f || aVelX < 0f)
10187+
if (mPosX < 200f && aVelX < 0f)
1019010188
{
10189+
mVelZ = 0.0f;
1019110190
}
10192-
if (mPosX <= 550f || aVelX > 0f)
10191+
if (mPosX > 550f && aVelX > 0f)
1019310192
{
10193+
mVelZ = 3.1416f;
1019410194
}
1019510195
aMaxSpeed = 0.3f;
1019610196
}
1019710197
else if (mZombiePhase == ZombiePhase.ZombiquariumDrift || mZombiePhase == ZombiePhase.ZombiquariumBite)
1019810198
{
1019910199
aMaxSpeed = 0.05f;
1020010200
}
10201-
num2 = Math.Min(aMaxSpeed, num2 + 0.01f);
10202-
aVelX *= num2;
10203-
aVelY *= num2;
10201+
mVelX = Math.Min(aMaxSpeed, mVelX + 0.01f);
10202+
aVelX *= mVelX;
10203+
aVelY *= mVelX;
1020410204
mPosX += aVelX;
1020510205
mPosY += aVelY;
1020610206
if (!mBoard.HasLevelAwardDropped())
@@ -10215,7 +10215,7 @@ public void UpdateZombiquarium()//3update
1021510215
mSummonCounter = TodCommon.RandRangeInt(1000, 1500);
1021610216
}
1021710217
}
10218-
if (mZombieAge % 100 == 0)
10218+
if ((mZombieAge % 100) == 0)
1021910219
{
1022010220
TakeDamage(10, 8U);
1022110221
if (IsDeadOrDying())

0 commit comments

Comments
 (0)