REM ****************************************************************************
REM  Campaigns Consolidation Project for KeeperFX strategy game.
REM ****************************************************************************
REM  Script for Level Skybird Trill
REM  Campaign: DK Original
REM  Authors:  based on Bullfrog script
REM            KeeperFX CCP Team
REM  Date:     17 Dec 1996 - 11 Feb 2011
REM  Copying and copyrights:
REM    This program is free software; you can redistribute it and/or modify
REM    it under the terms of the GNU General Public License as published by
REM    the Free Software Foundation; either version 2 of the License, or
REM    (at your option) any later version.
REM ****************************************************************************

REM Nothing new for the player (that's the last level! so, it's normal)

SET_GENERATE_SPEED(600)

START_MONEY(PLAYER0,20000)
START_MONEY(PLAYER1,2460000)

COMPUTER_PLAYER(PLAYER1,0)

SET_COMPUTER_CHECKS(PLAYER1,"CHECK FOR NEUTRAL PLACES",15000,0,0,0,195000)

REM "CHECK FOR QUICK ATTACK", CheckEvery, AttackPercent, CTADuration, MinForAttack, LastCheck
SET_COMPUTER_CHECKS(PLAYER1,"CHECK FOR QUICK ATTACK",700,70,3000,8,122500)
SET_COMPUTER_PROCESS(PLAYER1,"ATTACK SAFE ATTACK",-1,100,335,100,0)
SET_COMPUTER_PROCESS(PLAYER1,"ATTACK PLAN 1",-1,100,335,100,0)
SET_COMPUTER_PROCESS(PLAYER1,"ATTACK PLAN 1",-1,100,335,100,0)

MAX_CREATURES(PLAYER0,25)
MAX_CREATURES(PLAYER1,30)

ADD_CREATURE_TO_POOL(TROLL,30)
ADD_CREATURE_TO_POOL(SORCEROR,17)
ADD_CREATURE_TO_POOL(BILE_DEMON,20)
ADD_CREATURE_TO_POOL(DARK_MISTRESS,30)
ADD_CREATURE_TO_POOL(VAMPIRE,21)
ADD_CREATURE_TO_POOL(DRAGON,21)
ADD_CREATURE_TO_POOL(HELL_HOUND,30)
ADD_CREATURE_TO_POOL(ORC,17)

REM	Creature availability
CREATURE_AVAILABLE(ALL_PLAYERS,TROLL,1,1)
CREATURE_AVAILABLE(PLAYER1,SORCEROR,1,1)
CREATURE_AVAILABLE(ALL_PLAYERS,BILE_DEMON,1,1)
CREATURE_AVAILABLE(PLAYER1,DARK_MISTRESS,1,1)
CREATURE_AVAILABLE(PLAYER1,VAMPIRE,1,1)
CREATURE_AVAILABLE(ALL_PLAYERS,DRAGON,1,1)
CREATURE_AVAILABLE(ALL_PLAYERS,HELL_HOUND,1,1)
CREATURE_AVAILABLE(PLAYER0,ORC,1,1)

REM	Room availability
ROOM_AVAILABLE(ALL_PLAYERS,TREASURE,1,1)
ROOM_AVAILABLE(ALL_PLAYERS,LAIR,1,1)
ROOM_AVAILABLE(ALL_PLAYERS,GARDEN,1,1)
ROOM_AVAILABLE(ALL_PLAYERS,TRAINING,1,1)
ROOM_AVAILABLE(ALL_PLAYERS,RESEARCH,1,1)
ROOM_AVAILABLE(ALL_PLAYERS,WORKSHOP,1,0)
ROOM_AVAILABLE(ALL_PLAYERS,BARRACKS,1,0)
ROOM_AVAILABLE(ALL_PLAYERS,GUARD_POST,1,0)
ROOM_AVAILABLE(PLAYER1,BRIDGE,1,0)
ROOM_AVAILABLE(ALL_PLAYERS,PRISON,1,0)
ROOM_AVAILABLE(ALL_PLAYERS,TORTURE,1,0)
ROOM_AVAILABLE(ALL_PLAYERS,SCAVENGER,1,0)
ROOM_AVAILABLE(ALL_PLAYERS,TEMPLE,1,0)
ROOM_AVAILABLE(ALL_PLAYERS,GRAVEYARD,1,0)

REM	Spells availability
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_HAND,1,1)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_IMP,1,1)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_SLAP,1,1)
MAGIC_AVAILABLE(PLAYER1,POWER_SIGHT,1,1)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_OBEY,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_CALL_TO_ARMS,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_HEAL_CREATURE,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_SPEED,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_LIGHTNING,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_PROTECT,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_CONCEAL,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_DISEASE,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_CAVE_IN,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_CHICKEN,1,0)

REM	Doors and traps availability
TRAP_AVAILABLE(ALL_PLAYERS,POISON_GAS,1,0)
DOOR_AVAILABLE(ALL_PLAYERS,STEEL,1,0)
TRAP_AVAILABLE(ALL_PLAYERS,BOULDER,1,0)
DOOR_AVAILABLE(ALL_PLAYERS,MAGIC,1,0)
TRAP_AVAILABLE(ALL_PLAYERS,LIGHTNING,1,0)
TRAP_AVAILABLE(ALL_PLAYERS,WORD_OF_POWER,1,0)

CREATE_PARTY(RPG)
	ADD_TO_PARTY(RPG,WIZARD,10,300,ATTACK_DUNGEON_HEART,0)
	ADD_TO_PARTY(RPG,BARBARIAN,10,300,ATTACK_DUNGEON_HEART,0)
	ADD_TO_PARTY(RPG,KNIGHT,10,300,ATTACK_DUNGEON_HEART,0)
	ADD_TO_PARTY(RPG,WITCH,10,300,ATTACK_DUNGEON_HEART,0)

CREATE_PARTY(BIG_BOY)
	ADD_TO_PARTY(BIG_BOY,AVATAR,10,300,ATTACK_DUNGEON_HEART,0)

CREATE_PARTY(BRUTES)
	ADD_TO_PARTY(BRUTES,GIANT,10,500,ATTACK_DUNGEON_HEART,0)
	ADD_TO_PARTY(BRUTES,GIANT,10,500,ATTACK_DUNGEON_HEART,0)
	ADD_TO_PARTY(BRUTES,BARBARIAN,10,500,ATTACK_DUNGEON_HEART,0)
	ADD_TO_PARTY(BRUTES,BARBARIAN,10,500,ATTACK_DUNGEON_HEART,0)

CREATE_PARTY(MAGICIANS)
	ADD_TO_PARTY(MAGICIANS,WIZARD,10,550,ATTACK_DUNGEON_HEART,0)
	ADD_TO_PARTY(MAGICIANS,FAIRY,10,550,ATTACK_DUNGEON_HEART,0)
	ADD_TO_PARTY(MAGICIANS,WITCH,10,550,ATTACK_DUNGEON_HEART,0)
	ADD_TO_PARTY(MAGICIANS,SAMURAI,10,550,ATTACK_DUNGEON_HEART,0)

CREATE_PARTY(DWARVES)
	ADD_TO_PARTY(DWARVES,DWARFA,9,650,STEAL_GOLD,0)
	ADD_TO_PARTY(DWARVES,DWARFA,9,650,STEAL_GOLD,0)
	ADD_TO_PARTY(DWARVES,THIEF,9,3000,STEAL_GOLD,0)
	ADD_TO_PARTY(DWARVES,THIEF,9,3000,STEAL_GOLD,0)

REM ****************************************************************************

REM 134 "Your mission here is to capture the Avatar and turn this whole world evil. A rival keeper challenges you for the crown of the most evil."
REM 135 "Well done,you have destroyed the avatar's castle, but your rival has already made off with the captured Avatar. Only the most evil of dungeon keeper's can kill the avatar. prove your worth, ramsack your rivals castle and kill the Avatar"
REM 136 "The Avatar is dead but not buried, he has resurrected himself in a hidden hero stronghold and is enthusing his armies to destroy your dungeon. This now is the ultimate battle between good and evil, there can only be one survivor."

DISPLAY_OBJECTIVE(134,PLAYER0)

IF(PLAYER0,GAME_TURN >= 10)
    DISPLAY_INFORMATION(167)
ENDIF

IF(PLAYER_GOOD,DUNGEON_DESTROYED == 1)
	DISPLAY_OBJECTIVE(135,PLAYER0)
	ADD_CREATURE_TO_LEVEL(PLAYER1,VAMPIRE,PLAYER1,1,10,0)
ENDIF

IF(PLAYER_GOOD,AVATAR == 0)
	SET_FLAG(PLAYER_GOOD,FLAG1,1)
	SET_TIMER(PLAYER_GOOD,TIMER0)
ENDIF

IF(PLAYER1,DUNGEON_DESTROYED == 1)
	IF(PLAYER_GOOD,AVATAR > 0)
		DISPLAY_OBJECTIVE(169,PLAYER0)
	ENDIF
ENDIF

IF(PLAYER1,DUNGEON_DESTROYED == 1)
	ROOM_AVAILABLE(PLAYER0,BRIDGE,1,1)
ENDIF

IF(PLAYER_GOOD,FLAG1 == 1)
	IF(PLAYER_GOOD,TIMER0 >= 1000)
		ADD_PARTY_TO_LEVEL(PLAYER_GOOD,MAGICIANS,-1,1)
		ADD_TUNNELLER_PARTY_TO_LEVEL(PLAYER_GOOD,BRUTES,-2,DUNGEON,0,10,100)
		ADD_TUNNELLER_PARTY_TO_LEVEL(PLAYER_GOOD,DWARVES,-3,DUNGEON,0,10,100)
		ADD_TUNNELLER_PARTY_TO_LEVEL(PLAYER_GOOD,DWARVES,-6,DUNGEON,0,10,100)
		ADD_PARTY_TO_LEVEL(PLAYER_GOOD,BRUTES,1,1)
		ADD_PARTY_TO_LEVEL(PLAYER_GOOD,MAGICIANS,2,1)
		ADD_PARTY_TO_LEVEL(PLAYER_GOOD,BRUTES,4,1)
		ADD_PARTY_TO_LEVEL(PLAYER_GOOD,DWARVES,3,1)
	ENDIF
	IF(PLAYER_GOOD,TIMER0 >= 1133)
		ADD_PARTY_TO_LEVEL(PLAYER_GOOD,DWARVES,3,1)
		SET_FLAG(PLAYER_GOOD,FLAG2,1)
		PRINT("HA HA ROBBO (LOW COUNT) YOU ARE DEAD")
	ENDIF
	IF(PLAYER_GOOD,TIMER0 >= 1366)
		ADD_PARTY_TO_LEVEL(PLAYER_GOOD,DWARVES,3,1)
		SET_FLAG(PLAYER_GOOD,FLAG2,1)
	ENDIF
	IF(PLAYER_GOOD,TIMER0 >= 1466)
		PRINT("I LIVE AGAIN. The Avatar.")
		ADD_PARTY_TO_LEVEL(PLAYER_GOOD,DWARVES,3,1)
		SET_FLAG(PLAYER_GOOD,FLAG2,1)
	ENDIF
	IF(PLAYER_GOOD,TIMER0 >= 1600)
		DISPLAY_OBJECTIVE(171,PLAYER0)
		ADD_PARTY_TO_LEVEL(PLAYER_GOOD,RPG,3,1)
		ADD_PARTY_TO_LEVEL(PLAYER_GOOD,BIG_BOY,3,1)
		ADD_PARTY_TO_LEVEL(PLAYER_GOOD,MAGICIANS,2,1)
		ADD_PARTY_TO_LEVEL(PLAYER_GOOD,BRUTES,4,1)
		SET_FLAG(PLAYER_GOOD,FLAG2,1)
	ENDIF
	IF(PLAYER_GOOD,TIMER0 >= 1833)
		DISPLAY_OBJECTIVE(136,PLAYER0)
	ENDIF
ENDIF 

IF(PLAYER_GOOD,FLAG2 == 1)
	IF(PLAYER_GOOD,TOTAL_CREATURES == 0)
		IF(PLAYER_GOOD,DUNGEON_DESTROYED == 1)
			IF(PLAYER1,TOTAL_CREATURES == 0)
				IF(PLAYER1,DUNGEON_DESTROYED == 1)
					DISPLAY_OBJECTIVE(172,PLAYER0)
					WIN_GAME
				ENDIF
			ENDIF
		ENDIF
	ENDIF
ENDIF

IF(PLAYER_GOOD,FLAG2 == 1)
	IF(PLAYER_GOOD,TOTAL_CREATURES == 0)
		IF(PLAYER_GOOD,DUNGEON_DESTROYED == 1)
			IF(PLAYER1,DUNGEON_DESTROYED == 0)
				DISPLAY_OBJECTIVE(173,PLAYER0)
			ENDIF
		ENDIF
	ENDIF
ENDIF

IF(PLAYER0,DUNGEON_DESTROYED == 1)
	DISPLAY_OBJECTIVE(163,PLAYER0)
	LOSE_GAME
ENDIF
