234 lines
6.6 KiB
XML
Executable File
234 lines
6.6 KiB
XML
Executable File
|
|
/// PURPOSE: Returns coords of letter scrap pickup
|
|
FUNC VECTOR GET_LETTERSCRAP_PICKUP_COORDS(INT iIndex, BOOL bForChop=FALSE)
|
|
|
|
// If any of these have a bForChop vector set, Chop will lead the player to the bForChop vector then orientate himself towards the actual pickup vector.
|
|
// Small alterations are fine but if you move a pickup more than 1-2 metres away from its current position you must update the bForChop vector too or else we'll have Chop leading the player to nothing.
|
|
// The bForChop vector must be on a section of navmesh that is connected to the main navmesh. See Kev E if unsure.
|
|
SWITCH iIndex
|
|
|
|
CASE 0
|
|
IF bForChop = TRUE
|
|
RETURN << 1034.27429, -3026.27539, 4.90197 >>
|
|
ELSE
|
|
RETURN << 1026.7053, -3026.0515, 13.3323 >>
|
|
ENDIF
|
|
BREAK
|
|
CASE 1
|
|
IF bForChop = TRUE
|
|
RETURN << -1040.97888, -2743.50928, 12.94983 >>
|
|
ELSE
|
|
RETURN <<-1048.6035, -2734.2180, 12.8895>>
|
|
ENDIF
|
|
BREAK
|
|
CASE 2
|
|
IF bForChop = TRUE
|
|
RETURN << -93.90120, -2711.31445, 5.01752 >>
|
|
ELSE
|
|
RETURN << -81.1199, -2726.5112, 7.7400 >>
|
|
ENDIF
|
|
BREAK
|
|
CASE 3 RETURN <<-917.6909, -2527.3843, 22.3218>> BREAK
|
|
CASE 4
|
|
IF bForChop = TRUE
|
|
RETURN << 746.45, -2310.32, 26.03 >>
|
|
ELSE
|
|
RETURN << 748.922, -2298.114, 19.624 >>
|
|
ENDIF
|
|
BREAK
|
|
CASE 5
|
|
IF bForChop = TRUE
|
|
RETURN << 1509.74207, -2126.03760, 75.21973 >>
|
|
ELSE
|
|
RETURN << 1509.0994, -2120.5510, 75.61 >>
|
|
ENDIF
|
|
BREAK
|
|
CASE 6 RETURN << 76.0032, -1970.4752, 20.1302 >> BREAK
|
|
CASE 7
|
|
IF bForChop = TRUE
|
|
RETURN << -1.82327, -1732.61438, 28.29367 >>
|
|
ELSE
|
|
RETURN << 0.067, -1734.027, 30.606 >>
|
|
ENDIF
|
|
BREAK
|
|
CASE 8
|
|
IF bForChop = TRUE
|
|
RETURN << -1377.76563, -1409.83704, 4.63205 >>
|
|
ELSE
|
|
RETURN << -1380.4912, -1404.3735, 1.7273 >>
|
|
ENDIF
|
|
BREAK
|
|
CASE 9 RETURN <<2864.8079, -1372.8402, 1.3151>> BREAK
|
|
CASE 10 RETURN << -1035.8115, -1273.0769, 0.8919 >> BREAK
|
|
CASE 11 RETURN << -1821.1364, -1201.3599, 18.1698 >> BREAK
|
|
CASE 12 RETURN << 643.0116, -1035.6504, 35.8891 >> BREAK
|
|
CASE 13 RETURN <<-119.0616, -977.2228, 303.23 >> BREAK
|
|
CASE 14
|
|
IF bForChop = TRUE
|
|
RETURN << -1243.10364, -507.80569, 30.10775 >>
|
|
ELSE
|
|
RETURN << -1238.7655, -506.7138, 37.6019 >>
|
|
ENDIF
|
|
BREAK
|
|
CASE 15
|
|
IF bForChop = TRUE
|
|
RETURN << 83.79993, -431.93021, 36.55315 >>
|
|
ELSE
|
|
RETURN << 86.4, -433.9, 36.0 >>
|
|
ENDIF
|
|
BREAK
|
|
CASE 16 RETURN << 1095.9534, -210.4642, 54.9477 >> BREAK
|
|
CASE 17 RETURN << -1724.5217, -196.0, 57.2387 >> BREAK
|
|
CASE 18 RETURN << 265.374, -199.546, 60.795 >> BREAK
|
|
CASE 19
|
|
IF bForChop = TRUE
|
|
RETURN << -3020.47485, 36.55431, 9.11777 >>
|
|
ELSE
|
|
RETURN << -3021.4, 38.0, 10.2945 >>
|
|
ENDIF
|
|
BREAK
|
|
CASE 20
|
|
IF bForChop = TRUE
|
|
RETURN << -347.52768, 53.37161, 52.97814 >>
|
|
ELSE
|
|
RETURN << -347.3, 54.865, 53.921 >>
|
|
ENDIF
|
|
BREAK
|
|
CASE 21 RETURN << 1052.2484, 167.6110, 87.7406 >> BREAK
|
|
CASE 22 RETURN << -2303.7976, 217.4301, 166.6017 >> BREAK
|
|
CASE 23 RETURN << -138.9423, 868.3885, 231.6956 >> BREAK
|
|
CASE 24
|
|
IF bForChop = TRUE
|
|
RETURN << 688.1073, 1204.6713, 323.3438 >>
|
|
ELSE
|
|
RETURN << 682.4505, 1204.9277, 344.3322 >>
|
|
ENDIF
|
|
BREAK
|
|
CASE 25 RETURN <<-1548.7627, 1380.1727, 125.3728>> BREAK
|
|
CASE 26
|
|
IF bForChop = TRUE
|
|
RETURN << -432.14, 1598.46, 355.73 >>
|
|
ELSE
|
|
RETURN << -432.0034, 1597.1292, 356.613 >>
|
|
ENDIF
|
|
BREAK
|
|
CASE 27 RETURN << 3081.93, 1648.29, 2.42 >> BREAK
|
|
CASE 28 RETURN << -594.38, 2092.00, 130.57 >> BREAK
|
|
CASE 29
|
|
IF bForChop = TRUE
|
|
RETURN << 3069.21289, 2160.98828, 1.13270 >>
|
|
ELSE
|
|
RETURN << 3063.5828, 2212.6299, 2.5863 >>
|
|
ENDIF
|
|
BREAK
|
|
CASE 30 RETURN << 180.21, 2263.83, 91.87 >> BREAK
|
|
CASE 31
|
|
IF bForChop = TRUE
|
|
RETURN << 926.96, 2445.36, 49.09 >>
|
|
ELSE
|
|
RETURN << 929.6946, 2444.1155, 48.4300 >>
|
|
ENDIF
|
|
BREAK
|
|
CASE 32
|
|
IF bForChop = TRUE
|
|
RETURN <<-2380.21240, 2655.17578, 0.83200>>
|
|
ELSE
|
|
RETURN <<-2379.9482, 2656.9534, 1.4906>>
|
|
ENDIF
|
|
BREAK
|
|
CASE 33 RETURN << -861.38, 2753.30, 12.867 >> BREAK
|
|
CASE 34 RETURN << -289.0195, 2848.8533, 53.3310 >> BREAK
|
|
CASE 35
|
|
IF bForChop = TRUE
|
|
RETURN << 288.84085, 2871.91162, 42.64220 >>
|
|
ELSE
|
|
RETURN << 265.7415, 2866.4160, 73.19 >>
|
|
ENDIF
|
|
BREAK
|
|
CASE 36
|
|
IF bForChop = TRUE
|
|
RETURN << 1297.37805, 2988.71021, 40.11787 >>
|
|
ELSE
|
|
RETURN << 1294.2, 3001.9, 57.7 >>
|
|
ENDIF
|
|
BREAK
|
|
CASE 37 RETURN << 1568.65, 3572.8, 32.294 >> BREAK
|
|
CASE 38 RETURN << -1608.62, 4274.25, 102.95 >> BREAK
|
|
CASE 39
|
|
IF bForChop = TRUE
|
|
RETURN << -3.51812, 4332.45068, 31.21602 >>
|
|
ELSE
|
|
RETURN << -1.9585, 4334.7871, 32.3702 >>
|
|
ENDIF
|
|
BREAK
|
|
CASE 40 RETURN << 1336.7367, 4307.1997, 37.1325 >> BREAK
|
|
CASE 41
|
|
IF bForChop = TRUE
|
|
RETURN << -1007.10284, 4836.93604, 268.54880 >>
|
|
ELSE
|
|
RETURN << -1001.4800, 4851.3218, 273.6112 >>
|
|
ENDIF
|
|
BREAK
|
|
CASE 42 RETURN << 1877.090, 5078.980, 50.490 >> BREAK
|
|
CASE 43
|
|
IF bForChop = TRUE
|
|
RETURN << 3366.09863, 5182.46143, 0.68317 >>
|
|
ELSE
|
|
RETURN << 3436.4526, 5176.9111, 6.3860 >>
|
|
ENDIF
|
|
BREAK
|
|
CASE 44
|
|
IF bForChop = TRUE
|
|
RETURN << -576.12, 5472.24, 59.28 >>
|
|
ELSE
|
|
RETURN <<-578.8057, 5470.1641, 59.0295>>
|
|
ENDIF
|
|
BREAK
|
|
CASE 45 RETURN << 444.6518, 5571.7813, 780.1888 >> BREAK
|
|
CASE 46 RETURN << -402.9948, 6319.2793, 31.2256 >> BREAK
|
|
CASE 47 RETURN << 1439.5989, 6335.2075, 22.9485 >> BREAK
|
|
CASE 48
|
|
IF bForChop = TRUE
|
|
RETURN << 1466.10901, 6552.26563, 12.95773 >>
|
|
ELSE
|
|
RETURN << 1469.6321, 6552.1743, 13.6854 >>
|
|
ENDIF
|
|
BREAK
|
|
CASE 49
|
|
IF bForChop = TRUE
|
|
RETURN << 66.19278, 6668.88770, 30.80633 >>
|
|
ELSE
|
|
RETURN << 66.7136, 6663.1978, 30.7821 >>
|
|
ENDIF
|
|
BREAK
|
|
ENDSWITCH
|
|
|
|
SCRIPT_ASSERT("Invalid index passed to GET_LETTERSCRAP_PICKUP_COORDS")
|
|
RETURN <<0,0,0>>
|
|
ENDFUNC
|
|
|
|
/// PURPOSE:
|
|
/// Returns true if Chop can reach the scrap, else false
|
|
/// PARAMS:
|
|
/// index - the index of the pickup
|
|
FUNC BOOL CAN_CHOP_REACH_LETTERSCRAP(INT index)
|
|
|
|
SWITCH (index)
|
|
CASE 3 FALLTHRU // On a roof
|
|
CASE 9 FALLTHRU // On island
|
|
CASE 10 FALLTHRU // Surrounded by canal
|
|
CASE 13 FALLTHRU // On crane
|
|
CASE 27 FALLTHRU // On island
|
|
CASE 38 FALLTHRU // On rock plateau
|
|
RETURN FALSE
|
|
BREAK
|
|
CASE 14
|
|
IF IS_BIT_SET(g_iRestrictedAreaBitSet, 7) //AC_MOVIE_STUDIO
|
|
RETURN FALSE
|
|
ENDIF
|
|
BREAK
|
|
ENDSWITCH
|
|
|
|
RETURN TRUE
|
|
ENDFUNC
|