You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
1222 lines
44 KiB
1222 lines
44 KiB
worldgrid_SouthernWoodland = new GridlineObj(1,0,34.12,34.25);
|
|
worldgrid_Graveyard = new GridlineObj(15,1,29.85,29.85);
|
|
worldgrid_BeachPyramid = new GridlineObj(2,240,29.85,29.85);
|
|
worldgrid_ParkSkyHigh = new GridlineObj(3,0,31.25,31.25);
|
|
worldgrid_TownTop = new GridlineObj(277,357,26.25,27);
|
|
worldgrid_TownMain = new GridlineObj(277,392,26.25,27);
|
|
worldgrid_RabiRavine = new GridlineObj(402,250,31.25,31.25);
|
|
worldgrid_NorthernTundra = new GridlineObj(1,1,29.87,30.00);
|
|
worldgrid_EasternHighlands = new GridlineObj(0,0,29.95,29.95);
|
|
worldgrid_VolcanicCanerns = new GridlineObj(0,0,32.12,32.12); //The "typo" is actually a reference/easter egg. Kind of a meme. Ask around the community if interested.
|
|
worldgrid_Plurkwood = new GridlineObj(1,169,22.25,22.25);
|
|
worldgrid_SystemInterior = new GridlineObj(242,303,31.25,31.25);
|
|
|
|
/*
|
|
BEGINNER
|
|
INTERMEDIATE
|
|
ADVANCED
|
|
HARDCORE
|
|
*/
|
|
|
|
var DifficultyLevel = {
|
|
BEGINNER:1,
|
|
INTERMEDIATE:2,
|
|
ADVANCED:3,
|
|
HARDCORE:4
|
|
};
|
|
|
|
DIFFICULTY = DifficultyLevel.BEGINNER;
|
|
|
|
var NONE = true;
|
|
var EXPLOSIVES_ENEMY = BLOCK_CLIP = SLIDING_POWDER = ITM = DOWNDRILL_SEMISOLID_CLIP = RABI_SLIPPERS = AIR_JUMP = WALL_JUMP = ITM_HARD = AIR_DASH = SPEED5 = ADV_STUPID = WALL_JUMP_LV2 = WHIRL_BONK_CANCEL = SLIDE_JUMP_BUNSTRIKE_CANCEL = BUNNY_WHIRL = BUNNY_AMULET = PIKO_HAMMER = SLIDE_JUMP_BUNSTRIKE = ADV_VHARD =
|
|
WHIRL_BONK = AIR_DASH_LV3 = SPEED3 = SPEED2 = EXPLOSIVES = CARROT_BOMB = CARROT_SHOOTER = HAMMER_ROLL_ZIP = ADV_HARD = SLIDE_ZIP = HARD = SPEED1 = ITM_VHARD = DARKNESS = LIGHT_ORB = WATER_ORB = UNDERWATER = CARROT_SHOOTER_ENTRY = DOWNDRILL_SEMISOLID_CLIP = RIVERBANK_LOWER_HEALTH_UP_ROOM = PIKO_HAMMER_LEVELED = MANY_AMULET_FOOD = THREE_AMULET_FOOD = FIRE_ORB = TWO_AMULET_FOOD = POST_GAME = IMPOSSIBLE = AMULET_FOOD = BUNNY_STRIKE = HAMMER_ROLL = false;
|
|
var ASHURI_2 = TOWN_MAIN = PROLOGUE_TRIGGER = BOOST = CHARGE_RING = TM_CHOCOLATE = TM_VANILLA = TM_CICINI = TM_SYARO = TM_LILITH = SLIDING_POWDER = COCOA_1 = KOTRI_1 = CHAPTER_1 = POST_IRISU = BOSS_KEKE_BUNNY = PLURKWOOD = true;
|
|
|
|
Item = {
|
|
"CarrotBomb":false,
|
|
"CarrotShooter":false,
|
|
"SlidingPowder":false,
|
|
"RabiSlippers":false,
|
|
"AirJump":false,
|
|
"WallJump":false,
|
|
"BunnyWhirl":false,
|
|
"BunnyAmulet":false,
|
|
"BunnyStrike":false,
|
|
"PikoHammer":false,
|
|
"LightOrb":false,
|
|
"WaterOrb":false,
|
|
"FireOrb":false,
|
|
"AirDash":false,
|
|
"HammerRoll":false
|
|
}
|
|
|
|
function EvaluateConstraints() {
|
|
NONE = true;
|
|
ITM = HARD = DIFFICULTY >= DifficultyLevel.INTERMEDIATE;
|
|
ITM_HARD = ADV_HARD = DIFFICULTY >= DifficultyLevel.INTERMEDIATE;
|
|
ADV_VHARD = ITM_VHARD = DIFFICULTY >= DifficultyLevel.ADVANCED;
|
|
ADV_STUPID = DIFFICULTY >= DifficultyLevel.HARDCORE;
|
|
CARROT_BOMB = Item["CarrotBomb"];
|
|
CARROT_SHOOTER = Item["CarrotShooter"];
|
|
EXPLOSIVES = CARROT_BOMB || CARROT_SHOOTER;
|
|
EXPLOSIVES_ENEMY = CARROT_BOMB || (CARROT_SHOOTER && ITM);
|
|
BLOCK_CLIP = ITM;
|
|
SLIDING_POWDER = Item["SlidingPowder"];
|
|
DOWNDRILL_SEMISOLID_CLIP = ITM;
|
|
RABI_SLIPPERS = Item["RabiSlippers"];
|
|
AIR_JUMP = Item["AirJump"];
|
|
WALL_JUMP = WALL_JUMP_LV2 = Item["WallJump"];
|
|
BUNNY_WHIRL = Item["BunnyWhirl"];
|
|
BUNNY_AMULET = Item["BunnyAmulet"];
|
|
BUNNY_STRIKE = Item["BunnyStrike"];
|
|
PIKO_HAMMER = PIKO_HAMMER_LEVELED = Item["PikoHammer"];
|
|
LIGHT_ORB = Item["LightOrb"];
|
|
WATER_ORB = Item["WaterOrb"];
|
|
FIRE_ORB = Item["FireOrb"];
|
|
DARKNESS = LIGHT_ORB || ITM;
|
|
UNDERWATER = WATER_ORB || ITM;
|
|
SPEED5 = SPEED3 = SPEED2 = SPEED1 = ADV_VHARD;
|
|
AIR_DASH = AIR_DASH_LV3 = Item["AirDash"];
|
|
HAMMER_ROLL = Item["HammerRoll"];
|
|
HAMMER_ROLL_ZIP = HAMMER_ROLL && ADV_VHARD;
|
|
WHIRL_BONK = BUNNY_WHIRL && ITM;
|
|
WHIRL_BONK_CANCEL = BUNNY_WHIRL && BUNNY_AMULET && ITM;
|
|
SLIDE_JUMP_BUNSTRIKE_CANCEL = BUNNY_WHIRL && BUNNY_AMULET && SLIDING_POWDER && BUNNY_STRIKE && ADV_VHARD;
|
|
SLIDE_JUMP_BUNSTRIKE = SLIDING_POWDER && BUNNY_STRIKE && ITM;
|
|
AMULET_FOOD = MANY_AMULET_FOOD = THREE_AMULET_FOOD = TWO_AMULET_FOOD = BUNNY_AMULET && ADV_VHARD;
|
|
SLIDE_ZIP = SLIDING_POWDER && ADV_STUPID;
|
|
CARROT_SHOOTER_ENTRY = CARROT_SHOOTER && ADV_VHARD;
|
|
DOWNDRILL_SEMISOLID_CLIP = PIKO_HAMMER && ADV_VHARD;
|
|
RIVERBANK_LOWER_HEALTH_UP_ROOM = ITM;
|
|
}
|
|
|
|
constraints = {};
|
|
|
|
markers = [
|
|
new Location(17,0,worldgrid_SouthernWoodland, "MANA_WAGER"),
|
|
new Location(20,0,worldgrid_SouthernWoodland, "EGG_FOREST_NE_PEDESTAL"),
|
|
new Location(0,1,worldgrid_SouthernWoodland, "NATURE_ORB"),
|
|
new Location(2,1,worldgrid_SouthernWoodland, "EGG_FORESTNIGHT_ARURAUNE"),
|
|
new Location(9,1,worldgrid_SouthernWoodland, "HP_UP_NORTH_FOREST"),
|
|
new Location(13,1,worldgrid_SouthernWoodland, "LIGHT_ORB"),
|
|
new Location(18,1,worldgrid_SouthernWoodland, "MP_UP_NORTHEAST_FOREST"),
|
|
new Location(2,2,worldgrid_SouthernWoodland, "PACK_UP_FOREST_NIGHT"),
|
|
new Location(6,2,worldgrid_SouthernWoodland, "EGG_FORESTNIGHT_EAST"),
|
|
new Location(15,2,worldgrid_SouthernWoodland, "EGG_FOREST_NE_LEDGE"),
|
|
new Location(17,2,worldgrid_SouthernWoodland, "REGEN_UP_EAST_FOREST"),
|
|
new Location(6,3,worldgrid_SouthernWoodland, "TOXIC_STRIKE"),
|
|
new Location(4,4,worldgrid_SouthernWoodland, "ATK_UP_FOREST_NIGHT"),
|
|
new Location(10,4,worldgrid_SouthernWoodland, "REGEN_UP_MID_FOREST"),
|
|
new Location(12,4,worldgrid_SouthernWoodland, "CARROT_BOMB"),
|
|
new Location(6,5,worldgrid_SouthernWoodland, "PIKO_HAMMER"),
|
|
new Location(14,5,worldgrid_SouthernWoodland, "HP_UP_FOREST_POST_COCOA"),
|
|
new Location(17,5,worldgrid_SouthernWoodland, "MP_UP_EAST_FOREST"),
|
|
new Location(6,6,worldgrid_SouthernWoodland, "EGG_CAVE_UNDER_HAMMER"),
|
|
new Location(7,6,worldgrid_SouthernWoodland, "MP_UP_FOREST_CAVE"),
|
|
new Location(17,6,worldgrid_SouthernWoodland, "PACK_UP_EAST_FOREST"),
|
|
new Location(4,7,worldgrid_SouthernWoodland, "MP_UP_CAVE"),
|
|
new Location(13,7,worldgrid_SouthernWoodland, "DEF_TRADE"),
|
|
new Location(4,8,worldgrid_SouthernWoodland, "PACK_UP_SPECTRAL"),
|
|
new Location(5,8,worldgrid_SouthernWoodland, "HP_UP_CAVE"),
|
|
new Location(9,8,worldgrid_SouthernWoodland, "REGEN_UP_CAVE"),
|
|
new Location(13,8,worldgrid_SouthernWoodland, "EGG_CAVE_COCOA"),
|
|
new Location(3,9,worldgrid_SouthernWoodland, "HP_UP_WEST_SPECTRAL"),
|
|
new Location(10,9,worldgrid_SouthernWoodland, "MP_UP_MID_SPECTRAL"),
|
|
new Location(16,9,worldgrid_SouthernWoodland, "CHARGE_RING"),
|
|
new Location(4,10,worldgrid_SouthernWoodland, "EGG_SPECTRAL_WEST"),
|
|
new Location(9,10,worldgrid_SouthernWoodland, "WALL_JUMP"),
|
|
new Location(12,10,worldgrid_SouthernWoodland, "EGG_SPECTRAL_SLIDE"),
|
|
new Location(17,10,worldgrid_SouthernWoodland, "MP_UP_CICINI"),
|
|
new Location(8,11,worldgrid_SouthernWoodland, "TOUGH_SKIN"),
|
|
new Location(11,11,worldgrid_SouthernWoodland, "HP_UP_MID_SPECTRAL"),
|
|
new Location(17,11,worldgrid_SouthernWoodland, "ARM_STRENGTH"),
|
|
new Location(20,0,worldgrid_Graveyard, "PACK_UP_SKY_ISLAND"),
|
|
new Location(15,1,worldgrid_Graveyard, "TOP_FORM"),
|
|
new Location(18,1,worldgrid_Graveyard, "PURE_LOVE"),
|
|
new Location(0,3,worldgrid_Graveyard, "SURVIVAL"),
|
|
new Location(7,3,worldgrid_Graveyard, "EGG_GRAVEYARD_NEAR_LIBRARY"),
|
|
new Location(19,3,worldgrid_Graveyard, "EGG_SKY_TOWN"),
|
|
new Location(21,3,worldgrid_Graveyard, "REGEN_UP_SKY_ISLAND"),
|
|
new Location(3,4,worldgrid_Graveyard, "HEALTH_WAGER"),
|
|
new Location(7,4,worldgrid_Graveyard, "MP_UP_UPPER_GRAVEYARD"),
|
|
new Location(9,4,worldgrid_Graveyard, "CRISIS_BOOST"),
|
|
new Location(19,4,worldgrid_Graveyard, "HP_UP_SKY_ISLAND"),
|
|
new Location(4,5,worldgrid_Graveyard, "HP_UP_GRAVEYARD"),
|
|
new Location(17,5,worldgrid_Graveyard, "AIR_DASH"),
|
|
new Location(4,6,worldgrid_Graveyard, "MP_UP_GRAVEYARD_WARP"),
|
|
new Location(7,6,worldgrid_Graveyard, "AUTO_EARRINGS"),
|
|
new Location(9,6,worldgrid_Graveyard, "ATK_UP_GRAVEYARD"),
|
|
new Location(15,0,worldgrid_BeachPyramid, "PACK_UP_BEACH"),
|
|
new Location(14,2,worldgrid_BeachPyramid, "EGG_PYRAMID_BEACH"),
|
|
new Location(16,2,worldgrid_BeachPyramid, "HP_UP_PYRAMID_ENTRANCE"),
|
|
new Location(6,3,worldgrid_BeachPyramid, "SUNNY_BEAM"),
|
|
new Location(12,3,worldgrid_BeachPyramid, "HP_UP_BEACH"),
|
|
new Location(19,3,worldgrid_BeachPyramid, "MP_UP_BEACH_TUNNEL"),
|
|
new Location(22,3,worldgrid_BeachPyramid, "MP_UP_BEACH_PILLAR"),
|
|
new Location(4,4,worldgrid_BeachPyramid, "ATK_UP_BEACH_CAVE"),
|
|
new Location(9,4,worldgrid_BeachPyramid, "HEALTH_PLUS"),
|
|
new Location(11,4,worldgrid_BeachPyramid, "HP_UP_INNER_PYRAMID"),
|
|
new Location(14,5,worldgrid_BeachPyramid, "ARMORED"),
|
|
new Location(17,5,worldgrid_BeachPyramid, "MP_UP_PYRAMID_BOMBBLOCK_ROOM"),
|
|
new Location(19,5,worldgrid_BeachPyramid, "HOURGLASS"),
|
|
new Location(13,6,worldgrid_BeachPyramid, "PACK_UP_PYRAMID"),
|
|
new Location(16,6,worldgrid_BeachPyramid, "EGG_PYRAMID_LOWER"),
|
|
new Location(18,6,worldgrid_BeachPyramid, "REGEN_UP_PYRAMID"),
|
|
new Location(2,7,worldgrid_BeachPyramid, "EGG_BEACH_TO_AQUARIUM"),
|
|
new Location(10,7,worldgrid_BeachPyramid, "MP_UP_PYRAMID_DARK_ROOM"),
|
|
new Location(13,7,worldgrid_BeachPyramid, "ATK_UP_PYRAMID"),
|
|
new Location(14,7,worldgrid_BeachPyramid, "CHAOS_ROD"),
|
|
new Location(6,0,worldgrid_ParkSkyHigh, "EGG_SKY_BRIDGE_WARP"),
|
|
new Location(5,1,worldgrid_ParkSkyHigh, "MP_UP_SKY_BRIDGE"),
|
|
new Location(7,1,worldgrid_ParkSkyHigh, "HP_UP_SKY_BRIDGE"),
|
|
new Location(11,2,worldgrid_ParkSkyHigh, "LUCKY_SEVEN"),
|
|
new Location(11,3,worldgrid_ParkSkyHigh, "EGG_SKY_BRIDGE_BY_VANILLA"),
|
|
new Location(14,3,worldgrid_ParkSkyHigh, "ATK_UP_VANILLA"),
|
|
new Location(4,4,worldgrid_ParkSkyHigh, "HEALTH_SURGE"),
|
|
new Location(2,5,worldgrid_ParkSkyHigh, "ATK_UP_PARK"),
|
|
new Location(7,5,worldgrid_ParkSkyHigh, "HEX_CANCEL"),
|
|
new Location(8,5,worldgrid_ParkSkyHigh, "PACK_UP_SKY_BRIDGE"),
|
|
new Location(3,7,worldgrid_ParkSkyHigh, "REGEN_UP_PARK"),
|
|
new Location(2,8,worldgrid_ParkSkyHigh, "ATK_TRADE"),
|
|
new Location(9,8,worldgrid_ParkSkyHigh, "REGEN_UP_SKY_BRIDGE"),
|
|
new Location(6,9,worldgrid_ParkSkyHigh, "MP_UP_PARK"),
|
|
new Location(1,11,worldgrid_ParkSkyHigh, "EGG_PARK_SPIKES"),
|
|
new Location(2,12,worldgrid_ParkSkyHigh, "HP_UP_PARK"),
|
|
new Location(3,13,worldgrid_ParkSkyHigh, "EGG_UPRPRC_BASE"),
|
|
new Location(6,13,worldgrid_ParkSkyHigh, "MP_UP_UPRPRC_HQ"),
|
|
new Location(3,14,worldgrid_ParkSkyHigh, "RABI_SLIPPERS"),
|
|
new Location(1,15,worldgrid_ParkSkyHigh, "DEF_GROW"),
|
|
new Location(2,15,worldgrid_ParkSkyHigh, "EGG_PARK_GREEN_KOTRI"),
|
|
//new Location(4,15,worldgrid_ParkSkyHigh, " "),
|
|
//new Location(9,15,worldgrid_ParkSkyHigh, " "),
|
|
new Location(0.5,0,worldgrid_TownTop, "SPEED_BOOST"),
|
|
new Location(1.5,0,worldgrid_TownTop, "BUNNY_STRIKE"),
|
|
//new Location(3,0,worldgrid_TownTop, " "),
|
|
new Location(5,0,worldgrid_TownMain, "EGG_TOWN"),
|
|
//new Location(7,0,worldgrid_TownMain, " "),
|
|
new Location(4,1,worldgrid_RabiRavine, "HAMMER_WAVE"),
|
|
new Location(6,1,worldgrid_RabiRavine, "ATK_UP_NORTH_RAVINE"),
|
|
new Location(7,1,worldgrid_RabiRavine, "MP_UP_RAVINE"),
|
|
new Location(4,2,worldgrid_RabiRavine, "ATK_UP_WEST_RAVINE"),
|
|
new Location(6,2,worldgrid_RabiRavine, "EGG_RAVINE_MID"),
|
|
new Location(4,3,worldgrid_RabiRavine, "EGG_RAVINE_ABOVE_CHOCOLATE"),
|
|
new Location(6,3,worldgrid_RabiRavine, "HP_UP_MID_RAVINE"),
|
|
new Location(8,3,worldgrid_RabiRavine, "MANA_SURGE"),
|
|
new Location(7,6,worldgrid_RabiRavine, "REGEN_UP_RAVINE"),
|
|
new Location(5,7,worldgrid_RabiRavine, "HP_UP_SOUTH_RAVINE"),
|
|
new Location(1,0,worldgrid_NorthernTundra, "WATER_ORB"),
|
|
new Location(9,0,worldgrid_NorthernTundra, "GOLD_CARROT"),
|
|
new Location(1,1,worldgrid_NorthernTundra, "HP_UP_PALACE"),
|
|
new Location(5,1,worldgrid_NorthernTundra, "EGG_PALACE_BRIDGE"),
|
|
new Location(12,1,worldgrid_NorthernTundra, "ATK_UP_ICY_SUMMIT"),
|
|
new Location(16,1,worldgrid_NorthernTundra, "SUPER_CARROT"),
|
|
new Location(6,2,worldgrid_NorthernTundra, "EGG_PALACE_WALL"),
|
|
new Location(9,2,worldgrid_NorthernTundra, "PACK_UP_ICY_SUMMIT"),
|
|
new Location(16,2,worldgrid_NorthernTundra, "HP_UP_ICY_SUMMIT"),
|
|
new Location(3,3,worldgrid_NorthernTundra, "ATK_UP_PALACE"),
|
|
new Location(5,3,worldgrid_NorthernTundra, "REGEN_UP_PALACE"),
|
|
new Location(11,3,worldgrid_NorthernTundra, "EGG_ICY_SUMMIT_NIXIE"),
|
|
//new Location(1,4,worldgrid_NorthernTundra, " "),
|
|
new Location(5,4,worldgrid_NorthernTundra, "STAMINA_PLUS"),
|
|
new Location(15,4,worldgrid_NorthernTundra, "MP_UP_ICY_SUMMIT"),
|
|
new Location(17,4,worldgrid_NorthernTundra, "EGG_ICY_SUMMIT_WARP"),
|
|
new Location(6,5,worldgrid_NorthernTundra, "MP_UP_PALACE"),
|
|
new Location(9,6,worldgrid_NorthernTundra, "EGG_SNOWLAND_WARP"),
|
|
new Location(2,7,worldgrid_NorthernTundra, "EGG_SNOWLAND_TO_EVERNIGHT"),
|
|
new Location(4,7,worldgrid_NorthernTundra, "ATK_UP_SNOWLAND"),
|
|
//new Location(11,7,worldgrid_NorthernTundra, " "),
|
|
new Location(15,7,worldgrid_NorthernTundra, "MP_UP_SNOWLAND"),
|
|
new Location(7,8,worldgrid_NorthernTundra, "SELF_DEFENSE"),
|
|
new Location(16,8,worldgrid_NorthernTundra, "QUICK_BARRETTE"),
|
|
new Location(21,8,worldgrid_NorthernTundra, "HP_UP_SNOWLAND"),
|
|
new Location(9,9,worldgrid_NorthernTundra, "ATK_UP_UPPER_AQUARIUM"),
|
|
new Location(17,9,worldgrid_NorthernTundra, "REGEN_UP_SNOWLAND_WATER"),
|
|
new Location(18,9,worldgrid_NorthernTundra, "EGG_SNOWLAND_LAKE"),
|
|
new Location(22,10,worldgrid_NorthernTundra, "CARROT_BOOST"),
|
|
new Location(8,11,worldgrid_NorthernTundra, "HP_UP_UPPER_AQUARIUM"),
|
|
new Location(22,11,worldgrid_NorthernTundra, "REGEN_UP_AQUARIUM"),
|
|
new Location(2,12,worldgrid_NorthernTundra, "MANA_PLUS"),
|
|
new Location(13,12,worldgrid_NorthernTundra, "ATK_UP_MID_AQUARIUM"),
|
|
new Location(22,12,worldgrid_NorthernTundra, "PACK_UP_AQUARIUM"),
|
|
new Location(1,13,worldgrid_NorthernTundra, "HP_UP_WEST_AQUARIUM"),
|
|
new Location(6,13,worldgrid_NorthernTundra, "EGG_AQUARIUM"),
|
|
new Location(20,13,worldgrid_NorthernTundra, "MP_UP_AQUARIUM"),
|
|
new Location(22,0,worldgrid_EasternHighlands, "EGG_EVERNIGHT_SAYA"),
|
|
new Location(10,1,worldgrid_EasternHighlands, "SPIKE_BARRIER"),
|
|
new Location(18,1,worldgrid_EasternHighlands, "EGG_EVERNIGHT_MID"),
|
|
new Location(19,1,worldgrid_EasternHighlands, "REGEN_UP_EVERNIGHT"),
|
|
new Location(16,2,worldgrid_EasternHighlands, "ATK_UP_EVERNIGHT_UPRPRC"),
|
|
new Location(18,2,worldgrid_EasternHighlands, "PACK_UP_NORTH_EVERNIGHT"),
|
|
new Location(20,2,worldgrid_EasternHighlands, "ATK_UP_EVERNIGHT"),
|
|
new Location(14,3,worldgrid_EasternHighlands, "HP_UP_EVERNIGHT"),
|
|
new Location(23,3,worldgrid_EasternHighlands, "HAMMER_ROLL"),
|
|
new Location(8,4,worldgrid_EasternHighlands, "EXPLODE_SHOT"),
|
|
new Location(1,5,worldgrid_EasternHighlands, "REGEN_UP_NORTHWEST_RIVERBANK"),
|
|
new Location(3,5,worldgrid_EasternHighlands, "EGG_RIVERBANK_SPIDER_SPIKE"),
|
|
new Location(11,5,worldgrid_EasternHighlands, "FRAME_CANCEL"),
|
|
new Location(13,5,worldgrid_EasternHighlands, "MP_UP_EVERNIGHT"),
|
|
new Location(16,5,worldgrid_EasternHighlands, "PLUS_NECKLACE"),
|
|
new Location(3,6,worldgrid_EasternHighlands, "ATK_GROW"),
|
|
new Location(8,6,worldgrid_EasternHighlands, "EGG_RIVERBANK_WALL"),
|
|
new Location(18,7,worldgrid_EasternHighlands, "PACK_UP_SOUTH_EVERNIGHT"),
|
|
new Location(7,8,worldgrid_EasternHighlands, "ATK_UP_RIVERBANK_PIT"),
|
|
new Location(8,8,worldgrid_EasternHighlands, "MP_UP_MID_RIVERBANK"),
|
|
new Location(16,8,worldgrid_EasternHighlands, "CASHBACK"),
|
|
new Location(1,9,worldgrid_EasternHighlands, "PACK_UP_RIVERBANK"),
|
|
new Location(8,9,worldgrid_EasternHighlands, "BUNNY_WHIRL"),
|
|
new Location(10,9,worldgrid_EasternHighlands, "ATK_UP_EAST_RIVERBANK"),
|
|
new Location(12,9,worldgrid_EasternHighlands, "HP_UP_RIVERBANK"),
|
|
new Location(17,9,worldgrid_EasternHighlands, "WEAKEN"),
|
|
new Location(2,11,worldgrid_EasternHighlands, "MP_UP_SOUTHWEST_RIVERBANK"),
|
|
new Location(3,11,worldgrid_EasternHighlands, "REGEN_UP_SOUTH_RIVERBANK"),
|
|
new Location(11,11,worldgrid_EasternHighlands, "HP_UP_LAB_SLIDE_TUNNEL"),
|
|
new Location(12,11,worldgrid_EasternHighlands, "MP_UP_LAB"),
|
|
new Location(14,12,worldgrid_EasternHighlands, "EGG_LAB"),
|
|
new Location(15,12,worldgrid_EasternHighlands, "HP_UP_LAB_PIT"),
|
|
new Location(22,12,worldgrid_EasternHighlands, "ATK_UP_EAST_LAB"),
|
|
new Location(23,12,worldgrid_EasternHighlands, "PACK_UP_LAB"),
|
|
new Location(15,13,worldgrid_EasternHighlands, "SLIDING_POWDER"),
|
|
new Location(18,13,worldgrid_EasternHighlands, "ATK_UP_LAB_COMPUTER"),
|
|
new Location(16,0,worldgrid_VolcanicCanerns, "EGG_VOLCANIC_NE"),
|
|
new Location(4,2,worldgrid_VolcanicCanerns, "EGG_VOLCANIC_BOMB_BUNNIES"),
|
|
new Location(15,2,worldgrid_VolcanicCanerns, "PACK_UP_VOLCANIC"),
|
|
new Location(3,3,worldgrid_VolcanicCanerns, "HP_UP_VOLCANIC"),
|
|
new Location(14,3,worldgrid_VolcanicCanerns, "EGG_VOLCANIC_FIRE_ORB"),
|
|
new Location(14,6,worldgrid_VolcanicCanerns, "FIRE_ORB"),
|
|
new Location(21,11,worldgrid_VolcanicCanerns, "EGG_VOLCANIC_BIG_DROP"),
|
|
new Location(3,0,worldgrid_Plurkwood, "P_HAIRPIN"),
|
|
new Location(7,5,worldgrid_Plurkwood, "EGG_PLURK_EAST"),
|
|
new Location(0,6,worldgrid_Plurkwood, "EGG_PLURK_CAVE"),
|
|
new Location(0,12,worldgrid_Plurkwood, "EGG_PLURK_CATS"),
|
|
new Location(10,0,worldgrid_SystemInterior, "HP_UP_CYBERSPACE"),
|
|
new Location(11,1,worldgrid_SystemInterior, "ATK_UP_CYBERSPACE"),
|
|
new Location(1,2,worldgrid_SystemInterior, "REGEN_UP_CYBERSPACE"),
|
|
new Location(2,2,worldgrid_SystemInterior, "PACK_UP_CYBERSPACE"),
|
|
new Location(7,4,worldgrid_SystemInterior, "AIR_JUMP"),
|
|
new Location(14,4,worldgrid_SystemInterior, "MP_UP_CYBERSPACE"),
|
|
//new Location(5,5,worldgrid_SystemInterior, " "),
|
|
new Location(14,6,worldgrid_SystemInterior, "EGG_SYSINT1"),
|
|
];
|
|
|
|
openMarkers = [
|
|
];
|
|
|
|
function EvaluateMarkers() {
|
|
for ( i = 0; i < markers.length; i++){
|
|
var item = markers[i].itemName;
|
|
switch (item) {
|
|
case "NATURE_ORB":{
|
|
constraints[item]=NONE;
|
|
}break;
|
|
case "PACK_UP_FOREST_NIGHT":{
|
|
constraints[item]=(EXPLOSIVES_ENEMY | BLOCK_CLIP);
|
|
}break;
|
|
case "HP_UP_WEST_SPECTRAL":{
|
|
constraints[item]=NONE;
|
|
}break;
|
|
case "ATK_UP_FOREST_NIGHT":{
|
|
constraints[item]=NONE;
|
|
}break;
|
|
case "PACK_UP_SPECTRAL":{
|
|
constraints[item]=NONE;
|
|
}break;
|
|
case "MP_UP_CAVE":{
|
|
constraints[item]=SLIDING_POWDER;
|
|
}break;
|
|
case "HP_UP_CAVE":{
|
|
constraints[item]=NONE;
|
|
}break;
|
|
case "BLESSED":{
|
|
constraints[item]=POST_GAME;
|
|
}break;
|
|
case "TOXIC_STRIKE":{
|
|
constraints[item]=NONE;
|
|
}break;
|
|
case "PIKO_HAMMER":{
|
|
constraints[item]=NONE;
|
|
}break;
|
|
case "MP_UP_FOREST_CAVE":{
|
|
constraints[item]=SLIDING_POWDER;
|
|
}break;
|
|
case "TOUGH_SKIN":{
|
|
constraints[item]=ASHURI_2 & TOWN_MAIN;
|
|
}break;
|
|
case "REGEN_UP_CAVE":{
|
|
constraints[item]=(EXPLOSIVES_ENEMY | ITM) & SLIDING_POWDER;
|
|
}break;
|
|
case "HP_UP_NORTH_FOREST":{
|
|
constraints[item]=
|
|
((EXPLOSIVES_ENEMY & SLIDING_POWDER) | DOWNDRILL_SEMISOLID_CLIP);
|
|
}break;
|
|
case "WALL_JUMP":{
|
|
constraints[item]=NONE;
|
|
}break;
|
|
case "REGEN_UP_MID_FOREST":{
|
|
constraints[item]=
|
|
(ITM_HARD & (WALL_JUMP_LV2 | WHIRL_BONK_CANCEL))
|
|
| AIR_JUMP
|
|
| ((RABI_SLIPPERS | SLIDE_JUMP_BUNSTRIKE_CANCEL) & WALL_JUMP_LV2);
|
|
}break;
|
|
case "MP_UP_MID_SPECTRAL":{
|
|
constraints[item]=NONE;
|
|
}break;
|
|
case "HP_UP_MID_SPECTRAL":{
|
|
constraints[item]=NONE;
|
|
}break;
|
|
case "CARROT_BOMB":{
|
|
constraints[item]=NONE;
|
|
}break;
|
|
case "DEF_TRADE":{
|
|
constraints[item]=EXPLOSIVES_ENEMY;
|
|
}break;
|
|
case "LIGHT_ORB":{
|
|
constraints[item]=NONE;
|
|
}break;
|
|
case "HP_UP_FOREST_POST_COCOA":{
|
|
constraints[item]=PIKO_HAMMER | EXPLOSIVES_ENEMY;
|
|
}break;
|
|
case "CHARGE_RING":{
|
|
constraints[item]=NONE;
|
|
}break;
|
|
case "ARM_STRENGTH":{
|
|
constraints[item]=AIR_JUMP | (SLIDE_JUMP_BUNSTRIKE | AIR_DASH | AIR_JUMP | (ADV_VHARD & AMULET_FOOD));
|
|
}break;
|
|
case "REGEN_UP_EAST_FOREST":{
|
|
constraints[item]=NONE;
|
|
}break;
|
|
case "MANA_WAGER":{
|
|
constraints[item]=
|
|
WHIRL_BONK
|
|
| (AIR_JUMP & (RABI_SLIPPERS | ITM_HARD))
|
|
| (AIR_DASH & (RABI_SLIPPERS | SLIDE_JUMP_BUNSTRIKE_CANCEL))
|
|
// 4 tile corner rwj, airdash, wallkick, amulet cancel
|
|
| (ADV_VHARD & AIR_DASH_LV3 & BUNNY_AMULET)
|
|
// slide bonk off big bunny
|
|
| (ADV_STUPID & SLIDING_POWDER & RABI_SLIPPERS);
|
|
}break;
|
|
case "MP_UP_EAST_FOREST":{
|
|
constraints[item]=NONE;
|
|
}break;
|
|
case "PACK_UP_EAST_FOREST":{
|
|
constraints[item]=(PIKO_HAMMER | EXPLOSIVES_ENEMY) & SLIDING_POWDER;
|
|
}break;
|
|
case "MP_UP_CICINI":{
|
|
constraints[item]=(COCOA_1 & KOTRI_1 & CHAPTER_1)|(AIR_JUMP
|
|
| SLIDE_JUMP_BUNSTRIKE_CANCEL
|
|
| (ITM_HARD & (WALL_JUMP_LV2 | AIR_DASH))
|
|
| (RABI_SLIPPERS & (ADV_VHARD | (ADV_HARD & SPEED3)))
|
|
| (ADV_STUPID & PROLOGUE_TRIGGER & SPEED3));
|
|
}break;
|
|
case "MP_UP_NORTHEAST_FOREST":{
|
|
constraints[item]=EXPLOSIVES_ENEMY & SLIDING_POWDER;
|
|
}break;
|
|
case "SURVIVAL":{
|
|
constraints[item]=NONE;
|
|
}break;
|
|
case "HEALTH_WAGER":{
|
|
constraints[item]=
|
|
(AIR_JUMP & AIR_DASH)
|
|
| (AIR_JUMP & ITM_HARD)
|
|
| (AIR_DASH_LV3 & (
|
|
ADV_VHARD | (ITM_HARD & (WALL_JUMP | BUNNY_AMULET))
|
|
))
|
|
| (AIR_DASH & ADV_STUPID)
|
|
| (ADV_VHARD & BUNNY_STRIKE & BUNNY_AMULET);
|
|
}break;
|
|
case "ATK_UP_BEACH_CAVE":{
|
|
constraints[item]=NONE;
|
|
}break;
|
|
case "MP_UP_GRAVEYARD_WARP":{
|
|
constraints[item]=EXPLOSIVES_ENEMY;
|
|
}break;
|
|
case "HP_UP_GRAVEYARD":{
|
|
constraints[item]=NONE;
|
|
}break;
|
|
case "SUNNY_BEAM":{
|
|
constraints[item]=NONE;
|
|
}break;
|
|
case "MP_UP_UPPER_GRAVEYARD":{
|
|
constraints[item]=
|
|
// Getting onto the ledge
|
|
(AIR_JUMP | AIR_DASH | (ITM_HARD & (AMULET_FOOD | BUNNY_STRIKE)))
|
|
& (CARROT_BOMB | BLOCK_CLIP);
|
|
}break;
|
|
case "AUTO_EARRINGS":{
|
|
constraints[item]=NONE;
|
|
}break;
|
|
case "AUTO_TRIGGER":{
|
|
constraints[item]=POST_GAME & IMPOSSIBLE;
|
|
}break;
|
|
case "HEALTH_PLUS":{
|
|
constraints[item]=NONE;
|
|
}break;
|
|
case "MP_UP_PYRAMID_DARK_ROOM":{
|
|
constraints[item]=DARKNESS;
|
|
}break;
|
|
case "CRISIS_BOOST":{
|
|
constraints[item]=
|
|
(AIR_JUMP & (RABI_SLIPPERS | ITM_HARD))
|
|
| (AIR_DASH & (RABI_SLIPPERS | SLIDE_JUMP_BUNSTRIKE_CANCEL));
|
|
}break;
|
|
case "ATK_UP_GRAVEYARD":{
|
|
constraints[item]=EXPLOSIVES_ENEMY;
|
|
}break;
|
|
case "HP_UP_INNER_PYRAMID":{
|
|
constraints[item]=EXPLOSIVES;
|
|
}break;
|
|
case "HP_UP_BEACH":{
|
|
constraints[item]=EXPLOSIVES_ENEMY;
|
|
}break;
|
|
case "ATK_UP_PYRAMID":{
|
|
constraints[item]=CARROT_BOMB;
|
|
}break;
|
|
case "PACK_UP_PYRAMID":{
|
|
constraints[item]=EXPLOSIVES;
|
|
}break;
|
|
case "ARMORED":{
|
|
constraints[item]=NONE;
|
|
}break;
|
|
case "CHAOS_ROD":{
|
|
constraints[item]=NONE;
|
|
}break;
|
|
case "PACK_UP_BEACH":{
|
|
constraints[item]=EXPLOSIVES_ENEMY | BLOCK_CLIP;
|
|
}break;
|
|
case "TOP_FORM":{
|
|
constraints[item]=NONE;
|
|
}break;
|
|
case "HP_UP_PYRAMID_ENTRANCE":{
|
|
constraints[item]=CARROT_BOMB | (CARROT_SHOOTER & BOOST & ADV_HARD);
|
|
}break;
|
|
case "HITBOX_DOWN":{
|
|
constraints[item]=POST_GAME & CARROT_BOMB & IMPOSSIBLE;
|
|
}break;
|
|
case "MP_UP_PYRAMID_BOMBBLOCK_ROOM":{
|
|
constraints[item]=NONE;
|
|
}break;
|
|
case "AIR_DASH":{
|
|
constraints[item]=EXPLOSIVES & SLIDING_POWDER;
|
|
}break;
|
|
case "REGEN_UP_PYRAMID":{
|
|
constraints[item]=NONE;
|
|
}break;
|
|
case "PURE_LOVE":{
|
|
constraints[item]=EXPLOSIVES & SLIDING_POWDER;
|
|
}break;
|
|
case "MP_UP_BEACH_TUNNEL":{
|
|
constraints[item]=NONE;
|
|
}break;
|
|
case "HOURGLASS":{
|
|
constraints[item]=NONE;
|
|
}break;
|
|
case "HP_UP_SKY_ISLAND":{
|
|
constraints[item]=EXPLOSIVES;
|
|
}break;
|
|
case "PACK_UP_SKY_ISLAND":{
|
|
constraints[item]=EXPLOSIVES;
|
|
}break;
|
|
case "REGEN_UP_SKY_ISLAND":{
|
|
constraints[item]=EXPLOSIVES;
|
|
}break;
|
|
case "MP_UP_BEACH_PILLAR":{
|
|
constraints[item]=NONE;
|
|
}break;
|
|
case "DEF_GROW":{
|
|
constraints[item]=NONE;
|
|
}break;
|
|
case "ATK_UP_PARK":{
|
|
constraints[item]=EXPLOSIVES_ENEMY;
|
|
}break;
|
|
case "ATK_TRADE":{
|
|
constraints[item]=EXPLOSIVES;
|
|
}break;
|
|
case "HP_UP_PARK":{
|
|
constraints[item]=EXPLOSIVES_ENEMY;
|
|
}break;
|
|
case "RABI_SLIPPERS":{
|
|
constraints[item]=NONE;
|
|
}break;
|
|
case "REGEN_UP_PARK":{
|
|
constraints[item]=SLIDING_POWDER | HAMMER_ROLL_ZIP;
|
|
}break;
|
|
case "HEALTH_SURGE":{
|
|
constraints[item]=NONE;
|
|
}break;
|
|
case "MP_UP_SKY_BRIDGE":{
|
|
constraints[item]=EXPLOSIVES & SLIDING_POWDER
|
|
}break;
|
|
case "MP_UP_UPRPRC_HQ":{
|
|
constraints[item]=NONE;
|
|
}break;
|
|
case "MP_UP_PARK":{
|
|
constraints[item]=RABI_SLIPPERS | SLIDING_POWDER | AIR_DASH | AIR_JUMP | (ITM & SPEED2) | (ADV_VHARD & AMULET_FOOD)
|
|
}break;
|
|
case "HEX_CANCEL":{
|
|
constraints[item]=NONE;
|
|
}break;
|
|
case "HP_UP_SKY_BRIDGE":{
|
|
constraints[item]=NONE;
|
|
}break;
|
|
case "PACK_UP_SKY_BRIDGE":{
|
|
constraints[item]=NONE;
|
|
}break;
|
|
case "REGEN_UP_SKY_BRIDGE":{
|
|
constraints[item]=NONE;
|
|
}break;
|
|
case "LUCKY_SEVEN":{
|
|
constraints[item]=NONE;
|
|
}break;
|
|
case "ATK_UP_VANILLA":{
|
|
constraints[item]=
|
|
(CARROT_BOMB | (CARROT_SHOOTER & BOOST & ADV_HARD)) &
|
|
SLIDING_POWDER;
|
|
}break;
|
|
case "HAMMER_WAVE":{
|
|
constraints[item]=NONE;
|
|
}break;
|
|
case "ATK_UP_WEST_RAVINE":{
|
|
constraints[item]=NONE;
|
|
}break;
|
|
case "HP_UP_SOUTH_RAVINE":{
|
|
constraints[item]=EXPLOSIVES_ENEMY & (SLIDING_POWDER | HAMMER_ROLL_ZIP);
|
|
}break;
|
|
case "ATK_UP_NORTH_RAVINE":{
|
|
constraints[item]=EXPLOSIVES | BLOCK_CLIP
|
|
}break;
|
|
case "HP_UP_MID_RAVINE":{
|
|
constraints[item]=EXPLOSIVES
|
|
}break;
|
|
case "MP_UP_RAVINE":{
|
|
constraints[item]=EXPLOSIVES
|
|
}break;
|
|
case "REGEN_UP_RAVINE":{
|
|
// cramped 2 tile zip in and out
|
|
constraints[item]=EXPLOSIVES | (ADV_STUPID & SLIDE_ZIP);
|
|
}break;
|
|
case "MANA_SURGE":{
|
|
constraints[item]=NONE;
|
|
}break;
|
|
case "HP_UP_PALACE":{
|
|
constraints[item]=NONE;
|
|
}break;
|
|
case "WATER_ORB":{
|
|
constraints[item]=NONE;
|
|
}break;
|
|
case "HP_UP_WEST_AQUARIUM":{
|
|
constraints[item]=DARKNESS & EXPLOSIVES }break;
|
|
case "MANA_PLUS":{
|
|
constraints[item]=DARKNESS
|
|
}break;
|
|
case "ATK_UP_PALACE":{
|
|
constraints[item]=FIRE_ORB
|
|
}break;
|
|
case "ATK_UP_SNOWLAND":{
|
|
constraints[item]=EXPLOSIVES_ENEMY & (SLIDING_POWDER | HAMMER_ROLL | BLOCK_CLIP)
|
|
}break;
|
|
case "REGEN_UP_PALACE":{
|
|
constraints[item]=
|
|
DARKNESS &
|
|
(
|
|
SLIDE_JUMP_BUNSTRIKE
|
|
| WHIRL_BONK
|
|
| AIR_DASH
|
|
| AIR_JUMP
|
|
// rwj left wall, wallkick overhang
|
|
| (RABI_SLIPPERS & ((ITM_HARD & SPEED2) | ADV_STUPID))
|
|
// wimpy right corner, bounce left wall, amulet (similar to spike barrier)
|
|
| (ADV_STUPID & AMULET_FOOD)
|
|
)
|
|
}break;
|
|
case "STAMINA_PLUS":{
|
|
constraints[item]=EXPLOSIVES_ENEMY
|
|
}break;
|
|
case "MP_UP_PALACE":{
|
|
constraints[item]=NONE;
|
|
}break;
|
|
case "SELF_DEFENSE":{
|
|
constraints[item]=SLIDING_POWDER & UNDERWATER;
|
|
}break;
|
|
case "HP_UP_UPPER_AQUARIUM":{
|
|
constraints[item]=NONE;
|
|
}break;
|
|
case "GOLD_CARROT":{
|
|
constraints[item]=
|
|
AIR_JUMP
|
|
| (WALL_JUMP_LV2 & (
|
|
WHIRL_BONK
|
|
| (AIR_DASH & HARD)
|
|
| SLIDE_JUMP_BUNSTRIKE
|
|
| (RABI_SLIPPERS & (
|
|
SLIDING_POWDER
|
|
| (SPEED1 & ITM_HARD)
|
|
| (AMULET_FOOD & ADV_STUPID)
|
|
))
|
|
))
|
|
}break;
|
|
case "ATK_UP_UPPER_AQUARIUM":{
|
|
constraints[item]=NONE;
|
|
}break;
|
|
case "PACK_UP_ICY_SUMMIT":{
|
|
constraints[item]=AIR_JUMP | AIR_DASH | (WHIRL_BONK & ADV_VHARD)
|
|
}break;
|
|
case "ATK_UP_ICY_SUMMIT":{
|
|
constraints[item]=EXPLOSIVES_ENEMY
|
|
}break;
|
|
case "ATK_UP_MID_AQUARIUM":{
|
|
constraints[item]=NONE;
|
|
}break;
|
|
case "MP_UP_ICY_SUMMIT":{
|
|
constraints[item]=ADV_STUPID | RABI_SLIPPERS | AIR_JUMP | WALL_JUMP | WHIRL_BONK | (SPEED1 & ITM_VHARD) | (SLIDING_POWDER | HAMMER_ROLL_ZIP)
|
|
}break;
|
|
case "MP_UP_SNOWLAND":{
|
|
constraints[item]=EXPLOSIVES_ENEMY
|
|
}break;
|
|
case "QUICK_BARRETTE":{
|
|
constraints[item]=NONE;
|
|
}break;
|
|
case "HP_UP_ICY_SUMMIT":{
|
|
constraints[item]=NONE;
|
|
}break;
|
|
case "SUPER_CARROT":{
|
|
constraints[item]=EXPLOSIVES
|
|
}break;
|
|
case "REGEN_UP_SNOWLAND_WATER":{
|
|
constraints[item]=NONE;
|
|
}break;
|
|
case "MP_UP_AQUARIUM":{
|
|
constraints[item]=NONE;
|
|
}break;
|
|
case "HP_UP_SNOWLAND":{
|
|
constraints[item]=EXPLOSIVES_ENEMY
|
|
}break;
|
|
case "CARROT_BOOST":{
|
|
constraints[item]=NONE;
|
|
}break;
|
|
case "REGEN_UP_AQUARIUM":{
|
|
constraints[item]=SLIDING_POWDER
|
|
}break;
|
|
case "PACK_UP_AQUARIUM":{
|
|
constraints[item]=NONE;
|
|
}break;
|
|
case "REGEN_UP_NORTHWEST_RIVERBANK":{
|
|
constraints[item]=NONE;
|
|
}break;
|
|
case "PACK_UP_RIVERBANK":{
|
|
constraints[item]=NONE;
|
|
}break;
|
|
case "MP_UP_SOUTHWEST_RIVERBANK":{
|
|
constraints[item]=EXPLOSIVES
|
|
}break;
|
|
case "ATK_GROW":{
|
|
constraints[item]=NONE;
|
|
}break;
|
|
case "REGEN_UP_SOUTH_RIVERBANK":{
|
|
constraints[item]=DARKNESS & UNDERWATER & EXPLOSIVES
|
|
}break;
|
|
case "ATK_UP_RIVERBANK_PIT":{
|
|
constraints[item]=NONE;
|
|
}break;
|
|
case "BUNNY_WHIRL":{
|
|
constraints[item]=
|
|
PIKO_HAMMER | (CARROT_SHOOTER & BOOST & ADV_HARD)
|
|
// slide zip from bomb block slide tunnel in room to the left
|
|
| SLIDE_ZIP;
|
|
}break;
|
|
case "EXPLODE_SHOT":{
|
|
constraints[item]=NONE;
|
|
}break;
|
|
case "MP_UP_MID_RIVERBANK":{
|
|
constraints[item]=EXPLOSIVES_ENEMY
|
|
}break;
|
|
case "ATK_UP_EAST_RIVERBANK":{
|
|
constraints[item]=
|
|
DOWNDRILL_SEMISOLID_CLIP
|
|
// A bit of a workaround. Assumption: You can walk from riverbank main to health room, unconstrained.
|
|
| (EXPLOSIVES & RIVERBANK_LOWER_HEALTH_UP_ROOM & SLIDING_POWDER)
|
|
}break;
|
|
case "SPIKE_BARRIER":{
|
|
constraints[item]=NONE;
|
|
}break;
|
|
case "FRAME_CANCEL":{
|
|
constraints[item]= EXPLOSIVES_ENEMY & (SLIDING_POWDER | HAMMER_ROLL_ZIP)
|
|
}break;
|
|
case "HP_UP_LAB_SLIDE_TUNNEL":{
|
|
constraints[item]=SLIDING_POWDER
|
|
}break;
|
|
case "MP_UP_LAB":{
|
|
constraints[item]=SLIDING_POWDER
|
|
}break;
|
|
case "HP_UP_RIVERBANK":{
|
|
constraints[item]=EXPLOSIVES_ENEMY | BUNNY_WHIRL | AIR_DASH | BLOCK_CLIP | PIKO_HAMMER_LEVELED }break;
|
|
case "MP_UP_EVERNIGHT":{
|
|
constraints[item]=
|
|
DARKNESS & SLIDING_POWDER
|
|
& (
|
|
(AIR_JUMP & (RABI_SLIPPERS | AIR_DASH | ITM_HARD))
|
|
| WHIRL_BONK
|
|
| (RABI_SLIPPERS & AIR_DASH)
|
|
| (BUNNY_STRIKE & AIR_DASH & ITM_HARD)
|
|
| (ADV_STUPID & THREE_AMULET_FOOD) // wimpy, bounce, spam amulet (same as spike barrier jump)
|
|
)
|
|
}break;
|
|
case "HP_UP_EVERNIGHT":{
|
|
constraints[item]=EXPLOSIVES
|
|
}break;
|
|
case "HP_UP_LAB_PIT":{
|
|
constraints[item]=CARROT_BOMB
|
|
}break;
|
|
case "SLIDING_POWDER":{
|
|
constraints[item]=NONE;
|
|
}break;
|
|
case "ATK_UP_EVERNIGHT_UPRPRC":{
|
|
constraints[item]=SLIDING_POWDER & (EXPLOSIVES | DOWNDRILL_SEMISOLID_CLIP)
|
|
}break;
|
|
case "CASHBACK":{
|
|
constraints[item]=NONE;
|
|
}break;
|
|
case "PLUS_NECKLACE":{
|
|
constraints[item]=NONE;
|
|
}break;
|
|
case "WEAKEN":{
|
|
constraints[item]=NONE;
|
|
}break;
|
|
case "ATK_UP_LAB_COMPUTER":{
|
|
constraints[item]=EXPLOSIVES | BLOCK_CLIP }break;
|
|
case "PACK_UP_SOUTH_EVERNIGHT":{
|
|
constraints[item]=EXPLOSIVES_ENEMY
|
|
}break;
|
|
case "PACK_UP_NORTH_EVERNIGHT":{
|
|
constraints[item]=
|
|
AIR_DASH | AIR_JUMP | SLIDE_JUMP_BUNSTRIKE
|
|
| (ADV_VHARD & RABI_SLIPPERS & AMULET_FOOD)
|
|
| (ADV_STUPID & WALL_JUMP_LV2 & MANY_AMULET_FOOD)
|
|
}break;
|
|
case "REGEN_UP_EVERNIGHT":{
|
|
constraints[item]=EXPLOSIVES
|
|
}break;
|
|
case "ATK_UP_EVERNIGHT":{
|
|
constraints[item]=NONE;
|
|
}break;
|
|
case "ATK_UP_EAST_LAB":{
|
|
constraints[item]=EXPLOSIVES_ENEMY & (
|
|
AIR_JUMP
|
|
| AIR_DASH
|
|
| (RABI_SLIPPERS & ADV_VHARD)
|
|
| (RABI_SLIPPERS & SLIDE_JUMP_BUNSTRIKE)
|
|
) | (EXPLOSIVES_ENEMY & HAMMER_ROLL_ZIP);
|
|
}break;
|
|
case "PACK_UP_LAB":{
|
|
constraints[item]=NONE;
|
|
}break;
|
|
case "HAMMER_ROLL":{
|
|
constraints[item]=BUNNY_WHIRL
|
|
}break;
|
|
case "RIBBON_BADGE":{
|
|
constraints[item]=POST_IRISU & SLIDING_POWDER }break;
|
|
case "ERINA_BADGE":{
|
|
constraints[item]=POST_IRISU & SLIDING_POWDER }break;
|
|
case "HP_UP_VOLCANIC":{
|
|
constraints[item]=EXPLOSIVES_ENEMY
|
|
}break;
|
|
case "CARROT_SHOOTER":{
|
|
constraints[item]=POST_GAME
|
|
}break;
|
|
case "FIRE_ORB":{
|
|
// 1.8 requirements
|
|
constraints[item]=FIRE_ORB | CARROT_BOMB | (CARROT_SHOOTER & (BOOST | CHARGE_RING))
|
|
}break;
|
|
case "PACK_UP_VOLCANIC":{
|
|
constraints[item]=EXPLOSIVES_ENEMY
|
|
}break;
|
|
case "REGEN_UP_CYBERSPACE":{
|
|
constraints[item]=(CARROT_BOMB | (CARROT_SHOOTER & BOOST & ADV_HARD)) & (AIR_JUMP | AIR_DASH | SLIDE_JUMP_BUNSTRIKE | ADV_STUPID)
|
|
}break;
|
|
case "PACK_UP_CYBERSPACE":{
|
|
constraints[item]=NONE;
|
|
}break;
|
|
case "CYBER_FLOWER":{
|
|
constraints[item]=POST_GAME & IMPOSSIBLE }break;
|
|
case "AIR_JUMP":{
|
|
constraints[item]=NONE;
|
|
}break;
|
|
case "HP_UP_CYBERSPACE":{
|
|
constraints[item]=
|
|
(SLIDING_POWDER & (
|
|
CARROT_BOMB
|
|
// hammer roll zip oob, then almost blind 2 tile zip
|
|
| (ADV_STUPID & SLIDE_ZIP & HAMMER_ROLL_ZIP)
|
|
))
|
|
& (
|
|
(AIR_JUMP & (RABI_SLIPPERS | ITM_HARD)) // 6tile airjump
|
|
| (AIR_DASH_LV3 & ITM_HARD) // 4tile walljump, some other strange jumps
|
|
| (AIR_DASH & ADV_VHARD) // (needs slide) 4tile walljump + weird jump at end
|
|
| (WALL_JUMP_LV2 & (
|
|
(RABI_SLIPPERS & ADV_VHARD) // buffered wall launch
|
|
| ADV_STUPID // (needs slide) two slide bonks, one buffered wall launch
|
|
))
|
|
| (WHIRL_BONK & ITM_VHARD) // 3 buffered whirlbonks. last one is tight
|
|
)
|
|
}break;
|
|
case "ATK_UP_CYBERSPACE":{
|
|
constraints[item]=CARROT_BOMB | (CARROT_SHOOTER & BOOST & ADV_HARD)
|
|
}break;
|
|
case "MP_UP_CYBERSPACE":{
|
|
constraints[item]=NONE;
|
|
}break;
|
|
|
|
|
|
// EGGS
|
|
|
|
case "EGG_CAVE_COCOA":{
|
|
constraints[item]=ADV_STUPID | EXPLOSIVES_ENEMY }break;
|
|
case "EGG_CAVE_UNDER_HAMMER":{
|
|
constraints[item]=NONE;
|
|
}break;
|
|
case "EGG_FOREST_NE_LEDGE":{
|
|
constraints[item]=NONE;
|
|
}break;
|
|
case "EGG_FOREST_NE_PEDESTAL":{
|
|
constraints[item]=NONE;
|
|
}break;
|
|
case "EGG_FORESTNIGHT_ARURAUNE":{
|
|
constraints[item]=DARKNESS & EXPLOSIVES }break;
|
|
case "EGG_FORESTNIGHT_EAST":{
|
|
constraints[item]=DARKNESS & EXPLOSIVES }break;
|
|
case "EGG_RUMI":{
|
|
constraints[item]=POST_GAME
|
|
}break;
|
|
case "EGG_SPECTRAL_SLIDE":{
|
|
constraints[item]=(SLIDING_POWDER & COCOA_1 & KOTRI_1 & CHAPTER_1) | (SLIDING_POWDER & (
|
|
AIR_JUMP
|
|
| SLIDE_JUMP_BUNSTRIKE_CANCEL
|
|
| (ITM_HARD & (WALL_JUMP_LV2 | AIR_DASH))
|
|
| (RABI_SLIPPERS & (ADV_VHARD | (ADV_HARD & SPEED3)))
|
|
| (ADV_STUPID & SPEED3)
|
|
))
|
|
}break;
|
|
case "EGG_SPECTRAL_WEST":{
|
|
constraints[item]=NONE;
|
|
}break;
|
|
case "EGG_BEACH_TO_AQUARIUM":{
|
|
constraints[item]=NONE;
|
|
}break;
|
|
case "EGG_GRAVEYARD_NEAR_LIBRARY":{
|
|
constraints[item]=
|
|
AIR_JUMP
|
|
| AIR_DASH
|
|
| SLIDE_JUMP_BUNSTRIKE
|
|
| (SLIDING_POWDER & (RABI_SLIPPERS | (ADV_VHARD & SPEED5) | (ADV_STUPID & TWO_AMULET_FOOD)))
|
|
}break;
|
|
case "EGG_HALLOWEEN_CICINI_ROOM":{
|
|
constraints[item]=
|
|
EXPLOSIVES & (
|
|
SLIDE_ZIP
|
|
| HAMMER_ROLL_ZIP
|
|
| (CARROT_SHOOTER & BOOST & SLIDING_POWDER)
|
|
| (TM_CHOCOLATE & TM_VANILLA & TM_CICINI & TM_SYARO & TM_LILITH & SLIDING_POWDER & BUNNY_WHIRL)
|
|
)
|
|
}break;
|
|
case "EGG_HALLOWEEN_LEFT_PILLAR":{
|
|
constraints[item]=AIR_JUMP | RABI_SLIPPERS | SLIDING_POWDER | BUNNY_WHIRL }break;
|
|
case "EGG_HALLOWEEN_MID":{
|
|
constraints[item]=EXPLOSIVES & SLIDING_POWDER
|
|
}break;
|
|
case "EGG_HALLOWEEN_NEAR_BOSS":{
|
|
constraints[item]=EXPLOSIVES_ENEMY }break;
|
|
case "EGG_HALLOWEEN_PAST_PILLARS1":{
|
|
constraints[item]=NONE;
|
|
}break;
|
|
case "EGG_HALLOWEEN_PAST_PILLARS2":{
|
|
constraints[item]=
|
|
(BUNNY_WHIRL & AIR_DASH_LV3 & (ADV_VHARD | AIR_JUMP))
|
|
| (BUNNY_WHIRL & AIR_JUMP & WALL_JUMP_LV2 & ADV) | (ADV_STUPID & SLIDE_ZIP & EXPLOSIVES_ENEMY & BUNNY_AMULET_LV2 &
|
|
BUNNY_STRIKE & AIR_JUMP & WALL_JUMP_LV2 & AIR_DASH)
|
|
}break;
|
|
case "EGG_HALLOWEEN_RIGHT_PILLAR":{
|
|
constraints[item]=AIR_JUMP | RABI_SLIPPERS | SLIDING_POWDER | BUNNY_WHIRL }break;
|
|
case "EGG_HALLOWEEN_SW_SLIDE":{
|
|
constraints[item]=EXPLOSIVES & SLIDING_POWDER
|
|
}break;
|
|
case "EGG_HALLOWEEN_WARP_ZONE":{
|
|
constraints[item]=
|
|
WHIRL_BONK
|
|
| (AIR_JUMP & (AIR_DASH | ADV_STUPID))
|
|
| (ADV_STUPID & AIR_DASH & WALL_JUMP_LV2 & BUNNY_AMULET_LV2 & (
|
|
SLIDE_JUMP_BUNSTRIKE_CANCEL
|
|
| (RABI_SLIPPERS & SLIDING_POWDER)
|
|
// probably speed something
|
|
) )
|
|
}break;
|
|
case "EGG_HALLOWEEN_WEST":{
|
|
constraints[item]=
|
|
//SLIDING_POWDER & DARKNESS & (FIRE_ORB | (ADV_HARD & RIBBON)) &
|
|
SLIDING_POWDER & DARKNESS & (FIRE_ORB | ADV_HARD) &
|
|
(BUNNY_WHIRL | (
|
|
CARROT_SHOOTER
|
|
& BOOST_MANY
|
|
& (CARROT_BOMB | PIKO_HAMMER)
|
|
& ADV_STUPID
|
|
))
|
|
}break;
|
|
case "EGG_LIBRARY":{
|
|
constraints[item]=POST_GAME & IMPOSSIBLE }break;
|
|
case "EGG_PYRAMID_LOWER":{
|
|
constraints[item]=EXPLOSIVES }break;
|
|
case "EGG_PYRAMID_BEACH":{
|
|
constraints[item]=(ADV_STUPID & AMULET_FOOD) | EXPLOSIVES | AIR_JUMP | AIR_DASH }break;
|
|
case "EGG_SKY_TOWN":{
|
|
constraints[item]=EXPLOSIVES }break;
|
|
case "EGG_PARK_SPIKES":{
|
|
constraints[item]=EXPLOSIVES_ENEMY }break;
|
|
case "EGG_PARK_GREEN_KOTRI":{
|
|
constraints[item]=
|
|
WHIRL_BONK | AIR_JUMP | AIR_DASH
|
|
| (RABI_SLIPPERS & SLIDE_JUMP_BUNSTRIKE)
|
|
| (ADV_VHARD & (
|
|
(RABI_SLIPPERS & AMULET_FOOD)
|
|
| SLIDING_POWDER // slide bonk off stone
|
|
))
|
|
}break;
|
|
case "EGG_UPRPRC_BASE":{
|
|
constraints[item]=EXPLOSIVES_ENEMY }break;
|
|
case "EGG_SKY_BRIDGE_WARP":{
|
|
constraints[item]=EXPLOSIVES_ENEMY }break;
|
|
case "EGG_SKY_BRIDGE_BY_VANILLA":{
|
|
constraints[item]=CARROT_BOMB }break;
|
|
case "EGG_RAVINE_ABOVE_CHOCOLATE":{
|
|
constraints[item]=NONE;
|
|
}break;
|
|
case "EGG_RAVINE_MID":{
|
|
constraints[item]=EXPLOSIVES & SLIDING_POWDER
|
|
}break;
|
|
case "EGG_SNOWLAND_TO_EVERNIGHT":{
|
|
constraints[item]=EXPLOSIVES }break;
|
|
case "EGG_PALACE_BRIDGE":{
|
|
constraints[item]=EXPLOSIVES_ENEMY }break;
|
|
case "EGG_AQUARIUM":{
|
|
constraints[item]=DARKNESS | SLIDING_POWDER }break;
|
|
case "EGG_PALACE_WALL":{
|
|
constraints[item]=NONE;
|
|
}break;
|
|
case "EGG_SNOWLAND_WARP":{
|
|
constraints[item]=RABI_SLIPPERS | AIR_JUMP | AIR_DASH | ADV_HARD }break;
|
|
case "EGG_ICY_SUMMIT_NIXIE":{
|
|
constraints[item]=NONE;
|
|
}break;
|
|
case "EGG_ICY_SUMMIT_WARP":{
|
|
constraints[item]=EXPLOSIVES_ENEMY }break;
|
|
case "EGG_SNOWLAND_LAKE":{
|
|
constraints[item]=
|
|
AIR_JUMP | WATER_ORB | WHIRL_BONK | WALL_JUMP_LV2
|
|
| (WALL_JUMP & (RABI_SLIPPERS | (AIR_DASH & ITM_HARD)))
|
|
| (ADV_STUPID & MANY_AMULET_FOOD)
|
|
}break;
|
|
case "EGG_RIVERBANK_SPIDER_SPIKE":{
|
|
constraints[item]=EXPLOSIVES_ENEMY }break;
|
|
case "EGG_RIVERBANK_WALL":{
|
|
constraints[item]=
|
|
WHIRL_BONK | AIR_JUMP | AIR_DASH | SLIDING_POWDER
|
|
| (ADV_VHARD & RABI_SLIPPERS & AMULET_FOOD)
|
|
| (ADV_STUPID & WALL_JUMP_LV2 & TWO_AMULET_FOOD)
|
|
}break;
|
|
case "EGG_LAB":{
|
|
constraints[item]=NONE;
|
|
}break;
|
|
case "EGG_EVERNIGHT_MID":{
|
|
constraints[item]=EXPLOSIVES_ENEMY }break;
|
|
case "EGG_EVERNIGHT_SAYA":{
|
|
constraints[item]=
|
|
ADV_STUPID // softlock potential. get item via saya blocks
|
|
| AIR_JUMP
|
|
| SLIDE_JUMP_BUNSTRIKE
|
|
| WHIRL_BONK
|
|
| (RABI_SLIPPERS & (
|
|
AIR_DASH_LV3
|
|
| (AIR_DASH & ((SPEED2 & ITM_HARD) | (SPEED1 & ADV_VHARD)))
|
|
))
|
|
}break;
|
|
case "EGG_TOWN":{
|
|
constraints[item]=AIR_JUMP & (RABI_SLIPPERS | SLIDE_JUMP_BUNSTRIKE_CANCEL) }break;
|
|
case "EGG_PLURK_EAST":{
|
|
constraints[item]=PLURKWOOD }break;
|
|
case "EGG_PLURK_CAVE":{
|
|
constraints[item]=PLURKWOOD & EXPLOSIVES_ENEMY }break;
|
|
case "EGG_PLURK_CATS":{
|
|
constraints[item]=PLURKWOOD }break;
|
|
case "EGG_VOLCANIC_BOMB_BUNNIES":{
|
|
constraints[item]=NONE;
|
|
}break;
|
|
case "EGG_MEMORIES_SYSINT":{
|
|
constraints[item]=POST_GAME & EXPLOSIVES_ENEMY }break;
|
|
case "EGG_MEMORIES_RAVINE":{
|
|
constraints[item]=POST_GAME & EXPLOSIVES_ENEMY }break;
|
|
case "EGG_VOLCANIC_FIRE_ORB":{
|
|
constraints[item]=EXPLOSIVES_ENEMY }break;
|
|
case "EGG_VOLCANIC_NE":{
|
|
constraints[item]=
|
|
AIR_JUMP | AIR_DASH | BUNNY_STRIKE |
|
|
// 0% ADV_STUPID jump: walljump off left wall, damage boost off dog, wallkick off left wall, amulet
|
|
(ADV_STUPID & AMULET_FOOD) |
|
|
WHIRL_BONK |
|
|
(SLIDING_POWDER & (RABI_SLIPPERS | WALL_JUMP | ITM_HARD)) |
|
|
(RABI_SLIPPERS & WALL_JUMP)
|
|
}break;
|
|
case "EGG_VOLCANIC_BIG_DROP":{
|
|
constraints[item]=ITM | AIR_JUMP | AIR_DASH }break;
|
|
case "EGG_CRESPIRIT":{
|
|
constraints[item]=WARP_DESTINATION }break;
|
|
case "EGG_HOSPITAL_WALL":{
|
|
constraints[item]=WARP_DESTINATION & POST_GAME & EXPLOSIVES }break;
|
|
case "EGG_HOSPITAL_BOX":{
|
|
constraints[item]=WARP_DESTINATION & POST_GAME & EXPLOSIVES }break;
|
|
case "EGG_SYSINT1":{
|
|
constraints[item]=NONE;
|
|
}break;
|
|
case "EGG_SYSINT2":{
|
|
constraints[item]=POST_GAME & IMPOSSIBLE
|
|
}break;
|
|
case "SPEED_BOOST":{
|
|
constraints[item]=NONE;
|
|
}break;
|
|
case "BUNNY_STRIKE":{
|
|
constraints[item]=SLIDING_POWDER }break;
|
|
case "P_HAIRPIN":{
|
|
constraints[item]=BOSS_KEKE_BUNNY
|
|
}break;
|
|
}
|
|
if (markers[i].difficulty===null && constraints[item]) {
|
|
markers[i].difficulty=DIFFICULTY;
|
|
switch (DIFFICULTY) {
|
|
case DifficultyLevel.BEGINNER:{
|
|
openBeginnerMarkers.push(markers[i]);
|
|
}break;
|
|
case DifficultyLevel.INTERMEDIATE:{
|
|
openIntermediateMarkers.push(markers[i]);
|
|
}break;
|
|
case DifficultyLevel.ADVANCED:{
|
|
openAdvancedMarkers.push(markers[i]);
|
|
}break;
|
|
case DifficultyLevel.HARDCORE:{
|
|
openHardcoreMarkers.push(markers[i]);
|
|
}break;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
function ClearDifficultyMarkers() {
|
|
for (i=0;i<markers.length;i++) {
|
|
markers[i].difficulty = null;
|
|
}
|
|
}
|
|
|
|
function UpdateConstraints() {
|
|
openBeginnerMarkers=[];
|
|
openIntermediateMarkers=[];
|
|
openAdvancedMarkers=[];
|
|
openHardcoreMarkers=[];
|
|
ClearDifficultyMarkers();
|
|
DIFFICULTY = DifficultyLevel.BEGINNER;
|
|
EvaluateConstraints();
|
|
EvaluateMarkers();
|
|
DIFFICULTY = DifficultyLevel.INTERMEDIATE;
|
|
EvaluateConstraints();
|
|
EvaluateMarkers();
|
|
DIFFICULTY = DifficultyLevel.ADVANCED;
|
|
EvaluateConstraints();
|
|
EvaluateMarkers();
|
|
DIFFICULTY = DifficultyLevel.HARDCORE;
|
|
EvaluateConstraints();
|
|
EvaluateMarkers();
|
|
drawMarkers();
|
|
}
|
|
|
|
function drawMarkers(){
|
|
|
|
var sw = document.getElementById("swood");
|
|
var wc = document.getElementById("wcoast");
|
|
var ic = document.getElementById("core");
|
|
var nt = document.getElementById("ntun");
|
|
var eh = document.getElementById("ehigh");
|
|
var ot = document.getElementById("other");
|
|
|
|
|
|
for ( i = 0; i < markers.length; i++){
|
|
if (markers[i].elem=="") {
|
|
markers[i].elem = document.createElement("img");
|
|
markers[i].elem.setAttribute("src","images/marker0.png");
|
|
}
|
|
markers[i].elem.setAttribute("class","markera");
|
|
markers[i].elem.id = markers[i].itemName + "("+Math.round((markers[i].x-markers[i].gridObj.xoffset)/markers[i].gridObj.xgrid)+","+Math.round((markers[i].y-markers[i].gridObj.yoffset)/markers[i].gridObj.ygrid)+")";
|
|
markers[i].elem.style.left = markers[i].x + "px";
|
|
markers[i].elem.style.top = markers[i].y + "px";
|
|
markers[i].elem.style.width = markers[i].gridObj.xgrid + "px";
|
|
markers[i].elem.style.height = markers[i].gridObj.ygrid + "px";
|
|
markers[i].elem.onclick = toggleMarker;
|
|
markers[i].elem.onmouseenter = showTooltip;
|
|
markers[i].elem.onmouseleave = hideTooltip;
|
|
switch (markers[i].gridObj) {
|
|
case worldgrid_SouthernWoodland:{
|
|
sw.appendChild(markers[i].elem);
|
|
}break;
|
|
case worldgrid_Graveyard:
|
|
case worldgrid_BeachPyramid:{
|
|
wc.appendChild(markers[i].elem);
|
|
}break;
|
|
case worldgrid_ParkSkyHigh:
|
|
case worldgrid_TownTop:
|
|
case worldgrid_TownMain:
|
|
case worldgrid_RabiRavine: {
|
|
ic.appendChild(markers[i].elem);
|
|
}break;
|
|
case worldgrid_NorthernTundra: {
|
|
nt.appendChild(markers[i].elem);
|
|
}break;
|
|
case worldgrid_EasternHighlands: {
|
|
eh.appendChild(markers[i].elem);
|
|
}break;
|
|
case worldgrid_VolcanicCanerns:
|
|
case worldgrid_Plurkwood:
|
|
case worldgrid_SystemInterior: {
|
|
ot.appendChild(markers[i].elem);
|
|
}break;
|
|
}
|
|
/*if ( i < 37 ){
|
|
sw.appendChild(markers[i].elem);
|
|
} else if (( i >= 37 ) && ( i <= 56 )){
|
|
wc.appendChild(markers[i].elem);
|
|
} else if (( i >= 57 ) && ( i <= 91)){
|
|
ic.appendChild(markers[i].elem);
|
|
} else if (( i >= 92 ) && ( i <= 126 )){
|
|
nt.appendChild(markers[i].elem);
|
|
} else if (( i >= 127 ) && ( i <= 163 )){
|
|
eh.appendChild(markers[i].elem);
|
|
} else if (( i >= 164 ) && ( i <= 182 )){
|
|
ot.appendChild(markers[i].elem);
|
|
} else if (( i >= 183 ) && ( i <= 197 )){
|
|
wc.appendChild(markers[i].elem);
|
|
}*/
|
|
}
|
|
for ( i = 0; i < openBeginnerMarkers.length; i++){
|
|
openBeginnerMarkers[i].elem.setAttribute("class","markerb");
|
|
}
|
|
for ( i = 0; i < openIntermediateMarkers.length; i++){
|
|
openIntermediateMarkers[i].elem.setAttribute("class","markerc");
|
|
}
|
|
for ( i = 0; i < openAdvancedMarkers.length; i++){
|
|
openAdvancedMarkers[i].elem.setAttribute("class","markerd");
|
|
}
|
|
for ( i = 0; i < openHardcoreMarkers.length; i++){
|
|
openHardcoreMarkers[i].elem.setAttribute("class","markere");
|
|
}
|
|
}
|
|
|
|
activateItem = function(pressed) {
|
|
Item[pressed.id]=!Item[pressed.id];
|
|
if (pressed.getAttribute("class")=="off") {
|
|
pressed.setAttribute("class","on");
|
|
} else {
|
|
pressed.setAttribute("class","off");
|
|
}
|
|
UpdateConstraints();
|
|
} |