diff --git a/project.godot b/project.godot index f6db82c41..80f08daa2 100644 --- a/project.godot +++ b/project.godot @@ -313,6 +313,11 @@ _global_script_classes=[ { "class": "TypeShootEnemy", "language": "GDScript", "path": "res://scripts/typeshoot/TypeShootEnemy.gd" +}, { +"base": "Area2D", +"class": "Water", +"language": "GDScript", +"path": "res://scenes/platformer/environment/water/BaseWater.gd" } ] _global_script_class_icons={ "Achievement": "", @@ -375,7 +380,8 @@ _global_script_class_icons={ "TextTrigger": "", "TextUtils": "", "TrackParser": "", -"TypeShootEnemy": "" +"TypeShootEnemy": "", +"Water": "" } [application] diff --git a/scenes/levels/AdventureLand/Entrance.tscn b/scenes/levels/AdventureLand/Entrance.tscn index ccc482c08..1cf8dafd8 100644 --- a/scenes/levels/AdventureLand/Entrance.tscn +++ b/scenes/levels/AdventureLand/Entrance.tscn @@ -33,13 +33,11 @@ follow_vertically = true [node name="CameraLimits" parent="Camera" instance=ExtResource( 5 )] topLeft = Vector2( 0, -320 ) bottomRight = Vector2( 2240, 1216 ) -doLimitsReset = false [node name="CameraLimits2" parent="Camera" instance=ExtResource( 5 )] topLeft = Vector2( 1088, -1024 ) bottomRight = Vector2( 4096, 1216 ) limitID = 1 -doLimitsReset = false [node name="LimitSetArea" parent="Camera" instance=ExtResource( 9 )] position = Vector2( 1752, -184 ) @@ -202,6 +200,7 @@ bounce_count = 5 [node name="EndPortal" parent="." instance=ExtResource( 8 )] position = Vector2( 2080, -162 ) +next_level_path = "res://scenes/levels/AdventureLand/Pool.tscn" [node name="WarningSign" parent="." instance=ExtResource( 10 )] margin_left = 2560.0 diff --git a/scenes/levels/AdventureLand/Pool.tscn b/scenes/levels/AdventureLand/Pool.tscn new file mode 100644 index 000000000..74915c05d --- /dev/null +++ b/scenes/levels/AdventureLand/Pool.tscn @@ -0,0 +1,385 @@ +[gd_scene load_steps=22 format=2] + +[ext_resource path="res://scenes/levels/TileSet.tres" type="TileSet" id=1] +[ext_resource path="res://scripts/SpawnPoint.gd" type="Script" id=2] +[ext_resource path="res://scenes/CameraFollow.tscn" type="PackedScene" id=3] +[ext_resource path="res://scenes/platformer/environment/water/WaterBox.tscn" type="PackedScene" id=4] +[ext_resource path="res://scenes/EndPortal.tscn" type="PackedScene" id=5] +[ext_resource path="res://scenes/objects/CameraLimits.tscn" type="PackedScene" id=6] +[ext_resource path="res://scenes/Corncob.tscn" type="PackedScene" id=7] +[ext_resource path="res://scenes/objects/LimitSetArea.tscn" type="PackedScene" id=8] +[ext_resource path="res://scenes/Coin/Coin.tscn" type="PackedScene" id=9] +[ext_resource path="res://scenes/enemies/Starspine.tscn" type="PackedScene" id=10] +[ext_resource path="res://scenes/platformer/QueueFreeOnBigButtonPress.gd" type="Script" id=11] +[ext_resource path="res://scenes/platformer/BigButton.tscn" type="PackedScene" id=12] +[ext_resource path="res://sprites/NPCs/sir_duckington.png" type="Texture" id=13] +[ext_resource path="res://scenes/ui/TextTrigger.tscn" type="PackedScene" id=14] +[ext_resource path="res://scenes/enemies/Ombsti.tscn" type="PackedScene" id=15] +[ext_resource path="res://scenes/enemies/AngryRandallSpawner.tscn" type="PackedScene" id=16] +[ext_resource path="res://scenes/enemies/Luigi.tscn" type="PackedScene" id=17] + +[sub_resource type="RectangleShape2D" id=4] +extents = Vector2( 89, 89 ) + +[sub_resource type="RectangleShape2D" id=1] +extents = Vector2( 88, 316.25 ) + +[sub_resource type="RectangleShape2D" id=2] +extents = Vector2( 158.5, 88.5 ) + +[sub_resource type="RectangleShape2D" id=3] +extents = Vector2( 64, 161 ) + +[node name="TileMap" type="TileMap"] +tile_set = ExtResource( 1 ) +collision_layer = 2 +collision_mask = 0 +format = 1 +tile_data = PoolIntArray( -1572911, 0, 0, -1572910, 0, 0, -1572909, 0, 0, -1572908, 0, 0, -1572907, 0, 0, -1572906, 0, 0, -1572905, 0, 0, -1572904, 0, 0, -1572903, 0, 0, -1572902, 0, 0, -1572901, 0, 0, -1572900, 0, 0, -1572899, 0, 0, -1572898, 0, 0, -1572897, 0, 0, -1572896, 0, 0, -1572895, 0, 0, -1572894, 0, 0, -1572893, 0, 0, -1572892, 0, 0, -1572891, 0, 0, -1572890, 0, 0, -1572889, 0, 0, -1572888, 0, 0, -1572887, 0, 0, -1572886, 0, 0, -1572885, 0, 0, -1572884, 0, 0, -1572883, 0, 0, -1572882, 0, 0, -1507375, 0, 0, -1507374, 0, 0, -1507373, 0, 0, -1507372, 0, 0, -1507371, 0, 0, -1507370, 0, 0, -1507369, 0, 0, -1507368, 0, 0, -1507367, 0, 0, -1507366, 0, 0, -1507365, 0, 0, -1507364, 0, 0, -1507363, 0, 0, -1507362, 0, 0, -1507361, 0, 0, -1507360, 0, 0, -1507359, 0, 0, -1507358, 0, 0, -1507357, 0, 0, -1507356, 0, 0, -1507355, 0, 0, -1507354, 0, 0, -1507353, 0, 0, -1507352, 0, 0, -1507351, 0, 0, -1507350, 0, 0, -1507349, 0, 0, -1507348, 0, 0, -1507347, 0, 0, -1507346, 0, 0, -1572856, 0, 0, -1441839, 0, 0, -1441838, 0, 0, -1441837, 0, 0, -1441836, 0, 0, -1441835, 0, 0, -1441834, 0, 0, -1441833, 0, 0, -1441832, 0, 0, -1441831, 0, 0, -1441830, 0, 0, -1441829, 0, 0, -1441828, 0, 0, -1441827, 0, 0, -1441826, 0, 0, -1441825, 0, 0, -1441824, 0, 0, -1441823, 0, 0, -1441822, 0, 0, -1441821, 0, 0, -1441820, 0, 0, -1441819, 0, 0, -1441818, 0, 0, -1441817, 0, 0, -1441816, 0, 0, -1441815, 0, 0, -1441814, 0, 0, -1441813, 0, 0, -1441812, 0, 0, -1441811, 0, 0, -1441810, 0, 0, -1441809, 0, 0, -1441808, 0, 0, -1441807, 0, 0, -1441806, 0, 0, -1441805, 0, 0, -1441804, 0, 0, -1441803, 0, 0, -1441802, 0, 0, -1441801, 0, 0, -1441800, 0, 0, -1441799, 0, 0, -1441798, 0, 0, -1441797, 0, 0, -1441796, 0, 0, -1441795, 0, 0, -1441794, 0, 0, -1441793, 0, 0, -1507328, 0, 0, -1507327, 0, 0, -1507326, 0, 0, -1507325, 0, 0, -1507324, 0, 0, -1507323, 0, 0, -1507322, 0, 0, -1507321, 0, 0, -1507320, 0, 0, -1507319, 0, 0, -1507318, 0, 0, -1507317, 0, 0, -1507316, 0, 0, -1507315, 0, 0, -1507314, 0, 0, -1507313, 0, 0, -1507312, 0, 0, -1507311, 0, 0, -1507310, 0, 0, -1507309, 0, 0, -1507308, 0, 0, -1507307, 0, 0, -1507306, 0, 0, -1507305, 0, 0, -1507304, 0, 0, -1507303, 0, 0, -1507302, 0, 0, -1507301, 0, 0, -1507300, 0, 0, -1507299, 0, 0, -1507298, 0, 0, -1376303, 0, 0, -1376302, 0, 0, -1376301, 0, 0, -1376300, 1, 0, -1376299, 1, 0, -1376298, 1, 0, -1376297, 1, 0, -1376296, 1, 0, -1376295, 1, 0, -1376294, 1, 0, -1376293, 1, 0, -1376292, 1, 0, -1376291, 1, 0, -1376290, 1, 0, -1376289, 1, 0, -1376288, 1, 0, -1376287, 1, 0, -1376286, 0, 0, -1376285, 0, 0, -1376284, 0, 0, -1376283, 0, 0, -1376282, 0, 0, -1376281, 0, 0, -1376280, 0, 0, -1376279, 0, 0, -1376278, 0, 0, -1376277, 0, 0, -1376276, 0, 0, -1376275, 0, 0, -1376274, 0, 0, -1376273, 0, 0, -1376272, 0, 0, -1376271, 0, 0, -1376270, 0, 0, -1376269, 0, 0, -1376268, 0, 0, -1376267, 0, 0, -1376266, 0, 0, -1376265, 0, 0, -1376264, 0, 0, -1376263, 0, 0, -1376262, 0, 0, -1376261, 0, 0, -1376260, 0, 0, -1376259, 0, 0, -1376258, 0, 0, -1376257, 0, 0, -1441792, 0, 0, -1441791, 0, 0, -1441790, 0, 0, -1441789, 0, 0, -1441788, 0, 0, -1441787, 0, 0, -1441786, 0, 0, -1441785, 0, 0, -1441784, 0, 0, -1441783, 0, 0, -1441782, 0, 0, -1441781, 0, 0, -1441780, 0, 0, -1441779, 0, 0, -1441778, 0, 0, -1441777, 0, 0, -1441776, 0, 0, -1441775, 0, 0, -1441774, 0, 0, -1441773, 0, 0, -1441772, 0, 0, -1441771, 0, 0, -1441770, 0, 0, -1441769, 0, 0, -1441768, 0, 0, -1441767, 0, 0, -1441766, 0, 0, -1441765, 0, 0, -1441764, 0, 0, -1441763, 0, 0, -1441762, 0, 0, -1310767, 0, 0, -1310766, 0, 0, -1310765, 0, 0, -1310764, 1, 0, -1310763, 1, 0, -1310762, 1, 0, -1310761, 1, 0, -1310760, 1, 0, -1310759, 1, 0, -1310758, 1, 0, -1310757, 1, 0, -1310756, 1, 0, -1310755, 1, 0, -1310754, 1, 0, -1310753, 1, 0, -1310752, 1, 0, -1310751, 1, 0, -1310750, 0, 0, -1310749, 0, 0, -1310748, 0, 0, -1310747, 0, 0, -1310746, 0, 0, -1310745, 0, 0, -1310744, 0, 0, -1310743, 0, 0, -1310742, 0, 0, -1310741, 0, 0, -1310740, 0, 0, -1310739, 0, 0, -1310738, 0, 0, -1310737, 0, 0, -1310736, 0, 0, -1310735, 0, 0, -1310734, 0, 0, -1310733, 0, 0, -1310732, 0, 0, -1310731, 0, 0, -1310730, 0, 0, -1310729, 0, 0, -1310728, 0, 0, -1310727, 0, 0, -1310726, 0, 0, -1310725, 0, 0, -1310724, 0, 0, -1310723, 0, 0, -1310722, 0, 0, -1310721, 0, 0, -1376256, 0, 0, -1376255, 0, 0, -1376254, 0, 0, -1376253, 0, 0, -1376252, 0, 0, -1376251, 0, 0, -1376250, 0, 0, -1376249, 0, 0, -1376248, 0, 0, -1376247, 0, 0, -1376246, 0, 0, -1376245, 0, 0, -1376244, 0, 0, -1376243, 0, 0, -1376242, 0, 0, -1376241, 0, 0, -1376240, 0, 0, -1376239, 0, 0, -1376238, 0, 0, -1376237, 0, 0, -1376236, 0, 0, -1376235, 0, 0, -1376234, 0, 0, -1376233, 0, 0, -1376232, 0, 0, -1376231, 0, 0, -1376230, 0, 0, -1376229, 0, 0, -1376228, 0, 0, -1376227, 0, 0, -1376226, 0, 0, -1376225, 2, 0, -1376224, 2, 0, -1376223, 2, 0, -1376222, 2, 0, -1376221, 2, 0, -1376220, 2, 0, -1376219, 2, 0, -1376218, 2, 0, -1376217, 2, 0, -1376216, 2, 0, -1376215, 2, 0, -1376214, 2, 0, -1376213, 2, 0, -1376212, 2, 0, -1376211, 2, 0, -1376210, 2, 0, -1376209, 2, 0, -1376208, 2, 0, -1376207, 2, 0, -1376206, 2, 0, -1376205, 2, 0, -1376204, 2, 0, -1376203, 2, 0, -1376202, 2, 0, -1376201, 2, 0, -1376200, 2, 0, -1376199, 2, 0, -1245231, 0, 0, -1245230, 0, 0, -1245229, 0, 0, -1245228, 1, 0, -1245227, 1, 0, -1245226, 1, 0, -1245225, 1, 0, -1245224, 1, 0, -1245223, 1, 0, -1245222, 1, 0, -1245221, 1, 0, -1245220, 1, 0, -1245219, 1, 0, -1245218, 1, 0, -1245217, 1, 0, -1245216, 1, 0, -1245215, 1, 0, -1245214, 0, 0, -1245213, 0, 0, -1245212, 0, 0, -1245211, 0, 0, -1245210, 0, 0, -1245209, 0, 0, -1245208, 0, 0, -1245207, 0, 0, -1245206, 0, 0, -1245205, 0, 0, -1245204, 0, 0, -1245203, 0, 0, -1245202, 0, 0, -1245201, 0, 0, -1245200, 0, 0, -1245199, 0, 0, -1245198, 0, 0, -1245197, 0, 0, -1245196, 0, 0, -1245195, 0, 0, -1245194, 0, 0, -1245193, 0, 0, -1245192, 0, 0, -1245191, 0, 0, -1245190, 0, 0, -1245189, 0, 0, -1245188, 0, 0, -1245187, 0, 0, -1245186, 0, 0, -1245185, 0, 0, -1310720, 0, 0, -1310719, 0, 0, -1310718, 0, 0, -1310717, 0, 0, -1310716, 0, 0, -1310715, 0, 0, -1310714, 0, 0, -1310713, 0, 0, -1310712, 0, 0, -1310711, 0, 0, -1310710, 0, 0, -1310709, 0, 0, -1310708, 0, 0, -1310707, 0, 0, -1310706, 0, 0, -1310705, 0, 0, -1310704, 0, 0, -1310703, 0, 0, -1310702, 0, 0, -1310701, 0, 0, -1310700, 0, 0, -1310699, 0, 0, -1310698, 0, 0, -1310697, 0, 0, -1310696, 0, 0, -1310695, 0, 0, -1310694, 0, 0, -1310693, 0, 0, -1310692, 0, 0, -1310691, 0, 0, -1310690, 0, 0, -1310689, 2, 0, -1310663, 2, 0, -1179695, 0, 0, -1179694, 0, 0, -1179693, 0, 0, -1179692, 1, 0, -1179691, 1, 0, -1179690, 1, 0, -1179689, 1, 0, -1179688, 1, 0, -1179687, 1, 0, -1179686, 1, 0, -1179685, 1, 0, -1179684, 1, 0, -1179683, 1, 0, -1179682, 1, 0, -1179681, 1, 0, -1179680, 1, 0, -1179679, 1, 0, -1179678, 1, 0, -1179677, 1, 0, -1179676, 1, 0, -1179675, 1, 0, -1179674, 1, 0, -1179673, 1, 0, -1179672, 1, 0, -1179671, 1, 0, -1179670, 1, 0, -1179669, 1, 0, -1179668, 1, 0, -1179667, 1, 0, -1179666, 1, 0, -1179665, 1, 0, -1179664, 1, 0, -1179663, 1, 0, -1179662, 1, 0, -1179661, 1, 0, -1179660, 1, 0, -1179659, 1, 0, -1179658, 1, 0, -1179657, 1, 0, -1179656, 1, 0, -1179655, 1, 0, -1179654, 1, 0, -1179653, 1, 0, -1179652, 1, 0, -1179651, 1, 0, -1179650, 1, 0, -1179649, 1, 0, -1245184, 1, 0, -1245183, 1, 0, -1245182, 1, 0, -1245181, 1, 0, -1245180, 1, 0, -1245179, 1, 0, -1245178, 1, 0, -1245177, 1, 0, -1245176, 1, 0, -1245175, 1, 0, -1245174, 1, 0, -1245173, 1, 0, -1245172, 1, 0, -1245171, 1, 0, -1245170, 1, 0, -1245169, 1, 0, -1245168, 1, 0, -1245167, 1, 0, -1245166, 1, 0, -1245165, 1, 0, -1245164, 1, 0, -1245163, 1, 0, -1245162, 1, 0, -1245161, 1, 0, -1245160, 1, 0, -1245159, 1, 0, -1245158, 1, 0, -1245157, 1, 0, -1245156, 1, 0, -1245155, 1, 0, -1245154, 1, 0, -1245127, 2, 0, -1114159, 0, 0, -1114158, 0, 0, -1114157, 0, 0, -1114156, 1, 0, -1114155, 1, 0, -1114154, 1, 0, -1114153, 1, 0, -1114152, 1, 0, -1114151, 0, 0, -1114150, 0, 0, -1114149, 0, 0, -1114148, 0, 0, -1114147, 1, 0, -1114146, 1, 0, -1114145, 1, 0, -1114144, 1, 0, -1114143, 1, 0, -1114142, 1, 0, -1114141, 1, 0, -1114140, 1, 0, -1114139, 1, 0, -1114138, 1, 0, -1114137, 1, 0, -1114136, 1, 0, -1114135, 1, 0, -1114134, 1, 0, -1114133, 1, 0, -1114132, 1, 0, -1114131, 1, 0, -1114130, 1, 0, -1114129, 1, 0, -1114128, 1, 0, -1114127, 1, 0, -1114126, 1, 0, -1114125, 1, 0, -1114124, 1, 0, -1114123, 1, 0, -1114122, 1, 0, -1114121, 1, 0, -1114120, 1, 0, -1114119, 1, 0, -1114118, 1, 0, -1114117, 1, 0, -1114116, 1, 0, -1114115, 1, 0, -1114114, 1, 0, -1114113, 1, 0, -1179648, 1, 0, -1179647, 1, 0, -1179646, 1, 0, -1179645, 1, 0, -1179644, 1, 0, -1179643, 1, 0, -1179642, 1, 0, -1179641, 1, 0, -1179640, 1, 0, -1179639, 1, 0, -1179638, 1, 0, -1179637, 1, 0, -1179636, 1, 0, -1179635, 1, 0, -1179634, 1, 0, -1179633, 1, 0, -1179632, 1, 0, -1179631, 1, 0, -1179630, 1, 0, -1179629, 1, 0, -1179628, 1, 0, -1179627, 1, 0, -1179626, 1, 0, -1179625, 1, 0, -1179624, 1, 0, -1179623, 1, 0, -1179622, 1, 0, -1179621, 1, 0, -1179620, 1, 0, -1179619, 0, 0, -1179618, 0, 0, -1179617, 2, 0, -1179591, 2, 0, -1048623, 0, 0, -1048622, 0, 0, -1048621, 0, 0, -1048620, 1, 0, -1048619, 1, 0, -1048618, 1, 0, -1048617, 1, 0, -1048616, 1, 0, -1048615, 1, 0, -1048614, 1, 0, -1048613, 1, 0, -1048612, 1, 0, -1048611, 1, 0, -1048610, 1, 0, -1048609, 1, 0, -1048608, 1, 0, -1048607, 1, 0, -1048606, 1, 0, -1048605, 1, 0, -1048604, 1, 0, -1048603, 1, 0, -1048602, 1, 0, -1048601, 1, 0, -1048600, 1, 0, -1048599, 1, 0, -1048598, 1, 0, -1048597, 1, 0, -1048596, 1, 0, -1048595, 1, 0, -1048594, 1, 0, -1048593, 1, 0, -1048592, 1, 0, -1048591, 1, 0, -1048590, 1, 0, -1048589, 1, 0, -1048588, 1, 0, -1048587, 1, 0, -1048586, 1, 0, -1048585, 1, 0, -1048584, 1, 0, -1048583, 1, 0, -1048582, 1, 0, -1048581, 1, 0, -1048580, 1, 0, -1048579, 1, 0, -1048578, 1, 0, -1048577, 1, 0, -1114112, 1, 0, -1114111, 1, 0, -1114110, 1, 0, -1114109, 1, 0, -1114108, 1, 0, -1114107, 1, 0, -1114106, 1, 0, -1114105, 1, 0, -1114104, 1, 0, -1114103, 1, 0, -1114102, 1, 0, -1114101, 1, 0, -1114100, 1, 0, -1114099, 1, 0, -1114098, 1, 0, -1114097, 1, 0, -1114096, 1, 0, -1114095, 1, 0, -1114094, 1, 0, -1114093, 1, 0, -1114092, 1, 0, -1114091, 1, 0, -1114090, 1, 0, -1114089, 1, 0, -1114088, 1, 0, -1114087, 1, 0, -1114086, 1, 0, -1114085, 1, 0, -1114084, 1, 0, -1114083, 0, 0, -1114082, 0, 0, -1114081, 2, 0, -1114055, 2, 0, -983087, 0, 0, -983086, 0, 0, -983085, 0, 0, -983084, 1, 0, -983083, 1, 0, -983082, 1, 0, -983081, 1, 0, -983080, 1, 0, -983079, 1, 0, -983078, 1, 0, -983077, 1, 0, -983076, 1, 0, -983075, 1, 0, -983074, 1, 0, -983073, 1, 0, -983072, 1, 0, -983071, 1, 0, -983070, 0, 0, -983069, 0, 0, -983068, 1, 0, -983067, 1, 0, -983066, 1, 0, -983065, 1, 0, -983064, 1, 0, -983063, 1, 0, -983062, 1, 0, -983061, 1, 0, -983060, 1, 0, -983059, 1, 0, -983058, 1, 0, -983057, 1, 0, -983056, 1, 0, -983055, 1, 0, -983054, 1, 0, -983053, 1, 0, -983052, 1, 0, -983051, 1, 0, -983050, 1, 0, -983049, 1, 0, -983048, 1, 0, -983047, 1, 0, -983046, 1, 0, -983045, 1, 0, -983044, 1, 0, -983043, 1, 0, -983042, 1, 0, -983041, 1, 0, -1048576, 1, 0, -1048575, 1, 0, -1048574, 1, 0, -1048573, 1, 0, -1048572, 1, 0, -1048571, 1, 0, -1048570, 1, 0, -1048569, 1, 0, -1048568, 1, 0, -1048567, 1, 0, -1048566, 1, 0, -1048565, 1, 0, -1048564, 1, 0, -1048563, 1, 0, -1048562, 1, 0, -1048561, 1, 0, -1048560, 1, 0, -1048559, 1, 0, -1048558, 1, 0, -1048557, 1, 0, -1048556, 1, 0, -1048555, 1, 0, -1048554, 1, 0, -1048553, 1, 0, -1048552, 1, 0, -1048551, 1, 0, -1048550, 1, 0, -1048549, 1, 0, -1048548, 1, 0, -1048547, 0, 0, -1048546, 0, 0, -1048545, 2, 0, -1048519, 2, 0, -917551, 0, 0, -917550, 0, 0, -917549, 0, 0, -917548, 1, 0, -917547, 1, 0, -917546, 1, 0, -917545, 1, 0, -917544, 1, 0, -917543, 1, 0, -917542, 1, 0, -917541, 1, 0, -917540, 1, 0, -917539, 1, 0, -917538, 1, 0, -917537, 1, 0, -917536, 1, 0, -917535, 1, 0, -917534, 0, 0, -917533, 0, 0, -917532, 1, 0, -917531, 1, 0, -917530, 1, 0, -917529, 1, 0, -917528, 1, 0, -917527, 1, 0, -917526, 0, 0, -917525, 1, 0, -917524, 1, 0, -917523, 1, 0, -917522, 1, 0, -917521, 1, 0, -917520, 1, 0, -917519, 1, 0, -917518, 1, 0, -917517, 1, 0, -917516, 1, 0, -917515, 1, 0, -917514, 1, 0, -917513, 1, 0, -917512, 1, 0, -917511, 1, 0, -917510, 1, 0, -917509, 1, 0, -917508, 1, 0, -917507, 1, 0, -917506, 1, 0, -917505, 1, 0, -983040, 1, 0, -983039, 1, 0, -983038, 1, 0, -983037, 1, 0, -983036, 1, 0, -983035, 1, 0, -983034, 1, 0, -983033, 1, 0, -983032, 1, 0, -983031, 1, 0, -983030, 1, 0, -983029, 1, 0, -983028, 1, 0, -983027, 1, 0, -983026, 1, 0, -983025, 1, 0, -983024, 1, 0, -983023, 1, 0, -983022, 1, 0, -983021, 1, 0, -983020, 1, 0, -983019, 1, 0, -983018, 1, 0, -983017, 1, 0, -983016, 1, 0, -983015, 1, 0, -983014, 1, 0, -983013, 1, 0, -983012, 1, 0, -983011, 0, 0, -983010, 0, 0, -983009, 2, 0, -982983, 2, 0, -852015, 0, 0, -852014, 0, 0, -852013, 0, 0, -852012, 1, 0, -852011, 1, 0, -852010, 1, 0, -852009, 1, 0, -852008, 1, 0, -852007, 1, 0, -852006, 1, 0, -852005, 1, 0, -852004, 1, 0, -852003, 1, 0, -852002, 1, 0, -852001, 1, 0, -852000, 1, 0, -851999, 1, 0, -851998, 0, 0, -851997, 0, 0, -851996, 0, 0, -851995, 0, 0, -851994, 1, 0, -851993, 1, 0, -851992, 1, 0, -851991, 1, 0, -851990, 1, 0, -851989, 1, 0, -851988, 1, 0, -851987, 1, 0, -851986, 1, 0, -851985, 1, 0, -851984, 1, 0, -851983, 0, 0, -851982, 0, 0, -851981, 1, 0, -851980, 1, 0, -851979, 1, 0, -851978, 1, 0, -851977, 1, 0, -851976, 1, 0, -851975, 1, 0, -851974, 1, 0, -851973, 1, 0, -851972, 1, 0, -851971, 1, 0, -851970, 1, 0, -851969, 1, 0, -917504, 1, 0, -917503, 1, 0, -917502, 1, 0, -917501, 1, 0, -917500, 1, 0, -917499, 1, 0, -917498, 1, 0, -917497, 1, 0, -917496, 1, 0, -917495, 1, 0, -917494, 1, 0, -917493, 1, 0, -917492, 1, 0, -917491, 1, 0, -917490, 1, 0, -917489, 1, 0, -917488, 1, 0, -917487, 1, 0, -917486, 1, 0, -917485, 1, 0, -917484, 1, 0, -917483, 1, 0, -917482, 1, 0, -917481, 1, 0, -917480, 1, 0, -917479, 1, 0, -917478, 1, 0, -917477, 1, 0, -917476, 1, 0, -917475, 0, 0, -917474, 0, 0, -917473, 2, 0, -917450, 8, 0, -917449, 8, 0, -917448, 8, 0, -917447, 2, 0, -786479, 0, 0, -786478, 0, 0, -786477, 0, 0, -786476, 1, 0, -786475, 1, 0, -786474, 1, 0, -786473, 1, 0, -786472, 1, 0, -786471, 1, 0, -786470, 1, 0, -786469, 1, 0, -786468, 1, 0, -786467, 1, 0, -786466, 1, 0, -786465, 1, 0, -786464, 1, 0, -786463, 1, 0, -786462, 0, 0, -786461, 0, 0, -786460, 0, 0, -786459, 0, 0, -786458, 1, 0, -786457, 1, 0, -786456, 1, 0, -786455, 1, 0, -786454, 1, 0, -786453, 1, 0, -786452, 1, 0, -786451, 1, 0, -786450, 1, 0, -786449, 1, 0, -786448, 1, 0, -786447, 1, 0, -786446, 1, 0, -786445, 1, 0, -786444, 1, 0, -786443, 1, 0, -786442, 1, 0, -786441, 1, 0, -786440, 1, 0, -786439, 1, 0, -786438, 0, 0, -786437, 0, 0, -786436, 1, 0, -786435, 1, 0, -786434, 1, 0, -786433, 1, 0, -851968, 1, 0, -851967, 0, 0, -851966, 0, 0, -851965, 1, 0, -851964, 1, 0, -851963, 1, 0, -851962, 1, 0, -851961, 1, 0, -851960, 1, 0, -851959, 0, 0, -851958, 0, 0, -851957, 0, 0, -851956, 0, 0, -851955, 1, 0, -851954, 1, 0, -851953, 1, 0, -851952, 1, 0, -851951, 0, 0, -851950, 0, 0, -851949, 0, 0, -851948, 0, 0, -851947, 0, 0, -851946, 0, 0, -851945, 0, 0, -851944, 0, 0, -851943, 1, 0, -851942, 1, 0, -851941, 1, 0, -851940, 1, 0, -851939, 0, 0, -851938, 0, 0, -851937, 2, 0, -851915, 8, 0, -851914, 8, 0, -851913, 8, 0, -851912, 8, 0, -851911, 2, 0, -720943, 0, 0, -720942, 0, 0, -720941, 0, 0, -720940, 1, 0, -720939, 1, 0, -720938, 1, 0, -720937, 1, 0, -720936, 1, 0, -720935, 1, 0, -720934, 1, 0, -720933, 1, 0, -720932, 1, 0, -720931, 1, 0, -720930, 1, 0, -720929, 1, 0, -720928, 1, 0, -720927, 1, 0, -720926, 0, 0, -720925, 0, 0, -720924, 0, 0, -720923, 1, 0, -720922, 1, 0, -720921, 1, 0, -720920, 1, 0, -720919, 1, 0, -720918, 1, 0, -720917, 1, 0, -720916, 1, 0, -720915, 1, 0, -720914, 1, 0, -720913, 1, 0, -720912, 1, 0, -720911, 1, 0, -720910, 1, 0, -720909, 1, 0, -720908, 1, 0, -720907, 1, 0, -720906, 1, 0, -720905, 1, 0, -720904, 1, 0, -720903, 1, 0, -720902, 0, 0, -720901, 0, 0, -720900, 1, 0, -720899, 1, 0, -720898, 1, 0, -720897, 1, 0, -786432, 1, 0, -786431, 0, 0, -786430, 0, 0, -786429, 1, 0, -786428, 1, 0, -786427, 1, 0, -786426, 1, 0, -786425, 1, 0, -786424, 1, 0, -786423, 1, 0, -786422, 1, 0, -786421, 1, 0, -786420, 1, 0, -786419, 1, 0, -786418, 1, 0, -786417, 1, 0, -786416, 1, 0, -786415, 0, 0, -786414, 0, 0, -786413, 0, 0, -786412, 0, 0, -786411, 0, 0, -786410, 0, 0, -786409, 0, 0, -786408, 0, 0, -786407, 1, 0, -786406, 1, 0, -786405, 1, 0, -786404, 1, 0, -786403, 0, 0, -786402, 0, 0, -786401, 2, 0, -786400, 2, 0, -786399, 2, 0, -786398, 2, 0, -786397, 2, 0, -786396, 2, 0, -786395, 2, 0, -786394, 2, 0, -786393, 2, 0, -786392, 2, 0, -786391, 2, 0, -786390, 2, 0, -786389, 2, 0, -786388, 2, 0, -786387, 2, 0, -786386, 2, 0, -786385, 2, 0, -786384, 2, 0, -786383, 2, 0, -786382, 2, 0, -786381, 2, 0, -786380, 2, 0, -786379, 2, 0, -786378, 2, 0, -786377, 2, 0, -786376, 2, 0, -786375, 2, 0, -655407, 0, 0, -655406, 0, 0, -655405, 0, 0, -655404, 0, 0, -655403, 0, 0, -655402, 0, 0, -655401, 0, 0, -655400, 0, 0, -655399, 0, 0, -655398, 0, 0, -655397, 0, 0, -655396, 0, 0, -655395, 0, 0, -655394, 0, 0, -655393, 0, 0, -655392, 0, 0, -655391, 0, 0, -655390, 0, 0, -655389, 0, 0, -655388, 1, 0, -655387, 1, 0, -655386, 1, 0, -655385, 1, 0, -655384, 1, 0, -655383, 1, 0, -655382, 1, 0, -655381, 1, 0, -655380, 1, 0, -655379, 1, 0, -655378, 1, 0, -655377, 1, 0, -655376, 1, 0, -655375, 1, 0, -655374, 1, 0, -655373, 1, 0, -655372, 1, 0, -655371, 1, 0, -655370, 1, 0, -655369, 1, 0, -655368, 0, 0, -655367, 0, 0, -655366, 0, 0, -655365, 0, 0, -655364, 1, 0, -655363, 1, 0, -655362, 1, 0, -655361, 1, 0, -720896, 1, 0, -720895, 0, 0, -720894, 0, 0, -720893, 0, 0, -720892, 0, 0, -720891, 1, 0, -720890, 1, 0, -720889, 1, 0, -720888, 1, 0, -720887, 1, 0, -720886, 1, 0, -720885, 1, 0, -720884, 1, 0, -720883, 1, 0, -720882, 1, 0, -720881, 1, 0, -720880, 1, 0, -720879, 0, 0, -720878, 0, 0, -720877, 0, 0, -720876, 0, 0, -720875, 0, 0, -720874, 0, 0, -720873, 0, 0, -720872, 0, 0, -720871, 1, 0, -720870, 1, 0, -720869, 1, 0, -720868, 1, 0, -720867, 0, 0, -720866, 0, 0, -589871, 0, 0, -589870, 0, 0, -589869, 0, 0, -589868, 0, 0, -589867, 0, 0, -589866, 0, 0, -589865, 0, 0, -589864, 0, 0, -589863, 0, 0, -589862, 0, 0, -589861, 0, 0, -589860, 0, 0, -589859, 0, 0, -589858, 0, 0, -589857, 0, 0, -589856, 0, 0, -589855, 0, 0, -589854, 0, 0, -589853, 1, 0, -589852, 1, 0, -589851, 1, 0, -589850, 1, 0, -589849, 1, 0, -589848, 1, 0, -589847, 1, 0, -589846, 1, 0, -589845, 1, 0, -589844, 1, 0, -589843, 1, 0, -589842, 1, 0, -589841, 1, 0, -589840, 1, 0, -589839, 1, 0, -589838, 1, 0, -589837, 1, 0, -589836, 1, 0, -589835, 1, 0, -589834, 1, 0, -589833, 1, 0, -589832, 0, 0, -589831, 0, 0, -589830, 0, 0, -589829, 0, 0, -589828, 1, 0, -589827, 1, 0, -589826, 1, 0, -589825, 1, 0, -655360, 1, 0, -655359, 0, 0, -655358, 0, 0, -655357, 0, 0, -655356, 0, 0, -655355, 1, 0, -655354, 1, 0, -655353, 1, 0, -655352, 1, 0, -655351, 1, 0, -655350, 1, 0, -655349, 1, 0, -655348, 1, 0, -655347, 1, 0, -655346, 1, 0, -655345, 1, 0, -655344, 1, 0, -655343, 0, 0, -655342, 0, 0, -655341, 0, 0, -655340, 0, 0, -655339, 0, 0, -655338, 0, 0, -655337, 0, 0, -655336, 0, 0, -655335, 1, 0, -655334, 1, 0, -655333, 1, 0, -655332, 1, 0, -655331, 0, 0, -655330, 0, 0, -524335, 0, 0, -524334, 0, 0, -524333, 0, 0, -524332, 0, 0, -524331, 0, 0, -524330, 0, 0, -524329, 0, 0, -524328, 0, 0, -524327, 0, 0, -524326, 0, 0, -524325, 0, 0, -524324, 1, 0, -524323, 1, 0, -524322, 1, 0, -524321, 1, 0, -524320, 1, 0, -524319, 1, 0, -524318, 1, 0, -524317, 1, 0, -524316, 1, 0, -524315, 1, 0, -524314, 1, 0, -524313, 1, 0, -524312, 1, 0, -524311, 1, 0, -524310, 1, 0, -524309, 1, 0, -524308, 1, 0, -524307, 1, 0, -524306, 1, 0, -524305, 1, 0, -524304, 1, 0, -524303, 1, 0, -524302, 1, 0, -524301, 1, 0, -524300, 1, 0, -524299, 1, 0, -524298, 0, 0, -524297, 0, 0, -524296, 0, 0, -524295, 0, 0, -524294, 0, 0, -524293, 0, 0, -524292, 0, 0, -524291, 0, 0, -524290, 0, 0, -524289, 0, 0, -589824, 0, 0, -589823, 0, 0, -589822, 0, 0, -589821, 0, 0, -589820, 0, 0, -589819, 0, 0, -589818, 0, 0, -589817, 1, 0, -589816, 1, 0, -589815, 1, 0, -589814, 1, 0, -589813, 1, 0, -589812, 1, 0, -589811, 1, 0, -589810, 1, 0, -589809, 1, 0, -589808, 1, 0, -589807, 0, 0, -589806, 0, 0, -589805, 0, 0, -589804, 0, 0, -589803, 0, 0, -589802, 0, 0, -589801, 0, 0, -589800, 0, 0, -589799, 1, 0, -589798, 1, 0, -589797, 1, 0, -589796, 1, 0, -589795, 0, 0, -589794, 0, 0, -589793, 0, 0, -589792, 0, 0, -458799, 0, 0, -458798, 0, 0, -458797, 0, 0, -458796, 0, 0, -458795, 0, 0, -458794, 0, 0, -458793, 0, 0, -458792, 0, 0, -458791, 0, 0, -458790, 0, 0, -458789, 0, 0, -458788, 1, 0, -458787, 1, 0, -458786, 1, 0, -458785, 1, 0, -458784, 1, 0, -458783, 1, 0, -458782, 1, 0, -458781, 1, 0, -458780, 1, 0, -458779, 1, 0, -458778, 1, 0, -458777, 1, 0, -458776, 1, 0, -458775, 1, 0, -458774, 1, 0, -458773, 1, 0, -458772, 1, 0, -458771, 1, 0, -458770, 1, 0, -458769, 1, 0, -458768, 1, 0, -458767, 1, 0, -458766, 1, 0, -458765, 1, 0, -458764, 1, 0, -458763, 1, 0, -458762, 0, 0, -458761, 0, 0, -458760, 0, 0, -458759, 0, 0, -458758, 0, 0, -458757, 0, 0, -458756, 0, 0, -458755, 0, 0, -458754, 0, 0, -458753, 0, 0, -524288, 0, 0, -524287, 0, 0, -524286, 0, 0, -524285, 0, 0, -524284, 0, 0, -524283, 0, 0, -524282, 0, 0, -524281, 1, 0, -524280, 1, 0, -524279, 1, 0, -524278, 1, 0, -524277, 1, 0, -524276, 1, 0, -524275, 1, 0, -524274, 1, 0, -524273, 1, 0, -524272, 1, 0, -524271, 0, 0, -524270, 0, 0, -524269, 0, 0, -524268, 1, 0, -524267, 1, 0, -524266, 1, 0, -524265, 1, 0, -524264, 1, 0, -524263, 1, 0, -524262, 1, 0, -524261, 1, 0, -524260, 1, 0, -524259, 0, 0, -524258, 0, 0, -524257, 0, 0, -524256, 0, 0, -393263, 0, 0, -393262, 0, 0, -393261, 0, 0, -393260, 0, 0, -393259, 0, 0, -393258, 0, 0, -393257, 0, 0, -393256, 0, 0, -393255, 0, 0, -393254, 0, 0, -393253, 0, 0, -393252, 1, 0, -393251, 1, 0, -393250, 1, 0, -393249, 1, 0, -393248, 1, 0, -393247, 1, 0, -393246, 1, 0, -393245, 1, 0, -393244, 1, 0, -393243, 1, 0, -393242, 1, 0, -393241, 1, 0, -393240, 1, 0, -393239, 1, 0, -393238, 1, 0, -393237, 1, 0, -393236, 1, 0, -393235, 1, 0, -393234, 1, 0, -393233, 0, 0, -393232, 0, 0, -393231, 0, 0, -393230, 0, 0, -393229, 1, 0, -393228, 1, 0, -393227, 1, 0, -393226, 1, 0, -393225, 1, 0, -393224, 1, 0, -393223, 1, 0, -393222, 1, 0, -393221, 1, 0, -393220, 1, 0, -393219, 1, 0, -393218, 1, 0, -393217, 1, 0, -458752, 1, 0, -458751, 1, 0, -458750, 1, 0, -458749, 1, 0, -458748, 1, 0, -458747, 1, 0, -458746, 1, 0, -458745, 1, 0, -458744, 1, 0, -458743, 1, 0, -458742, 1, 0, -458741, 1, 0, -458740, 1, 0, -458739, 1, 0, -458738, 1, 0, -458737, 1, 0, -458736, 1, 0, -458735, 0, 0, -458734, 0, 0, -458733, 0, 0, -458732, 1, 0, -458731, 1, 0, -458730, 1, 0, -458729, 1, 0, -458728, 1, 0, -458727, 1, 0, -458726, 1, 0, -458725, 1, 0, -458724, 1, 0, -458723, 0, 0, -458722, 0, 0, -458721, 0, 0, -458720, 0, 0, -327719, 0, 0, -327718, 0, 0, -327717, 0, 0, -327716, 1, 0, -327715, 1, 0, -327714, 1, 0, -327713, 1, 0, -327712, 1, 0, -327711, 1, 0, -327710, 1, 0, -327709, 1, 0, -327708, 1, 0, -327707, 1, 0, -327706, 1, 0, -327705, 1, 0, -327704, 1, 0, -327703, 1, 0, -327702, 1, 0, -327701, 1, 0, -327700, 1, 0, -327699, 1, 0, -327698, 1, 0, -327697, 1, 0, -327696, 1, 0, -327695, 1, 0, -327694, 1, 0, -327693, 1, 0, -327692, 1, 0, -327691, 1, 0, -327690, 1, 0, -327689, 1, 0, -327688, 1, 0, -327687, 1, 0, -327686, 1, 0, -327685, 1, 0, -327684, 1, 0, -327683, 1, 0, -327682, 1, 0, -327681, 1, 0, -393216, 1, 0, -393215, 1, 0, -393214, 1, 0, -393213, 1, 0, -393212, 1, 0, -393211, 1, 0, -393210, 1, 0, -393209, 1, 0, -393208, 1, 0, -393207, 1, 0, -393206, 1, 0, -393205, 1, 0, -393204, 1, 0, -393203, 1, 0, -393202, 1, 0, -393201, 1, 0, -393200, 1, 0, -393199, 0, 0, -393198, 0, 0, -393197, 0, 0, -393196, 1, 0, -393195, 1, 0, -393194, 1, 0, -393193, 1, 0, -393192, 1, 0, -393191, 1, 0, -393190, 1, 0, -393189, 1, 0, -393188, 1, 0, -393187, 0, 0, -393186, 0, 0, -393185, 0, 0, -393184, 0, 0, -262183, 0, 0, -262182, 0, 0, -262181, 0, 0, -262180, 1, 0, -262179, 1, 0, -262178, 1, 0, -262177, 1, 0, -262176, 1, 0, -262175, 1, 0, -262174, 1, 0, -262173, 1, 0, -262172, 1, 0, -262171, 1, 0, -262170, 1, 0, -262169, 1, 0, -262168, 1, 0, -262167, 0, 0, -262166, 0, 0, -262165, 0, 0, -262164, 1, 0, -262163, 1, 0, -262162, 1, 0, -262161, 1, 0, -262160, 1, 0, -262159, 1, 0, -262158, 1, 0, -262157, 1, 0, -262156, 1, 0, -262155, 1, 0, -262154, 1, 0, -262153, 1, 0, -262152, 1, 0, -262151, 1, 0, -262150, 1, 0, -262149, 1, 0, -262148, 1, 0, -262147, 1, 0, -262146, 1, 0, -262145, 1, 0, -327680, 1, 0, -327679, 1, 0, -327678, 1, 0, -327677, 1, 0, -327676, 1, 0, -327675, 1, 0, -327674, 1, 0, -327673, 1, 0, -327672, 1, 0, -327671, 1, 0, -327670, 1, 0, -327669, 1, 0, -327668, 1, 0, -327667, 1, 0, -327666, 1, 0, -327665, 1, 0, -327664, 1, 0, -327663, 1, 0, -327662, 1, 0, -327661, 1, 0, -327660, 1, 0, -327659, 1, 0, -327658, 1, 0, -327657, 1, 0, -327656, 1, 0, -327655, 1, 0, -327654, 1, 0, -327653, 1, 0, -327652, 1, 0, -327651, 0, 0, -327650, 0, 0, -327649, 0, 0, -327648, 0, 0, -196647, 0, 0, -196646, 0, 0, -196645, 0, 0, -196644, 1, 0, -196643, 1, 0, -196642, 1, 0, -196641, 1, 0, -196640, 1, 0, -196639, 1, 0, -196638, 1, 0, -196637, 1, 0, -196636, 1, 0, -196635, 1, 0, -196634, 1, 0, -196633, 1, 0, -196632, 1, 0, -196631, 0, 0, -196630, 0, 0, -196629, 0, 0, -196628, 1, 0, -196627, 1, 0, -196626, 1, 0, -196625, 1, 0, -196624, 1, 0, -196623, 1, 0, -196622, 1, 0, -196621, 1, 0, -196620, 1, 0, -196619, 1, 0, -196618, 1, 0, -196617, 1, 0, -196616, 1, 0, -196615, 1, 0, -196614, 1, 0, -196613, 1, 0, -196612, 1, 0, -196611, 1, 0, -196610, 1, 0, -196609, 1, 0, -262144, 1, 0, -262143, 1, 0, -262142, 1, 0, -262141, 1, 0, -262140, 1, 0, -262139, 1, 0, -262138, 1, 0, -262137, 1, 0, -262136, 1, 0, -262135, 1, 0, -262134, 1, 0, -262133, 1, 0, -262132, 1, 0, -262131, 1, 0, -262130, 1, 0, -262129, 1, 0, -262128, 1, 0, -262127, 1, 0, -262126, 1, 0, -262125, 1, 0, -262124, 1, 0, -262123, 1, 0, -262122, 1, 0, -262121, 1, 0, -262120, 1, 0, -262119, 1, 0, -262118, 1, 0, -262117, 1, 0, -262116, 1, 0, -262115, 0, 0, -262114, 0, 0, -262113, 0, 0, -262112, 0, 0, -131111, 0, 0, -131110, 0, 0, -131109, 0, 0, -131108, 1, 0, -131107, 1, 0, -131106, 1, 0, -131105, 1, 0, -131104, 1, 0, -131103, 1, 0, -131102, 1, 0, -131101, 1, 0, -131100, 0, 0, -131099, 0, 0, -131098, 1, 0, -131097, 1, 0, -131096, 1, 0, -131095, 0, 0, -131094, 0, 0, -131093, 0, 0, -131092, 1, 0, -131091, 1, 0, -131090, 1, 0, -131089, 1, 0, -131088, 1, 0, -131087, 1, 0, -131086, 1, 0, -131085, 1, 0, -131084, 1, 0, -131083, 1, 0, -131082, 1, 0, -131081, 1, 0, -131080, 1, 0, -131079, 1, 0, -131078, 1, 0, -131077, 1, 0, -131076, 1, 0, -131075, 1, 0, -131074, 1, 0, -131073, 1, 0, -196608, 1, 0, -196607, 1, 0, -196606, 1, 0, -196605, 1, 0, -196604, 1, 0, -196603, 1, 0, -196602, 1, 0, -196601, 1, 0, -196600, 1, 0, -196599, 1, 0, -196598, 1, 0, -196597, 1, 0, -196596, 1, 0, -196595, 1, 0, -196594, 1, 0, -196593, 1, 0, -196592, 1, 0, -196591, 1, 0, -196590, 1, 0, -196589, 1, 0, -196588, 1, 0, -196587, 1, 0, -196586, 1, 0, -196585, 1, 0, -196584, 1, 0, -196583, 1, 0, -196582, 1, 0, -196581, 1, 0, -196580, 1, 0, -196579, 0, 0, -196578, 0, 0, -196577, 0, 0, -196576, 0, 0, -65575, 0, 0, -65574, 0, 0, -65573, 0, 0, -65572, 1, 0, -65571, 1, 0, -65570, 1, 0, -65569, 1, 0, -65568, 1, 0, -65567, 1, 0, -65566, 1, 0, -65565, 1, 0, -65564, 1, 0, -65563, 1, 0, -65562, 1, 0, -65561, 1, 0, -65560, 1, 0, -65559, 0, 0, -65558, 0, 0, -65557, 0, 0, -65556, 1, 0, -65555, 1, 0, -65554, 1, 0, -65553, 1, 0, -65552, 1, 0, -65551, 1, 0, -65550, 1, 0, -65549, 1, 0, -65548, 1, 0, -65547, 1, 0, -65546, 1, 0, -65545, 1, 0, -65544, 1, 0, -65543, 1, 0, -65542, 1, 0, -65541, 1, 0, -65540, 1, 0, -65539, 1, 0, -65538, 1, 0, -65537, 1, 0, -131072, 1, 0, -131071, 1, 0, -131070, 1, 0, -131069, 1, 0, -131068, 1, 0, -131067, 1, 0, -131066, 1, 0, -131065, 1, 0, -131064, 1, 0, -131063, 1, 0, -131062, 1, 0, -131061, 1, 0, -131060, 1, 0, -131059, 1, 0, -131058, 0, 0, -131057, 0, 0, -131056, 0, 0, -131055, 0, 0, -131054, 0, 0, -131053, 0, 0, -131052, 0, 0, -131051, 0, 0, -131050, 0, 0, -131049, 0, 0, -131048, 0, 0, -131047, 1, 0, -131046, 1, 0, -131045, 1, 0, -131044, 1, 0, -131043, 0, 0, -131042, 0, 0, -131041, 0, 0, -131040, 0, 0, -39, 0, 0, -38, 0, 0, -37, 0, 0, -36, 1, 0, -35, 1, 0, -34, 1, 0, -33, 1, 0, -32, 1, 0, -31, 1, 0, -30, 1, 0, -29, 1, 0, -28, 1, 0, -27, 1, 0, -26, 1, 0, -25, 1, 0, -24, 1, 0, -23, 0, 0, -22, 0, 0, -21, 0, 0, -20, 1, 0, -19, 1, 0, -18, 1, 0, -17, 1, 0, -16, 1, 0, -15, 1, 0, -14, 1, 0, -13, 1, 0, -12, 1, 0, -11, 1, 0, -10, 1, 0, -9, 1, 0, -8, 1, 0, -7, 1, 0, -6, 1, 0, -5, 1, 0, -4, 1, 0, -3, 1, 0, -2, 1, 0, -1, 1, 0, -65536, 1, 0, -65535, 1, 0, -65534, 1, 0, -65533, 1, 0, -65532, 1, 0, -65531, 1, 0, -65530, 1, 0, -65529, 1, 0, -65528, 1, 0, -65527, 1, 0, -65526, 1, 0, -65525, 1, 0, -65524, 1, 0, -65523, 1, 0, -65522, 0, 0, -65521, 0, 0, -65520, 0, 0, -65519, 0, 0, -65518, 0, 0, -65517, 0, 0, -65516, 0, 0, -65515, 0, 0, -65514, 0, 0, -65513, 0, 0, -65512, 0, 0, -65511, 1, 0, -65510, 1, 0, -65509, 1, 0, -65508, 1, 0, -65507, 0, 0, -65506, 0, 0, -65505, 0, 0, -65504, 0, 0, 65497, 0, 0, 65498, 0, 0, 65499, 0, 0, 65500, 1, 0, 65501, 1, 0, 65502, 1, 0, 65503, 1, 0, 65504, 1, 0, 65505, 1, 0, 65506, 1, 0, 65507, 1, 0, 65508, 1, 0, 65509, 1, 0, 65510, 1, 0, 65511, 1, 0, 65512, 1, 0, 65513, 1, 0, 65514, 1, 0, 65515, 1, 0, 65516, 1, 0, 65517, 1, 0, 65518, 1, 0, 65519, 1, 0, 65520, 1, 0, 65521, 1, 0, 65522, 1, 0, 65523, 1, 0, 65524, 1, 0, 65525, 1, 0, 65526, 1, 0, 65527, 1, 0, 65528, 1, 0, 65529, 1, 0, 65530, 1, 0, 65531, 1, 0, 65532, 1, 0, 65533, 1, 0, 65534, 1, 0, 65535, 1, 0, 0, 1, 0, 1, 1, 0, 2, 1, 0, 3, 1, 0, 4, 1, 0, 5, 1, 0, 6, 1, 0, 7, 1, 0, 8, 1, 0, 9, 1, 0, 10, 1, 0, 11, 1, 0, 12, 1, 0, 13, 1, 0, 14, 0, 0, 15, 0, 0, 16, 0, 0, 17, 0, 0, 18, 0, 0, 19, 0, 0, 20, 0, 0, 21, 0, 0, 22, 0, 0, 23, 0, 0, 24, 0, 0, 25, 1, 0, 26, 1, 0, 27, 1, 0, 28, 1, 0, 29, 0, 0, 30, 0, 0, 31, 0, 0, 32, 0, 0, 131033, 0, 0, 131034, 0, 0, 131035, 0, 0, 131036, 1, 0, 131037, 1, 0, 131038, 1, 0, 131039, 1, 0, 131040, 0, 0, 131041, 0, 0, 131042, 0, 0, 131043, 1, 0, 131044, 1, 0, 131045, 1, 0, 131046, 1, 0, 131047, 1, 0, 131048, 1, 0, 131049, 1, 0, 131050, 1, 0, 131051, 1, 0, 131052, 1, 0, 131053, 1, 0, 131054, 1, 0, 131055, 1, 0, 131056, 1, 0, 131057, 1, 0, 131058, 1, 0, 131059, 1, 0, 131060, 1, 0, 131061, 1, 0, 131062, 1, 0, 131063, 1, 0, 131064, 1, 0, 131065, 1, 0, 131066, 1, 0, 131067, 1, 0, 131068, 1, 0, 131069, 1, 0, 131070, 1, 0, 131071, 1, 0, 65536, 1, 0, 65537, 1, 0, 65538, 1, 0, 65539, 1, 0, 65540, 1, 0, 65541, 1, 0, 65542, 1, 0, 65543, 1, 0, 65544, 1, 0, 65545, 1, 0, 65546, 1, 0, 65547, 0, 0, 65548, 0, 0, 65549, 0, 0, 65550, 0, 0, 65551, 0, 0, 65552, 0, 0, 65553, 0, 0, 65554, 0, 0, 65555, 0, 0, 65556, 0, 0, 65557, 0, 0, 65558, 0, 0, 65559, 0, 0, 65560, 0, 0, 65561, 1, 0, 65562, 1, 0, 65563, 1, 0, 65564, 1, 0, 65565, 0, 0, 65566, 0, 0, 65567, 0, 0, 65568, 0, 0, 196569, 0, 0, 196570, 0, 0, 196571, 0, 0, 196572, 1, 0, 196573, 1, 0, 196574, 1, 0, 196575, 1, 0, 196576, 1, 0, 196577, 1, 0, 196578, 1, 0, 196579, 1, 0, 196580, 1, 0, 196581, 1, 0, 196582, 1, 0, 196583, 1, 0, 196584, 1, 0, 196585, 1, 0, 196586, 1, 0, 196587, 1, 0, 196588, 1, 0, 196589, 1, 0, 196590, 1, 0, 196591, 1, 0, 196592, 1, 0, 196593, 1, 0, 196594, 1, 0, 196595, 1, 0, 196596, 1, 0, 196597, 1, 0, 196598, 1, 0, 196599, 1, 0, 196600, 1, 0, 196601, 1, 0, 196602, 1, 0, 196603, 1, 0, 196604, 1, 0, 196605, 1, 0, 196606, 1, 0, 196607, 1, 0, 131072, 1, 0, 131073, 1, 0, 131074, 1, 0, 131075, 1, 0, 131076, 1, 0, 131077, 1, 0, 131078, 1, 0, 131079, 1, 0, 131080, 1, 0, 131081, 1, 0, 131082, 1, 0, 131083, 0, 0, 131084, 0, 0, 131085, 0, 0, 131086, 0, 0, 131087, 0, 0, 131088, 0, 0, 131089, 0, 0, 131090, 0, 0, 131091, 0, 0, 131092, 0, 0, 131093, 0, 0, 131094, 0, 0, 131095, 0, 0, 131096, 0, 0, 131097, 1, 0, 131098, 1, 0, 131099, 1, 0, 131100, 1, 0, 131101, 0, 0, 131102, 0, 0, 131103, 0, 0, 131104, 0, 0, 262105, 0, 0, 262106, 0, 0, 262107, 0, 0, 262108, 1, 0, 262109, 1, 0, 262110, 1, 0, 262111, 1, 0, 262112, 1, 0, 262113, 1, 0, 262114, 1, 0, 262115, 1, 0, 262116, 1, 0, 262117, 1, 0, 262118, 0, 0, 262119, 0, 0, 262120, 0, 0, 262121, 0, 0, 262122, 0, 0, 262123, 0, 0, 262124, 1, 0, 262125, 1, 0, 262126, 1, 0, 262127, 1, 0, 262128, 1, 0, 262129, 1, 0, 262130, 1, 0, 262131, 1, 0, 262132, 1, 0, 262133, 1, 0, 262134, 1, 0, 262135, 1, 0, 262136, 1, 0, 262137, 1, 0, 262138, 1, 0, 262139, 1, 0, 262140, 1, 0, 262141, 1, 0, 262142, 0, 0, 262143, 0, 0, 196608, 0, 0, 196609, 0, 0, 196610, 1, 0, 196611, 1, 0, 196612, 1, 0, 196613, 1, 0, 196614, 1, 0, 196615, 1, 0, 196616, 1, 0, 196617, 1, 0, 196618, 1, 0, 196619, 0, 0, 196620, 0, 0, 196621, 0, 0, 196622, 0, 0, 196623, 0, 0, 196624, 0, 0, 196625, 0, 0, 196626, 0, 0, 196627, 0, 0, 196628, 0, 0, 196629, 0, 0, 196630, 1, 0, 196631, 1, 0, 196632, 1, 0, 196633, 1, 0, 196634, 1, 0, 196635, 1, 0, 196636, 1, 0, 196637, 0, 0, 196638, 0, 0, 196639, 0, 0, 196640, 0, 0, 327641, 0, 0, 327642, 0, 0, 327643, 0, 0, 327644, 1, 0, 327645, 1, 0, 327646, 1, 0, 327647, 1, 0, 327648, 1, 0, 327649, 1, 0, 327650, 1, 0, 327651, 1, 0, 327652, 1, 0, 327653, 1, 0, 327654, 1, 0, 327655, 1, 0, 327656, 1, 0, 327657, 0, 0, 327658, 0, 0, 327659, 0, 0, 327660, 1, 0, 327661, 1, 0, 327662, 1, 0, 327663, 1, 0, 327664, 1, 0, 327665, 1, 0, 327666, 1, 0, 327667, 1, 0, 327668, 1, 0, 327669, 1, 0, 327670, 1, 0, 327671, 1, 0, 327672, 1, 0, 327673, 1, 0, 327674, 1, 0, 327675, 1, 0, 327676, 1, 0, 327677, 0, 0, 327678, 0, 0, 327679, 0, 0, 262144, 0, 0, 262145, 0, 0, 262146, 0, 0, 262147, 1, 0, 262148, 1, 0, 262149, 1, 0, 262150, 1, 0, 262151, 1, 0, 262152, 0, 0, 262153, 0, 0, 262154, 0, 0, 262155, 0, 0, 262156, 0, 0, 262157, 0, 0, 262158, 0, 0, 262159, 0, 0, 262160, 0, 0, 262161, 0, 0, 262162, 0, 0, 262163, 0, 0, 262164, 0, 0, 262165, 1, 0, 262166, 1, 0, 262167, 1, 0, 262168, 1, 0, 262169, 1, 0, 262170, 1, 0, 262171, 1, 0, 262172, 1, 0, 262173, 0, 0, 262174, 0, 0, 262175, 0, 0, 262176, 0, 0, 393177, 0, 0, 393178, 0, 0, 393179, 0, 0, 393180, 1, 0, 393181, 1, 0, 393182, 1, 0, 393183, 1, 0, 393184, 1, 0, 393185, 1, 0, 393186, 1, 0, 393187, 1, 0, 393188, 1, 0, 393189, 1, 0, 393190, 1, 0, 393191, 1, 0, 393192, 1, 0, 393193, 0, 0, 393194, 0, 0, 393195, 0, 0, 393196, 1, 0, 393197, 1, 0, 393198, 1, 0, 393199, 1, 0, 393200, 1, 0, 393201, 1, 0, 393202, 1, 0, 393203, 1, 0, 393204, 1, 0, 393205, 1, 0, 393206, 1, 0, 393207, 1, 0, 393208, 1, 0, 393209, 1, 0, 393210, 1, 0, 393211, 0, 0, 393212, 0, 0, 393213, 0, 0, 393214, 0, 0, 393215, 0, 0, 327680, 0, 0, 327681, 0, 0, 327682, 0, 0, 327683, 0, 0, 327684, 0, 0, 327685, 1, 0, 327686, 1, 0, 327687, 1, 0, 327688, 0, 0, 327689, 0, 0, 327690, 0, 0, 327691, 0, 0, 327692, 0, 0, 327693, 0, 0, 327694, 0, 0, 327695, 0, 0, 327696, 0, 0, 327697, 0, 0, 327698, 0, 0, 327699, 0, 0, 327700, 1, 0, 327701, 1, 0, 327702, 1, 0, 327703, 1, 0, 327704, 1, 0, 327705, 1, 0, 327706, 1, 0, 327707, 1, 0, 327708, 1, 0, 327709, 0, 0, 327710, 0, 0, 327711, 0, 0, 327712, 0, 0, 458713, 0, 0, 458714, 0, 0, 458715, 0, 0, 458716, 1, 0, 458717, 1, 0, 458718, 1, 0, 458719, 1, 0, 458720, 1, 0, 458721, 1, 0, 458722, 1, 0, 458723, 1, 0, 458724, 1, 0, 458725, 1, 0, 458726, 1, 0, 458727, 1, 0, 458728, 1, 0, 458729, 0, 0, 458730, 0, 0, 458731, 0, 0, 458732, 0, 0, 458733, 0, 0, 458734, 0, 0, 458735, 1, 0, 458736, 1, 0, 458737, 1, 0, 458738, 1, 0, 458739, 1, 0, 458740, 1, 0, 458741, 0, 0, 458742, 0, 0, 458743, 0, 0, 458744, 1, 0, 458745, 1, 0, 458746, 1, 0, 458747, 0, 0, 458748, 0, 0, 458749, 0, 0, 458750, 0, 0, 458751, 0, 0, 393216, 0, 0, 393217, 0, 0, 393218, 0, 0, 393219, 0, 0, 393220, 0, 0, 393221, 1, 0, 393222, 1, 0, 393223, 1, 0, 393224, 0, 0, 393225, 0, 0, 393226, 0, 0, 393227, 0, 0, 393228, 0, 0, 393229, 0, 0, 393230, 0, 0, 393231, 0, 0, 393232, 0, 0, 393233, 0, 0, 393234, 0, 0, 393235, 1, 0, 393236, 1, 0, 393237, 1, 0, 393238, 1, 0, 393239, 1, 0, 393240, 1, 0, 393241, 1, 0, 393242, 1, 0, 393243, 1, 0, 393244, 1, 0, 393245, 0, 0, 393246, 0, 0, 393247, 0, 0, 393248, 0, 0, 524249, 0, 0, 524250, 0, 0, 524251, 0, 0, 524252, 1, 0, 524253, 1, 0, 524254, 1, 0, 524255, 1, 0, 524256, 1, 0, 524257, 1, 0, 524258, 1, 0, 524259, 0, 0, 524260, 0, 0, 524261, 0, 0, 524262, 1, 0, 524263, 1, 0, 524264, 1, 0, 524265, 0, 0, 524266, 0, 0, 524267, 0, 0, 524268, 0, 0, 524269, 0, 0, 524270, 0, 0, 524271, 1, 0, 524272, 1, 0, 524273, 1, 0, 524274, 1, 0, 524275, 1, 0, 524276, 1, 0, 524277, 0, 0, 524278, 0, 0, 524279, 0, 0, 524280, 1, 0, 524281, 1, 0, 524282, 1, 0, 524283, 0, 0, 524284, 0, 0, 524285, 0, 0, 524286, 0, 0, 524287, 0, 0, 458752, 0, 0, 458753, 0, 0, 458754, 0, 0, 458755, 0, 0, 458756, 0, 0, 458757, 1, 0, 458758, 1, 0, 458759, 1, 0, 458760, 0, 0, 458761, 0, 0, 458762, 0, 0, 458763, 1, 0, 458764, 1, 0, 458765, 1, 0, 458766, 1, 0, 458767, 1, 0, 458768, 1, 0, 458769, 1, 0, 458770, 1, 0, 458771, 1, 0, 458772, 1, 0, 458773, 1, 0, 458774, 1, 0, 458775, 1, 0, 458776, 1, 0, 458777, 1, 0, 458778, 1, 0, 458779, 1, 0, 458780, 1, 0, 458781, 0, 0, 458782, 0, 0, 458783, 0, 0, 458784, 0, 0, 589785, 0, 0, 589786, 0, 0, 589787, 0, 0, 589788, 1, 0, 589789, 1, 0, 589790, 1, 0, 589791, 1, 0, 589792, 1, 0, 589793, 1, 0, 589794, 1, 0, 589795, 1, 0, 589796, 1, 0, 589797, 1, 0, 589798, 1, 0, 589799, 1, 0, 589800, 1, 0, 589801, 1, 0, 589802, 0, 0, 589803, 0, 0, 589804, 0, 0, 589805, 0, 0, 589806, 0, 0, 589807, 1, 0, 589808, 1, 0, 589809, 1, 0, 589810, 0, 0, 589811, 0, 0, 589812, 0, 0, 589813, 0, 0, 589814, 0, 0, 589815, 0, 0, 589816, 1, 0, 589817, 1, 0, 589818, 1, 0, 589819, 0, 0, 589820, 0, 0, 589821, 0, 0, 589822, 0, 0, 589823, 0, 0, 524288, 0, 0, 524289, 0, 0, 524290, 0, 0, 524291, 0, 0, 524292, 0, 0, 524293, 1, 0, 524294, 1, 0, 524295, 1, 0, 524296, 0, 0, 524297, 0, 0, 524298, 0, 0, 524299, 1, 0, 524300, 1, 0, 524301, 1, 0, 524302, 1, 0, 524303, 1, 0, 524304, 1, 0, 524305, 1, 0, 524306, 1, 0, 524307, 1, 0, 524308, 1, 0, 524309, 1, 0, 524310, 1, 0, 524311, 1, 0, 524312, 1, 0, 524313, 1, 0, 524314, 1, 0, 524315, 1, 0, 524316, 1, 0, 524317, 0, 0, 524318, 0, 0, 524319, 0, 0, 524320, 0, 0, 655321, 0, 0, 655322, 0, 0, 655323, 0, 0, 655324, 1, 0, 655325, 1, 0, 655326, 1, 0, 655327, 1, 0, 655328, 1, 0, 655329, 1, 0, 655330, 1, 0, 655331, 1, 0, 655332, 1, 0, 655333, 1, 0, 655334, 1, 0, 655335, 1, 0, 655336, 1, 0, 655337, 1, 0, 655338, 1, 0, 655339, 0, 0, 655340, 0, 0, 655341, 0, 0, 655342, 0, 0, 655343, 1, 0, 655344, 1, 0, 655345, 1, 0, 655346, 0, 0, 655347, 0, 0, 655348, 0, 0, 655349, 0, 0, 655350, 0, 0, 655351, 1, 0, 655352, 1, 0, 655353, 1, 0, 655354, 1, 0, 655355, 0, 0, 655356, 0, 0, 655357, 0, 0, 655358, 0, 0, 655359, 0, 0, 589824, 0, 0, 589825, 0, 0, 589826, 0, 0, 589827, 0, 0, 589828, 0, 0, 589829, 1, 0, 589830, 1, 0, 589831, 1, 0, 589832, 0, 0, 589833, 0, 0, 589834, 0, 0, 589835, 1, 0, 589836, 1, 0, 589837, 1, 0, 589838, 1, 0, 589839, 1, 0, 589840, 1, 0, 589841, 1, 0, 589842, 1, 0, 589843, 1, 0, 589844, 1, 0, 589845, 1, 0, 589846, 1, 0, 589847, 1, 0, 589848, 1, 0, 589849, 1, 0, 589850, 1, 0, 589851, 1, 0, 589852, 1, 0, 589853, 0, 0, 589854, 0, 0, 589855, 0, 0, 589856, 0, 0, 720857, 0, 0, 720858, 0, 0, 720859, 0, 0, 720860, 1, 0, 720861, 1, 0, 720862, 0, 0, 720863, 0, 0, 720864, 0, 0, 720865, 1, 0, 720866, 1, 0, 720867, 1, 0, 720868, 1, 0, 720869, 1, 0, 720870, 1, 0, 720871, 1, 0, 720872, 1, 0, 720873, 1, 0, 720874, 1, 0, 720875, 1, 0, 720876, 0, 0, 720877, 0, 0, 720878, 0, 0, 720879, 1, 0, 720880, 1, 0, 720881, 1, 0, 720882, 0, 0, 720883, 0, 0, 720884, 0, 0, 720885, 0, 0, 720886, 1, 0, 720887, 1, 0, 720888, 1, 0, 720889, 1, 0, 720890, 0, 0, 720891, 0, 0, 720892, 0, 0, 720893, 0, 0, 720894, 0, 0, 720895, 0, 0, 655360, 0, 0, 655361, 0, 0, 655362, 0, 0, 655363, 0, 0, 655364, 0, 0, 655365, 1, 0, 655366, 1, 0, 655367, 1, 0, 655368, 0, 0, 655369, 0, 0, 655370, 0, 0, 655371, 1, 0, 655372, 1, 0, 655373, 1, 0, 655374, 1, 0, 655375, 1, 0, 655376, 1, 0, 655377, 1, 0, 655378, 1, 0, 655379, 1, 0, 655380, 1, 0, 655381, 1, 0, 655382, 1, 0, 655383, 1, 0, 655384, 1, 0, 655385, 1, 0, 655386, 1, 0, 655387, 1, 0, 655388, 1, 0, 655389, 0, 0, 655390, 0, 0, 655391, 0, 0, 655392, 0, 0, 786393, 0, 0, 786394, 0, 0, 786395, 0, 0, 786396, 1, 0, 786397, 1, 0, 786398, 1, 0, 786399, 1, 0, 786400, 1, 0, 786401, 1, 0, 786402, 1, 0, 786403, 1, 0, 786404, 1, 0, 786405, 1, 0, 786406, 1, 0, 786407, 1, 0, 786408, 1, 0, 786409, 1, 0, 786410, 1, 0, 786411, 1, 0, 786412, 1, 0, 786413, 1, 0, 786414, 1, 0, 786415, 1, 0, 786416, 1, 0, 786417, 1, 0, 786418, 1, 0, 786419, 1, 0, 786420, 1, 0, 786421, 1, 0, 786422, 1, 0, 786423, 1, 0, 786424, 1, 0, 786425, 0, 0, 786426, 0, 0, 786427, 0, 0, 786428, 1, 0, 786429, 1, 0, 786430, 1, 0, 786431, 1, 0, 720896, 1, 0, 720897, 1, 0, 720898, 1, 0, 720899, 1, 0, 720900, 1, 0, 720901, 1, 0, 720902, 1, 0, 720903, 1, 0, 720904, 0, 0, 720905, 0, 0, 720906, 0, 0, 720907, 1, 0, 720908, 1, 0, 720909, 1, 0, 720910, 1, 0, 720911, 1, 0, 720912, 1, 0, 720913, 1, 0, 720914, 1, 0, 720915, 1, 0, 720916, 1, 0, 720917, 1, 0, 720918, 0, 0, 720919, 0, 0, 720920, 0, 0, 720921, 0, 0, 720922, 0, 0, 720923, 0, 0, 720924, 0, 0, 720925, 0, 0, 720926, 0, 0, 720927, 0, 0, 720928, 0, 0, 851929, 0, 0, 851930, 0, 0, 851931, 0, 0, 851932, 1, 0, 851933, 1, 0, 851934, 1, 0, 851935, 1, 0, 851936, 1, 0, 851937, 1, 0, 851938, 1, 0, 851939, 1, 0, 851940, 1, 0, 851941, 1, 0, 851942, 1, 0, 851943, 1, 0, 851944, 1, 0, 851945, 1, 0, 851946, 1, 0, 851947, 1, 0, 851948, 1, 0, 851949, 1, 0, 851950, 1, 0, 851951, 1, 0, 851952, 1, 0, 851953, 1, 0, 851954, 1, 0, 851955, 1, 0, 851956, 1, 0, 851957, 1, 0, 851958, 1, 0, 851959, 1, 0, 851960, 0, 0, 851961, 0, 0, 851962, 0, 0, 851963, 1, 0, 851964, 1, 0, 851965, 1, 0, 851966, 1, 0, 851967, 1, 0, 786432, 1, 0, 786433, 1, 0, 786434, 1, 0, 786435, 1, 0, 786436, 1, 0, 786437, 1, 0, 786438, 1, 0, 786439, 1, 0, 786440, 0, 0, 786441, 0, 0, 786442, 0, 0, 786443, 1, 0, 786444, 1, 0, 786445, 1, 0, 786446, 1, 0, 786447, 1, 0, 786448, 1, 0, 786449, 1, 0, 786450, 1, 0, 786451, 1, 0, 786452, 1, 0, 786453, 1, 0, 786454, 0, 0, 786455, 0, 0, 786456, 0, 0, 786457, 0, 0, 786458, 0, 0, 786459, 0, 0, 786460, 0, 0, 786461, 0, 0, 786462, 0, 0, 786463, 0, 0, 786464, 0, 0, 917465, 0, 0, 917466, 0, 0, 917467, 0, 0, 917468, 1, 0, 917469, 1, 0, 917470, 1, 0, 917471, 1, 0, 917472, 1, 0, 917473, 1, 0, 917474, 1, 0, 917475, 0, 0, 917476, 0, 0, 917477, 0, 0, 917478, 1, 0, 917479, 1, 0, 917480, 1, 0, 917481, 1, 0, 917482, 1, 0, 917483, 1, 0, 917484, 1, 0, 917485, 1, 0, 917486, 1, 0, 917487, 1, 0, 917488, 1, 0, 917489, 1, 0, 917490, 1, 0, 917491, 1, 0, 917492, 1, 0, 917493, 1, 0, 917494, 1, 0, 917495, 0, 0, 917496, 0, 0, 917497, 0, 0, 917498, 1, 0, 917499, 1, 0, 917500, 1, 0, 917501, 1, 0, 917502, 1, 0, 917503, 1, 0, 851968, 1, 0, 851969, 1, 0, 851970, 1, 0, 851971, 1, 0, 851972, 1, 0, 851973, 1, 0, 851974, 1, 0, 851975, 1, 0, 851976, 0, 0, 851977, 0, 0, 851978, 0, 0, 851979, 1, 0, 851980, 1, 0, 851981, 1, 0, 851982, 1, 0, 851983, 0, 0, 851984, 0, 0, 851985, 0, 0, 851986, 1, 0, 851987, 1, 0, 851988, 1, 0, 851989, 1, 0, 851990, 1, 0, 851991, 1, 0, 851992, 1, 0, 851993, 1, 0, 851994, 1, 0, 851995, 1, 0, 851996, 0, 0, 851997, 0, 0, 851998, 0, 0, 851999, 0, 0, 852000, 0, 0, 983001, 0, 0, 983002, 0, 0, 983003, 0, 0, 983004, 1, 0, 983005, 1, 0, 983006, 1, 0, 983007, 1, 0, 983008, 1, 0, 983009, 1, 0, 983010, 1, 0, 983011, 1, 0, 983012, 1, 0, 983013, 1, 0, 983014, 1, 0, 983015, 1, 0, 983016, 1, 0, 983017, 1, 0, 983018, 1, 0, 983019, 1, 0, 983020, 1, 0, 983021, 1, 0, 983022, 1, 0, 983023, 1, 0, 983024, 1, 0, 983025, 1, 0, 983026, 1, 0, 983027, 1, 0, 983028, 1, 0, 983029, 1, 0, 983030, 0, 0, 983031, 0, 0, 983032, 0, 0, 983033, 1, 0, 983034, 1, 0, 983035, 1, 0, 983036, 1, 0, 983037, 1, 0, 983038, 1, 0, 983039, 1, 0, 917504, 1, 0, 917505, 1, 0, 917506, 1, 0, 917507, 1, 0, 917508, 1, 0, 917509, 1, 0, 917510, 1, 0, 917511, 1, 0, 917512, 0, 0, 917513, 0, 0, 917514, 0, 0, 917515, 1, 0, 917516, 1, 0, 917517, 1, 0, 917518, 1, 0, 917519, 1, 0, 917520, 1, 0, 917521, 1, 0, 917522, 1, 0, 917523, 1, 0, 917524, 1, 0, 917525, 1, 0, 917526, 1, 0, 917527, 1, 0, 917528, 1, 0, 917529, 1, 0, 917530, 1, 0, 917531, 1, 0, 917532, 0, 0, 917533, 0, 0, 917534, 0, 0, 917535, 0, 0, 917536, 0, 0, 1048537, 0, 0, 1048538, 0, 0, 1048539, 0, 0, 1048540, 1, 0, 1048541, 1, 0, 1048542, 1, 0, 1048543, 1, 0, 1048544, 1, 0, 1048545, 1, 0, 1048546, 1, 0, 1048547, 1, 0, 1048548, 1, 0, 1048549, 1, 0, 1048550, 1, 0, 1048551, 1, 0, 1048552, 1, 0, 1048553, 1, 0, 1048554, 1, 0, 1048555, 1, 0, 1048556, 0, 0, 1048557, 0, 0, 1048558, 0, 0, 1048559, 1, 0, 1048560, 1, 0, 1048561, 1, 0, 1048562, 0, 0, 1048563, 0, 0, 1048564, 0, 0, 1048565, 0, 0, 1048566, 0, 0, 1048567, 0, 0, 1048568, 1, 0, 1048569, 1, 0, 1048570, 1, 0, 1048571, 1, 0, 1048572, 1, 0, 1048573, 1, 0, 1048574, 0, 0, 1048575, 0, 0, 983040, 0, 0, 983041, 0, 0, 983042, 0, 0, 983043, 1, 0, 983044, 1, 0, 983045, 1, 0, 983046, 1, 0, 983047, 1, 0, 983048, 0, 0, 983049, 0, 0, 983050, 0, 0, 983051, 1, 0, 983052, 1, 0, 983053, 1, 0, 983054, 1, 0, 983055, 1, 0, 983056, 1, 0, 983057, 1, 0, 983058, 1, 0, 983059, 1, 0, 983060, 1, 0, 983061, 1, 0, 983062, 1, 0, 983063, 1, 0, 983064, 1, 0, 983065, 1, 0, 983066, 1, 0, 983067, 1, 0, 983068, 0, 0, 983069, 0, 0, 983070, 0, 0, 983071, 0, 0, 983072, 0, 0, 1114073, 0, 0, 1114074, 0, 0, 1114075, 0, 0, 1114076, 1, 0, 1114077, 1, 0, 1114078, 1, 0, 1114079, 1, 0, 1114080, 1, 0, 1114081, 1, 0, 1114082, 1, 0, 1114083, 1, 0, 1114084, 1, 0, 1114085, 1, 0, 1114086, 1, 0, 1114087, 1, 0, 1114088, 1, 0, 1114089, 1, 0, 1114090, 1, 0, 1114091, 1, 0, 1114092, 0, 0, 1114093, 0, 0, 1114094, 0, 0, 1114095, 1, 0, 1114096, 1, 0, 1114097, 1, 0, 1114098, 0, 0, 1114099, 0, 0, 1114100, 0, 0, 1114101, 0, 0, 1114102, 0, 0, 1114103, 1, 0, 1114104, 1, 0, 1114105, 1, 0, 1114106, 1, 0, 1114107, 1, 0, 1114108, 1, 0, 1114109, 1, 0, 1114110, 0, 0, 1114111, 0, 0, 1048576, 0, 0, 1048577, 0, 0, 1048578, 0, 0, 1048579, 1, 0, 1048580, 1, 0, 1048581, 1, 0, 1048582, 1, 0, 1048583, 1, 0, 1048584, 0, 0, 1048585, 0, 0, 1048586, 0, 0, 1048587, 0, 0, 1048588, 0, 0, 1048589, 0, 0, 1048590, 1, 0, 1048591, 1, 0, 1048592, 1, 0, 1048593, 1, 0, 1048594, 1, 0, 1048595, 0, 0, 1048596, 0, 0, 1048597, 0, 0, 1048598, 0, 0, 1048599, 1, 0, 1048600, 1, 0, 1048601, 1, 0, 1048602, 1, 0, 1048603, 1, 0, 1048604, 0, 0, 1048605, 0, 0, 1048606, 0, 0, 1048607, 0, 0, 1048608, 0, 0, 1179609, 0, 0, 1179610, 0, 0, 1179611, 0, 0, 1179612, 0, 0, 1179613, 0, 0, 1179614, 0, 0, 1179615, 0, 0, 1179616, 0, 0, 1179617, 0, 0, 1179618, 0, 0, 1179619, 0, 0, 1179620, 1, 0, 1179621, 1, 0, 1179622, 1, 0, 1179623, 1, 0, 1179624, 1, 0, 1179625, 1, 0, 1179626, 1, 0, 1179627, 1, 0, 1179628, 0, 0, 1179629, 0, 0, 1179630, 0, 0, 1179631, 1, 0, 1179632, 1, 0, 1179633, 1, 0, 1179634, 1, 0, 1179635, 1, 0, 1179636, 1, 0, 1179637, 1, 0, 1179638, 1, 0, 1179639, 1, 0, 1179640, 1, 0, 1179641, 1, 0, 1179642, 1, 0, 1179643, 1, 0, 1179644, 1, 0, 1179645, 1, 0, 1179646, 0, 0, 1179647, 0, 0, 1114112, 0, 0, 1114113, 0, 0, 1114114, 0, 0, 1114115, 1, 0, 1114116, 1, 0, 1114117, 1, 0, 1114118, 1, 0, 1114119, 1, 0, 1114120, 0, 0, 1114121, 0, 0, 1114122, 0, 0, 1114123, 0, 0, 1114124, 0, 0, 1114125, 0, 0, 1114126, 1, 0, 1114127, 1, 0, 1114128, 1, 0, 1114129, 1, 0, 1114130, 1, 0, 1114131, 0, 0, 1114132, 0, 0, 1114133, 0, 0, 1114134, 0, 0, 1114135, 0, 0, 1114136, 1, 0, 1114137, 1, 0, 1114138, 1, 0, 1114139, 1, 0, 1114140, 0, 0, 1114141, 0, 0, 1114142, 0, 0, 1114143, 0, 0, 1114144, 0, 0, 1245145, 0, 0, 1245146, 0, 0, 1245147, 0, 0, 1245148, 0, 0, 1245149, 0, 0, 1245150, 0, 0, 1245151, 0, 0, 1245152, 0, 0, 1245153, 0, 0, 1245154, 0, 0, 1245155, 0, 0, 1245156, 0, 0, 1245157, 1, 0, 1245158, 1, 0, 1245159, 1, 0, 1245160, 1, 0, 1245161, 1, 0, 1245162, 1, 0, 1245163, 1, 0, 1245164, 0, 0, 1245165, 0, 0, 1245166, 0, 0, 1245167, 1, 0, 1245168, 1, 0, 1245169, 1, 0, 1245170, 1, 0, 1245171, 1, 0, 1245172, 1, 0, 1245173, 1, 0, 1245174, 1, 0, 1245175, 1, 0, 1245176, 1, 0, 1245177, 1, 0, 1245178, 1, 0, 1245179, 1, 0, 1245180, 1, 0, 1245181, 1, 0, 1245182, 0, 0, 1245183, 0, 0, 1179648, 0, 0, 1179649, 0, 0, 1179650, 0, 0, 1179651, 1, 0, 1179652, 1, 0, 1179653, 1, 0, 1179654, 1, 0, 1179655, 1, 0, 1179656, 0, 0, 1179657, 0, 0, 1179658, 0, 0, 1179659, 0, 0, 1179660, 0, 0, 1179661, 0, 0, 1179662, 1, 0, 1179663, 1, 0, 1179664, 1, 0, 1179665, 1, 0, 1179666, 1, 0, 1179667, 0, 0, 1179668, 0, 0, 1179669, 0, 0, 1179670, 0, 0, 1179671, 0, 0, 1179672, 0, 0, 1179673, 1, 0, 1179674, 1, 0, 1179675, 1, 0, 1179676, 0, 0, 1179677, 0, 0, 1179678, 0, 0, 1179679, 0, 0, 1179680, 0, 0, 1310681, 0, 0, 1310682, 0, 0, 1310683, 0, 0, 1310684, 0, 0, 1310685, 0, 0, 1310686, 0, 0, 1310687, 0, 0, 1310688, 0, 0, 1310689, 0, 0, 1310690, 0, 0, 1310691, 0, 0, 1310692, 0, 0, 1310693, 0, 0, 1310694, 1, 0, 1310695, 1, 0, 1310696, 1, 0, 1310697, 1, 0, 1310698, 1, 0, 1310699, 1, 0, 1310700, 0, 0, 1310701, 0, 0, 1310702, 0, 0, 1310703, 1, 0, 1310704, 1, 0, 1310705, 1, 0, 1310706, 1, 0, 1310707, 1, 0, 1310708, 1, 0, 1310709, 1, 0, 1310710, 1, 0, 1310711, 1, 0, 1310712, 1, 0, 1310713, 1, 0, 1310714, 1, 0, 1310715, 1, 0, 1310716, 1, 0, 1310717, 1, 0, 1310718, 0, 0, 1310719, 0, 0, 1245184, 0, 0, 1245185, 0, 0, 1245186, 0, 0, 1245187, 1, 0, 1245188, 1, 0, 1245189, 1, 0, 1245190, 1, 0, 1245191, 1, 0, 1245192, 0, 0, 1245193, 0, 0, 1245194, 0, 0, 1245195, 0, 0, 1245196, 0, 0, 1245197, 0, 0, 1245198, 1, 0, 1245199, 1, 0, 1245200, 1, 0, 1245201, 1, 0, 1245202, 1, 0, 1245203, 0, 0, 1245204, 0, 0, 1245205, 0, 0, 1245206, 0, 0, 1245207, 0, 0, 1245208, 0, 0, 1245209, 1, 0, 1245210, 1, 0, 1245211, 1, 0, 1245212, 0, 0, 1245213, 0, 0, 1245214, 0, 0, 1245215, 0, 0, 1245216, 0, 0, 1376217, 0, 0, 1376218, 0, 0, 1376219, 0, 0, 1376220, 0, 0, 1376221, 0, 0, 1376222, 0, 0, 1376223, 0, 0, 1376224, 0, 0, 1376225, 0, 0, 1376226, 0, 0, 1376227, 0, 0, 1376228, 0, 0, 1376229, 0, 0, 1376230, 0, 0, 1376231, 1, 0, 1376232, 1, 0, 1376233, 1, 0, 1376234, 1, 0, 1376235, 1, 0, 1376236, 0, 0, 1376237, 0, 0, 1376238, 0, 0, 1376239, 1, 0, 1376240, 1, 0, 1376241, 1, 0, 1376242, 1, 0, 1376243, 1, 0, 1376244, 1, 0, 1376245, 1, 0, 1376246, 1, 0, 1376247, 1, 0, 1376248, 1, 0, 1376249, 1, 0, 1376250, 1, 0, 1376251, 1, 0, 1376252, 1, 0, 1376253, 1, 0, 1376254, 0, 0, 1376255, 0, 0, 1310720, 0, 0, 1310721, 0, 0, 1310722, 0, 0, 1310723, 1, 0, 1310724, 1, 0, 1310725, 1, 0, 1310726, 1, 0, 1310727, 1, 0, 1310728, 0, 0, 1310729, 0, 0, 1310730, 0, 0, 1310731, 1, 0, 1310732, 1, 0, 1310733, 1, 0, 1310734, 1, 0, 1310735, 1, 0, 1310736, 1, 0, 1310737, 1, 0, 1310738, 1, 0, 1310739, 1, 0, 1310740, 1, 0, 1310741, 1, 0, 1310742, 0, 0, 1310743, 0, 0, 1310744, 0, 0, 1310745, 1, 0, 1310746, 1, 0, 1310747, 1, 0, 1310748, 0, 0, 1310749, 0, 0, 1310750, 0, 0, 1310751, 0, 0, 1310752, 0, 0, 1441753, 0, 0, 1441754, 0, 0, 1441755, 0, 0, 1441756, 0, 0, 1441757, 0, 0, 1441758, 0, 0, 1441759, 0, 0, 1441760, 0, 0, 1441761, 0, 0, 1441762, 0, 0, 1441763, 0, 0, 1441764, 0, 0, 1441765, 0, 0, 1441766, 0, 0, 1441767, 0, 0, 1441768, 1, 0, 1441769, 1, 0, 1441770, 1, 0, 1441771, 1, 0, 1441772, 1, 0, 1441773, 1, 0, 1441774, 1, 0, 1441775, 1, 0, 1441776, 1, 0, 1441777, 1, 0, 1441778, 1, 0, 1441779, 1, 0, 1441780, 1, 0, 1441781, 1, 0, 1441782, 1, 0, 1441783, 1, 0, 1441784, 1, 0, 1441785, 1, 0, 1441786, 1, 0, 1441787, 1, 0, 1441788, 1, 0, 1441789, 1, 0, 1441790, 0, 0, 1441791, 0, 0, 1376256, 0, 0, 1376257, 0, 0, 1376258, 0, 0, 1376259, 1, 0, 1376260, 1, 0, 1376261, 1, 0, 1376262, 1, 0, 1376263, 1, 0, 1376264, 0, 0, 1376265, 0, 0, 1376266, 0, 0, 1376267, 1, 0, 1376268, 1, 0, 1376269, 1, 0, 1376270, 1, 0, 1376271, 1, 0, 1376272, 1, 0, 1376273, 1, 0, 1376274, 1, 0, 1376275, 1, 0, 1376276, 1, 0, 1376277, 1, 0, 1376278, 0, 0, 1376279, 0, 0, 1376280, 0, 0, 1376281, 1, 0, 1376282, 1, 0, 1376283, 1, 0, 1376284, 0, 0, 1376285, 0, 0, 1376286, 0, 0, 1376287, 0, 0, 1376288, 0, 0, 1507289, 0, 0, 1507290, 0, 0, 1507291, 0, 0, 1507292, 0, 0, 1507293, 0, 0, 1507294, 0, 0, 1507295, 0, 0, 1507296, 0, 0, 1507297, 0, 0, 1507298, 0, 0, 1507299, 0, 0, 1507300, 0, 0, 1507301, 0, 0, 1507302, 0, 0, 1507303, 0, 0, 1507304, 0, 0, 1507305, 1, 0, 1507306, 1, 0, 1507307, 1, 0, 1507308, 1, 0, 1507309, 1, 0, 1507310, 1, 0, 1507311, 1, 0, 1507312, 1, 0, 1507313, 1, 0, 1507314, 0, 0, 1507315, 0, 0, 1507316, 0, 0, 1507317, 0, 0, 1507318, 0, 0, 1507319, 1, 0, 1507320, 1, 0, 1507321, 1, 0, 1507322, 1, 0, 1507323, 1, 0, 1507324, 1, 0, 1507325, 1, 0, 1507326, 1, 0, 1507327, 1, 0, 1441792, 1, 0, 1441793, 1, 0, 1441794, 1, 0, 1441795, 1, 0, 1441796, 1, 0, 1441797, 1, 0, 1441798, 1, 0, 1441799, 1, 0, 1441800, 1, 0, 1441801, 1, 0, 1441802, 1, 0, 1441803, 1, 0, 1441804, 1, 0, 1441805, 1, 0, 1441806, 1, 0, 1441807, 1, 0, 1441808, 1, 0, 1441809, 1, 0, 1441810, 1, 0, 1441811, 1, 0, 1441812, 1, 0, 1441813, 1, 0, 1441814, 1, 0, 1441815, 1, 0, 1441816, 1, 0, 1441817, 1, 0, 1441818, 1, 0, 1441819, 1, 0, 1441820, 0, 0, 1441821, 0, 0, 1441822, 0, 0, 1441823, 0, 0, 1441824, 0, 0, 1572825, 0, 0, 1572826, 0, 0, 1572827, 0, 0, 1572828, 0, 0, 1572829, 0, 0, 1572830, 0, 0, 1572831, 0, 0, 1572832, 0, 0, 1572833, 0, 0, 1572834, 0, 0, 1572835, 0, 0, 1572836, 0, 0, 1572837, 0, 0, 1572838, 0, 0, 1572839, 0, 0, 1572840, 0, 0, 1572841, 0, 0, 1572842, 1, 0, 1572843, 1, 0, 1572844, 1, 0, 1572845, 1, 0, 1572846, 1, 0, 1572847, 1, 0, 1572848, 1, 0, 1572849, 1, 0, 1572850, 0, 0, 1572851, 0, 0, 1572852, 0, 0, 1572853, 0, 0, 1572854, 0, 0, 1572855, 1, 0, 1572856, 1, 0, 1572857, 1, 0, 1572858, 1, 0, 1572859, 1, 0, 1572860, 1, 0, 1572861, 1, 0, 1572862, 1, 0, 1572863, 1, 0, 1507328, 1, 0, 1507329, 1, 0, 1507330, 1, 0, 1507331, 1, 0, 1507332, 1, 0, 1507333, 1, 0, 1507334, 1, 0, 1507335, 1, 0, 1507336, 1, 0, 1507337, 1, 0, 1507338, 1, 0, 1507339, 1, 0, 1507340, 1, 0, 1507341, 1, 0, 1507342, 1, 0, 1507343, 1, 0, 1507344, 1, 0, 1507345, 1, 0, 1507346, 1, 0, 1507347, 1, 0, 1507348, 1, 0, 1507349, 1, 0, 1507350, 1, 0, 1507351, 1, 0, 1507352, 1, 0, 1507353, 1, 0, 1507354, 1, 0, 1507355, 1, 0, 1507356, 0, 0, 1507357, 0, 0, 1507358, 0, 0, 1507359, 0, 0, 1507360, 0, 0, 1638361, 0, 0, 1638362, 0, 0, 1638363, 0, 0, 1638364, 0, 0, 1638365, 0, 0, 1638366, 0, 0, 1638367, 0, 0, 1638368, 0, 0, 1638369, 0, 0, 1638370, 0, 0, 1638371, 0, 0, 1638372, 0, 0, 1638373, 0, 0, 1638374, 0, 0, 1638375, 0, 0, 1638376, 0, 0, 1638377, 0, 0, 1638378, 0, 0, 1638379, 1, 0, 1638380, 1, 0, 1638381, 1, 0, 1638382, 1, 0, 1638383, 1, 0, 1638384, 1, 0, 1638385, 1, 0, 1638386, 0, 0, 1638387, 0, 0, 1638388, 0, 0, 1638389, 0, 0, 1638390, 0, 0, 1638391, 1, 0, 1638392, 1, 0, 1638393, 1, 0, 1638394, 1, 0, 1638395, 1, 0, 1638396, 1, 0, 1638397, 1, 0, 1638398, 1, 0, 1638399, 1, 0, 1572864, 1, 0, 1572865, 1, 0, 1572866, 1, 0, 1572867, 1, 0, 1572868, 1, 0, 1572869, 1, 0, 1572870, 1, 0, 1572871, 1, 0, 1572872, 1, 0, 1572873, 1, 0, 1572874, 1, 0, 1572875, 1, 0, 1572876, 1, 0, 1572877, 1, 0, 1572878, 1, 0, 1572879, 1, 0, 1572880, 1, 0, 1572881, 1, 0, 1572882, 1, 0, 1572883, 1, 0, 1572884, 1, 0, 1572885, 1, 0, 1572886, 1, 0, 1572887, 1, 0, 1572888, 1, 0, 1572889, 1, 0, 1572890, 1, 0, 1572891, 1, 0, 1572892, 0, 0, 1572893, 0, 0, 1572894, 0, 0, 1572895, 0, 0, 1572896, 0, 0, 1703897, 0, 0, 1703898, 0, 0, 1703899, 0, 0, 1703900, 0, 0, 1703901, 0, 0, 1703902, 0, 0, 1703903, 0, 0, 1703904, 0, 0, 1703905, 0, 0, 1703906, 0, 0, 1703907, 0, 0, 1703908, 0, 0, 1703909, 0, 0, 1703910, 0, 0, 1703911, 0, 0, 1703912, 0, 0, 1703913, 0, 0, 1703914, 0, 0, 1703915, 0, 0, 1703916, 1, 0, 1703917, 1, 0, 1703918, 1, 0, 1703919, 1, 0, 1703920, 1, 0, 1703921, 1, 0, 1703922, 0, 0, 1703923, 0, 0, 1703924, 0, 0, 1703925, 0, 0, 1703926, 0, 0, 1703927, 1, 0, 1703928, 1, 0, 1703929, 1, 0, 1703930, 1, 0, 1703931, 1, 0, 1703932, 1, 0, 1703933, 1, 0, 1703934, 0, 0, 1703935, 0, 0, 1638400, 0, 0, 1638401, 0, 0, 1638402, 0, 0, 1638403, 0, 0, 1638404, 0, 0, 1638405, 0, 0, 1638406, 0, 0, 1638407, 0, 0, 1638408, 0, 0, 1638409, 0, 0, 1638410, 0, 0, 1638411, 1, 0, 1638412, 1, 0, 1638413, 1, 0, 1638414, 1, 0, 1638415, 1, 0, 1638416, 1, 0, 1638417, 1, 0, 1638418, 1, 0, 1638419, 1, 0, 1638420, 1, 0, 1638421, 1, 0, 1638422, 0, 0, 1638423, 0, 0, 1638424, 0, 0, 1638425, 0, 0, 1638426, 0, 0, 1638427, 0, 0, 1638428, 0, 0, 1638429, 0, 0, 1638430, 0, 0, 1638431, 0, 0, 1638432, 0, 0, 1769433, 0, 0, 1769434, 0, 0, 1769435, 0, 0, 1769436, 0, 0, 1769437, 0, 0, 1769438, 0, 0, 1769439, 0, 0, 1769440, 0, 0, 1769441, 0, 0, 1769442, 0, 0, 1769443, 0, 0, 1769444, 0, 0, 1769445, 0, 0, 1769446, 0, 0, 1769447, 0, 0, 1769448, 0, 0, 1769449, 0, 0, 1769450, 0, 0, 1769451, 0, 0, 1769452, 0, 0, 1769453, 1, 0, 1769454, 1, 0, 1769455, 1, 0, 1769456, 1, 0, 1769457, 1, 0, 1769458, 0, 0, 1769459, 0, 0, 1769460, 0, 0, 1769461, 0, 0, 1769462, 0, 0, 1769463, 1, 0, 1769464, 1, 0, 1769465, 1, 0, 1769466, 1, 0, 1769467, 1, 0, 1769468, 1, 0, 1769469, 1, 0, 1769470, 0, 0, 1769471, 0, 0, 1703936, 0, 0, 1703937, 0, 0, 1703938, 0, 0, 1703939, 0, 0, 1703940, 0, 0, 1703941, 0, 0, 1703942, 0, 0, 1703943, 0, 0, 1703944, 0, 0, 1703945, 0, 0, 1703946, 0, 0, 1703947, 1, 0, 1703948, 1, 0, 1703949, 1, 0, 1703950, 1, 0, 1703951, 1, 0, 1703952, 1, 0, 1703953, 1, 0, 1703954, 1, 0, 1703955, 1, 0, 1703956, 1, 0, 1703957, 1, 0, 1703958, 0, 0, 1703959, 0, 0, 1703960, 0, 0, 1703961, 0, 0, 1703962, 0, 0, 1703963, 0, 0, 1703964, 0, 0, 1703965, 0, 0, 1703966, 0, 0, 1703967, 0, 0, 1703968, 0, 0, 1834969, 0, 0, 1834970, 0, 0, 1834971, 0, 0, 1834972, 0, 0, 1834973, 0, 0, 1834974, 0, 0, 1834975, 0, 0, 1834976, 0, 0, 1834977, 0, 0, 1834978, 0, 0, 1834979, 0, 0, 1834980, 0, 0, 1834981, 0, 0, 1834982, 0, 0, 1834983, 0, 0, 1834984, 0, 0, 1834985, 0, 0, 1834986, 0, 0, 1834987, 0, 0, 1834988, 0, 0, 1834989, 0, 0, 1834990, 0, 0, 1834991, 0, 0, 1834992, 0, 0, 1834993, 0, 0, 1834994, 0, 0, 1834995, 0, 0, 1834996, 0, 0, 1834997, 0, 0, 1834998, 0, 0, 1834999, 0, 0, 1835000, 0, 0, 1835001, 0, 0, 1835002, 0, 0, 1835003, 0, 0, 1835004, 0, 0, 1835005, 0, 0, 1835006, 0, 0, 1835007, 0, 0, 1769472, 0, 0, 1769473, 0, 0, 1769474, 0, 0, 1769475, 0, 0, 1769476, 0, 0, 1769477, 0, 0, 1769478, 0, 0, 1769479, 0, 0, 1769480, 0, 0, 1769481, 0, 0, 1769482, 0, 0, 1769483, 0, 0, 1769484, 0, 0, 1769485, 0, 0, 1769486, 0, 0, 1769487, 0, 0, 1769488, 0, 0, 1769489, 0, 0, 1769490, 0, 0, 1769491, 0, 0, 1769492, 0, 0, 1769493, 0, 0, 1769494, 0, 0, 1769495, 0, 0, 1769496, 0, 0, 1769497, 0, 0, 1769498, 0, 0, 1769499, 0, 0, 1769500, 0, 0, 1769501, 0, 0, 1769502, 0, 0, 1769503, 0, 0, 1769504, 0, 0, 1900505, 0, 0, 1900506, 0, 0, 1900507, 0, 0, 1900508, 0, 0, 1900509, 0, 0, 1900510, 0, 0, 1900511, 0, 0, 1900512, 0, 0, 1900513, 0, 0, 1900514, 0, 0, 1900515, 0, 0, 1900516, 0, 0, 1900517, 0, 0, 1900518, 0, 0, 1900519, 0, 0, 1900520, 0, 0, 1900521, 0, 0, 1900522, 0, 0, 1900523, 0, 0, 1900524, 0, 0, 1900525, 0, 0, 1900526, 0, 0, 1900527, 0, 0, 1900528, 0, 0, 1900529, 0, 0, 1900530, 0, 0, 1900531, 0, 0, 1900532, 0, 0, 1900533, 0, 0, 1900534, 0, 0, 1900535, 0, 0, 1900536, 0, 0, 1900537, 0, 0, 1900538, 0, 0, 1900539, 0, 0, 1900540, 0, 0, 1900541, 0, 0, 1900542, 0, 0, 1900543, 0, 0, 1835008, 0, 0, 1835009, 0, 0, 1835010, 0, 0, 1835011, 0, 0, 1835012, 0, 0, 1835013, 0, 0, 1835014, 0, 0, 1835015, 0, 0, 1835016, 0, 0, 1835017, 0, 0, 1835018, 0, 0, 1835019, 0, 0, 1835020, 0, 0, 1835021, 0, 0, 1835022, 0, 0, 1835023, 0, 0, 1835024, 0, 0, 1835025, 0, 0, 1835026, 0, 0, 1835027, 0, 0, 1835028, 0, 0, 1835029, 0, 0, 1835030, 0, 0, 1835031, 0, 0, 1835032, 0, 0, 1835033, 0, 0, 1835034, 0, 0, 1835035, 0, 0, 1835036, 0, 0, 1835037, 0, 0, 1835038, 0, 0, 1835039, 0, 0, 1835040, 0, 0, 1966041, 0, 0, 1966042, 0, 0, 1966043, 0, 0, 1966044, 0, 0, 1966045, 0, 0, 1966046, 0, 0, 1966047, 0, 0, 1966048, 0, 0, 1966049, 0, 0, 1966050, 0, 0, 1966051, 0, 0, 1966052, 0, 0, 1966053, 0, 0, 1966054, 0, 0, 1966055, 0, 0, 1966056, 0, 0, 1966057, 0, 0, 1966058, 0, 0, 1966059, 0, 0, 1966060, 0, 0, 1966061, 0, 0, 1966062, 0, 0, 1966063, 0, 0, 1966064, 0, 0, 1966065, 0, 0, 1966066, 0, 0, 1966067, 0, 0, 1966068, 0, 0, 1966069, 0, 0, 1966070, 0, 0, 1966071, 0, 0, 1966072, 0, 0, 1966073, 0, 0, 1966074, 0, 0, 1966075, 0, 0, 1966076, 0, 0, 1966077, 0, 0, 1966078, 0, 0, 1966079, 0, 0, 1900544, 0, 0, 1900545, 0, 0, 1900546, 0, 0, 1900547, 0, 0, 1900548, 0, 0, 1900549, 0, 0, 1900550, 0, 0, 1900551, 0, 0, 1900552, 0, 0, 1900553, 0, 0, 1900554, 0, 0, 1900555, 0, 0, 1900556, 0, 0, 1900557, 0, 0, 1900558, 0, 0, 1900559, 0, 0, 1900560, 0, 0, 1900561, 0, 0, 1900562, 0, 0, 1900563, 0, 0, 1900564, 0, 0, 1900565, 0, 0, 1900566, 0, 0, 1900567, 0, 0, 1900568, 0, 0, 1900569, 0, 0, 1900570, 0, 0, 1900571, 0, 0, 1900572, 0, 0, 1900573, 0, 0, 1900574, 0, 0, 1900575, 0, 0, 1900576, 0, 0, 2031578, 0, 0, 2031579, 0, 0, 2031580, 0, 0, 2031581, 0, 0, 2031582, 0, 0, 2031583, 0, 0, 2031584, 0, 0, 2031585, 0, 0, 2031586, 0, 0, 2031587, 0, 0, 2031588, 0, 0, 2031589, 0, 0, 2031590, 0, 0, 2031591, 0, 0, 2031592, 0, 0, 2031593, 0, 0, 2031594, 0, 0, 2031595, 0, 0, 2031596, 0, 0, 2031597, 0, 0, 2031598, 0, 0, 2031599, 0, 0, 2031600, 0, 0, 2031601, 0, 0, 2031602, 0, 0, 2031603, 0, 0, 2031604, 0, 0, 2031605, 0, 0, 2031606, 0, 0, 2031607, 0, 0, 2031608, 0, 0, 2031609, 0, 0, 2031610, 0, 0, 2031611, 0, 0, 2031612, 0, 0, 2031613, 0, 0, 2031614, 0, 0, 2031615, 0, 0, 1966080, 0, 0, 1966081, 0, 0, 1966082, 0, 0, 1966083, 0, 0, 1966084, 0, 0, 1966085, 0, 0, 1966086, 0, 0, 1966087, 0, 0, 1966088, 0, 0, 1966089, 0, 0, 1966090, 0, 0, 1966091, 0, 0, 1966092, 0, 0, 1966093, 0, 0, 1966094, 0, 0, 1966095, 0, 0, 1966096, 0, 0, 1966097, 0, 0, 1966098, 0, 0, 1966099, 0, 0, 1966100, 0, 0, 1966101, 0, 0, 1966102, 0, 0, 1966103, 0, 0, 1966104, 0, 0, 1966105, 0, 0, 1966106, 0, 0, 1966107, 0, 0, 1966108, 0, 0, 1966109, 0, 0, 1966110, 0, 0, 1966111, 0, 0, 1966112, 0, 0 ) +__meta__ = { +"_edit_lock_": true +} + +[node name="SpawnPoint" type="Position2D" parent="."] +position = Vector2( 0, 160 ) +script = ExtResource( 2 ) + +[node name="Camera" type="Node" parent="."] + +[node name="CameraFollow" parent="Camera" instance=ExtResource( 3 )] +position = Vector2( 0, 120 ) +follow_vertically = true + +[node name="CameraLimits" parent="Camera" instance=ExtResource( 6 )] +topLeft = Vector2( -2432, -1408 ) +bottomRight = Vector2( 1984, 1856 ) + +[node name="CameraLimits2" parent="Camera" instance=ExtResource( 6 )] +topLeft = Vector2( -2944, -1536 ) +bottomRight = Vector2( -1152, -448 ) +limitID = 1 + +[node name="CameraLimits3" parent="Camera" instance=ExtResource( 6 )] +topLeft = Vector2( 1984, -1408 ) +bottomRight = Vector2( 3776, -640 ) +limitID = 2 + +[node name="LimitSetArea3" parent="Camera" instance=ExtResource( 8 )] +position = Vector2( 2012, -1096 ) +limitID = 2 + +[node name="CollisionShape2D" type="CollisionShape2D" parent="Camera/LimitSetArea3"] +position = Vector2( 79, -79 ) +shape = SubResource( 4 ) + +[node name="LimitSetArea2" parent="Camera" instance=ExtResource( 8 )] +position = Vector2( -1720, -744 ) + +[node name="CollisionShape2D2" type="CollisionShape2D" parent="Camera/LimitSetArea2"] +position = Vector2( 328, -227.75 ) +shape = SubResource( 1 ) + +[node name="CollisionShape2D" type="CollisionShape2D" parent="Camera/LimitSetArea2"] +position = Vector2( 81.5, 0 ) +shape = SubResource( 2 ) + +[node name="LimitSetArea" parent="Camera" instance=ExtResource( 8 )] +position = Vector2( -1712, -904 ) +limitID = 1 + +[node name="CollisionShape2D" type="CollisionShape2D" parent="Camera/LimitSetArea"] +position = Vector2( -16, -151 ) +shape = SubResource( 3 ) + +[node name="LimitSetArea4" parent="Camera" instance=ExtResource( 8 )] +position = Vector2( 1735, -1096 ) + +[node name="CollisionShape2D" type="CollisionShape2D" parent="Camera/LimitSetArea4"] +position = Vector2( 79, -79 ) +shape = SubResource( 4 ) + +[node name="Water" type="Node" parent="."] + +[node name="WaterBox" parent="Water" instance=ExtResource( 4 )] +position = Vector2( -2624, 1176 ) +size = Vector2( 5000, 1000 ) + +[node name="WaterBox2" parent="Water" instance=ExtResource( 4 )] +position = Vector2( 1536, 704 ) +rotation = -1.5708 +size = Vector2( 1920, 320 ) + +[node name="WaterBox3" parent="Water" instance=ExtResource( 4 )] +position = Vector2( -2816, -1024 ) +size = Vector2( 896, 320 ) + +[node name="WaterBox4" parent="Water" instance=ExtResource( 4 )] +position = Vector2( -256, -800 ) +size = Vector2( 320, 224 ) + +[node name="WaterBox5" parent="Water" instance=ExtResource( 4 )] +position = Vector2( 1856, -1216 ) +size = Vector2( 192, 64 ) +surface = false + +[node name="WaterBox6" parent="Water" instance=ExtResource( 4 )] +position = Vector2( 2304, -1280 ) +rotation = 1.5708 +size = Vector2( 512, 256 ) + +[node name="WaterPillar" type="Node2D" parent="Water"] +position = Vector2( 2672, -1280 ) +rotation = 1.5708 +__meta__ = { +"_edit_group_": true +} + +[node name="WaterBox7" parent="Water/WaterPillar" instance=ExtResource( 4 )] +size = Vector2( 512, 96 ) + +[node name="WaterBox8" parent="Water/WaterPillar" instance=ExtResource( 4 )] +position = Vector2( 512, 192 ) +rotation = 3.14159 +size = Vector2( 512, 96 ) + +[node name="WaterPillar2" type="Node2D" parent="Water"] +position = Vector2( 3008, -1280 ) +rotation = 1.5708 +__meta__ = { +"_edit_group_": true +} + +[node name="WaterBox7" parent="Water/WaterPillar2" instance=ExtResource( 4 )] +size = Vector2( 512, 96 ) + +[node name="WaterBox8" parent="Water/WaterPillar2" instance=ExtResource( 4 )] +position = Vector2( 512, 192 ) +rotation = 3.14159 +size = Vector2( 512, 96 ) + +[node name="WaterPillar3" type="Node2D" parent="Water"] +position = Vector2( 3328, -1280 ) +rotation = 1.5708 +__meta__ = { +"_edit_group_": true +} + +[node name="WaterBox7" parent="Water/WaterPillar3" instance=ExtResource( 4 )] +size = Vector2( 512, 96 ) + +[node name="WaterBox8" parent="Water/WaterPillar3" instance=ExtResource( 4 )] +position = Vector2( 512, 192 ) +rotation = 3.14159 +size = Vector2( 512, 96 ) + +[node name="EndPortal" parent="." instance=ExtResource( 5 )] +position = Vector2( -96, -928 ) + +[node name="Corncob" parent="." instance=ExtResource( 7 )] +position = Vector2( -2368, -1216 ) + +[node name="Coins" type="Node" parent="."] + +[node name="Coin" parent="Coins" instance=ExtResource( 9 )] +position = Vector2( -1184, 352 ) + +[node name="Coin2" parent="Coins" instance=ExtResource( 9 )] +position = Vector2( -1120, 352 ) + +[node name="Coin3" parent="Coins" instance=ExtResource( 9 )] +position = Vector2( -1248, 352 ) + +[node name="Coin4" parent="Coins" instance=ExtResource( 9 )] +position = Vector2( -992, 1568 ) + +[node name="Coin5" parent="Coins" instance=ExtResource( 9 )] +position = Vector2( -1056, 1568 ) + +[node name="Coin6" parent="Coins" instance=ExtResource( 9 )] +position = Vector2( -1120, 1568 ) + +[node name="Coin7" parent="Coins" instance=ExtResource( 9 )] +position = Vector2( 32, 1504 ) + +[node name="Coin8" parent="Coins" instance=ExtResource( 9 )] +position = Vector2( 96, 1504 ) + +[node name="Coin9" parent="Coins" instance=ExtResource( 9 )] +position = Vector2( -32, 1504 ) + +[node name="Coin10" parent="Coins" instance=ExtResource( 9 )] +position = Vector2( -32, 864 ) + +[node name="Coin11" parent="Coins" instance=ExtResource( 9 )] +position = Vector2( 32, 864 ) + +[node name="Coin12" parent="Coins" instance=ExtResource( 9 )] +position = Vector2( 96, 864 ) + +[node name="Coin16" parent="Coins" instance=ExtResource( 9 )] +position = Vector2( 160, 864 ) + +[node name="Coin17" parent="Coins" instance=ExtResource( 9 )] +position = Vector2( -96, 864 ) + +[node name="Coin18" parent="Coins" instance=ExtResource( 9 )] +position = Vector2( -96, 800 ) + +[node name="Coin19" parent="Coins" instance=ExtResource( 9 )] +position = Vector2( -32, 800 ) + +[node name="Coin20" parent="Coins" instance=ExtResource( 9 )] +position = Vector2( 32, 800 ) + +[node name="Coin21" parent="Coins" instance=ExtResource( 9 )] +position = Vector2( 96, 800 ) + +[node name="Coin22" parent="Coins" instance=ExtResource( 9 )] +position = Vector2( 160, 800 ) + +[node name="Coin23" parent="Coins" instance=ExtResource( 9 )] +position = Vector2( -96, 928 ) + +[node name="Coin24" parent="Coins" instance=ExtResource( 9 )] +position = Vector2( -32, 928 ) + +[node name="Coin25" parent="Coins" instance=ExtResource( 9 )] +position = Vector2( 32, 928 ) + +[node name="Coin26" parent="Coins" instance=ExtResource( 9 )] +position = Vector2( 96, 928 ) + +[node name="Coin27" parent="Coins" instance=ExtResource( 9 )] +position = Vector2( 160, 928 ) + +[node name="Coin28" parent="Coins" instance=ExtResource( 9 )] +position = Vector2( 864, 928 ) + +[node name="Coin29" parent="Coins" instance=ExtResource( 9 )] +position = Vector2( 800, 928 ) + +[node name="Coin30" parent="Coins" instance=ExtResource( 9 )] +position = Vector2( 1248, 928 ) + +[node name="Coin31" parent="Coins" instance=ExtResource( 9 )] +position = Vector2( 1312, 928 ) + +[node name="Coin32" parent="Coins" instance=ExtResource( 9 )] +position = Vector2( 800, 1376 ) + +[node name="Coin33" parent="Coins" instance=ExtResource( 9 )] +position = Vector2( 928, 1376 ) + +[node name="Coin34" parent="Coins" instance=ExtResource( 9 )] +position = Vector2( 1056, 1376 ) + +[node name="Coin35" parent="Coins" instance=ExtResource( 9 )] +position = Vector2( 1184, 1376 ) + +[node name="Coin36" parent="Coins" instance=ExtResource( 9 )] +position = Vector2( 1312, 1376 ) + +[node name="Coin37" parent="Coins" instance=ExtResource( 9 )] +position = Vector2( 800, 1632 ) + +[node name="Coin38" parent="Coins" instance=ExtResource( 9 )] +position = Vector2( 928, 1632 ) + +[node name="Coin39" parent="Coins" instance=ExtResource( 9 )] +position = Vector2( 1056, 1632 ) + +[node name="Coin40" parent="Coins" instance=ExtResource( 9 )] +position = Vector2( 1184, 1632 ) + +[node name="Coin41" parent="Coins" instance=ExtResource( 9 )] +position = Vector2( 1312, 1632 ) + +[node name="Coin42" parent="Coins" instance=ExtResource( 9 )] +position = Vector2( -1760, 736 ) + +[node name="Coin43" parent="Coins" instance=ExtResource( 9 )] +position = Vector2( -2080, 544 ) + +[node name="Coin44" parent="Coins" instance=ExtResource( 9 )] +position = Vector2( -1760, 352 ) + +[node name="Coin45" parent="Coins" instance=ExtResource( 9 )] +position = Vector2( -1568, 96 ) + +[node name="Coin46" parent="Coins" instance=ExtResource( 9 )] +position = Vector2( -1952, -32 ) + +[node name="Coin47" parent="Coins" instance=ExtResource( 9 )] +position = Vector2( -1728, -256 ) + +[node name="Coin48" parent="Coins" instance=ExtResource( 9 )] +position = Vector2( -1376, -416 ) + +[node name="Coin49" parent="Coins" instance=ExtResource( 9 )] +position = Vector2( 1184, -928 ) + +[node name="Coin50" parent="Coins" instance=ExtResource( 9 )] +position = Vector2( 1312, -928 ) + +[node name="Coin51" parent="Coins" instance=ExtResource( 9 )] +position = Vector2( 1440, -928 ) + +[node name="Starspine" parent="." instance=ExtResource( 10 )] +position = Vector2( 1376, 1696 ) + +[node name="Starspine2" parent="." instance=ExtResource( 10 )] +position = Vector2( -544, 1056 ) + +[node name="Door" type="TileMap" parent="."] +tile_set = ExtResource( 1 ) +collision_layer = 2 +collision_mask = 0 +format = 1 +tile_data = PoolIntArray( -327662, 8, 0, -262126, 8, 0, -196590, 8, 0 ) + +[node name="QueueFreeOnBigButtonPress" type="Node" parent="Door"] +script = ExtResource( 11 ) +id = "door" + +[node name="BigButton" parent="." instance=ExtResource( 12 )] +position = Vector2( 1312, -162 ) +id = "door" + +[node name="Door2" type="TileMap" parent="."] +position = Vector2( -2560, 320 ) +tile_set = ExtResource( 1 ) +collision_layer = 2 +collision_mask = 0 +format = 1 +tile_data = PoolIntArray( -327662, 8, 0, -262126, 8, 0, -196590, 8, 0 ) + +[node name="QueueFreeOnBigButtonPress" type="Node" parent="Door2"] +script = ExtResource( 11 ) +id = "door2" + +[node name="BigButton2" parent="." instance=ExtResource( 12 )] +position = Vector2( -1504, 160 ) +id = "door2" + +[node name="Luigi3" parent="." instance=ExtResource( 17 )] +position = Vector2( -1888, 1056 ) + +[node name="Luigi2" parent="." instance=ExtResource( 17 )] +position = Vector2( -1184, 928 ) + +[node name="Luigi" parent="." instance=ExtResource( 17 )] +position = Vector2( -2016, 32 ) + +[node name="Ombsti" parent="." instance=ExtResource( 15 )] +position = Vector2( 1184, -832 ) + +[node name="AngryRandallSpawner" parent="." instance=ExtResource( 16 )] +position = Vector2( 160, -928 ) + +[node name="SirDuckington" type="Sprite" parent="."] +position = Vector2( 3520, -944 ) +texture = ExtResource( 13 ) + +[node name="TextTrigger" parent="SirDuckington" instance=ExtResource( 14 )] +position = Vector2( 0, 24 ) +text = "This water... How does it work?" diff --git a/scenes/levels/AdventureLand/metadata/metadata.tres b/scenes/levels/AdventureLand/metadata/metadata.tres new file mode 100644 index 000000000..9990d01bb --- /dev/null +++ b/scenes/levels/AdventureLand/metadata/metadata.tres @@ -0,0 +1,10 @@ +[gd_resource type="Resource" load_steps=2 format=2] + +[ext_resource path="res://scenes/levels/LevelMetadata.gd" type="Script" id=1] + +[resource] +script = ExtResource( 1 ) +first_level_path = "res://scenes/levels/AdventureLand/Entrance.tscn" +tags = [ "platformer" ] +short_description = " " +description = "Just a few levels to explore." diff --git a/scenes/platformer/characters/Player.gd b/scenes/platformer/characters/Player.gd index a7add898f..ed6f3a01c 100644 --- a/scenes/platformer/characters/Player.gd +++ b/scenes/platformer/characters/Player.gd @@ -10,7 +10,6 @@ signal collided(collision) const MAXSPEED = 350 const CROUCH_MAXSPEED = MAXSPEED / 3 -const JUMPFORCE = 1120 const MAXACCEL = 50 const MINACCEL = 0.25 * MAXACCEL const JERK = 0.25 @@ -24,10 +23,12 @@ const SUPER_JUMP_MAX_TIME = 0.5 var gravity = preload("res://scripts/resources/Gravity.tres") var stats = preload("res://scripts/resources/PlayerStats.tres") +var jump_force = 1120 + var coyote_timer = COYOTE_TIME # used to give a bit of extra-time to jump after leaving the ground var jump_buffer_timer = 0 # gives a bit of buffer to hit the jump button before landing var x_motion = AxisMotion.new(AxisMotion.X, MAXSPEED, MAXACCEL, JERK) -var y_motion = AxisMotion.new(gravity.direction, JUMPFORCE, gravity.strength, 0.0) +var y_motion = AxisMotion.new(gravity.direction, jump_force, gravity.strength, 0.0) var gravity_multiplier = 1 # used for jump height variability var double_jump = true var crouching = false @@ -282,7 +283,7 @@ func jump(): stretch(0.2, 0, 0.5, 1.2) jump_buffer_timer = 0 coyote_timer = 0 - y_motion.set_speed(JUMPFORCE * -1) + y_motion.set_speed(jump_force * -1) anticipating_jump = false $JumpSFX.play() EventBus.emit_signal("jumping") @@ -295,7 +296,7 @@ func super_jump(): tween.stop_all() uncrouch() stretch(0.2, 0, 1.0, 2.5) - y_motion.set_speed(JUMPFORCE * -100) + y_motion.set_speed(jump_force * -100) anticipating_jump = false $JumpSFX.play() EventBus.emit_signal("jumping") diff --git a/scenes/platformer/environment/water/BaseWater.gd b/scenes/platformer/environment/water/BaseWater.gd new file mode 100644 index 000000000..f5c808330 --- /dev/null +++ b/scenes/platformer/environment/water/BaseWater.gd @@ -0,0 +1,49 @@ +class_name Water +extends Area2D + +#Warning: Although things can be in multiple water areas at the same time, do not allow +# anything to be in water areas with different multipliers at the same time. +# Strange things will happen. +export var gravity_multiplier := 0.2 +export var jump_multiplier := 0.5 + +const IN_WATER_GROUP := "in_water" +const WATER_COUNT_META := "water_count" + + +func _physics_process(_delta): + var bodies := get_overlapping_bodies() + for temp_body in bodies: + var body : PhysicsBody2D = temp_body + if "double_jump" in body: + body.double_jump = true + + +func _on_body_entered(body: Node): + #This keeps a count of how many water areas a body is in. + #This count is needed so physics work correctly when a body is touching multiple water areas. + var old_water_count := 0 + if body.has_meta(WATER_COUNT_META): + old_water_count = body.get_meta(WATER_COUNT_META) + body.set_meta(WATER_COUNT_META, old_water_count + 1) + body.add_to_group(IN_WATER_GROUP) + + if old_water_count == 0: #The body was not in water already + if "gravity" in body: + body.gravity.strength *= gravity_multiplier + if "jump_force" in body: + body.jump_force *= jump_multiplier + + +func _on_body_exited(body: Node): + assert(body.has_meta(WATER_COUNT_META)) + var old_water_count : int = body.get_meta(WATER_COUNT_META) + body.set_meta(WATER_COUNT_META, old_water_count - 1) + + if old_water_count == 1: #The body just exited the last water area + body.remove_from_group(IN_WATER_GROUP) + if "gravity" in body: + body.gravity.strength /= gravity_multiplier + if "jump_force" in body: + body.jump_force /= jump_multiplier + diff --git a/scenes/platformer/environment/water/WaterBox.gd b/scenes/platformer/environment/water/WaterBox.gd new file mode 100644 index 000000000..7422d8f09 --- /dev/null +++ b/scenes/platformer/environment/water/WaterBox.gd @@ -0,0 +1,49 @@ +tool +extends Water + +export var size := Vector2(1024, 300) setget size_set +export var color := Color(0.0, 0.3, 0.7, 0.5) setget color_set +export var surface_color := Color(0.8, 0.8, 1.0, 0.7) setget surface_color_set +export var surface := true setget surface_set + + +var is_ready := false + +func _ready(): + is_ready = true + update_size() + update_params() + +func size_set(value: Vector2): + size = value + if is_ready: #Make sure child nodes are loaded first + update_size() + +func color_set(value): + color = value + if is_ready: #Make sure child nodes are loaded first + update_params() + +func surface_color_set(value): + surface_color = value + if is_ready: #Make sure child nodes are loaded first + update_params() + +func surface_set(value): + surface = value + if is_ready: #Make sure child nodes are loaded first + update_params() + + +func update_size(): + $Display.scale = size + $Display.position = size + $CollisionShape2D.shape.extents = size / 2 + $CollisionShape2D.position = size / 2 + $Display.material.set_shader_param("size", size) + + +func update_params(): + $Display.material.set_shader_param("color", color) + $Display.material.set_shader_param("surface_color", surface_color) + $Display.material.set_shader_param("surface", surface) diff --git a/scenes/platformer/environment/water/WaterBox.tscn b/scenes/platformer/environment/water/WaterBox.tscn new file mode 100644 index 000000000..bf4982f7a --- /dev/null +++ b/scenes/platformer/environment/water/WaterBox.tscn @@ -0,0 +1,42 @@ +[gd_scene load_steps=6 format=2] + +[ext_resource path="res://scenes/platformer/environment/water/WaterBox.gd" type="Script" id=1] +[ext_resource path="res://scenes/platformer/environment/water/water_shader.tres" type="Shader" id=2] +[ext_resource path="res://textures/flatcolor.png" type="Texture" id=4] + +[sub_resource type="ShaderMaterial" id=1] +resource_local_to_scene = true +shader = ExtResource( 2 ) +shader_param/size = Vector2( 1024, 300 ) +shader_param/color = Color( 0, 0.301961, 0.701961, 0.501961 ) +shader_param/surface_color = Color( 0.8, 0.8, 1, 0.701961 ) +shader_param/surface = false +shader_param/surface_depth = 64.0 + +[sub_resource type="RectangleShape2D" id=2] +resource_local_to_scene = true +extents = Vector2( 512, 150 ) + +[node name="WaterBox" type="Area2D"] +collision_layer = 2 +collision_mask = 72 +space_override = 1 +gravity = 0.2 +linear_damp = 0.3 +script = ExtResource( 1 ) +color = Color( 0, 0.301961, 0.701961, 0.501961 ) +surface_color = Color( 0.8, 0.8, 1, 0.701961 ) + +[node name="Display" type="Sprite" parent="."] +material = SubResource( 1 ) +position = Vector2( 1024, 300 ) +scale = Vector2( 1024, 300 ) +texture = ExtResource( 4 ) + +[node name="CollisionShape2D" type="CollisionShape2D" parent="."] +visible = false +position = Vector2( 512, 150 ) +shape = SubResource( 2 ) + +[connection signal="body_entered" from="." to="." method="_on_body_entered"] +[connection signal="body_exited" from="." to="." method="_on_body_exited"] diff --git a/scenes/platformer/environment/water/water_shader.tres b/scenes/platformer/environment/water/water_shader.tres new file mode 100644 index 000000000..7f985778b --- /dev/null +++ b/scenes/platformer/environment/water/water_shader.tres @@ -0,0 +1,47 @@ +[gd_resource type="Shader" format=2] + +[resource] +code = "shader_type canvas_item; + +uniform vec2 size; +uniform vec4 color; +uniform vec4 surface_color; +uniform bool surface; + +uniform float surface_depth = 64.0; + +vec2 unscaled_uv(vec2 uv){ + uv.x *= size.x; + uv.y *= size.y; + return uv; +} + +float waviness(float x, float y){ + return y - (10.0 * (sin((x / 100.0) + TIME) + 1.0)); +} + + +float get_surface_effect(vec2 uv){ + if(surface == false){ + return 0.0; + } + float x = unscaled_uv(uv).x; + float y = unscaled_uv(uv).y; + + return smoothstep(surface_depth, 0, waviness(x, y)); +} + + +void fragment(){ + float x = unscaled_uv(UV).x; + float y = unscaled_uv(UV).y; + + COLOR = color; + + float surface_effect = get_surface_effect(UV); + if(surface_effect == 1.0){ + discard; + } else { + COLOR = mix(color, surface_color, surface_effect) + } +}" diff --git a/scripts/objects/CameraLimits.gd b/scripts/objects/CameraLimits.gd index ffcbf2089..7598d731e 100644 --- a/scripts/objects/CameraLimits.gd +++ b/scripts/objects/CameraLimits.gd @@ -20,13 +20,14 @@ func _ready() -> void: _find_current_camera() if limitID == 0: change_limits() + camera_reference.connect("tree_exiting", self, "_on_camera_exit_tree") func _enter_tree() -> void: EventBus.connect("cameraL_enter_set_area",self,"_on_enter_set_area") -func _exit_tree() -> void: +func _on_camera_exit_tree() -> void: EventBus.disconnect("cameraL_enter_set_area",self,"_on_enter_set_area") if camera_reference != null and doLimitsReset: camera_reference.limit_left = -10000000 @@ -35,7 +36,7 @@ func _exit_tree() -> void: camera_reference.limit_bottom = 10000000 -func _process(delta): +func _process(_delta): set_corners() if Engine.editor_hint: @@ -51,7 +52,7 @@ func _process(delta): func reset_points(): if $Line2D.get_point_count() != 5: $Line2D.clear_points() - for i in range(5): + for _i in range(5): $Line2D.add_point(Vector2(0, 0)) diff --git a/sprites/NPCs/sir_duckington.png b/sprites/NPCs/sir_duckington.png new file mode 100644 index 000000000..9641cc40d Binary files /dev/null and b/sprites/NPCs/sir_duckington.png differ diff --git a/sprites/NPCs/sir_duckington.png.import b/sprites/NPCs/sir_duckington.png.import new file mode 100644 index 000000000..d10210d0a --- /dev/null +++ b/sprites/NPCs/sir_duckington.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/sir_duckington.png-b5ace318f90fd81c218a8737e7ebb50c.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://sprites/NPCs/sir_duckington.png" +dest_files=[ "res://.import/sir_duckington.png-b5ace318f90fd81c218a8737e7ebb50c.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=false +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=false +svg/scale=1.0 diff --git a/textures/flatcolor.png b/textures/flatcolor.png new file mode 100644 index 000000000..13c0d359f Binary files /dev/null and b/textures/flatcolor.png differ diff --git a/textures/flatcolor.png.import b/textures/flatcolor.png.import new file mode 100644 index 000000000..07a05735b --- /dev/null +++ b/textures/flatcolor.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/flatcolor.png-264172cbb5ca60982552e47b75eea6cd.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://textures/flatcolor.png" +dest_files=[ "res://.import/flatcolor.png-264172cbb5ca60982552e47b75eea6cd.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=false +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=false +svg/scale=1.0