// MAPINFO for Heretic (Shareware and Retail)
include "mapinfo/common.txt"
include "mapinfo/gamecommons.txt"

gameinfo {
	titlepage = "TITLE"
	creditpage = "CREDIT"
	titlemusic = "MUS_TITL"
	titletime = 8
	advisorytime = 6
	pagetime = 5
	chatsound = "misc/chat"
	finalemusic = "MUS_CPTD"
	finaleflat = "FLOOR25"
	finalepage = "CREDIT"
	infopage = "HELP1", "HELP2", "CREDIT"
	quitsound = ""
	borderflat = "FLAT513"
	border = HereticBorder
	telefogheight = 32
	defkickback = 150
	skyflatname = "F_SKY1"
	translator = "xlat/heretic.txt"
	defaultbloodcolor = "68 00 00"
	defaultbloodparticlecolor = "ff 00 00"
	backpacktype = "BagOfHolding"
	armoricons = "SHLDA0", 0.75, "SHD2A0"
	statusbarclass = "HereticStatusBar"
	intermissionmusic = "mus_intr"
	intermissioncounter = false
	weaponslot = 1, "Staff", "Gauntlets"
	weaponslot = 2, "GoldWand"
	weaponslot = 3, "Crossbow"
	weaponslot = 4, "Blaster"
	weaponslot = 5, "SkullRod"
	weaponslot = 6, "PhoenixRod"
	weaponslot = 7, "Mace"
	dimcolor = "00 00 40"
	dimamount = 0.5
	bluramount = 0
	menuslidercolor = "Orange"
	menusliderbackcolor = "White"
	definventorymaxamount = 16
	defaultrespawntime = 12
	defaultdropstyle = 1
	endoom = "ENDTEXT"
	pickupcolor = "d7 ba 45"
	quitmessages = "$*RAVENQUITMSG"
	menufontcolor_title = "UNTRANSLATED"
	menufontcolor_label = "GREEN"
	menufontcolor_value = "UNTRANSLATED"
	menufontcolor_action = "UNTRANSLATED"
	menufontcolor_header = "GOLD"
	menufontcolor_highlight = "YELLOW"
	menufontcolor_selection = "DARKGREEN"
	menubackbutton = "M_BACK_H"
	playerclasses = "HereticPlayer"
	nightmarefast = true
	pausesign = "PAUSED"
	gibfactor = 0.5
	textscreenx = 20
	textscreeny = 5
	defaultendsequence = "Inter_Pic1"
	maparrow = "mapinfo/maparrows/dagger.txt"
	statscreen_mapnamefont = "BigFont"
	statscreen_finishedfont = "SmallFont"
	statscreen_enteringfont = "SmallFont"
	statscreen_contentfont = "*BigFont"
	statscreen_authorFont = "*SmallFont"
	statscreen_coop = "CoopStatusScreen"
	statscreen_dm = "DeathmatchStatusScreen"
	statscreen_single = "RavenStatusScreen"
	messageboxclass = "MessageBoxMenu"
	normforwardmove = 0x19, 0x32
	normsidemove = 0x18, 0x28
}

EditorNums {
	5 = HereticImpLeader
	6 = Ironlich
	7 = Sorcerer1
	8 = BagOfHolding
	9 = Minotaur
	10 = GoldWandAmmo
	12 = GoldWandHefty
	13 = MaceAmmo
	15 = Wizard
	16 = MaceHefty
	17 = SkullHang70
	18 = CrossbowAmmo
	19 = CrossbowHefty
	20 = SkullRodAmmo
	21 = SkullRodHefty
	22 = PhoenixRodAmmo
	23 = PhoenixRodHefty
	24 = SkullHang60
	25 = SkullHang45
	26 = SkullHang35
	27 = SerpentTorch
	28 = Chandelier
	29 = SmallPillar
	30 = ArtiEgg
	31 = EnchantedShield
	32 = ArtiSuperHealth
	33 = ArtiTorch
	34 = ArtiTimeBomb
	35 = SuperMap
	36 = ArtiTeleport
	37 = StalagmiteSmall
	38 = StalagmiteLarge
	39 = StalactiteSmall
	40 = StalactiteLarge
	41 = SoundWaterfall
	42 = SoundWind
	43 = PodGenerator
	44 = Barrel
	45 = MummyLeader
	46 = MummyLeaderGhost
	47 = BrownPillar
	48 = Moss1
	49 = Moss2
	50 = WallTorch
	51 = HangingCorpse
	52 = TeleGlitterGenerator2
	53 = Blaster
	54 = BlasterAmmo
	55 = BlasterHefty
	56 = BossSpot
	64 = Knight
	65 = KnightGhost
	66 = HereticImp
	68 = Mummy
	69 = MummyGhost
	70 = Beast
	73 = KeyGreen
	74 = TeleGlitterGenerator1
	75 = ArtiInvisibility
	76 = FireBrazier
	79 = KeyBlue
	80 = KeyYellow
	81 = CrystalVial
	82 = ArtiHealth
	83 = ArtiFly
	84 = ArtiInvulnerability
	85 = SilverShield
	86 = ArtiTomeOfPower
	87 = Volcano
	90 = Clink
	92 = Snake
	94 = KeyGizmoBlue
	95 = KeyGizmoGreen
	96 = KeyGizmoYellow
	118 = Bridge
	1200 = HereticSoundSequence1
	1201 = HereticSoundSequence2
	1202 = HereticSoundSequence3
	1203 = HereticSoundSequence4
	1204 = HereticSoundSequence5
	1205 = HereticSoundSequence6
	1206 = HereticSoundSequence7
	1207 = HereticSoundSequence8
	1208 = HereticSoundSequence9
	1209 = HereticSoundSequence10
	2001 = Crossbow
	2002 = MaceSpawner
	2003 = PhoenixRod
	2004 = SkullRod
	2005 = Gauntlets
	2035 = Pod
	4001 = "$Player5Start"
	4002 = "$Player6Start"
	4003 = "$Player7Start"
	4004 = "$Player8Start"
	9042 = GoldWand
}

SpawnNums {
	1 = Clink
	2 = MummyLeader
	3 = Beast
	4 = Mummy
	5 = HereticImp
	6 = Knight
	7 = HereticImpLeader
	8 = MummyGhost
	9 = MummyLeaderGhost
	10 = HereticImpBall
	11 = GoldWandAmmo
	12 = GoldWandHefty
	14 = ArtiEgg
	15 = ArtiFly
	18 = ArtiTeleport
	19 = Wizard
	20 = Ironlich
	21 = Bridge
	23 = CrystalVial
	24 = ArtiHealth
	25 = ArtiSuperHealth
	27 = Crossbow
	28 = Blaster
	29 = PhoenixRod
	30 = SkullRod
	31 = Mace
	32 = Gauntlets
	33 = CrossbowAmmo
	34 = CrossbowHefty
	35 = MaceAmmo
	36 = MaceHefty
	37 = BlasterAmmo
	38 = BlasterHefty
	40 = EggFX
	68 = SilverShield
	69 = EnchantedShield
	72 = ArtiTimeBomb
	73 = ArtiTorch
	85 = KeyBlue
	86 = KeyGreen
	87 = KeyYellow
	110 = SoundWind
	111 = SoundWaterfall
	120 = BeastBall
	121 = Feather
	122 = Chicken
	123 = VolcanoBlast
	124 = VolcanoTBlast
	125 = Pod
	126 = PodGenerator
	127 = KnightAxe
	128 = RedAxe
	129 = KnightGhost
	131 = MummyFX1
	132 = Snake
	133 = ArtiInvulnerability
	134 = ArtiTomeOfPower
	135 = ArtiInvisibility
	136 = BagOfHolding
	137 = SuperMap
	138 = SnakeProjA
	139 = SnakeProjB
	140 = WizardFX1
	141 = BossSpot
	142 = Sorcerer1
	143 = Sorcerer2
	144 = SorcererFX1
	145 = Sorcerer2FX1
	146 = Sorcerer2FX2
	147 = CrossbowFX1
	148 = CrossbowFX2
	149 = CrossbowFX3
	150 = Volcano
	151 = GoldWandFX1
	152 = GoldWandFX2
	153 = MaceFX4
	154 = MaceFX1
	155 = MaceFX3
	156 = MaceFX2
	157 = Ripper
	158 = SkullRodAmmo
	159 = SkullRodHefty
	160 = HornRodFX1
	161 = PhoenixRodAmmo
	162 = PhoenixRodHefty
	163 = PhoenixFX1
	164 = HeadFX1
	165 = Whirlwind
	166 = TeleGlitterGenerator1
	167 = TeleGlitterGenerator2
}

skill baby {
	AutoUseHealth
	AmmoFactor = 1.5
	DoubleAmmoFactor = 1.5
	DamageFactor = 0.5
	EasyBossBrain
	SpawnFilter = Baby
	Name = "$MNU_WETNURSE"
	EasyKey
}

skill easy {
	DoubleAmmoFactor = 1.5
	SpawnFilter = Easy
	Name = "$MNU_YELLOWBELLIES"
}

skill normal {
	DoubleAmmoFactor = 1.5
	SpawnFilter = Normal
	Name = "$MNU_BRINGEST"
	DefaultSkill
}

skill hard {
	DoubleAmmoFactor = 1.5
	SpawnFilter = Hard
	Name = "$MNU_SMITE"
}

skill nightmare {
	AmmoFactor = 1.5
	DoubleAmmoFactor = 1.5
	FastMonsters
	InstantReaction
	DisableCheats
	SpawnFilter = Nightmare
	Name = "$MNU_BLACKPLAGUE"
}

clearepisodes
episode e1m1 {
	name = "$MNU_COTD"
	key = "c"
}

episode e2m1 {
	name = "$MNU_HELLSMAW"
	key = "h"
}

episode e3m1 {
	name = "$MNU_DOME"
	key = "d"
}

episode e4m1 {
	name = "$MNU_OSSUARY"
	key = "o"
	extended
}

episode e5m1 {
	name = "$MNU_DEMESNE"
	key = "s"
	extended

}

// Episode 1

map E1M1 lookup "HHUSTR_E1M1" {
	next = "E1M2"
	secretnext = "E1M9"
	sky1 = "SKY1"
	cluster = 1
	music = "MUS_E1M1"
}

map E1M2 lookup "HHUSTR_E1M2" {
	next = "E1M3"
	secretnext = "E1M9"
	sky1 = "SKY1"
	cluster = 1
	music = "MUS_E1M2"
}

map E1M3 lookup "HHUSTR_E1M3" {
	next = "E1M4"
	secretnext = "E1M9"
	sky1 = "SKY1"
	cluster = 1
	music = "MUS_E1M3"
}

map E1M4 lookup "HHUSTR_E1M4" {
	next = "E1M5"
	secretnext = "E1M9"
	sky1 = "SKY1"
	cluster = 1
	music = "MUS_E1M4"
}

map E1M5 lookup "HHUSTR_E1M5" {
	next = "E1M6"
	secretnext = "E1M9"
	sky1 = "SKY1"
	cluster = 1
	music = "MUS_E1M5"
}

map E1M6 lookup "HHUSTR_E1M6" {
	next = "E1M7"
	secretnext = "E1M9"
	sky1 = "SKY1"
	cluster = 1
	music = "MUS_E1M6"
}

map E1M7 lookup "HHUSTR_E1M7" {
	next = "E1M8"
	secretnext = "E1M9"
	sky1 = "SKY1"
	cluster = 1
	music = "MUS_E1M7"
}

map E1M8 lookup "HHUSTR_E1M8" {
	next = "EndGame1"
	secretnext = "E1M9"
	sky1 = "SKY1"
	cluster = 1
	nointermission
	ironlichspecial
	specialaction_lowerfloortohighest
	music = "MUS_E1M8"
	needclustertext
}

map E1M9 lookup "HHUSTR_E1M9" {
	next = "E1M7"
	secretnext = "E1M7"
	sky1 = "SKY1"
	cluster = 1
	music = "MUS_E1M9"
}

// Episode 2

map E2M1 lookup "HHUSTR_E2M1" {
	next = "E2M2"
	secretnext = "E2M9"
	sky1 = "SKY2"
	cluster = 2
	music = "MUS_E2M1"
}

map E2M2 lookup "HHUSTR_E2M2" {
	next = "E2M3"
	secretnext = "E2M9"
	sky1 = "SKY2"
	cluster = 2
	music = "MUS_E2M2"
}

map E2M3 lookup "HHUSTR_E2M3" {
	next = "E2M4"
	secretnext = "E2M9"
	sky1 = "SKY2"
	cluster = 2
	music = "MUS_E2M3"
}

map E2M4 lookup "HHUSTR_E2M4" {
	next = "E2M5"
	secretnext = "E2M9"
	sky1 = "SKY2"
	cluster = 2
	music = "MUS_E2M4"
}

map E2M5 lookup "HHUSTR_E2M5" {
	next = "E2M6"
	secretnext = "E2M9"
	sky1 = "SKY2"
	cluster = 2
	music = "MUS_E1M4"
}

map E2M6 lookup "HHUSTR_E2M6" {
	next = "E2M7"
	secretnext = "E2M9"
	sky1 = "SKY2"
	cluster = 2
	music = "MUS_E2M6"
}

map E2M7 lookup "HHUSTR_E2M7" {
	next = "E2M8"
	secretnext = "E2M9"
	sky1 = "SKY2"
	cluster = 2
	music = "MUS_E2M7"
}

map E2M8 lookup "HHUSTR_E2M8" {
	next = "EndGameW"
	secretnext = "E2M9"
	sky1 = "SKY2"
	cluster = 2
	nointermission
	minotaurspecial
	specialaction_lowerfloortohighest
	specialaction_killmonsters
	music = "MUS_E2M8"
	needclustertext
}

map E2M9 lookup "HHUSTR_E2M9" {
	next = "E2M5"
	secretnext = "E2M5"
	sky1 = "SKY2"
	cluster = 2
	music = "MUS_E2M9"
}

// Episode 3

map E3M1 lookup "HHUSTR_E3M1" {
	next = "E3M2"
	secretnext = "E3M9"
	sky1 = "SKY3"
	cluster = 3
	music = "MUS_E1M1"
}

map E3M2 lookup "HHUSTR_E3M2" {
	next = "E3M3"
	secretnext = "E3M9"
	sky1 = "SKY3"
	cluster = 3
	music = "MUS_E3M2"
}

map E3M3 lookup "HHUSTR_E3M3" {
	next = "E3M4"
	secretnext = "E3M9"
	sky1 = "SKY3"
	cluster = 3
	music = "MUS_E3M3"
}

map E3M4 lookup "HHUSTR_E3M4" {
	next = "E3M5"
	secretnext = "E3M9"
	sky1 = "SKY3"
	cluster = 3
	music = "MUS_E1M6"
}

map E3M5 lookup "HHUSTR_E3M5" {
	next = "E3M6"
	secretnext = "E3M9"
	sky1 = "SKY3"
	cluster = 3
	music = "MUS_E1M3"
}

map E3M6 lookup "HHUSTR_E3M6" {
	next = "E3M7"
	secretnext = "E3M9"
	sky1 = "SKY3"
	cluster = 3
	music = "MUS_E1M2"
}

map E3M7 lookup "HHUSTR_E3M7" {
	next = "E3M8"
	secretnext = "E3M9"
	sky1 = "SKY3"
	cluster = 3
	music = "MUS_E1M5"
}

map E3M8 lookup "HHUSTR_E3M8" {
	next = "EndDemon"
	secretnext = "E3M9"
	sky1 = "SKY3"
	cluster = 3
	nointermission
	dsparilspecial
	specialaction_lowerfloortohighest
	specialaction_killmonsters
	music = "MUS_E1M9"
	needclustertext
}

map E3M9 lookup "HHUSTR_E3M9" {
	next = "E3M5"
	secretnext = "E3M5"
	sky1 = "SKY3"
	cluster = 3
	music = "MUS_E2M6"
}

// Episode 4

map E4M1 lookup "HHUSTR_E4M1" {
	next = "E4M2"
	secretnext = "E4M9"
	sky1 = "SKY1"
	cluster = 4
	music = "MUS_E1M6"
}

map E4M2 lookup "HHUSTR_E4M2" {
	next = "E4M3"
	secretnext = "E4M9"
	sky1 = "SKY1"
	cluster = 4
	music = "MUS_E1M2"
}

map E4M3 lookup "HHUSTR_E4M3" {
	next = "E4M4"
	secretnext = "E4M9"
	sky1 = "SKY1"
	cluster = 4
	music = "MUS_E1M3"
}

map E4M4 lookup "HHUSTR_E4M4" {
	next = "E4M5"
	secretnext = "E4M9"
	sky1 = "SKY1"
	cluster = 4
	music = "MUS_E1M4"
}

map E4M5 lookup "HHUSTR_E4M5" {
	next = "E4M6"
	secretnext = "E4M9"
	sky1 = "SKY1"
	cluster = 4
	music = "MUS_E1M5"
}

map E4M6 lookup "HHUSTR_E4M6" {
	next = "E4M7"
	secretnext = "E4M9"
	sky1 = "SKY1"
	cluster = 4
	music = "MUS_E1M1"
}

map E4M7 lookup "HHUSTR_E4M7" {
	next = "E4M8"
	secretnext = "E4M9"
	sky1 = "SKY1"
	cluster = 4
	music = "MUS_E1M7"
}

map E4M8 lookup "HHUSTR_E4M8" {
	next = "EndGame4"
	secretnext = "E4M9"
	sky1 = "SKY1"
	cluster = 4
	nointermission
	ironlichspecial
	specialaction_lowerfloortohighest
	specialaction_killmonsters
	music = "MUS_E1M8"
	needclustertext
}

map E4M9 lookup "HHUSTR_E4M9" {
	next = "E4M5"
	secretnext = "E4M5"
	sky1 = "SKY1"
	cluster = 4
	music = "MUS_E1M9"
}

// Episode 5

map E5M1 lookup "HHUSTR_E5M1" {
	next = "E5M2"
	secretnext = "E5M9"
	sky1 = "SKY3"
	cluster = 5
	music = "MUS_E2M1"
}

map E5M2 lookup "HHUSTR_E5M2" {
	next = "E5M3"
	secretnext = "E5M9"
	sky1 = "SKY3"
	cluster = 5
	music = "MUS_E2M2"
}

map E5M3 lookup "HHUSTR_E5M3" {
	next = "E5M4"
	secretnext = "E5M9"
	sky1 = "SKY3"
	cluster = 5
	music = "MUS_E2M3"
}

map E5M4 lookup "HHUSTR_E5M4" {
	next = "E5M5"
	secretnext = "E5M9"
	sky1 = "SKY3"
	cluster = 5
	music = "MUS_E2M4"
}

map E5M5 lookup "HHUSTR_E5M5" {
	next = "E5M6"
	secretnext = "E5M9"
	sky1 = "SKY3"
	cluster = 5
	music = "MUS_E1M4"
}

map E5M6 lookup "HHUSTR_E5M6" {
	next = "E5M7"
	secretnext = "E5M9"
	sky1 = "SKY3"
	cluster = 5
	music = "MUS_E2M6"
}

map E5M7 lookup "HHUSTR_E5M7" {
	next = "E5M8"
	secretnext = "E5M9"
	sky1 = "SKY3"
	cluster = 5
	music = "MUS_E2M7"
}

map E5M8 lookup "HHUSTR_E5M8" {
	next = "EndGame1"
	secretnext = "E5M9"
	sky1 = "SKY3"
	cluster = 5
	nointermission
	minotaurspecial
	specialaction_killmonsters
	specialaction_lowerfloortohighest
	music = "MUS_E2M8"
	needclustertext
}

map E5M9 lookup "HHUSTR_E5M9" {
	next = "E5M4"
	secretnext = "E5M4"
	sky1 = "SKY3"
	cluster = 5
	music = "MUS_E2M9"
}

// Episode 6

map E6M1 "Untitled" {
	next = "E6M2"
	secretnext = "E6M2"
	sky1 = "SKY1"
	cluster = 6
	music = "MUS_E3M2"
}

map E6M2 "Untitled" {
	next = "E6M3"
	secretnext = "E6M3"
	sky1 = "SKY1"
	cluster = 6
	music = "MUS_E3M3"
}

map E6M3 "Untitled" {
	next = "E6M1"
	secretnext = "E6M1"
	sky1 = "SKY1"
	cluster = 6
	music = "MUS_E1M6"
}

// Clusters (correspond with same-numbered episode)

cluster 1 {
	flat = "FLOOR25"
	exittext = lookup, "HE1TEXT"
}

cluster 2 {
	flat = "FLATHUH1"
	exittext = lookup, "HE2TEXT"
}

cluster 3 {
	flat = "FLTWAWA2"
	exittext = lookup, "HE3TEXT"
}

cluster 4 {
	flat = "FLOOR28"
	exittext = lookup, "HE4TEXT"
}

cluster 5 {
	flat = "FLOOR08"
	exittext = lookup, "HE5TEXT"
}

cluster 6 {
	flat = "FLOOR25"
}
