LEVEL_VERSION(1)
SET_GENERATE_SPEED(400)
START_MONEY(ALL_PLAYERS,5000)
SET_PLAYER_COLOR(PLAYER0, WHITE)
SET_PLAYER_COLOR(PLAYER_GOOD, RED)

REM Make CTA free
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_CALL_TO_ARMS,1,1)
SET_POWER_CONFIGURATION(POWER_CALL_TO_ARMS, Cost, 0, 0)
SET_POWER_CONFIGURATION(POWER_CALL_TO_ARMS, Cost, 0, 1)
SET_POWER_CONFIGURATION(POWER_CALL_TO_ARMS, Cost, 0, 2)
SET_POWER_CONFIGURATION(POWER_CALL_TO_ARMS, Cost, 0, 3)
SET_POWER_CONFIGURATION(POWER_CALL_TO_ARMS, Cost, 0, 4)
SET_POWER_CONFIGURATION(POWER_CALL_TO_ARMS, Cost, 0, 5)
SET_POWER_CONFIGURATION(POWER_CALL_TO_ARMS, Cost, 0, 6)
SET_POWER_CONFIGURATION(POWER_CALL_TO_ARMS, Cost, 0, 7)
SET_POWER_CONFIGURATION(POWER_CALL_TO_ARMS, Cost, 0, 8)
SET_POWER_CONFIGURATION(POWER_CALL_TO_ARMS, Cost, 0, 9)

REM Player can make wooden doors, but they sell for nothing
DOOR_AVAILABLE(PLAYER0,WOOD,1,1)
SET_DOOR_CONFIGURATION(WOOD, SellingValue, 0)

CREATE_PARTY(DROP1)
ADD_TO_PARTY(DROP1, ORC, 7, 1000, ATTACK_ENEMIES, 1000)
ADD_TO_PARTY(DROP1, ORC, 7, 1000, ATTACK_ENEMIES, 1000)
ADD_TO_PARTY(DROP1, ORC, 7, 1000, ATTACK_ENEMIES, 1000)
ADD_TO_PARTY(DROP1, SORCEROR, 7, 1000, ATTACK_ENEMIES, 1000)
ADD_TO_PARTY(DROP1, SORCEROR, 7, 1000, ATTACK_ENEMIES, 1000)
ADD_TO_PARTY(DROP1, DRAGON, 8, 1000, ATTACK_ENEMIES, 1000)
ADD_TO_PARTY(DROP1, BILE_DEMON, 7, 1000, ATTACK_ENEMIES, 1000)
ADD_TO_PARTY(DROP1, BILE_DEMON, 7, 1000, ATTACK_ENEMIES, 1000)

CREATE_PARTY(DROP2)
ADD_TO_PARTY(DROP2, DRAGON, 9, 1000, ATTACK_ENEMIES, 1000)
ADD_TO_PARTY(DROP2, DRAGON, 7, 1000, ATTACK_ENEMIES, 1000)
ADD_TO_PARTY(DROP2, DRAGON, 7, 1000, ATTACK_ENEMIES, 1000)
ADD_TO_PARTY(DROP2, HORNY, 6, 1000, ATTACK_ENEMIES, 1000)
ADD_TO_PARTY(DROP2, ORC, 8, 1000, ATTACK_ENEMIES, 1000)
ADD_TO_PARTY(DROP2, ORC, 8, 1000, ATTACK_ENEMIES, 1000)
ADD_TO_PARTY(DROP2, HELL_HOUND, 8, 1000, ATTACK_ENEMIES, 1000)
ADD_TO_PARTY(DROP2, HELL_HOUND, 8, 1000, ATTACK_ENEMIES, 1000)

REM Intro timer
SET_TIMER(PLAYER0, TIMER0)

REM Free wiznerd flag
SET_FLAG(PLAYER0, FLAG0, 0)

REM QUICK_OBJECTIVE(1, "This wayward knight has been captured and seeks your aid. He has managed to escape his prison, but it will be up to you keeper to assist him in liberating his friends and escaping this godforsaken place.", PLAYER0)
DISPLAY_OBJECTIVE(65, PLAYER0)

IF(PLAYER0, TIMER0 >= 200)
	REM QUICK_INFORMATION(6, "Our tunnelers refuse to enter such a land, we will have to make do without them. Our creatures should be able to claim the rooms we require by venturing into them.", PLAYER0)
	DISPLAY_INFORMATION(66, PLAYER0)
ENDIF

IF(PLAYER0, TOTAL_CREATURES >= 2)
	REM QUICK_INFORMATION(2, "Excellent, the more prisoners  we can free, the more likely our chance of success becomes.", PLAYER0)
	DISPLAY_INFORMATION(67, PLAYER0)
ENDIF

IF(PLAYER0,TOTAL_CREATURES == 0)
	LOSE_GAME
ENDIF

REM Intro hallway
IF_ACTION_POINT(1, PLAYER0)
	CHANGE_SLAB_OWNER(42, 60, PLAYER0, MATCH)
ENDIF

REM Intro Hatchery
IF_ACTION_POINT(2, PLAYER0)
	CHANGE_SLAB_OWNER(44, 63, PLAYER0, MATCH)
ENDIF

REM Intro Lair
IF_ACTION_POINT(3, PLAYER0)
	CHANGE_SLAB_OWNER(40, 63, PLAYER0, MATCH)
ENDIF

REM Pre-guardroom
IF_ACTION_POINT(4, PLAYER0)
	CHANGE_SLAB_OWNER(42, 54, PLAYER0, MATCH)
	CHANGE_SLAB_OWNER(42, 56, PLAYER0, MATCH)
	CHANGE_SLAB_OWNER(42, 59, PLAYER0, MATCH)
ENDIF

REM Guardroom
IF_ACTION_POINT(5, PLAYER0)
	CHANGE_SLAB_OWNER(52, 53, PLAYER0, MATCH)
	CHANGE_SLAB_OWNER(45, 53, PLAYER0, MATCH)
ENDIF

REM Guardroom lair BL
IF_ACTION_POINT(6, PLAYER0)
	CHANGE_SLAB_OWNER(47, 55, PLAYER0, MATCH)
	CHANGE_SLAB_OWNER(47, 57, PLAYER0, MATCH)
ENDIF

REM Guardroom lair TL
IF_ACTION_POINT(7, PLAYER0)
	CHANGE_SLAB_OWNER(47, 49, PLAYER0, MATCH)
	CHANGE_SLAB_OWNER(47, 51, PLAYER0, MATCH)
ENDIF

REM Guardroom lair TR
IF_ACTION_POINT(8, PLAYER0)
	CHANGE_SLAB_OWNER(51, 49, PLAYER0, MATCH)
	CHANGE_SLAB_OWNER(51, 51, PLAYER0, MATCH)
ENDIF

REM Guardroom lair BR
IF_ACTION_POINT(9, PLAYER0)
	CHANGE_SLAB_OWNER(51, 57, PLAYER0, MATCH)
	CHANGE_SLAB_OWNER(51, 55, PLAYER0, MATCH)
ENDIF

REM Guardroom hatchery
IF_ACTION_POINT(10, PLAYER0)
	CHANGE_SLAB_OWNER(55, 53, PLAYER0, MATCH)
	CHANGE_SLAB_OWNER(53, 53, PLAYER0, MATCH)
ENDIF

REM BL Prision guardroom hallway
IF_ACTION_POINT(11, PLAYER0)
	CHANGE_SLAB_OWNER(59, 53, PLAYER0, MATCH)
ENDIF

REM BL Prision hallway
IF_ACTION_POINT(26, PLAYER0)
	CHANGE_SLAB_OWNER(61, 54, PLAYER0, MATCH)
	CHANGE_SLAB_OWNER(61, 56, PLAYER0, MATCH)
	CHANGE_SLAB_OWNER(61, 63, PLAYER0, MATCH)
ENDIF

REM Guardroom treasury
IF_ACTION_POINT(12, PLAYER0)
	CHANGE_SLAB_OWNER(50, 45, PLAYER0, MATCH)
	CHANGE_SLAB_TYPE(47, 47, PRETTY_PATH)
	CHANGE_SLAB_OWNER(47, 47, PLAYER0, MATCH)
	CHANGE_SLAB_TYPE(51, 47, PRETTY_PATH)
	CHANGE_SLAB_OWNER(51, 47, PLAYER0, MATCH)
ENDIF

REM BL Prision, cell 1
IF_ACTION_POINT(13, PLAYER0)
	CHANGE_SLAB_OWNER(59, 65, PLAYER0, MATCH)
	CHANGE_SLAB_OWNER(60, 65, PLAYER0, MATCH)
ENDIF

REM BL Prision, cell 2
IF_ACTION_POINT(14, PLAYER0)
	CHANGE_SLAB_OWNER(59, 61, PLAYER0, MATCH)
	CHANGE_SLAB_OWNER(60, 61, PLAYER0, MATCH)
ENDIF

REM BL Prision, cell 3
IF_ACTION_POINT(15, PLAYER0)
	CHANGE_SLAB_OWNER(63, 61, PLAYER0, MATCH)
	CHANGE_SLAB_OWNER(62, 61, PLAYER0, MATCH)
ENDIF

REM Right library, treasury
IF_ACTION_POINT(16, PLAYER0)
	CHANGE_SLAB_OWNER(57, 46, PLAYER0, MATCH)
	CHANGE_SLAB_OWNER(57, 44, PLAYER0, MATCH)
ENDIF

REM Pre-right library
IF_ACTION_POINT(27, PLAYER0)
	CHANGE_SLAB_OWNER(57, 41, PLAYER0, MATCH)
ENDIF

REM Right Library
IF_ACTION_POINT(17, PLAYER0)
	CHANGE_SLAB_OWNER(61, 41, PLAYER0, MATCH)
	CHANGE_SLAB_OWNER(60, 41, PLAYER0, MATCH)
ENDIF

REM Right Library prision
IF_ACTION_POINT(18, PLAYER0)
	CHANGE_SLAB_OWNER(67, 40, PLAYER0, MATCH)
	CHANGE_SLAB_OWNER(66, 40, PLAYER0, MATCH)
ENDIF

REM Torture chamber hallway
IF_ACTION_POINT(24, PLAYER0)
	CHANGE_SLAB_OWNER(46, 41, PLAYER0, MATCH)
	CHANGE_SLAB_OWNER(49, 42, PLAYER0, MATCH)
ENDIF

REM Torture chamber hallway, again
IF_ACTION_POINT(25, PLAYER0)
	CHANGE_SLAB_OWNER(46, 41, PLAYER0, MATCH)
	CHANGE_SLAB_OWNER(49, 42, PLAYER0, MATCH)
ENDIF

REM Torture chamber
IF_ACTION_POINT(19, PLAYER0)
	CHANGE_SLAB_OWNER(42, 45, PLAYER0, MATCH)
	CHANGE_SLAB_OWNER(42, 43, PLAYER0, MATCH)
ENDIF

REM Pre-Giant/fairy prision
IF_ACTION_POINT(50, PLAYER0)
	CHANGE_SLAB_OWNER(36, 45, PLAYER0, MATCH)
	CHANGE_SLAB_OWNER(36, 47, PLAYER0, MATCH)
	CHANGE_SLAB_OWNER(36, 44, PLAYER0, MATCH)
ENDIF

REM Giant/fairy prision
IF_ACTION_POINT(20, PLAYER0)
	CHANGE_SLAB_OWNER(43, 49, PLAYER0, MATCH)
	CHANGE_SLAB_OWNER(41, 49, PLAYER0, MATCH)
ENDIF

REM Training room hallway
IF_ACTION_POINT(21, PLAYER0)
	CHANGE_SLAB_OWNER(32, 51, PLAYER0, MATCH)
ENDIF

REM Training room treasury
IF_ACTION_POINT(22, PLAYER0)
	CHANGE_SLAB_OWNER(23, 55, PLAYER0, MATCH)
	CHANGE_SLAB_OWNER(23, 53, PLAYER0, MATCH)
ENDIF

REM Training room
IF_ACTION_POINT(23, PLAYER0)
	CHANGE_SLAB_OWNER(34, 54, PLAYER0, MATCH)
	CHANGE_SLAB_OWNER(34, 55, PLAYER0, MATCH)
ENDIF

REM Left Guardroom
IF_ACTION_POINT(28, PLAYER0)
	CHANGE_SLAB_OWNER(26, 43, PLAYER0, MATCH)
	CHANGE_SLAB_OWNER(26, 44, PLAYER0, MATCH)
	CHANGE_SLAB_OWNER(24, 44, PLAYER0, MATCH)
	CHANGE_SLAB_OWNER(30, 44, PLAYER0, MATCH)
ENDIF

REM Left guardroom, left hatchery
IF_ACTION_POINT(29, PLAYER0)
	CHANGE_SLAB_OWNER(24, 40, PLAYER0, MATCH)
	CHANGE_SLAB_OWNER(26, 40, PLAYER0)
ENDIF

REM Left guardroom, right hatchery
IF_ACTION_POINT(30, PLAYER0)
	CHANGE_SLAB_OWNER(30, 40, PLAYER0, MATCH)
	CHANGE_SLAB_OWNER(28, 40, PLAYER0)
ENDIF

REM TR Prision cell wizard
IF_ACTION_POINT(31, PLAYER0)
	CHANGE_SLAB_OWNER(24, 35, PLAYER0, MATCH)
	CHANGE_SLAB_OWNER(25, 35, PLAYER0)
ENDIF

REM TR Prision cell monk
IF_ACTION_POINT(32, PLAYER0)
	CHANGE_SLAB_OWNER(23, 29, PLAYER0, MATCH)
	CHANGE_SLAB_OWNER(23, 28, PLAYER0)
ENDIF

REM TR Prision cell samurai
IF_ACTION_POINT(33, PLAYER0)
	CHANGE_SLAB_OWNER(20, 27, PLAYER0, MATCH)
	CHANGE_SLAB_OWNER(21, 27, PLAYER0, MATCH)
ENDIF

REM TR Prision treasury
IF_ACTION_POINT(34, PLAYER0)
	CHANGE_SLAB_OWNER(22, 24, PLAYER0, MATCH)
	CHANGE_SLAB_OWNER(22, 25, PLAYER0, MATCH)
ENDIF

REM TR Prision pre-treasury
IF_ACTION_POINT(35, PLAYER0)
	CHANGE_SLAB_OWNER(27, 28, PLAYER0, MATCH)
ENDIF

REM TR Prision pre-library
IF_ACTION_POINT(36, PLAYER0)
	CHANGE_SLAB_OWNER(27, 28, PLAYER0, MATCH)
ENDIF

REM Top Library
IF_ACTION_POINT(37, PLAYER0)
	CHANGE_SLAB_OWNER(33, 22, PLAYER0, MATCH)
	CHANGE_SLAB_OWNER(33, 24, PLAYER0, MATCH)
ENDIF

REM pre-penultimate guardpost
IF_ACTION_POINT(38, PLAYER0)
	CHANGE_SLAB_OWNER(27, 28, PLAYER0, MATCH)
ENDIF

REM pre-final guardpost
IF_ACTION_POINT(39, PLAYER0)
	CHANGE_SLAB_OWNER(42, 33, PLAYER0, MATCH)
ENDIF

REM pre-penultimate drop
IF_ACTION_POINT(40, PLAYER0)
	CHANGE_SLAB_OWNER(42, 24, PLAYER0, MATCH)
ENDIF

REM pre-dungeon heart drop
IF_ACTION_POINT(41, PLAYER0)
	CHANGE_SLAB_OWNER(42, 19, PLAYER0, MATCH)
ENDIF

REM Top library prision
IF_ACTION_POINT(42, PLAYER0)
	CHANGE_SLAB_OWNER(34, 16, PLAYER0, MATCH)
	CHANGE_SLAB_OWNER(34, 17, PLAYER0, MATCH)
	IF(PLAYER0, FLAG0 == 0)
		REM QUICK_INFORMATION(3, "Fascinating, this freed wizard has knowledge about how to empower our tunnelers from hence forth. We were lucky to get to him in time.", 42)
		DISPLAY_INFORMATION(68, 42)
		SET_FLAG(PLAYER0, FLAG0, 1)
		SET_FLAG(PLAYER0, CAMPAIGN_FLAG1, 1)
	ENDIF
ENDIF

REM Final guardpost, lair 1
IF_ACTION_POINT(43, PLAYER0)
	CHANGE_SLAB_OWNER(40, 29, PLAYER0, MATCH)
	CHANGE_SLAB_OWNER(41, 29, PLAYER0)
ENDIF

REM Final guardpost, lair 2
IF_ACTION_POINT(44, PLAYER0)
	CHANGE_SLAB_OWNER(44, 29, PLAYER0, MATCH)
	CHANGE_SLAB_OWNER(43, 29, PLAYER0)
ENDIF

REM Final guardpost, lair 3
IF_ACTION_POINT(45, PLAYER0)
	CHANGE_SLAB_OWNER(40, 25, PLAYER0, MATCH)
	CHANGE_SLAB_OWNER(41, 25, PLAYER0)
ENDIF

REM Final guardpost, lair 4
IF_ACTION_POINT(46, PLAYER0)
	CHANGE_SLAB_OWNER(44, 25, PLAYER0, MATCH)
	CHANGE_SLAB_OWNER(43, 25, PLAYER0)
ENDIF

REM Penultimate drop
IF_ACTION_POINT(47, PLAYER0)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,DROP1,47,1)
ENDIF

REM Final drop
IF_ACTION_POINT(48, PLAYER0)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,DROP2,48,1)
ENDIF

REM Workshop
IF_ACTION_POINT(49, PLAYER0)
	CHANGE_SLAB_OWNER(39, 50, PLAYER0, MATCH)
	CHANGE_SLAB_OWNER(39, 52, PLAYER0, MATCH)
ENDIF

IF(PLAYER_GOOD, DUNGEON_DESTROYED == 1)
	REM QUICK_INFORMATION(4, "Well done with these jailers defeated, this knight can continue on his business, and we can return to our charge.", 48)
	DISPLAY_INFORMATION(69, 48)
	IF(PLAYER0, FLAG0 == 0)
		REM QUICK_INFORMATION(5, "It would seem your creatures have stumbled across a prisoner, who appears to possess knowledge about how to empower our tunnelers, this will be most useful.", 42)
		DISPLAY_INFORMATION(70, 42)
		SET_FLAG(PLAYER0, FLAG0, 1)
		SET_FLAG(PLAYER0, CAMPAIGN_FLAG1, 1)
	ENDIF
	IF(PLAYER0, FLAG0 == 1)
		DISPLAY_INFORMATION(71, 42)
		WIN_GAME
	ENDIF
ENDIF
