@@ -624,7 +624,39 @@ void func_800DC694(void) {
624624 goto block7 ;
625625}
626626
627- INCLUDE_ASM ("asm/maps/map0_s00/nonmatchings/map0_s00" , func_800DC8D8 );
627+ void func_800DC8D8 (void )
628+ {
629+ s32 temp_a0 ;
630+ s32 temp_v0 ;
631+ s32 temp_v0_2 ;
632+
633+ temp_v0 = (g_SysWork .npcs_1A0 [0 ].position_18 .vx - g_SysWork .player_4C .chara_0 .position_18 .vx ) >> 6 ;
634+ temp_v0_2 = ((g_SysWork .npcs_1A0 [0 ].position_18 .vz - g_SysWork .player_4C .chara_0 .position_18 .vz ) - Q12 (2.0f )) >> 6 ;
635+ temp_a0 = SquareRoot0 (SQUARE (temp_v0 ) + SQUARE (temp_v0_2 )) << 6 ;
636+ if (!(g_SavegamePtr -> eventFlags_168 [0 ] & 0x400 ))
637+ {
638+ g_SysWork .npcs_1A0 [0 ].position_18 .vx = Q12 (-61.0f );
639+ g_SysWork .npcs_1A0 [0 ].position_18 .vz = Q12 (48.0f );
640+ g_SysWork .npcs_1A0 [0 ].rotation_24 .vy = Q12 (0.25f );
641+ if (temp_a0 < Q12 (14.8f ))
642+ {
643+ sharedFunc_800D88AC_0_s00 (g_SysWork .npcs_1A0 );
644+ g_SavegamePtr -> eventFlags_168 [0 ] |= 0x400 ;
645+ func_800865FC (1 , 1 , 0 , 0x400 , Q12 (-57.0f ), Q12 (47.0f ));
646+ }
647+ }
648+ else
649+ {
650+ g_SysWork .npcs_1A0 [0 ].properties_E4 .player .headingAngle_124 = Q12 (1.8f );
651+ func_8008677C ((s32 ) g_SysWork .npcs_1A0 , 2 , 1 );
652+ if (g_SysWork .npcs_1A0 [0 ].position_18 .vx > Q12 (-58.0f ))
653+ {
654+ g_SavegamePtr -> eventFlags_168 [0 ] |= 0x800 ;
655+ g_SysWork .npcs_1A0 [0 ].model_0 .charaId_0 = 0 ;
656+ func_8005DC1C (0x54A , & D_800CB6A4 , 0x80 , 0 );
657+ }
658+ }
659+ }
628660
629661INCLUDE_ASM ("asm/maps/map0_s00/nonmatchings/map0_s00" , func_800DCA30 );
630662
0 commit comments