diff options
| author | Peter Kohaut | 2019-01-26 14:31:04 +0100 | 
|---|---|---|
| committer | Peter Kohaut | 2019-01-26 14:31:04 +0100 | 
| commit | 71c262f88183720a0710a7627b4db324e8d3f66c (patch) | |
| tree | f2eb290108426fa6879e60b5a0229e09f800d929 /engines/bladerunner/script/ai/leon.cpp | |
| parent | bff136ca0c3974525ade5c42b2f3975299c03695 (diff) | |
| download | scummvm-rg350-71c262f88183720a0710a7627b4db324e8d3f66c.tar.gz scummvm-rg350-71c262f88183720a0710a7627b4db324e8d3f66c.tar.bz2 scummvm-rg350-71c262f88183720a0710a7627b4db324e8d3f66c.zip | |
BLADERUNNER: Analysed Leon scene at Yukon Hotel
Diffstat (limited to 'engines/bladerunner/script/ai/leon.cpp')
| -rw-r--r-- | engines/bladerunner/script/ai/leon.cpp | 344 | 
1 files changed, 196 insertions, 148 deletions
| diff --git a/engines/bladerunner/script/ai/leon.cpp b/engines/bladerunner/script/ai/leon.cpp index bbb940eea9..0e1a1156ce 100644 --- a/engines/bladerunner/script/ai/leon.cpp +++ b/engines/bladerunner/script/ai/leon.cpp @@ -25,17 +25,17 @@  namespace BladeRunner {  AIScriptLeon::AIScriptLeon(BladeRunnerEngine *vm) : AIScriptBase(vm) { -	var_45EDA0_z = 0.0f; -	var_45EDA4_y = 0.0f; -	var_45EDA8_x = 0.0f; -	var_45EDAC = 0; +	_mcCoyPositionX = 0.0f; +	_mcCoyPositionY = 0.0f; +	_mcCoyPositionZ = 0.0f; +	_flag = false;  }  void AIScriptLeon::Initialize() { -	var_45EDA0_z = 0.0f; -	var_45EDA4_y = 0.0f; -	var_45EDA8_x = 0.0f; -	var_45EDAC = 0; +	_mcCoyPositionX = 0.0f; +	_mcCoyPositionY = 0.0f; +	_mcCoyPositionZ = 0.0f; +	_flag = false;  	_animationStateNext = 0;  	_animationNext = 0;  	_animationFrame = 0; @@ -44,22 +44,28 @@ void AIScriptLeon::Initialize() {  bool AIScriptLeon::Update() {  	int goalNumber = Actor_Query_Goal_Number(kActorLeon); -	if (goalNumber == 3) { -		Actor_Set_Goal_Number(kActorLeon, 4); + +	if (goalNumber == kGoalLeonPrepareTalkToMcCoy) { +		Actor_Set_Goal_Number(kActorLeon, kGoalLeonTalkToMcCoy);  		return true;  	} -	if (goalNumber == 5) { -		if (Player_Query_Combat_Mode() == 1) { -			Actor_Set_Goal_Number(kActorLeon, 7); + +	if (goalNumber == kGoalLeonApproachMcCoy) { +		if (Player_Query_Combat_Mode()) { +			Actor_Set_Goal_Number(kActorLeon, kGoalLeonLeave);  			return true;  		} -		if (Actor_Query_Inch_Distance_From_Actor(kActorLeon, 0) <= 36 && !Player_Query_Combat_Mode()) { -			Actor_Set_Goal_Number(kActorLeon, 6); + +		if ( Actor_Query_Inch_Distance_From_Actor(kActorLeon, kActorMcCoy) <= 36 +		 && !Player_Query_Combat_Mode() +		) { +			Actor_Set_Goal_Number(kActorLeon, kGoalLeonPunchMcCoy);  			return true;  		} -		if (sub_446700(kActorLeon, var_45EDA8_x, var_45EDA4_y, var_45EDA0_z) > 12.0f) { -			Actor_Query_XYZ(kActorMcCoy, &var_45EDA8_x, &var_45EDA4_y, &var_45EDA0_z); -			Async_Actor_Walk_To_XYZ(kActorLeon, var_45EDA8_x, var_45EDA4_y, var_45EDA0_z, 24, false); + +		if (distanceTo(kActorLeon, _mcCoyPositionX, _mcCoyPositionY, _mcCoyPositionZ) > 12.0f) { +			Actor_Query_XYZ(kActorMcCoy, &_mcCoyPositionX, &_mcCoyPositionY, &_mcCoyPositionZ); +			Async_Actor_Walk_To_XYZ(kActorLeon, _mcCoyPositionX, _mcCoyPositionY, _mcCoyPositionZ, 24, false);  		}  		return true;  	} @@ -67,14 +73,16 @@ bool AIScriptLeon::Update() {  }  void AIScriptLeon::TimerExpired(int timer) { -	if (timer == 0 && Actor_Query_Goal_Number(kActorLeon) == 7) { +	if (timer == 0 +	 && Actor_Query_Goal_Number(kActorLeon) == kGoalLeonLeave +	) {  		AI_Countdown_Timer_Reset(kActorLeon, 0); -		Actor_Set_Goal_Number(kActorLeon, 8); +		Actor_Set_Goal_Number(kActorLeon, kGoalLeonGone);  	}  }  void AIScriptLeon::CompletedMovementTrack() { -	if (Actor_Query_Goal_Number(kActorLeon) == 7) { +	if (Actor_Query_Goal_Number(kActorLeon) == kGoalLeonLeave) {  		AI_Countdown_Timer_Reset(kActorLeon, 0);  		AI_Countdown_Timer_Start(kActorLeon, 0, 8);  		//return true; @@ -85,13 +93,13 @@ void AIScriptLeon::CompletedMovementTrack() {  void AIScriptLeon::ReceivedClue(int clueId, int fromActorId) {}  void AIScriptLeon::ClickedByPlayer() { -	if (Actor_Query_Goal_Number(kActorLeon) == 1) { -		Game_Flag_Set(539); +	if (Actor_Query_Goal_Number(kActorLeon) == kGoalLeonHoldingDeskClerk) { +		Game_Flag_Set(kFlagCT09LeonInterrupted);  		Player_Loses_Control();  		Actor_Face_Actor(kActorMcCoy, kActorLeon, true);  		ADQ_Flush(); -		Actor_Says(kActorMcCoy, 495, 3); -		Actor_Set_Goal_Number(kActorLeon, 2); +		Actor_Says(kActorMcCoy, 495, kAnimationModeTalk); +		Actor_Set_Goal_Number(kActorLeon, kGoalLeonReleaseDeskClerk);  		//return true;  	}  	//return false; @@ -100,7 +108,9 @@ void AIScriptLeon::ClickedByPlayer() {  void AIScriptLeon::EnteredScene(int sceneId) {}  void AIScriptLeon::OtherAgentEnteredThisScene(int otherActorId) { -	if (otherActorId == kActorMcCoy && Actor_Query_Goal_Number(kActorLeon) == 7) { +	if (otherActorId == kActorMcCoy +	 && Actor_Query_Goal_Number(kActorLeon) == kGoalLeonLeave +	) {  		AI_Countdown_Timer_Reset(kActorLeon, 0);  		AI_Movement_Track_Flush(kActorLeon);  		AI_Movement_Track_Append(kActorLeon, 353, 0); @@ -111,23 +121,28 @@ void AIScriptLeon::OtherAgentEnteredThisScene(int otherActorId) {  }  void AIScriptLeon::OtherAgentExitedThisScene(int otherActorId) { -	if (otherActorId == kActorMcCoy && Actor_Query_Which_Set_In(kActorLeon) == 33) { +	if (otherActorId == kActorMcCoy +	 && Actor_Query_Which_Set_In(kActorLeon) == kSetCT11 +	) {  		AI_Movement_Track_Flush(kActorLeon);  		ADQ_Flush(); -		Actor_Set_Goal_Number(kActorLeon, 8); -		Actor_Set_Goal_Number(kActorDeskClerk, 1); +		Actor_Set_Goal_Number(kActorLeon, kGoalLeonGone); +		Actor_Set_Goal_Number(kActorDeskClerk, kGoalDeskClerkKnockedOut);  		//return true;  	}  	///return false;  }  void AIScriptLeon::OtherAgentEnteredCombatMode(int otherActorId, int combatMode) { -	if (otherActorId == kActorMcCoy && combatMode == 1 && Actor_Query_Goal_Number(kActorLeon) == 1) { -		Game_Flag_Set(539); +	if (otherActorId == kActorMcCoy +	 && combatMode == 1 +	 && Actor_Query_Goal_Number(kActorLeon) == kGoalLeonHoldingDeskClerk +	) { +		Game_Flag_Set(kFlagCT09LeonInterrupted);  		Player_Loses_Control();  		Actor_Face_Actor(kActorMcCoy, kActorLeon, true); -		Actor_Says(kActorMcCoy, 500, 5); -		Actor_Set_Goal_Number(kActorLeon, 2); +		Actor_Says(kActorMcCoy, 500, kAnimationModeCombatAim); +		Actor_Set_Goal_Number(kActorLeon, kGoalLeonReleaseDeskClerk);  		//return true;  	}  	//return false; @@ -136,8 +151,8 @@ void AIScriptLeon::OtherAgentEnteredCombatMode(int otherActorId, int combatMode)  void AIScriptLeon::ShotAtAndMissed() {}  bool AIScriptLeon::ShotAtAndHit() { -	if (Actor_Query_Goal_Number(kActorLeon) != 7) { -		Actor_Set_Goal_Number(kActorLeon, 7); +	if (Actor_Query_Goal_Number(kActorLeon) != kGoalLeonLeave) { +		Actor_Set_Goal_Number(kActorLeon, kGoalLeonLeave);  	}  	return false;  } @@ -150,94 +165,101 @@ int AIScriptLeon::GetFriendlinessModifierIfGetsClue(int otherActorId, int clueId  bool AIScriptLeon::GoalChanged(int currentGoalNumber, int newGoalNumber) {  	switch (newGoalNumber) { -	case 8: +	case kGoalLeonDefault:  		Actor_Put_In_Set(kActorLeon, kSetFreeSlotA); -		AI_Movement_Track_Flush(kActorLeon); +		Actor_Change_Animation_Mode(kActorLeon, kAnimationModeIdle);  		return true; -	case 7: -		Actor_Force_Stop_Walking(kActorLeon); -		AI_Movement_Track_Flush(kActorLeon); -		AI_Movement_Track_Append(kActorLeon, 351, 0); -		AI_Movement_Track_Append(kActorLeon, 352, 0); -		AI_Movement_Track_Repeat(kActorLeon); + +	case kGoalLeonHoldingDeskClerk: +		Actor_Change_Animation_Mode(kActorDeskClerk, 72); +		Actor_Change_Animation_Mode(kActorLeon, 72); +		Actor_Put_In_Set(kActorLeon, kSetCT09); +		Actor_Set_At_XYZ(kActorLeon, 264.0f, 348.52f, 827.0f, 0); +		Actor_Face_Actor(kActorDeskClerk, kActorLeon, true); +		ADQ_Add(kActorLeon, 0, 16); +		ADQ_Add(kActorDeskClerk, 0, 58); +		ADQ_Add(kActorLeon, 10, 15); +		ADQ_Add(kActorDeskClerk, 10, 58); +		ADQ_Add(kActorLeon, 20, 16);  		return true; -	case 6: -		Player_Loses_Control(); -		Actor_Says(kActorLeon, 40, 3); -		Actor_Says(kActorMcCoy, 510, 3); -		Actor_Says(kActorLeon, 50, 3); -		Actor_Change_Animation_Mode(kActorLeon, 6); -		return false; -	case 5: + +	case kGoalLeonReleaseDeskClerk: +		Actor_Change_Animation_Mode(kActorLeon, 26); +		Actor_Change_Animation_Mode(kActorDeskClerk, 26);  		return true; -	case 4: + +	case kGoalLeonTalkToMcCoy:  		Actor_Face_Actor(kActorLeon, kActorMcCoy, true);  		Player_Set_Combat_Mode(false);  		Actor_Says(kActorLeon, 30, 12);  		Actor_Face_Actor(kActorMcCoy, kActorLeon, true); -		if (Player_Query_Combat_Mode() == 1) { +		if (Player_Query_Combat_Mode()) {  			Player_Set_Combat_Mode(false);  		}  		Actor_Says(kActorMcCoy, 505, 23);  		Actor_Says(kActorLeon, 60, 13);  		Player_Gains_Control(); -		Loop_Actor_Walk_To_XYZ(kActorLeon, 233.0f, 349.0f, 849.0f, 0, 0, false, 0); -		Actor_Face_Actor(kActorLeon, 0, true); +		Loop_Actor_Walk_To_XYZ(kActorLeon, 233.0f, 349.0f, 849.0f, 0, false, false, 0); +		Actor_Face_Actor(kActorLeon, kActorMcCoy, true);  		Actor_Face_Actor(kActorMcCoy, kActorLeon, true);  		Actor_Says(kActorMcCoy, 515, 18);  		Actor_Says_With_Pause(kActorLeon, 70, 0.3f, 12);  		Actor_Says(kActorMcCoy, 520, 15);  		Actor_Says(kActorLeon, 80, 12); -		Loop_Actor_Walk_To_XYZ(kActorLeon, 198.0f, 349.0f, 865.0f, 0, 0, false, 0); -		Actor_Face_Actor(kActorLeon, 0, true); +		Loop_Actor_Walk_To_XYZ(kActorLeon, 198.0f, 349.0f, 865.0f, 0, false, false, 0); +		Actor_Face_Actor(kActorLeon, kActorMcCoy, true);  		Actor_Face_Actor(kActorMcCoy, kActorLeon, true); -		if (Actor_Clue_Query(kActorMcCoy, kClueWantedPoster)) { +		if (Actor_Clue_Query(kActorMcCoy, kClueWantedPoster)) { // there is no way how to obtain this poster  			Actor_Says_With_Pause(kActorMcCoy, 525, 0.2f, 14);  			Actor_Says(kActorLeon, 90, 13);  			Actor_Says(kActorMcCoy, 530, 16); -			Actor_Set_Goal_Number(kActorLeon, 5); +			Actor_Set_Goal_Number(kActorLeon, kGoalLeonApproachMcCoy);  		} else {  			Actor_Says_With_Pause(kActorMcCoy, 535, 0.8f, 17);  			Actor_Says(kActorLeon, 100, 13);  			Actor_Says_With_Pause(kActorMcCoy, 540, 0.0f, 19); -			Actor_Says(kActorLeon, 110, 3); +			Actor_Says(kActorLeon, 110, kAnimationModeTalk);  			Actor_Says(kActorMcCoy, 550, 17);  			Actor_Says(kActorMcCoy, 555, 18);  			Actor_Says(kActorLeon, 120, 13); -			Actor_Says(kActorMcCoy, 560, 3); -			Actor_Says_With_Pause(kActorLeon, 130, 0.8f, 3); +			Actor_Says(kActorMcCoy, 560, kAnimationModeTalk); +			Actor_Says_With_Pause(kActorLeon, 130, 0.8f, kAnimationModeTalk);  			Actor_Face_Current_Camera(kActorMcCoy, true);  			Actor_Says(kActorMcCoy, 565, 18);  			Actor_Face_Actor(kActorMcCoy, kActorLeon, true);  			Actor_Says(kActorLeon, 140, 12);  			Actor_Says_With_Pause(kActorMcCoy, 570, 0.0f, 17);  			Actor_Says_With_Pause(kActorMcCoy, 575, 1.2f, 13); -			Actor_Says(kActorLeon, 150, 3); -			Actor_Says(kActorMcCoy, 580, 3); +			Actor_Says(kActorLeon, 150, kAnimationModeTalk); +			Actor_Says(kActorMcCoy, 580, kAnimationModeTalk);  			Actor_Says(kActorLeon, 160, 13);  			Actor_Says(kActorLeon, 170, 12); -			Actor_Set_Goal_Number(kActorLeon, 7); +			Actor_Set_Goal_Number(kActorLeon, kGoalLeonLeave);  		}  		return true; -	case 2: -		Actor_Change_Animation_Mode(kActorLeon, 26); -		Actor_Change_Animation_Mode(kActorDeskClerk, 26); + +	case kGoalLeonApproachMcCoy:  		return true; -	case 1: -		Actor_Change_Animation_Mode(kActorDeskClerk, 72); -		Actor_Change_Animation_Mode(kActorLeon, 72); -		Actor_Put_In_Set(kActorLeon, kSetCT09); -		Actor_Set_At_XYZ(kActorLeon, 264.0f, 348.52f, 827.0f, 0); -		Actor_Face_Actor(kActorDeskClerk, kActorLeon, true); -		ADQ_Add(kActorLeon, 0, 16); -		ADQ_Add(kActorDeskClerk, 0, 58); -		ADQ_Add(kActorLeon, 10, 15); -		ADQ_Add(kActorDeskClerk, 10, 58); -		ADQ_Add(kActorLeon, 20, 16); + +	case kGoalLeonPunchMcCoy: +		Player_Loses_Control(); +		Actor_Says(kActorLeon, 40, kAnimationModeTalk); +		Actor_Says(kActorMcCoy, 510, kAnimationModeTalk); +		Actor_Says(kActorLeon, 50, kAnimationModeTalk); +		Actor_Change_Animation_Mode(kActorLeon, kAnimationModeCombatAttack); +		return false; + +	case kGoalLeonLeave: +		Actor_Force_Stop_Walking(kActorLeon); +		AI_Movement_Track_Flush(kActorLeon); +		AI_Movement_Track_Append(kActorLeon, 351, 0); +		AI_Movement_Track_Append(kActorLeon, 352, 0); +		AI_Movement_Track_Repeat(kActorLeon);  		return true; -	case 0: + +	case kGoalLeonGone:  		Actor_Put_In_Set(kActorLeon, kSetFreeSlotA); -		Actor_Change_Animation_Mode(kActorLeon, 0); +		AI_Movement_Track_Flush(kActorLeon);  		return true;  	}  	return false; @@ -245,110 +267,126 @@ bool AIScriptLeon::GoalChanged(int currentGoalNumber, int newGoalNumber) {  bool AIScriptLeon::UpdateAnimation(int *animation, int *frame) {  	switch (_animationState) { -	case 10: -		*animation = 856; -		if (_animationFrame++ == 7) { -			Actor_Change_Animation_Mode(kActorMcCoy, 48); -			Actor_Retired_Here(kActorMcCoy, 12, 12, 1, -1); -		} -		if (_animationFrame > Slice_Animation_Query_Number_Of_Frames(*animation) - 1) { -			*animation = 847; -			_animationFrame = 0; -			Actor_Change_Animation_Mode(kActorLeon, 0); -		} -		break; -	case 9: -		*animation = 849; -		_animationFrame++; -		if (_animationFrame > Slice_Animation_Query_Number_Of_Frames(849) - 1) { -			Actor_Change_Animation_Mode(kActorLeon, 0); -			*animation = 847; -			_animationFrame = 0; -			_animationState = 0; -			if (Actor_Query_Goal_Number(kActorLeon) == 2) { -				Actor_Set_Goal_Number(kActorLeon, 3); -			} -		} -		break; -	case 8: -		*animation = 854; +	case 0: +		*animation = 847;  		_animationFrame++; -		if (_animationFrame > Slice_Animation_Query_Number_Of_Frames(854) - 1) { +		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(847)) {  			_animationFrame = 0;  		}  		break; -	case 7: -		*animation = 855; + +	case 1: +		*animation = 846;  		_animationFrame++; -		if (_animationFrame > Slice_Animation_Query_Number_Of_Frames(855) - 1) { +		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(846)) {  			_animationFrame = 0; -			_animationState = 6; -			*animation = 854;  		}  		break; -	case 6: -		if (_animationFrame == 0 && var_45EDAC != 0) { -			Actor_Change_Animation_Mode(kActorLeon, 72); -			*animation = 848; + +	case 2: +		if (_animationFrame == 0 +		 && _flag +		) { +			*animation = 847; +			_animationState = 0;  		} else { -			*animation = 854; +			*animation = 850;  			_animationFrame++; -			if (_animationFrame > Slice_Animation_Query_Number_Of_Frames(854) - 1) { +			if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(850)) {  				_animationFrame = 0;  			}  		}  		break; -	case 5: -		*animation = 853; + +	case 3: +		*animation = 851;  		_animationFrame++; -		if (_animationFrame > Slice_Animation_Query_Number_Of_Frames(853) - 1) { +		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(851)) {  			_animationFrame = 0;  			_animationState = 2;  			*animation = 850;  		}  		break; +  	case 4:  		*animation = 852;  		_animationFrame++; -		if (_animationFrame > Slice_Animation_Query_Number_Of_Frames(852) - 1) { +		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(852)) {  			_animationFrame = 0;  			_animationState = 2;  			*animation = 850;  		}  		break; -	case 3: -		*animation = 851; + +	case 5: +		*animation = 853;  		_animationFrame++; -		if (_animationFrame > Slice_Animation_Query_Number_Of_Frames(851) - 1) { +		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(853)) {  			_animationFrame = 0;  			_animationState = 2;  			*animation = 850;  		}  		break; -	case 2: -		if (!_animationFrame && var_45EDAC) { -			*animation = 847; -			_animationState = 0; + +	case 6: +		if (_animationFrame == 0 +		 && _flag +		) { +			Actor_Change_Animation_Mode(kActorLeon, 72); +			*animation = 848;  		} else { -			*animation = 850; +			*animation = 854;  			_animationFrame++; -			if (_animationFrame > Slice_Animation_Query_Number_Of_Frames(850) - 1) { +			if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(854)) {  				_animationFrame = 0;  			}  		}  		break; -	case 1: -		*animation = 846; + +	case 7: +		*animation = 855;  		_animationFrame++; -		if (_animationFrame > Slice_Animation_Query_Number_Of_Frames(846) - 1) { +		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(855)) {  			_animationFrame = 0; +			_animationState = 6; +			*animation = 854;  		}  		break; -	case 0: -		*animation = 847; + +	case 8: +		*animation = 854; +		_animationFrame++; +		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(854)) { +			_animationFrame = 0; +		} +		break; + +	case 9: +		*animation = 849;  		_animationFrame++; -		if (_animationFrame > Slice_Animation_Query_Number_Of_Frames(847) - 1) { +		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(849)) { +			Actor_Change_Animation_Mode(kActorLeon, kAnimationModeIdle); +			*animation = 847;  			_animationFrame = 0; +			_animationState = 0; +			if (Actor_Query_Goal_Number(kActorLeon) == kGoalLeonReleaseDeskClerk) { +				Actor_Set_Goal_Number(kActorLeon, kGoalLeonPrepareTalkToMcCoy); +			} +		} +		break; + +	case 10: +		*animation = 856; +		_animationFrame++; +		if (_animationFrame == 6) { +			Actor_Change_Animation_Mode(kActorMcCoy, kAnimationModeDie); +			Actor_Retired_Here(kActorMcCoy, 12, 12, true, -1); +		} + +		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(*animation)) { +			*animation = 847; +			_animationFrame = 0; +			Actor_Change_Animation_Mode(kActorLeon, kAnimationModeIdle);  		}  		break;  	} @@ -366,7 +404,7 @@ bool AIScriptLeon::ChangeAnimationMode(int mode) {  		case 5:  		case 6:  		case 7: -			var_45EDAC = 1; +			_flag = true;  			break;  		case 8:  			Actor_Change_Animation_Mode(kActorLeon, 72); @@ -377,48 +415,58 @@ bool AIScriptLeon::ChangeAnimationMode(int mode) {  			break;  		}  		break; +  	case kAnimationModeWalk:  		_animationState = 1;  		_animationFrame = 0;  		break; +  	case kAnimationModeTalk:  		_animationState = 2;  		_animationFrame = 0; -		var_45EDAC = 0; +		_flag = false;  		break; +  	case kAnimationModeCombatAttack:  		_animationState = 10;  		_animationFrame = 0;  		break; +  	case 12:  		_animationState = 3;  		_animationFrame = 0; -		var_45EDAC = 0; +		_flag = false;  		break; +  	case 13:  		_animationState = 4;  		_animationFrame = 0; -		var_45EDAC = 0; +		_flag = false;  		break; +  	case 14:  		_animationState = 5;  		_animationFrame = 0; -		var_45EDAC = 0; +		_flag = false;  		break; +  	case 15:  		_animationState = 6;  		_animationFrame = 0; -		var_45EDAC = 0; +		_flag = false;  		break; +  	case 16:  		_animationState = 7;  		_animationFrame = 0; -		var_45EDAC = 0; +		_flag = false;  		break; +  	case 26:  		_animationState = 9;  		_animationFrame = 0;  		break; +  	case 72:  		if (_animationState != 8) {  			_animationState = 8; @@ -445,14 +493,14 @@ void AIScriptLeon::SetAnimationState(int animationState, int animationFrame, int  bool AIScriptLeon::ReachedMovementTrackWaypoint(int waypointId) {  	if (waypointId == 353) { -		Actor_Set_Goal_Number(kActorLeon, 8); +		Actor_Set_Goal_Number(kActorLeon, kGoalLeonGone);  	}  	return true;  }  void AIScriptLeon::FledCombat() {} -float AIScriptLeon::sub_446700(int actorId, float x, float y, float z) { +float AIScriptLeon::distanceTo(int actorId, float x, float y, float z) {  	float actorX, actorY, actorZ;  	Actor_Query_XYZ(actorId, &actorX, &actorY, &actorZ);  	return sqrt(static_cast<float>((z - actorZ) * (z - actorZ) + (y - actorY) * (y - actorY) + (x - actorX) * (x - actorX))); | 
