diff --git a/angle.html b/angle.html index ace99de..0c3e96d 100644 --- a/angle.html +++ b/angle.html @@ -25,6 +25,12 @@ // Check special starts by default, 0 = Off, 1 = On var u_check_special_start = 1; + + // Check jumpbug starts by default, 0 = Off, 1 = On + var u_check_jb_start = 1; + + // Check biggest angle difference by default, 0 = Off, 1 = On + var u_check_biggest_diff = 1; /* END USER CONFIG */ @@ -46,10 +52,10 @@ Sourcemod plugin by nolem
- 1.1.9 + 1.2.2
- Created by Tyrael + Created by Tyrael
Modified by Graru1
@@ -69,6 +75,7 @@
@@ -100,12 +109,24 @@

- - + + +

+

+ + +

+ +
+ + + + +
@@ -115,10 +136,846 @@ \ No newline at end of file + function checkBounce(t,e,o,a){ + "undefined"==typeof a&&(a="UNCROUCHED"); + var c=.18,r=0,l=0,n=t; + for("CROUCHED"==a&&(n+=20),r=0==o?.18:.09+o/tickRate;n+50>e;) + if(r-=c,-52.5>=r&&(r=-52.5),n+=r,1.98>n-e&&n-e>.99){ + l=1;break + } + return l + } + function calculateAngle(t,e,o,a,c){ + "undefined"==typeof e&&(e=60), + "undefined"==typeof o&&(o="STOCK"), + "undefined"==typeof a&&(a="UNCROUCHED"), + "undefined"==typeof c&&(c="UNCROUCHED"); + var r=[0,0],l=0,n=1,h=.01; + if(45>e||e>89)var w=45; + else var w=e;for(;!l;){ + var _=calculateVel(w,o,a), + k=_-12, + u=(_+k)/2/tickRate; + if("CROUCHED"==a&&(u-=20),checkBounce(u,t,k,c)){ + for(l=1,r[0]=w;n;){ + var i=calculateVel(w+h,o,a), + p=i-12, + g=(i+p)/2/tickRate; + if("CROUCHED"==a&&(g-=20),!checkBounce(g,t,p,c)){ + n=0;break + } + r[1]=h,h+=.01 + } + break + } + if(w+=.01,w>89) + return[0,0] + } + return r + } + + function calculateOptimalAngle(t, o, a, c) + { + if (typeof(o) === "undefined") { o = "STOCK" } + if (typeof(a) === "undefined") { a = "UNCROUCHED" } + if (typeof(c) === "undefined") { c = "UNCROUCHED" } + + var r = []; + var r_ = []; + + var l = 0; + var n = 1; + + var h = 0.01; + + var w = 45.0; //45 || nearestAngle > 89 + + while (!l) { + h = 0.01; + var _ = calculateVel((w+h-0.01), o, a); + var k = _ - 12.0 + + var u = (((_ + k) / 2) / tickRate); + + if (a == "CROUCHED") { u -= 20 } + + if (checkBounce(u, t, k, c)) { + l = 1; + + r.push(Math.round( (w + 0.01)*1000 )/1000); + + // Once the angle is found check angle +0.01 to see what range you can use and still bounce + while (n) { + if (w > 89){ + break; + } + var v_ = calculateVel((w + h), o, a); + var vk = v_ - 12.0 + + var vu = (((v_ + vk) / 2) / tickRate); + + if (a == "CROUCHED") { vu -= 20 } + + if (checkBounce(vu, t, vk, c)) { + h += 0.01; + } + else { + r.push(Math.round( (w + h - 0.01)*1000)/1000); + n = 0; + l = 0; + w += h; + break; + } + } + } + else if (w < 89){ + w += 0.01; + } else { + break; + } + if (w <= 89) { + n = 1; + } + // Stop it from going forever + if (w > 89) { + if (r.length < 2){ + return [0, 0]; + } + } + } + + //once all angle pairs are found find pair with biggest difference + var rDiff = 0.0; + var r0; + var r1; + var i = 0; + while (i <= r.length-1) { + if ((r[i+1] - r[i])>rDiff){ + r0 = i; + r1 = i+1; + rDiff = r[r1] - r[r0]; + } + i += 2; + if (i > r.length-1){ + break; + } + } + r0 = r[r0]; + r1 = r[r1]; + + r_.push(r0); + r_.push(r1); + + return r_; + } + + function calculateJB(t) + { + var walkJB = [-1, -2, -3, -4, -5, -6, -7, -8, -9, -10, -11, -12, -13, -15, -16, -17, -18, -19, -20, -22, -23, -25, -26, -28, -29, -31, -32, -35, -36, -38, -39, -42, -43, -46, -47, -50, -51, -55, -56, -59, -60, -64, -65, -69, -70, -74, -75, -79, -80, -84, -85, -90, -91, -96, -97, -101, -102, -108, -109, -114, -115, -120, -121, -127, -128, -134, -135, -141, -142, -148, -149, -155, -156, -163, -164, -171, -172, -179, -180, -187, -188, -195, -196, -204, -205, -212, -213, -221, -222, -230, -231, -239, -240, -249, -250, -258, -259, -268, -269, -278, -279, -288, -289, -298, -299, -308, -309, -319, -320, -330, -331, -341, -342, -352, -353, -363, -364, -375, -376, -387, -388, -398, -399, -411, -412, -423, -424, -435, -436, -448, -449, -461, -462, -474, -475, -487, -488, -500, -501, -514, -515, -527, -528, -541, -542, -555, -556, -569, -570, -584, -585, -598, -599, -613, -614, -628, -629, -643, -644, -658, -659, -674, -675, -690, -691, -705, -706, -721, -722, -738, -739, -754, -755, -771, -772, -787, -788, -804, -805, -821, -822, -839, -840, -856, -857, -874, -875, -892, -893, -910, -911, -928, -929, -946, -947, -965, -966, -983, -984, -1002, -1003, -1021, -1022, -1041, -1042, -1060, -1061, -1080, -1081, -1099, -1100, -1119, -1120, -1140, -1141, -1160, -1161, -1180, -1181, -1201, -1202, -1222, -1223, -1243, -1244, -1264, -1265, -1286, -1287, -1307, -1308, -1329, -1330, -1351, -1352, -1373, -1374, -1395, -1396, -1418, -1419, -1441, -1442, -1464, -1465, -1487, -1488, -1510, -1511, -1533, -1534, -1557, -1558, -1581, -1582, -1604, -1605, -1629, -1630, -1653, -1654, -1677, -1678, -1702, -1703, -1727, -1728, -1752, -1753, -1777, -1778, -1802, -1803, -1828, -1829, -1854, -1855, -1880, -1881, -1906, -1907, -1932, -1933, -1959, -1960, -1985, -1986, -2012, -2013, -2039, -2040, -2066, -2067, -2094, -2095, -2121, -2122, -2149, -2150, -2177, -2178, -2205, -2206, -2233, -2234, -2261, -2262, -2290, -2291, -2319, -2320, -2348, -2349, -2377, -2378, -2406, -2407, -2436, -2437, -2466, -2467, -2495, -2496, -2526, -2527, -2556, -2557, -2586, -2587, -2617, -2618, -2648, -2649, -2679, -2680, -2710, -2711, -2741, -2742, -2773, -2774, -2804, -2805, -2836, -2837, -2868, -2869, -2900, -2901, -2933, -2934, -2965, -2966, -2998, -2999, -3031, -3032, -3064, -3065, -3097, -3098, -3131, -3132, -3165, -3166, -3198, -3199, -3232, -3233, -3267, -3268, -3301, -3302, -3336, -3337, -3370, -3371, -3405, -3406, -3440, -3441, -3476, -3477, -3511, -3512, -3547, -3548, -3583, -3584, -3619, -3620, -3655, -3656, -3691, -3692, -3728, -3729, -3764, -3765, -3801, -3802, -3838, -3839, -3876, -3877, -3913, -3914, -3951, -3952, -3988, -3989, -4026, -4027, -4065, -4066, -4103, -4104, -4141, -4142, -4180, -4181, -4219, -4220, -4258, -4259, -4297, -4298, -4337, -4338, -4376, -4377, -4416, -4417, -4456, -4457, -4496, -4497, -4537, -4538, -4577, -4578, -4618, -4619, -4659, -4660, -4700, -4701, -4741, -4742, -4782, -4783, -4824, -4825, -4866, -4867, -4907, -4908, -4950, -4951, -4992, -4993, -5034, -5035, -5077, -5078, -5120, -5121, -5163, -5164, -5206, -5207, -5249, -5250, -5293, -5294, -5337, -5338, -5381, -5382, -5425, -5426, -5469, -5470, -5514, -5515, -5558, -5559, -5603, -5604, -5648, -5649, -5693, -5694, -5739, -5740, -5784, -5785, -5830, -5831, -5876, -5877, -5922, -5923, -5968, -5969, -6014, -6015, -6061, -6062, -6108, -6109, -6155, -6156, -6202, -6203, -6249, -6250, -6297, -6298, -6345, -6346, -6392, -6393, -6441, -6442, -6489, -6490, -6537, -6538, -6586, -6587, -6635, -6636, -6684, -6685, -6733, -6734, -6782, -6783, -6832, -6833, -6881, -6882, -6931, -6932, -6981, -6982, -7031, -7032, -7082, -7083, -7132, -7133, -7183, -7184, -7234, -7235, -7285, -7286, -7336, -7337, -7388, -7389, -7440, -7441, -7491, -7492, -7543, -7544, -7596, -7597]; + var walkJBout = 0; + var jumpJB = [-1, -2, -4, -5, -9, -10, -13, -14, -18, -19, -23, -24, -28, -29, -34, -35, -39, -40, -45, -46, -51, -52, -57, -58, -63, -64, -70, -71, -76, -77, -83, -84, -90, -91, -97, -98, -105, -106, -112, -113, -120, -121, -128, -129, -136, -137, -144, -145, -153, -154, -161, -162, -170, -171, -179, -180, -188, -189, -198, -199, -207, -208, -217, -218, -227, -228, -237, -238, -247, -248, -258, -259, -268, -269, -279, -280, -290, -291, -301, -302, -312, -313, -324, -325, -336, -337, -347, -348, -359, -360, -372, -373, -384, -385, -397, -398, -409, -410, -422, -423, -436, -437, -449, -450, -462, -463, -476, -477, -490, -491, -504, -505, -518, -519, -532, -533, -547, -548, -562, -563, -577, -578, -592, -593, -607, -608, -623, -624, -638, -639, -654, -655, -670, -671, -686, -687, -703, -704, -719, -720, -736, -737, -753, -754, -770, -771, -787, -788, -805, -806, -822, -823, -840, -841, -858, -859, -876, -877, -894, -895, -913, -914, -932, -933, -951, -952, -970, -971, -989, -990, -1008, -1009, -1028, -1029, -1048, -1049, -1068, -1069, -1088, -1089, -1108, -1109, -1129, -1130, -1149, -1150, -1170, -1171, -1191, -1192, -1212, -1213, -1234, -1235, -1255, -1256, -1277, -1278, -1299, -1300, -1321, -1322, -1344, -1345, -1366, -1367, -1389, -1390, -1412, -1413, -1435, -1436, -1458, -1459, -1481, -1482, -1505, -1506, -1529, -1530, -1552, -1553, -1577, -1578, -1601, -1602, -1625, -1626, -1650, -1651, -1675, -1676, -1700, -1701, -1725, -1726, -1750, -1751, -1776, -1777, -1802, -1803, -1827, -1828, -1854, -1855, -1880, -1881, -1906, -1907, -1933, -1934, -1960, -1961, -1987, -1988, -2014, -2015, -2041, -2042, -2069, -2070, -2096, -2097, -2124, -2125, -2152, -2153, -2181, -2182, -2209, -2210, -2238, -2239, -2266, -2267, -2295, -2296, -2325, -2326, -2354, -2355, -2383, -2384, -2413, -2414, -2443, -2444, -2473, -2474, -2503, -2504, -2534, -2535, -2564, -2565, -2595, -2596, -2626, -2627, -2657, -2658, -2688, -2689, -2720, -2721, -2751, -2752, -2783, -2784, -2815, -2816, -2848, -2849, -2880, -2881, -2913, -2914, -2945, -2946, -2978, -2979, -3011, -3012, -3045, -3046, -3078, -3079, -3112, -3113, -3146, -3147, -3180, -3181, -3214, -3215, -3248, -3249, -3283, -3284, -3317, -3318, -3352, -3353, -3387, -3388, -3423, -3424, -3458, -3459, -3494, -3495, -3529, -3530, -3565, -3566, -3602, -3603, -3638, -3639, -3674, -3675, -3711, -3712, -3748, -3749, -3785, -3786, -3822, -3823, -3860, -3861, -3897, -3898, -3935, -3936, -3973, -3974, -4011, -4012, -4050, -4051, -4088, -4089, -4127, -4128, -4166, -4167, -4205, -4206, -4244, -4245, -4283, -4284, -4323, -4324, -4363, -4364, -4403, -4404, -4443, -4444, -4483, -4484, -4524, -4525, -4564, -4565, -4605, -4606, -4646, -4647, -4687, -4688, -4729, -4730, -4770, -4771, -4812, -4813, -4854, -4855, -4896, -4897, -4938, -4939, -4981, -4982, -5023, -5024, -5066, -5067, -5109, -5110, -5152, -5153, -5196, -5197, -5239, -5240, -5283, -5284, -5327, -5328, -5371, -5372, -5415, -5416, -5460, -5461, -5504, -5505, -5549, -5550, -5594, -5595, -5639, -5640, -5685, -5686, -5730, -5731, -5776, -5777, -5822, -5823, -5868, -5869, -5914, -5915, -5961, -5962, -6007, -6008, -6054, -6055, -6101, -6102, -6148, -6149, -6195, -6196, -6243, -6244, -6291, -6292, -6338, -6339, -6386, -6387, -6435, -6436, -6483, -6484, -6532, -6533, -6580, -6581, -6629, -6630, -6679, -6680, -6728, -6729, -6777, -6778, -6827, -6828, -6877, -6878, -6927, -6928, -6977, -6978, -7027, -7028, -7078, -7079, -7129, -7130, -7180, -7181, -7231, -7232, -7282, -7283, -7334, -7335, -7385, -7386, -7437, -7438, -7489, -7490, -7541, -7542, -7594, -7595]; + var jumpJBout = 0; + var ctapJB = [-1, -2, -4, -5, -8, -9, -12, -13, -16, -17, -20, -21, -24, -25, -29, -30, -34, -35, -38, -39, -44, -45, -49, -50, -54, -55, -60, -61, -66, -67, -72, -73, -78, -79, -84, -85, -91, -92, -98, -99, -105, -106, -112, -113, -119, -120, -126, -127, -134, -135, -142, -143, -150, -151, -158, -159, -166, -167, -175, -176, -184, -185, -193, -194, -202, -203, -211, -212, -220, -221, -230, -231, -240, -241, -250, -251, -260, -261, -270, -271, -281, -282, -291, -292, -302, -303, -313, -314, -325, -326, -336, -337, -348, -349, -359, -360, -371, -372, -383, -384, -396, -397, -408, -409, -421, -422, -434, -435, -447, -448, -460, -461, -473, -474, -487, -488, -501, -502, -515, -516, -529, -530, -543, -544, -558, -559, -572, -573, -587, -588, -602, -603, -617, -618, -633, -634, -648, -649, -664, -665, -680, -681, -696, -697, -712, -713, -729, -730, -745, -746, -762, -763, -779, -780, -796, -797, -814, -815, -831, -832, -849, -850, -867, -868, -885, -886, -903, -904, -922, -923, -940, -941, -959, -960, -978, -979, -997, -998, -1016, -1017, -1036, -1037, -1056, -1057, -1076, -1077, -1096, -1097, -1116, -1117, -1136, -1137, -1157, -1158, -1178, -1179, -1199, -1200, -1220, -1221, -1241, -1242, -1262, -1263, -1284, -1285, -1306, -1307, -1328, -1329, -1350, -1351, -1373, -1374, -1395, -1396, -1418, -1419, -1441, -1442, -1464, -1465, -1487, -1488, -1511, -1512, -1534, -1535, -1558, -1559, -1582, -1583, -1607, -1608, -1631, -1632, -1655, -1656, -1680, -1681, -1705, -1706, -1730, -1731, -1755, -1756, -1781, -1782, -1807, -1808, -1832, -1833, -1858, -1859, -1885, -1886, -1911, -1912, -1937, -1938, -1964, -1965, -1991, -1992, -2018, -2019, -2045, -2046, -2073, -2074, -2100, -2101, -2128, -2129, -2156, -2157, -2184, -2185, -2213, -2214, -2241, -2242, -2270, -2271, -2299, -2300, -2328, -2329, -2357, -2358, -2386, -2387, -2416, -2417, -2446, -2447, -2476, -2477, -2506, -2507, -2536, -2537, -2567, -2568, -2597, -2598, -2628, -2629, -2659, -2660, -2691, -2692, -2722, -2723, -2753, -2754, -2785, -2786, -2817, -2818, -2849, -2850, -2882, -2883, -2914, -2915, -2947, -2948, -2980, -2981, -3013, -3014, -3046, -3047, -3079, -3080, -3113, -3114, -3146, -3147, -3180, -3181, -3214, -3215, -3249, -3250, -3283, -3284, -3318, -3319, -3353, -3354, -3388, -3389, -3423, -3424, -3458, -3459, -3494, -3495, -3529, -3530, -3565, -3566, -3601, -3602, -3638, -3639, -3674, -3675, -3711, -3712, -3747, -3748, -3784, -3785, -3822, -3823, -3859, -3860, -3896, -3897, -3934, -3935, -3972, -3973, -4010, -4011, -4048, -4049, -4087, -4088, -4125, -4126, -4164, -4165, -4203, -4204, -4242, -4243, -4282, -4283, -4321, -4322, -4361, -4362, -4401, -4402, -4441, -4442, -4481, -4482, -4521, -4522, -4562, -4563, -4603, -4604, -4643, -4644, -4685, -4686, -4726, -4727, -4767, -4768, -4809, -4810, -4851, -4852, -4893, -4894, -4935, -4936, -4977, -4978, -5020, -5021, -5063, -5064, -5106, -5107, -5149, -5150, -5192, -5193, -5235, -5236, -5279, -5280, -5323, -5324, -5367, -5368, -5411, -5412, -5455, -5456, -5500, -5501, -5545, -5546, -5590, -5591, -5635, -5636, -5680, -5681, -5725, -5726, -5771, -5772, -5817, -5818, -5863, -5864, -5909, -5910, -5955, -5956, -6002, -6003, -6048, -6049, -6095, -6096, -6142, -6143, -6190, -6191, -6237, -6238, -6285, -6286, -6332, -6333, -6380, -6381, -6428, -6429, -6477, -6478, -6525, -6526, -6574, -6575, -6623, -6624, -6672, -6673, -6721, -6722, -6770, -6771, -6820, -6821, -6870, -6871, -6920, -6921, -6970, -6971, -7020, -7021, -7071, -7072, -7121, -7122, -7172, -7173, -7223, -7224, -7274, -7275, -7326, -7327, -7377, -7378, -7429, -7430, -7481, -7482, -7533, -7534, -7585, -7586]; + var ctapJBout = 0; + var cjumpJB = [-1, -2, -4, -5, -9, -10, -14, -15, -18, -19, -24, -25, -29, -30, -34, -35, -40, -41, -46, -47, -52, -53, -58, -59, -64, -65, -71, -72, -78, -79, -85, -86, -92, -93, -99, -100, -106, -107, -114, -115, -122, -123, -130, -131, -138, -139, -146, -147, -155, -156, -164, -165, -173, -174, -182, -183, -191, -192, -200, -201, -210, -211, -220, -221, -230, -231, -240, -241, -250, -251, -261, -262, -271, -272, -282, -283, -293, -294, -305, -306, -316, -317, -328, -329, -339, -340, -351, -352, -363, -364, -376, -377, -388, -389, -401, -402, -414, -415, -427, -428, -440, -441, -453, -454, -467, -468, -481, -482, -495, -496, -509, -510, -523, -524, -538, -539, -552, -553, -567, -568, -582, -583, -597, -598, -613, -614, -628, -629, -644, -645, -660, -661, -676, -677, -692, -693, -709, -710, -725, -726, -742, -743, -759, -760, -776, -777, -794, -795, -811, -812, -829, -830, -847, -848, -865, -866, -883, -884, -902, -903, -920, -921, -939, -940, -958, -959, -977, -978, -996, -997, -1016, -1017, -1036, -1037, -1056, -1057, -1076, -1077, -1096, -1097, -1116, -1117, -1137, -1138, -1158, -1159, -1179, -1180, -1200, -1201, -1221, -1222, -1243, -1244, -1264, -1265, -1286, -1287, -1308, -1309, -1330, -1331, -1353, -1354, -1375, -1376, -1398, -1399, -1421, -1422, -1444, -1445, -1467, -1468, -1491, -1492, -1514, -1515, -1538, -1539, -1562, -1563, -1587, -1588, -1611, -1612, -1635, -1636, -1660, -1661, -1685, -1686, -1710, -1711, -1735, -1736, -1761, -1762, -1787, -1788, -1812, -1813, -1838, -1839, -1865, -1866, -1891, -1892, -1917, -1918, -1944, -1945, -1971, -1972, -1998, -1999, -2025, -2026, -2053, -2054, -2080, -2081, -2108, -2109, -2136, -2137, -2164, -2165, -2193, -2194, -2221, -2222, -2250, -2251, -2279, -2280, -2308, -2309, -2337, -2338, -2366, -2367, -2396, -2397, -2426, -2427, -2456, -2457, -2486, -2487, -2516, -2517, -2547, -2548, -2577, -2578, -2608, -2609, -2639, -2640, -2671, -2672, -2702, -2703, -2734, -2735, -2765, -2766, -2797, -2798, -2829, -2830, -2862, -2863, -2894, -2895, -2927, -2928, -2960, -2961, -2993, -2994, -3026, -3027, -3059, -3060, -3093, -3094, -3126, -3127, -3160, -3161, -3194, -3195, -3229, -3230, -3263, -3264, -3298, -3299, -3333, -3334, -3368, -3369, -3403, -3404, -3438, -3439, -3474, -3475, -3509, -3510, -3545, -3546, -3581, -3582, -3618, -3619, -3654, -3655, -3691, -3692, -3727, -3728, -3764, -3765, -3802, -3803, -3839, -3840, -3876, -3877, -3914, -3915, -3952, -3953, -3990, -3991, -4028, -4029, -4067, -4068, -4105, -4106, -4144, -4145, -4183, -4184, -4222, -4223, -4262, -4263, -4301, -4302, -4341, -4342, -4381, -4382, -4421, -4422, -4461, -4462, -4501, -4502, -4542, -4543, -4583, -4584, -4623, -4624, -4665, -4666, -4706, -4707, -4747, -4748, -4789, -4790, -4831, -4832, -4873, -4874, -4915, -4916, -4957, -4958, -5000, -5001, -5043, -5044, -5086, -5087, -5129, -5130, -5172, -5173, -5215, -5216, -5259, -5260, -5303, -5304, -5347, -5348, -5391, -5392, -5435, -5436, -5480, -5481, -5525, -5526, -5570, -5571, -5615, -5616, -5660, -5661, -5705, -5706, -5751, -5752, -5797, -5798, -5843, -5844, -5889, -5890, -5935, -5936, -5982, -5983, -6028, -6029, -6075, -6076, -6122, -6123, -6170, -6171, -6217, -6218, -6265, -6266, -6312, -6313, -6360, -6361, -6408, -6409, -6457, -6458, -6505, -6506, -6554, -6555, -6603, -6604, -6652, -6653, -6701, -6702, -6750, -6751, -6800, -6801, -6850, -6851, -6900, -6901, -6950, -6951, -7000, -7001, -7051, -7052, -7101, -7102, -7152, -7153, -7203, -7204, -7254, -7255, -7306, -7307, -7357, -7358, -7409, -7410, -7461, -7462, -7513, -7514, -7565, -7566]; + var cjumpJBout = 0; + var cwalkJB = [-21, -22, -23, -24, -25, -26, -27, -28, -29, -30, -31, -32, -33, -35, -36, -37, -38, -39, -40, -42, -43, -45, -46, -48, -49, -51, -52, -55, -56, -58, -59, -62, -63, -66, -67, -70, -71, -75, -76, -79, -80, -84, -85, -89, -90, -94, -95, -99, -100, -104, -105, -110, -111, -116, -117, -121, -122, -128, -129, -134, -135, -140, -141, -147, -148, -154, -155, -161, -162, -168, -169, -175, -176, -183, -184, -191, -192, -199, -200, -207, -208, -215, -216, -224, -225, -232, -233, -241, -242, -250, -251, -259, -260, -269, -270, -278, -279, -288, -289, -298, -299, -308, -309, -318, -319, -328, -329, -339, -340, -350, -351, -361, -362, -372, -373, -383, -384, -395, -396, -407, -408, -418, -419, -431, -432, -443, -444, -455, -456, -468, -469, -481, -482, -494, -495, -507, -508, -520, -521, -534, -535, -547, -548, -561, -562, -575, -576, -589, -590, -604, -605, -618, -619, -633, -634, -648, -649, -663, -664, -678, -679, -694, -695, -710, -711, -725, -726, -741, -742, -758, -759, -774, -775, -791, -792, -807, -808, -824, -825, -841, -842, -859, -860, -876, -877, -894, -895, -912, -913, -930, -931, -948, -949, -966, -967, -985, -986, -1003, -1004, -1022, -1023, -1041, -1042, -1061, -1062, -1080, -1081, -1100, -1101, -1119, -1120, -1139, -1140, -1160, -1161, -1180, -1181, -1200, -1201, -1221, -1222, -1242, -1243, -1263, -1264, -1284, -1285, -1306, -1307, -1327, -1328, -1349, -1350, -1371, -1372, -1393, -1394, -1415, -1416, -1438, -1439, -1461, -1462, -1484, -1485, -1507, -1508, -1530, -1531, -1553, -1554, -1577, -1578, -1601, -1602, -1624, -1625, -1649, -1650, -1673, -1674, -1697, -1698, -1722, -1723, -1747, -1748, -1772, -1773, -1797, -1798, -1822, -1823, -1848, -1849, -1874, -1875, -1900, -1901, -1926, -1927, -1952, -1953, -1979, -1980, -2005, -2006, -2032, -2033, -2059, -2060, -2086, -2087, -2114, -2115, -2141, -2142, -2169, -2170, -2197, -2198, -2225, -2226, -2253, -2254, -2281, -2282, -2310, -2311, -2339, -2340, -2368, -2369, -2397, -2398, -2426, -2427, -2456, -2457, -2486, -2487, -2515, -2516, -2546, -2547, -2576, -2577, -2606, -2607, -2637, -2638, -2668, -2669, -2699, -2700, -2730, -2731, -2761, -2762, -2793, -2794, -2824, -2825, -2856, -2857, -2888, -2889, -2920, -2921, -2953, -2954, -2985, -2986, -3018, -3019, -3051, -3052, -3084, -3085, -3117, -3118, -3151, -3152, -3185, -3186, -3218, -3219, -3252, -3253, -3287, -3288, -3321, -3322, -3356, -3357, -3390, -3391, -3425, -3426, -3460, -3461, -3496, -3497, -3531, -3532, -3567, -3568, -3603, -3604, -3639, -3640, -3675, -3676, -3711, -3712, -3748, -3749, -3784, -3785, -3821, -3822, -3858, -3859, -3896, -3897, -3933, -3934, -3971, -3972, -4008, -4009, -4046, -4047, -4085, -4086, -4123, -4124, -4161, -4162, -4200, -4201, -4239, -4240, -4278, -4279, -4317, -4318, -4357, -4358, -4396, -4397, -4436, -4437, -4476, -4477, -4516, -4517, -4557, -4558, -4597, -4598, -4638, -4639, -4679, -4680, -4720, -4721, -4761, -4762, -4802, -4803, -4844, -4845, -4886, -4887, -4927, -4928, -4970, -4971, -5012, -5013, -5054, -5055, -5097, -5098, -5140, -5141, -5183, -5184, -5226, -5227, -5269, -5270, -5313, -5314, -5357, -5358, -5401, -5402, -5445, -5446, -5489, -5490, -5534, -5535, -5578, -5579, -5623, -5624, -5668, -5669, -5713, -5714, -5759, -5760, -5804, -5805, -5850, -5851, -5896, -5897, -5942, -5943, -5988, -5989, -6034, -6035, -6081, -6082, -6128, -6129, -6175, -6176, -6222, -6223, -6269, -6270, -6317, -6318, -6365, -6366, -6412, -6413, -6461, -6462, -6509, -6510, -6557, -6558, -6606, -6607, -6655, -6656, -6704, -6705, -6753, -6754, -6802, -6803, -6852, -6853, -6901, -6902, -6951, -6952, -7001, -7002, -7051, -7052, -7102, -7103, -7152, -7153, -7203, -7204, -7254, -7255, -7305, -7306, -7356, -7357, -7408, -7409, -7460, -7461, -7511, -7512, -7563, -7564, -7616, -7617]; + var cwalkJBout = 0; + var ceilingJB = [-83, -84, -85, -86, -87, -88, -89, -90, -91, -92, -93, -94, -95, -97, -98, -99, -100, -101, -102, -104, -105, -107, -108, -110, -111, -113, -114, -117, -118, -120, -121, -124, -125, -128, -129, -132, -133, -137, -138, -141, -142, -146, -147, -151, -152, -156, -157, -161, -162, -166, -167, -172, -173, -178, -179, -183, -184, -190, -191, -196, -197, -202, -203, -209, -210, -216, -217, -223, -224, -230, -231, -237, -238, -245, -246, -253, -254, -261, -262, -269, -270, -277, -278, -286, -287, -294, -295, -303, -304, -312, -313, -321, -322, -331, -332, -340, -341, -350, -351, -360, -361, -370, -371, -380, -381, -390, -391, -401, -402, -412, -413, -423, -424, -434, -435, -445, -446, -457, -458, -469, -470, -480, -481, -493, -494, -505, -506, -517, -518, -530, -531, -543, -544, -556, -557, -569, -570, -582, -583, -596, -597, -609, -610, -623, -624, -637, -638, -651, -652, -666, -667, -680, -681, -695, -696, -710, -711, -725, -726, -740, -741, -756, -757, -772, -773, -787, -788, -803, -804, -820, -821, -836, -837, -853, -854, -869, -870, -886, -887, -903, -904, -921, -922, -938, -939, -956, -957, -974, -975, -992, -993, -1010, -1011, -1028, -1029, -1047, -1048, -1065, -1066, -1084, -1085, -1103, -1104, -1123, -1124, -1142, -1143, -1162, -1163, -1181, -1182, -1201, -1202, -1222, -1223, -1242, -1243, -1262, -1263, -1283, -1284, -1304, -1305, -1325, -1326, -1346, -1347, -1368, -1369, -1389, -1390, -1411, -1412, -1433, -1434, -1455, -1456, -1477, -1478, -1500, -1501, -1523, -1524, -1546, -1547, -1569, -1570, -1592, -1593, -1615, -1616, -1639, -1640, -1663, -1664, -1686, -1687, -1711, -1712, -1735, -1736, -1759, -1760, -1784, -1785, -1809, -1810, -1834, -1835, -1859, -1860, -1884, -1885, -1910, -1911, -1936, -1937, -1962, -1963, -1988, -1989, -2014, -2015, -2041, -2042, -2067, -2068, -2094, -2095, -2121, -2122, -2148, -2149, -2176, -2177, -2203, -2204, -2231, -2232, -2259, -2260, -2287, -2288, -2315, -2316, -2343, -2344, -2372, -2373, -2401, -2402, -2430, -2431, -2459, -2460, -2488, -2489, -2518, -2519, -2548, -2549, -2577, -2578, -2608, -2609, -2638, -2639, -2668, -2669, -2699, -2700, -2730, -2731, -2761, -2762, -2792, -2793, -2823, -2824, -2855, -2856, -2886, -2887, -2918, -2919, -2950, -2951, -2982, -2983, -3015, -3016, -3047, -3048, -3080, -3081, -3113, -3114, -3146, -3147, -3179, -3180, -3213, -3214, -3247, -3248, -3280, -3281, -3314, -3315, -3349, -3350, -3383, -3384, -3418, -3419, -3452, -3453, -3487, -3488, -3522, -3523, -3558, -3559, -3593, -3594, -3629, -3630, -3665, -3666, -3701, -3702, -3737, -3738, -3773, -3774, -3810, -3811, -3846, -3847, -3883, -3884, -3920, -3921, -3958, -3959, -3995, -3996, -4033, -4034, -4070, -4071, -4108, -4109, -4147, -4148, -4185, -4186, -4223, -4224, -4262, -4263, -4301, -4302, -4340, -4341, -4379, -4380, -4419, -4420, -4458, -4459, -4498, -4499, -4538, -4539, -4578, -4579, -4619, -4620, -4659, -4660, -4700, -4701, -4741, -4742, -4782, -4783, -4823, -4824, -4864, -4865, -4906, -4907, -4948, -4949, -4989, -4990, -5032, -5033, -5074, -5075, -5116, -5117, -5159, -5160, -5202, -5203, -5245, -5246, -5288, -5289, -5331, -5332, -5375, -5376, -5419, -5420, -5463, -5464, -5507, -5508, -5551, -5552, -5596, -5597, -5640, -5641, -5685, -5686, -5730, -5731, -5775, -5776, -5821, -5822, -5866, -5867, -5912, -5913, -5958, -5959, -6004, -6005, -6050, -6051, -6096, -6097, -6143, -6144, -6190, -6191, -6237, -6238, -6284, -6285, -6331, -6332, -6379, -6380, -6427, -6428, -6474, -6475, -6523, -6524, -6571, -6572, -6619, -6620, -6668, -6669, -6717, -6718, -6766, -6767, -6815, -6816, -6864, -6865, -6914, -6915, -6963, -6964, -7013, -7014, -7063, -7064, -7113, -7114, -7164, -7165, -7214, -7215, -7265, -7266, -7316, -7317, -7367, -7368, -7418, -7419, -7470, -7471, -7522, -7523, -7573, -7574, -7625, -7626, -7678, -7679, -7730, -7731]; + var ceilingJBout = 0; + var JB = [0, walkJBout, jumpJBout, ctapJBout, cjumpJBout, cwalkJBout, ceilingJBout]; + + + if (walkJB.includes(t) == true){ + console.log("walkJB: " + walkJB.includes(t)); + JB[0] = 1; + JB[1] = 1; + } + if (jumpJB.includes(t) == true){ + console.log("jumpJB: " + jumpJB.includes(t)); + JB[0] = 1; + JB[2] = 1; + } + if (ctapJB.includes(t) == true){ + console.log("ctapJB: " + ctapJB.includes(t)); + JB[0] = 1; + JB[3] = 1; + } + if (cjumpJB.includes(t) == true){ + console.log("cjumpJB: " + cjumpJB.includes(t)); + JB[0] = 1; + JB[4] = 1; + } + if (cwalkJB.includes(t) == true){ + console.log("cwalkJB: " + cwalkJB.includes(t)); + JB[0] = 1; + JB[5] = 1; + } + if (ceilingJB.includes(t) == true){ + console.log("ceilingJB: " + ceilingJB.includes(t)); + JB[0] = 1; + JB[6] = 1; + } + + return JB; + } + + function calculateVel(t, e, o) + { + var SCALE; + var HEIGHT; + var VIEW; + var U; + var R; + var RADIUS; + // Use some complexe formula made by ILDPRUT + + if (o == "UNCROUCHED") { + SCALE = 1; // 1 if standing UNCROUCHED and 82/55 if crouching CROUCHED + HEIGHT = 82; // 82 if standing UNCROUCHED and 62 if crouching CROUCHED + VIEW = 68; // 68 if standing UNCROUCHED and 45 if crouching CROUCHED + U = -3; // -3 if standing UNCROUCHED and 8 if crouching CROUCHED + } + else if (o == "CROUCHED") { + SCALE = 82/55; // 1 if standing UNCROUCHED and 82/55 if crouching CROUCHED + HEIGHT = 62; // 82 if standing UNCROUCHED and 62 if crouching CROUCHED + VIEW = 45; // 68 if standing UNCROUCHED and 45 if crouching CROUCHED + U = 8; // -3 if standing UNCROUCHED and 8 if crouching CROUCHED + }; + if (e == "STOCK") { + R = 12; // 12 if Stock 0 if Original 8 if Mangler + } + else if (e == "ORIGINAL") { + R = 0; // 12 if Stock 0 if Original 8 if Mangler + } + else if (e == "COWMANGLER" || e == "COWMANGLERCHARGED") { + R = 8; // 12 if Stock 0 if Original 8 if Mangler + }; + if (e == "STOCK" || e == "ORIGINAL" || e == "COWMANGLER") { + RADIUS = 121; // 121 if not charged and 160.9299926757812 if charged + } else if (e == "COWMANGLERCHARGED") { + RADIUS = 160.9299926757812; // 121 if not charged and 160.9299926757812 if charged + } + + var L2 = 1 / Math.pow( (2*U*Math.cos(t*Math.PI/180)+3953*Math.sin(t*Math.PI/180)) , 2 ) + * ( + Math.pow( (3953*VIEW+4000*U*Math.cos(t*Math.PI/180)) , 2 ) + + Math.pow( (-2*R*(VIEW-2000*Math.sin(t*Math.PI/180))) , 2 ) + + Math.pow( (-2*U*(VIEW-2000*Math.sin(t*Math.PI/180))) , 2 ) + ) + - Math.pow( VIEW , 2 ); + + var a = ( 900*SCALE * ( 1 - ( Math.sqrt(L2+1)/(2*RADIUS) ) ) * ( (HEIGHT/2)+9 ) + ) / ( + Math.sqrt( Math.pow(HEIGHT , 2)+4*L2+36*HEIGHT+324 ) + ); + return a; + } + + function findSpecialBounce(t,e,o){ + "undefined"==typeof o&&(o="UNCROUCHED"); + var a=bounceSpecialVel[e].vel,c=a-12,r=(a+c)/2/tickRate; + return-1===e.indexOf("uncrouch")&&(r-=20), + checkBounce(r,t,c,o)}var tickRate=66.666666, + bounceSpecialVel={ + stock_uncrouch_stand:{RL_type:"stock",text:"(Stock) Uncrouch Stand",vel:416.319183}, + stock_uncrouch_walk_right:{RL_type:"stock",text:"(Stock) Uncrouch Walk Right",vel:445.528625}, + stock_uncrouch_walk_left:{RL_type:"stock",text:"(Stock) Uncrouch Walk Left",vel:371.735992}, + stock_uncrouch_walk_forward:{RL_type:"stock",text:"(Stock) Uncrouch Walk Forward",vel:395.333892}, + stock_uncrouch_walk_backward:{RL_type:"stock",text:"(Stock) Uncrouch Walk Backward",vel:407.484252}, + stock_crouch_stand:{RL_type:"stock",text:"(Stock) Crouch Stand",vel:591.278747}, + stock_crouch_walk_right:{RL_type:"stock",text:"(Stock) Crouch Walk Right",vel:604.68103}, + stock_crouch_walk_left:{RL_type:"stock",text:"(Stock) Crouch Walk Left",vel:576.230651}, + stock_crouch_walk_forward:{RL_type:"stock",text:"(Stock) Crouch Walk Forward",vel:600.576049}, + stock_crouch_walk_backward:{RL_type:"stock",text:"(Stock) Crouch Walk Backward",vel:579.762084}, + original_uncrouch_stand:{RL_type:"original",text:"(Original) Uncrouch Stand",vel:445.98703}, + original_uncrouch_walk_leftright:{RL_type:"original",text:"(Original) Uncrouch Walk Left/Right",vel:419.643127}, + original_uncrouch_walk_forward:{RL_type:"original",text:"(Original) Uncrouch Walk Forward",vel:413.77008}, + original_uncrouch_walk_backward:{RL_type:"original",text:"(Original) Uncrouch Walk Backward",vel:429.626434}, + original_crouch_stand:{RL_type:"original",text:"(Original) Crouch Stand",vel:631.862487}, + original_crouch_walk_leftright:{RL_type:"original",text:"(Original) Crouch Walk Left/Right",vel:629.907165}, + original_crouch_walk_forward:{RL_type:"original",text:"(Original) Crouch Walk Forward",vel:645.274536}, + original_crouch_walk_backward:{RL_type:"original",text:"(Original) Crouch Walk Backward",vel:616.711364}, + stock_uncrouch_forwardright:{RL_type:"stock",text:"(Stock) Uncrouch Forward&Right",vel:422.054656,note:"[Unreliable]"}, + stock_uncrouch_forwardleft:{RL_type:"stock",text:"(Stock) Uncrouch Forward&Left",vel:376.538848,note:"[Unreliable]"}, + stock_uncrouch_backwardright:{RL_type:"stock",text:"(Stock) Uncrouch Backward&Right",vel:432.042541,note:"[Unreliable]"}, + stock_crouch_forwardright:{RL_type:"stock",text:"(Stock) Crouch Forward&Right",vel:608.236206,note:"[Unreliable]"}, + stock_crouch_backwardleft:{RL_type:"stock",text:"(Stock) Crouch Backward&Right",vel:592.538208,note:"[Unreliable]"}, + cowmangler_uncrouch_stand:{RL_type:"cowmangler",text:"(Cow Mangler) Uncrouch Stand",vel:429.504699}, + cowmangler_uncrouch_walk_right:{RL_type:"cowmangler",text:"(Cow Mangler) Uncrouch Walk Right",vel:442.26007}, + cowmangler_uncrouch_walk_left:{RL_type:"cowmangler",text:"(Cow Mangler) Uncrouch Walk Left",vel:388.864471}, + cowmangler_uncrouch_walk_forward:{RL_type:"cowmangler",text:"(Cow Mangler) Uncrouch Walk Forward",vel:405.110443}, + cowmangler_uncrouch_walk_backward:{RL_type:"cowmangler",text:"(Cow Mangler) Uncrouch Walk Backward",vel:418.827087}, + cowmangler_crouch_stand:{RL_type:"cowmangler",text:"(Cow Mangler) Crouch Stand",vel:612.282043}, + cowmangler_crouch_walk_right:{RL_type:"cowmangler",text:"(Cow Mangler) Crouch Walk Right",vel:621.940307}, + cowmangler_crouch_walk_left:{RL_type:"cowmangler",text:"(Cow Mangler) Crouch Walk Left",vel:600.181823}, + cowmangler_crouch_walk_forward:{RL_type:"cowmangler",text:"(Cow Mangler) Crouch Walk Forward",vel:623.124084}, + cowmangler_crouch_walk_backward:{RL_type:"cowmangler",text:"(Cow Mangler) Crouch Walk Backward",vel:599.182861}, + cowmanglercharged_uncrouch_stand:{RL_type:"cowmanglercharged",text:"(Cow Mangler Charged) Uncrouch Stand",vel:433.183135}, + cowmanglercharged_uncrouch_walk_right:{RL_type:"cowmanglercharged",text:"(Cow Mangler Charged) Uncrouch Walk Right",vel:445.937408}, + cowmanglercharged_uncrouch_walk_left:{RL_type:"cowmanglercharged",text:"(Cow Mangler Charged) Uncrouch Walk Left",vel:413.827667}, + cowmanglercharged_uncrouch_walk_forward:{RL_type:"cowmanglercharged",text:"(Cow Mangler Charged) Uncrouch Walk Forward",vel:423.834197}, + cowmanglercharged_uncrouch_walk_backward:{RL_type:"cowmanglercharged",text:"(Cow Mangler Charged) Uncrouch Walk Backward",vel:430.357788}, + cowmanglercharged_crouch_stand:{RL_type:"cowmanglercharged",text:"(Cow Mangler Charged) Crouch Stand",vel:620.068969}, + cowmanglercharged_crouch_walk_right:{RL_type:"cowmanglercharged",text:"(Cow Mangler Charged) Crouch Walk Right",vel:624.288513}, + cowmanglercharged_crouch_walk_left:{RL_type:"cowmanglercharged",text:"(Cow Mangler Charged) Crouch Walk Left",vel:615.393249}, + cowmanglercharged_crouch_walk_forward:{RL_type:"cowmanglercharged",text:"(Cow Mangler Charged) Crouch Walk Forward",vel:624.745910}, + cowmanglercharged_crouch_walk_backward:{RL_type:"cowmanglercharged",text:"(Cow Mangler Charged) Crouch Walk Backward",vel:614.966674 } + }; + function m(){var e=document.getElementById("txt_height").value,n=document.getElementById("txt_nearestAngle").value; + if(document.getElementById("bounceInfo").innerHTML="",document.getElementById("bounceResults").innerHTML="",document.getElementById("bounceTips").innerHTML="",document.getElementById("divID_specialBounce").innerHTML="",document.getElementById("divID_biggestDiffTitleDesc").innerHTML="",document.getElementById("divID_biggestDiff").innerHTML="",document.getElementById("divID_jbBounce").innerHTML="",document.getElementById("hrID_midway_2").style.display="none",document.getElementById("hrID_midway_1").style.display="none",document.getElementById("hrID_midway_0").style.display="none",document.getElementById("divID_specialTitle").style.display="none",document.getElementById("divID_biggestDiffTitle").style.display="none",document.getElementById("divID_jbTitle").style.display="none",isNaN(e))return document.getElementById("bounceInfo").innerHTML="Enter a height > 1",0;if(e>999999)return document.getElementById("bounceInfo").innerHTML="Silly..",0;if(1>e)return document.getElementById("bounceInfo").innerHTML="Enter a height > 1",0;var t=0-e;if(document.getElementById("chk_angleCheck").checked){if(""===n&&(n=60),isNaN(n))return document.getElementById("bounceInfo").innerHTML="Nearest angle needs to be a number",0;if(45>n||n>89)return document.getElementById("bounceInfo").innerHTML="Nearest angle should be 45 < x < 89",0; + + + + + + if(n=parseFloat(n),document.getElementById("rad_stock").checked){ + if(document.getElementById("rad_startUn").checked){ + if(document.getElementById("rad_landUn").checked){ + var c=calculateAngle(t,n,"STOCK","UNCROUCHED","UNCROUCHED"); + if(0==c[0])document.getElementById("bounceResults").innerHTML="

No bounce found

"; + else{ + var d=Math.round(1e3*(c[0]+resultsOffset))/1e3,u=Math.round(1e3*(c[0]+c[1]))/1e3; + document.getElementById("bounceResults").innerHTML="

"+d+" to "+u+"

", + document.getElementById("bounceTips").innerHTML="(Stock) Start uncrouched -> Land uncrouched" + } + }else if(document.getElementById("rad_landC").checked){ + var c=calculateAngle(t,n,"STOCK","UNCROUCHED","CROUCHED"); + if(0==c[0])document.getElementById("bounceResults").innerHTML="

No bounce found

"; + else{ + var d=Math.round(1e3*(c[0]+resultsOffset))/1e3,u=Math.round(1e3*(c[0]+c[1]))/1e3; + document.getElementById("bounceResults").innerHTML="

"+d+" to "+u+"

", + document.getElementById("bounceTips").innerHTML="(Stock) Start uncrouched -> Land crouched" + } + } + }else if(document.getElementById("rad_startC").checked)if(document.getElementById("rad_landUn").checked){ + var c=calculateAngle(t,n,"STOCK","CROUCHED","UNCROUCHED"); + if(0==c[0])document.getElementById("bounceResults").innerHTML="

No bounce found

"; + else{ + var d=Math.round(1e3*(c[0]+resultsOffset))/1e3,u=Math.round(1e3*(c[0]+c[1]))/1e3; + document.getElementById("bounceResults").innerHTML="

"+d+" to "+u+"

", + document.getElementById("bounceTips").innerHTML="(Stock) Start crouched -> Land uncrouched" + } + }else if(document.getElementById("rad_landC").checked){ + var c=calculateAngle(t,n,"STOCK","CROUCHED","CROUCHED"); + if(0==c[0])document.getElementById("bounceResults").innerHTML="

No bounce found

"; + else{ + var d=Math.round(1e3*(c[0]+resultsOffset))/1e3,u=Math.round(1e3*(c[0]+c[1]))/1e3; + document.getElementById("bounceResults").innerHTML="

"+d+" to "+u+"

", + document.getElementById("bounceTips").innerHTML="(Stock) Start crouched -> Land crouched" + } + } + }else if(document.getElementById("rad_original").checked){ + if(document.getElementById("rad_startUn").checked){ + if(document.getElementById("rad_landUn").checked){ + var c=calculateAngle(t,n,"ORIGINAL","UNCROUCHED","UNCROUCHED"); + if(0==c[0])document.getElementById("bounceResults").innerHTML="

No bounce found

"; + else{ + var d=Math.round(1e3*(c[0]+resultsOffset))/1e3,u=Math.round(1e3*(c[0]+c[1]))/1e3; + document.getElementById("bounceResults").innerHTML="

"+d+" to "+u+"

", + document.getElementById("bounceTips").innerHTML="(Original) Start uncrouched -> Land uncrouched" + } + }else if(document.getElementById("rad_landC").checked){ + var c=calculateAngle(t,n,"ORIGINAL","UNCROUCHED","CROUCHED"); + if(0==c[0])document.getElementById("bounceResults").innerHTML="

No bounce found

"; + else{ + var d=Math.round(1e3*(c[0]+resultsOffset))/1e3,u=Math.round(1e3*(c[0]+c[1]))/1e3; + document.getElementById("bounceResults").innerHTML="

"+d+" to "+u+"

", + document.getElementById("bounceTips").innerHTML="(Original) Start uncrouched -> Land crouched" + } + } + }else if(document.getElementById("rad_startC").checked){ + if(document.getElementById("rad_landUn").checked){ + var c=calculateAngle(t,n,"ORIGINAL","CROUCHED","UNCROUCHED"); + if(0==c[0])document.getElementById("bounceResults").innerHTML="

No bounce found

"; + else{ + var d=Math.round(1e3*(c[0]+resultsOffset))/1e3,u=Math.round(1e3*(c[0]+c[1]))/1e3; + document.getElementById("bounceResults").innerHTML="

"+d+" to "+u+"

", + document.getElementById("bounceTips").innerHTML="(Original) Start crouched -> Land uncrouched" + } + }else if(document.getElementById("rad_landC").checked){ + var c=calculateAngle(t,n,"ORIGINAL","CROUCHED","CROUCHED"); + if(0==c[0])document.getElementById("bounceResults").innerHTML="

No bounce found

"; + else{ + var d=Math.round(1e3*(c[0]+resultsOffset))/1e3,u=Math.round(1e3*(c[0]+c[1]))/1e3; + document.getElementById("bounceResults").innerHTML="

"+d+" to "+u+"

", + document.getElementById("bounceTips").innerHTML="(Original) Start crouched -> Land crouched" + } + } + } + }else if(document.getElementById("rad_cowmangler").checked){ + if(document.getElementById("rad_startUn").checked){ + if(document.getElementById("rad_landUn").checked){ + var c=calculateAngle(t,n,"COWMANGLER","UNCROUCHED","UNCROUCHED"); + if(0==c[0]) + document.getElementById("bounceResults").innerHTML="

No bounce found

"; + else{ + var d=Math.round(1e3*(c[0]+resultsOffset))/1e3,u=Math.round(1e3*(c[0]+c[1]))/1e3; + document.getElementById("bounceResults").innerHTML="

"+d+" to "+u+"

", + document.getElementById("bounceTips").innerHTML="(Cow Mangler) Start uncrouched -> Land uncrouched" + } + } + else if(document.getElementById("rad_landC").checked){ + var c=calculateAngle(t,n,"COWMANGLER","UNCROUCHED","CROUCHED"); + if(0==c[0]) + document.getElementById("bounceResults").innerHTML="

No bounce found

"; + else{ + var d=Math.round(1e3*(c[0]+resultsOffset))/1e3,u=Math.round(1e3*(c[0]+c[1]))/1e3; + document.getElementById("bounceResults").innerHTML="

"+d+" to "+u+"

", + document.getElementById("bounceTips").innerHTML="(Cow Mangler) Start uncrouched -> Land crouched" + } + } + } + else if(document.getElementById("rad_startC").checked){ + if(document.getElementById("rad_landUn").checked){ + var c=calculateAngle(t,n,"COWMANGLER","CROUCHED","UNCROUCHED"); + if(0==c[0]) + document.getElementById("bounceResults").innerHTML="

No bounce found

"; + else{ + var d=Math.round(1e3*(c[0]+resultsOffset))/1e3,u=Math.round(1e3*(c[0]+c[1]))/1e3; + document.getElementById("bounceResults").innerHTML="

"+d+" to "+u+"

", + document.getElementById("bounceTips").innerHTML="(Cow Mangler) Start crouched -> Land uncrouched" + } + } + else if(document.getElementById("rad_landC").checked){ + var c=calculateAngle(t,n,"COWMANGLER","CROUCHED","CROUCHED"); + if(0==c[0]) + document.getElementById("bounceResults").innerHTML="

No bounce found

"; + else{ + var d=Math.round(1e3*(c[0]+resultsOffset))/1e3,u=Math.round(1e3*(c[0]+c[1]))/1e3; + document.getElementById("bounceResults").innerHTML="

"+d+" to "+u+"

", + document.getElementById("bounceTips").innerHTML="(Cow Mangler) Start crouched -> Land crouched" + } + } + } + } + else if(document.getElementById("rad_cowmanglercharged").checked){ + if(document.getElementById("rad_startUn").checked){ + if(document.getElementById("rad_landUn").checked){ + var c=calculateAngle(t,n,"COWMANGLERCHARGED","UNCROUCHED","UNCROUCHED"); + if(0==c[0]) + document.getElementById("bounceResults").innerHTML="

No bounce found

"; + else{ + var d=Math.round(1e3*(c[0]+resultsOffset))/1e3,u=Math.round(1e3*(c[0]+c[1]))/1e3; + document.getElementById("bounceResults").innerHTML="

"+d+" to "+u+"

", + document.getElementById("bounceTips").innerHTML="(Cow Mangler Charged) Start uncrouched -> Land uncrouched" + } + } + else if(document.getElementById("rad_landC").checked){ + var c=calculateAngle(t,n,"COWMANGLERCHARGED","UNCROUCHED","CROUCHED"); + if(0==c[0]) + document.getElementById("bounceResults").innerHTML="

No bounce found

"; + else{ + var d=Math.round(1e3*(c[0]+resultsOffset))/1e3,u=Math.round(1e3*(c[0]+c[1]))/1e3; + document.getElementById("bounceResults").innerHTML="

"+d+" to "+u+"

", + document.getElementById("bounceTips").innerHTML="(Cow Mangler Charged) Start uncrouched -> Land crouched" + } + } + } + else if(document.getElementById("rad_startC").checked){ + if(document.getElementById("rad_landUn").checked){ + var c=calculateAngle(t,n,"COWMANGLERCHARGED","CROUCHED","UNCROUCHED"); + if(0==c[0]) + document.getElementById("bounceResults").innerHTML="

No bounce found

"; + else{ + var d=Math.round(1e3*(c[0]+resultsOffset))/1e3,u=Math.round(1e3*(c[0]+c[1]))/1e3; + document.getElementById("bounceResults").innerHTML="

"+d+" to "+u+"

", + document.getElementById("bounceTips").innerHTML="(Cow Mangler Charged) Start crouched -> Land uncrouched" + } + } + else if(document.getElementById("rad_landC").checked){ + var c=calculateAngle(t,n,"COWMANGLERCHARGED","CROUCHED","CROUCHED"); + if(0==c[0]) + document.getElementById("bounceResults").innerHTML="

No bounce found

"; + else{ + var d=Math.round(1e3*(c[0]+resultsOffset))/1e3,u=Math.round(1e3*(c[0]+c[1]))/1e3; + document.getElementById("bounceResults").innerHTML="

"+d+" to "+u+"

", + document.getElementById("bounceTips").innerHTML="(Cow Mangler Charged) Start crouched -> Land crouched" + } + } + } + } + } + if(document.getElementById("chk_specialCheck").checked && document.getElementById("chk_jbCheck").checked) { + document.getElementById("hrID_midway_2").style.display = "block"; + } + if(document.getElementById("chk_biggestDiff").checked && document.getElementById("chk_specialCheck").checked || document.getElementById("chk_biggestDiff").checked && document.getElementById("chk_jbCheck").checked) { + document.getElementById("hrID_midway_1").style.display = "block"; + } + if(document.getElementById("chk_angleCheck").checked && document.getElementById("chk_biggestDiff").checked || document.getElementById("chk_angleCheck").checked && document.getElementById("chk_specialCheck").checked || document.getElementById("chk_angleCheck").checked && document.getElementById("chk_jbCheck").checked) { + document.getElementById("hrID_midway_0").style.display = "block"; + } + + + if(document.getElementById("chk_specialCheck").checked){ + document.getElementById("divID_specialTitle").style.display="block"; + + var o=0,l=""; + if(document.getElementById("rad_stock").checked)var r="stock"; + else if(document.getElementById("rad_original").checked)var r="original"; + else if(document.getElementById("rad_cowmangler").checked)var r="cowmangler"; + else if(document.getElementById("rad_cowmanglercharged").checked)var r="cowmanglercharged"; + for(var a in bounceSpecialVel)bounceSpecialVel.hasOwnProperty(a)&&(findSpecialBounce(t,a,"UNCROUCHED")?bounceSpecialVel[a].RL_type==r&&(l+=bounceSpecialVel[a].text+" -> Land Uncrouched ","undefined"!=typeof bounceSpecialVel[a].note&&(l+=bounceSpecialVel[a].note),l+="
\n",o=1):findSpecialBounce(t,a,"CROUCHED")&&bounceSpecialVel[a].RL_type==r&&(l+=bounceSpecialVel[a].text+" -> Land Crouched ","undefined"!=typeof bounceSpecialVel[a].note&&(l+=bounceSpecialVel[a].note),l+="
\n",o=1));o?document.getElementById("divID_specialBounce").innerHTML=l:document.getElementById("divID_specialBounce").innerHTML="No special start found."} + + //Deal with biggest differnece angle + if (document.getElementById("chk_biggestDiff").checked) { + //Enable Display + document.getElementById("divID_biggestDiffTitle").style.display = "block"; + document.getElementById("divID_biggestDiffTitleDesc").style.display = "block"; + + // Calculate results + // Stock + if (document.getElementById("rad_stock").checked) { + if (document.getElementById("rad_startUn").checked) { + if (document.getElementById("rad_landUn").checked) { + + var r_ = calculateOptimalAngle(t, "STOCK", "UNCROUCHED", "UNCROUCHED"); + if (r_[0] == 0) { + document.getElementById("bounceResults").innerHTML = "

No bounce found

"; + } else { + var ba1 = r_[0]; + var ba2 = r_[1]; + + if (ba2 > 89.0){ + ba2 = 89.0; + } + + document.getElementById("divID_biggestDiff").innerHTML = "

" + (ba1) + " to " + (ba2) + "

"; + document.getElementById("divID_biggestDiffTitleDesc").innerHTML = "(Stock) Start uncrouched -> Land uncrouched"; + } + } + else if (document.getElementById("rad_landC").checked) { + + var r_ = calculateOptimalAngle(t, "STOCK", "UNCROUCHED", "CROUCHED"); + if (r_[0] == 0) { + document.getElementById("bounceResults").innerHTML = "

No bounce found

"; + } else { + var ba1 = r_[0]; + var ba2 = r_[1]; + + if (ba2 > 89.0){ + ba2 = 89.0; + } + + document.getElementById("divID_biggestDiff").innerHTML = "

" + (ba1) + " to " + (ba2) + "

"; + document.getElementById("divID_biggestDiffTitleDesc").innerHTML = "(Stock) Start uncrouched -> Land crouched"; + } + } + } + else if (document.getElementById("rad_startC").checked) { + if (document.getElementById("rad_landUn").checked) { + + var r_ = calculateOptimalAngle(t, "STOCK", "CROUCHED", "UNCROUCHED"); + if (r_[0] == 0) { + document.getElementById("bounceResults").innerHTML = "

No bounce found

"; + } else { + var ba1 = r_[0]; + var ba2 = r_[1]; + + if (ba2 > 89.0){ + ba2 = 89.0; + } + + document.getElementById("divID_biggestDiff").innerHTML = "

" + (ba1) + " to " + (ba2) + "

"; + document.getElementById("divID_biggestDiffTitleDesc").innerHTML = "(Stock) Start crouched -> Land uncrouched"; + } + } + else if (document.getElementById("rad_landC").checked) { + + var r_ = calculateOptimalAngle(t, "STOCK", "CROUCHED", "CROUCHED"); + if (r_[0] == 0) { + document.getElementById("bounceResults").innerHTML = "

No bounce found

"; + } else { + var ba1 = r_[0]; + var ba2 = r_[1]; + + if (ba2 > 89.0){ + ba2 = 89.0; + } + + document.getElementById("divID_biggestDiff").innerHTML = "

" + (ba1) + " to " + (ba2) + "

"; + document.getElementById("divID_biggestDiffTitleDesc").innerHTML = "(Stock) Start crouched -> Land crouched"; + } + } + } + } + // Original + else if (document.getElementById("rad_original").checked) { + if (document.getElementById("rad_startUn").checked) { + if (document.getElementById("rad_landUn").checked) { + + var r_ = calculateOptimalAngle(t, "ORIGINAL", "UNCROUCHED", "UNCROUCHED"); + if (r_[0] == 0) { + document.getElementById("bounceResults").innerHTML = "

No bounce found

"; + } else { + var ba1 = r_[0]; + var ba2 = r_[1]; + + if (ba2 > 89.0){ + ba2 = 89.0; + } + + document.getElementById("divID_biggestDiff").innerHTML = "

" + (ba1) + " to " + (ba2) + "

"; + document.getElementById("divID_biggestDiffTitleDesc").innerHTML = "(Original) Start uncrouched -> Land uncrouched"; + } + } + else if (document.getElementById("rad_landC").checked) { + + var r_ = calculateOptimalAngle(t, "ORIGINAL", "UNCROUCHED", "CROUCHED"); + if (r_[0] == 0) { + document.getElementById("bounceResults").innerHTML = "

No bounce found

"; + } else { + var ba1 = r_[0]; + var ba2 = r_[1]; + + if (ba2 > 89.0){ + ba2 = 89.0; + } + + document.getElementById("divID_biggestDiff").innerHTML = "

" + (ba1) + " to " + (ba2) + "

"; + document.getElementById("divID_biggestDiffTitleDesc").innerHTML = "(Original) Start uncrouched -> Land crouched"; + } + } + } + else if (document.getElementById("rad_startC").checked) { + if (document.getElementById("rad_landUn").checked) { + + var r_ = calculateOptimalAngle(t, "ORIGINAL", "CROUCHED", "UNCROUCHED"); + if (r_[0] == 0) { + document.getElementById("bounceResults").innerHTML = "

No bounce found

"; + } else { + var ba1 = r_[0]; + var ba2 = r_[1]; + + if (ba2 > 89.0){ + ba2 = 89.0; + } + + document.getElementById("divID_biggestDiff").innerHTML = "

" + (ba1) + " to " + (ba2) + "

"; + document.getElementById("divID_biggestDiffTitleDesc").innerHTML = "(Original) Start crouched -> Land uncrouched"; + } + } + else if (document.getElementById("rad_landC").checked) { + + var r_ = calculateOptimalAngle(t, "ORIGINAL", "CROUCHED", "CROUCHED"); + if (r_[0] == 0) { + document.getElementById("bounceResults").innerHTML = "

No bounce found

"; + } else { + var ba1 = r_[0]; + var ba2 = r_[1]; + + if (ba2 > 89.0){ + ba2 = 89.0; + } + + document.getElementById("divID_biggestDiff").innerHTML = "

" + (ba1) + " to " + (ba2) + "

"; + document.getElementById("divID_biggestDiffTitleDesc").innerHTML = "(Original) Start crouched -> Land crouched"; + } + } + } + } + // Cowmangler + else if (document.getElementById("rad_cowmangler").checked) { + if (document.getElementById("rad_startUn").checked) { + if (document.getElementById("rad_landUn").checked) { + + var r_ = calculateOptimalAngle(t, "COWMANGLER", "UNCROUCHED", "UNCROUCHED"); + if (r_[0] == 0) { + document.getElementById("bounceResults").innerHTML = "

No bounce found

"; + } else { + var ba1 = r_[0]; + var ba2 = r_[1]; + + if (ba2 > 89.0){ + ba2 = 89.0; + } + + document.getElementById("divID_biggestDiff").innerHTML = "

" + (ba1) + " to " + (ba2) + "

"; + document.getElementById("divID_biggestDiffTitleDesc").innerHTML = "(Cowmangler) Start uncrouched -> Land uncrouched"; + } + } + else if (document.getElementById("rad_landC").checked) { + + var r_ = calculateOptimalAngle(t, "COWMANGLER", "UNCROUCHED", "CROUCHED"); + if (r_[0] == 0) { + document.getElementById("bounceResults").innerHTML = "

No bounce found

"; + } else { + var ba1 = r_[0]; + var ba2 = r_[1]; + + if (ba2 > 89.0){ + ba2 = 89.0; + } + + document.getElementById("divID_biggestDiff").innerHTML = "

" + (ba1) + " to " + (ba2) + "

"; + document.getElementById("divID_biggestDiffTitleDesc").innerHTML = "(Cowmangler) Start uncrouched -> Land crouched"; + } + } + } + else if (document.getElementById("rad_startC").checked) { + if (document.getElementById("rad_landUn").checked) { + + var r_ = calculateOptimalAngle(t, "COWMANGLER", "CROUCHED", "UNCROUCHED"); + if (r_[0] == 0) { + document.getElementById("bounceResults").innerHTML = "

No bounce found

"; + } else { + var ba1 = r_[0]; + var ba2 = r_[1]; + + if (ba2 > 89.0){ + ba2 = 89.0; + } + + document.getElementById("divID_biggestDiff").innerHTML = "

" + (ba1) + " to " + (ba2) + "

"; + document.getElementById("divID_biggestDiffTitleDesc").innerHTML = "(Cowmangler) Start crouched -> Land uncrouched"; + } + } + else if (document.getElementById("rad_landC").checked) { + + var r_ = calculateOptimalAngle(t, "COWMANGLER", "CROUCHED", "CROUCHED"); + if (r_[0] == 0) { + document.getElementById("bounceResults").innerHTML = "

No bounce found

"; + } else { + var ba1 = r_[0]; + var ba2 = r_[1]; + + if (ba2 > 89.0){ + ba2 = 89.0; + } + + document.getElementById("divID_biggestDiff").innerHTML = "

" + (ba1) + " to " + (ba2) + "

"; + document.getElementById("divID_biggestDiffTitleDesc").innerHTML = "(Cowmangler) Start crouched -> Land crouched"; + } + } + } + } + // Cowmangler Charged + else if (document.getElementById("rad_cowmanglercharged").checked) { + if (document.getElementById("rad_startUn").checked) { + if (document.getElementById("rad_landUn").checked) { + + var r_ = calculateOptimalAngle(t, "COWMANGLERCHARGED", "UNCROUCHED", "UNCROUCHED"); + if (r_[0] == 0) { + document.getElementById("bounceResults").innerHTML = "

No bounce found

"; + } else { + var ba1 = r_[0]; + var ba2 = r_[1]; + + if (ba2 > 89.0){ + ba2 = 89.0; + } + + document.getElementById("divID_biggestDiff").innerHTML = "

" + (ba1) + " to " + (ba2) + "

"; + document.getElementById("divID_biggestDiffTitleDesc").innerHTML = "(Cowmangler Charged) Start uncrouched -> Land uncrouched"; + } + } + else if (document.getElementById("rad_landC").checked) { + + var r_ = calculateOptimalAngle(t, "COWMANGLERCHARGED", "UNCROUCHED", "CROUCHED"); + if (r_[0] == 0) { + document.getElementById("bounceResults").innerHTML = "

No bounce found

"; + } else { + var ba1 = r_[0]; + var ba2 = r_[1]; + + if (ba2 > 89.0){ + ba2 = 89.0; + } + + document.getElementById("divID_biggestDiff").innerHTML = "

" + (ba1) + " to " + (ba2) + "

"; + document.getElementById("divID_biggestDiffTitleDesc").innerHTML = "(Cowmangler Charged) Start uncrouched -> Land crouched"; + } + } + } + else if (document.getElementById("rad_startC").checked) { + if (document.getElementById("rad_landUn").checked) { + + var r_ = calculateOptimalAngle(t, "COWMANGLERCHARGED", "CROUCHED", "UNCROUCHED"); + if (r_[0] == 0) { + document.getElementById("bounceResults").innerHTML = "

No bounce found

"; + } else { + var ba1 = r_[0]; + var ba2 = r_[1]; + + if (ba2 > 89.0){ + ba2 = 89.0; + } + + document.getElementById("divID_biggestDiff").innerHTML = "

" + (ba1) + " to " + (ba2) + "

"; + document.getElementById("divID_biggestDiffTitleDesc").innerHTML = "(Cowmangler Charged) Start crouched -> Land uncrouched"; + } + } + else if (document.getElementById("rad_landC").checked) { + + var r_ = calculateOptimalAngle(t, "COWMANGLERCHARGED", "CROUCHED", "CROUCHED"); + if (r_[0] == 0) { + document.getElementById("bounceResults").innerHTML = "

No bounce found

"; + } else { + var ba1 = r_[0]; + var ba2 = r_[1]; + + if (ba2 > 89.0){ + ba2 = 89.0; + } + + document.getElementById("divID_biggestDiff").innerHTML = "

" + (ba1) + " to " + (ba2) + "

"; + document.getElementById("divID_biggestDiffTitleDesc").innerHTML = "(Cowmangler Charged) Start crouched -> Land crouched"; + } + } + } + } + + + } + //Deal with JumpBugs + if (document.getElementById("chk_jbCheck").checked) { + + // Enable Display + document.getElementById("divID_jbTitle").style.display = "block"; + + var jbFound = 0; + var jbDisplay = ""; + + var jbResult = calculateJB(t); + if (jbResult[0] == 0) { + jbFound = 0; + } else { + jbFound = 1; + var jb1 = jbResult[1]; // walkJBout + var jb2 = jbResult[2]; // jumpJBout + var jb3 = jbResult[3]; // ctapJBout + var jb4 = jbResult[4]; // cjumpJBout + var jb5 = jbResult[5]; // cwalkJBout + var jb6 = jbResult[6]; // ceilingJBout + + if (jb1) {jb1 = "Walk off jumpbug
"} else {jb1 = ""}; + if (jb2) {jb2 = "Jump off jumpbug
"} else {jb2 = ""}; + if (jb3) {jb3 = "Ctap off jumpbug
"} else {jb3 = ""}; + if (jb4) {jb4 = "Crouchjump off jumpbug
"} else {jb4 = ""}; + if (jb5) {jb5 = "Crouchwalk off jumpbug
"} else {jb5 = ""}; + if (jb6) {jb6 = "Ceiling smash off jumpbug (Make sure you entered the height from the ceiling to the ground!)
"} else {jb6 = ""}; + + jbDisplay = (jb1) + (jb2) + (jb3) + (jb4) + (jb5) + (jb6); + } + + if (jbFound) { + document.getElementById("divID_jbBounce").innerHTML = jbDisplay; + } else { + document.getElementById("divID_jbBounce").innerHTML = "No jumpbug start found."; + } + } + return 1 + } + + function toggle_chkBox(e){document.getElementById(e).checked?document.getElementById(e).checked=!1:document.getElementById(e).checked=!0}function checkEnterPress(e){return 13==e.keyCode&&m(),!1}var resultsOffset=.01; +