state ("loonyland", "1.0") { byte256 playerVars: 0xD8CF9; byte40 badges: 0xD496C; byte badgeMenu: 0xD4999; string32 map: 0xD8C65; byte levelNum: 0xD8C3A; } startup { settings.Add("badges", true, "Badges"); settings.Add("bad-0", false, "Evil Smashin'", "badges"); settings.Add("bad-1", false, "Bowlin'", "badges"); settings.Add("bad-2", true, "Vandalizin'", "badges"); settings.Add("bad-3", false, "Greed", "badges"); settings.Add("bad-4", false, "Monster Slayin'", "badges"); settings.Add("bad-5", false, "Monster Poundin'", "badges"); settings.Add("bad-6", false, "Ghostbustin'", "badges"); settings.Add("bad-7", true, "Lookin'", "badges"); settings.Add("bad-8", false, "Ultimate Victory", "badges"); settings.Add("bad-9", false, "Kickin'", "badges"); settings.Add("bad-10", false, "Boss Bashin'", "badges"); settings.Add("bad-11", false, "Vampire Slayin'", "badges"); settings.Add("bad-12", false, "Sneakin'", "badges"); settings.Add("bad-13", false, "Witch Hunt", "badges"); settings.Add("bad-14", false, "Animal Control", "badges"); settings.Add("bad-15", false, "Annoyance", "badges"); settings.Add("bad-16", false, "Civic Duty", "badges"); settings.Add("bad-17", false, "Winnin'", "badges"); settings.Add("bad-18", false, "Combo Plate", "badges"); settings.Add("bad-19", false, "Cleanin' Up", "badges"); settings.Add("bad-20", true, "Findin'", "badges"); settings.Add("bad-21", false, "Extreme Survivin'", "badges"); settings.Add("bad-22", true, "Huntin'", "badges"); settings.Add("bad-23", false, "Advanced Winnin'", "badges"); settings.Add("bad-24", false, "Survivin'", "badges"); settings.Add("bad-25", false, "Puppy Poundin'", "badges"); settings.Add("bad-26", false, "Mad Skeelz", "badges"); settings.Add("bad-27", false, "Frankenfryin'", "badges"); settings.Add("bad-28", false, "Combo Magic", "badges"); settings.Add("bad-29", false, "Hedge Clippin'", "badges"); settings.Add("bad-30", false, "R-R-R-Remix!", "badges"); settings.Add("bad-31", false, "Witchcraft", "badges"); settings.Add("bad-32", false, "Ninjitsu", "badges"); settings.Add("bad-33", false, "Stayin' Alive", "badges"); settings.Add("bad-34", false, "Hooliganin'", "badges"); settings.Add("bad-35", false, "Swampdoggin'", "badges"); settings.Add("bad-36", false, "Scorin'", "badges"); settings.Add("bad-37", false, "Brawlin'", "badges"); settings.Add("bad-38", false, "Minin' For Treasure", "badges"); settings.Add("bad-39", false, "Digitally Masterin'", "badges"); settings.Add("quests", true, "Quests"); settings.Add("var-70", true, "Save Halloween Hill", "quests"); settings.Add("var-71", false, "Tree Trimming", "quests"); settings.Add("var-72", false, "Scaredy Cat", "quests"); settings.Add("var-73", true, "Sticky Shoes", "quests"); settings.Add("var-74", false, "Mushroom Hunt", "quests"); settings.Add("var-75", false, "Picking Daisies", "quests"); settings.Add("var-76", false, "Curse The Darkness", "quests"); settings.Add("var-77", false, "Zombie Stomp", "quests"); settings.Add("var-78", false, "Smashing Pumpkins", "quests"); settings.Add("var-79", false, "Mystery Lake", "quests"); settings.Add("var-80", false, "Beneath The Lake", "quests"); settings.Add("var-81", false, "Happy Stick?!?", "quests"); settings.Add("var-82", false, "A True Hero", "quests"); settings.Add("var-83", false, "Silver Bullet", "quests"); settings.Add("var-84", false, "Hairy Larry", "quests"); settings.Add("var-85", false, "Ghostbusting", "quests"); settings.Add("var-86", false, "The Haunted Tower", "quests"); settings.Add("var-87", false, "The Last Gate", "quests"); settings.Add("var-88", false, "The Rescue", "quests"); settings.Add("var-89", false, "The Collection", "quests"); settings.Add("items", true, "Items"); settings.Add("var-111", false, "Skull Key", "items"); settings.Add("var-112", false, "Bat Key", "items"); settings.Add("var-113", false, "Pumpkin Key", "items"); settings.Add("var-118", true, "Silver", "items"); settings.Add("var-119", false, "Doomy Daisy", "items"); settings.Add("var-129", false, "Cat", "items"); settings.Add("vars", true, "Other Vars"); settings.Add("var-156", true, "Underground Tunnel Open", "vars"); settings.Add("var-157", true, "Musty Crypt Cleansed", "vars"); settings.Add("var-158", true, "Dusty Crypt Cleansed", "vars"); settings.Add("var-159", true, "Rusty Crypt Cleansed", "vars"); settings.Add("var-163", false, "Vampy Open", "vars"); settings.Add("var-198", false, "Opened Zombiton", "vars"); settings.Add("var-203", false, "Paid for bridge", "vars"); settings.Add("var-204", true, "Portal Opened", "vars"); settings.Add("var-206", false, "Gusty killed", "vars"); settings.Add("var-207", false, "Stoney killed", "vars"); settings.Add("var-208", false, "Drippy killed", "vars"); settings.Add("var-209", false, "Toasty killed", "vars"); settings.Add("var-211", true, "Bonkula killed", "vars"); settings.Add("levelSplit", false, "Split on map change"); settings.Add("anyStart", true, "Auto Reset/Start for Any%"); settings.Add("enterVampy", true, "Entered Vampy"); } reset { if (current.badgeMenu == 0 && current.map == "" && settings["anyStart"]) return true; } start { if (current.badgeMenu == 0 && old.map == "" && current.map == "Luniton Village" && settings["anyStart"]) return true; } split { if (current.map == "") { //suppress item/quest unlocks when starting a new game an all access is on return; } if (settings["vars"] || settings["items"] || settings["quests"]) { for (int i = 0; i < 256; i++) // or use `current.PlayerVars.Length` instead of 256 { if (old.playerVars[i] == 0 && current.playerVars[i] == 1 && settings["var-" + i]) { return true; } } } if (settings["badges"]) { for (int i = 0; i < 40; i++) // or use `current.badges.Length` instead of 40 { if (old.badges[i] == 0 && current.badges[i] == 1 && settings["bad-" + i]) { return true; } } } if (settings["levelSplit"]) { if (old.levelNum != current.levelNum) { return true; } } if (settings["enterVampy"] && old.map == "Vampy Land" && current.map == "Castle Vampy") { return true; } } /* #define BADGE_EVILIZER 0 #define BADGE_BOWLING 1 #define BADGE_GRAVES 2 #define BADGE_GEMS 3 #define BADGE_MONSTERPTS 4 #define BADGE_MONSTERPTS2 5 #define BADGE_POLTERGUY 6 #define BADGE_DARKNESS 7 #define BADGE_BESTRANK 8 #define BADGE_LOONYBALL 9 #define BADGE_BOSSBASH 10 #define BADGE_BONKULA 11 #define BADGE_SNEAK 12 #define BADGE_WITCH 13 #define BADGE_WOLFDEN 14 #define BADGE_ANNOY 15 #define BADGE_RESCUE 16 #define BADGE_WINGAME 17 #define BADGE_COMBO 18 #define BADGE_ROCKS 19 #define BADGE_HIDDEN 20 #define BADGE_TERRORSRV 21 #define BADGE_KILLALL 22 #define BADGE_HUNDREDPCT 23 #define BADGE_SURVIVAL 24 #define BADGE_LARRY 25 #define BADGE_TERROR 26 #define BADGE_FRANKENJ 27 #define BADGE_SURVCOMBO 28 #define BADGE_CATTAILS 29 #define BADGE_REMIX 30 #define BADGE_WITCHCRAFT 31 #define BADGE_THIEF 32 #define BADGE_SURV100 33 #define BADGE_RIOT 34 #define BADGE_SWAMPDOG 35 #define BADGE_SCORE 36 #define BADGE_BRAWL 37 #define BADGE_HIDDEN2 38 #define BADGE_MASTER 39 #define VAR_HEART 0 // 0-19 = super hearts #define VAR_LIGHTNING 20 // 20-29 = lightning bolts #define VAR_ARROW 30 // 30-39 = arrows #define VAR_PANTS 40 // 40-49 = pants // quests #define VAR_QUESTASSIGN 50 // 50-69 = quest (N-50) has been assigned #define VAR_QUESTDONE 70 // 70-89 = quest (N-70) is complete // inventory #define VAR_MUSHROOM 90 // 90-99 = mushrooms #define VAR_MYSORB 100 // 100-103 = have mystery orb #define VAR_WEAPON 104 // 104-110 = have access to weapon #define VAR_KEY 111 // 111-113 = have the three special keys #define VAR_SKULLKEY 111 // 111 = have the skull key #define VAR_BATKEY 112 // 112 = have the bat key #define VAR_PUMPKINKEY 113 // 113 = have the pumpkin key #define VAR_BOOTS 114 // 114 = have the rubber booties #define VAR_STICK 115 // 115 = have the stick #define VAR_TORCH 116 // 116 = the stick is lit #define VAR_FERTILIZER 117 // 117 = have fertilizer #define VAR_SILVER 118 // 118 = have the silver #define VAR_DAISY 119 // 119 = have doom daisy #define VAR_POTION 120 // 120 = have ghost potion #define VAR_VAMPBUST 121 // 121-128 = have vamp bust #define VAR_CAT 129 // 129 = have cat #define VAR_GEM 130 // 130-135 = super gems // special stuff #define VAR_ORBSTAND 150 // 150-153 = have installed orb #define VAR_BOOTSALES 154 // 154 = have talked to boot salesman once #define VAR_WITCHTALK 155 // 155 = number of times you've annoyed the witch #define VAR_BRIDGEOPEN 156 // 156 = the Underground Tunnel bridge has been opened #define VAR_ZOMBIE 157 // 157-159 = each crypt has been cleaned out #define VAR_ZOMBIEREWARD 160 // 160 = have received the zombie reward money #define VAR_TRIPLEFIRE 161 // 161 = have triple-fire crystal #define VAR_TALISMAN 162 // 162 = have happy stick talisman #define VAR_VAMPYWALL 163 // 163 = wall to vampy land opened #define VAR_BATSTATUE 164 // 164-167 = have each bat statue #define VAR_BATSTAND 168 // 168-171 = bat statue is on stand #define VAR_VAMPSTAND 172 // 172-179 = vamp bust is on stand #define VAR_KNOWWOLVES 180 // 180 = have already talked to self about werewolves #define VAR_DOLL 181 // 181-188 = have doll #define VAR_REFLECT 189 // 189 = have reflect gem #define VAR_DOLLGIVEN 190 // 190-197 = have given doll to girl #define VAR_TOWNOPEN 198 // 198 = have opened zombiton #define VAR_LEFTBOMB 199 // 199 = have left bomb room with bombs (so remove the powerups) #define VAR_HELPERBAT 200 // 200 = have the helper bat #define VAR_TALKBAT 201 // 201 = have talked to the bat once #define VAR_TALKBRIDGE 202 // 202 = have talked to the bridge guy #define VAR_PAIDBRIDGE 203 // 203 = have paid the bridge guy #define VAR_PORTALOPEN 204 // 204 = the portal is officially open #define VAR_GAVEDAISY 205 // 205 = gave daisy to witch #define VAR_DEADELDER 206 // 206-209 = elder has been beaten #define VAR_GATEOUT 210 // 210 = mystery lake electrogate is shorted out #define VAR_DEADBONK 211 // 211 = bonkula is dead #define VAR_SEERTALK 212 // 212 = has talked to seer #define VAR_MINERTALK 213 // 213 = have talked to miner #define VAR_HPSALES 214 // 214 = have talked to hot pants salesman #define VAR_DEALERTALK 215 // 215 = have talked to arms dealer #define VAR_HIPUZZLE 216 // 216 = the HI puzzle is solved in Remix mode #define VAR_WITCHREWARD 217 // 217 = Witch has given you mushroom prize #define VAR_LANTERN 218 // 218 = Have the lantern #define VAR_TREEREWARD 219 // 219 = Rewarded for tree trimming #define VAR_SILVERSLING 220 // 220 = Have Silver Bullets #define VAR_LARRYREWARD 221 // 221 = Rewarded for bringing Larry Home #define VAR_CROPSREWARD 222 // 222 = Rewarded for crop smash #define VAR_ZOMBIEGEM 223 // 223 = red 100 gem #define VAR_SEEDSTART 224 // 224 = first char of seed //#define VAR_SEEDEND 234 = last char of seed // temp variables #define VAR_TEMP 240 // 240-255 = temporary variables - cleared when leaving a level */