##################################################################################
#                                                                                #
#                     Sonic Robo Blast 2: Blue Heaven                            #
#        A level pack for SRB2 v2.2 by Bill Reed and Radicalicious               #
#                                                                                #
# The Blue Heaven level pack for SRB2 was designed by Tets, known in real        #
# life as Bill Reed (though there are some bits here in the MAINCFG that were    #
# shamelessly lifted from Mystic Realm) from 2003 to 2007 for SRB2 v1.09.4. Tets #
# has since left the SRB2 community as recently as 2016; although the level pack #
# had future plans, none ever fully materialized and the pack remained stuck in  #
# the past for quite a long time.                                                #
#                                                                                #
# Radicalicious, as of 2022 and SRB2 v2.2.10, is (unofficially) maintaining Blue #
# Heaven now. The MAINCFG has been modified to work with 16 years of updates to  #
# the format. Other than that, most of the original content is intact from       #
# v1.09.4, with minor enhancements.                                              #
#                                                                                #
# Important notice: due to the absence of Bill from the community, I have *not*  #
# gotten permission directly from him to release the pack, much less grant       #
# others the permission to port it to any future versions of SRB2. The 2023 MB   #
# release was allowed due to the policies regarding porting at the time of its   #
# release: if a reasonable effort was made to contact the original author and    #
# two months have passed with no response, it can be released without the        #
# author's consent. Because this port is made out of respect for the original    #
# level pack, Radicalicious will take full responsibilty in taking it down in    #
# the case Bill comes back and asks for it. If Radicalicious is to ever get in   #
# contact with Bill or vice versa and obtains permission to manage the pack,     #
# this warning will be removed.                                                  #
#                                                                                #
# Bottom line: I cannot grant you permission to port this pack, only MB staff    #
# or Tets himself. With all that out of the way, I hope you enjoy the level pack #
# as much as I did playing it and porting it.                                    #
#                                                                                #
##################################################################################



Maincfg
SSTAGE_START = S0
SPSTAGE_START = C0
SMPStage_Start = S0
TitlePicsMode = Old
TitleScrollXSpeed = 10
LoopTitle = true
TitleMap = 0
TutorialMap = 0
NumDemos = 0
GameData = BlueHeaven-v0.6.dat
CustomVersion = Blue Heaven v0.7.1

Clear All

Level C0
levelname = Dark Palisades
act = 1
typeoflevel = Single,Coop,Race,Competition
skynum = 80
nextlevel = C1
music = DPZ1
nossmusic = 1
levelselect = 1
timeattack = 1
SaveGame = true
NoTitleCard = true
Lua.OldTitleCard = true

Level C1
levelname = Dark Palisades
act = 2
typeoflevel = Single,Coop,Race,Competition
skynum = 80
nextlevel = C2
music = DPZ1
nossmusic = 1
levelselect = 1
timeattack = 1
SaveGame = true
NoTitleCard = true
Lua.OldTitleCard = true

Level C2
levelname = Dark Palisades
act = 3
WarningTitle = true
typeoflevel = Single,Coop
skynum = 80
nextlevel = C3
music = BHBOSS
nossmusic = 1
levelselect = 1
timeattack = 1
SaveGame = true
BonusType = Boss
NoTitleCard = true
Lua.OldTitleCard = true

Level C3
levelname = Frigid Peak
act = 1
typeoflevel = Single,Coop,Race,Competition
weather = 2
skynum = 2
nextlevel = C4
music = FPZ1
nossmusic = 1
levelselect = 1
timeattack = 1
SaveGame = true
NoTitleCard = true
Lua.OldTitleCard = true

Level C4
levelname = Frigid Peak
act = 2
typeoflevel = Single,Coop,Race,Competition
weather = 0
skynum = 2
nextlevel = C5
music = FPZ1
nossmusic = 1
levelselect = 1
timeattack = 1
SaveGame = true
NoTitleCard = true
Lua.OldTitleCard = true

Level C5
levelname = Frigid Peak
act = 3
WarningTitle = true
typeoflevel = Single,Coop
weather = 0
skynum = 2
nextlevel = C6
music = BHBOSS
nossmusic = 1
levelselect = 1
timeattack = 1
SaveGame = true
BonusType = Boss
NoTitleCard = true
Lua.OldTitleCard = true

Level C6
levelname = Burning Cavern
act = 1
typeoflevel = Single,Coop,Race,Competition
nextlevel = C7
music = LRZ1
nossmusic = 1
levelselect = 1
timeattack = 1
SaveGame = true
NoTitleCard = true
Lua.OldTitleCard = true

Level C7
levelname = Burning Cavern
act = 2
typeoflevel = Single,Coop,Race,Competition
nextlevel = C8
music = LRZ1
nossmusic = 1
levelselect = 1
timeattack = 1
SaveGame = true
NoTitleCard = true
Lua.OldTitleCard = true

Level C8
levelname = Burning Cavern
act = 3
WarningTitle = true
typeoflevel = Single,Coop
nextlevel = C9
music = BHBOSS
nossmusic = 1
levelselect = 1
timeattack = 1
SaveGame = true
BonusType = Boss
NoTitleCard = true
Lua.OldTitleCard = true

Level C9
levelname = Metal Wasteland
act = 1
typeoflevel = Single,Coop,Race,Competition
skynum = 5
nextlevel = CA
music = MWZ1
nossmusic = 1
levelselect = 1
timeattack = 1
SaveGame = true
NoTitleCard = true
Lua.OldTitleCard = true

Level CA
levelname = Metal Wasteland
act = 2
typeoflevel = Single,Coop,Race,Competition
skynum = 5
nextlevel = CB
music = MWZ1
nossmusic = 1
levelselect = 1
timeattack = 1
SaveGame = true
NoTitleCard = true
Lua.OldTitleCard = true

Level CB
levelname = Metal Wasteland
act = 3
WarningTitle = true
typeoflevel = Single,Coop
skynum = 5
nextlevel = CC
music = BHBOSS
nossmusic = 1
levelselect = 1
timeattack = 1
SaveGame = true
BonusType = Boss
NoTitleCard = true
Lua.OldTitleCard = true

Level CC
levelname = Aero Shrine
act = 1
typeoflevel = Single,Coop,Race,Competition
skynum = 2
nextlevel = CD
music = ASZ1
nossmusic = 1
levelselect = 1
timeattack = 1
SaveGame = true
NoTitleCard = true
Lua.OldTitleCard = true

Level CD
levelname = Aero Shrine
act = 2
typeoflevel = Single,Coop,Race,Competition
skynum = 2
nextlevel = CE
music = ASZ1
nossmusic = 1
levelselect = 1
timeattack = 1
SaveGame = true
NoTitleCard = true
Lua.OldTitleCard = true

Level CE
levelname = Aero Shrine
act = 3
WarningTitle = true
typeoflevel = Single,Coop
skynum = 2
nextlevel = CF
music = BHBOSS
nossmusic = 1
levelselect = 1
timeattack = 1
SaveGame = true
BonusType = Boss
NoTitleCard = true
Lua.OldTitleCard = true

Level CF
levelname = Arid Ruins
act = 1
typeoflevel = Single,Coop
skynum = 28
nextlevel = CG
music = MP_GL2
nossmusic = 1
levelselect = 1
timeattack = 1
NoTitleCard = true
Lua.OldTitleCard = true

Level CG
levelname = Arid Ruins
act = 2
typeoflevel = Single,Coop
skynum = 9
nextlevel = CH
music = MP_GLZ
nossmusic = 1
levelselect = 1
timeattack = 1
NoTitleCard = true
Lua.OldTitleCard = true

Level CH
levelname = Arid Ruins
act = 3
typeoflevel = Single,Coop
skynum = 9
nextlevel = 1102
music = BHBOSS
nossmusic = 1
levelselect = 1
timeattack = 1
NoTitleCard = true
Lua.OldTitleCard = true

## Unlockables

Unlockable 1
Name = Record Attack
Objective = Complete Dark Palisades Zone
Type = RecordAttack
Var = 1
Height = 20
ConditionSet = 1

Unlockable 4
Name = Sound Test
Objective = Complete Frigid Peak Zone
Var = 2
Height = 50
ConditionSet = 2
Type = SoundTest

Unlockable 5
Name = Level Select
Objective = Complete the game
Type = LevelSelect
Var = 1
Height = 80
ConditionSet = 3

Unlockable 6
Name = Emblem Hints
Objective = Collect 6 emblems
Height = 110
ConditionSet = 4
Type = EmblemHints

Unlockable 2
Name = Fang
Objective = Unlocked by default.
Type = None
ConditionSet = -1

Unlockable 3
Name = Metal
Objective = Unlocked by default.
Type = None
ConditionSet = -1

Unlockable 23
Name = Amy
Objective = Unlocked by default.
Type = None
ConditionSet = -1



ConditionSet 1
Condition1 = MapBeaten C2

ConditionSet 2
Condition1 = MapBeaten C5

ConditionSet 3
Condition1 = GameClear

ConditionSet 4
Condition1 = TotalEmblems 6

ConditionSet 5
Condition1 = UltimateClear

ConditionSet 6
Condition1 = AllEmeralds

## Emblems

# Dark Palisades Act 1

Emblem
Hint = Emerge from a cave\\Bounce out of a waterfall\\Upon a plateau.
Type = Global
Tag = 0
MapNum = C0
Sprite = A
Color = SKINCOLOR_BLUE

Emblem
Hint = In a tight corner\\Lies a crevice with the prize.\\It's above a lake.
Type = Global
Tag = 1
MapNum = C0
Sprite = B
Color = SKINCOLOR_ORANGE

Emblem
Hint = In a swampy cave\\You should climb the right side wall\\And reach the ceiling.
Type = Global
Tag = 2
MapNum = C0
Sprite = C
Color = SKINCOLOR_RED

Emblem
Type = Time
Var = 60*TICRATE
MapNum = C0
Sprite = T
Color = SKINCOLOR_GREY

# Dark Palisades Act 2

Emblem
Hint = As you jump from the\\Cliffs to the trees, take your time.\\Red springs lead to cliffs.
Type = Global
Tag = 0
MapNum = C1
Sprite = A
Color = SKINCOLOR_BLUE

Emblem
Hint = Spring through a big tree\\To a cliffside above it.\\Bust through then spring up.
Type = Global
Tag = 1
MapNum = C1
Sprite = B
Color = SKINCOLOR_ORANGE

Emblem
Hint = A large open cave\\Has an emblem on a ledge\\That you must climb to.
Type = Global
Tag = 2
MapNum = C1
Sprite = C
Color = SKINCOLOR_RED

Emblem
Type = Time
Var = 85*TICRATE
MapNum = C1
Sprite = T
Color = SKINCOLOR_GREY

# Dark Palisades Act 3

Emblem
Type = Time
Var = 20*TICRATE
MapNum = C2
Sprite = T
Color = SKINCOLOR_GREY

# Frigid Peak Act 1

Emblem
Hint = Dash through ice and snow\\And before the final cave,\\There lies a secret.
Type = Global
Tag = 0
MapNum = C3
Sprite = A
Color = SKINCOLOR_BLUE

Emblem
Hint = An outdoor cliffside\\Overseeing the deep blue.\\It's rather high up.
Type = Global
Tag = 1
MapNum = C3
Sprite = B
Color = SKINCOLOR_ORANGE

Emblem
Hint = Above the water\\Which has a chilling effect.\\On a light blue beam.
Type = Global
Tag = 2
MapNum = C3
Sprite = C
Color = SKINCOLOR_RED

Emblem
Type = Time
Var = 50*TICRATE
MapNum = C3
Sprite = T
Color = SKINCOLOR_GREY

# Frigid Peak Act 2

Emblem
Hint = Small obstacle course,\\But a bigger waterfall.\\Underneath the ice.
Type = Global
Tag = 0
MapNum = C4
Sprite = A
Color = SKINCOLOR_BLUE

Emblem
Hint = Oh, look, another\\Cliffside above the deep blue.\\This one's higher up.
Type = Global
Tag = 1
MapNum = C4
Sprite = B
Color = SKINCOLOR_ORANGE

Emblem
Hint = Overlooking the\\Ice and snow, lies a platform\\That you should climb to.
Type = Global
Tag = 2
MapNum = C4
Sprite = C
Color = SKINCOLOR_RED

Emblem
Type = Time
Var = 80*TICRATE
MapNum = C4
Sprite = T
Color = SKINCOLOR_GREY

# Frigid Peak Act 3

Emblem
Type = Time
Var = 20*TICRATE
MapNum = C5
Sprite = T
Color = SKINCOLOR_GREY

# Burning Cavern Act 1

Emblem
Hint = After a checkpoint,\\Lavafall to the left. Jump\\In with the right shield.
Type = Global
Tag = 0
MapNum = C6
Sprite = A
Color = SKINCOLOR_BLUE

Emblem
Hint = Behind a pillar,\\With lava all around. You\\Should fly up to it.
Type = Global
Tag = 1
MapNum = C6
Sprite = B
Color = SKINCOLOR_ORANGE

Emblem
Hint = Right, Super Sneakers.\\Left, platforming and lava.\\Explore what's above.
Type = Global
Tag = 2
MapNum = C6
Sprite = C
Color = SKINCOLOR_RED

Emblem
Type = Time
Var = 70*TICRATE
MapNum = C6
Sprite = T
Color = SKINCOLOR_GREY

# Burning Cavern Act 2

Emblem
Hint = The volcano's core.\\At the bottom, jump around.\\Find a secret hole.
Type = Global
Tag = 0
MapNum = C7
Sprite = A
Color = SKINCOLOR_BLUE

Emblem
Hint = The volcano's core.\\There sure are a lot of beams.\\Maybe look under?
Type = Global
Tag = 1
MapNum = C7
Sprite = B
Color = SKINCOLOR_ORANGE

Emblem
Hint = The volcano's core.\\I'm done with this volcano!\\I'll climb out of it!
Type = Global
Tag = 2
MapNum = C7
Sprite = C
Color = SKINCOLOR_RED

Emblem
Type = Time
Var = 80*TICRATE
MapNum = C7
Sprite = T
Color = SKINCOLOR_GREY

# Burning Cavern Act 3

Emblem
Type = Time
Var = 20*TICRATE
MapNum = C8
Sprite = T
Color = SKINCOLOR_GREY

# Metal Wasteland Act 1

Emblem
Hint = Five central pistons\\Working away at the slime.\\Have a little soak.
Type = Global
Tag = 0
MapNum = C9
Sprite = A
Color = SKINCOLOR_BLUE

Emblem
Hint = Oh, it's right up there!\\Propel yourself to new heights,\\And out of the goop!
Type = Global
Tag = 1
MapNum = C9
Sprite = B
Color = SKINCOLOR_ORANGE

Emblem
Hint = A fork in the road,\\Split by a harmful river.\\Bear right, and climb up.
Type = Global
Tag = 2
MapNum = C9
Sprite = C
Color = SKINCOLOR_RED

Emblem
Type = Time
Var = 60*TICRATE
MapNum = C9
Sprite = T
Color = SKINCOLOR_GREY

# Metal Wasteland Act 2

Emblem
Hint = Those Crawlas appear\\Quite suspicious. Sneak into\\The building they guard.
Type = Global
Tag = 0
MapNum = CA
Sprite = A
Color = SKINCOLOR_BLUE

Emblem
Hint = Hm, a lot of goop.\\But where is it coming from?\\Is it all clogged up?
Type = Global
Tag = 1
MapNum = CA
Sprite = B
Color = SKINCOLOR_ORANGE

Emblem
Hint = Button to the left,\\Ring monitor to the right.\\Knuckles sure likes rings..
Type = Global
Tag = 2
MapNum = CA
Sprite = C
Color = SKINCOLOR_RED

Emblem
Type = Time
Var = 50*TICRATE
MapNum = CA
Sprite = T
Color = SKINCOLOR_GREY

# Metal Wasteland Act 3

Emblem
Type = Time
Var = 20*TICRATE
MapNum = CB
Sprite = T
Color = SKINCOLOR_GREY

# Aero Shrine Act 1

Emblem
Hint = When two paths collide\\At a gigantic temple,\\drop down in the back.
Type = Global
Tag = 0
MapNum = CC
Sprite = A
Color = SKINCOLOR_BLUE

Emblem
Hint = Left or right? Go right.\\A curved bridge holds a secret.\\Fly and take a look.
Type = Global
Tag = 1
MapNum = CC
Sprite = B
Color = SKINCOLOR_ORANGE

Emblem
Hint = The opening zone.\\A gaping indent in front.\\It's in there, somewhere.
Type = Global
Tag = 2
MapNum = CC
Sprite = C
Color = SKINCOLOR_RED

Emblem
Type = Time
Var = 55*TICRATE
MapNum = CC
Sprite = T
Color = SKINCOLOR_GREY

# Aero Shrine Act 2

Emblem
Hint = Enter the courtyard,\\But instead of going right, go left\\And spin the bushes.
Type = Global
Tag = 0
MapNum = CD
Sprite = A
Color = SKINCOLOR_BLUE

Emblem
Hint = The staircase upwards!\\But really, look up and see\\That something is off.
Type = Global
Tag = 1
MapNum = CD
Sprite = B
Color = SKINCOLOR_ORANGE

Emblem
Hint = Two cracked walls\\To a mystical secret.\\Find the other wall.
Type = Global
Tag = 2
MapNum = CD
Sprite = C
Color = SKINCOLOR_RED

Emblem
Type = Time
Var = 50*TICRATE
MapNum = CD
Sprite = T
Color = SKINCOLOR_GREY

# Aero Shrine Act 3

Emblem
Type = Time
Var = 20*TICRATE
MapNum = CE
Sprite = T
Color = SKINCOLOR_GREY

# Global emblems

ExtraEmblem
Name = Game Clear
Objective = Complete the game.
ConditionSet = 3
Sprite = U
Color = SKINCOLOR_BLUE

ExtraEmblem
Name = All Emeralds Clear
Objective = Complete the game with all emeralds.
ConditionSet = 6
Sprite = H
Color = SKINCOLOR_RED

ExtraEmblem
Name = Ultimate Clear!
Objective = Complete the game in Ultimate Mode.
ConditionSet = 5
Sprite = F
Color = SKINCOLOR_AETHER



## Special stage headers
Level S0
LevelName = Special Stage 1
Music = BHSPEC
TypeOfLevel = Singleplayer,Co-op
SelectHeading = Special Stages
SkyNum = 80
NoZone = true
SpecialStageSpheres = 150
SpecialStageTime = 100
NoTitleCard = true
Lua.OldTitleCard = true

Level S1
LevelName = Special Stage 2
Music = BHSPEC
TypeOfLevel = Singleplayer,Co-op
SelectHeading = Special Stages
SkyNum = 2
NoZone = true
SpecialStageSpheres = 200
SpecialStageTime = 150
NoTitleCard = true
Lua.OldTitleCard = true

Level S2
LevelName = Special Stage 3
Music = BHSPEC
TypeOfLevel = Singleplayer,Co-op
SelectHeading = Special Stages
SkyNum = 20
NoZone = true
SpecialStageSpheres = 230
SpecialStageTime = 150
NoTitleCard = true
Lua.OldTitleCard = true

Level S3
LevelName = Special Stage 4
Music = BHSPEC
TypeOfLevel = Singleplayer,Co-op
SelectHeading = Special Stages
SkyNum = 2
NoZone = true
SpecialStageSpheres = 240
SpecialStageTime = 200
NoTitleCard = true
Lua.OldTitleCard = true

Level S4
LevelName = Special Stage 5
Music = BHSPEC
TypeOfLevel = Singleplayer,Co-op
SelectHeading = Special Stages
SkyNum = 2
NoZone = true
SpecialStageSpheres = 250
SpecialStageTime = 200
NoTitleCard = true
Lua.OldTitleCard = true

#Level S5
#LevelName = Special Stage 6
#Music = BHSPEC
#TypeOfLevel = Singleplayer,Co-op
#SelectHeading = Special Stages
#SkyNum = 21
#NoZone = true
#NoTitleCard = true
#Lua.OldTitleCard = true

#Level S6
#LevelName = Special Stage 7
#Music = BHSPEC
#TypeOfLevel = Singleplayer,Co-op
#SelectHeading = Special Stages
#SkyNum = 35
#NoZone = true
#NoTitleCard = true
#Lua.OldTitleCard = true



#############################################################
#                                                           #
# The end!                                                  #
#                                                           #
# Blue Heaven's credits:                                    #
# Mystic, for getting Tets into the level pack thing        #
# Oogaland, for developing SRB2 Doombuilder                 #
# The kind folks at #srb2fun                                #
#                                                           #
# Modern port credits:                                      #
# Lliteqiel, for the Sonic: Emerald Quest track remasters.  #
# Glaber, for the ported Final Demo objects.                #
# amperbee, for the UDS library used for the title cards.   #
#                                                           #
#############################################################
