Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /****************************************************************
- This file is a part of Open IV dev team GTA V research project
- --------------------------------------------------------------
- Description : decompiled script chop.xsc (UP14)
- Copyright : (C) Alexander Blade, http://dev-c.com, 2014
- ****************************************************************/
- void main()
- {
- l_2 = 1;
- l_3 = 134;
- l_4 = 134;
- l_5 = 1;
- l_6 = 1;
- l_7 = 1;
- l_8 = 134;
- l_9 = 1;
- l_10 = 12;
- l_11 = 12;
- l_17 = "NULL";
- l_18 = 0f;
- l_22 = -0.0375f;
- l_23 = 0.17f;
- l_29 = -1;
- l_60 = "null";
- l_61 = -1;
- l_62 = -1;
- l_88 = 1;
- l_362 = 200f;
- l_383 = GAMEPLAY::GET_GAME_TIMER();
- l_384 = 10000;
- l_436 = -1;
- l_445 = 0x589D7B2F;
- l_446 = "std_ds_open_door_for_chop";
- l_447 = "creatures@rottweiler@in_vehicle@std_car";
- l_455 = GAMEPLAY::GET_GAME_TIMER();
- l_458 = GAMEPLAY::GET_GAME_TIMER();
- struct _s = getElemPtr(0, (&l_459) + 1, 12);
- setStruct(rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), 3, &l_385);
- if (SCRIPT::0x029D3841(SCRIPT::0x2BEE1F45()) > 1)
- {
- sub_B3D4();
- }
- if (sub_B3A7(63) == 0)
- {
- sub_B3D4();
- }
- bool flag1 = sub_B38F(5) == 0;
- if (flag1 & (sub_B38F(6) == 0))
- {
- sub_B3D4();
- }
- var num1 = sub_B38F(6);
- if (num1 != 0)
- {
- struct _s = &l_385;
- }
- if ((num1 & (sub_B300(rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), 1, 0) == 5)) != 0)
- {
- sub_B3D4();
- }
- if (sub_B19C(1) == 0)
- {
- sub_B3D4();
- }
- if (g_19602 == 1)
- {
- sub_B3D4();
- }
- if (g_78536 == 1)
- {
- sub_B3D4();
- }
- if ((sub_AFF3(0) != 0) && (SCRIPT::0x029D3841(0xF9368356) == 0))
- {
- sub_B3D4();
- }
- if (PLAYER::0x4B37333C(3) != 0)
- {
- sub_B3D4();
- }
- bool flag2 = sub_AFCC() == 206;
- bool flag3 = flag2 | (sub_AFCC() == 207);
- bool flag4 = flag3 | (sub_AFCC() == 204);
- bool flag5 = flag4 | (sub_AFCC() == 205);
- if (flag5 | (sub_AFCC() == 203))
- {
- l_363 = 1;
- }
- else if (sub_AFCC() == 47)
- {
- l_364 = 1;
- }
- else
- {
- struct _s = &l_385;
- bool flag6 = GAMEPLAY::GET_DISTANCE_BETWEEN_COORDS(rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), 154.0731f, 765.5721f, 209.6901f, 1) <= 50f;
- if (!flag6)
- {
- struct _s = &l_385;
- }
- bool flag7 = flag6 | (GAMEPLAY::GET_DISTANCE_BETWEEN_COORDS(rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), -268.139f, 415.2881f, 109.7258f, 1) <= 50f);
- if (!flag7)
- {
- struct _s = &l_385;
- }
- if (flag7 | (GAMEPLAY::GET_DISTANCE_BETWEEN_COORDS(rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), 314.4171f, 965.207f, 208.4024f, 1) <= 50f))
- {
- sub_B3D4();
- }
- l_363 = 0;
- l_364 = 0;
- if (g_59840 == 1)
- {
- sub_B3D4();
- }
- }
- while (true)
- {
- if (1 == 0)
- {
- return;
- }
- if (sub_AB5A() == 0)
- {
- switch (l_25)
- {
- case 0:
- sub_A171();
- break;
- case 1:
- sub_24B();
- break;
- }
- }
- else
- {
- sub_B3D4();
- }
- SYSTEM::WAIT(0);
- }
- }
- void sub_24B()
- {
- if ((PED::IS_PED_INJURED(PLAYER::PLAYER_PED_ID()) == 0) && (PED::IS_PED_INJURED(l_43) == 0))
- {
- sub_A10C();
- sub_A0E4();
- if (l_26 != 11)
- {
- sub_A0B6();
- sub_9DE3();
- sub_9399();
- sub_9351();
- sub_92A2();
- }
- sub_294();
- }
- }
- void sub_294()
- {
- var num3;
- var num4;
- var num5;
- switch (l_26)
- {
- case 11:
- if (l_27 != 0)
- {
- if (l_27 == 1)
- {
- if (sub_91DB() != 0)
- {
- STREAMING::REQUEST_ANIM_DICT("creatures@rottweiler@amb@sleep_in_kennel@");
- var num1 = STREAMING::HAS_ANIM_DICT_LOADED("creatures@rottweiler@amb@sleep_in_kennel@");
- if ((num1 & sub_9282(l_43)) != 0)
- {
- AI::TASK_PLAY_ANIM(l_43, "creatures@rottweiler@amb@sleep_in_kennel@", "exit_kennel", 8f, -8f, -1, 0, 0, 0, 0, 0);
- sub_91CA("WHINE");
- l_27++;
- }
- }
- }
- else if ((l_27 == 2) && (AI::GET_SCRIPT_TASK_STATUS(l_43, 0x87B9A382) == 7))
- {
- STREAMING::REMOVE_ANIM_DICT("creatures@rottweiler@amb@sleep_in_kennel@");
- sub_91CA("PLAYFUL");
- sub_914D(1, 1);
- }
- return;
- }
- STREAMING::REQUEST_ANIM_DICT("creatures@rottweiler@amb@sleep_in_kennel@");
- if (STREAMING::HAS_ANIM_DICT_LOADED("creatures@rottweiler@amb@sleep_in_kennel@") != 0)
- {
- if (sub_9282(l_43) != 0)
- {
- AI::TASK_PLAY_ANIM(l_43, "creatures@rottweiler@amb@sleep_in_kennel@", "sleep_in_kennel", 1000f, -8f, -1, 1, 0, 0, 0, 0);
- struct _s = (&l_367) + 5;
- sub_9228(l_43, rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), rPtr((&l_367) + 8), 0, 1);
- }
- l_376 = GAMEPLAY::GET_GAME_TIMER();
- l_27++;
- }
- return;
- case 1:
- {
- bool flag1 = l_378 == 0;
- if (flag1 & sub_8FD9(PLAYER::PLAYER_PED_ID(), 1))
- {
- sub_914D(18, 1);
- }
- else
- {
- sub_8F9C();
- sub_8F5A();
- sub_8E39();
- }
- return;
- }
- case 17:
- {
- sub_8F9C();
- sub_8F5A();
- if (l_27 != 0)
- {
- if (l_27 == 1)
- {
- var num19;
- var num18;
- bool flag2 = sub_8DE6(l_43, 0x87B9A382) == 0;
- if (!flag2)
- {
- num18 = ENTITY::IS_ENTITY_PLAYING_ANIM(l_43, getElem(0, &l_56, 4), "enter", 3);
- }
- bool flag3 = flag2 | (num18 & (ENTITY::GET_ENTITY_ANIM_CURRENT_TIME(l_43, getElem(0, &l_56, 4), "enter") > 0.98f));
- if (!flag3)
- {
- num19 = ENTITY::IS_ENTITY_PLAYING_ANIM(l_43, getElem(1, &l_56, 4), l_60, 3);
- }
- if (flag3 | (num19 & (ENTITY::GET_ENTITY_ANIM_CURRENT_TIME(l_43, getElem(1, &l_56, 4), l_60) > 0.98f)))
- {
- if (l_28 == 0)
- {
- if (l_55 == 1)
- {
- AI::TASK_PLAY_ANIM(l_43, getElem(1, &l_56, 4), "base", 0x41000000, 0xC1000000, -1, 0, 0, 0, 0, 0);
- l_60 = "base";
- l_27++;
- }
- else
- {
- sub_8D55();
- if (GAMEPLAY::GET_RANDOM_INT_IN_RANGE(0, 4) == 0)
- {
- l_27++;
- }
- }
- }
- else
- {
- if (l_28 != 5)
- {
- sub_8C08("CHOP_WAIT", 0);
- }
- AI::TASK_PLAY_ANIM(l_43, getElem(2, &l_56, 4), "exit", 0x41000000, 0xC1000000, -1, 0, 0, 0, 0, 0);
- l_27 = 3;
- }
- }
- }
- else if (l_27 == 2)
- {
- var num20;
- bool flag4 = sub_8DE6(l_43, 0x87B9A382) == 0;
- if (!flag4)
- {
- num20 = ENTITY::IS_ENTITY_PLAYING_ANIM(l_43, getElem(1, &l_56, 4), l_60, 3);
- }
- if (flag4 | (num20 & (ENTITY::GET_ENTITY_ANIM_CURRENT_TIME(l_43, getElem(1, &l_56, 4), l_60) > 0.98f)))
- {
- AI::TASK_PLAY_ANIM(l_43, getElem(2, &l_56, 4), "exit", 0x41000000, 0xC1000000, -1, 0, 0, 0, 0, 0);
- l_27++;
- }
- }
- else if ((l_27 == 3) && (sub_8DE6(l_43, 0x87B9A382) == 0))
- {
- l_392 = 0;
- if (l_28 == 0)
- {
- sub_914D(1, 1);
- }
- else
- {
- sub_914D(l_28, 1);
- }
- }
- return;
- }
- STREAMING::REQUEST_ANIM_DICT(getElem(0, &l_56, 4));
- STREAMING::REQUEST_ANIM_DICT(getElem(1, &l_56, 4));
- STREAMING::REQUEST_ANIM_DICT(getElem(2, &l_56, 4));
- var num16 = STREAMING::HAS_ANIM_DICT_LOADED(getElem(0, &l_56, 4));
- var num17 = num16 & STREAMING::HAS_ANIM_DICT_LOADED(getElem(1, &l_56, 4));
- if ((num17 & STREAMING::HAS_ANIM_DICT_LOADED(getElem(2, &l_56, 4))) != 0)
- {
- AI::TASK_PLAY_ANIM(l_43, getElem(0, &l_56, 4), "enter", 0x41000000, 0xC1000000, -1, 0, 0, 0, 0, 0);
- l_27++;
- }
- return;
- }
- case 18:
- sub_8F5A();
- if (l_27 == 0)
- {
- STREAMING::REQUEST_ANIM_DICT("creatures@rottweiler@amb@world_dog_barking@enter");
- STREAMING::REQUEST_ANIM_DICT("creatures@rottweiler@amb@world_dog_barking@idle_a");
- STREAMING::REQUEST_ANIM_DICT("creatures@rottweiler@amb@world_dog_barking@exit");
- AI::TASK_GO_TO_ENTITY(l_43, PLAYER::PLAYER_PED_ID(), 20000, 3f, 1f, 0x40000000, 0);
- l_27++;
- }
- else
- {
- if (l_27 != 1)
- {
- if ((l_27 == 2) && (sub_8BCD() != 0))
- {
- l_378 = 1;
- if (l_28 == 0)
- {
- sub_914D(1, 1);
- }
- else
- {
- sub_914D(l_28, 1);
- }
- }
- return;
- }
- if (l_28 != 0)
- {
- sub_914D(l_28, 1);
- return;
- }
- if (sub_8DE6(l_43, 0x4924437D) == 0)
- {
- var num21 = STREAMING::HAS_ANIM_DICT_LOADED("creatures@rottweiler@amb@world_dog_barking@enter");
- var num22 = num21 & STREAMING::HAS_ANIM_DICT_LOADED("creatures@rottweiler@amb@world_dog_barking@idle_a");
- if ((num22 & STREAMING::HAS_ANIM_DICT_LOADED("creatures@rottweiler@amb@world_dog_barking@exit")) != 0)
- {
- AI::OPEN_SEQUENCE_TASK(&l_89);
- AI::TASK_TURN_PED_TO_FACE_ENTITY(0, PLAYER::PLAYER_PED_ID(), 0);
- AI::TASK_PLAY_ANIM(0, "creatures@rottweiler@amb@world_dog_barking@enter", "enter", 0x41000000, 0xC1000000, -1, 0, 0, 0, 0, 0);
- AI::TASK_PLAY_ANIM(0, "creatures@rottweiler@amb@world_dog_barking@idle_a", "idle_a", 0x41000000, 0xC1000000, -1, 0, 0, 0, 0, 0);
- AI::TASK_PLAY_ANIM(0, "creatures@rottweiler@amb@world_dog_barking@exit", "exit", 0x41000000, 0xC1000000, -1, 0, 0, 0, 0, 0);
- AI::CLOSE_SEQUENCE_TASK(l_89);
- AI::TASK_PERFORM_SEQUENCE(l_43, l_89);
- AI::CLEAR_SEQUENCE_TASK(&l_89);
- l_27++;
- }
- }
- }
- return;
- case 2:
- {
- sub_88B3();
- if (l_27 != 0)
- {
- if (l_27 == 1)
- {
- sub_4DFE();
- sub_36DF();
- sub_369C();
- sub_304C();
- sub_2E69();
- sub_2CAE();
- sub_8F9C();
- }
- return;
- }
- var num23 = sub_9282(l_43);
- if ((num23 & (PED::IS_PED_IN_ANY_VEHICLE(l_43, 0) == 0)) != 0)
- {
- AI::CLEAR_PED_TASKS(l_43);
- }
- sub_8855();
- sub_880B(0);
- sub_87B6(1);
- l_34 = -1;
- l_310 = GAMEPLAY::GET_GAME_TIMER();
- l_36 = GAMEPLAY::GET_GAME_TIMER();
- l_37 = GAMEPLAY::GET_GAME_TIMER() - 10000;
- struct _s = ENTITY::GET_ENTITY_COORDS(l_43, 1);
- setStruct(rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), 3, &l_50);
- STREAMING::REQUEST_ANIM_DICT("creatures@rottweiler@melee@streamed_taunts@");
- l_27++;
- return;
- }
- case 3:
- {
- if (l_27 != 0)
- {
- if ((l_27 == 1) && (AI::GET_SCRIPT_TASK_STATUS(l_43, 0x2A89B8A7) == 7))
- {
- struct _s = &l_367;
- if (ENTITY::IS_ENTITY_AT_COORD(l_43, rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), 2.5f, 2.5f, 4f, 0, 1, 0) != 0)
- {
- sub_914D(1, 1);
- }
- else
- {
- sub_914D(3, 1);
- }
- }
- return;
- }
- sub_91CA("WHINE");
- sub_8C08("CHOP_GOHOME", 0);
- sub_2C53(0);
- STREAMING::REMOVE_ANIM_DICT("creatures@rottweiler@melee@streamed_taunts@");
- var num24 = sub_9282(PLAYER::PLAYER_PED_ID());
- if ((num24 & WEAPON::HAS_PED_GOT_WEAPON(PLAYER::PLAYER_PED_ID(), 0x23C9F95C, 0)) != 0)
- {
- WEAPON::REMOVE_WEAPON_FROM_PED(PLAYER::PLAYER_PED_ID(), 0x23C9F95C);
- }
- if (sub_8FD9(l_43, 1) != 0)
- {
- sub_914D(1, 1);
- }
- else
- {
- struct _s = &l_367;
- if (sub_2C1A(l_43, rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), 1) >= 100f)
- {
- sub_914D(4, 1);
- return;
- }
- if (PED::IS_PED_IN_GROUP(l_43) != 0)
- {
- PED::REMOVE_PED_FROM_GROUP(l_43);
- }
- AI::CLEAR_PED_TASKS(l_43);
- struct _s = &l_367;
- if (sub_2C1A(l_43, rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), 1) < 20f)
- {
- struct _s = &l_367;
- AI::TASK_FOLLOW_NAV_MESH_TO_COORD(l_43, rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), 1f, 20000, 0.25f, 32, rPtr((&l_367) + 3));
- }
- else
- {
- struct _s = &l_367;
- AI::TASK_FOLLOW_NAV_MESH_TO_COORD(l_43, rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), 3f, 60000, 0.25f, 32, rPtr((&l_367) + 3));
- }
- l_27++;
- }
- return;
- }
- case 4:
- if (sub_8DE6(l_43, 0x6BA30179) == 0)
- {
- AI::TASK_SMART_FLEE_PED(l_43, PLAYER::PLAYER_PED_ID(), 100f, -1, 0, 0);
- }
- return;
- case 5:
- if (l_27 != 0)
- {
- if (l_27 == 1)
- {
- bool flag7;
- var num25;
- bool flag5 = sub_27B9() == 0;
- if (!flag5)
- {
- num25 = PED::IS_PED_IN_ANY_VEHICLE(PLAYER::PLAYER_PED_ID(), 0);
- }
- bool flag6 = flag5 | (num25 & (sub_2646() == 0));
- if (!flag6)
- {
- flag7 = l_41 > -1;
- }
- bool flag8 = flag6 | (flag7 & ((GAMEPLAY::GET_GAME_TIMER() - l_41) > 30000));
- if (!flag8)
- {
- struct _s = &l_356;
- }
- if (flag8 | ENTITY::IS_ENTITY_AT_COORD(PLAYER::PLAYER_PED_ID(), rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), 1f, 1f, 1f, 0, 1, 0))
- {
- l_27++;
- }
- else
- {
- struct _s = &l_359;
- if (ENTITY::IS_ENTITY_AT_COORD(l_43, rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), 3f, 3f, 4f, 0, 1, 0) != 0)
- {
- sub_2580();
- if (l_41 == -1)
- {
- l_41 = GAMEPLAY::GET_GAME_TIMER();
- }
- }
- else
- {
- sub_246C();
- if (sub_8DE6(l_43, 0x2A89B8A7) != 0)
- {
- num3 = AI::GET_NAVMESH_ROUTE_DISTANCE_REMAINING(l_43, &num5, &num4);
- if (num3 == 2)
- {
- l_379++;
- }
- else if ((num3 == 3) && (l_379 != 0))
- {
- l_379 = 0;
- }
- if (l_379 > 9)
- {
- sub_2980();
- }
- }
- else
- {
- struct _s = &l_359;
- AI::TASK_FOLLOW_NAV_MESH_TO_COORD(l_43, rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), 3f, -1, 3f, 36, 0x471C4000);
- }
- }
- }
- }
- else if (l_27 == 2)
- {
- AI::CLEAR_PED_TASKS(l_43);
- STREAMING::REMOVE_ANIM_DICT("creatures@rottweiler@indication@");
- sub_914D(2, 1);
- }
- break;
- }
- if (sub_2AD6() != 0)
- {
- if (sub_29D4() == 0)
- {
- sub_2980();
- break;
- }
- if (PED::IS_PED_IN_GROUP(l_43) != 0)
- {
- PED::REMOVE_PED_FROM_GROUP(l_43);
- }
- AI::CLEAR_PED_TASKS(l_43);
- l_31 = GAMEPLAY::GET_GAME_TIMER();
- l_32 = 1000;
- l_379 = 0;
- l_41 = -1;
- sub_29C8();
- l_27++;
- }
- break;
- case 6:
- if (l_27 != 0)
- {
- if ((l_27 == 1) && (sub_9282(PLAYER::PLAYER_PED_ID()) != 0))
- {
- bool flag9 = sub_8DE6(l_43, 0x2E85A751) == 0;
- bool flag10 = flag9 & (PED::IS_PED_IN_COMBAT(l_43, 0) == 0);
- if (flag10 | PED::IS_PED_IN_ANY_VEHICLE(PLAYER::PLAYER_PED_ID(), 1))
- {
- l_36 = GAMEPLAY::GET_GAME_TIMER();
- sub_914D(2, 1);
- }
- }
- }
- else
- {
- if (PED::IS_PED_IN_GROUP(l_43) != 0)
- {
- PED::REMOVE_PED_FROM_GROUP(l_43);
- }
- PED::SET_BLOCKING_OF_NON_TEMPORARY_EVENTS(l_43, 0);
- l_27++;
- }
- sub_88B3();
- return;
- case 7:
- if (l_27 != 0)
- {
- if ((l_27 == 1) && (sub_8BCD() != 0))
- {
- sub_8C08("CHOP_RETURN1", 0);
- STREAMING::REMOVE_ANIM_DICT("creatures@rottweiler@tricks@");
- sub_2449();
- }
- return;
- }
- STREAMING::REQUEST_ANIM_DICT("creatures@rottweiler@tricks@");
- if (STREAMING::HAS_ANIM_DICT_LOADED("creatures@rottweiler@tricks@") != 0)
- {
- AI::CLEAR_PED_TASKS(l_43);
- AI::OPEN_SEQUENCE_TASK(&l_89);
- if (PED::IS_PED_FACING_PED(l_43, PLAYER::PLAYER_PED_ID(), 10f) == 0)
- {
- AI::TASK_TURN_PED_TO_FACE_ENTITY(0, PLAYER::PLAYER_PED_ID(), 0);
- }
- AI::TASK_PLAY_ANIM(0, "creatures@rottweiler@tricks@", "beg_enter", 8f, -8f, -1, 4096, 0, 0, 0, 0);
- AI::TASK_PLAY_ANIM(0, "creatures@rottweiler@tricks@", "beg_loop", 8f, -8f, -1, 4096, 0, 0, 0, 0);
- AI::TASK_PLAY_ANIM(0, "creatures@rottweiler@tricks@", "beg_loop", 8f, -8f, -1, 4096, 0, 0, 0, 0);
- AI::TASK_PLAY_ANIM(0, "creatures@rottweiler@tricks@", "beg_exit", 8f, -8f, -1, 4096, 0, 0, 0, 0);
- AI::CLOSE_SEQUENCE_TASK(l_89);
- AI::TASK_PERFORM_SEQUENCE(l_43, l_89);
- AI::CLEAR_SEQUENCE_TASK(&l_89);
- sub_91CA("PLAYFUL");
- l_27++;
- }
- return;
- case 8:
- if (l_27 != 0)
- {
- if ((l_27 == 1) && (sub_8BCD() != 0))
- {
- sub_8C08("CHOP_RETURN1", 0);
- STREAMING::REMOVE_ANIM_DICT("creatures@rottweiler@tricks@");
- sub_2449();
- }
- return;
- }
- STREAMING::REQUEST_ANIM_DICT("creatures@rottweiler@tricks@");
- if (STREAMING::HAS_ANIM_DICT_LOADED("creatures@rottweiler@tricks@") != 0)
- {
- AI::CLEAR_PED_TASKS(l_43);
- AI::OPEN_SEQUENCE_TASK(&l_89);
- if (PED::IS_PED_FACING_PED(l_43, PLAYER::PLAYER_PED_ID(), 10f) == 0)
- {
- AI::TASK_TURN_PED_TO_FACE_ENTITY(0, PLAYER::PLAYER_PED_ID(), 0);
- }
- AI::TASK_PLAY_ANIM(0, "creatures@rottweiler@tricks@", "sit_enter", 8f, -8f, -1, 4096, 0, 0, 0, 0);
- AI::TASK_PLAY_ANIM(0, "creatures@rottweiler@tricks@", "sit_loop", 8f, -8f, -1, 4096, 0, 0, 0, 0);
- AI::TASK_PLAY_ANIM(0, "creatures@rottweiler@tricks@", "sit_loop", 8f, -8f, -1, 4096, 0, 0, 0, 0);
- AI::TASK_PLAY_ANIM(0, "creatures@rottweiler@tricks@", "sit_exit", 8f, -8f, -1, 4096, 0, 0, 0, 0);
- AI::CLOSE_SEQUENCE_TASK(l_89);
- AI::TASK_PERFORM_SEQUENCE(l_43, l_89);
- AI::CLEAR_SEQUENCE_TASK(&l_89);
- sub_91CA("PLAYFUL");
- l_27++;
- }
- return;
- case 9:
- if (l_27 != 0)
- {
- if ((l_27 == 1) && (sub_8BCD() != 0))
- {
- sub_8C08("CHOP_RETURN1", 0);
- STREAMING::REMOVE_ANIM_DICT("creatures@rottweiler@tricks@");
- sub_2449();
- }
- return;
- }
- STREAMING::REQUEST_ANIM_DICT("creatures@rottweiler@tricks@");
- if (STREAMING::HAS_ANIM_DICT_LOADED("creatures@rottweiler@tricks@") != 0)
- {
- AI::CLEAR_PED_TASKS(l_43);
- AI::OPEN_SEQUENCE_TASK(&l_89);
- if (PED::IS_PED_FACING_PED(l_43, PLAYER::PLAYER_PED_ID(), 10f) == 0)
- {
- AI::TASK_TURN_PED_TO_FACE_ENTITY(0, PLAYER::PLAYER_PED_ID(), 0);
- }
- AI::TASK_PLAY_ANIM(0, "creatures@rottweiler@tricks@", "sit_enter", 8f, -8f, -1, 4096, 0, 0, 0, 0);
- AI::TASK_PLAY_ANIM(0, "creatures@rottweiler@tricks@", "paw_right_enter", 8f, -8f, -1, 4096, 0, 0, 0, 0);
- AI::TASK_PLAY_ANIM(0, "creatures@rottweiler@tricks@", "paw_right_loop", 8f, -8f, -1, 4096, 0, 0, 0, 0);
- AI::TASK_PLAY_ANIM(0, "creatures@rottweiler@tricks@", "paw_right_loop", 8f, -8f, -1, 4096, 0, 0, 0, 0);
- AI::TASK_PLAY_ANIM(0, "creatures@rottweiler@tricks@", "paw_right_exit", 8f, -8f, -1, 4096, 0, 0, 0, 0);
- AI::TASK_PLAY_ANIM(0, "creatures@rottweiler@tricks@", "sit_exit", 8f, -8f, -1, 4096, 0, 0, 0, 0);
- AI::CLOSE_SEQUENCE_TASK(l_89);
- AI::TASK_PERFORM_SEQUENCE(l_43, l_89);
- AI::CLEAR_SEQUENCE_TASK(&l_89);
- sub_91CA("PLAYFUL");
- l_27++;
- }
- return;
- case 10:
- CONTROLS::DISABLE_CONTROL_ACTION(0, 215);
- CONTROLS::DISABLE_CONTROL_ACTION(0, 213);
- CONTROLS::DISABLE_CONTROL_ACTION(0, 214);
- CONTROLS::DISABLE_CONTROL_ACTION(0, 216);
- CONTROLS::DISABLE_CONTROL_ACTION(0, 31);
- CONTROLS::DISABLE_CONTROL_ACTION(0, 30);
- CONTROLS::DISABLE_CONTROL_ACTION(0, 22);
- CONTROLS::DISABLE_CONTROL_ACTION(0, 36);
- CONTROLS::DISABLE_CONTROL_ACTION(0, 42);
- CONTROLS::DISABLE_CONTROL_ACTION(0, 121);
- CONTROLS::DISABLE_CONTROL_ACTION(0, 120);
- CONTROLS::DISABLE_CONTROL_ACTION(0, 210);
- CONTROLS::DISABLE_CONTROL_ACTION(0, 211);
- CONTROLS::DISABLE_CONTROL_ACTION(0, 123);
- CONTROLS::DISABLE_CONTROL_ACTION(0, 24);
- CONTROLS::DISABLE_CONTROL_ACTION(0, 204);
- CONTROLS::DISABLE_CONTROL_ACTION(0, 209);
- CONTROLS::DISABLE_CONTROL_ACTION(0, 208);
- CONTROLS::DISABLE_CONTROL_ACTION(0, 37);
- CONTROLS::DISABLE_CONTROL_ACTION(0, 21);
- if (l_27 == 0)
- {
- STREAMING::REQUEST_ANIM_DICT("creatures@rottweiler@tricks@");
- AI::CLEAR_PED_TASKS(PLAYER::PLAYER_PED_ID());
- AI::TASK_TURN_PED_TO_FACE_ENTITY(PLAYER::PLAYER_PED_ID(), l_43, 0);
- l_27++;
- }
- else
- {
- var num6;
- if (l_27 != 1)
- {
- if (l_27 == 2)
- {
- bool flag11 = AI::GET_SCRIPT_TASK_STATUS(l_43, 0x2A89B8A7) == 7;
- if (!flag11)
- {
- struct _s = &num6;
- }
- if (flag11 | (sub_2C1A(l_43, rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), 0) < 0.3f))
- {
- if (PED::IS_PED_FACING_PED(l_43, PLAYER::PLAYER_PED_ID(), 15f) == 0)
- {
- AI::TASK_TURN_PED_TO_FACE_ENTITY(l_43, PLAYER::PLAYER_PED_ID(), 0);
- l_452 = 0;
- }
- else
- {
- l_452 = 1;
- }
- if (PED::IS_PED_FACING_PED(PLAYER::PLAYER_PED_ID(), l_43, 15f) == 0)
- {
- AI::TASK_TURN_PED_TO_FACE_ENTITY(PLAYER::PLAYER_PED_ID(), l_43, 0);
- l_453 = 0;
- }
- else
- {
- l_453 = 1;
- }
- l_27++;
- }
- }
- else if (l_27 == 3)
- {
- bool flag14;
- STREAMING::REQUEST_ANIM_DICT("creatures@rottweiler@tricks@");
- bool flag12 = l_452 == 1;
- bool flag13 = flag12 | (AI::GET_SCRIPT_TASK_STATUS(l_43, 0xCBCE4595) == 7);
- if (flag13)
- {
- flag14 = l_453 == 1;
- }
- bool flag15 = flag13 & (flag14 | (AI::GET_SCRIPT_TASK_STATUS(PLAYER::PLAYER_PED_ID(), 0xCBCE4595) == 7));
- if (flag15 & STREAMING::HAS_ANIM_DICT_LOADED("creatures@rottweiler@tricks@"))
- {
- AI::TASK_PLAY_ANIM(l_43, "creatures@rottweiler@tricks@", "petting_chop", 8f, -8f, -1, 8, 0, 0, 0, 0);
- AI::TASK_PLAY_ANIM(PLAYER::PLAYER_PED_ID(), "creatures@rottweiler@tricks@", "petting_franklin", 8f, -8f, -1, 8, 0, 0, 0, 0);
- sub_91CA("PLAYFUL");
- l_27++;
- }
- }
- else if ((l_27 == 4) && (AI::GET_SCRIPT_TASK_STATUS(l_43, 0x87B9A382) == 7))
- {
- sub_8C08("CHOP_RETURN1", 0);
- STREAMING::REMOVE_ANIM_DICT("creatures@rottweiler@tricks@");
- sub_2449();
- }
- return;
- }
- if (AI::GET_SCRIPT_TASK_STATUS(PLAYER::PLAYER_PED_ID(), 0xCBCE4595) == 7)
- {
- AI::CLEAR_PED_TASKS(l_43);
- struct _s = ENTITY::GET_OFFSET_FROM_ENTITY_IN_WORLD_COORDS(PLAYER::PLAYER_PED_ID(), 0f, 1f, 1f);
- setStruct(rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), 3, &num6);
- struct _s = &num6;
- GAMEPLAY::GET_GROUND_Z_FOR_3D_COORD(rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), (&num6) + 2);
- struct _s = &num6;
- if (sub_2C1A(l_43, rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), 0) > 0.3f)
- {
- struct _s = &num6;
- AI::TASK_FOLLOW_NAV_MESH_TO_COORD(l_43, rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), 1f, 5000, 0x3E800000, 0, 0x471C4000);
- }
- l_27++;
- }
- }
- return;
- case 12:
- if (l_27 != 0)
- {
- if (l_27 == 1)
- {
- if (sub_2438() == 0)
- {
- STREAMING::REQUEST_ANIM_DICT("creatures@rottweiler@tricks@");
- if (STREAMING::HAS_ANIM_DICT_LOADED("creatures@rottweiler@tricks@") != 0)
- {
- AI::CLEAR_PED_TASKS(l_43);
- AI::TASK_PLAY_ANIM(l_43, "creatures@rottweiler@tricks@", "sit_exit", 8f, -8f, -1, 4096, 0, 0, 0, 0);
- sub_8C08("CHOP_WALK", 0);
- l_27++;
- }
- }
- }
- else if ((l_27 == 2) && (AI::GET_SCRIPT_TASK_STATUS(l_43, 0x87B9A382) == 7))
- {
- STREAMING::REMOVE_ANIM_DICT("creatures@rottweiler@tricks@");
- l_36 = GAMEPLAY::GET_GAME_TIMER();
- sub_914D(2, 1);
- }
- return;
- }
- if (PED::IS_PED_IN_GROUP(l_43) != 0)
- {
- PED::REMOVE_PED_FROM_GROUP(l_43);
- }
- STREAMING::REQUEST_ANIM_DICT("creatures@rottweiler@tricks@");
- if (STREAMING::HAS_ANIM_DICT_LOADED("creatures@rottweiler@tricks@") != 0)
- {
- AI::CLEAR_PED_TASKS(l_43);
- AI::OPEN_SEQUENCE_TASK(&l_89);
- AI::TASK_TURN_PED_TO_FACE_ENTITY(0, PLAYER::PLAYER_PED_ID(), 0);
- AI::TASK_PLAY_ANIM(0, "creatures@rottweiler@tricks@", "sit_enter", 8f, -8f, -1, 4096, 0, 0, 0, 0);
- AI::TASK_PLAY_ANIM(0, "creatures@rottweiler@tricks@", "sit_loop", 8f, -8f, -1, 4097, 0, 0, 0, 0);
- AI::CLOSE_SEQUENCE_TASK(l_89);
- AI::TASK_PERFORM_SEQUENCE(l_43, l_89);
- AI::CLEAR_SEQUENCE_TASK(&l_89);
- l_27++;
- }
- return;
- case 13:
- {
- if (l_27 != 0)
- {
- if (l_27 == 1)
- {
- if (sub_8BCD() != 0)
- {
- if (GRAPHICS::DOES_PARTICLE_FX_LOOPED_EXIST(l_53) != 0)
- {
- GRAPHICS::STOP_PARTICLE_FX_LOOPED(l_53, 0);
- }
- if (sub_8FD9(l_43, 0) != 0)
- {
- sub_914D(1, 1);
- }
- else
- {
- sub_914D(2, 1);
- }
- }
- else if (GRAPHICS::DOES_PARTICLE_FX_LOOPED_EXIST(l_53) == 0)
- {
- bool flag16 = l_38 > -1;
- if (flag16 & ((GAMEPLAY::GET_GAME_TIMER() - l_38) > 4000))
- {
- l_53 = GRAPHICS::START_PARTICLE_FX_LOOPED_ON_ENTITY("ent_anim_dog_poo", l_43, 0f, -0.15f, -0.2f, 0f, 0f, 0f, 0x3F800000, 0, 0, 0);
- }
- }
- else if ((GAMEPLAY::GET_GAME_TIMER() - l_38) > 10000)
- {
- GRAPHICS::STOP_PARTICLE_FX_LOOPED(l_53, 0);
- l_38 = -1;
- }
- }
- return;
- }
- if (PED::IS_PED_IN_GROUP(l_43) != 0)
- {
- PED::REMOVE_PED_FROM_GROUP(l_43);
- }
- STREAMING::REQUEST_ANIM_DICT("creatures@rottweiler@move");
- STREAMING::REQUEST_PTFX_ASSET();
- var num26 = STREAMING::HAS_ANIM_DICT_LOADED("creatures@rottweiler@move");
- if ((num26 & STREAMING::HAS_PTFX_ASSET_LOADED()) != 0)
- {
- AI::CLEAR_PED_TASKS(l_43);
- AI::OPEN_SEQUENCE_TASK(&l_89);
- AI::TASK_PLAY_ANIM(0, "creatures@rottweiler@move", "dump_enter", 8f, -8f, -1, 4096, 0, 0, 0, 0);
- AI::TASK_PLAY_ANIM(0, "creatures@rottweiler@move", "dump_loop", 8f, -8f, -1, 4096, 0, 0, 0, 0);
- AI::TASK_PLAY_ANIM(0, "creatures@rottweiler@move", "dump_exit", 8f, -8f, -1, 4096, 0, 0, 0, 0);
- AI::CLOSE_SEQUENCE_TASK(l_89);
- AI::TASK_PERFORM_SEQUENCE(l_43, l_89);
- AI::CLEAR_SEQUENCE_TASK(&l_89);
- sub_91CA("AGITATED");
- l_38 = GAMEPLAY::GET_GAME_TIMER();
- l_27++;
- }
- return;
- }
- case 14:
- if (l_27 != 0)
- {
- if (l_27 == 1)
- {
- STREAMING::REQUEST_ANIM_DICT("creatures@rottweiler@move");
- if (sub_8DE6(l_43, 0x2A89B8A7) == 0)
- {
- struct _s = ENTITY::GET_ENTITY_COORDS(l_393, 1);
- AI::TASK_FOLLOW_NAV_MESH_TO_COORD(l_43, rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), 2f, 20000, 0.25f, 36, 0x471C4000);
- }
- struct _s = ENTITY::GET_ENTITY_COORDS(l_393, 1);
- if (sub_2C1A(l_43, rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), 1) < 2f)
- {
- bool flag17 = GAMEPLAY::IS_BIT_SET(rPtr(((&g_86838) + 7661) + 94), 10) == 0;
- bool flag18 = flag17 & (UI::IS_HELP_MESSAGE_BEING_DISPLAYED() == 0);
- if (flag18 & (STREAMING::STOP_PLAYER_REMAIN_ARCADE() == 0))
- {
- GAMEPLAY::SET_BIT(((&g_86838) + 7661) + 94, 10);
- if (l_365 == 0)
- {
- sub_2421("CHOP_H_BEHAVE", -1);
- }
- else
- {
- sub_2421("CHOP_H_BEHAVA", -1);
- }
- }
- AI::CLEAR_PED_TASKS(l_43);
- var num27 = STREAMING::HAS_ANIM_DICT_LOADED("creatures@rottweiler@move");
- if ((num27 & (ENTITY::GET_ENTITY_SPEED(l_43) < 1f)) != 0)
- {
- struct _s = ENTITY::GET_ENTITY_COORDS(l_43, 1);
- setStruct(rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), 3, &l_395);
- l_394 = GAMEPLAY::GET_RANDOM_INT_IN_RANGE(0, 2);
- struct _s = &l_395;
- struct _s = ENTITY::GET_ENTITY_COORDS(l_393, 1);
- l_401 = sub_2407(rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8));
- if (l_394 == 0)
- {
- struct _s = &l_395;
- struct _s = OBJECT::0x87A42A12(rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), l_401, -0.5f, 1f, 0f);
- setStruct(rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), 3, &l_398);
- }
- else
- {
- struct _s = &l_395;
- struct _s = OBJECT::0x87A42A12(rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), l_401, 0.5f, 1f, 0f);
- setStruct(rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), 3, &l_398);
- }
- AI::OPEN_SEQUENCE_TASK(&l_89);
- struct _s = &l_398;
- AI::TASK_TURN_PED_TO_FACE_COORD(0, rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), 0);
- if (l_394 == 0)
- {
- AI::TASK_PLAY_ANIM(0, "creatures@rottweiler@move", "pee_right_enter", 8f, -8f, -1, 0, 0, 0, 0, 0);
- AI::TASK_PLAY_ANIM(0, "creatures@rottweiler@move", "pee_right_idle", 8f, -8f, -1, 0, 0, 0, 0, 0);
- AI::TASK_PLAY_ANIM(0, "creatures@rottweiler@move", "pee_right_exit", 8f, -8f, -1, 0, 0, 0, 0, 0);
- }
- else
- {
- AI::TASK_PLAY_ANIM(0, "creatures@rottweiler@move", "pee_left_enter", 8f, -8f, -1, 0, 0, 0, 0, 0);
- AI::TASK_PLAY_ANIM(0, "creatures@rottweiler@move", "pee_left_idle", 8f, -8f, -1, 0, 0, 0, 0, 0);
- AI::TASK_PLAY_ANIM(0, "creatures@rottweiler@move", "pee_left_exit", 8f, -8f, -1, 0, 0, 0, 0, 0);
- }
- AI::CLOSE_SEQUENCE_TASK(l_89);
- AI::TASK_PERFORM_SEQUENCE(l_43, l_89);
- AI::CLEAR_SEQUENCE_TASK(&l_89);
- l_38 = GAMEPLAY::GET_GAME_TIMER();
- l_27++;
- }
- }
- }
- else if (l_27 == 2)
- {
- if (sub_8BCD() != 0)
- {
- if (GRAPHICS::DOES_PARTICLE_FX_LOOPED_EXIST(l_53) != 0)
- {
- GRAPHICS::STOP_PARTICLE_FX_LOOPED(l_53, 0);
- }
- sub_91CA("BARK");
- sub_914D(2, 1);
- }
- else if (GRAPHICS::DOES_PARTICLE_FX_LOOPED_EXIST(l_53) == 0)
- {
- bool flag19 = l_38 > -1;
- if (flag19 & ((GAMEPLAY::GET_GAME_TIMER() - l_38) > 7000))
- {
- if (l_394 == 0)
- {
- l_53 = GRAPHICS::START_PARTICLE_FX_LOOPED_ON_ENTITY("ent_anim_dog_peeing", l_43, 0.1f, -0.32f, -0.04f, 0f, 0f, 30f, 0x3F800000, 0, 0, 0);
- }
- else
- {
- l_53 = GRAPHICS::START_PARTICLE_FX_LOOPED_ON_ENTITY("ent_anim_dog_peeing", l_43, -0.1f, -0.32f, -0.04f, 0f, 0f, 150f, 0x3F800000, 0, 0, 0);
- }
- }
- }
- else if ((GAMEPLAY::GET_GAME_TIMER() - l_38) > 16000)
- {
- GRAPHICS::STOP_PARTICLE_FX_LOOPED(l_53, 0);
- l_38 = -1;
- }
- }
- return;
- }
- STREAMING::REQUEST_PTFX_ASSET();
- if (STREAMING::HAS_PTFX_ASSET_LOADED() != 0)
- {
- if (PED::IS_PED_IN_GROUP(l_43) != 0)
- {
- PED::REMOVE_PED_FROM_GROUP(l_43);
- }
- sub_91CA("AGITATED");
- l_27++;
- }
- return;
- case 15:
- if (PED::IS_PED_IN_ANY_VEHICLE(PLAYER::PLAYER_PED_ID(), 1) != 0)
- {
- sub_2C53(0);
- l_36 = GAMEPLAY::GET_GAME_TIMER();
- sub_914D(2, 1);
- return;
- }
- if (l_27 != 0)
- {
- if (l_27 == 1)
- {
- if (ENTITY::DOES_ENTITY_EXIST(l_437) != 0)
- {
- if (ENTITY::IS_ENTITY_IN_WATER(l_437) == 0)
- {
- if ((GAMEPLAY::GET_GAME_TIMER() - l_444) > 500)
- {
- if (sub_1CA6() != 0)
- {
- STREAMING::REQUEST_ANIM_DICT("creatures@rottweiler@move");
- if (STREAMING::HAS_ANIM_DICT_LOADED("creatures@rottweiler@move") != 0)
- {
- AI::OPEN_SEQUENCE_TASK(&l_89);
- if (l_443 == 0x23C9F95C)
- {
- AI::TASK_PLAY_ANIM(0, "creatures@rottweiler@move", "fetch_pickup", 8f, -8f, -1, 49152, 0, 0, 0, 0);
- }
- AI::TASK_GO_TO_ENTITY(0, PLAYER::PLAYER_PED_ID(), 20000, 4f, 3f, 0x40000000, 0);
- AI::CLOSE_SEQUENCE_TASK(l_89);
- AI::TASK_PERFORM_SEQUENCE(l_43, l_89);
- AI::CLEAR_SEQUENCE_TASK(&l_89);
- if (l_443 == 0x23C9F95C)
- {
- l_441 = 1;
- }
- l_27++;
- }
- }
- else if (sub_8DE6(l_43, 0x4924437D) == 0)
- {
- AI::TASK_GO_TO_ENTITY(l_43, l_437, 30000, 0.5f, 3f, 0x40000000, 0);
- l_380++;
- l_379 = 0;
- if (l_380 > 3)
- {
- AI::TASK_GO_TO_ENTITY(l_43, PLAYER::PLAYER_PED_ID(), 20000, 5f, 3f, 0x40000000, 0);
- sub_2C53(1);
- l_27++;
- }
- }
- else
- {
- num3 = AI::GET_NAVMESH_ROUTE_DISTANCE_REMAINING(l_43, &num5, &num4);
- if (num3 == 2)
- {
- l_381 = ENTITY::GET_ENTITY_HEIGHT_ABOVE_GROUND(l_437);
- if (l_381 < 1f)
- {
- l_379++;
- }
- }
- else if ((num3 == 3) && (l_442 == 0))
- {
- sub_91CA("BARK");
- if (l_443 == 0x23C9F95C)
- {
- sub_8C08("CHOP_FETCH", 0);
- }
- l_442 = 1;
- }
- if (l_379 > 9)
- {
- AI::TASK_GO_TO_ENTITY(l_43, PLAYER::PLAYER_PED_ID(), 20000, 5f, 3f, 0x40000000, 0);
- sub_2C53(1);
- l_27++;
- }
- }
- }
- }
- else
- {
- AI::TASK_GO_TO_ENTITY(l_43, PLAYER::PLAYER_PED_ID(), 20000, 5f, 3f, 0x40000000, 0);
- l_27++;
- }
- }
- else
- {
- AI::TASK_GO_TO_ENTITY(l_43, PLAYER::PLAYER_PED_ID(), 20000, 5f, 3f, 0x40000000, 0);
- l_27++;
- }
- }
- else if (l_27 == 2)
- {
- if (l_441 == 1)
- {
- var num28 = ENTITY::DOES_ENTITY_EXIST(l_437);
- var num29 = num28 & ENTITY::IS_ENTITY_PLAYING_ANIM(l_43, "creatures@rottweiler@move", "fetch_pickup", 3);
- if ((num29 & (ENTITY::GET_ENTITY_ANIM_CURRENT_TIME(l_43, "creatures@rottweiler@move", "fetch_pickup") > 0.25f)) != 0)
- {
- ENTITY::ATTACH_ENTITY_TO_ENTITY(l_437, l_43, 28, 0.2042f, 0f, -0.0608f, 0f, 0f, 0f, 0, 0, 0, 0, 2, 1);
- AUDIO::SET_AUDIO_FLAG("DisableBarks", 1);
- l_27++;
- }
- }
- else
- {
- l_27++;
- }
- }
- else if (l_27 == 3)
- {
- if (sub_1C4A(PLAYER::PLAYER_PED_ID(), l_43, 1) < 5f)
- {
- if (l_443 == 0x23C9F95C)
- {
- if (l_441 == 1)
- {
- STREAMING::REQUEST_ANIM_DICT("creatures@rottweiler@move");
- if (STREAMING::HAS_ANIM_DICT_LOADED("creatures@rottweiler@move") != 0)
- {
- AI::OPEN_SEQUENCE_TASK(&l_89);
- AI::TASK_TURN_PED_TO_FACE_ENTITY(0, PLAYER::PLAYER_PED_ID(), 0);
- AI::TASK_PLAY_ANIM(0, "creatures@rottweiler@move", "fetch_drop", 8f, -8f, -1, 16384, 0, 0, 0, 0);
- AI::CLOSE_SEQUENCE_TASK(l_89);
- AI::TASK_PERFORM_SEQUENCE(l_43, l_89);
- AI::CLEAR_SEQUENCE_TASK(&l_89);
- sub_8C08("CHOP_RETURN1", 0);
- AUDIO::SET_AUDIO_FLAG("DisableBarks", 0);
- l_27++;
- }
- }
- else
- {
- sub_91CA("BREATH_AGITATED");
- sub_8C08("CHOP_RETURN2", 0);
- sub_914D(2, 1);
- }
- }
- else
- {
- sub_91CA("BARK_WHINE");
- sub_2C53(1);
- sub_914D(2, 1);
- }
- }
- }
- else if (l_27 == 4)
- {
- bool flag20 = sub_8DE6(l_43, 0xE763797) == 0;
- if (flag20 & (ENTITY::DOES_ENTITY_EXIST(l_437) == 0))
- {
- if (sub_1BF0(0) != 0)
- {
- sub_880B(0);
- }
- else
- {
- sub_880B(1);
- }
- l_36 = GAMEPLAY::GET_GAME_TIMER();
- sub_914D(2, 1);
- }
- else if (ENTITY::DOES_ENTITY_EXIST(l_437) != 0)
- {
- if (ENTITY::IS_ENTITY_ATTACHED(l_437) != 0)
- {
- var num30 = ENTITY::IS_ENTITY_PLAYING_ANIM(l_43, "creatures@rottweiler@move", "fetch_drop", 3);
- if ((num30 & (ENTITY::GET_ENTITY_ANIM_CURRENT_TIME(l_43, "creatures@rottweiler@move", "fetch_drop") > 0.4f)) != 0)
- {
- ENTITY::DETACH_ENTITY(l_437, 1, 1);
- }
- }
- else
- {
- bool flag21 = sub_1C4A(PLAYER::PLAYER_PED_ID(), l_437, 1) < 1.5f;
- bool flag22 = flag21 | (sub_1C4A(PLAYER::PLAYER_PED_ID(), l_437, 1) > 20f);
- if (flag22 | PED::IS_PED_IN_ANY_VEHICLE(PLAYER::PLAYER_PED_ID(), 0))
- {
- sub_2C53(1);
- }
- if (sub_8DE6(l_43, 0xE763797) == 0)
- {
- sub_8855();
- }
- }
- }
- }
- }
- else
- {
- sub_2C53(1);
- if (GAMEPLAY::0x507BC6F7(PLAYER::PLAYER_PED_ID(), l_443, 50f, &l_438, &l_437, 0) != 0)
- {
- sub_1D01(294, 0, 0);
- WEAPON::SET_CURRENT_PED_WEAPON(PLAYER::PLAYER_PED_ID(), 0xA2719263, 1);
- l_441 = 0;
- l_442 = 0;
- l_380 = 0;
- if (PED::IS_PED_IN_GROUP(l_43) != 0)
- {
- PED::REMOVE_PED_FROM_GROUP(l_43);
- }
- l_444 = GAMEPLAY::GET_GAME_TIMER();
- l_27++;
- }
- }
- sub_88B3();
- return;
- case 16:
- if (l_27 != 0)
- {
- if ((l_27 == 1) && (ENTITY::IS_ENTITY_ATTACHED(PLAYER::PLAYER_PED_ID()) == 0))
- {
- var num12;
- var num9 = 99999f;
- for (var i = 0; i < 4; i++)
- {
- struct _s = ENTITY::GET_ENTITY_COORDS(PLAYER::PLAYER_PED_ID(), 1);
- struct _s = getElemPtr(i, &l_63, 12);
- var num10 = GAMEPLAY::GET_DISTANCE_BETWEEN_COORDS(rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), 1);
- if (num10 < num9)
- {
- num9 = num10;
- num12 = i;
- }
- }
- if (ENTITY::IS_ENTITY_ATTACHED(l_43) != 0)
- {
- ENTITY::DETACH_ENTITY(l_43, 1, 1);
- }
- struct _s = getElemPtr(num12, &l_63, 12);
- sub_9228(l_43, rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), getElem(num12, &l_76, 4), 0, 1);
- PED::0x187B9070(l_43, 0, 0);
- l_36 = GAMEPLAY::GET_GAME_TIMER();
- sub_914D(2, 1);
- }
- return;
- }
- STREAMING::REQUEST_ANIM_DICT("creatures@rottweiler@in_vehicle@std_car");
- if (STREAMING::HAS_ANIM_DICT_LOADED("creatures@rottweiler@in_vehicle@std_car") != 0)
- {
- if (PED::IS_PED_IN_GROUP(l_43) != 0)
- {
- PED::REMOVE_PED_FROM_GROUP(l_43);
- }
- ENTITY::ATTACH_ENTITY_TO_ENTITY(l_43, ENTITY::GET_ENTITY_ATTACHED_TO(PLAYER::PLAYER_PED_ID()), 0, 0f, 0f, -6.1f, 0f, 0f, 0f, 1, 0, 0, 0, 2, 1);
- AI::TASK_PLAY_ANIM(l_43, "creatures@rottweiler@in_vehicle@std_car", "sit", 1000f, -1000f, -1, 9, 0, 0, 0, 0);
- l_27++;
- }
- return;
- default:
- return;
- }
- sub_88B3();
- }
- var sub_1BF0(var A_0)
- {
- if (A_0 == 1)
- {
- if ((rPtr((&g_10433) + 1) > 3) && (GAMEPLAY::IS_BIT_SET(g_1686, 14) != 0))
- {
- return 1;
- }
- return 0;
- }
- if (SCRIPT::0x029D3841(0xD30D3AEF) > 0)
- {
- return 1;
- }
- if (rPtr((&g_10433) + 1) > 3)
- {
- return 1;
- }
- return 0;
- }
- var sub_1C4A(var A_0, var A_1, var A_2)
- {
- var num3;
- var num6;
- if (ENTITY::IS_ENTITY_DEAD(A_0) == 0)
- {
- struct _s = ENTITY::GET_ENTITY_COORDS(A_0, 1);
- setStruct(rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), 3, &num3);
- }
- else
- {
- struct _s = ENTITY::GET_ENTITY_COORDS(A_0, 0);
- setStruct(rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), 3, &num3);
- }
- if (ENTITY::IS_ENTITY_DEAD(A_1) == 0)
- {
- struct _s = ENTITY::GET_ENTITY_COORDS(A_1, 1);
- setStruct(rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), 3, &num6);
- }
- else
- {
- struct _s = ENTITY::GET_ENTITY_COORDS(A_1, 0);
- setStruct(rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), 3, &num6);
- }
- struct _s = &num3;
- struct _s = &num6;
- return GAMEPLAY::GET_DISTANCE_BETWEEN_COORDS(rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), A_2);
- }
- var sub_1CA6()
- {
- if (sub_1C4A(l_43, l_437, 1) < (0.5f + 0.25f))
- {
- var num3;
- var num6;
- struct _s = ENTITY::GET_ENTITY_COORDS(l_437, 1);
- setStruct(rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), 3, &num3);
- var i9 = rPtr((&num3) + 1);
- if ((GAMEPLAY::GET_GROUND_Z_FOR_3D_COORD(num3, i9, rPtr((&num3) + 2) + (1f), &num6) != 0) && (GAMEPLAY::ABSF(rPtr((&num3) + 2) - num6) < 0.1f))
- {
- return 1;
- }
- }
- return 0;
- }
- void sub_1D01(var A_0, var A_1, var A_2)
- {
- bool flag1 = A_0 == 318;
- if (!(flag1 | (A_0 > 318)))
- {
- sub_22CC(891 + A_0, 1, -1, 1);
- }
- var num3 = 1;
- if (rPtr(getElemPtr(A_0, (&g_86838) + 7793, 48) + 20) == 1)
- {
- bool flag2 = rPtr(getElemPtr(A_0, (&g_86838) + 7793, 48) + 24) == 11;
- if (flag2 | (rPtr(getElemPtr(A_0, (&g_86838) + 7793, 48) + 24) == 12))
- {
- num3 = 0;
- }
- }
- else
- {
- wPtr(1, getElemPtr(A_0, (&g_86838) + 7793, 48) + 20);
- wPtr(A_1, getElemPtr(A_0, (&g_86838) + 7793, 48) + 40);
- wPtr(A_2, getElemPtr(A_0, (&g_86838) + 7793, 48) + 44);
- if (A_0 == 287)
- {
- STATS::0x4AC39C6C(0x86267624, 50, 0);
- }
- if (A_0 == 286)
- {
- STATS::0x4AC39C6C(0x52AF42B, 50, 0);
- }
- if (A_0 == 299)
- {
- STATS::0x4AC39C6C(0xE99D3D10, 50, 0);
- }
- }
- if (num3 != 0)
- {
- sub_1DE9();
- }
- }
- void sub_1DE9()
- {
- var num3 = 0;
- g_86617 = 0;
- g_86618 = 0;
- g_86619 = 0;
- g_86620 = 0;
- g_86621 = 0;
- g_86622 = 0;
- g_86623 = 0;
- var num4 = 0f;
- var num5 = 0f;
- var num6 = 0f;
- var num7 = 0f;
- var num8 = 0f;
- var num9 = 0f;
- var num10 = 0f;
- wPtr(0f, ((&g_86838) + 7793) + 3817);
- Label_00A9:
- if (num3 >= 318)
- {
- var num11;
- if ((g_86600 > 0) && (g_86617 == g_86600))
- {
- num4 = 55f;
- }
- if ((g_86601 > 0) && (g_86618 == g_86601))
- {
- num5 = 10f;
- }
- if ((g_86602 > 0) && (g_86619 == g_86602))
- {
- num6 = 0f;
- }
- if ((g_86603 > 0) && (g_86620 == g_86603))
- {
- num7 = 10f;
- }
- if (g_86604 > 0)
- {
- bool flag1 = g_86621 == g_86604;
- bool flag2 = flag1 | (((g_86604 * 10) / g_86621) < 41);
- bool flag3 = flag2 | (g_86621 > g_86607);
- if (flag3 | (g_86621 == g_86607))
- {
- if ((GAMEPLAY::IS_BIT_SET(rPtr(((&g_86838) + 7793) + 3820), 14) == 0) && (g_86621 == g_86604))
- {
- STATS::0x4AC39C6C(0x817B5488, g_86604, 0);
- GAMEPLAY::SET_BIT(((&g_86838) + 7793) + 3820, 14);
- }
- num8 = 5f;
- }
- }
- if ((g_86605 > 0) && (g_86622 == g_86605))
- {
- num9 = 15f;
- }
- if ((g_86606 > 0) && (g_86623 == g_86606))
- {
- num10 = 5f;
- }
- wPtr((((((num4 + num5) + num6) + num7) + num8) + num9) + num10, ((&g_86838) + 7793) + 3817);
- bool flag4 = g_86621 > g_86607;
- if (flag4 | (g_86621 == g_86607))
- {
- num11 = g_86607;
- }
- else
- {
- num11 = g_86621;
- }
- STATS::STAT_SET_INT(0xC115F6B0, g_86617, 1);
- STATS::STAT_SET_INT(0xE6FB1EBC, g_86600, 1);
- STATS::STAT_SET_INT(0x4F5B53BA, g_86618, 1);
- STATS::STAT_SET_INT(0x2053B0A0, g_86601, 1);
- STATS::STAT_SET_INT(0x5D0E88A9, g_86619, 1);
- STATS::STAT_SET_INT(0x214A068C, g_86602, 1);
- STATS::STAT_SET_INT(0xCD2D71F9, g_86620, 1);
- STATS::STAT_SET_INT(0xFEC8B0D8, g_86603, 1);
- STATS::STAT_SET_INT(0x817B5488, num11, 1);
- STATS::STAT_SET_INT(0xF32498EA, g_86607, 1);
- STATS::STAT_SET_INT(0xF82362EF, g_86623 + g_86622, 1);
- STATS::STAT_SET_INT(0x83A486E8, g_86606 + g_86605, 1);
- g_86624 = (g_86617 * 100) / g_86600;
- g_86626 = ((g_86619 + g_86618) * 100) / (g_86602 + g_86601);
- g_86625 = ((g_86620 + num11) * 100) / (g_86603 + g_86607);
- g_86627 = ((g_86622 + g_86623) * 100) / (g_86605 + g_86606);
- STATS::STAT_SET_FLOAT(0x486CDCFF, rPtr(((&g_86838) + 7793) + 3817), 1);
- STATS::STAT_SET_INT(0x6C11A0FD, g_86624, 1);
- STATS::STAT_SET_INT(0xB82247AC, g_86625, 1);
- STATS::STAT_SET_INT(0x1CA274FA, g_86626, 1);
- if ((DATAFILE::0x5DCD0796() == 0) && (g_59842 == 0))
- {
- bool flag5 = sub_22C1() != 2;
- if (flag5 & (NETWORK::NETWORK_IS_GAME_IN_PROGRESS() == 0))
- {
- if (NETWORK::NETWORK_IS_CLOUD_AVAILABLE() != 0)
- {
- g_86615 = 0;
- }
- if (g_46771 == 0)
- {
- sub_2267();
- }
- }
- }
- }
- else
- {
- if (rPtr(getElemPtr(num3, (&g_86838) + 7793, 48) + 20) == 1)
- {
- switch (rPtr(getElemPtr(num3, (&g_86838) + 7793, 48) + 24))
- {
- case 1:
- g_86617++;
- num4 += rPtr(getElemPtr(num3, (&g_86838) + 7793, 48) + 16);
- break;
- case 3:
- g_86618++;
- num5 += rPtr(getElemPtr(num3, (&g_86838) + 7793, 48) + 16);
- break;
- case 5:
- g_86619++;
- num6 += rPtr(getElemPtr(num3, (&g_86838) + 7793, 48) + 16);
- break;
- case 7:
- g_86620++;
- num7 += rPtr(getElemPtr(num3, (&g_86838) + 7793, 48) + 16);
- break;
- case 9:
- g_86621++;
- num8 += (rPtr(getElemPtr(num3, (&g_86838) + 7793, 48) + 16) * 4f);
- break;
- case 11:
- g_86622++;
- num9 += rPtr(getElemPtr(num3, (&g_86838) + 7793, 48) + 16);
- break;
- case 13:
- g_86623++;
- num10 += rPtr(getElemPtr(num3, (&g_86838) + 7793, 48) + 16);
- break;
- }
- }
- num3++;
- goto Label_00A9;
- }
- }
- var sub_2267()
- {
- if (sub_22B1() != 0)
- {
- return 0;
- }
- if (rPtr((&g_80916) + 8) != 0)
- {
- if (rPtr((&g_80916) + 10) > 0)
- {
- return 0;
- }
- }
- else if (rPtr((&g_80916) + 10) > 1)
- {
- return 0;
- }
- wPtr(rPtr((&g_80916) + 10) + 1, (&g_80916) + 10);
- return 1;
- }
- var sub_22B1()
- {
- return GAMEPLAY::IS_BIT_SET(g_60090, 0);
- }
- var sub_22C1()
- {
- return g_19455;
- }
- var sub_22CC(var A_0, var A_1, var A_2, var A_3)
- {
- if (A_2 == -1)
- {
- A_2 = sub_23FB();
- }
- var num3 = 0;
- bool flag1 = A_0 >= 0;
- if (flag1 & (A_0 < 192))
- {
- var num4 = STATS::0xB5BF87B2((A_0) - 0, 0, 1, A_2);
- var num5 = ((A_0) - 0) - (STATS::0xDFC25D66((A_0) - 0) * 64);
- num3 = STATS::STAT_SET_BOOL_MASKED(num4, A_1, num5, A_3);
- }
- else
- {
- bool flag2 = A_0 >= 192;
- if (flag2 & (A_0 < 384))
- {
- var num6 = STATS::0xB5BF87B2((A_0) - 192, 1, 1, A_2);
- var num7 = ((A_0) - 192) - (STATS::0xDFC25D66((A_0) - 192) * 64);
- num3 = STATS::STAT_SET_BOOL_MASKED(num6, A_1, num7, A_3);
- }
- else
- {
- bool flag3 = A_0 >= 513;
- if (flag3 & (A_0 < 705))
- {
- var num8 = STATS::0xB5BF87B2((A_0) - 513, 0, 0, 0);
- var num9 = ((A_0) - 513) - (STATS::0xDFC25D66((A_0) - 513) * 64);
- num3 = STATS::STAT_SET_BOOL_MASKED(num8, A_1, num9, A_3);
- }
- else
- {
- bool flag4 = A_0 >= 705;
- if (flag4 & (A_0 < 1281))
- {
- var num10 = STATS::0xB5BF87B2((A_0) - 705, 1, 0, 0);
- var num11 = ((A_0) - 705) - (STATS::0xDFC25D66((A_0) - 705) * 64);
- num3 = STATS::STAT_SET_BOOL_MASKED(num10, A_1, num11, A_3);
- }
- }
- }
- }
- return num3;
- }
- var sub_23FB()
- {
- return g_1338478;
- }
- var sub_2407(var A_0, var A_1, var A_2, var A_3, var A_4, var A_5)
- {
- return GAMEPLAY::GET_HEADING_FROM_VECTOR_2D((A_3 - A_0), rPtr((&A_3) + 4) - rPtr((&A_0) + 4));
- }
- void sub_2421(var A_0, var A_1)
- {
- UI::0xB245FC10(A_0);
- UI::0xB59B530D(0, 0, 1, A_1);
- }
- var sub_2438()
- {
- return (rPtr((&g_80929) + 290) > 0);
- }
- void sub_2449()
- {
- l_36 = GAMEPLAY::GET_GAME_TIMER();
- if (l_49 == 0)
- {
- sub_914D(1, 1);
- }
- else
- {
- sub_914D(2, 1);
- }
- }
- void sub_246C()
- {
- if ((GAMEPLAY::GET_GAME_TIMER() - l_31) > l_32)
- {
- struct _s = &l_359;
- var num3 = sub_2C1A(l_43, rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), 1);
- if (num3 < 10f)
- {
- sub_91CA("BARK_SEQ");
- }
- else
- {
- sub_91CA("BARK");
- }
- l_31 = GAMEPLAY::GET_GAME_TIMER();
- if (num3 < 20f)
- {
- l_32 = GAMEPLAY::GET_RANDOM_INT_IN_RANGE(4000, 5000);
- }
- else if (num3 < 50f)
- {
- l_32 = GAMEPLAY::GET_RANDOM_INT_IN_RANGE(5000, 6000);
- }
- else
- {
- l_32 = GAMEPLAY::GET_RANDOM_INT_IN_RANGE(8000, 12000);
- }
- bool flag1 = UI::IS_HELP_MESSAGE_BEING_DISPLAYED() == 0;
- bool flag2 = flag1 & (GAMEPLAY::IS_BIT_SET(rPtr(((&g_86838) + 7661) + 94), 1) == 0);
- bool flag3 = flag2 & (sub_2539() == 0);
- if (flag3 & (STREAMING::STOP_PLAYER_REMAIN_ARCADE() == 0))
- {
- GAMEPLAY::SET_BIT(((&g_86838) + 7661) + 94, 1);
- sub_2421("CHOP_H_HUNT", -1);
- }
- }
- }
- var sub_2539()
- {
- bool flag1;
- var num1 = PLAYER::IS_PLAYER_TARGETTING_ENTITY(PLAYER::PLAYER_ID(), l_43);
- if (num1 == 0)
- {
- flag1 = l_26 == 10;
- }
- if ((num1 | (flag1 & CONTROLS::IS_CONTROL_PRESSED(2, 25))) != 0)
- {
- var num3;
- WEAPON::GET_CURRENT_PED_WEAPON(PLAYER::PLAYER_PED_ID(), &num3, 1);
- if (num3 == 0xA2719263)
- {
- return 1;
- }
- }
- return 0;
- }
- void sub_2580()
- {
- if (sub_8DE6(l_43, 0xE763797) == 0)
- {
- STREAMING::REQUEST_ANIM_DICT("creatures@rottweiler@indication@");
- if (STREAMING::HAS_ANIM_DICT_LOADED("creatures@rottweiler@indication@") != 0)
- {
- AI::CLEAR_PED_TASKS(l_43);
- AI::OPEN_SEQUENCE_TASK(&l_89);
- struct _s = &l_356;
- AI::TASK_TURN_PED_TO_FACE_COORD(0, rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), 0);
- AI::TASK_PLAY_ANIM(0, "creatures@rottweiler@indication@", sub_25F2(), 8f, -4f, -1, 1, 0, 0, 0, 0);
- AI::CLOSE_SEQUENCE_TASK(l_89);
- AI::TASK_PERFORM_SEQUENCE(l_43, l_89);
- AI::CLEAR_SEQUENCE_TASK(&l_89);
- }
- }
- }
- var sub_25F2()
- {
- var num3;
- if (sub_9282(l_43) != 0)
- {
- var num4;
- struct _s = ENTITY::GET_ENTITY_COORDS(l_43, 1);
- setStruct(rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), 3, &num4);
- if ((rPtr((&num4) + 2) + 1f) < rPtr((&l_356) + 2))
- {
- num3 = "indicate_high";
- }
- else if ((rPtr((&num4) + 2) - 1f) > rPtr((&l_356) + 2))
- {
- num3 = "indicate_low";
- }
- else
- {
- num3 = "indicate_ahead";
- }
- }
- return num3;
- }
- var sub_2646()
- {
- var num1 = PED::IS_PED_IN_ANY_VEHICLE(PLAYER::PLAYER_PED_ID(), 0);
- if ((num1 & VEHICLE::IS_VEHICLE_DRIVEABLE(PED::GET_VEHICLE_PED_IS_IN(PLAYER::PLAYER_PED_ID(), 0), 0)) != 0)
- {
- var num6 = PED::IS_PED_ON_ANY_BIKE(PLAYER::PLAYER_PED_ID());
- if ((num6 | sub_2687()) != 0)
- {
- return 1;
- }
- }
- return 0;
- }
- var sub_2687()
- {
- if (PED::IS_PED_IN_ANY_VEHICLE(PLAYER::PLAYER_PED_ID(), 1) != 0)
- {
- var num3 = ENTITY::GET_ENTITY_MODEL(PED::GET_VEHICLE_PED_IS_IN(PLAYER::PLAYER_PED_ID(), 1));
- bool flag1 = num3 == 0x44623884;
- bool flag2 = flag1 | (num3 == 0xDFF0594C);
- bool flag3 = flag2 | (num3 == 0x9CF21E0F);
- bool flag4 = flag3 | (num3 == 0x5D0AAC8F);
- bool flag5 = flag4 | (num3 == 0x8125BCF9);
- bool flag6 = flag5 | (num3 == 0xFD231729);
- bool flag7 = flag6 | (num3 == 0x7074F39D);
- bool flag8 = flag7 | (num3 == 0xC3FBA120);
- bool flag9 = flag8 | (num3 == 0x810369E2);
- bool flag10 = flag9 | (num3 == 0x58E49664);
- bool flag11 = flag10 | (num3 == 0x1A7FCEFA);
- bool flag12 = flag11 | (num3 == 0x6A4BD8F6);
- bool flag13 = flag12 | (num3 == 0x2EA68690);
- bool flag14 = flag13 | (num3 == 0x61D6BA8C);
- bool flag15 = flag14 | (num3 == 0x843B73DE);
- bool flag16 = flag15 | (num3 == 0x562A97BD);
- bool flag17 = flag16 | (num3 == GAMEPLAY::GET_HASH_KEY("bifta"));
- bool flag18 = flag17 | (num3 == 0xB44F0582);
- if (flag18 | (num3 == 0x1FD824AF))
- {
- return 1;
- }
- }
- return 0;
- }
- var sub_27B9()
- {
- switch (l_308)
- {
- case 2:
- if (sub_28FD(2) != 0)
- {
- break;
- }
- sub_8C08("CHOP_RETURN1", 1);
- return 0;
- case 1:
- if (sub_28FD(1) != 0)
- {
- break;
- }
- sub_8C08("CHOP_RETURN1", 1);
- return 0;
- case 0:
- if (sub_28FD(0) != 0)
- {
- break;
- }
- sub_8C08("CHOP_RETURN1", 1);
- return 0;
- case 3:
- if (sub_28B2(l_355) == 0)
- {
- break;
- }
- sub_8C08("CHOP_RETURN1", 1);
- return 0;
- case 4:
- if (sub_2867(l_355) != 0)
- {
- sub_8C08("CHOP_RETURN1", 1);
- return 0;
- }
- break;
- }
- return 1;
- }
- var sub_2867(var A_0)
- {
- bool flag1 = A_0 < 0;
- if (flag1 | (A_0 >= 50))
- {
- return 0;
- }
- if (A_0 <= 31)
- {
- return GAMEPLAY::IS_BIT_SET(rPtr(((&g_86838) + 7661) + 124), A_0);
- }
- return GAMEPLAY::IS_BIT_SET(rPtr((((&g_86838) + 7661) + 124) + 1), (A_0) - 32);
- }
- var sub_28B2(var A_0)
- {
- bool flag1 = A_0 < 0;
- if (flag1 | (A_0 >= 50))
- {
- return 0;
- }
- if (A_0 <= 31)
- {
- return GAMEPLAY::IS_BIT_SET(rPtr(((&g_86838) + 7661) + 121), A_0);
- }
- return GAMEPLAY::IS_BIT_SET(rPtr((((&g_86838) + 7661) + 121) + 1), (A_0) - 32);
- }
- var sub_28FD(var A_0)
- {
- if (sub_296C() != 0)
- {
- sub_294F(A_0, l_355);
- }
- if (sub_293B() != 0)
- {
- if (sub_2930() != 0)
- {
- sub_29C8();
- return 0;
- }
- sub_29C8();
- }
- return 1;
- }
- var sub_2930()
- {
- return g_19693;
- }
- var sub_293B()
- {
- if (g_19690 == 2)
- {
- return 1;
- }
- return 0;
- }
- void sub_294F(var A_0, var A_1)
- {
- if (g_19690 == 0)
- {
- g_19690 = 1;
- g_19691 = A_0;
- g_19692 = A_1;
- }
- }
- var sub_296C()
- {
- if (g_19690 == 0)
- {
- return 1;
- }
- return 0;
- }
- void sub_2980()
- {
- var num3;
- struct _s = ENTITY::GET_ENTITY_COORDS(l_43, 1);
- setStruct(rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), 3, &num3);
- struct _s = &num3;
- sub_29AF(rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8));
- sub_91CA("WHINE");
- sub_8C08("CHOP_NONEAR", 0);
- sub_2449();
- }
- void sub_29AF(var A_0, var A_1, var A_2)
- {
- struct _s = &A_0;
- struct _s = &A_0;
- if (SYSTEM::VDIST(rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8)) > 1f)
- {
- }
- }
- void sub_29C8()
- {
- g_19690 = 3;
- }
- var sub_29D4()
- {
- l_355 = -1;
- setStruct(0f, 0f, 0f, 3, &l_356);
- setStruct(0f, 0f, 0f, 3, &l_359);
- sub_2A0D(0);
- if (l_355 == -1)
- {
- sub_2A0D(1);
- }
- if (l_355 > -1)
- {
- return 1;
- }
- return 0;
- }
- void sub_2A0D(var A_0)
- {
- var num3 = 9999f;
- var num4 = 0;
- for (num4 = 0; num4 < 5; num4++)
- {
- bool flag1 = getElem(num4, &l_311, 4) > -1;
- bool flag2 = flag1 & (getElem(num4, &l_317, 4) < num3);
- if (flag2 & sub_2A8D(A_0, num4))
- {
- num3 = getElem(num4, &l_317, 4);
- l_355 = getElem(num4, &l_311, 4);
- l_308 = num4;
- struct _s = getElemPtr(num4, &l_323, 12);
- setStruct(rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), 3, &l_356);
- struct _s = getElemPtr(num4, &l_339, 12);
- setStruct(rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), 3, &l_359);
- }
- }
- }
- var sub_2A8D(var A_0, var A_1)
- {
- if (A_0 != 1)
- {
- bool flag1 = A_1 == 1;
- if (flag1 & (ENTITY::GET_ENTITY_HEALTH(PLAYER::PLAYER_PED_ID()) >= 200))
- {
- return 0;
- }
- bool flag2 = A_1 == 0;
- if (flag2 & (PED::GET_PED_ARMOUR(PLAYER::PLAYER_PED_ID()) >= 100))
- {
- return 0;
- }
- }
- return 1;
- }
- var sub_2AD6()
- {
- if (l_309 == 5)
- {
- l_309 = 0;
- }
- switch (l_309)
- {
- case 0:
- if (getElem(0, &l_311, 4) <= -1)
- {
- l_309 = 1;
- break;
- }
- if (sub_296C() != 0)
- {
- sub_294F(0, getElem(0, &l_311, 4));
- }
- if (sub_293B() != 0)
- {
- if (sub_2930() != 0)
- {
- setElem(-1, 0, &l_311, 4);
- }
- sub_29C8();
- l_309 = 1;
- }
- break;
- case 1:
- if (getElem(1, &l_311, 4) <= -1)
- {
- l_309 = 2;
- break;
- }
- if (sub_296C() != 0)
- {
- sub_294F(1, getElem(1, &l_311, 4));
- }
- if (sub_293B() != 0)
- {
- if (sub_2930() != 0)
- {
- setElem(-1, 1, &l_311, 4);
- }
- sub_29C8();
- l_309 = 2;
- }
- break;
- case 2:
- if (getElem(2, &l_311, 4) <= -1)
- {
- l_309 = 3;
- break;
- }
- if (sub_296C() != 0)
- {
- sub_294F(2, getElem(2, &l_311, 4));
- }
- if (sub_293B() != 0)
- {
- if (sub_2930() != 0)
- {
- setElem(-1, 2, &l_311, 4);
- }
- sub_29C8();
- l_309 = 3;
- }
- break;
- case 3:
- if ((getElem(3, &l_311, 4) > -1) && (sub_28B2(getElem(3, &l_311, 4)) != 0))
- {
- setElem(-1, 3, &l_311, 4);
- }
- if ((getElem(4, &l_311, 4) > -1) && (sub_2867(getElem(4, &l_311, 4)) != 0))
- {
- setElem(-1, 4, &l_311, 4);
- }
- l_309 = 5;
- return 1;
- }
- return 0;
- }
- var sub_2C1A(var A_0, var A_1, var A_2, var A_3, var A_4)
- {
- var num3;
- if (ENTITY::IS_ENTITY_DEAD(A_0) == 0)
- {
- struct _s = ENTITY::GET_ENTITY_COORDS(A_0, 1);
- setStruct(rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), 3, &num3);
- }
- else
- {
- struct _s = ENTITY::GET_ENTITY_COORDS(A_0, 0);
- setStruct(rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), 3, &num3);
- }
- struct _s = &num3;
- struct _s = &A_1;
- return GAMEPLAY::GET_DISTANCE_BETWEEN_COORDS(rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), A_4);
- }
- void sub_2C53(var A_0)
- {
- if (ENTITY::DOES_ENTITY_EXIST(l_437) != 0)
- {
- var num3;
- struct _s = ENTITY::GET_ENTITY_COORDS(l_437, 1);
- setStruct(rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), 3, &num3);
- if (ENTITY::IS_ENTITY_ATTACHED_TO_ANY_PED(l_437) != 0)
- {
- ENTITY::DETACH_ENTITY(l_437, 1, 1);
- }
- ENTITY::SET_ENTITY_AS_NO_LONGER_NEEDED(&l_437);
- bool flag1 = A_0 == 1;
- if (flag1 & (l_443 == 0x23C9F95C))
- {
- struct _s = &num3;
- GAMEPLAY::CLEAR_AREA_OF_PROJECTILES(rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), 0.1f, 0);
- }
- }
- }
- void sub_2CAE()
- {
- bool flag1 = sub_2E1C() != 1;
- bool flag2 = flag1 & ((GAMEPLAY::GET_GAME_TIMER() - l_36) > 10000);
- bool flag3 = flag2 & (PED::IS_PED_IN_ANY_VEHICLE(PLAYER::PLAYER_PED_ID(), 0) == 0);
- bool flag4 = flag3 & (l_81 == 0);
- bool flag5 = flag4 & (l_443 != 0x23C9F95C);
- if (flag5)
- {
- struct _s = ENTITY::GET_ENTITY_COORDS(PLAYER::PLAYER_PED_ID(), 1);
- }
- bool flag6 = flag5 & (PED::0xFB18CB19(PLAYER::PLAYER_PED_ID(), rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), 100f) == 0);
- if (flag6)
- {
- struct _s = ENTITY::GET_ENTITY_COORDS(l_43, 1);
- }
- if (flag6 & (PED::0xFB18CB19(l_43, rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), 100f) == 0))
- {
- STREAMING::REQUEST_PTFX_ASSET();
- if (STREAMING::HAS_PTFX_ASSET_LOADED() != 0)
- {
- var num3;
- struct _s = ENTITY::GET_ENTITY_COORDS(l_43, 1);
- setStruct(rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), 3, &num3);
- struct _s = &num3;
- struct _s = &l_50;
- if (GAMEPLAY::GET_DISTANCE_BETWEEN_COORDS(rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), 0) < 1f)
- {
- struct _s = &num3;
- struct _s = &l_405;
- if (GAMEPLAY::GET_DISTANCE_BETWEEN_COORDS(rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), 0) > 20f)
- {
- sub_2DE1(&l_393, 0);
- struct _s = &num3;
- l_393 = OBJECT::GET_CLOSEST_OBJECT_OF_TYPE(rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), 10f, 0xC09CB0B8, 1);
- if (ENTITY::DOES_ENTITY_EXIST(l_393) != 0)
- {
- struct _s = ENTITY::GET_ENTITY_COORDS(l_393, 1);
- setStruct(rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), 3, &l_405);
- sub_914D(14, 1);
- }
- }
- else
- {
- struct _s = &num3;
- struct _s = &l_402;
- if (GAMEPLAY::GET_DISTANCE_BETWEEN_COORDS(rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), 0) > 20f)
- {
- struct _s = &num3;
- setStruct(rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), 3, &l_402);
- sub_914D(13, 1);
- }
- }
- }
- struct _s = ENTITY::GET_ENTITY_COORDS(l_43, 1);
- setStruct(rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), 3, &l_50);
- l_36 = GAMEPLAY::GET_GAME_TIMER();
- }
- }
- }
- void sub_2DE1(var A_0, var A_1)
- {
- if (ENTITY::DOES_ENTITY_EXIST(rPtr(A_0)) != 0)
- {
- if (ENTITY::IS_ENTITY_ATTACHED_TO_ANY_PED(rPtr(A_0)) != 0)
- {
- ENTITY::DETACH_ENTITY(rPtr(A_0), 1, 1);
- }
- if (A_1 == 0)
- {
- ENTITY::SET_OBJECT_AS_NO_LONGER_NEEDED(A_0);
- }
- else
- {
- OBJECT::0x2048A7DD(rPtr(A_0));
- }
- }
- }
- var sub_2E1C()
- {
- if (rPtr((((&g_86838) + 19515) + 254) + 5) != 0)
- {
- if (rPtr(((&g_86838) + 19515) + 254) > 66f)
- {
- return 1;
- }
- if (rPtr(((&g_86838) + 19515) + 254) > 33f)
- {
- return 0;
- }
- return 2;
- }
- return 2;
- }
- void sub_2E69()
- {
- bool flag1 = GAMEPLAY::IS_BIT_SET(rPtr(((&g_86838) + 7661) + 94), 7) == 0;
- bool flag2 = flag1 & (UI::IS_HELP_MESSAGE_BEING_DISPLAYED() == 0);
- bool flag3 = flag2 & (sub_2539() == 0);
- if (flag3 & (STREAMING::STOP_PLAYER_REMAIN_ARCADE() == 0))
- {
- GAMEPLAY::SET_BIT(((&g_86838) + 7661) + 94, 7);
- sub_2421("CHOP_H_BALL", -1);
- }
- var num1 = sub_9282(PLAYER::PLAYER_PED_ID());
- var num6 = num1 & (PED::IS_PED_IN_ANY_VEHICLE(PLAYER::PLAYER_PED_ID(), 1) == 0);
- var num7 = num6 & sub_9282(l_43);
- if ((num7 & (PED::IS_PED_IN_ANY_VEHICLE(l_43, 1) == 0)) != 0)
- {
- WEAPON::GET_CURRENT_PED_WEAPON(PLAYER::PLAYER_PED_ID(), &l_443, 1);
- bool flag4 = l_443 == 0x23C9F95C;
- bool flag5 = flag4 | (l_443 == 0x93E220BD);
- bool flag6 = flag5 | (l_443 == 0xFDBC8A50);
- bool flag7 = flag6 | (l_443 == 0x2C3731D9);
- bool flag8 = flag7 | (l_443 == 0x24B17070);
- if (flag8 | (l_443 == 0x497FACC3))
- {
- if (PED::IS_PED_SHOOTING(PLAYER::PLAYER_PED_ID()) != 0)
- {
- sub_914D(15, 1);
- }
- else
- {
- bool flag9 = (GAMEPLAY::GET_GAME_TIMER() - l_37) > 10000;
- bool flag10 = flag9 & (ENTITY::GET_ENTITY_SPEED(l_43) < 1f);
- if (flag10 & (sub_1C4A(PLAYER::PLAYER_PED_ID(), l_43, 1) < 5f))
- {
- STREAMING::REQUEST_ANIM_DICT("creatures@rottweiler@amb@world_dog_barking@enter");
- STREAMING::REQUEST_ANIM_DICT("creatures@rottweiler@amb@world_dog_barking@idle_a");
- STREAMING::REQUEST_ANIM_DICT("creatures@rottweiler@amb@world_dog_barking@exit");
- var num8 = STREAMING::HAS_ANIM_DICT_LOADED("creatures@rottweiler@amb@world_dog_barking@enter");
- var num9 = num8 & STREAMING::HAS_ANIM_DICT_LOADED("creatures@rottweiler@amb@world_dog_barking@idle_a");
- if ((num9 & STREAMING::HAS_ANIM_DICT_LOADED("creatures@rottweiler@amb@world_dog_barking@exit")) != 0)
- {
- AI::CLEAR_PED_TASKS(l_43);
- AI::OPEN_SEQUENCE_TASK(&l_89);
- AI::TASK_TURN_PED_TO_FACE_ENTITY(0, PLAYER::PLAYER_PED_ID(), 0);
- AI::TASK_PLAY_ANIM(0, "creatures@rottweiler@amb@world_dog_barking@enter", "enter", 8f, -8f, -1, 0, 0, 0, 0, 0);
- AI::TASK_PLAY_ANIM(0, "creatures@rottweiler@amb@world_dog_barking@idle_a", "idle_a", 8f, -8f, -1, 0, 0, 0, 0, 0);
- AI::TASK_PLAY_ANIM(0, "creatures@rottweiler@amb@world_dog_barking@exit", "exit", 8f, -8f, -1, 0, 0, 0, 0, 0);
- AI::CLOSE_SEQUENCE_TASK(l_89);
- AI::TASK_PERFORM_SEQUENCE(l_43, l_89);
- AI::CLEAR_SEQUENCE_TASK(&l_89);
- l_37 = GAMEPLAY::GET_GAME_TIMER();
- }
- }
- }
- }
- }
- }
- void sub_304C()
- {
- var num1 = sub_2438();
- if ((num1 & (sub_3090(4) == 0)) != 0)
- {
- var num6 = sub_9282(l_43);
- var num7 = num6 & (l_81 == 0);
- if ((num7 & PED::IS_PED_IN_GROUP(l_43)) != 0)
- {
- PED::REMOVE_PED_FROM_GROUP(l_43);
- }
- sub_914D(12, 1);
- }
- }
- var sub_3090(var A_0)
- {
- if (sub_2438() != 0)
- {
- for (var i = 0; i < 44; i++)
- {
- if ((sub_3443(i) == A_0) && (sub_30CB(i) != 0))
- {
- return 1;
- }
- }
- }
- return 0;
- }
- var sub_30CB(var A_0)
- {
- return sub_30DB(A_0, 5, 1);
- }
- var sub_30DB(var A_0, var A_1, var A_2)
- {
- if (A_2 != null)
- {
- return GAMEPLAY::IS_BIT_SET(getElem(A_0, (&g_80929) + 1015, 4), A_1);
- }
- if (NETWORK::NETWORK_IS_GAME_IN_PROGRESS() != 0)
- {
- if (sub_22C1() == 0)
- {
- return GAMEPLAY::IS_BIT_SET(sub_313A(sub_319A(A_0), -1), A_1);
- }
- }
- else
- {
- return GAMEPLAY::IS_BIT_SET(getElem(A_0, (&g_86838) + 668, 4), A_1);
- }
- return 0;
- }
- var sub_313A(var A_0, var A_1)
- {
- var num4;
- if (STATS::STAT_GET_INT(getElem(sub_3166(A_1), getElemPtr(A_0, &g_1363889, 24), 4), &num4, -1) != 0)
- {
- return num4;
- }
- return 0;
- }
- var sub_3166(var A_0)
- {
- var num3 = A_0;
- if (num3 == -1)
- {
- var num4 = sub_23FB();
- if (num4 > -1)
- {
- g_1363641 = 0;
- num3 = num4;
- }
- else
- {
- num3 = 0;
- g_1363641 = 1;
- }
- }
- return num3;
- }
- var sub_319A(var A_0)
- {
- switch (A_0)
- {
- case 0:
- return 813;
- case 1:
- return 814;
- case 2:
- return 815;
- case 3:
- return 816;
- case 4:
- return 817;
- case 5:
- return 818;
- case 6:
- return 819;
- case 7:
- return 820;
- case 8:
- return 821;
- case 9:
- return 822;
- case 10:
- return 823;
- case 11:
- return 824;
- case 12:
- return 825;
- case 13:
- return 826;
- case 14:
- return 827;
- case 15:
- return 829;
- case 16:
- return 830;
- case 17:
- return 831;
- case 18:
- return 832;
- case 19:
- return 833;
- case 20:
- return 834;
- case 21:
- return 835;
- case 22:
- return 836;
- case 23:
- return 837;
- case 24:
- return 838;
- case 25:
- return 839;
- case 26:
- return 840;
- case 27:
- return 841;
- case 28:
- return 842;
- case 29:
- return 843;
- case 30:
- return 844;
- case 31:
- return 845;
- case 32:
- return 846;
- case 33:
- return 847;
- case 34:
- return 848;
- case 35:
- return 849;
- case 36:
- return 850;
- case 37:
- return 851;
- case 38:
- return 852;
- case 39:
- return 853;
- case 40:
- return 857;
- case 41:
- return 858;
- case 42:
- return 859;
- case 43:
- return 860;
- }
- return 1288;
- }
- var sub_3443(var A_0)
- {
- switch ((A_0))
- {
- case -1:
- return 5;
- case 0:
- return 0;
- case 1:
- return 0;
- case 2:
- return 0;
- case 3:
- return 0;
- case 4:
- return 0;
- case 5:
- return 0;
- case 6:
- return 0;
- case 7:
- return 1;
- case 8:
- return 1;
- case 9:
- return 1;
- case 10:
- return 1;
- case 11:
- return 1;
- case 12:
- return 1;
- case 13:
- return 1;
- case 14:
- return 1;
- case 15:
- return 1;
- case 16:
- return 1;
- case 17:
- return 1;
- case 18:
- return 1;
- case 19:
- return 1;
- case 20:
- return 1;
- case 21:
- return 1;
- case 22:
- return 2;
- case 23:
- return 2;
- case 24:
- return 2;
- case 25:
- return 2;
- case 26:
- return 2;
- case 27:
- return 2;
- case 28:
- return 3;
- case 29:
- return 3;
- case 30:
- return 3;
- case 31:
- return 3;
- case 32:
- return 3;
- case 33:
- return 3;
- case 34:
- return 3;
- case 35:
- return 3;
- case 36:
- return 3;
- case 37:
- return 3;
- case 38:
- return 3;
- case 39:
- return 4;
- case 40:
- return 4;
- case 41:
- return 4;
- case 42:
- return 4;
- case 43:
- return 4;
- }
- return 5;
- }
- void sub_369C()
- {
- if (PLAYER::GET_PLAYER_WANTED_LEVEL(PLAYER::PLAYER_ID()) > 0)
- {
- if (l_34 == -1)
- {
- l_34 = GAMEPLAY::GET_GAME_TIMER();
- l_35 = GAMEPLAY::GET_RANDOM_INT_IN_RANGE(4000, 6000);
- }
- if ((GAMEPLAY::GET_GAME_TIMER() - l_34) > l_35)
- {
- sub_91CA("SNARL");
- l_34 = -1;
- }
- }
- }
- void sub_36DF()
- {
- if (sub_9282(PLAYER::PLAYER_PED_ID()) != 0)
- {
- bool flag1 = l_81 > 1;
- if (flag1 & (l_81 < 8))
- {
- PED::SET_PED_RESET_FLAG(PLAYER::PLAYER_PED_ID(), 309, 1);
- }
- bool flag2 = l_87 == 1;
- if (flag2 & (l_81 == 1))
- {
- PED::SET_PED_RESET_FLAG(PLAYER::PLAYER_PED_ID(), 313, 1);
- }
- }
- switch (l_81)
- {
- case 0:
- if (PED::IS_PED_IN_ANY_VEHICLE(PLAYER::PLAYER_PED_ID(), 1) == 0)
- {
- if (l_445 != 0)
- {
- l_445 = 0;
- }
- l_307 = 0;
- l_33 = -1;
- if (sub_4D08() != 0)
- {
- sub_914D(3, 1);
- }
- break;
- }
- l_448 = GAMEPLAY::GET_GAME_TIMER();
- l_39 = -1;
- l_40 = -1;
- sub_4D86();
- PED::SET_PED_CONFIG_FLAG(PLAYER::PLAYER_PED_ID(), 32, 0);
- l_81 = 1;
- break;
- case 1:
- if (PED::IS_PED_IN_ANY_VEHICLE(PLAYER::PLAYER_PED_ID(), 1) != 0)
- {
- if (PED::IS_PED_SITTING_IN_ANY_VEHICLE(PLAYER::PLAYER_PED_ID()) != 0)
- {
- if (sub_4C73() != 0)
- {
- if (VEHICLE::GET_PED_IN_VEHICLE_SEAT(PED::GET_VEHICLE_PED_IS_IN(PLAYER::PLAYER_PED_ID(), 0), -1) != PLAYER::PLAYER_PED_ID())
- {
- sub_914D(3, 1);
- }
- else
- {
- if (sub_9282(l_54) == 0)
- {
- l_54 = PED::GET_VEHICLE_PED_IS_IN(PLAYER::PLAYER_PED_ID(), 0);
- sub_4BAA();
- sub_4B7E();
- }
- STREAMING::REQUEST_ANIM_DICT(l_447);
- var num1 = STREAMING::HAS_ANIM_DICT_LOADED(l_447);
- if ((num1 & sub_9282(l_54)) != 0)
- {
- if (PED::IS_PED_IN_GROUP(l_43) != 0)
- {
- PED::REMOVE_PED_FROM_GROUP(l_43);
- }
- if (sub_4A28() != 0)
- {
- if (l_39 == -1)
- {
- l_39 = GAMEPLAY::GET_GAME_TIMER();
- }
- if (sub_4993() != 0)
- {
- sub_493B(1);
- l_81 = 6;
- }
- else
- {
- sub_48ED();
- }
- }
- else if (VEHICLE::0xAB0E79EB(PLAYER::PLAYER_PED_ID(), l_54, 0, 0, 0) != 0)
- {
- var num6 = VEHICLE::IS_VEHICLE_DOOR_DAMAGED(l_54, l_88);
- if ((num6 | (VEHICLE::GET_VEHICLE_DOOR_ANGLE_RATIO(l_54, 1) > 0.9f)) != 0)
- {
- l_81 = 4;
- }
- else
- {
- l_81 = 2;
- }
- }
- else
- {
- sub_493B(1);
- l_81 = 6;
- }
- }
- }
- }
- else if (sub_2646() != 0)
- {
- l_81 = 14;
- }
- else
- {
- bool flag3 = UI::IS_HELP_MESSAGE_BEING_DISPLAYED() == 0;
- bool flag4 = flag3 & (GAMEPLAY::IS_BIT_SET(rPtr(((&g_86838) + 7661) + 94), 3) == 0);
- bool flag5 = flag4 & (sub_2539() == 0);
- if (flag5 & (STREAMING::STOP_PLAYER_REMAIN_ARCADE() == 0))
- {
- GAMEPLAY::SET_BIT(((&g_86838) + 7661) + 94, 3);
- sub_2421("CHOP_H_NOVEH", -1);
- }
- sub_914D(3, 1);
- }
- }
- else
- {
- if (sub_4C73() != 0)
- {
- STREAMING::REQUEST_ANIM_DICT("misschop_vehicleenter_exit");
- sub_48ED();
- }
- bool flag6 = l_307 == 0;
- if (flag6 & VEHICLE::IS_VEHICLE_DRIVEABLE(PED::SET_EXCLUSIVE_PHONE_RELATIONSHIPS(PLAYER::PLAYER_PED_ID()), 0))
- {
- PED::SET_PED_CONFIG_FLAG(l_43, 185, 0);
- var num7 = VEHICLE::IS_THIS_MODEL_A_CAR(ENTITY::GET_ENTITY_MODEL(PED::SET_EXCLUSIVE_PHONE_RELATIONSHIPS(PLAYER::PLAYER_PED_ID())));
- if ((num7 & (sub_2687() == 0)) != 0)
- {
- if (ENTITY::GET_ENTITY_MODEL(PED::SET_EXCLUSIVE_PHONE_RELATIONSHIPS(PLAYER::PLAYER_PED_ID())) != 0xC703DB5F)
- {
- bool flag7 = VEHICLE::GET_VEHICLE_MAX_NUMBER_OF_PASSENGERS(PED::SET_EXCLUSIVE_PHONE_RELATIONSHIPS(PLAYER::PLAYER_PED_ID())) >= 1;
- if ((flag7 & VEHICLE::IS_VEHICLE_SEAT_FREE(PED::SET_EXCLUSIVE_PHONE_RELATIONSHIPS(PLAYER::PLAYER_PED_ID()), 0)) && (sub_48CB() == 0))
- {
- sub_8C08("CHOP_RIDE", 0);
- }
- }
- }
- else
- {
- var num8 = VEHICLE::IS_THIS_MODEL_A_BIKE(ENTITY::GET_ENTITY_MODEL(PED::SET_EXCLUSIVE_PHONE_RELATIONSHIPS(PLAYER::PLAYER_PED_ID())));
- if ((num8 | sub_2687()) != 0)
- {
- sub_8C08("CHOP_FOLLOW", 0);
- }
- }
- l_307 = 1;
- }
- }
- break;
- }
- l_81 = 15;
- break;
- case 2:
- sub_48B5();
- if (PED::IS_PED_SITTING_IN_ANY_VEHICLE(PLAYER::PLAYER_PED_ID()) != 0)
- {
- STREAMING::REQUEST_ANIM_DICT("misschop_vehicleenter_exit");
- if (STREAMING::HAS_ANIM_DICT_LOADED("misschop_vehicleenter_exit") != 0)
- {
- sub_4886();
- l_81 = 3;
- }
- break;
- }
- l_81 = 15;
- break;
- case 3:
- sub_48B5();
- if (PED::IS_PED_SITTING_IN_ANY_VEHICLE(PLAYER::PLAYER_PED_ID()) != 0)
- {
- var num9 = sub_9282(l_54);
- if ((num9 & sub_4849()) != 0)
- {
- if (VEHICLE::IS_VEHICLE_DOOR_DAMAGED(l_54, l_88) == 0)
- {
- VEHICLE::SET_VEHICLE_DOOR_OPEN(l_54, l_88, 0, 0);
- }
- l_39 = GAMEPLAY::GET_GAME_TIMER();
- l_81 = 4;
- }
- break;
- }
- l_81 = 15;
- break;
- case 4:
- if (PED::IS_PED_SITTING_IN_ANY_VEHICLE(PLAYER::PLAYER_PED_ID()) != 0)
- {
- STREAMING::REQUEST_ANIM_DICT(l_447);
- if (sub_9282(l_54) != 0)
- {
- if (sub_4993() != 0)
- {
- bool flag8 = sub_8DE6(PLAYER::PLAYER_PED_ID(), 0x87B9A382) == 0;
- if (flag8 & STREAMING::HAS_ANIM_DICT_LOADED(l_447))
- {
- sub_48B5();
- sub_46D1(1, 1);
- AI::CLEAR_PED_TASKS_IMMEDIATELY(l_43);
- l_82 = PED::CREATE_SYNCHRONIZED_SCENE(0f, 0f, 0f, 0f, 0f, 0f, 2);
- PED::ATTACH_SYNCHRONIZED_SCENE_TO_ENTITY(l_82, l_54, ENTITY::0xE4ECAC22(l_54, "seat_pside_f"));
- AI::TASK_SYNCHRONIZED_SCENE(l_43, l_82, l_447, "get_in", 1000f, -8f, 4, 0, 0x447A0000, 0);
- PED::0x187B9070(l_43, 0, 0);
- l_81 = 5;
- }
- }
- else
- {
- sub_48ED();
- }
- }
- break;
- }
- l_81 = 15;
- break;
- case 5:
- sub_48B5();
- if (PED::IS_PED_SITTING_IN_ANY_VEHICLE(PLAYER::PLAYER_PED_ID()) != 0)
- {
- STREAMING::REQUEST_ANIM_DICT(l_447);
- var num10 = STREAMING::HAS_ANIM_DICT_LOADED(l_447);
- var num11 = num10 & PED::IS_SYNCHRONIZED_SCENE_RUNNING(l_82);
- var num12 = num11 & (PED::GET_SYNCHRONIZED_SCENE_PHASE(l_82) > 0.99f);
- if ((num12 & sub_9282(l_54)) != 0)
- {
- sub_46D1(0, 1);
- sub_493B(0);
- l_81 = 6;
- }
- break;
- }
- sub_45EC(2f, 0f, 0f, 1);
- break;
- case 6:
- sub_48B5();
- if (PED::IS_PED_SITTING_IN_ANY_VEHICLE(PLAYER::PLAYER_PED_ID()) != 0)
- {
- STREAMING::REQUEST_ANIM_DICT("misschop_vehicleenter_exit");
- var num13 = STREAMING::HAS_ANIM_DICT_LOADED("misschop_vehicleenter_exit");
- if ((num13 & sub_9282(l_54)) != 0)
- {
- bool flag9 = VEHICLE::IS_VEHICLE_DOOR_DAMAGED(l_54, l_88) == 0;
- bool flag10 = flag9 & (VEHICLE::GET_VEHICLE_DOOR_ANGLE_RATIO(l_54, 1) > 0.1f);
- if (flag10 & (sub_4A28() == 0))
- {
- sub_4886();
- }
- l_81 = 7;
- }
- break;
- }
- sub_45EC(2f, 0f, 0f, 1);
- break;
- case 7:
- sub_48B5();
- if (PED::IS_PED_SITTING_IN_ANY_VEHICLE(PLAYER::PLAYER_PED_ID()) != 0)
- {
- var num14 = sub_9282(l_54);
- if ((num14 & sub_4849()) != 0)
- {
- if (VEHICLE::IS_VEHICLE_DOOR_DAMAGED(l_54, l_88) == 0)
- {
- VEHICLE::SET_VEHICLE_DOOR_SHUT(l_54, l_88, 0);
- }
- l_81 = 8;
- }
- break;
- }
- sub_45EC(2f, 0f, 0f, 1);
- break;
- case 8:
- sub_48B5();
- sub_45CC(&l_44);
- sub_2C53(1);
- if (l_29 == -1)
- {
- l_29 = GAMEPLAY::GET_GAME_TIMER();
- l_30 = 7000;
- }
- if (sub_9282(l_54) == 0)
- {
- sub_45EC(2f, 0f, 0f, 1);
- break;
- }
- if (sub_4559() != 0)
- {
- sub_45EC(2f, 0f, 0f, 1);
- }
- else if (FIRE::IS_ENTITY_ON_FIRE(l_54) != 0)
- {
- sub_45EC(2f, 0f, 0f, 1);
- }
- else
- {
- if (PED::IS_PED_SITTING_IN_ANY_VEHICLE(PLAYER::PLAYER_PED_ID()) != 0)
- {
- if (CONTROLS::IS_CONTROL_JUST_PRESSED(2, 189) != 0)
- {
- if (ENTITY::IS_ENTITY_UPSIDEDOWN(l_54) != 0)
- {
- sub_45EC(2f, 0f, 0f, 1);
- }
- else if (sub_4A28() != 0)
- {
- l_81 = 9;
- }
- else if (VEHICLE::0xAB0E79EB(PLAYER::PLAYER_PED_ID(), l_54, 0, 0, 0) != 0)
- {
- VEHICLE::0xCBC7D3C8(l_54, 10f, 1, 0);
- if (VEHICLE::IS_VEHICLE_DOOR_DAMAGED(l_54, l_88) != 0)
- {
- l_81 = 12;
- }
- else
- {
- l_81 = 10;
- }
- }
- else if (VEHICLE::0xAB0E79EB(PLAYER::PLAYER_PED_ID(), l_54, -1, 0, 0) != 0)
- {
- VEHICLE::0xCBC7D3C8(l_54, 10f, 1, 0);
- sub_45EC(-2f, 0f, 0f, 0);
- }
- else
- {
- VEHICLE::0xCBC7D3C8(l_54, 10f, 1, 0);
- sub_45EC(0f, -4f, 0f, 0);
- }
- }
- else
- {
- sub_44DE();
- sub_4406();
- sub_431E();
- bool flag11 = UI::IS_HELP_MESSAGE_BEING_DISPLAYED() == 0;
- bool flag12 = flag11 & (GAMEPLAY::IS_BIT_SET(rPtr(((&g_86838) + 7661) + 94), 2) == 0);
- bool flag13 = flag12 & (sub_2539() == 0);
- if (flag13 & (STREAMING::STOP_PLAYER_REMAIN_ARCADE() == 0))
- {
- GAMEPLAY::SET_BIT(((&g_86838) + 7661) + 94, 2);
- sub_2421("CHOP_H_CAR", -1);
- }
- }
- break;
- }
- if (ENTITY::GET_ENTITY_SPEED(l_54) < 5f)
- {
- if (VEHICLE::IS_VEHICLE_DOOR_DAMAGED(l_54, l_88) == 0)
- {
- VEHICLE::SET_VEHICLE_DOOR_OPEN(l_54, l_88, 0, 0);
- }
- l_81 = 12;
- }
- }
- break;
- case 9:
- {
- sub_48B5();
- var num15 = PED::IS_PED_IN_ANY_VEHICLE(PLAYER::PLAYER_PED_ID(), 0);
- if ((num15 & (sub_8DE6(PLAYER::PLAYER_PED_ID(), 0xCE98FBB3) == 0)) != 0)
- {
- AI::TASK_LEAVE_ANY_VEHICLE(PLAYER::PLAYER_PED_ID(), 0, 0);
- }
- if (PED::IS_PED_IN_ANY_VEHICLE(PLAYER::PLAYER_PED_ID(), 1) == 0)
- {
- sub_45EC(2f, 0f, 0f, 1);
- }
- break;
- }
- case 10:
- sub_48B5();
- if (PED::IS_PED_SITTING_IN_ANY_VEHICLE(PLAYER::PLAYER_PED_ID()) != 0)
- {
- STREAMING::REQUEST_ANIM_DICT("misschop_vehicleenter_exit");
- if (STREAMING::HAS_ANIM_DICT_LOADED("misschop_vehicleenter_exit") != 0)
- {
- sub_4886();
- l_81 = 11;
- }
- break;
- }
- sub_45EC(2f, 0f, 0f, 1);
- break;
- case 11:
- sub_48B5();
- if (PED::IS_PED_SITTING_IN_ANY_VEHICLE(PLAYER::PLAYER_PED_ID()) != 0)
- {
- var num16 = sub_9282(l_54);
- if ((num16 & sub_4849()) != 0)
- {
- if (VEHICLE::IS_VEHICLE_DOOR_DAMAGED(l_54, l_88) == 0)
- {
- VEHICLE::SET_VEHICLE_DOOR_OPEN(l_54, l_88, 0, 0);
- }
- l_81 = 12;
- }
- break;
- }
- sub_45EC(2f, 0f, 0f, 1);
- break;
- case 12:
- {
- sub_48B5();
- STREAMING::REQUEST_ANIM_DICT(l_447);
- bool flag14 = sub_8DE6(PLAYER::PLAYER_PED_ID(), 0x87B9A382) == 0;
- bool flag15 = flag14 & STREAMING::HAS_ANIM_DICT_LOADED(l_447);
- if (flag15 & sub_9282(l_54))
- {
- AI::CLEAR_PED_TASKS_IMMEDIATELY(l_43);
- l_82 = PED::CREATE_SYNCHRONIZED_SCENE(0f, 0f, 0f, 0f, 0f, 0f, 2);
- PED::ATTACH_SYNCHRONIZED_SCENE_TO_ENTITY(l_82, l_54, ENTITY::0xE4ECAC22(l_54, "seat_pside_f"));
- AI::TASK_SYNCHRONIZED_SCENE(l_43, l_82, l_447, "get_out", 1000f, -8f, 10, 0, 0x447A0000, 0);
- PED::0x187B9070(l_43, 0, 0);
- l_81 = 13;
- }
- break;
- }
- case 13:
- {
- var num19;
- sub_48B5();
- var num17 = PED::IS_PED_IN_ANY_VEHICLE(PLAYER::PLAYER_PED_ID(), 0);
- var num18 = num17 & ((GAMEPLAY::GET_GAME_TIMER() - l_449) > 1500);
- if ((num18 & (sub_8DE6(PLAYER::PLAYER_PED_ID(), 0xCE98FBB3) == 0)) != 0)
- {
- AI::TASK_LEAVE_ANY_VEHICLE(PLAYER::PLAYER_PED_ID(), 0, 0);
- }
- bool flag16 = PED::IS_SYNCHRONIZED_SCENE_RUNNING(l_82) == 0;
- if (!flag16)
- {
- num19 = PED::IS_SYNCHRONIZED_SCENE_RUNNING(l_82);
- }
- if (flag16 | (num19 & (PED::GET_SYNCHRONIZED_SCENE_PHASE(l_82) > 0.99f)))
- {
- AI::TASK_GO_STRAIGHT_TO_COORD_RELATIVE_TO_ENTITY(l_43, l_43, 0f, 5f, 0f, 1f, 20000);
- l_81 = 15;
- }
- break;
- }
- case 14:
- if (PED::IS_PED_IN_ANY_VEHICLE(PLAYER::PLAYER_PED_ID(), 0) != 0)
- {
- sub_44DE();
- bool flag17 = UI::IS_HELP_MESSAGE_BEING_DISPLAYED() == 0;
- bool flag18 = flag17 & (GAMEPLAY::IS_BIT_SET(rPtr(((&g_86838) + 7661) + 94), 5) == 0);
- bool flag19 = flag18 & (sub_2539() == 0);
- if (flag19 & (STREAMING::STOP_PLAYER_REMAIN_ARCADE() == 0))
- {
- GAMEPLAY::SET_BIT(((&g_86838) + 7661) + 94, 5);
- sub_2421("CHOP_H_BIKE", -1);
- }
- break;
- }
- l_81 = 15;
- break;
- case 15:
- sub_48B5();
- if (PED::IS_PED_IN_ANY_VEHICLE(PLAYER::PLAYER_PED_ID(), 0) != 0)
- {
- if (sub_8DE6(PLAYER::PLAYER_PED_ID(), 0xCE98FBB3) == 0)
- {
- AI::TASK_LEAVE_ANY_VEHICLE(PLAYER::PLAYER_PED_ID(), 0, 0);
- }
- break;
- }
- sub_40C5();
- sub_880B(0);
- STREAMING::REMOVE_ANIM_DICT("misschop_vehicleenter_exit");
- STREAMING::REMOVE_ANIM_DICT(l_447);
- l_36 = GAMEPLAY::GET_GAME_TIMER();
- sub_408E(&l_54);
- l_54 = 0;
- l_29 = -1;
- AI::CLEAR_PED_TASKS(l_43);
- ENTITY::SET_ENTITY_INVINCIBLE(l_43, 0);
- PED::SET_PED_CONFIG_FLAG(l_43, 185, 1);
- PED::SET_PED_CONFIG_FLAG(PLAYER::PLAYER_PED_ID(), 32, 1);
- sub_914D(2, 1);
- break;
- }
- }
- void sub_408E(var A_0)
- {
- if (ENTITY::DOES_ENTITY_EXIST(rPtr(A_0)) != 0)
- {
- ENTITY::IS_ENTITY_DEAD(rPtr(A_0));
- var num1 = ENTITY::IS_ENTITY_A_MISSION_ENTITY(rPtr(A_0));
- if ((num1 & ENTITY::0xACFEB3F9(rPtr(A_0), 1)) != 0)
- {
- ENTITY::SET_VEHICLE_AS_NO_LONGER_NEEDED(A_0);
- }
- }
- }
- void sub_40C5()
- {
- bool flag1 = UI::DOES_BLIP_EXIST(l_44) == 0;
- bool flag2 = flag1 & sub_9282(l_43);
- if (flag2 & (PED::IS_PED_IN_ANY_VEHICLE(l_43, 1) == 0))
- {
- if (sub_B3A7(124) != 0)
- {
- sub_422C(238, 0, 0);
- }
- else
- {
- sub_422C(237, 0, 0);
- }
- l_44 = sub_411F(l_43, 0, 143);
- UI::SET_BLIP_SPRITE(l_44, 273);
- }
- }
- var sub_411F(var A_0, var A_1, var A_2)
- {
- var num3 = sub_4171(A_0, (A_1 == 0), 0);
- bool flag1 = A_2 != 143;
- bool flag2 = flag1 & UI::DOES_BLIP_EXIST(num3);
- if (flag2 & UI::DOES_TEXT_LABEL_EXIST(getElemPtr(A_2, (&g_86838) + 23936, 116) + 12))
- {
- UI::SET_BLIP_NAME_FROM_TEXT_FILE(num3, getElemPtr(A_2, (&g_86838) + 23936, 116) + 12);
- }
- return num3;
- }
- var sub_4171(var A_0, var A_1, var A_2)
- {
- if (ENTITY::DOES_ENTITY_EXIST(A_0) == 0)
- {
- return 0;
- }
- var num3 = UI::ADD_BLIP_FOR_ENTITY(A_0);
- if (ENTITY::IS_ENTITY_A_VEHICLE(A_0) != 0)
- {
- UI::SET_BLIP_SCALE(num3, sub_4215(NETWORK::NETWORK_IS_GAME_IN_PROGRESS(), 1f, 1f));
- if (A_2 == 0)
- {
- UI::SET_BLIP_AS_FRIENDLY(num3, A_1);
- }
- else
- {
- UI::SET_BLIP_COLOUR(num3, 2);
- }
- }
- else if (ENTITY::IS_ENTITY_A_PED(A_0) != 0)
- {
- UI::SET_BLIP_SCALE(num3, sub_4215(NETWORK::NETWORK_IS_GAME_IN_PROGRESS(), 0.7f, 0.7f));
- UI::SET_BLIP_AS_FRIENDLY(num3, A_1);
- }
- else if (ENTITY::IS_ENTITY_AN_OBJECT(A_0) != 0)
- {
- UI::SET_BLIP_SCALE(num3, sub_4215(NETWORK::NETWORK_IS_GAME_IN_PROGRESS(), 0.7f, 0.7f));
- }
- return num3;
- }
- var sub_4215(var A_0, var A_1, var A_2)
- {
- if (A_0 != null)
- {
- return A_1;
- }
- return A_2;
- }
- void sub_422C(var A_0, var A_1, var A_2)
- {
- if (A_0 != 261)
- {
- var num3 = A_0;
- if ((A_2 != 0) || (GAMEPLAY::IS_BIT_SET(rPtr(getElemPtr(num3, &g_19741, 92) + 44), 15) != A_1))
- {
- if (A_1 != GAMEPLAY::IS_BIT_SET(rPtr(getElemPtr(num3, &g_19741, 92) + 44), 0))
- {
- GAMEPLAY::SET_BIT(getElemPtr(num3, &g_19741, 92) + 44, 18);
- if (g_19738 == 1)
- {
- g_19739 = 1;
- }
- g_19738 = 1;
- }
- if (A_1 != null)
- {
- GAMEPLAY::SET_BIT(getElemPtr(num3, &g_19741, 92) + 44, 0);
- GAMEPLAY::SET_BIT(getElemPtr(num3, &g_19741, 92) + 44, 15);
- GAMEPLAY::SET_BIT(getElemPtr(num3, &g_19741, 92) + 44, 3);
- }
- else
- {
- GAMEPLAY::CLEAR_BIT(getElemPtr(num3, &g_19741, 92) + 44, 0);
- GAMEPLAY::CLEAR_BIT(getElemPtr(num3, &g_19741, 92) + 44, 15);
- }
- if ((GAMEPLAY::IS_BIT_SET(rPtr(getElemPtr(num3, &g_19741, 92) + 44), 0) == 0) && (UI::DOES_BLIP_EXIST(rPtr(getElemPtr(num3, &g_19741, 92) + 76)) != 0))
- {
- GAMEPLAY::SET_THIS_SCRIPT_CAN_REMOVE_BLIPS_CREATED_BY_ANY_SCRIPT(1);
- UI::REMOVE_BLIP(getElemPtr(num3, &g_19741, 92) + 76);
- GAMEPLAY::SET_THIS_SCRIPT_CAN_REMOVE_BLIPS_CREATED_BY_ANY_SCRIPT(0);
- }
- }
- }
- }
- void sub_431E()
- {
- var num1 = sub_9282(l_43);
- if ((num1 & sub_9282(l_54)) != 0)
- {
- if (l_448 > -1)
- {
- bool flag1 = (GAMEPLAY::GET_GAME_TIMER() - l_448) > 500;
- bool flag2 = flag1 & (ENTITY::GET_ENTITY_SPEED(l_54) > 5f);
- if (flag2 & ENTITY::HAS_ENTITY_COLLIDED_WITH_ANYTHING(l_54))
- {
- AI::TASK_PLAY_ANIM(l_43, l_447, "shunt_from_back", 0x41000000, 0xC1000000, -1, 0, 0, 0, 0, 0);
- PED::0x187B9070(l_43, 0, 0);
- sub_91CA("GROWL");
- l_448 = -1;
- }
- }
- else
- {
- var num6;
- bool flag3 = ENTITY::IS_ENTITY_PLAYING_ANIM(l_43, l_447, "shunt_from_back", 3) == 0;
- if (!flag3)
- {
- num6 = ENTITY::IS_ENTITY_PLAYING_ANIM(l_43, l_447, "shunt_from_back", 3);
- }
- if (flag3 | (num6 & (ENTITY::GET_ENTITY_ANIM_CURRENT_TIME(l_43, l_447, "shunt_from_back") > 0.98f)))
- {
- AI::TASK_PLAY_ANIM(l_43, l_447, "sit", 8f, -8f, -1, 1, 0, 0, 0, 0);
- PED::0x187B9070(l_43, 0, 0);
- l_448 = GAMEPLAY::GET_GAME_TIMER();
- }
- }
- }
- }
- void sub_4406()
- {
- bool flag1 = l_448 > -1;
- if (flag1 & ((GAMEPLAY::GET_GAME_TIMER() - l_29) > l_30))
- {
- bool flag2 = AUDIO::GET_PLAYER_RADIO_STATION_GENRE() == 7;
- bool flag3 = flag2 | (AUDIO::GET_PLAYER_RADIO_STATION_GENRE() == 8);
- bool flag4 = flag3 | (AUDIO::GET_PLAYER_RADIO_STATION_GENRE() == 9);
- if (flag4 | (AUDIO::GET_PLAYER_RADIO_STATION_GENRE() == 13))
- {
- sub_446B();
- l_29 = GAMEPLAY::GET_GAME_TIMER();
- l_30 = GAMEPLAY::GET_RANDOM_INT_IN_RANGE(6000, 8000);
- }
- }
- }
- void sub_446B()
- {
- var num1 = sub_9282(l_43);
- if ((num1 & PED::IS_PED_IN_ANY_VEHICLE(l_43, 0)) != 0)
- {
- AI::OPEN_SEQUENCE_TASK(&l_89);
- AI::TASK_PLAY_ANIM(0, l_447, "bark", 4f, -4f, -1, 0, 0, 0, 0, 0);
- AI::TASK_PLAY_ANIM(0, l_447, "sit", 8f, -8f, -1, 1, 0, 0, 0, 0);
- AI::CLOSE_SEQUENCE_TASK(l_89);
- AI::TASK_PERFORM_SEQUENCE(l_43, l_89);
- AI::CLEAR_SEQUENCE_TASK(&l_89);
- PED::0x187B9070(l_43, 0, 0);
- }
- }
- void sub_44DE()
- {
- bool flag1 = PLAYER::GET_PLAYER_WANTED_LEVEL(PLAYER::PLAYER_ID()) == 0;
- if (flag1 & (l_365 == 1))
- {
- if (l_33 == -1)
- {
- l_33 = GAMEPLAY::GET_GAME_TIMER();
- }
- bool flag2 = (GAMEPLAY::GET_GAME_TIMER() - l_33) > 10000;
- bool flag3 = flag2 & (l_448 > -1);
- if (flag3 & sub_2AD6())
- {
- if ((sub_29D4() != 0) && (sub_9282(l_43) != 0))
- {
- if (PED::IS_PED_IN_ANY_VEHICLE(l_43, 0) != 0)
- {
- sub_446B();
- }
- else
- {
- sub_91CA("BARK");
- }
- }
- l_33 = GAMEPLAY::GET_GAME_TIMER();
- }
- }
- }
- var sub_4559()
- {
- if (sub_9282(l_54) != 0)
- {
- if (ENTITY::IS_ENTITY_IN_WATER(l_54) != 0)
- {
- var num3;
- var num4;
- struct _s = ENTITY::GET_ENTITY_COORDS(l_54, 1);
- setStruct(rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), 3, &num4);
- if (l_42 == -1)
- {
- l_42 = GAMEPLAY::GET_GAME_TIMER();
- }
- struct _s = &num4;
- if (WATER::GET_WATER_HEIGHT(rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), &num3) != 0)
- {
- if ((num3 - rPtr((&num4) + 2)) > 1f)
- {
- return 1;
- }
- if ((GAMEPLAY::GET_GAME_TIMER() - l_42) > 3000)
- {
- sub_91CA("AGITATED");
- l_42 = GAMEPLAY::GET_GAME_TIMER();
- }
- }
- }
- else
- {
- l_42 = -1;
- }
- }
- return 0;
- }
- void sub_45CC(var A_0)
- {
- if (UI::DOES_BLIP_EXIST(rPtr(A_0)) != 0)
- {
- UI::SET_BLIP_ROUTE(rPtr(A_0), 0);
- UI::REMOVE_BLIP(A_0);
- }
- }
- void sub_45EC(var A_0, var A_1, var A_2, var A_3)
- {
- var num1 = sub_9282(PLAYER::PLAYER_PED_ID());
- if ((num1 & sub_9282(l_43)) != 0)
- {
- if (sub_9282(l_54) != 0)
- {
- bool flag1 = A_3 == 1;
- bool flag2 = flag1 & (VEHICLE::IS_VEHICLE_DOOR_DAMAGED(l_54, l_88) == 0);
- if (flag2 & (VEHICLE::GET_VEHICLE_DOOR_ANGLE_RATIO(l_54, 1) < 0.9f))
- {
- VEHICLE::SET_VEHICLE_DOOR_OPEN(l_54, l_88, 0, 0);
- }
- if (PED::IS_SYNCHRONIZED_SCENE_RUNNING(l_82) != 0)
- {
- PED::DETACH_SYNCHRONIZED_SCENE(l_82);
- }
- AI::CLEAR_PED_TASKS_IMMEDIATELY(l_43);
- struct _s = &A_0;
- struct _s = ENTITY::GET_OFFSET_FROM_ENTITY_IN_WORLD_COORDS(l_54, rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8));
- sub_9228(l_43, rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), ENTITY::GET_ENTITY_HEADING(l_43), 1, 0);
- PED::0x187B9070(l_43, 0, 0);
- sub_46D1(0, 0);
- l_81 = 15;
- }
- else
- {
- if (PED::IS_SYNCHRONIZED_SCENE_RUNNING(l_82) != 0)
- {
- PED::DETACH_SYNCHRONIZED_SCENE(l_82);
- }
- AI::CLEAR_PED_TASKS_IMMEDIATELY(l_43);
- struct _s = ENTITY::GET_OFFSET_FROM_ENTITY_IN_WORLD_COORDS(PLAYER::PLAYER_PED_ID(), (A_0 + 1f), rPtr((&A_0) + 4), rPtr((&A_0) + 8));
- sub_9228(l_43, rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), ENTITY::GET_ENTITY_HEADING(l_43), 1, 0);
- PED::0x187B9070(l_43, 0, 0);
- sub_46D1(0, 0);
- l_81 = 15;
- }
- }
- }
- void sub_46D1(var A_0, var A_1)
- {
- if (A_0 != 1)
- {
- if (CAM::DOES_CAM_EXIST(l_456) != 0)
- {
- if (A_1 == 1)
- {
- CAM::SET_GAMEPLAY_CAM_RELATIVE_PITCH(0f, 0x3F800000);
- CAM::SET_GAMEPLAY_CAM_RELATIVE_HEADING(0f);
- }
- CAM::RENDER_SCRIPT_CAMS(0, 0, 3000, 1, 0);
- CAM::DESTROY_ALL_CAMS(0);
- }
- }
- else
- {
- bool flag1 = CAM::DOES_CAM_EXIST(l_456) == 0;
- if (flag1 & sub_9282(l_54))
- {
- var num3;
- var num6;
- var num10;
- var num13;
- var num16;
- switch (GAMEPLAY::GET_RANDOM_INT_IN_RANGE(0, 4))
- {
- case 0:
- setStruct(1.11573f, -1.40338f, 0.555789f, 3, &num3);
- setStruct(0.5f, 0f, 0.3f, 3, &num6);
- break;
- case 1:
- setStruct(-1.15872f, 1.75252f, 0.761228f, 3, &num3);
- setStruct(0f, 0f, 0.3f, 3, &num6);
- break;
- case 2:
- setStruct(-1.89975f, 0.339287f, 0.661881f, 3, &num3);
- setStruct(0f, 0f, 0.3f, 3, &num6);
- break;
- default:
- setStruct(1.38134f, -0.1248f, 0.580783f, 3, &num3);
- setStruct(0f, 0f, 0.3f, 3, &num6);
- break;
- }
- l_456 = CAM::CREATE_CAM("DEFAULT_SCRIPTED_CAMERA", 1);
- struct _s = ENTITY::0x7C6339DF(l_54, ENTITY::0xE4ECAC22(l_54, "seat_pside_f"));
- setStruct(rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), 3, &num10);
- struct _s = &num10;
- struct _s = ENTITY::GET_OFFSET_FROM_ENTITY_GIVEN_WORLD_COORDS(l_54, rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8));
- setStruct(rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), 3, &num13);
- struct _s = &num3;
- struct _s = &num13;
- struct _s = vadd(rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8));
- setStruct(rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), 3, &num16);
- struct _s = &num16;
- CAM::ATTACH_CAM_TO_ENTITY(l_456, l_54, rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), 1);
- struct _s = &num13;
- struct _s = &num6;
- struct _s = vadd(rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8));
- CAM::POINT_CAM_AT_ENTITY(l_456, l_54, rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), 1);
- CAM::SET_CAM_FOV(l_456, 50f);
- CAM::SHAKE_CAM(l_456, "HAND_SHAKE", 0.3f);
- CAM::RENDER_SCRIPT_CAMS(1, 0, 3000, 1, 0);
- }
- }
- }
- var sub_4849()
- {
- if (sub_9282(l_54) != 0)
- {
- bool flag1 = (GAMEPLAY::GET_GAME_TIMER() - l_449) > 500;
- bool flag2 = flag1 | VEHICLE::IS_VEHICLE_DOOR_DAMAGED(l_54, l_88);
- if (flag2 | sub_4A28())
- {
- return 1;
- }
- }
- return 0;
- }
- void sub_4886()
- {
- AI::TASK_PLAY_ANIM(PLAYER::PLAYER_PED_ID(), "misschop_vehicleenter_exit", l_446, 8f, -8f, -1, 40, 0, 0, 0, 0);
- l_449 = GAMEPLAY::GET_GAME_TIMER();
- }
- void sub_48B5()
- {
- CONTROLS::DISABLE_CONTROL_ACTION(0, 68);
- CONTROLS::DISABLE_CONTROL_ACTION(0, 23);
- }
- var sub_48CB()
- {
- bool flag1 = g_11728 != 0;
- if (flag1 | AUDIO::IS_SCRIPTED_CONVERSATION_ONGOING())
- {
- return 1;
- }
- return 0;
- }
- void sub_48ED()
- {
- bool flag1 = sub_8DE6(l_43, 0x2A89B8A7) == 0;
- if (flag1 & (sub_1C4A(PLAYER::PLAYER_PED_ID(), l_43, 1) > 1f))
- {
- struct _s = ENTITY::GET_OFFSET_FROM_ENTITY_IN_WORLD_COORDS(PED::GET_VEHICLE_PED_IS_IN(PLAYER::PLAYER_PED_ID(), 1), 2f, 0f, 0f);
- AI::TASK_FOLLOW_NAV_MESH_TO_COORD(l_43, rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), 2f, 20000, 0x3E800000, 0, 0x471C4000);
- }
- }
- void sub_493B(var A_0)
- {
- if (A_0 == 1)
- {
- CAM::SET_GAMEPLAY_CAM_RELATIVE_PITCH(0f, 0x3F800000);
- CAM::SET_GAMEPLAY_CAM_RELATIVE_HEADING(0f);
- }
- sub_45CC(&l_44);
- ENTITY::SET_ENTITY_INVINCIBLE(l_43, 1);
- PED::SET_PED_INTO_VEHICLE(l_43, l_54, 0);
- AI::TASK_PLAY_ANIM(l_43, l_447, "sit", 8f, -8f, -1, 1, 0, 0, 0, 0);
- PED::0x187B9070(l_43, 0, 0);
- }
- var sub_4993()
- {
- var num1 = sub_9282(l_54);
- if ((num1 & sub_9282(l_43)) != 0)
- {
- bool flag4;
- if (l_40 == -1)
- {
- l_40 = SYSTEM::FLOOR((sub_1C4A(l_54, l_43, 1) * 1000f));
- if (l_40 < 5000)
- {
- l_40 = 5000;
- }
- }
- struct _s = ENTITY::GET_OFFSET_FROM_ENTITY_IN_WORLD_COORDS(l_54, 2f, 0f, 0f);
- bool flag1 = sub_2C1A(l_43, rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), 0) < 1f;
- bool flag2 = flag1 | CONTROLS::IS_CONTROL_PRESSED(0, 65);
- bool flag3 = flag2 | CONTROLS::IS_CONTROL_PRESSED(0, 66);
- if (!flag3)
- {
- flag4 = l_39 > -1;
- }
- if (flag3 | (flag4 & ((GAMEPLAY::GET_GAME_TIMER() - l_39) > l_40)))
- {
- return 1;
- }
- }
- return 0;
- }
- var sub_4A28()
- {
- if (sub_9282(l_54) != 0)
- {
- var num3 = ENTITY::GET_ENTITY_MODEL(PED::GET_VEHICLE_PED_IS_IN(PLAYER::PLAYER_PED_ID(), 1));
- bool flag1 = num3 == 0x4C80EB0E;
- bool flag2 = flag1 | (num3 == 0xCEEA3F4B);
- bool flag3 = flag2 | (num3 == 0x4008EABB);
- bool flag4 = flag3 | (num3 == 0x32B91AE8);
- bool flag5 = flag4 | (num3 == 0xD577C962);
- bool flag6 = flag5 | (num3 == 0x84718D34);
- bool flag7 = flag6 | (num3 == 0x5A82F9AE);
- bool flag8 = flag7 | (num3 == 0xD138A6BB);
- bool flag9 = flag8 | (num3 == 0x1C534995);
- bool flag10 = flag9 | (num3 == 0x21EEE87D);
- bool flag11 = flag10 | (num3 == 0x885F3671);
- bool flag12 = flag11 | (num3 == 0x809AA4CB);
- bool flag13 = flag12 | (num3 == 0x7DE35E7D);
- bool flag14 = flag13 | (num3 == 0xB822A1AA);
- bool flag15 = flag14 | (num3 == 0x9A5B1DCC);
- bool flag16 = flag15 | (num3 == 0x9A9FD3DF);
- bool flag17 = flag16 | (num3 == 0x6827CF72);
- bool flag18 = flag17 | (num3 == 0xF337AB36);
- bool flag19 = flag18 | (num3 == 0x2E19879);
- bool flag20 = flag19 | (num3 == 0xC7824E5E);
- bool flag21 = flag20 | (num3 == 0xB12314E0);
- if (flag21 | (num3 == 0xE5A2D6C6))
- {
- return 1;
- }
- }
- return 0;
- }
- void sub_4B7E()
- {
- if (sub_9282(l_54) != 0)
- {
- if (ENTITY::GET_ENTITY_MODEL(l_54) == 0x84718D34)
- {
- l_88 = 0;
- }
- else
- {
- l_88 = 1;
- }
- }
- }
- void sub_4BAA()
- {
- if (sub_9282(l_54) != 0)
- {
- l_445 = VEHICLE::GET_VEHICLE_LAYOUT_HASH(l_54);
- switch (l_445)
- {
- case 0x8ADF98D5:
- case 0x36CE3DC4:
- case 0x9269BEA0:
- case 0x6967F0BC:
- case 0x5DF7414D:
- case 0x375F8F8C:
- case 0xE25535CF:
- case 0x9D0E8E8E:
- l_447 = "creatures@rottweiler@in_vehicle@van";
- l_446 = "van_ds_open_door_for_chop";
- return;
- case 0x84D77E93:
- case 0x37254CF9:
- case 0x41E72EC9:
- case 0x205A6F50:
- case 0x4163EC9:
- case 0xD158A20D:
- l_447 = "creatures@rottweiler@in_vehicle@low_car";
- l_446 = "low_ds_open_door_for_chop";
- return;
- case 0x19E59D55:
- case 0x6C40A6DC:
- case 0x65FA4F90:
- l_447 = "creatures@rottweiler@in_vehicle@4x4";
- l_446 = "std_ds_open_door_for_chop";
- return;
- }
- l_447 = "creatures@rottweiler@in_vehicle@std_car";
- l_446 = "std_ds_open_door_for_chop";
- }
- }
- var sub_4C73()
- {
- var num1 = PED::IS_PED_IN_ANY_VEHICLE(PLAYER::PLAYER_PED_ID(), 0);
- var num6 = num1 & VEHICLE::IS_VEHICLE_DRIVEABLE(PED::GET_VEHICLE_PED_IS_IN(PLAYER::PLAYER_PED_ID(), 0), 0);
- var num7 = num6 & (PED::IS_PED_ON_ANY_BIKE(PLAYER::PLAYER_PED_ID()) == 0);
- var num8 = num7 & (PED::IS_PED_IN_ANY_PLANE(PLAYER::PLAYER_PED_ID()) == 0);
- var num9 = num8 & (PED::IS_PED_IN_ANY_HELI(PLAYER::PLAYER_PED_ID()) == 0);
- var num10 = num9 & (PED::IS_PED_IN_ANY_BOAT(PLAYER::PLAYER_PED_ID()) == 0);
- var num11 = num10 & (VEHICLE::GET_VEHICLE_MAX_NUMBER_OF_PASSENGERS(PED::GET_VEHICLE_PED_IS_IN(PLAYER::PLAYER_PED_ID(), 0)) >= 1);
- var num12 = num11 & VEHICLE::IS_VEHICLE_SEAT_FREE(PED::GET_VEHICLE_PED_IS_IN(PLAYER::PLAYER_PED_ID(), 0), 0);
- if ((num12 & (sub_2687() == 0)) != 0)
- {
- return 1;
- }
- return 0;
- }
- var sub_4D08()
- {
- if (INTERIOR::IS_VALID_INTERIOR(INTERIOR::GET_INTERIOR_FROM_ENTITY(PLAYER::PLAYER_PED_ID())) != 0)
- {
- if (INTERIOR::GET_INTERIOR_FROM_ENTITY(PLAYER::PLAYER_PED_ID()) == INTERIOR::GET_INTERIOR_AT_COORDS(-14.5f, -1437.2f, 31.1f))
- {
- return 1;
- }
- if (INTERIOR::GET_INTERIOR_FROM_ENTITY(PLAYER::PLAYER_PED_ID()) == INTERIOR::GET_INTERIOR_AT_COORDS(7.6f, 537.3f, 176f))
- {
- return 1;
- }
- if (INTERIOR::GET_INTERIOR_FROM_ENTITY(PLAYER::PLAYER_PED_ID()) == INTERIOR::GET_INTERIOR_AT_COORDS(130.2632f, -1295.035f, 28.2695f))
- {
- return 1;
- }
- }
- return 0;
- }
- void sub_4D86()
- {
- var num3;
- var num6;
- var num9;
- var num12;
- var num15;
- struct _s = ENTITY::GET_ENTITY_COORDS(PLAYER::PLAYER_PED_ID(), 1);
- setStruct(rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), 3, &num3);
- struct _s = ENTITY::GET_OFFSET_FROM_ENTITY_IN_WORLD_COORDS(PED::GET_VEHICLE_PED_IS_IN(PLAYER::PLAYER_PED_ID(), 1), 2f, 0f, 0f);
- setStruct(rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), 3, &num6);
- struct _s = &num6;
- struct _s = &num3;
- struct _s = vsub(rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8));
- setStruct(rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), 3, &num12);
- struct _s = ENTITY::GET_OFFSET_FROM_ENTITY_IN_WORLD_COORDS(PED::GET_VEHICLE_PED_IS_IN(PLAYER::PLAYER_PED_ID(), 1), -2f, 0f, 0f);
- setStruct(rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), 3, &num9);
- struct _s = &num9;
- struct _s = &num3;
- struct _s = vsub(rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8));
- setStruct(rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), 3, &num15);
- struct _s = &num12;
- struct _s = &num15;
- if (SYSTEM::VMAG(rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8)) < SYSTEM::VMAG(rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8)))
- {
- l_87 = 1;
- }
- else
- {
- l_87 = 0;
- }
- }
- void sub_4DFE()
- {
- bool flag1 = l_309 != 5;
- bool flag2 = flag1 | ((GAMEPLAY::GET_GAME_TIMER() - l_310) < 1000);
- if (!(flag2 | (l_365 == 0)))
- {
- var num3;
- var num6;
- sub_876D();
- var num7 = 0;
- num7 = 0;
- while (true)
- {
- if (num7 >= 102)
- {
- break;
- }
- if (sub_86FC(num7) != 0)
- {
- struct _s = sub_77BB(num7, 1);
- setStruct(rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), 3, &num3);
- struct _s = &num3;
- if (sub_7791(rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8)) == 0)
- {
- struct _s = ENTITY::GET_ENTITY_COORDS(l_43, 1);
- struct _s = &num3;
- num6 = GAMEPLAY::GET_DISTANCE_BETWEEN_COORDS(rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), 1);
- bool flag3 = num6 < getElem(2, &l_317, 4);
- if (flag3 & (num6 < l_362))
- {
- setElem(num7, 2, &l_311, 4);
- setElem(num6, 2, &l_317, 4);
- struct _s = sub_77BB(num7, 0);
- setStruct(rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), 3, getElemPtr(2, &l_323, 12));
- struct _s = &num3;
- setStruct(rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), 3, getElemPtr(2, &l_339, 12));
- }
- }
- }
- num7++;
- }
- num7 = 0;
- num7 = 0;
- while (true)
- {
- if (num7 >= 76)
- {
- break;
- }
- if (sub_775C(num7) != 0)
- {
- struct _s = sub_6984(num7, 1);
- setStruct(rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), 3, &num3);
- struct _s = &num3;
- if (sub_7791(rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8)) == 0)
- {
- struct _s = ENTITY::GET_ENTITY_COORDS(l_43, 1);
- struct _s = &num3;
- num6 = GAMEPLAY::GET_DISTANCE_BETWEEN_COORDS(rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), 1);
- bool flag4 = num6 < getElem(1, &l_317, 4);
- if (flag4 & (num6 < l_362))
- {
- setElem(num7, 1, &l_311, 4);
- setElem(num6, 1, &l_317, 4);
- struct _s = sub_6984(num7, 0);
- setStruct(rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), 3, getElemPtr(1, &l_323, 12));
- struct _s = &num3;
- setStruct(rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), 3, getElemPtr(1, &l_339, 12));
- }
- }
- }
- num7++;
- }
- num7 = 0;
- num7 = 0;
- while (true)
- {
- if (num7 >= 45)
- {
- break;
- }
- if (sub_695B(num7) != 0)
- {
- struct _s = sub_61CD(num7, 1);
- setStruct(rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), 3, &num3);
- struct _s = &num3;
- if (sub_7791(rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8)) == 0)
- {
- struct _s = ENTITY::GET_ENTITY_COORDS(l_43, 1);
- struct _s = &num3;
- num6 = GAMEPLAY::GET_DISTANCE_BETWEEN_COORDS(rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), 1);
- bool flag5 = num6 < getElem(0, &l_317, 4);
- if (flag5 & (num6 < l_362))
- {
- setElem(num7, 0, &l_311, 4);
- setElem(num6, 0, &l_317, 4);
- struct _s = sub_61CD(num7, 0);
- setStruct(rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), 3, getElemPtr(0, &l_323, 12));
- struct _s = &num3;
- setStruct(rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), 3, getElemPtr(0, &l_339, 12));
- }
- }
- }
- num7++;
- }
- if (sub_61BA() != 0)
- {
- num7 = 0;
- num7 = 0;
- while (num7 < 50)
- {
- bool flag6 = sub_28B2(num7) == 0;
- if (flag6 & sub_6167(num7))
- {
- struct _s = sub_5987(num7, 1);
- setStruct(rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), 3, &num3);
- struct _s = &num3;
- if (sub_7791(rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8)) == 0)
- {
- struct _s = ENTITY::GET_ENTITY_COORDS(l_43, 1);
- struct _s = &num3;
- num6 = GAMEPLAY::GET_DISTANCE_BETWEEN_COORDS(rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), 1);
- bool flag7 = num6 < getElem(3, &l_317, 4);
- if (flag7 & (num6 < l_362))
- {
- setElem(num7, 3, &l_311, 4);
- setElem(num6, 3, &l_317, 4);
- struct _s = sub_5987(num7, 0);
- setStruct(rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), 3, getElemPtr(3, &l_323, 12));
- struct _s = &num3;
- setStruct(rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), 3, getElemPtr(3, &l_339, 12));
- }
- }
- }
- num7++;
- }
- }
- if (sub_5974() != 0)
- {
- num7 = 0;
- for (num7 = 0; num7 < 50; num7++)
- {
- bool flag8 = sub_2867(num7) == 0;
- if (flag8 & sub_5927(num7))
- {
- struct _s = sub_5111(num7, 1);
- setStruct(rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), 3, &num3);
- struct _s = &num3;
- if (sub_7791(rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8)) == 0)
- {
- struct _s = ENTITY::GET_ENTITY_COORDS(l_43, 1);
- struct _s = &num3;
- num6 = GAMEPLAY::GET_DISTANCE_BETWEEN_COORDS(rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), 1);
- bool flag9 = num6 < getElem(4, &l_317, 4);
- if (flag9 & (num6 < l_362))
- {
- setElem(num7, 4, &l_311, 4);
- setElem(num6, 4, &l_317, 4);
- struct _s = sub_5111(num7, 0);
- setStruct(rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), 3, getElemPtr(4, &l_323, 12));
- struct _s = &num3;
- setStruct(rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), 3, getElemPtr(4, &l_339, 12));
- }
- }
- }
- }
- }
- l_310 = GAMEPLAY::GET_GAME_TIMER();
- }
- }
- var sub_5111(var A_0, var A_1)
- {
- switch (A_0)
- {
- case 0:
- return buildStruct(-1219f, -3495.9f, 12.9448f);
- case 1:
- if (A_1 != 1)
- {
- return buildStruct(634.5865f, -3232.79f, -16.5774f);
- }
- return buildStruct(606.8925f, -3250.188f, 5.06951f);
- case 2:
- return buildStruct(1590.6f, -2810.174f, 3.4494f);
- case 3:
- if (A_1 != 1)
- {
- return buildStruct(338.4039f, -2762.106f, 42.6543f);
- }
- return buildStruct(327.99f, -2757.61f, 4.99f);
- case 4:
- if (A_1 == 1)
- {
- return buildStruct(1134.422f, -2607.024f, 14.77071f);
- }
- return buildStruct(1133.688f, -2605.073f, 14.9729f);
- case 5:
- if (A_1 == 1)
- {
- return buildStruct(368.9316f, -2118.533f, 15.40341f);
- }
- return buildStruct(369.945f, -2116.756f, 16.1688f);
- case 6:
- if (A_1 == 1)
- {
- return buildStruct(1741.82f, -1623.85f, 111.41f);
- }
- return buildStruct(1742.024f, -1618.777f, 111.7313f);
- case 7:
- return buildStruct(287.7294f, -1444.4f, 45.5095f);
- case 8:
- return buildStruct(17.5926f, -1213.207f, 28.3678f);
- case 9:
- if (A_1 != 1)
- {
- return buildStruct(-900.3597f, -1165.551f, 31.8047f);
- }
- return buildStruct(-910.0172f, -1147.44f, 1.06785f);
- case 10:
- if (A_1 != 1)
- {
- return buildStruct(1231.973f, -1102.308f, 34.4289f);
- }
- return buildStruct(1237.728f, -1099.15f, 37.52579f);
- case 11:
- if (A_1 != 1)
- {
- return buildStruct(81.2213f, 814.0283f, 213.2917f);
- }
- return buildStruct(87.69075f, 810.3736f, 210.1258f);
- case 12:
- return buildStruct(-1907.515f, 1388.69f, 217.9728f);
- case 13:
- if (A_1 != 1)
- {
- return buildStruct(469.8529f, -730.8f, 26.3985f);
- }
- return buildStruct(467.369f, -730.7552f, 26.36373f);
- case 14:
- return buildStruct(202.1081f, -569.7198f, 128.18f);
- case 15:
- return buildStruct(159.39f, -563.82f, 21f);
- case 16:
- if (A_1 != 1)
- {
- return buildStruct(-1182.538f, -525.5859f, 39.9114f);
- }
- return buildStruct(-1183.152f, -518.5386f, 38.53018f);
- case 17:
- return buildStruct(-228.0476f, -236.4184f, 49.1361f);
- case 18:
- return buildStruct(-407.7026f, -151.7918f, 63.5505f);
- case 19:
- if (A_1 != 1)
- {
- return buildStruct(-1175.488f, -65.4649f, 44.6563f);
- }
- return buildStruct(-1169.397f, -56.76701f, 44.45705f);
- case 20:
- if (A_1 != 1)
- {
- return buildStruct(1684.664f, 40.7142f, 153.4074f);
- }
- return buildStruct(1679.056f, 39.44059f, 160.7736f);
- case 21:
- if (A_1 != 1)
- {
- return buildStruct(1965.58f, 555.99f, 160.79f);
- }
- return buildStruct(1964.25f, 553.68f, 160.72f);
- case 22:
- if (A_1 != 1)
- {
- return buildStruct(22.4492f, 638.8155f, 189.6085f);
- }
- return buildStruct(24.21706f, 637.1212f, 206.3897f);
- case 23:
- return buildStruct(2901.204f, 796.1192f, 3.3556f);
- case 24:
- if (A_1 != 1)
- {
- return buildStruct(-1529.722f, 871.4257f, 180.6421f);
- }
- return buildStruct(-1531.895f, 870.3203f, 180.6775f);
- case 25:
- return buildStruct(-404.3191f, 1100.889f, 331.535f);
- case 26:
- return buildStruct(-2809.354f, 1449.643f, 99.928f);
- case 27:
- if (A_1 != 1)
- {
- return buildStruct(3144.045f, 2184.413f, -5.2961f);
- }
- return buildStruct(3144.045f, 2184.413f, -5.2961f);
- case 28:
- return buildStruct(815.7574f, 1850.879f, 120.1796f);
- case 29:
- return buildStruct(-1944.24f, 1941.07f, 162.8f);
- case 30:
- if (A_1 != 1)
- {
- return buildStruct(-1436.87f, 2130.22f, 26.78f);
- }
- return buildStruct(-1452.23f, 2127.41f, 42.84f);
- case 31:
- return buildStruct(1367.413f, 2180.632f, 96.6914f);
- case 32:
- if (A_1 != 1)
- {
- return buildStruct(172.1426f, 2220.131f, 89.7842f);
- }
- return buildStruct(170.1652f, 2217.637f, 89.30811f);
- case 33:
- return buildStruct(889.3209f, 2870.052f, 55.2834f);
- case 34:
- if (A_1 != 1)
- {
- return buildStruct(1963.55f, 2922.81f, 57.76f);
- }
- return buildStruct(1980.2f, 2914.79f, 45.48f);
- case 35:
- return buildStruct(-390.384f, 2963.26f, 18.2713f);
- case 36:
- return buildStruct(71.6642f, 3279.368f, 30.3918f);
- case 37:
- return buildStruct(1924.186f, 3471.256f, 50.3238f);
- case 38:
- return buildStruct(-583.1569f, 3580.375f, 266.2471f);
- case 39:
- if (A_1 != 1)
- {
- return buildStruct(2516.98f, 3789.35f, 53.79f);
- }
- return buildStruct(2514.302f, 3789.519f, 52.077f);
- case 40:
- if (A_1 != 1)
- {
- return buildStruct(1486.047f, 3857.217f, 22.2905f);
- }
- return buildStruct(1517.613f, 3803.926f, 30.95605f);
- case 41:
- if (A_1 != 1)
- {
- return buildStruct(-528.8246f, 4440.644f, 31.7384f);
- }
- return buildStruct(-530.2739f, 4474.358f, 59.45993f);
- case 42:
- if (A_1 != 1)
- {
- return buildStruct(3820.813f, 4441.683f, 1.8007f);
- }
- return buildStruct(3815.055f, 4447.343f, 2.06631f);
- case 43:
- if (A_1 != 1)
- {
- return buildStruct(-1943.055f, 4585.194f, 46.6362f);
- }
- return buildStruct(-1946.95f, 4584.36f, 56.06f);
- case 44:
- return buildStruct(2437.545f, 4779.959f, 33.5101f);
- case 45:
- return buildStruct(-1441.495f, 5414.888f, 23.3f);
- case 46:
- return buildStruct(2196.251f, 5599.034f, 52.7129f);
- case 47:
- if (A_1 != 1)
- {
- return buildStruct(-503.2193f, 5665.61f, 48.8487f);
- }
- return buildStruct(-503.95f, 5673.55f, 51.24f);
- case 48:
- if (A_1 != 1)
- {
- return buildStruct(-381.291f, 6086.949f, 38.6147f);
- }
- return buildStruct(-378.4192f, 6080.782f, 30.44296f);
- case 49:
- return buildStruct(440.9546f, 6459.642f, 27.7432f);
- }
- return buildStruct(0f, 0f, 0f);
- }
- var sub_5927(var A_0)
- {
- switch ((A_0))
- {
- case 2:
- case 14:
- case 17:
- case 18:
- case 25:
- return 0;
- case 16:
- if (GAMEPLAY::IS_BIT_SET(g_19608, 7) != 0)
- {
- return 0;
- }
- break;
- }
- return 1;
- }
- var sub_5974()
- {
- return rPtr((((&g_86838) + 7661) + 124) + 2);
- }
- var sub_5987(var A_0, var A_1)
- {
- switch (A_0)
- {
- case 0:
- if (A_1 != 1)
- {
- return buildStruct(1026.705f, -3026.052f, 13.3323f);
- }
- return buildStruct(1034.274f, -3026.275f, 4.90197f);
- case 1:
- if (A_1 == 1)
- {
- return buildStruct(-1040.979f, -2743.509f, 12.94983f);
- }
- return buildStruct(-1048.604f, -2734.218f, 12.8895f);
- case 2:
- if (A_1 == 1)
- {
- return buildStruct(-93.9012f, -2711.314f, 5.01752f);
- }
- return buildStruct(-81.1199f, -2726.511f, 7.74f);
- case 3:
- return buildStruct(-917.6909f, -2527.384f, 22.3218f);
- case 4:
- if (A_1 != 1)
- {
- return buildStruct(748.922f, -2298.114f, 19.624f);
- }
- return buildStruct(746.45f, -2310.32f, 26.03f);
- case 5:
- if (A_1 == 1)
- {
- return buildStruct(1509.742f, -2126.038f, 75.21973f);
- }
- return buildStruct(1509.099f, -2120.551f, 75.61f);
- case 6:
- return buildStruct(76.0032f, -1970.475f, 20.1302f);
- case 7:
- if (A_1 != 1)
- {
- return buildStruct(0.067f, -1734.027f, 30.606f);
- }
- return buildStruct(-1.82327f, -1732.614f, 28.29367f);
- case 8:
- if (A_1 != 1)
- {
- return buildStruct(-1380.491f, -1404.374f, 1.7273f);
- }
- return buildStruct(-1377.766f, -1409.837f, 4.63205f);
- case 9:
- return buildStruct(2864.808f, -1372.84f, 1.3151f);
- case 10:
- return buildStruct(-1035.812f, -1273.077f, 0.8919f);
- case 11:
- return buildStruct(-1821.136f, -1201.36f, 18.1698f);
- case 12:
- return buildStruct(643.0116f, -1035.65f, 35.8891f);
- case 13:
- return buildStruct(-119.0616f, -977.2228f, 303.23f);
- case 14:
- if (A_1 != 1)
- {
- return buildStruct(-1238.766f, -506.7138f, 37.6019f);
- }
- return buildStruct(-1243.104f, -507.8057f, 30.10775f);
- case 15:
- if (A_1 != 1)
- {
- return buildStruct(86.4f, -433.9f, 36f);
- }
- return buildStruct(83.79993f, -431.9302f, 36.55315f);
- case 16:
- return buildStruct(1095.953f, -210.4642f, 54.9477f);
- case 17:
- return buildStruct(-1724.522f, -196f, 57.2387f);
- case 18:
- return buildStruct(265.374f, -199.546f, 60.795f);
- case 19:
- if (A_1 != 1)
- {
- return buildStruct(-3021.4f, 38f, 10.2945f);
- }
- return buildStruct(-3020.475f, 36.55431f, 9.11777f);
- case 20:
- if (A_1 != 1)
- {
- return buildStruct(-347.3f, 54.865f, 53.921f);
- }
- return buildStruct(-347.5277f, 53.37161f, 52.97814f);
- case 21:
- return buildStruct(1052.248f, 167.611f, 87.7406f);
- case 22:
- return buildStruct(-2303.798f, 217.4301f, 166.6017f);
- case 23:
- return buildStruct(-138.9423f, 868.3885f, 231.6956f);
- case 24:
- if (A_1 != 1)
- {
- return buildStruct(682.4505f, 1204.928f, 344.3322f);
- }
- return buildStruct(688.1073f, 1204.671f, 323.3438f);
- case 25:
- return buildStruct(-1548.763f, 1380.173f, 125.3728f);
- case 26:
- if (A_1 != 1)
- {
- return buildStruct(-432.0034f, 1597.129f, 356.613f);
- }
- return buildStruct(-432.14f, 1598.46f, 355.73f);
- case 27:
- return buildStruct(3081.93f, 1648.29f, 2.42f);
- case 28:
- return buildStruct(-594.38f, 2092f, 130.57f);
- case 29:
- if (A_1 != 1)
- {
- return buildStruct(3063.583f, 2212.63f, 2.5863f);
- }
- return buildStruct(3069.213f, 2160.988f, 1.1327f);
- case 30:
- return buildStruct(180.21f, 2263.83f, 91.87f);
- case 31:
- if (A_1 != 1)
- {
- return buildStruct(929.6946f, 2444.115f, 48.43f);
- }
- return buildStruct(926.96f, 2445.36f, 49.09f);
- case 32:
- if (A_1 != 1)
- {
- return buildStruct(-2379.948f, 2656.953f, 1.4906f);
- }
- return buildStruct(-2380.212f, 2655.176f, 0.832f);
- case 33:
- return buildStruct(-861.38f, 2753.3f, 12.867f);
- case 34:
- return buildStruct(-289.0195f, 2848.853f, 53.331f);
- case 35:
- if (A_1 != 1)
- {
- return buildStruct(265.7415f, 2866.416f, 73.19f);
- }
- return buildStruct(288.8409f, 2871.912f, 42.6422f);
- case 36:
- if (A_1 != 1)
- {
- return buildStruct(1294.2f, 3001.9f, 57.7f);
- }
- return buildStruct(1297.378f, 2988.71f, 40.11787f);
- case 37:
- return buildStruct(1568.65f, 3572.8f, 32.294f);
- case 38:
- return buildStruct(-1608.62f, 4274.25f, 102.95f);
- case 39:
- if (A_1 != 1)
- {
- return buildStruct(-1.9585f, 4334.787f, 32.3702f);
- }
- return buildStruct(-3.51812f, 4332.451f, 31.21602f);
- case 40:
- return buildStruct(1336.737f, 4307.2f, 37.1325f);
- case 41:
- if (A_1 != 1)
- {
- return buildStruct(-1001.48f, 4851.322f, 273.6112f);
- }
- return buildStruct(-1007.103f, 4836.936f, 268.5488f);
- case 42:
- return buildStruct(1877.09f, 5078.98f, 50.49f);
- case 43:
- if (A_1 != 1)
- {
- return buildStruct(3436.453f, 5176.911f, 6.386f);
- }
- return buildStruct(3366.099f, 5182.461f, 0.68317f);
- case 44:
- if (A_1 != 1)
- {
- return buildStruct(-578.8057f, 5470.164f, 59.0295f);
- }
- return buildStruct(-576.12f, 5472.24f, 59.28f);
- case 45:
- return buildStruct(444.6518f, 5571.781f, 780.1888f);
- case 46:
- return buildStruct(-402.9948f, 6319.279f, 31.2256f);
- case 47:
- return buildStruct(1439.599f, 6335.208f, 22.9485f);
- case 48:
- if (A_1 != 1)
- {
- return buildStruct(1469.632f, 6552.174f, 13.6854f);
- }
- return buildStruct(1466.109f, 6552.266f, 12.95773f);
- case 49:
- if (A_1 != 1)
- {
- return buildStruct(66.7136f, 6663.198f, 30.7821f);
- }
- return buildStruct(66.19278f, 6668.888f, 30.80633f);
- }
- return buildStruct(0f, 0f, 0f);
- }
- var sub_6167(var A_0)
- {
- switch ((A_0))
- {
- case 3:
- case 9:
- case 10:
- case 13:
- case 27:
- case 38:
- return 0;
- case 14:
- if (GAMEPLAY::IS_BIT_SET(g_19608, 7) != 0)
- {
- return 0;
- }
- break;
- }
- return 1;
- }
- var sub_61BA()
- {
- return rPtr((((&g_86838) + 7661) + 121) + 2);
- }
- var sub_61CD(var A_0, var A_1)
- {
- switch (A_0)
- {
- case 0:
- return buildStruct(473.1829f, -2643.184f, 4.7209f);
- case 1:
- if (A_1 != 1)
- {
- return buildStruct(289.2062f, -2091.221f, 16.0234f);
- }
- return buildStruct(291.41f, -2090.78f, 16.29f);
- case 2:
- if (A_1 == 1)
- {
- return buildStruct(1173.839f, -1499.781f, 33.84875f);
- }
- return buildStruct(1173.566f, -1495.763f, 34.1121f);
- case 3:
- if (A_1 == 1)
- {
- return buildStruct(-461.7139f, -1699.202f, 17.85122f);
- }
- return buildStruct(-462f, -1701f, 18.8f);
- case 4:
- return buildStruct(-1384.628f, -521.0416f, 30.084f);
- case 5:
- return buildStruct(-521.5692f, -601.7532f, 29.4482f);
- case 6:
- return buildStruct(-664.5f, 165.4552f, 58.3821f);
- case 7:
- return buildStruct(329.3609f, -190.5986f, 53.2262f);
- case 8:
- if (A_1 != 1)
- {
- return buildStruct(-478.7744f, -1051.079f, 40.93f);
- }
- return buildStruct(-477.44f, -1052.99f, 39.81f);
- case 9:
- return buildStruct(-1268.071f, -1917.408f, 4.8583f);
- case 10:
- return buildStruct(-1221.908f, -2771.762f, 13.0545f);
- case 11:
- return buildStruct(-3088.668f, 652.9629f, 0.989f);
- case 12:
- if (A_1 != 1)
- {
- return buildStruct(-627.2166f, 2035.032f, 157.5585f);
- }
- return buildStruct(-629.3048f, 2036.067f, 157.3307f);
- case 13:
- if (A_1 != 1)
- {
- return buildStruct(-2048.483f, 3406.162f, 31.1504f);
- }
- return buildStruct(-2071.903f, 3411.504f, 30.36414f);
- case 14:
- return buildStruct(-424.0321f, 4012.767f, 80.4744f);
- case 15:
- return buildStruct(1983.1f, 5174.5f, 47.6f);
- case 16:
- if (A_1 != 1)
- {
- return buildStruct(2340.17f, 2573.89f, 45.77f);
- }
- return buildStruct(2341.1f, 2576f, 45.7f);
- case 17:
- if (A_1 != 1)
- {
- return buildStruct(1663.96f, -24.1101f, 172.7747f);
- }
- return buildStruct(1663.9f, -25.91945f, 172.7747f);
- case 18:
- if (A_1 != 1)
- {
- return buildStruct(2617.729f, 1693.417f, 30.8743f);
- }
- return buildStruct(2614.451f, 1695.127f, 26.59907f);
- case 19:
- if (A_1 != 1)
- {
- return buildStruct(-187.0338f, 1555.677f, 321.2431f);
- }
- return buildStruct(-187.31f, 1545.16f, 314.07f);
- case 20:
- if (A_1 != 1)
- {
- return buildStruct(868.7573f, 2423.536f, 60.8942f);
- }
- return buildStruct(859.5025f, 2426.04f, 53.18517f);
- case 21:
- if (A_1 != 1)
- {
- return buildStruct(-1822.967f, 803.8147f, 138.2005f);
- }
- return buildStruct(-1822.075f, 805.7814f, 137.7265f);
- case 22:
- if (A_1 != 1)
- {
- return buildStruct(-1851.628f, 2053.836f, 139.9841f);
- }
- return buildStruct(-1852.922f, 2054.42f, 139.9841f);
- case 23:
- if (A_1 != 1)
- {
- return buildStruct(-1070.651f, 4898.934f, 213.2752f);
- }
- return buildStruct(-1075.515f, 4898.497f, 213.2767f);
- case 24:
- if (A_1 != 1)
- {
- return buildStruct(1300.1f, 4308.1f, 37.3f);
- }
- return buildStruct(1301.56f, 4306.6f, 36.39f);
- case 25:
- if (A_1 != 1)
- {
- return buildStruct(-437.94f, 5985.04f, 31.29f);
- }
- return buildStruct(-436.44f, 5983.5f, 30.49f);
- case 26:
- if (A_1 != 1)
- {
- return buildStruct(1838.577f, 3692.028f, 33.6172f);
- }
- return buildStruct(1840.569f, 3693.77f, 33.2668f);
- case 27:
- return buildStruct(533.1f, -23.8f, 70.6f);
- case 28:
- if (A_1 != 1)
- {
- return buildStruct(446.4f, -988.5f, 29.77f);
- }
- return buildStruct(445.83f, -986.48f, 29.69f);
- case 29:
- return buildStruct(-1119.498f, -847.3371f, 18.6886f);
- case 30:
- return buildStruct(391.2f, -1603.9f, 28.38f);
- case 31:
- return buildStruct(-890.8f, -2386.2f, 13.4f);
- case 32:
- if (A_1 != 1)
- {
- return buildStruct(284.7f, 954.2f, 210.1514f);
- }
- return buildStruct(282.75f, 953.05f, 209.95f);
- case 33:
- return buildStruct(-2003.115f, 544.7549f, 114.5077f);
- case 34:
- if (A_1 != 1)
- {
- return buildStruct(-386.8739f, 1142.42f, 321.5892f);
- }
- return buildStruct(-397.5786f, 1127.353f, 321.7291f);
- case 35:
- return buildStruct(-1521.811f, 1560.201f, 106.9392f);
- case 36:
- return buildStruct(1391.945f, 3616.655f, 37.9259f);
- case 37:
- if (A_1 != 1)
- {
- return buildStruct(40.5177f, -1910.727f, 20.9706f);
- }
- return buildStruct(45.37f, -1911.45f, 20.79f);
- case 38:
- if (A_1 != 1)
- {
- return buildStruct(70.3786f, 3755.605f, 38.7487f);
- }
- return buildStruct(68.14f, 3749.36f, 38.73f);
- case 39:
- return buildStruct(117.671f, -754.229f, 258.1322f);
- case 40:
- if (A_1 != 1)
- {
- return buildStruct(160.4134f, -1191.7f, 28.87f);
- }
- return buildStruct(156.35f, -1192.1f, 28.37f);
- case 41:
- return buildStruct(23.9296f, -633.9206f, 6.5084f);
- case 42:
- if (A_1 != 1)
- {
- return buildStruct(30.9162f, 6546.791f, 30.4058f);
- }
- return buildStruct(31.67f, 6542.78f, 30.44f);
- case 43:
- if (A_1 == null)
- {
- return buildStruct(1331.355f, 4392.887f, 44.012f);
- }
- return buildStruct(1333.057f, 4381.278f, 43.3703f);
- case 44:
- if (A_1 != 1)
- {
- return buildStruct(-1149.392f, 4938.771f, 221.3682f);
- }
- return buildStruct(-1147.31f, 4939.27f, 221.27f);
- }
- return buildStruct(0f, 0f, 0f);
- }
- var sub_695B(var A_0)
- {
- var num2 = A_0;
- if (((num2 != 33) && (num2 != 39)) && (num2 != 41))
- {
- return 1;
- }
- return 0;
- }
- var sub_6984(var A_0, var A_1)
- {
- switch (A_0)
- {
- case 0:
- return buildStruct(131.2f, 6920.1f, 20.8f);
- case 1:
- if (A_1 != 1)
- {
- return buildStruct(-1046.277f, 4918.739f, 211.5379f);
- }
- return buildStruct(-1048.569f, 4917.414f, 208.4216f);
- case 2:
- return buildStruct(-2358.46f, 3251.397f, 100.5504f);
- case 3:
- if (A_1 != 1)
- {
- return buildStruct(-249.9504f, 6331.219f, 32.7262f);
- }
- return buildStruct(-247.6219f, 6331.341f, 31.42602f);
- case 4:
- if (A_1 == 1)
- {
- return buildStruct(-140.9f, -2491.45f, 43.45f);
- }
- return buildStruct(-141.0976f, -2498.239f, 40.0124f);
- case 5:
- if (A_1 == 1)
- {
- return buildStruct(-2924.697f, 46.50282f, 10.60369f);
- }
- return buildStruct(-2925.7f, 47.4f, 11.6f);
- case 6:
- return buildStruct(-793.1981f, -726.4421f, 26.28f);
- case 7:
- if (A_1 != 1)
- {
- return buildStruct(123.5196f, -674.2917f, 41.4945f);
- }
- return buildStruct(124.0092f, -673.0096f, 41.02729f);
- case 8:
- if (A_1 == 1)
- {
- return buildStruct(1195.737f, -1481.694f, 33.8595f);
- }
- return buildStruct(1194.709f, -1482.472f, 33.9594f);
- case 9:
- if (A_1 == 1)
- {
- return buildStruct(-35.88743f, 1945.738f, 189.1868f);
- }
- return buildStruct(-35.5254f, 1947.289f, 189.186f);
- case 10:
- if (A_1 != null)
- {
- return buildStruct(753.4579f, 4174.996f, 39.8011f);
- }
- return buildStruct(751.72f, 4175.14f, 40.95f);
- case 11:
- if (A_1 == 1)
- {
- return buildStruct(1791.256f, 4592.383f, 36.68283f);
- }
- return buildStruct(1789.8f, 4592.4f, 36.78f);
- case 12:
- return buildStruct(341.311f, 2618.918f, 43.5124f);
- case 13:
- return buildStruct(442.3755f, -223.602f, 55.0215f);
- case 14:
- if (A_1 != 1)
- {
- return buildStruct(1286.5f, -1754.4f, 52f);
- }
- return buildStruct(1291.02f, -1760.94f, 51.05f);
- case 15:
- if (A_1 != 1)
- {
- return buildStruct(1658.621f, 6.7752f, 166.1676f);
- }
- return buildStruct(1659.438f, 5.4271f, 165.1176f);
- case 16:
- if (A_1 != 1)
- {
- return buildStruct(1647.399f, 4865.839f, 41f);
- }
- return buildStruct(1645.91f, 4866.72f, 40.98f);
- case 17:
- return buildStruct(-1144.589f, -2004.452f, 12.3803f);
- case 18:
- if (A_1 != 1)
- {
- return buildStruct(-1048.32f, -521.2f, 35.14f);
- }
- return buildStruct(-1047.3f, -520.6f, 35f);
- case 19:
- if (A_1 != 1)
- {
- return buildStruct(-1576.817f, -586.3887f, 34.8528f);
- }
- return buildStruct(-1576.046f, -587.8257f, 33.97909f);
- case 20:
- if (A_1 != 1)
- {
- return buildStruct(954.5f, -121.34f, 74.18f);
- }
- return buildStruct(953.44f, -123.42f, 73.35f);
- case 21:
- if (A_1 != 1)
- {
- return buildStruct(1135.401f, -663.7875f, 56.088f);
- }
- return buildStruct(1134.201f, -665.9413f, 56.08261f);
- case 22:
- if (A_1 != 1)
- {
- return buildStruct(-2195.029f, 250.4256f, 173.6017f);
- }
- return buildStruct(-2196.198f, 248.9123f, 173.612f);
- case 23:
- return buildStruct(29.2f, 3635.4f, 39.8f);
- case 24:
- if (A_1 != 1)
- {
- return buildStruct(1721.96f, 3300.464f, 40.3835f);
- }
- return buildStruct(1724.429f, 3299.023f, 40.2235f);
- case 25:
- if (A_1 != 1)
- {
- return buildStruct(2612.712f, 3662.564f, 101.1074f);
- }
- return buildStruct(2617.321f, 3659.452f, 100.3867f);
- case 26:
- return buildStruct(-459.9625f, 1101.076f, 328.0211f);
- case 27:
- if (A_1 != 1)
- {
- return buildStruct(2430.906f, 4995.561f, 45.2685f);
- }
- return buildStruct(2432.607f, 4994.333f, 45.25828f);
- case 28:
- if (A_1 != 1)
- {
- return buildStruct(3724.275f, 4523.615f, 21.1312f);
- }
- return buildStruct(3722.456f, 4521.837f, 20.39456f);
- case 29:
- if (A_1 != 1)
- {
- return buildStruct(-446.045f, 6000.882f, 31.9163f);
- }
- return buildStruct(-446.9024f, 5997.598f, 30.3407f);
- case 30:
- return buildStruct(3291.4f, 5192.5f, 18.4f);
- case 31:
- if (A_1 != 1)
- {
- return buildStruct(388.7f, -1434.3f, 29.8f);
- }
- return buildStruct(390.81f, -1436.07f, 28.45f);
- case 32:
- return buildStruct(-445.26f, -442.49f, 32.26f);
- case 33:
- if (A_1 == null)
- {
- return buildStruct(-1500.08f, 857.59f, 180.59f);
- }
- return buildStruct(-1501.46f, 858.17f, 180.59f);
- case 34:
- return buildStruct(2822.2f, -741.4f, 1.8f);
- case 35:
- if (A_1 != 1)
- {
- return buildStruct(-3165.613f, 1102.24f, 19.8928f);
- }
- return buildStruct(-3166.978f, 1102.622f, 19.80827f);
- case 36:
- if (A_1 != 1)
- {
- return buildStruct(1841.114f, 3675.253f, 34.086f);
- }
- return buildStruct(1842.882f, 3670.457f, 32.68f);
- case 37:
- if (A_1 != 1)
- {
- return buildStruct(1830.535f, 2603.828f, 45.7491f);
- }
- return buildStruct(1828.794f, 2605.504f, 44.61582f);
- case 38:
- if (A_1 != 1)
- {
- return buildStruct(-40.0528f, -1084.016f, 26.6224f);
- }
- return buildStruct(-32.61f, -1089.67f, 25.42f);
- case 39:
- if (A_1 != 1)
- {
- return buildStruct(1445.544f, 6334.057f, 23.975f);
- }
- return buildStruct(1439.012f, 6336.812f, 22.96477f);
- case 40:
- if (A_1 != 1)
- {
- return buildStruct(-784.4851f, -1351.364f, 8.1001f);
- }
- return buildStruct(-782.5126f, -1352.245f, 8.0001f);
- case 41:
- if (A_1 != 1)
- {
- return buildStruct(963.1673f, -1831.149f, 36.2055f);
- }
- return buildStruct(962.8806f, -1826.419f, 30.07195f);
- case 42:
- if (A_1 != 1)
- {
- return buildStruct(-1246.494f, -1533.677f, 4.5262f);
- }
- return buildStruct(-1246.155f, -1531.647f, 3.2962f);
- case 43:
- if (A_1 != 1)
- {
- return buildStruct(-761.1058f, 701.9452f, 145.05f);
- }
- return buildStruct(-765.5466f, 698.8101f, 143.3693f);
- case 44:
- if (A_1 != 1)
- {
- return buildStruct(-513.4391f, 30.9069f, 43.9018f);
- }
- return buildStruct(-512.1094f, 28.86313f, 43.6153f);
- case 45:
- if (A_1 != 1)
- {
- return buildStruct(780.3879f, 1295.705f, 361.6941f);
- }
- return buildStruct(781.3839f, 1292.073f, 359.2997f);
- case 46:
- return buildStruct(208.69f, 337.76f, 104.64f);
- case 47:
- if (A_1 != 1)
- {
- return buildStruct(-1890.24f, 2073.26f, 140.11f);
- }
- return buildStruct(-1889.99f, 2078.38f, 140f);
- case 48:
- return buildStruct(153.6156f, -3073.998f, 4.8962f);
- case 49:
- if (A_1 == null)
- {
- return buildStruct(-304.0894f, -1180.886f, 23.9493f);
- }
- return buildStruct(-306.2449f, -1180.538f, 22.711f);
- case 50:
- return buildStruct(-2006.987f, -556.4998f, 11.8813f);
- case 51:
- if (A_1 != 1)
- {
- return buildStruct(-588.1934f, -290.4782f, 43.7101f);
- }
- return buildStruct(-590.2079f, -289.8196f, 40.68631f);
- case 52:
- return buildStruct(-1795.826f, -855.7111f, 8.2048f);
- case 53:
- return buildStruct(-1557.108f, -1155.246f, 2.9158f);
- case 54:
- if (A_1 != 1)
- {
- return buildStruct(-1467.483f, -1387.507f, 3.1432f);
- }
- return buildStruct(-1470.71f, -1389.33f, 1.58f);
- case 55:
- return buildStruct(-684.8126f, -180.648f, 48.02f);
- case 56:
- if (A_1 != 1)
- {
- return buildStruct(-1307.062f, 641.4211f, 138.0582f);
- }
- return buildStruct(-1311.413f, 640.1154f, 136.9244f);
- case 57:
- return buildStruct(2493.686f, 4963.541f, 43.7358f);
- case 58:
- if (A_1 != 1)
- {
- return buildStruct(1392.609f, 3605.799f, 34.9939f);
- }
- return buildStruct(1392.76f, 3602.94f, 33.98f);
- case 59:
- if (A_1 != 1)
- {
- return buildStruct(-535.4436f, 5297.496f, 76.3891f);
- }
- return buildStruct(-527.33f, 5295.7f, 73.17f);
- case 60:
- if (A_1 != 1)
- {
- return buildStruct(-551.5837f, 5349.404f, 75.253f);
- }
- return buildStruct(-564.26f, 5353.13f, 69.23f);
- case 61:
- if (A_1 != 1)
- {
- return buildStruct(0.1911f, -1825.905f, 24.3295f);
- }
- return buildStruct(3.18f, -1827.1f, 24.22f);
- case 62:
- if (A_1 != 1)
- {
- return buildStruct(63.8867f, 3683.49f, 39.1543f);
- }
- return buildStruct(62.25f, 3681.06f, 38.84f);
- case 63:
- return buildStruct(155.384f, -741.179f, 258.6519f);
- case 64:
- if (A_1 != 1)
- {
- return buildStruct(124.265f, -1205.882f, 28.2951f);
- }
- return buildStruct(126.61f, -1206.29f, 28.3f);
- case 65:
- return buildStruct(27.449f, -625.31f, 15.462f);
- case 66:
- if (A_1 != 1)
- {
- return buildStruct(-129.0374f, -659.2689f, 41.0016f);
- }
- return buildStruct(-129.04f, -662.04f, 39.51f);
- case 67:
- if (A_1 == null)
- {
- return buildStruct(1138.63f, -1596.61f, 35.07f);
- }
- return buildStruct(1138.62f, -1598.56f, 33.69f);
- case 68:
- if (A_1 == null)
- {
- return buildStruct(1147.55f, -1527.83f, 36.01f);
- }
- return buildStruct(1149.68f, -1525.56f, 33.84f);
- case 69:
- if (A_1 == null)
- {
- return buildStruct(296.44f, -1450.75f, 30.4f);
- }
- return buildStruct(297.48f, -1448.79f, 28.97f);
- case 70:
- if (A_1 == null)
- {
- return buildStruct(322.27f, -1393.75f, 32.79f);
- }
- return buildStruct(324.21f, -1392.68f, 31.51f);
- case 71:
- if (A_1 == null)
- {
- return buildStruct(294.3f, -598.1f, 43.73f);
- }
- return buildStruct(293.2f, -597.92f, 42.28f);
- case 72:
- if (A_1 == null)
- {
- return buildStruct(357.07f, -590.63f, 29.08f);
- }
- return buildStruct(358f, -592.66f, 27.79f);
- case 73:
- if (A_1 == null)
- {
- return buildStruct(-496.4f, -324.7f, 34.75f);
- }
- return buildStruct(-495.45f, -326.18f, 33.5f);
- case 74:
- if (A_1 == null)
- {
- return buildStruct(-449.82f, -353.49f, 34.75f);
- }
- return buildStruct(-450.91f, -351.93f, 33.5f);
- case 75:
- return buildStruct(-2258.833f, 323.9413f, 184.9015f);
- }
- return buildStruct(0f, 0f, 0f);
- }
- var sub_775C(var A_0)
- {
- var num2 = A_0;
- if ((((num2 != 2) && (num2 != 17)) && ((num2 != 55) && (num2 != 63))) && (num2 != 65))
- {
- return 1;
- }
- return 0;
- }
- var sub_7791(var A_0, var A_1, var A_2)
- {
- bool flag1 = A_0 == 0f;
- bool flag2 = flag1 & (rPtr((&A_0) + 4) == 0f);
- if (flag2 & (rPtr((&A_0) + 8) == 0f))
- {
- return 1;
- }
- return 0;
- }
- var sub_77BB(var A_0, var A_1)
- {
- switch (A_0)
- {
- case 0:
- if (A_1 != 1)
- {
- return buildStruct(-1756.974f, 427.531f, 126.7f);
- }
- return buildStruct(-1760.36f, 428.6f, 126.31f);
- case 1:
- return buildStruct(-1595.742f, 2799.371f, 16.0205f);
- case 2:
- if (A_1 != 1)
- {
- return buildStruct(-200.0114f, 1481.697f, 289.4303f);
- }
- return buildStruct(-197.1486f, 1482.685f, 288.253f);
- case 3:
- return buildStruct(256.77f, 2841.047f, 42.6599f);
- case 4:
- return buildStruct(-1360.223f, 4435.751f, 27.7754f);
- case 5:
- return buildStruct(64.63f, 7051.253f, 15.8272f);
- case 6:
- return buildStruct(-456.2838f, 1593.799f, 358.0119f);
- case 7:
- if (A_1 != 1)
- {
- return buildStruct(-3111.614f, 749.2816f, 12.6285f);
- }
- return buildStruct(-3114.617f, 749.8445f, 11.59352f);
- case 8:
- return buildStruct(713.6797f, 4095.969f, 33.765f);
- case 9:
- return buildStruct(255.2671f, 2586.281f, 43.9619f);
- case 10:
- return buildStruct(-1292.64f, -3345.82f, 23.27f);
- case 11:
- return buildStruct(3111.531f, 2214.848f, -8.6457f);
- case 12:
- if (A_1 != 1)
- {
- return buildStruct(555f, -837.81f, 55.08f);
- }
- return buildStruct(555.82f, -839.05f, 39.84f);
- case 13:
- return buildStruct(-2360f, 3245f, 91.9f);
- case 14:
- return buildStruct(1691.152f, 2640.859f, 54.0693f);
- case 15:
- return buildStruct(1982.37f, 6203.64f, 41.15f);
- case 16:
- return buildStruct(-2979f, 1588f, 23.3f);
- case 17:
- return buildStruct(963.5308f, -1824.04f, 30.0708f);
- case 18:
- return buildStruct(-295.4187f, 6188.786f, 30.48932f);
- case 19:
- return buildStruct(-1778f, 124f, 67.9f);
- case 20:
- if (A_1 != 1)
- {
- return buildStruct(161.2925f, 3131.854f, 42.5892f);
- }
- return buildStruct(157.5759f, 3133.994f, 42.45733f);
- case 21:
- return buildStruct(-888f, 5406f, 30.5f);
- case 22:
- return buildStruct(-1840f, 793f, 138.7f);
- case 23:
- if (A_1 != 1)
- {
- return buildStruct(-495.9968f, -1747.231f, 18.5194f);
- }
- return buildStruct(-495.8039f, -1750.207f, 17.42509f);
- case 24:
- if (A_1 != 1)
- {
- return buildStruct(-1763.359f, -263.2062f, 47.1481f);
- }
- return buildStruct(-1764.695f, -265.5809f, 47.6187f);
- case 25:
- if (A_1 != 1)
- {
- return buildStruct(548.5943f, -1642.603f, 27.4425f);
- }
- return buildStruct(548.0715f, -1642.451f, 27.2033f);
- case 26:
- return buildStruct(736.0563f, 2595.556f, 72.9165f);
- case 27:
- if (A_1 != 1)
- {
- return buildStruct(699.2748f, -1181.671f, 33.2608f);
- }
- return buildStruct(701.0009f, -1179.702f, 23.28737f);
- case 28:
- if (A_1 != 1)
- {
- return buildStruct(-1149.437f, 4940.362f, 221.3282f);
- }
- return buildStruct(-1146.74f, 4938.93f, 221.27f);
- case 29:
- if (A_1 != 1)
- {
- return buildStruct(2513.535f, -442.8484f, 113.0888f);
- }
- return buildStruct(2543.91f, -432.76f, 93.12f);
- case 30:
- return buildStruct(-553.1764f, -2239.877f, 121.3704f);
- case 31:
- if (A_1 != 1)
- {
- return buildStruct(987.15f, -105.88f, 74.13f);
- }
- return buildStruct(987.16f, -108.02f, 73.3f);
- case 32:
- return buildStruct(-1048f, -836f, 10.5f);
- case 33:
- return buildStruct(312.6026f, 6606.896f, 27.8835f);
- case 34:
- return buildStruct(-37.21f, 2871.26f, 58.61f);
- case 35:
- if (A_1 != 1)
- {
- return buildStruct(59f, 3692f, 38.92f);
- }
- return buildStruct(61.91f, 3690.51f, 38.83f);
- case 36:
- if (A_1 != 1)
- {
- return buildStruct(2934.499f, 4617.067f, 47.736f);
- }
- return buildStruct(2933.33f, 4617.07f, 47.72f);
- case 37:
- return buildStruct(57.8219f, -1932.121f, 20.4939f);
- case 38:
- return buildStruct(378.26f, -334.3f, 45.63f);
- case 39:
- if (A_1 != 1)
- {
- return buildStruct(2676.045f, 2793.249f, 39.5934f);
- }
- return buildStruct(2673.662f, 2793.702f, 31.8124f);
- case 40:
- return buildStruct(-1582.278f, 770.3486f, 188.1942f);
- case 41:
- if (A_1 != 1)
- {
- return buildStruct(-1640.546f, -1034.129f, 4.6074f);
- }
- return buildStruct(-1641.139f, -1032.815f, 4.63165f);
- case 42:
- if (A_1 != 1)
- {
- return buildStruct(-159.7137f, -209.1721f, 48.938f);
- }
- return buildStruct(-151.09f, -214.36f, 44.73f);
- case 43:
- return buildStruct(-1276.986f, -2451.886f, 72.0481f);
- case 44:
- if (A_1 != 1)
- {
- return buildStruct(-402f, 1053f, 323f);
- }
- return buildStruct(-403.5827f, 1056.212f, 322.8414f);
- case 45:
- return buildStruct(2728.987f, 1576.382f, 65.5818f);
- case 46:
- if (A_1 != 1)
- {
- return buildStruct(-215.9002f, 6125.27f, 56.278f);
- }
- return buildStruct(-221.27f, 6133.62f, 30.48f);
- case 47:
- return buildStruct(2092.225f, 2492.302f, 89.4046f);
- case 48:
- return buildStruct(-1124.666f, -967.1614f, 5.6319f);
- case 49:
- if (A_1 != 1)
- {
- return buildStruct(-405f, 325f, 108.7f);
- }
- return buildStruct(-405.5299f, 323.4063f, 107.7227f);
- case 50:
- return buildStruct(-1087.31f, -2429.3f, 13f);
- case 51:
- return buildStruct(-1042.645f, 879.7763f, 160.2144f);
- case 52:
- if (A_1 != 1)
- {
- return buildStruct(-1078.35f, 682.2944f, 144.904f);
- }
- return buildStruct(-1081.229f, 678.9454f, 141.8056f);
- case 53:
- return buildStruct(-402.0679f, 1355.062f, 329.8384f);
- case 54:
- return buildStruct(153.3876f, 713.6584f, 207.2551f);
- case 55:
- return buildStruct(186.9f, 243.0269f, 140.55f);
- case 56:
- if (A_1 != 1)
- {
- return buildStruct(304f, -3259f, 5f);
- }
- return buildStruct(302.01f, -3254.45f, 4.8f);
- case 57:
- if (A_1 != 1)
- {
- return buildStruct(-397f, -1885f, 21.5f);
- }
- return buildStruct(-398.57f, -1883.96f, 20.54f);
- case 58:
- return buildStruct(780.7208f, -211.0616f, 65.1143f);
- case 59:
- return buildStruct(-1755.011f, 184.3929f, 63.3711f);
- case 60:
- if (A_1 != 1)
- {
- return buildStruct(786.0139f, 2164.951f, 52.0981f);
- }
- return buildStruct(788.84f, 2164.06f, 52.1f);
- case 61:
- return buildStruct(1707.228f, 4920.156f, 41.0637f);
- case 62:
- return buildStruct(-684.9417f, 5793.045f, 16.331f);
- case 63:
- return buildStruct(-2188f, 4251f, 48f);
- case 64:
- if (A_1 != 1)
- {
- return buildStruct(-1103f, 2715f, 19f);
- }
- return buildStruct(-1099.08f, 2711.35f, 18.11f);
- case 65:
- return buildStruct(581f, -2805f, 5.5f);
- case 66:
- if (A_1 != 1)
- {
- return buildStruct(-665.4316f, -2002.04f, 7.5968f);
- }
- return buildStruct(-663.95f, -1998.85f, 6.1f);
- case 67:
- return buildStruct(1442.905f, -1479.759f, 62.2245f);
- case 68:
- if (A_1 != 1)
- {
- return buildStruct(-356.5324f, -145.0359f, 41.7413f);
- }
- return buildStruct(-361.92f, -141.76f, 37.58f);
- case 69:
- return buildStruct(624.0116f, 558.6531f, 129.2455f);
- case 70:
- return buildStruct(2833f, 2807f, 56.3785f);
- case 71:
- if (A_1 != 1)
- {
- return buildStruct(94.0769f, 6356.961f, 30.3761f);
- }
- return buildStruct(92.14449f, 6360.182f, 30.37612f);
- case 72:
- return buildStruct(-2231.514f, 3477.792f, 29.3291f);
- case 73:
- return buildStruct(377f, 3582f, 32.5f);
- case 74:
- if (A_1 != 1)
- {
- return buildStruct(-2948f, 441f, 15f);
- }
- return buildStruct(-2947.47f, 445.6f, 14.29f);
- case 75:
- if (A_1 != 1)
- {
- return buildStruct(1296f, -3348f, 5.2f);
- }
- return buildStruct(1292.88f, -3341.78f, 4.9f);
- case 76:
- if (A_1 != 1)
- {
- return buildStruct(-1165.883f, -2051.026f, 13.2268f);
- }
- return buildStruct(-1165.46f, -2054.09f, 13.2f);
- case 77:
- if (A_1 != 1)
- {
- return buildStruct(1235f, -450f, 66.5f);
- }
- return buildStruct(1235.57f, -452.01f, 65.7f);
- case 78:
- return buildStruct(-467.0458f, -934.8019f, 46.9844f);
- case 79:
- return buildStruct(226.7f, -1761f, 28.5f);
- case 80:
- if (A_1 != 1)
- {
- return buildStruct(1221f, 1898f, 77.4f);
- }
- return buildStruct(1218.07f, 1898.69f, 76.87f);
- case 81:
- if (A_1 != 1)
- {
- return buildStruct(1535.829f, 3798.217f, 33.4563f);
- }
- return buildStruct(1545.99f, 3802.7f, 32.42f);
- case 82:
- return buildStruct(756.8601f, 6462.329f, 30.4229f);
- case 83:
- return buildStruct(-2319f, 4124f, 26f);
- case 84:
- return buildStruct(-3185f, 1053f, 20.2f);
- case 85:
- return buildStruct(818.9215f, -3188.167f, 4.9007f);
- case 86:
- if (A_1 != 1)
- {
- return buildStruct(-457.3656f, -2262.646f, 7.5212f);
- }
- return buildStruct(-451.05f, -2264.24f, 6.61f);
- case 87:
- if (A_1 != 1)
- {
- return buildStruct(1410.091f, -752.1061f, 66.2362f);
- }
- return buildStruct(1409.86f, -757.22f, 65.8f);
- case 88:
- return buildStruct(8.4875f, -441.2103f, 44.5639f);
- case 89:
- if (A_1 != 1)
- {
- return buildStruct(-937.0176f, 391.544f, 80.2377f);
- }
- return buildStruct(-935.04f, 387.39f, 76.62f);
- case 90:
- if (A_1 != 1)
- {
- return buildStruct(2746.554f, 3463.525f, 54.7144f);
- }
- return buildStruct(2748.49f, 3463.02f, 54.77f);
- case 91:
- return buildStruct(1898.896f, 4921.975f, 47.8088f);
- case 92:
- if (A_1 != 1)
- {
- return buildStruct(-315.9772f, 6307.385f, 31.4906f);
- }
- return buildStruct(-315.51f, 6310.89f, 31.37f);
- case 93:
- return buildStruct(-1171f, 4927f, 224f);
- case 94:
- return buildStruct(-281.1712f, 2528.012f, 73.6376f);
- case 95:
- if (A_1 != 1)
- {
- return buildStruct(68.453f, 3758.967f, 38.7395f);
- }
- return buildStruct(68.45f, 3756.27f, 38.74f);
- case 96:
- return buildStruct(25.2888f, -634.2637f, 6.5084f);
- case 97:
- if (A_1 != 1)
- {
- return buildStruct(-1145.283f, 4940.286f, 221.3038f);
- }
- return buildStruct(-1146.67f, 4939.11f, 221.27f);
- case 98:
- return buildStruct(441.64f, 5570.38f, 780.45f);
- case 99:
- if (A_1 == null)
- {
- return buildStruct(1357.209f, 4388.445f, 43.872f);
- }
- return buildStruct(1353.152f, 4377.223f, 43.3416f);
- case 100:
- return buildStruct(-102.0671f, -968.1538f, 295.5635f);
- case 101:
- return buildStruct(2492.69f, 4963.014f, 43.6478f);
- }
- return buildStruct(0f, 0f, 0f);
- }
- var sub_86FC(var A_0)
- {
- var num2 = A_0;
- if (((((num2 != 1) && (num2 != 10)) && ((num2 != 11) && (num2 != 13))) && (((num2 != 14) && (num2 != 30)) && ((num2 != 34) && (num2 != 43)))) && ((((num2 != 45) && (num2 != 50)) && ((num2 != 55) && (num2 != 88))) && (((num2 != 96) && (num2 != 98)) && (num2 != 100))))
- {
- return 1;
- }
- return 0;
- }
- void sub_876D()
- {
- var num3 = 0;
- num3 = 0;
- while (true)
- {
- if (num3 >= 5)
- {
- break;
- }
- setElem(-1, num3, &l_311, 4);
- setElem(999999f, num3, &l_317, 4);
- setStruct(0f, 0f, 0f, 3, getElemPtr(num3, &l_323, 12));
- setStruct(0f, 0f, 0f, 3, getElemPtr(num3, &l_339, 12));
- num3++;
- }
- }
- void sub_87B6(var A_0)
- {
- PED::SET_PED_MODEL_IS_SUPPRESSED(0x349F33E1, A_0);
- PED::SET_PED_MODEL_IS_SUPPRESSED(0x9563221D, A_0);
- PED::SET_PED_MODEL_IS_SUPPRESSED(0xCE5FF074, A_0);
- PED::SET_PED_MODEL_IS_SUPPRESSED(0x644AC75E, A_0);
- PED::SET_PED_MODEL_IS_SUPPRESSED(0xD86B5A95, A_0);
- PED::SET_PED_MODEL_IS_SUPPRESSED(0x1250D7BA, A_0);
- PED::SET_PED_MODEL_IS_SUPPRESSED(0xB11BAB56, A_0);
- }
- void sub_880B(var A_0)
- {
- bool flag1 = WEAPON::HAS_PED_GOT_WEAPON(PLAYER::PLAYER_PED_ID(), 0x23C9F95C, 0) == 0;
- if (flag1 | (WEAPON::GET_AMMO_IN_PED_WEAPON(PLAYER::PLAYER_PED_ID(), 0x23C9F95C) == 0))
- {
- WEAPON::GIVE_WEAPON_TO_PED(PLAYER::PLAYER_PED_ID(), 0x23C9F95C, 1, A_0, A_0);
- UI::0x83B608A0(0x23C9F95C);
- }
- }
- void sub_8855()
- {
- if (PED::IS_PED_IN_GROUP(l_43) == 0)
- {
- PED::SET_PED_AS_GROUP_MEMBER(l_43, PED::GET_PED_GROUP_INDEX(PLAYER::PLAYER_PED_ID()));
- }
- if (PED::IS_PED_IN_GROUP(l_43) != 0)
- {
- PED::SET_PED_NEVER_LEAVES_GROUP(l_43, 1);
- PED::SET_GROUP_FORMATION_SPACING(sub_88A3(), 1f, 0.9f, 3f);
- PED::0xD0D8BDBC(l_43, PED::GET_PED_GROUP_INDEX(PLAYER::PLAYER_PED_ID()), 1);
- }
- }
- var sub_88A3()
- {
- return PLAYER::GET_PLAYER_GROUP(PLAYER::GET_PLAYER_INDEX());
- }
- void sub_88B3()
- {
- bool flag1 = PED::IS_PED_IN_ANY_VEHICLE(PLAYER::PLAYER_PED_ID(), 0) == 0;
- if (flag1 & (ENTITY::IS_ENTITY_IN_WATER(PLAYER::PLAYER_PED_ID()) == 0))
- {
- bool flag2 = sub_8BBC(PLAYER::PLAYER_PED_ID(), l_43) > 10f;
- if (flag2 | sub_8BA9("CHOP_H_WHIS"))
- {
- bool flag3 = (GAMEPLAY::GET_GAME_TIMER() - l_382) > 2000;
- if (flag3 & CONTROLS::IS_CONTROL_JUST_PRESSED(2, 201))
- {
- l_382 = GAMEPLAY::GET_GAME_TIMER();
- sub_899E(PLAYER::PLAYER_PED_ID(), "CALL_CHOP", 3);
- if (sub_8BA9("CHOP_H_WHIS") != 0)
- {
- UI::CLEAR_HELP(1);
- }
- bool flag4 = l_26 == 15;
- if (!(flag4 & (l_27 > 1)))
- {
- sub_2C53(0);
- sub_914D(2, 1);
- }
- }
- bool flag5 = GAMEPLAY::IS_BIT_SET(rPtr(((&g_86838) + 7661) + 94), 8) == 0;
- bool flag6 = flag5 & (UI::IS_HELP_MESSAGE_BEING_DISPLAYED() == 0);
- bool flag7 = flag6 & (sub_2539() == 0);
- if (flag7 & (STREAMING::STOP_PLAYER_REMAIN_ARCADE() == 0))
- {
- GAMEPLAY::SET_BIT(((&g_86838) + 7661) + 94, 8);
- sub_2421("CHOP_H_WHIS", -1);
- }
- }
- }
- }
- void sub_899E(var A_0, var A_1, var A_2)
- {
- AUDIO::0x5C57B85D(A_0, A_1, sub_89B4(A_2));
- }
- var sub_89B4(var A_0)
- {
- switch (A_0)
- {
- case 0:
- return "SPEECH_PARAMS_STANDARD";
- case 1:
- return "SPEECH_PARAMS_ALLOW_REPEAT";
- case 2:
- return "SPEECH_PARAMS_BEAT";
- case 3:
- return "SPEECH_PARAMS_FORCE";
- case 4:
- return "SPEECH_PARAMS_FORCE_FRONTEND";
- case 5:
- return "SPEECH_PARAMS_FORCE_NO_REPEAT_FRONTEND";
- case 6:
- return "SPEECH_PARAMS_FORCE_NORMAL";
- case 7:
- return "SPEECH_PARAMS_FORCE_NORMAL_CLEAR";
- case 8:
- return "SPEECH_PARAMS_FORCE_NORMAL_CRITICAL";
- case 9:
- return "SPEECH_PARAMS_FORCE_SHOUTED";
- case 10:
- return "SPEECH_PARAMS_FORCE_SHOUTED_CLEAR";
- case 11:
- return "SPEECH_PARAMS_FORCE_SHOUTED_CRITICAL";
- case 12:
- return "SPEECH_PARAMS_FORCE_PRELOAD_ONLY";
- case 13:
- return "SPEECH_PARAMS_MEGAPHONE";
- case 14:
- return "SPEECH_PARAMS_HELI";
- case 15:
- return "SPEECH_PARAMS_FORCE_MEGAPHONE";
- case 16:
- return "SPEECH_PARAMS_FORCE_HELI";
- case 17:
- return "SPEECH_PARAMS_INTERRUPT";
- case 18:
- return "SPEECH_PARAMS_INTERRUPT_SHOUTED";
- case 19:
- return "SPEECH_PARAMS_INTERRUPT_SHOUTED_CLEAR";
- case 20:
- return "SPEECH_PARAMS_INTERRUPT_SHOUTED_CRITICAL";
- case 21:
- return "SPEECH_PARAMS_INTERRUPT_NO_FORCE";
- case 22:
- return "SPEECH_PARAMS_INTERRUPT_FRONTEND";
- case 23:
- return "SPEECH_PARAMS_INTERRUPT_NO_FORCE_FRONTEND";
- case 24:
- return "SPEECH_PARAMS_ADD_BLIP";
- case 25:
- return "SPEECH_PARAMS_ADD_BLIP_ALLOW_REPEAT";
- case 26:
- return "SPEECH_PARAMS_ADD_BLIP_FORCE";
- case 27:
- return "SPEECH_PARAMS_ADD_BLIP_SHOUTED";
- case 28:
- return "SPEECH_PARAMS_ADD_BLIP_SHOUTED_FORCE";
- case 29:
- return "SPEECH_PARAMS_ADD_BLIP_INTERRUPT";
- case 30:
- return "SPEECH_PARAMS_ADD_BLIP_INTERRUPT_FORCE";
- case 31:
- return "SPEECH_PARAMS_FORCE_PRELOAD_ONLY_SHOUTED";
- case 32:
- return "SPEECH_PARAMS_FORCE_PRELOAD_ONLY_SHOUTED_CLEAR";
- case 33:
- return "SPEECH_PARAMS_FORCE_PRELOAD_ONLY_SHOUTED_CRITICAL";
- case 34:
- return "SPEECH_PARAMS_SHOUTED";
- case 35:
- return "SPEECH_PARAMS_SHOUTED_CLEAR";
- case 36:
- return "SPEECH_PARAMS_SHOUTED_CRITICAL";
- }
- var num3 = 0;
- return num3;
- }
- var sub_8BA9(var A_0)
- {
- UI::0x00E20F2D(A_0);
- return UI::0xF63A13EC(0);
- }
- var sub_8BBC(var A_0, var A_1)
- {
- return sub_1C4A(A_0, A_1, 1);
- }
- var sub_8BCD()
- {
- bool flag1 = AI::GET_SCRIPT_TASK_STATUS(l_43, 0xE763797) == 7;
- bool flag2 = flag1 | PED::IS_PED_RAGDOLL(l_43);
- if (flag2 | ENTITY::HAS_ENTITY_BEEN_DAMAGED_BY_ANY_PED(l_43))
- {
- WEAPON::CLEAR_PED_LAST_WEAPON_DAMAGE(l_43);
- return 1;
- }
- return 0;
- }
- void sub_8C08(var A_0, var A_1)
- {
- sub_8CBB(&l_142, 1, PLAYER::PLAYER_PED_ID(), "FRANKLIN", 0, 1);
- sub_8C31(&l_142, "CHOP_AU", A_0, 3, A_1, 0);
- }
- void sub_8C31(var A_0, var A_1, var A_2, var A_3, var A_4, var A_5)
- {
- sub_8C65(A_0, 143, A_1, A_4, A_5, 0);
- if (A_3 > 7)
- {
- A_3 = 7;
- }
- GAMEPLAY::SET_BIT(&g_10594, 0);
- g_11731 = A_3;
- strcpy(A_2, &g_11718, 24);
- }
- void sub_8C65(var A_0, var A_1, var A_2, var A_3, var A_4, var A_5)
- {
- struct _s = A_0;
- setStruct(rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), rPtrOfs(_s, 12), rPtrOfs(_s, 16), rPtrOfs(_s, 20), rPtrOfs(_s, 24), rPtrOfs(_s, 28), rPtrOfs(_s, 32), rPtrOfs(_s, 36), rPtrOfs(_s, 40), rPtrOfs(_s, 44), rPtrOfs(_s, 48), rPtrOfs(_s, 52), rPtrOfs(_s, 56), rPtrOfs(_s, 60), rPtrOfs(_s, 64), rPtrOfs(_s, 68), rPtrOfs(_s, 72), rPtrOfs(_s, 76), rPtrOfs(_s, 80), rPtrOfs(_s, 84), rPtrOfs(_s, 88), rPtrOfs(_s, 92), rPtrOfs(_s, 96), rPtrOfs(_s, 100), rPtrOfs(_s, 104), rPtrOfs(_s, 108), rPtrOfs(_s, 112), rPtrOfs(_s, 116), rPtrOfs(_s, 120), rPtrOfs(_s, 124), rPtrOfs(_s, 128), rPtrOfs(_s, 132), rPtrOfs(_s, 136), rPtrOfs(_s, 140), rPtrOfs(_s, 144), rPtrOfs(_s, 148), rPtrOfs(_s, 152), rPtrOfs(_s, 156), rPtrOfs(_s, 160), rPtrOfs(_s, 164), rPtrOfs(_s, 168), rPtrOfs(_s, 172), rPtrOfs(_s, 176), rPtrOfs(_s, 180), rPtrOfs(_s, 184), rPtrOfs(_s, 188), rPtrOfs(_s, 192), rPtrOfs(_s, 196), rPtrOfs(_s, 200), rPtrOfs(_s, 204), rPtrOfs(_s, 208), rPtrOfs(_s, 212), rPtrOfs(_s, 216), rPtrOfs(_s, 220), rPtrOfs(_s, 224), rPtrOfs(_s, 228), rPtrOfs(_s, 232), rPtrOfs(_s, 236), rPtrOfs(_s, 240), rPtrOfs(_s, 244), rPtrOfs(_s, 248), rPtrOfs(_s, 252), rPtrOfs(_s, 256), rPtrOfs(_s, 260), rPtrOfs(_s, 264), rPtrOfs(_s, 268), rPtrOfs(_s, 272), rPtrOfs(_s, 276), rPtrOfs(_s, 280), rPtrOfs(_s, 284), rPtrOfs(_s, 288), rPtrOfs(_s, 292), rPtrOfs(_s, 296), rPtrOfs(_s, 300), rPtrOfs(_s, 304), rPtrOfs(_s, 308), rPtrOfs(_s, 312), rPtrOfs(_s, 316), rPtrOfs(_s, 320), rPtrOfs(_s, 324), rPtrOfs(_s, 328), rPtrOfs(_s, 332), rPtrOfs(_s, 336), rPtrOfs(_s, 340), rPtrOfs(_s, 344), rPtrOfs(_s, 348), rPtrOfs(_s, 352), rPtrOfs(_s, 356), rPtrOfs(_s, 360), rPtrOfs(_s, 364), rPtrOfs(_s, 368), rPtrOfs(_s, 372), rPtrOfs(_s, 376), rPtrOfs(_s, 380), rPtrOfs(_s, 384), rPtrOfs(_s, 388), rPtrOfs(_s, 392), rPtrOfs(_s, 396), rPtrOfs(_s, 400), rPtrOfs(_s, 404), rPtrOfs(_s, 408), rPtrOfs(_s, 412), rPtrOfs(_s, 416), rPtrOfs(_s, 420), rPtrOfs(_s, 424), rPtrOfs(_s, 428), rPtrOfs(_s, 432), rPtrOfs(_s, 436), rPtrOfs(_s, 440), rPtrOfs(_s, 444), rPtrOfs(_s, 448), rPtrOfs(_s, 452), rPtrOfs(_s, 456), rPtrOfs(_s, 460), rPtrOfs(_s, 464), rPtrOfs(_s, 468), rPtrOfs(_s, 472), rPtrOfs(_s, 476), rPtrOfs(_s, 480), rPtrOfs(_s, 484), rPtrOfs(_s, 488), rPtrOfs(_s, 492), rPtrOfs(_s, 496), rPtrOfs(_s, 500), rPtrOfs(_s, 504), rPtrOfs(_s, 508), rPtrOfs(_s, 512), rPtrOfs(_s, 516), rPtrOfs(_s, 520), rPtrOfs(_s, 524), rPtrOfs(_s, 528), rPtrOfs(_s, 532), rPtrOfs(_s, 536), rPtrOfs(_s, 540), rPtrOfs(_s, 544), rPtrOfs(_s, 548), rPtrOfs(_s, 552), rPtrOfs(_s, 556), rPtrOfs(_s, 560), rPtrOfs(_s, 564), rPtrOfs(_s, 568), rPtrOfs(_s, 572), rPtrOfs(_s, 576), rPtrOfs(_s, 580), rPtrOfs(_s, 584), rPtrOfs(_s, 588), rPtrOfs(_s, 592), rPtrOfs(_s, 596), rPtrOfs(_s, 600), rPtrOfs(_s, 604), rPtrOfs(_s, 608), rPtrOfs(_s, 612), rPtrOfs(_s, 616), rPtrOfs(_s, 620), rPtrOfs(_s, 624), rPtrOfs(_s, 628), rPtrOfs(_s, 632), rPtrOfs(_s, 636), rPtrOfs(_s, 640), rPtrOfs(_s, 644), rPtrOfs(_s, 648), rPtrOfs(_s, 652), rPtrOfs(_s, 656), 165, &g_11182);
- g_1478 = A_1;
- strcpy(A_2, &g_11778, 24);
- g_12697 = A_5;
- if (A_3 == 0)
- {
- g_12695 = 1;
- g_12693 = 0;
- }
- else
- {
- g_12695 = 0;
- g_12693 = 1;
- }
- if (A_4 == 0)
- {
- g_12696 = 1;
- g_12694 = 0;
- }
- else
- {
- g_12696 = 0;
- g_12694 = 1;
- }
- }
- void sub_8CBB(var A_0, var A_1, var A_2, var A_3, var A_4, var A_5)
- {
- if (rPtr(getElemPtr(A_1, A_0, 40) + 28) == 1)
- {
- }
- setElem(A_2, A_1, A_0, 40);
- strcpy(A_3, getElemPtr(A_1, A_0, 40) + 4, 24);
- wPtr(1, getElemPtr(A_1, A_0, 40) + 28);
- wPtr(A_4, getElemPtr(A_1, A_0, 40) + 32);
- wPtr(A_5, getElemPtr(A_1, A_0, 40) + 36);
- if (g_59842 == 0)
- {
- if (PED::IS_PED_INJURED(A_2) == 0)
- {
- if (rPtr(getElemPtr(A_1, A_0, 40) + 32) == 0)
- {
- PED::SET_PED_CAN_PLAY_AMBIENT_ANIMS(A_2, 0);
- }
- else
- {
- PED::SET_PED_CAN_PLAY_AMBIENT_ANIMS(A_2, 1);
- }
- }
- if (PED::IS_PED_INJURED(A_2) == 0)
- {
- if (rPtr(getElemPtr(A_1, A_0, 40) + 36) == 0)
- {
- PED::SET_PED_CAN_USE_AUTO_CONVERSATION_LOOKAT(A_2, 0);
- }
- else
- {
- PED::SET_PED_CAN_USE_AUTO_CONVERSATION_LOOKAT(A_2, 1);
- }
- }
- }
- }
- void sub_8D55()
- {
- switch (GAMEPLAY::GET_RANDOM_INT_IN_RANGE(0, 6))
- {
- case 0:
- AI::TASK_PLAY_ANIM(l_43, getElem(1, &l_56, 4), "idle_a", 0x41000000, 0xC1000000, -1, 0, 0, 0, 0, 0);
- l_60 = "idle_a";
- break;
- case 1:
- AI::TASK_PLAY_ANIM(l_43, getElem(1, &l_56, 4), "idle_c", 0x41000000, 0xC1000000, -1, 0, 0, 0, 0, 0);
- l_60 = "idle_c";
- break;
- default:
- AI::TASK_PLAY_ANIM(l_43, getElem(1, &l_56, 4), "idle_b", 0x41000000, 0xC1000000, -1, 0, 0, 0, 0, 0);
- l_60 = "idle_b";
- break;
- }
- }
- var sub_8DE6(var A_0, var A_1)
- {
- if (sub_8E19(A_0) != 0)
- {
- bool flag1 = AI::GET_SCRIPT_TASK_STATUS(A_0, A_1) == 1;
- if (flag1 | (AI::GET_SCRIPT_TASK_STATUS(A_0, A_1) == 0))
- {
- return 1;
- }
- }
- return 0;
- }
- var sub_8E19(var A_0)
- {
- if ((sub_9282(A_0) != 0) && (PED::IS_PED_INJURED(A_0) == 0))
- {
- return 1;
- }
- return 0;
- }
- void sub_8E39()
- {
- if (l_435 == 0)
- {
- var num3 = GAMEPLAY::GET_RANDOM_INT_IN_RANGE(0, 8);
- struct _s = getElemPtr(num3, &l_410, 12);
- bool flag1 = ENTITY::IS_ENTITY_AT_COORD(l_43, rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), 2f, 2f, 4f, 0, 1, 0) == 0;
- if (flag1)
- {
- struct _s = getElemPtr(num3, &l_410, 12);
- }
- if (flag1 & (ENTITY::IS_ENTITY_AT_COORD(PLAYER::PLAYER_PED_ID(), rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), 2f, 2f, 4f, 0, 1, 0) == 0))
- {
- struct _s = getElemPtr(num3, &l_410, 12);
- AI::TASK_FOLLOW_NAV_MESH_TO_COORD(l_43, rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), 1f, 20000, 0.25f, 8192, 0x471C4000);
- l_435 = 1;
- }
- }
- else if (sub_8DE6(l_43, 0x2A89B8A7) == 0)
- {
- var num4;
- if (sub_2E1C() == 2)
- {
- num4 = 15;
- }
- else if (sub_2E1C() == 0)
- {
- num4 = 10;
- }
- else
- {
- num4 = -1;
- }
- var num5 = GAMEPLAY::GET_RANDOM_INT_IN_RANGE(0, 100);
- bool flag2 = num5 < num4;
- if (flag2 & (l_392 == 0))
- {
- l_392 = 1;
- sub_914D(13, 1);
- }
- else if (num5 < 50)
- {
- l_55 = 1;
- setElem("creatures@rottweiler@amb@world_dog_barking@enter", 0, &l_56, 4);
- setElem("creatures@rottweiler@amb@world_dog_barking@base", 1, &l_56, 4);
- setElem("creatures@rottweiler@amb@world_dog_barking@exit", 2, &l_56, 4);
- sub_914D(17, 1);
- }
- else
- {
- l_55 = 0;
- setElem("creatures@rottweiler@amb@world_dog_sitting@enter", 0, &l_56, 4);
- setElem("creatures@rottweiler@amb@world_dog_sitting@idle_a", 1, &l_56, 4);
- setElem("creatures@rottweiler@amb@world_dog_sitting@exit", 2, &l_56, 4);
- sub_914D(17, 1);
- }
- }
- }
- void sub_8F5A()
- {
- bool flag1 = (GAMEPLAY::GET_GAME_TIMER() - l_454) > 2000;
- bool flag2 = flag1 & sub_9282(l_43);
- if (flag2)
- {
- struct _s = ENTITY::GET_ENTITY_COORDS(l_43, 1);
- }
- if (flag2 & GAMEPLAY::IS_BULLET_IN_AREA(rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), 5f, 1))
- {
- sub_91CA("WHINE");
- l_454 = GAMEPLAY::GET_GAME_TIMER();
- }
- }
- void sub_8F9C()
- {
- bool flag1 = sub_2E1C() == 2;
- if (flag1 & ((GAMEPLAY::GET_GAME_TIMER() - l_383) > l_384))
- {
- l_383 = GAMEPLAY::GET_GAME_TIMER();
- l_384 = GAMEPLAY::GET_RANDOM_INT_IN_RANGE(10000, 15000);
- sub_91CA("WHINE");
- }
- }
- var sub_8FD9(var A_0, var A_1)
- {
- var num1 = sub_9282(l_43);
- var num14 = num1 & sub_9282(PLAYER::PLAYER_PED_ID());
- if (num14 != 0)
- {
- struct _s = &l_367;
- }
- if ((num14 & sub_9118(A_0, rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), 30f)) != 0)
- {
- if (A_1 == 1)
- {
- struct _s = ENTITY::GET_ENTITY_COORDS(A_0, 1);
- if (sub_905C(&l_90, rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8)) != 0)
- {
- var num3;
- var num6;
- struct _s = ENTITY::GET_ENTITY_COORDS(l_43, 1);
- setStruct(rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), 3, &num3);
- struct _s = ENTITY::GET_ENTITY_COORDS(PLAYER::PLAYER_PED_ID(), 1);
- setStruct(rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), 3, &num6);
- if (GAMEPLAY::ABSF(rPtr((&num3) + 2) - rPtr((&num6) + 2)) < 2.5f)
- {
- return 1;
- }
- }
- }
- else
- {
- return 1;
- }
- }
- return 0;
- }
- var sub_905C(var A_0, var A_1, var A_2, var A_3)
- {
- if (rPtr((A_0) + 184) < 3)
- {
- }
- var num3 = 0;
- var num4 = 0;
- var num5 = rPtr((A_0) + 184) - 1;
- while (num4 < rPtr((A_0) + 184))
- {
- bool flag3;
- bool flag1 = rPtr(getElemPtr(num4, A_0, 12) + 4) < rPtr((&A_1) + 4);
- bool flag2 = flag1 & (rPtr(getElemPtr(num5, A_0, 12) + 4) >= rPtr((&A_1) + 4));
- if (!flag2)
- {
- flag3 = rPtr(getElemPtr(num5, A_0, 12) + 4) < rPtr((&A_1) + 4);
- }
- if ((flag2 | (flag3 & (rPtr(getElemPtr(num4, A_0, 12) + 4) >= rPtr((&A_1) + 4)))) && ((getElem(num4, A_0, 12) + (((rPtr((&A_1) + 4) - rPtr(getElemPtr(num4, A_0, 12) + 4)) / (rPtr(getElemPtr(num5, A_0, 12) + 4) - rPtr(getElemPtr(num4, A_0, 12) + 4))) * (getElem(num5, A_0, 12) - getElem(num4, A_0, 12)))) < A_1))
- {
- num3 = (num3 == 0);
- }
- num5 = num4;
- num4++;
- }
- return num3;
- }
- var sub_9118(var A_0, var A_1, var A_2, var A_3, var A_4)
- {
- var num3;
- var num6;
- struct _s = ENTITY::GET_ENTITY_COORDS(A_0, 1);
- setStruct(rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), 3, &num3);
- struct _s = &A_1;
- struct _s = &num3;
- struct _s = vsub(rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8));
- setStruct(rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), 3, &num6);
- var i16 = rPtr((&num6) + 1);
- return (((num6 * num6) + (i16 * rPtr((&num6) + 1))) <= (A_4 * A_4));
- }
- void sub_914D(var A_0, var A_1)
- {
- l_81 = 0;
- if (sub_9282(l_43) != 0)
- {
- PED::SET_BLOCKING_OF_NON_TEMPORARY_EVENTS(l_43, 1);
- WEAPON::CLEAR_PED_LAST_WEAPON_DAMAGE(l_43);
- if (PED::IS_PED_IN_ANY_VEHICLE(l_43, 0) == 0)
- {
- if (A_1 == 1)
- {
- AI::CLEAR_PED_TASKS(l_43);
- }
- ENTITY::SET_ENTITY_INVINCIBLE(l_43, 0);
- }
- }
- l_26 = A_0;
- l_28 = 0;
- l_27 = 0;
- l_355 = -1;
- setStruct(0f, 0f, 0f, 3, &l_356);
- setStruct(0f, 0f, 0f, 3, &l_359);
- l_309 = 5;
- sub_29C8();
- l_435 = 0;
- l_409 = 0;
- l_454 = GAMEPLAY::GET_GAME_TIMER();
- AUDIO::SET_AUDIO_FLAG("DisableBarks", 0);
- }
- void sub_91CA(var A_0)
- {
- AUDIO::0x498849F3(l_43, 3, A_0);
- }
- var sub_91DB()
- {
- if (sub_8FD9(PLAYER::PLAYER_PED_ID(), 1) != 0)
- {
- if ((GAMEPLAY::GET_GAME_TIMER() - l_376) > l_377)
- {
- return 1;
- }
- struct _s = (&l_367) + 5;
- if (sub_2C1A(PLAYER::PLAYER_PED_ID(), rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), 1) < 8f)
- {
- sub_8C08("CHOP_KENNEL", 0);
- return 1;
- }
- }
- return 0;
- }
- var sub_9228(var A_0, var A_1, var A_2, var A_3, var A_4, var A_5, var A_6)
- {
- var num3 = 0;
- if (sub_9282(A_0) == 0)
- {
- return 0;
- }
- if (A_5 == 1)
- {
- var num4 = 0f;
- struct _s = &A_1;
- num3 = GAMEPLAY::GET_GROUND_Z_FOR_3D_COORD(rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), &num4);
- if (num3 != 0)
- {
- wPtr(num4, (&A_1) + 8);
- }
- }
- struct _s = &A_1;
- ENTITY::SET_ENTITY_COORDS(A_0, rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), 1, 0, 0, A_6);
- ENTITY::SET_ENTITY_HEADING(A_0, A_4);
- if (A_5 != null)
- {
- return num3;
- }
- return 1;
- }
- var sub_9282(var A_0)
- {
- if ((ENTITY::DOES_ENTITY_EXIST(A_0) != 0) && (ENTITY::IS_ENTITY_DEAD(A_0) == 0))
- {
- return 1;
- }
- return 0;
- }
- void sub_92A2()
- {
- if ((GAMEPLAY::GET_GAME_TIMER() - l_458) > 60000)
- {
- l_458 = GAMEPLAY::GET_GAME_TIMER();
- bool flag1 = l_26 == 2;
- bool flag2 = flag1 | (l_26 == 5);
- if (flag2 | (l_26 == 15))
- {
- if (sub_2E1C() == 1)
- {
- sub_92F5(115, 1);
- }
- else
- {
- sub_92F5(116, 1);
- }
- }
- }
- }
- void sub_92F5(var A_0, var A_1)
- {
- if ((A_1 >= 1) && (rPtr(getElemPtr(A_0, &g_42515, 28) + 8) == 0))
- {
- if (getElem(A_0, &g_42515, 28) != 0)
- {
- var num3;
- STATS::STAT_GET_INT(rPtr(getElemPtr(A_0, &g_42515, 28) + 4), &num3, -1);
- num3++;
- STATS::STAT_SET_INT(rPtr(getElemPtr(A_0, &g_42515, 28) + 4), num3, 1);
- }
- if (NETWORK::NETWORK_IS_GAME_IN_PROGRESS() != 0)
- {
- }
- }
- }
- void sub_9351()
- {
- if ((GAMEPLAY::GET_GAME_TIMER() - l_455) > 500)
- {
- l_455 = GAMEPLAY::GET_GAME_TIMER();
- bool flag1 = l_26 != 15;
- if (flag1 & GAMEPLAY::0x507BC6F7(PLAYER::PLAYER_PED_ID(), 0x23C9F95C, 1.5f, &l_438, &l_437, 0))
- {
- sub_2C53(1);
- }
- }
- }
- void sub_9399()
- {
- var num1 = sub_9C0D();
- var num7 = num1 & sub_9BB1();
- var num8 = num7 & (sub_9B9C() == 0);
- var num9 = num8 & (l_28 == 0);
- var num10 = num9 & (l_26 != 6);
- var num11 = num10 & sub_2539();
- var num12 = num11 & (STREAMING::STOP_PLAYER_REMAIN_ARCADE() == 0);
- var num13 = num12 & (PED::IS_PED_IN_COMBAT(l_43, 0) == 0);
- var num14 = num13 & (sub_4D08() == 0);
- if ((num14 & (sub_2438() == 0)) == 0)
- {
- sub_98D0(1);
- }
- else
- {
- CONTROLS::DISABLE_CONTROL_ACTION(0, 19);
- CONTROLS::DISABLE_CONTROL_ACTION(0, 42);
- CONTROLS::DISABLE_CONTROL_ACTION(0, 209);
- CONTROLS::DISABLE_CONTROL_ACTION(0, 208);
- CONTROLS::DISABLE_CONTROL_ACTION(0, 37);
- if (l_366 == 0)
- {
- sub_9A57(SYSTEM::FLOOR(rPtr(((&g_86838) + 19515) + 254)), 100, "CHOP_H_HAPPY", 1, -1, 2, -1f, -1f, 0, 1, 0, 0, 1);
- }
- else
- {
- sub_9A57(100, 100, "CHOP_H_HAPPY", 1, -1, 2, -1f, -1f, 0, 1, 0, 0, 1);
- }
- if (sub_992E() == 0)
- {
- UI::CLEAR_HELP(1);
- if (GAMEPLAY::IS_BIT_SET(rPtr(((&g_86838) + 7661) + 94), 0) == 0)
- {
- GAMEPLAY::SET_BIT(((&g_86838) + 7661) + 94, 0);
- }
- if (l_365 == 0)
- {
- l_365 = sub_98A3();
- }
- if (l_365 == 1)
- {
- var num3 = sub_98BD();
- if (num3 > 4)
- {
- num3 = 4;
- }
- bool flag8 = l_26 == 1;
- bool flag9 = flag8 | (l_26 == 17);
- bool flag10 = flag9 | (l_26 == 18);
- bool flag11 = flag10 | (l_26 == 3);
- if (flag11 | (l_26 == 4))
- {
- bool flag12 = sub_2E1C() == 2;
- bool flag13 = flag12 & (l_366 == 0);
- if (flag13 & (num3 > 0))
- {
- strcpy("CHOP_H_WAIT_H", &l_83, 16);
- }
- else
- {
- strcpy("CHOP_H_WAIT_", &l_83, 16);
- }
- saddi(num3, &l_83, 16);
- }
- else
- {
- bool flag14 = l_26 == 2;
- if (flag14 | (l_26 == 15))
- {
- bool flag15 = sub_2E1C() == 2;
- bool flag16 = flag15 & (l_366 == 0);
- if (flag16 & (num3 > 0))
- {
- strcpy("CHOP_H_WALK_H", &l_83, 16);
- }
- else
- {
- strcpy("CHOP_H_WALK_", &l_83, 16);
- }
- saddi(num3, &l_83, 16);
- }
- }
- sub_988D(&l_83);
- }
- else
- {
- bool flag17 = l_26 == 2;
- if (flag17 | (l_26 == 15))
- {
- sub_988D("CHOP_H_HOME");
- }
- else
- {
- sub_988D("CHOP_H_NOAPP");
- }
- }
- }
- else
- {
- if (g_19601 == 0)
- {
- g_19601 = 1;
- }
- if (CAM::IS_GAMEPLAY_HINT_ACTIVE() != 0)
- {
- CAM::0xCAFEE798(1);
- }
- else
- {
- CAM::SET_GAMEPLAY_ENTITY_HINT(l_43, 0f, 0f, 0f, 1, -1, 1000, 1000, 0xB833D00);
- }
- CONTROLS::SET_INPUT_EXCLUSIVE(2, 194);
- CONTROLS::SET_INPUT_EXCLUSIVE(2, 196);
- CONTROLS::ENABLE_CONTROL_ACTION(0, 25);
- CONTROLS::SET_INPUT_EXCLUSIVE(2, 191);
- CONTROLS::SET_INPUT_EXCLUSIVE(2, 192);
- CONTROLS::SET_INPUT_EXCLUSIVE(2, 190);
- CONTROLS::SET_INPUT_EXCLUSIVE(2, 189);
- var num15 = CONTROLS::IS_CONTROL_JUST_PRESSED(2, 194);
- if ((num15 & sub_98F9()) != 0)
- {
- switch (l_26)
- {
- case 1:
- case 3:
- case 4:
- l_49 = 1;
- sub_98D0(0);
- sub_91CA("PLAYFUL");
- sub_8C08("CHOP_WALK", 0);
- sub_914D(2, 1);
- break;
- case 2:
- case 5:
- case 15:
- l_49 = 0;
- sub_98D0(0);
- sub_914D(3, 1);
- break;
- case 17:
- case 18:
- l_49 = 1;
- sub_98D0(0);
- sub_8C08("CHOP_WALK", 0);
- l_28 = 2;
- break;
- }
- bool flag1 = l_49 == 1;
- if (flag1 & STATS::STAT_GET_INT(0x55C0DF48, &l_457, -1))
- {
- l_457++;
- STATS::STAT_SET_INT(0x55C0DF48, l_457, 1);
- }
- }
- if (l_365 == 1)
- {
- var num16 = CONTROLS::IS_CONTROL_JUST_PRESSED(2, 196);
- if ((num16 & sub_98F9()) != 0)
- {
- bool flag2 = l_26 == 17;
- if (flag2 | (l_26 == 18))
- {
- l_28 = 5;
- }
- else
- {
- sub_914D(5, 1);
- }
- }
- bool flag3 = sub_2E1C() == 2;
- if (flag3 & (l_366 == 0))
- {
- if ((sub_98BD() >= 1) && (CONTROLS::IS_CONTROL_JUST_PRESSED(2, 191) != 0))
- {
- sub_8C08("CHOP_CANT", 0);
- }
- if ((sub_98BD() >= 2) && (CONTROLS::IS_CONTROL_JUST_PRESSED(2, 192) != 0))
- {
- sub_8C08("CHOP_CANT", 0);
- }
- if ((sub_98BD() >= 3) && (CONTROLS::IS_CONTROL_JUST_PRESSED(2, 190) != 0))
- {
- sub_8C08("CHOP_CANT", 0);
- }
- if ((sub_98BD() >= 4) && (CONTROLS::IS_CONTROL_JUST_PRESSED(2, 189) != 0))
- {
- sub_8C08("CHOP_CANT", 0);
- }
- }
- else
- {
- if (sub_98BD() >= 1)
- {
- var num17 = CONTROLS::IS_CONTROL_JUST_PRESSED(2, 191);
- if ((num17 & sub_98F9()) != 0)
- {
- sub_8C08("CHOP_SIT", 0);
- bool flag4 = l_26 == 17;
- if (flag4 | (l_26 == 18))
- {
- l_28 = 8;
- }
- else
- {
- sub_914D(8, 1);
- }
- }
- }
- if (sub_98BD() >= 2)
- {
- var num18 = CONTROLS::IS_CONTROL_JUST_PRESSED(2, 192);
- if ((num18 & sub_98F9()) != 0)
- {
- sub_8C08("CHOP_PAW", 0);
- bool flag5 = l_26 == 17;
- if (flag5 | (l_26 == 18))
- {
- l_28 = 9;
- }
- else
- {
- sub_914D(9, 1);
- }
- }
- }
- if (sub_98BD() >= 3)
- {
- var num19 = CONTROLS::IS_CONTROL_JUST_PRESSED(2, 190);
- if ((num19 & sub_98F9()) != 0)
- {
- sub_8C08("CHOP_BEG", 0);
- bool flag6 = l_26 == 17;
- if (flag6 | (l_26 == 18))
- {
- l_28 = 7;
- }
- else
- {
- sub_914D(7, 1);
- }
- }
- }
- if (sub_98BD() >= 4)
- {
- var num20 = CONTROLS::IS_CONTROL_JUST_PRESSED(2, 189);
- if ((num20 & sub_98F9()) != 0)
- {
- sub_8C08("CHOP_PET", 0);
- bool flag7 = l_26 == 17;
- if (flag7 | (l_26 == 18))
- {
- l_28 = 10;
- }
- else
- {
- sub_914D(10, 1);
- }
- }
- }
- }
- }
- }
- }
- }
- void sub_988D(var A_0)
- {
- UI::0xB245FC10(A_0);
- UI::0xB59B530D(0, 1, 1, -1);
- }
- var sub_98A3()
- {
- if (rPtr(((&g_86838) + 19515) + 263) != 0)
- {
- return 1;
- }
- return 0;
- }
- var sub_98BD()
- {
- return rPtr((((&g_86838) + 19515) + 254) + 3);
- }
- void sub_98D0(var A_0)
- {
- if (sub_992E() != 0)
- {
- UI::CLEAR_HELP(1);
- }
- bool flag1 = A_0 == 1;
- if (flag1 & CAM::IS_GAMEPLAY_HINT_ACTIVE())
- {
- CAM::STOP_GAMEPLAY_HINT(0);
- }
- }
- var sub_98F9()
- {
- bool flag1 = l_26 == 8;
- bool flag2 = flag1 | (l_26 == 7);
- bool flag3 = flag2 | (l_26 == 9);
- if (flag3 | (l_26 == 10))
- {
- return 0;
- }
- return 1;
- }
- var sub_992E()
- {
- if (UI::IS_HELP_MESSAGE_BEING_DISPLAYED() != 0)
- {
- var num1 = sub_8BA9("CHOP_H_WAIT_0");
- var num6 = num1 | sub_8BA9("CHOP_H_WAIT_1");
- var num7 = num6 | sub_8BA9("CHOP_H_WAIT_2");
- var num8 = num7 | sub_8BA9("CHOP_H_WAIT_3");
- var num9 = num8 | sub_8BA9("CHOP_H_WAIT_4");
- var num10 = num9 | sub_8BA9("CHOP_H_WAIT_H1");
- var num11 = num10 | sub_8BA9("CHOP_H_WAIT_H2");
- var num12 = num11 | sub_8BA9("CHOP_H_WAIT_H3");
- var num13 = num12 | sub_8BA9("CHOP_H_WAIT_H4");
- var num14 = num13 | sub_8BA9("CHOP_H_HOME");
- var num15 = num14 | sub_8BA9("CHOP_H_WALK_0");
- var num16 = num15 | sub_8BA9("CHOP_H_WALK_1");
- var num17 = num16 | sub_8BA9("CHOP_H_WALK_2");
- var num18 = num17 | sub_8BA9("CHOP_H_WALK_3");
- var num19 = num18 | sub_8BA9("CHOP_H_WALK_4");
- var num20 = num19 | sub_8BA9("CHOP_H_WALK_H1");
- var num21 = num20 | sub_8BA9("CHOP_H_WALK_H2");
- var num22 = num21 | sub_8BA9("CHOP_H_WALK_H3");
- var num23 = num22 | sub_8BA9("CHOP_H_WALK_H4");
- if ((num23 | sub_8BA9("CHOP_H_NOAPP")) != 0)
- {
- return 1;
- }
- }
- return 0;
- }
- void sub_9A57(var A_0, var A_1, var A_2, var A_3, var A_4, var A_5, var A_6, var A_7, var A_8, var A_9, var A_10, var A_11, var A_12)
- {
- var num3 = -1;
- var num4 = 0;
- while (true)
- {
- if (num4 > 3)
- {
- break;
- }
- if ((num3 == -1) && (sub_9B83(0, num4) == 0))
- {
- num3 = num4;
- }
- num4++;
- }
- if (num3 > -1)
- {
- wPtr(1, (&g_1356045) + 1);
- sub_9B6A(0, num3);
- setElem(A_0, num3, (&g_1356045) + 415, 4);
- setElem(A_1, num3, ((&g_1356045) + 415) + 5, 4);
- strcpy(A_2, getElemPtr(num3, ((&g_1356045) + 415) + 10, 64), 64);
- setElem(A_3, num3, ((&g_1356045) + 415) + 80, 4);
- setElem(A_4, num3, ((&g_1356045) + 415) + 75, 4);
- setElem(A_5, num3, ((&g_1356045) + 415) + 90, 4);
- setElem(A_6, num3, ((&g_1356045) + 415) + 95, 12);
- wPtr(A_7, getElemPtr(num3, ((&g_1356045) + 415) + 95, 12) + 4);
- setElem(A_8, num3, ((&g_1356045) + 415) + 108, 4);
- setElem(A_9, num3, ((&g_1356045) + 415) + 113, 4);
- setElem(A_10, num3, ((&g_1356045) + 415) + 132, 4);
- setElem(A_11, num3, ((&g_1356045) + 415) + 137, 4);
- setElem(A_12, num3, ((&g_1356045) + 415) + 142, 4);
- wPtr(1, (&g_1356045) + 412);
- }
- }
- void sub_9B6A(var A_0, var A_1)
- {
- GAMEPLAY::SET_BIT(getElemPtr(A_0, (&g_1356045) + 1885, 4), A_1);
- }
- var sub_9B83(var A_0, var A_1)
- {
- return GAMEPLAY::IS_BIT_SET(getElem(A_0, (&g_1356045) + 1885, 4), A_1);
- }
- var sub_9B9C()
- {
- return (GAMEPLAY::GET_GAME_TIMER() <= (rPtr((&g_13241) + 4621) + 100));
- }
- var sub_9BB1()
- {
- if (l_26 != 12)
- {
- bool flag2;
- bool flag1 = l_26 == 13;
- if (!flag1)
- {
- flag2 = l_26 == 14;
- }
- if (!(flag1 | (flag2 & sub_8DE6(l_43, 0xE763797))))
- {
- return 1;
- }
- bool flag3 = l_409 == 0;
- if (flag3 & CONTROLS::IS_CONTROL_PRESSED(2, 195))
- {
- sub_8C08("CHOP_BUSY", 0);
- l_409 = 1;
- }
- }
- return 0;
- }
- var sub_9C0D()
- {
- if (sub_8BBC(PLAYER::PLAYER_PED_ID(), l_43) < 10f)
- {
- bool flag1 = l_26 == 15;
- if (!(flag1 & (l_27 < 4)))
- {
- if (PED::IS_PED_IN_ANY_VEHICLE(PLAYER::PLAYER_PED_ID(), 1) != 0)
- {
- sub_9D5C(0);
- sub_9D12(0);
- return 0;
- }
- sub_9C86();
- sub_9D5C(1);
- sub_9D12(1);
- return 1;
- }
- }
- sub_9D5C(0);
- sub_9D12(0);
- if (sub_8BA9("CHOP_H_INTRO") != 0)
- {
- UI::CLEAR_HELP(1);
- }
- return 0;
- }
- void sub_9C86()
- {
- bool flag1 = GAMEPLAY::IS_BIT_SET(rPtr(((&g_86838) + 7661) + 94), 0) == 0;
- bool flag2 = flag1 & (sub_8BA9("CHOP_H_INTRO") == 0);
- bool flag3 = flag2 & (sub_9CF8() == 0);
- if (flag3 & (STREAMING::STOP_PLAYER_REMAIN_ARCADE() == 0))
- {
- bool flag4 = l_26 == 1;
- bool flag5 = flag4 | (l_26 == 17);
- if ((flag5 | (l_26 == 18)) && (sub_8FD9(PLAYER::PLAYER_PED_ID(), 1) != 0))
- {
- UI::CLEAR_HELP(1);
- sub_988D("CHOP_H_INTRO");
- }
- }
- }
- var sub_9CF8()
- {
- if (SCRIPT::0x029D3841(0xAB140056) > 0)
- {
- return 1;
- }
- return 0;
- }
- void sub_9D12(var A_0)
- {
- if (A_0 == 1)
- {
- if (sub_9282(l_43) != 0)
- {
- AI::TASK_LOOK_AT_ENTITY(PLAYER::PLAYER_PED_ID(), l_43, -1, 48, 2);
- l_47 = 1;
- }
- }
- else
- {
- bool flag1 = l_47 == 1;
- if (flag1 & sub_9282(PLAYER::PLAYER_PED_ID()))
- {
- AI::TASK_CLEAR_LOOK_AT(PLAYER::PLAYER_PED_ID());
- l_47 = 0;
- }
- }
- }
- void sub_9D5C(var A_0)
- {
- var num3;
- WEAPON::GET_CURRENT_PED_WEAPON(PLAYER::PLAYER_PED_ID(), &num3, 1);
- bool flag1 = l_48 == 1;
- if (flag1 & (num3 != 0xA2719263))
- {
- A_0 = 0;
- }
- if (A_0 == 1)
- {
- bool flag2 = l_48 == 0;
- if (flag2 & (num3 == 0xA2719263))
- {
- PED::SET_PED_CAN_BE_TARGETTED(l_43, 1);
- ENTITY::SET_ENTITY_IS_TARGET_PRIORITY(l_43, 1, 0);
- PED::0x7DA12905(l_43, 1);
- PED::SET_TIME_EXCLUSIVE_DISPLAY_TEXTURE(l_43, 1);
- l_48 = 1;
- }
- }
- else if (l_48 == 1)
- {
- PED::SET_PED_CAN_BE_TARGETTED(l_43, 0);
- ENTITY::SET_ENTITY_IS_TARGET_PRIORITY(l_43, 0, 0);
- PED::0x7DA12905(l_43, 0);
- l_48 = 0;
- }
- }
- void sub_9DE3()
- {
- bool flag1 = l_26 != 6;
- bool flag2 = flag1 & (l_81 == 0);
- if (flag2 & (PED::IS_PED_IN_ANY_VEHICLE(PLAYER::PLAYER_PED_ID(), 1) == 0))
- {
- bool flag6;
- bool flag3 = l_26 == 2;
- bool flag4 = flag3 | (l_26 == 5);
- bool flag5 = flag4 | (l_26 == 15);
- if (!flag5)
- {
- flag6 = l_26 == 14;
- }
- if (flag5 | (flag6 & (sub_8DE6(l_43, 0xE763797) == 0)))
- {
- struct _s = ENTITY::GET_ENTITY_COORDS(PLAYER::PLAYER_PED_ID(), 1);
- bool flag7 = PED::0xFB18CB19(PLAYER::PLAYER_PED_ID(), rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), 100f) > 0;
- if (!flag7)
- {
- struct _s = ENTITY::GET_ENTITY_COORDS(l_43, 1);
- }
- if (!(flag7 | (PED::0xFB18CB19(l_43, rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), 100f) > 0)))
- {
- bool flag16;
- var num11;
- WEAPON::GET_CURRENT_PED_WEAPON(PLAYER::PLAYER_PED_ID(), &num11, 1);
- bool flag15 = num11 != 0x23C9F95C;
- if (flag15)
- {
- flag16 = l_26 == 15;
- }
- if (flag15 & !(flag16 & (l_27 == 1)))
- {
- var num12;
- var num17 = PLAYER::GET_PLAYER_TARGET_ENTITY(PLAYER::PLAYER_ID(), &num12);
- if (((num17 | PLAYER::0x8866D9D0(PLAYER::PLAYER_ID(), &num12)) != 0) && (ENTITY::IS_ENTITY_A_PED(num12) != 0))
- {
- var num13 = ENTITY::0xC46F74AC(num12);
- bool flag17 = PED::IS_PED_INJURED(num13) == 0;
- bool flag18 = flag17 & (num13 != l_43);
- bool flag19 = flag18 & (PED::IS_PED_IN_ANY_VEHICLE(num13, 0) == 0);
- if (flag19 & (sub_1C4A(PLAYER::PLAYER_PED_ID(), num13, 1) < 50f))
- {
- AI::TASK_COMBAT_PED(l_43, num13, 0, 16);
- l_450++;
- if (l_450 >= 3)
- {
- PLAYER::SET_WANTED_LEVEL_DIFFICULTY(PLAYER::PLAYER_ID(), 0f);
- PLAYER::SET_PLAYER_WANTED_LEVEL_NO_DROP(PLAYER::PLAYER_ID(), 2, 0);
- }
- sub_8C08("CHOP_ATTACK1", 0);
- bool flag20 = UI::IS_HELP_MESSAGE_BEING_DISPLAYED() == 0;
- bool flag21 = flag20 & (GAMEPLAY::IS_BIT_SET(rPtr(((&g_86838) + 7661) + 94), 11) == 0);
- bool flag22 = flag21 & (sub_2539() == 0);
- if (flag22 & (STREAMING::STOP_PLAYER_REMAIN_ARCADE() == 0))
- {
- GAMEPLAY::SET_BIT(((&g_86838) + 7661) + 94, 11);
- sub_2421("CHOP_H_AIM", -1);
- }
- sub_2C53(0);
- sub_914D(6, 0);
- }
- }
- }
- }
- else
- {
- var num4;
- var num10;
- STREAMING::REQUEST_ANIM_DICT("creatures@rottweiler@melee@streamed_taunts@");
- initArray(&num4, 5);
- var num3 = 0;
- while (true)
- {
- var num1;
- if (num3 >= PED::GET_PED_NEARBY_PEDS(PLAYER::PLAYER_PED_ID(), &num4, -1))
- {
- break;
- }
- bool flag8 = sub_9282(num10) == 0;
- bool flag9 = flag8 & sub_9282(getElem(num3, &num4, 4));
- if (flag9)
- {
- num1 = PED::IS_PED_IN_COMBAT(getElem(num3, &num4, 4), PLAYER::PLAYER_PED_ID());
- }
- bool flag10 = flag9 & (num1 | PED::IS_PED_IN_COMBAT(getElem(num3, &num4, 4), l_43));
- bool flag11 = flag10 & (PED::IS_PED_IN_ANY_VEHICLE(getElem(num3, &num4, 4), 0) == 0);
- if (flag11 & (getElem(num3, &num4, 4) != l_43))
- {
- num10 = getElem(num3, &num4, 4);
- }
- num3++;
- }
- if (sub_9282(num10) != 0)
- {
- AI::TASK_COMBAT_PED(l_43, num10, 0, 16);
- sub_8C08("CHOP_ATTACK2", 0);
- bool flag12 = UI::IS_HELP_MESSAGE_BEING_DISPLAYED() == 0;
- bool flag13 = flag12 & (GAMEPLAY::IS_BIT_SET(rPtr(((&g_86838) + 7661) + 94), 6) == 0);
- bool flag14 = flag13 & (sub_2539() == 0);
- if (flag14 & (STREAMING::STOP_PLAYER_REMAIN_ARCADE() == 0))
- {
- GAMEPLAY::SET_BIT(((&g_86838) + 7661) + 94, 6);
- sub_2421("CHOP_H_ATTACK", -1);
- }
- sub_2C53(0);
- sub_914D(6, 0);
- }
- }
- }
- }
- if ((GAMEPLAY::GET_GAME_TIMER() - l_451) > 60000)
- {
- l_451 = GAMEPLAY::GET_GAME_TIMER();
- if (l_450 > 0)
- {
- l_450--;
- }
- }
- }
- void sub_A0B6()
- {
- bool flag1 = l_26 != 16;
- bool flag2 = flag1 & (g_19462 == 1);
- if (flag2 & ENTITY::IS_ENTITY_ATTACHED_TO_ANY_OBJECT(PLAYER::PLAYER_PED_ID()))
- {
- sub_914D(16, 1);
- }
- }
- void sub_A0E4()
- {
- if ((l_408 == 0) && (sub_8FD9(PLAYER::PLAYER_PED_ID(), 1) != 0))
- {
- sub_8C08("CHOP_DUMP", 0);
- l_408 = 1;
- }
- }
- void sub_A10C()
- {
- bool flag1 = l_436 != sub_A15E();
- if (flag1 & sub_9282(l_43))
- {
- if (sub_98A3() != 0)
- {
- l_436 = sub_A15E();
- PED::SET_PED_COMPONENT_VARIATION(l_43, 3, 0, l_436, 0);
- }
- else if (l_436 != 4)
- {
- l_436 = 4;
- PED::SET_PED_COMPONENT_VARIATION(l_43, 3, 0, l_436, 0);
- }
- }
- }
- var sub_A15E()
- {
- return rPtr((((&g_86838) + 19515) + 254) + 4);
- }
- void sub_A171()
- {
- g_19601 = 0;
- STREAMING::REQUEST_MODEL(sub_AB4D());
- if (STREAMING::HAS_MODEL_LOADED(sub_AB4D()) != 0)
- {
- if (sub_B38F(6) != 0)
- {
- wPtr(6, (&l_367) + 4);
- setStruct(18.1531f, 535.2469f, 169.6324f, 3, &l_367);
- wPtr(204.8112f, (&l_367) + 3);
- setStruct(19.52771f, 537.436f, 170.143f, 3, (&l_367) + 5);
- wPtr(151.3064f, (&l_367) + 8);
- setStruct(19.45963f, 535.7817f, 169.6277f, 3, &l_389);
- setStruct(17.36033f, 528.8973f, 169.6277f, 3, getElemPtr(0, &l_410, 12));
- setStruct(19.46877f, 529.1785f, 169.6277f, 3, getElemPtr(1, &l_410, 12));
- setStruct(20.82979f, 531.5168f, 169.6277f, 3, getElemPtr(2, &l_410, 12));
- setStruct(22.83555f, 532.3281f, 169.6277f, 3, getElemPtr(3, &l_410, 12));
- setStruct(20.79285f, 535.001f, 169.6277f, 3, getElemPtr(4, &l_410, 12));
- setStruct(18.05178f, 535.6321f, 169.6277f, 3, getElemPtr(5, &l_410, 12));
- setStruct(18.92047f, 534.0938f, 169.6277f, 3, getElemPtr(6, &l_410, 12));
- setStruct(17.51333f, 533.4775f, 169.6277f, 3, getElemPtr(7, &l_410, 12));
- sub_AB26(&l_90);
- sub_AAF5(&l_90, 12.41124f, 535.5469f, 169.6277f);
- sub_AAF5(&l_90, 19.04497f, 538.5729f, 169.6277f);
- sub_AAF5(&l_90, 25.00015f, 534.4414f, 169.6277f);
- sub_AAF5(&l_90, 28.0998f, 527.7639f, 169.4277f);
- sub_AAF5(&l_90, 17.75896f, 523.3129f, 169.2277f);
- sub_AA55(&l_90);
- }
- else
- {
- wPtr(5, (&l_367) + 4);
- setStruct(-10.25168f, -1422.907f, 29.67775f, 3, &l_367);
- wPtr(157.9037f, (&l_367) + 3);
- setStruct(-9.73f, -1421.55f, 30.1f, 3, (&l_367) + 5);
- wPtr(148.26f, (&l_367) + 8);
- setStruct(-10.6379f, -1424.561f, 29.67365f, 3, &l_389);
- setStruct(-10.03643f, -1423.529f, 29.67602f, 3, getElemPtr(0, &l_410, 12));
- setStruct(-10.78779f, -1425.306f, 29.70937f, 3, getElemPtr(1, &l_410, 12));
- setStruct(-12.7048f, -1424.748f, 29.72222f, 3, getElemPtr(2, &l_410, 12));
- setStruct(-12.47465f, -1422.485f, 29.74699f, 3, getElemPtr(3, &l_410, 12));
- setStruct(-14.26666f, -1424.855f, 29.71964f, 3, getElemPtr(4, &l_410, 12));
- setStruct(-14.55816f, -1423.048f, 29.78372f, 3, getElemPtr(5, &l_410, 12));
- setStruct(-16.13293f, -1424.489f, 29.76139f, 3, getElemPtr(6, &l_410, 12));
- setStruct(-16.25662f, -1423.325f, 29.81294f, 3, getElemPtr(7, &l_410, 12));
- sub_AB26(&l_90);
- sub_AAF5(&l_90, -7.26821f, -1427.065f, 29.67468f);
- sub_AAF5(&l_90, -7.39631f, -1418.851f, 29.5858f);
- sub_AAF5(&l_90, -14.27201f, -1421.59f, 29.76819f);
- sub_AAF5(&l_90, -22.85347f, -1423.173f, 29.74042f);
- sub_AAF5(&l_90, -22.77974f, -1427.168f, 29.65953f);
- sub_AA55(&l_90);
- }
- l_365 = sub_98A3();
- sub_A673();
- if (sub_2E1C() != 2)
- {
- l_408 = 1;
- }
- else
- {
- struct _s = &l_389;
- GAMEPLAY::CLEAR_AREA_OF_OBJECTS(rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), 2f, 2);
- STREAMING::REQUEST_MODEL(0x84898EFE);
- while (true)
- {
- if (STREAMING::HAS_MODEL_LOADED(0x84898EFE) != 0)
- {
- break;
- }
- SYSTEM::WAIT(0);
- }
- struct _s = &l_389;
- l_388 = OBJECT::CREATE_OBJECT(0x84898EFE, rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), 1, 1, 0);
- STREAMING::SET_MODEL_AS_NO_LONGER_NEEDED(0x84898EFE);
- l_408 = 0;
- }
- l_392 = 0;
- if (GAMEPLAY::GET_RANDOM_INT_IN_RANGE(0, 2) == 0)
- {
- l_377 = -1;
- }
- else
- {
- l_377 = GAMEPLAY::GET_RANDOM_INT_IN_RANGE(20000, 30000);
- }
- if (l_363 == 1)
- {
- l_26 = 7;
- l_49 = 1;
- }
- else if (l_364 == 1)
- {
- l_26 = 2;
- }
- else if (l_377 > -1)
- {
- l_26 = 11;
- l_49 = 0;
- }
- else
- {
- l_26 = 1;
- l_49 = 0;
- }
- l_61 = PATHFIND::ADD_NAVMESH_BLOCKING_OBJECT(11.23f, 515.4f, 168f, 9f, 21f, 4f, sub_A663(113f), 0, 7);
- l_62 = PATHFIND::ADD_NAVMESH_BLOCKING_OBJECT(24f, 528f, 168f, 5f, 5f, 4f, sub_A663(113f), 0, 7);
- setStruct(444.1685f, 5569.016f, 780.1895f, 3, getElemPtr(0, &l_63, 12));
- setStruct(443.8968f, 5574.931f, 780.1895f, 3, getElemPtr(1, &l_63, 12));
- setStruct(-739.1624f, 5596.784f, 40.6594f, 3, getElemPtr(2, &l_63, 12));
- setStruct(-738.8002f, 5593.269f, 40.6594f, 3, getElemPtr(3, &l_63, 12));
- setElem(270f, 0, &l_76, 4);
- setElem(270f, 1, &l_76, 4);
- setElem(95f, 2, &l_76, 4);
- setElem(95f, 3, &l_76, 4);
- sub_876D();
- l_47 = 0;
- l_378 = 0;
- l_382 = GAMEPLAY::GET_GAME_TIMER();
- var num3 = sub_98BD();
- if (num3 > 4)
- {
- num3 = 4;
- }
- strcpy("CHOP_H_WAIT_", &l_83, 16);
- saddi(num3, &l_83, 16);
- l_25 = 1;
- }
- }
- var sub_A663(var A_0)
- {
- return (A_0 * 0.01745329f);
- }
- void sub_A673()
- {
- if (l_363 == 1)
- {
- var num1 = sub_9282(g_80663);
- if ((num1 & PED::IS_PED_MODEL(g_80663, sub_AB4D())) != 0)
- {
- l_43 = g_80663;
- ENTITY::SET_ENTITY_AS_MISSION_ENTITY(l_43, 1, 1);
- AI::CLEAR_PED_TASKS(l_43);
- sub_A10C();
- while (sub_9CF8() != 0)
- {
- SYSTEM::WAIT(0);
- }
- }
- }
- else if (((l_364 == 1) && (sub_9282(PLAYER::PLAYER_PED_ID()) != 0)) && (PED::IS_PED_IN_ANY_VEHICLE(PLAYER::PLAYER_PED_ID(), 0) != 0))
- {
- l_54 = PED::GET_VEHICLE_PED_IS_IN(PLAYER::PLAYER_PED_ID(), 0);
- sub_4BAA();
- sub_4B7E();
- struct _s = ENTITY::GET_ENTITY_COORDS(PLAYER::PLAYER_PED_ID(), 1);
- sub_A951(&l_43, rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), 0, 1);
- if (sub_9282(l_43) != 0)
- {
- PED::SET_BLOCKING_OF_NON_TEMPORARY_EVENTS(l_43, 1);
- PED::0x58A80BD5(l_43, 1);
- PED::SET_PED_CAN_PLAY_AMBIENT_ANIMS(l_43, 0);
- PED::SET_PED_CAN_PLAY_AMBIENT_BASE_ANIMS(l_43, 0);
- sub_8855();
- ENTITY::SET_ENTITY_INVINCIBLE(l_43, 1);
- PED::SET_PED_INTO_VEHICLE(l_43, l_54, 0);
- l_81 = 8;
- sub_A10C();
- PED::0x187B9070(l_43, 0, 0);
- }
- while (sub_9CF8() != 0)
- {
- var num6 = sub_9282(l_43);
- if ((num6 & (sub_8DE6(l_43, 0x87B9A382) == 0)) != 0)
- {
- STREAMING::REQUEST_ANIM_DICT(l_447);
- if (STREAMING::HAS_ANIM_DICT_LOADED(l_447) != 0)
- {
- AI::TASK_PLAY_ANIM(l_43, l_447, "sit", 8f, -8f, -1, 1, 0, 0, 0, 0);
- }
- }
- SYSTEM::WAIT(0);
- }
- }
- if (ENTITY::DOES_ENTITY_EXIST(l_43) == 0)
- {
- struct _s = &l_367;
- sub_A951(&l_43, rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), rPtr((&l_367) + 3), 1);
- }
- if (sub_9282(l_43) != 0)
- {
- PED::ADD_RELATIONSHIP_GROUP("rel_group_chop", &l_45);
- l_46 = 1;
- PED::SET_RELATIONSHIP_BETWEEN_GROUPS(1, 0x6F0783F5, l_45);
- PED::SET_RELATIONSHIP_BETWEEN_GROUPS(1, l_45, 0x6F0783F5);
- PED::SET_PED_RELATIONSHIP_GROUP_HASH(l_43, l_45);
- PED::SET_BLOCKING_OF_NON_TEMPORARY_EVENTS(l_43, 1);
- PED::0x58A80BD5(l_43, 1);
- PED::SET_PED_CONFIG_FLAG(l_43, 185, 1);
- PED::SET_PED_CONFIG_FLAG(l_43, 26, 1);
- PED::SET_PED_CONFIG_FLAG(l_43, 32, 0);
- PED::SET_PED_CONFIG_FLAG(l_43, 29, 0);
- PED::SET_PED_CONFIG_FLAG(l_43, 116, 0);
- PED::SET_PED_CONFIG_FLAG(l_43, 118, 1);
- PED::SET_PED_CONFIG_FLAG(l_43, 132, 1);
- PED::SET_PED_CONFIG_FLAG(l_43, 268, 0);
- PED::SET_PED_CONFIG_FLAG(l_43, 107, 1);
- PED::SET_PED_CONFIG_FLAG(l_43, 281, 1);
- PED::SET_PED_CONFIG_FLAG(l_43, 137, 1);
- PED::SET_PED_CONFIG_FLAG(l_43, 146, 1);
- PED::SET_PED_CONFIG_FLAG(l_43, 157, 0);
- PED::SET_PED_CONFIG_FLAG(l_43, 45, 1);
- PED::SET_PED_CONFIG_FLAG(l_43, 167, 1);
- PED::SET_PED_CAN_PLAY_AMBIENT_ANIMS(l_43, 0);
- PED::SET_PED_CAN_PLAY_AMBIENT_BASE_ANIMS(l_43, 0);
- WEAPON::GIVE_WEAPON_TO_PED(l_43, 0xF9FBAEBE, 1, 1, 1);
- PED::SET_PED_COMBAT_ATTRIBUTES(l_43, 5, 1);
- PED::SET_PED_COMBAT_ATTRIBUTES(l_43, 0, 0);
- PED::SET_PED_COMBAT_ATTRIBUTES(l_43, 46, 1);
- PED::SET_PED_HEARING_RANGE(l_43, 100f);
- PED::SET_PED_SEEING_RANGE(l_43, 100f);
- PED::SET_PED_FLEE_ATTRIBUTES(l_43, 512, 1);
- PED::SET_PED_SUFFERS_CRITICAL_HITS(l_43, 0);
- PED::SET_PED_MAX_HEALTH(l_43, 800);
- ENTITY::SET_ENTITY_HEALTH(l_43, 800);
- ENTITY::SET_ENTITY_LOD_DIST(l_43, 200);
- if (PED::IS_PED_IN_ANY_VEHICLE(l_43, 0) == 0)
- {
- sub_40C5();
- }
- sub_8CBB(&l_142, 3, l_43, "CHOP", 0, 1);
- PED::SET_PED_CAN_BE_TARGETTED(l_43, 0);
- ENTITY::SET_ENTITY_IS_TARGET_PRIORITY(l_43, 0, 0);
- PED::0x7DA12905(l_43, 0);
- l_48 = 0;
- g_19600 = 0;
- l_450 = 0;
- l_451 = GAMEPLAY::GET_GAME_TIMER();
- }
- }
- var sub_A951(var A_0, var A_1, var A_2, var A_3, var A_4, var A_5)
- {
- var num3 = sub_AB4D();
- STREAMING::REQUEST_MODEL(num3);
- if (STREAMING::HAS_MODEL_LOADED(num3) == 0)
- {
- return 0;
- }
- if (ENTITY::DOES_ENTITY_EXIST(rPtr(A_0)) != 0)
- {
- PED::DELETE_PED(A_0);
- }
- struct _s = &A_1;
- wPtr(PED::CREATE_PED(26, num3, rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), A_4, 0, 0), A_0);
- PED::SET_PED_COMPONENT_VARIATION(rPtr(A_0), 0, 0, 0, 0);
- PED::SET_PED_COMPONENT_VARIATION(rPtr(A_0), 1, 0, 0, 0);
- PED::SET_PED_COMPONENT_VARIATION(rPtr(A_0), 2, 0, 0, 0);
- if (rPtr(((&g_86838) + 19515) + 263) != 0)
- {
- PED::SET_PED_COMPONENT_VARIATION(rPtr(A_0), 3, 0, rPtr((((&g_86838) + 19515) + 254) + 4), 0);
- }
- else
- {
- PED::SET_PED_COMPONENT_VARIATION(rPtr(A_0), 3, 0, 4, 0);
- }
- PED::SET_PED_COMPONENT_VARIATION(rPtr(A_0), 4, 0, 0, 0);
- PED::SET_PED_COMPONENT_VARIATION(rPtr(A_0), 5, 0, 0, 0);
- PED::SET_PED_COMPONENT_VARIATION(rPtr(A_0), 6, 0, 0, 0);
- PED::SET_PED_COMPONENT_VARIATION(rPtr(A_0), 7, 0, 0, 0);
- PED::SET_PED_COMPONENT_VARIATION(rPtr(A_0), 8, 0, 0, 0);
- PED::SET_PED_COMPONENT_VARIATION(rPtr(A_0), 9, 0, 0, 0);
- PED::SET_PED_COMPONENT_VARIATION(rPtr(A_0), 10, 0, 0, 0);
- PED::SET_PED_COMPONENT_VARIATION(rPtr(A_0), 11, 0, 0, 0);
- PED::CLEAR_ALL_PED_PROPS(rPtr(A_0));
- if (A_5 != null)
- {
- STREAMING::SET_MODEL_AS_NO_LONGER_NEEDED(num3);
- }
- return 1;
- }
- void sub_AA55(var A_0)
- {
- if (rPtr((A_0) + 204) == 0)
- {
- }
- if (rPtr((A_0) + 184) < 3)
- {
- }
- var num3 = 0;
- while (true)
- {
- if (num3 >= rPtr((A_0) + 184))
- {
- break;
- }
- struct _s = (A_0) + 188;
- struct _s = getElemPtr(num3, A_0, 12);
- struct _s = vadd(rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8));
- setStruct(rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), 3, (A_0) + 188);
- num3++;
- }
- struct _s = (A_0) + 188;
- struct _s = ftov(SYSTEM::TO_FLOAT(num3));
- struct _s = vdiv(rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8));
- setStruct(rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), 3, (A_0) + 188);
- num3 = 0;
- while (true)
- {
- if (num3 >= rPtr((A_0) + 184))
- {
- break;
- }
- struct _s = (A_0) + 188;
- struct _s = getElemPtr(num3, A_0, 12);
- var num4 = SYSTEM::VDIST2(rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8));
- if (num4 > rPtr((A_0) + 200))
- {
- wPtr(num4, (A_0) + 200);
- }
- num3++;
- }
- wPtr(SYSTEM::SQRT(rPtr((A_0) + 200)), (A_0) + 200);
- wPtr(0, (A_0) + 204);
- }
- void sub_AAF5(var A_0, var A_1, var A_2, var A_3)
- {
- if (rPtr((A_0) + 204) == 0)
- {
- }
- if (rPtr((A_0) + 184) >= 15)
- {
- }
- struct _s = &A_1;
- setStruct(rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), 3, getElemPtr(rPtr((A_0) + 184), A_0, 12));
- wPtr(rPtr((A_0) + 184) + 1, (A_0) + 184);
- }
- void sub_AB26(var A_0)
- {
- if (rPtr((A_0) + 204) != 0)
- {
- }
- wPtr(0, (A_0) + 184);
- setStruct(0f, 0f, 0f, 3, (A_0) + 188);
- wPtr(0f, (A_0) + 200);
- wPtr(1, (A_0) + 204);
- }
- var sub_AB4D()
- {
- return 0x14EC17EA;
- }
- var sub_AB5A()
- {
- if (l_25 > 0)
- {
- if (ENTITY::DOES_ENTITY_EXIST(l_43) == 0)
- {
- return 1;
- }
- var num1 = sub_AFF3(0);
- if ((num1 & (g_19462 == 0)) != 0)
- {
- return 1;
- }
- if (sub_B19C(1) == 0)
- {
- return 1;
- }
- if (g_86831 == 1)
- {
- return 1;
- }
- bool flag1 = g_59840 == 1;
- bool flag2 = flag1 & (g_19462 == 0);
- bool flag3 = flag2 & (g_1690 == 0);
- bool flag4 = flag3 & (g_19699 == 0);
- bool flag5 = flag4 & (g_19700 == 0);
- bool flag6 = flag5 & (g_19701 == 0);
- bool flag7 = flag6 & (g_43953 == 0);
- bool flag8 = flag7 & (sub_9CF8() == 0);
- bool flag9 = flag8 & (sub_2438() == 0);
- bool flag10 = flag9 & (g_81997 == 0);
- bool flag11 = flag10 & sub_9282(PLAYER::PLAYER_PED_ID());
- if (flag11 & (sub_AFC0() == 0))
- {
- return 1;
- }
- if (g_78536 == 1)
- {
- return 1;
- }
- if (ENTITY::IS_ENTITY_DEAD(l_43) != 0)
- {
- var num11 = PLAYER::IS_PLAYER_PLAYING(PLAYER::PLAYER_ID());
- if ((num11 & ENTITY::HAS_ENTITY_BEEN_DAMAGED_BY_ENTITY(l_43, PLAYER::PLAYER_PED_ID(), 1)) != 0)
- {
- g_19600 = 1;
- bool flag12 = GAMEPLAY::IS_BIT_SET(rPtr(((&g_86838) + 7661) + 94), 9) == 0;
- if (flag12 & (STREAMING::STOP_PLAYER_REMAIN_ARCADE() == 0))
- {
- GAMEPLAY::SET_BIT(((&g_86838) + 7661) + 94, 9);
- sub_2421("CHOP_H_DEAD", -1);
- }
- }
- else
- {
- bool flag13 = GAMEPLAY::IS_BIT_SET(rPtr(((&g_86838) + 7661) + 94), 12) == 0;
- if (flag13 & (STREAMING::STOP_PLAYER_REMAIN_ARCADE() == 0))
- {
- GAMEPLAY::SET_BIT(((&g_86838) + 7661) + 94, 12);
- sub_2421("CHOP_H_DEAD2", -1);
- }
- }
- return 1;
- }
- if (STREAMING::STOP_PLAYER_REMAIN_ARCADE() != 0)
- {
- sub_ADFD();
- }
- else
- {
- var num3;
- bool flag14 = l_26 == 2;
- bool flag15 = flag14 | (l_26 == 5);
- if (flag15 | (l_26 == 15))
- {
- num3 = 200f;
- }
- else
- {
- num3 = 100f;
- }
- if (sub_1C4A(PLAYER::PLAYER_PED_ID(), l_43, 1) > num3)
- {
- bool flag16 = GAMEPLAY::IS_BIT_SET(rPtr(((&g_86838) + 7661) + 94), 4) == 0;
- bool flag17 = flag16 & PLAYER::IS_PLAYER_PLAYING(PLAYER::PLAYER_ID());
- if (flag17 & (STREAMING::STOP_PLAYER_REMAIN_ARCADE() == 0))
- {
- bool flag18 = l_26 == 1;
- bool flag19 = flag18 | (l_26 == 17);
- bool flag20 = flag19 | (l_26 == 11);
- bool flag21 = flag20 | (l_26 == 4);
- bool flag22 = flag21 | (l_26 == 3);
- if (!(flag22 | (l_26 == 13)))
- {
- GAMEPLAY::SET_BIT(((&g_86838) + 7661) + 94, 4);
- sub_2421("CHOP_H_RANGE", -1);
- }
- }
- return 1;
- }
- }
- bool flag23 = PED::IS_PED_IN_ANY_VEHICLE(l_43, 0) == 0;
- if (flag23 & (ENTITY::GET_ENTITY_HEALTH(l_43) > 0))
- {
- if (ENTITY::IS_ENTITY_IN_WATER(l_43) != 0)
- {
- var num4;
- var num7;
- struct _s = ENTITY::GET_ENTITY_COORDS(l_43, 1);
- setStruct(rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), 3, &num4);
- struct _s = &num4;
- if ((WATER::GET_WATER_HEIGHT(rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), &num7) != 0) && ((num7 - rPtr((&num4) + 2)) > 0.1f))
- {
- ENTITY::SET_ENTITY_HEALTH(l_43, 0);
- }
- }
- if (FIRE::IS_ENTITY_ON_FIRE(l_43) != 0)
- {
- ENTITY::SET_ENTITY_HEALTH(l_43, 0);
- }
- }
- }
- return 0;
- }
- void sub_ADFD()
- {
- if (UI::IS_HELP_MESSAGE_BEING_DISPLAYED() != 0)
- {
- var num1 = sub_8BA9("CHOP_H_INTRO");
- var num6 = num1 | sub_8BA9("CHOP_H_WAIT_0");
- var num7 = num6 | sub_8BA9("CHOP_H_WAIT_1");
- var num8 = num7 | sub_8BA9("CHOP_H_WAIT_2");
- var num9 = num8 | sub_8BA9("CHOP_H_WAIT_3");
- var num10 = num9 | sub_8BA9("CHOP_H_WAIT_4");
- var num11 = num10 | sub_8BA9("CHOP_H_WAIT_H1");
- var num12 = num11 | sub_8BA9("CHOP_H_WAIT_H2");
- var num13 = num12 | sub_8BA9("CHOP_H_WAIT_H3");
- var num14 = num13 | sub_8BA9("CHOP_H_WAIT_H4");
- var num15 = num14 | sub_8BA9("CHOP_H_HOME");
- var num16 = num15 | sub_8BA9("CHOP_H_WALK_0");
- var num17 = num16 | sub_8BA9("CHOP_H_WALK_1");
- var num18 = num17 | sub_8BA9("CHOP_H_WALK_2");
- var num19 = num18 | sub_8BA9("CHOP_H_WALK_3");
- var num20 = num19 | sub_8BA9("CHOP_H_WALK_4");
- var num21 = num20 | sub_8BA9("CHOP_H_WALK_H1");
- var num22 = num21 | sub_8BA9("CHOP_H_WALK_H2");
- var num23 = num22 | sub_8BA9("CHOP_H_WALK_H3");
- var num24 = num23 | sub_8BA9("CHOP_H_WALK_H4");
- var num25 = num24 | sub_8BA9("CHOP_H_HUNT");
- var num26 = num25 | sub_8BA9("CHOP_H_NOVEH");
- var num27 = num26 | sub_8BA9("CHOP_H_CAR");
- var num28 = num27 | sub_8BA9("CHOP_H_BIKE");
- var num29 = num28 | sub_8BA9("CHOP_H_ATTACK");
- var num30 = num29 | sub_8BA9("CHOP_H_BALL");
- var num31 = num30 | sub_8BA9("CHOP_H_WHIS");
- var num32 = num31 | sub_8BA9("CHOP_H_NOAPP");
- var num33 = num32 | sub_8BA9("CHOP_H_BEHAVE");
- var num34 = num33 | sub_8BA9("CHOP_H_BEHAVA");
- if ((num34 | sub_8BA9("CHOP_H_AIM")) != 0)
- {
- UI::CLEAR_HELP(1);
- }
- }
- }
- var sub_AFC0()
- {
- return g_78925;
- }
- var sub_AFCC()
- {
- if (STREAMING::STOP_PLAYER_REMAIN_ARCADE() != 0)
- {
- return g_79154;
- }
- if (sub_9CF8() != 0)
- {
- return g_79154;
- }
- return 318;
- }
- var sub_AFF3(var A_0)
- {
- if (g_29814 == 12)
- {
- return 0;
- }
- if (sub_B015(A_0) != 0)
- {
- return 0;
- }
- return 1;
- }
- var sub_B015(var A_0)
- {
- return sub_B026(A_0, g_29814);
- }
- var sub_B026(var A_0, var A_1)
- {
- if (A_1 == 12)
- {
- return 1;
- }
- if (A_0 != 12)
- {
- var num3 = A_0;
- switch (num3)
- {
- case 13:
- {
- bool flag1 = A_1 == 8;
- if (flag1 | (A_1 == 9))
- {
- return 0;
- }
- return 1;
- }
- case 0:
- num3 = A_1;
- if ((num3 != 5) && (num3 != 14))
- {
- break;
- }
- return 1;
- case 2:
- case 3:
- num3 = A_1;
- if (((num3 != 5) && (num3 != 6)) && ((num3 != 7) && (num3 != 14)))
- {
- break;
- }
- return 1;
- case 4:
- switch (A_1)
- {
- case 14:
- return 1;
- }
- break;
- default:
- if (num3 != 5)
- {
- if ((num3 == 6) || (num3 == 7))
- {
- if (A_1 != 5)
- {
- break;
- }
- return 1;
- }
- if (num3 == 8)
- {
- if (A_1 != 5)
- {
- break;
- }
- return 1;
- }
- if (num3 == 9)
- {
- num3 = A_1;
- if (((num3 != 5) && (num3 != 6)) && (num3 != 14))
- {
- break;
- }
- return 1;
- }
- if (num3 == 10)
- {
- if (A_1 != 5)
- {
- break;
- }
- return 1;
- }
- if (num3 == 14)
- {
- num3 = A_1;
- if (((num3 != 14) && (num3 != 11)) && (num3 != 5))
- {
- break;
- }
- return 1;
- }
- if ((num3 == 15) || (num3 == 11))
- {
- switch (A_1)
- {
- case 5:
- case 6:
- return 1;
- }
- break;
- }
- }
- break;
- }
- }
- return 0;
- }
- var sub_B19C(var A_0)
- {
- sub_B1B8();
- return (A_0 == rPtr((((&g_86838) + 1729) + 539) + 2659));
- }
- void sub_B1B8()
- {
- if (ENTITY::DOES_ENTITY_EXIST(PLAYER::PLAYER_PED_ID()) != 0)
- {
- if (sub_B2D6(rPtr((((&g_86838) + 1729) + 539) + 2659)) == ENTITY::GET_ENTITY_MODEL(PLAYER::PLAYER_PED_ID()))
- {
- wPtr(rPtr((((&g_86838) + 1729) + 539) + 2659), (((&g_86838) + 1729) + 539) + 2661);
- return;
- }
- var num3 = sub_B299(PLAYER::PLAYER_PED_ID());
- if (sub_B28D(num3) != 0)
- {
- bool flag1 = rPtr((((&g_86838) + 1729) + 539) + 2659) != num3;
- if (flag1 & sub_B28D(rPtr((((&g_86838) + 1729) + 539) + 2659)))
- {
- wPtr(rPtr((((&g_86838) + 1729) + 539) + 2659), (((&g_86838) + 1729) + 539) + 2660);
- }
- wPtr(num3, (((&g_86838) + 1729) + 539) + 2661);
- wPtr(num3, (((&g_86838) + 1729) + 539) + 2659);
- return;
- }
- }
- wPtr(143, (((&g_86838) + 1729) + 539) + 2659);
- }
- var sub_B28D(var A_0)
- {
- return (A_0 < 3);
- }
- var sub_B299(var A_0)
- {
- if (ENTITY::DOES_ENTITY_EXIST(A_0) != 0)
- {
- var num4 = ENTITY::GET_ENTITY_MODEL(A_0);
- for (var i = 0; i <= 2; i++)
- {
- if (sub_B2D6(i) == num4)
- {
- return i;
- }
- }
- }
- return 143;
- }
- var sub_B2D6(var A_0)
- {
- if (sub_B28D(A_0) != 0)
- {
- return getElem(A_0, (&g_86838) + 23936, 116);
- }
- return 0;
- }
- var sub_B300(var A_0, var A_1, var A_2, var A_3, var A_4)
- {
- var num5 = 1000000f;
- var num6 = 10;
- for (var i = 0; i <= (10 - 1); i++)
- {
- if (rPtr(getElemPtr(i, &g_76803, 40) + 28) != 261)
- {
- bool flag1 = rPtr(getElemPtr(i, &g_76803, 40) + 36) == A_3;
- if (flag1 | (A_3 == 143))
- {
- var num1 = sub_B38F(i);
- if ((num1 | (A_4 == 0)) != 0)
- {
- struct _s = &A_0;
- struct _s = getElemPtr(i, &g_76803, 40) + 12;
- var num4 = GAMEPLAY::GET_DISTANCE_BETWEEN_COORDS(rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), 1);
- if (num4 < num5)
- {
- num5 = num4;
- num6 = i;
- }
- }
- }
- }
- }
- return num6;
- }
- var sub_B38F(var A_0)
- {
- return GAMEPLAY::IS_BIT_SET(getElem(A_0, (&g_86838) + 4932, 4), 0);
- }
- var sub_B3A7(var A_0)
- {
- bool flag1 = A_0 == 136;
- if (flag1 | (A_0 == -1))
- {
- return 0;
- }
- return getElem(A_0, (((&g_86838) + 6711) + 99) + 57, 4);
- }
- void sub_B3D4()
- {
- if (SCRIPT::0x029D3841(SCRIPT::0x2BEE1F45()) <= 1)
- {
- g_19601 = 0;
- sub_9D12(0);
- if (CAM::IS_GAMEPLAY_HINT_ACTIVE() != 0)
- {
- CAM::STOP_GAMEPLAY_HINT(0);
- }
- sub_45CC(&l_44);
- if ((sub_B3A7(63) != 0) && (PLAYER::IS_PLAYER_PLAYING(PLAYER::PLAYER_ID()) != 0))
- {
- if (sub_B3A7(124) != 0)
- {
- struct _s = ENTITY::GET_ENTITY_COORDS(PLAYER::PLAYER_PED_ID(), 1);
- if (GAMEPLAY::GET_DISTANCE_BETWEEN_COORDS(rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), 19.3f, 528.24f, 169.63f, 1) > 50f)
- {
- sub_422C(238, 1, 0);
- }
- }
- else
- {
- struct _s = ENTITY::GET_ENTITY_COORDS(PLAYER::PLAYER_PED_ID(), 1);
- if (GAMEPLAY::GET_DISTANCE_BETWEEN_COORDS(rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), -11.15f, -1425.56f, 29.67f, 1) > 50f)
- {
- sub_422C(237, 1, 0);
- }
- }
- }
- sub_2C53(1);
- sub_2DE1(&l_388, 0);
- sub_2DE1(&l_393, 0);
- if (GRAPHICS::DOES_PARTICLE_FX_LOOPED_EXIST(l_53) != 0)
- {
- GRAPHICS::STOP_PARTICLE_FX_LOOPED(l_53, 0);
- }
- STREAMING::REMOVE_PTFX_ASSET();
- if (WEAPON::HAS_PED_GOT_WEAPON(PLAYER::PLAYER_PED_ID(), 0x23C9F95C, 0) != 0)
- {
- WEAPON::REMOVE_WEAPON_FROM_PED(PLAYER::PLAYER_PED_ID(), 0x23C9F95C);
- }
- if (sub_9282(PLAYER::PLAYER_PED_ID()) != 0)
- {
- PED::SET_PED_CONFIG_FLAG(PLAYER::PLAYER_PED_ID(), 32, 1);
- }
- if (ENTITY::DOES_ENTITY_EXIST(l_43) != 0)
- {
- if (sub_B99A() != 0)
- {
- sub_B95B(&l_43);
- }
- else
- {
- bool flag1 = ENTITY::IS_ENTITY_DEAD(l_43) == 0;
- if (flag1 & sub_9282(PLAYER::PLAYER_PED_ID()))
- {
- if (PED::IS_PED_IN_GROUP(l_43) != 0)
- {
- PED::REMOVE_PED_FROM_GROUP(l_43);
- }
- var num1 = PED::IS_SYNCHRONIZED_SCENE_RUNNING(l_82);
- if ((num1 | PED::IS_PED_IN_ANY_VEHICLE(l_43, 0)) != 0)
- {
- if (sub_9282(l_54) == 0)
- {
- if (sub_B808() == 1)
- {
- bool flag4 = l_26 == 2;
- if (flag4 | (l_26 == 15))
- {
- AI::CLEAR_PED_TASKS_IMMEDIATELY(l_43);
- struct _s = ENTITY::GET_OFFSET_FROM_ENTITY_IN_WORLD_COORDS(PLAYER::PLAYER_PED_ID(), 1.75f, 0f, 0f);
- sub_9228(l_43, rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), ENTITY::GET_ENTITY_HEADING(l_43), 1, 1);
- PED::0x187B9070(l_43, 0, 0);
- }
- }
- }
- else
- {
- var num3 = 0;
- while (true)
- {
- if (num3 != 0)
- {
- break;
- }
- SYSTEM::WAIT(0);
- bool flag2 = sub_B92D() == 0;
- if (flag2 | sub_B821(l_54, 0x41280000, 1, 0x3F000000, 0))
- {
- num3 = 1;
- }
- }
- if (sub_B92D() != 0)
- {
- if (VEHICLE::IS_VEHICLE_DOOR_DAMAGED(l_54, l_88) == 0)
- {
- VEHICLE::SET_VEHICLE_DOOR_OPEN(l_54, l_88, 0, 0);
- }
- STREAMING::REQUEST_ANIM_DICT(l_447);
- while (STREAMING::HAS_ANIM_DICT_LOADED(l_447) == 0)
- {
- SYSTEM::WAIT(0);
- }
- }
- if (sub_B92D() != 0)
- {
- l_82 = PED::CREATE_SYNCHRONIZED_SCENE(0f, 0f, 0f, 0f, 0f, 0f, 2);
- PED::ATTACH_SYNCHRONIZED_SCENE_TO_ENTITY(l_82, l_54, ENTITY::0xE4ECAC22(l_54, "seat_pside_f"));
- AI::CLEAR_PED_TASKS_IMMEDIATELY(l_43);
- AI::TASK_SYNCHRONIZED_SCENE(l_43, l_82, l_447, "get_out", 1000f, -8f, 10, 0, 0x447A0000, 0);
- PED::0x187B9070(l_43, 0, 0);
- var num4 = 0;
- while (true)
- {
- var num8;
- if (num4 != 0)
- {
- break;
- }
- SYSTEM::WAIT(0);
- bool flag3 = sub_B92D() == 0;
- if (!flag3)
- {
- num8 = PED::IS_SYNCHRONIZED_SCENE_RUNNING(l_82);
- }
- if (flag3 | (num8 & (PED::GET_SYNCHRONIZED_SCENE_PHASE(l_82) > 0.99f)))
- {
- num4 = 1;
- }
- }
- SYSTEM::WAIT(0);
- var num9 = sub_B92D();
- if ((num9 & (VEHICLE::IS_VEHICLE_DOOR_DAMAGED(l_54, l_88) == 0)) != 0)
- {
- VEHICLE::SET_VEHICLE_DOOR_SHUT(l_54, l_88, 0);
- }
- }
- }
- }
- if (sub_9282(l_43) != 0)
- {
- PED::SET_PED_KEEP_TASK(l_43, 1);
- AI::TASK_SMART_FLEE_PED(l_43, PLAYER::PLAYER_PED_ID(), 100f, -1, 0, 0);
- }
- }
- sub_B7B9(&l_43, 1, 0, 1);
- }
- }
- sub_408E(&l_54);
- sub_87B6(0);
- STREAMING::REMOVE_ANIM_DICT("creatures@rottweiler@move");
- STREAMING::REMOVE_ANIM_DICT("creatures@rottweiler@amb@world_dog_barking@enter");
- STREAMING::REMOVE_ANIM_DICT("creatures@rottweiler@amb@world_dog_barking@base");
- STREAMING::REMOVE_ANIM_DICT("creatures@rottweiler@amb@world_dog_barking@idle_a");
- STREAMING::REMOVE_ANIM_DICT("creatures@rottweiler@amb@world_dog_barking@exit");
- STREAMING::REMOVE_ANIM_DICT("creatures@rottweiler@in_vehicle@4x4");
- STREAMING::REMOVE_ANIM_DICT("creatures@rottweiler@in_vehicle@low_car");
- STREAMING::REMOVE_ANIM_DICT("creatures@rottweiler@in_vehicle@std_car");
- STREAMING::REMOVE_ANIM_DICT("creatures@rottweiler@in_vehicle@van");
- STREAMING::REMOVE_ANIM_DICT("creatures@rottweiler@amb@world_dog_sitting@enter");
- STREAMING::REMOVE_ANIM_DICT("creatures@rottweiler@amb@world_dog_sitting@idle_a");
- STREAMING::REMOVE_ANIM_DICT("creatures@rottweiler@amb@world_dog_sitting@exit");
- STREAMING::REMOVE_ANIM_DICT("creatures@rottweiler@tricks@");
- STREAMING::REMOVE_ANIM_DICT("creatures@rottweiler@amb@sleep_in_kennel@");
- STREAMING::REMOVE_ANIM_DICT("creatures@rottweiler@indication@");
- STREAMING::REMOVE_ANIM_DICT("misschop_vehicleenter_exit");
- STREAMING::REMOVE_ANIM_DICT("creatures@rottweiler@melee@streamed_taunts@");
- sub_B79C(&l_142, 1);
- sub_B79C(&l_142, 3);
- sub_ADFD();
- CAM::DESTROY_ALL_CAMS(0);
- if (l_61 > -1)
- {
- PATHFIND::REMOVE_NAVMESH_BLOCKING_OBJECT(l_61);
- }
- if (l_62 > -1)
- {
- PATHFIND::REMOVE_NAVMESH_BLOCKING_OBJECT(l_62);
- }
- if (l_46 == 1)
- {
- PED::REMOVE_RELATIONSHIP_GROUP(l_45);
- }
- }
- SCRIPT::TERMINATE_THIS_THREAD();
- }
- void sub_B79C(var A_0, var A_1)
- {
- if (rPtr(getElemPtr(A_1, A_0, 40) + 28) == 1)
- {
- wPtr(0, getElemPtr(A_1, A_0, 40) + 28);
- }
- }
- void sub_B7B9(var A_0, var A_1, var A_2, var A_3)
- {
- if (ENTITY::DOES_ENTITY_EXIST(rPtr(A_0)) != 0)
- {
- if (PED::IS_PED_INJURED(rPtr(A_0)) == 0)
- {
- ENTITY::SET_ENTITY_LOAD_COLLISION_FLAG(rPtr(A_0), 0);
- if (A_3 == 0)
- {
- AI::CLEAR_PED_SECONDARY_TASK(rPtr(A_0));
- }
- PED::SET_PED_KEEP_TASK(rPtr(A_0), A_1);
- if (A_2 == 1)
- {
- PED::SET_BLOCKING_OF_NON_TEMPORARY_EVENTS(rPtr(A_0), 0);
- }
- }
- ENTITY::SET_PED_AS_NO_LONGER_NEEDED(A_0);
- }
- }
- var sub_B808()
- {
- sub_B1B8();
- return rPtr((((&g_86838) + 1729) + 539) + 2659);
- }
- var sub_B821(var A_0, var A_1, var A_2, var A_3, var A_4)
- {
- CONTROLS::DISABLE_CONTROL_ACTION(0, 65);
- CONTROLS::DISABLE_CONTROL_ACTION(0, 66);
- CONTROLS::DISABLE_CONTROL_ACTION(0, 69);
- CONTROLS::DISABLE_CONTROL_ACTION(0, 225);
- CONTROLS::DISABLE_CONTROL_ACTION(0, 53);
- CONTROLS::DISABLE_CONTROL_ACTION(0, 54);
- CONTROLS::DISABLE_CONTROL_ACTION(0, 68);
- CONTROLS::DISABLE_CONTROL_ACTION(0, 73);
- CONTROLS::DISABLE_CONTROL_ACTION(0, 63);
- CONTROLS::DISABLE_CONTROL_ACTION(0, 64);
- CONTROLS::DISABLE_CONTROL_ACTION(0, 62);
- CONTROLS::DISABLE_CONTROL_ACTION(0, 67);
- CONTROLS::DISABLE_CONTROL_ACTION(0, 77);
- CONTROLS::DISABLE_CONTROL_ACTION(0, 74);
- CONTROLS::DISABLE_CONTROL_ACTION(0, 75);
- CONTROLS::DISABLE_CONTROL_ACTION(0, 102);
- CONTROLS::DISABLE_CONTROL_ACTION(0, 95);
- CONTROLS::DISABLE_CONTROL_ACTION(0, 98);
- CONTROLS::DISABLE_CONTROL_ACTION(0, 80);
- CONTROLS::DISABLE_CONTROL_ACTION(0, 80);
- CONTROLS::DISABLE_CONTROL_ACTION(0, 78);
- CONTROLS::DISABLE_CONTROL_ACTION(0, 79);
- CONTROLS::DISABLE_CONTROL_ACTION(0, 101);
- CONTROLS::DISABLE_CONTROL_ACTION(0, 103);
- CONTROLS::DISABLE_CONTROL_ACTION(0, 104);
- CONTROLS::DISABLE_CONTROL_ACTION(0, 105);
- CONTROLS::DISABLE_CONTROL_ACTION(0, 106);
- CONTROLS::DISABLE_CONTROL_ACTION(0, 107);
- if ((GAMEPLAY::GET_GAME_TIMER() - g_25) > 500)
- {
- VEHICLE::0xCBC7D3C8(A_0, A_1, A_2, A_4);
- }
- g_25 = GAMEPLAY::GET_GAME_TIMER();
- if ((ENTITY::IS_ENTITY_DEAD(A_0) == 0) && (GAMEPLAY::ABSF(ENTITY::GET_ENTITY_SPEED(A_0)) <= A_3))
- {
- return 1;
- }
- return 0;
- }
- var sub_B92D()
- {
- var num1 = sub_9282(PLAYER::PLAYER_PED_ID());
- var num6 = num1 & sub_9282(l_54);
- if ((num6 & sub_9282(l_43)) != 0)
- {
- return 1;
- }
- return 0;
- }
- void sub_B95B(var A_0)
- {
- if (ENTITY::DOES_ENTITY_EXIST(rPtr(A_0)) != 0)
- {
- if (ENTITY::IS_ENTITY_DEAD(rPtr(A_0)) == 0)
- {
- ENTITY::SET_ENTITY_LOAD_COLLISION_FLAG(rPtr(A_0), 0);
- }
- if (ENTITY::IS_ENTITY_A_MISSION_ENTITY(rPtr(A_0)) == 0)
- {
- ENTITY::SET_ENTITY_AS_MISSION_ENTITY(rPtr(A_0), 1, 0);
- }
- PED::DELETE_PED(A_0);
- }
- }
- var sub_B99A()
- {
- var num1 = STREAMING::STOP_PLAYER_REMAIN_ARCADE();
- if ((num1 & sub_9282(l_43)) != 0)
- {
- var num6 = PED::IS_SYNCHRONIZED_SCENE_RUNNING(l_82);
- if ((num6 | PED::IS_PED_IN_ANY_VEHICLE(l_43, 0)) != 0)
- {
- return 1;
- }
- }
- if (g_19602 != 1)
- {
- if (sub_9282(l_43) != 0)
- {
- bool flag1 = l_26 == 11;
- if (flag1 & ENTITY::IS_ENTITY_OCCLUDED(l_43))
- {
- return 1;
- }
- struct _s = ENTITY::GET_ENTITY_COORDS(l_43, 0);
- if (sub_BA44(rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), 1f, 0x42C80000) != 0)
- {
- return 0;
- }
- }
- if (sub_AFF3(0) == 0)
- {
- return 0;
- }
- var num7 = sub_BA36(6);
- if ((num7 | sub_BA36(2)) != 0)
- {
- return 0;
- }
- }
- return 1;
- }
- var sub_BA36(var A_0)
- {
- return (g_29814 == A_0);
- }
- var sub_BA44(var A_0, var A_1, var A_2, var A_3, var A_4)
- {
- struct _s = &A_0;
- if (CAM::IS_SPHERE_VISIBLE(rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), A_3) != 0)
- {
- struct _s = &A_0;
- if (ENTITY::IS_ENTITY_AT_COORD(PLAYER::PLAYER_PED_ID(), rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), A_4, A_4, A_4, 0, 0, 0) == 0)
- {
- return 0;
- }
- if (CAM::IS_SCREEN_FADED_OUT() != 0)
- {
- return 0;
- }
- return 1;
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement