LEVEL_VERSION(1)

REM PLAY Level 802 Avatars Castle

SET_GENERATE_SPEED(300)

MAX_CREATURES(PLAYER0,5)
MAX_CREATURES(PLAYER1,34)
MAX_CREATURES(PLAYER2,10)

START_MONEY(PLAYER0,20000)
START_MONEY(PLAYER1,4460000)
START_MONEY(PLAYER2,35000)

COMPUTER_PLAYER(PLAYER1,0)
SET_COMPUTER_CHECKS(PLAYER1,"CHECK FOR NEUTRAL PLACES",15000,0,0,0,195000)
REM 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)

COMPUTER_PLAYER(PLAYER2,9)

REM ALL_PLAYERS

ADD_CREATURE_TO_POOL(DARK_MISTRESS,20)
ADD_CREATURE_TO_POOL(SORCEROR,20)
ADD_CREATURE_TO_POOL(BILE_DEMON,20)
ADD_CREATURE_TO_POOL(DRAGON,18)
ADD_CREATURE_TO_POOL(GIANT,15)
ADD_CREATURE_TO_POOL(BARBARIAN,15)
ADD_CREATURE_TO_POOL(WIZARD,15)
ADD_CREATURE_TO_POOL(MONK,15)
ADD_CREATURE_TO_POOL(KNIGHT,5)
ADD_CREATURE_TO_POOL(VAMPIRE,3)
ADD_CREATURE_TO_POOL(FAIRY,2)

REM Creature_Availability

CREATURE_AVAILABLE(ALL_PLAYERS,DARK_MISTRESS,1,1)
CREATURE_AVAILABLE(ALL_PLAYERS,SORCEROR,1,1)
CREATURE_AVAILABLE(ALL_PLAYERS,BILE_DEMON,1,1)
CREATURE_AVAILABLE(ALL_PLAYERS,DRAGON,1,1)
CREATURE_AVAILABLE(PLAYER1,GIANT,1,1)
CREATURE_AVAILABLE(PLAYER1,BARBARIAN,1,1)
CREATURE_AVAILABLE(PLAYER1,WIZARD,1,1)
CREATURE_AVAILABLE(PLAYER1,MONK,1,1)
CREATURE_AVAILABLE(PLAYER1,FAIRY,1,1)
CREATURE_AVAILABLE(PLAYER1,KNIGHT,1,1)
CREATURE_AVAILABLE(PLAYER1,VAMPIRE,1,1)

REM Room_Availability

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

ROOM_AVAILABLE(PLAYER0,TREASURE,3,0)
ROOM_AVAILABLE(PLAYER0,LAIR,3,0)
ROOM_AVAILABLE(PLAYER0,GARDEN,3,0)
ROOM_AVAILABLE(PLAYER0,TRAINING,3,0)
ROOM_AVAILABLE(PLAYER0,RESEARCH,3,0)
ROOM_AVAILABLE(PLAYER0,WORKSHOP,3,0)
ROOM_AVAILABLE(PLAYER0,BARRACKS,3,0)
ROOM_AVAILABLE(PLAYER0,GUARD_POST,3,0)
ROOM_AVAILABLE(PLAYER0,BRIDGE,3,0)
ROOM_AVAILABLE(PLAYER0,PRISON,3,0)
ROOM_AVAILABLE(PLAYER0,TORTURE,3,0)
ROOM_AVAILABLE(PLAYER0,TEMPLE,3,0)
ROOM_AVAILABLE(PLAYER0,GRAVEYARD,3,0)

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

REM  doors & traps

TRAP_AVAILABLE(ALL_PLAYERS,POISON_GAS,1,0)
DOOR_AVAILABLE(PLAYER0,WOOD,1,3)
DOOR_AVAILABLE(ALL_PLAYERS,STEEL,1,0)
TRAP_AVAILABLE(PLAYER0,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)

SET_GAME_RULE(GhostConvertChance,0)

IF(PLAYER0,VAMPIRE >= 6)
    NEXT_COMMAND_REUSABLE
    SET_GAME_RULE(BodiesForVampire,250)
ENDIF

IF(PLAYER0,VAMPIRE < 6)
	IF(PLAYER0,TOTAL_CREATURES < 36)
    		NEXT_COMMAND_REUSABLE
    		SET_GAME_RULE(BodiesForVampire,8)
	ENDIF
ENDIF
	
	
IF(PLAYER0,SKELETON > 4)
	NEXT_COMMAND_REUSABLE
	SET_GAME_RULE(PrisonSkeletonChance,0)
ENDIF

IF(PLAYER0,SKELETON < 4)
	IF(PLAYER0,TOTAL_CREATURES < 36)
		NEXT_COMMAND_REUSABLE
		SET_GAME_RULE (PrisonSkeletonChance,100)
	ENDIF
ENDIF

IF(PLAYER0,TOTAL_CREATURES >=32)
	NEXT_COMMAND_REUSABLE
 	SET_GAME_RULE (TortureConvertChance,0)
ENDIF
IF(PLAYER0,TOTAL_CREATURES < 32)
	NEXT_COMMAND_REUSABLE
 	SET_GAME_RULE (TortureConvertChance,100)
ENDIF

IF(PLAYER0,TOTAL_CREATURES >=32)
	QUICK_OBJECTIVE(14,"THERE ARE NO MORE CREATURES TO CONVERT. ",All_PLAYERS)
ENDIF

IF(PLAYER0,TOTAL_CREATURES >=15)
	IF(PLAYER0,TOTAL_CREATURES <25)
		NEXT_COMMAND_REUSABLE
 		SET_GAME_RULE (TortureDeathChance,20)
	ENDIF
ENDIF
IF(PLAYER0,TOTAL_CREATURES >=25)
	IF(PLAYER0,TOTAL_CREATURES <30)
		NEXT_COMMAND_REUSABLE
 		SET_GAME_RULE (TortureDeathChance,60)
	ENDIF
ENDIF

IF(PLAYER0,TOTAL_CREATURES >=30)
	NEXT_COMMAND_REUSABLE
 	SET_GAME_RULE (TortureDeathChance,95)
ENDIF

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(MAGIC)
	ADD_TO_PARTY(MAGIC,WIZARD,10,550,ATTACK_DUNGEON_HEART,0)
	ADD_TO_PARTY(MAGIC,FAIRY,10,550,ATTACK_DUNGEON_HEART,0)
	ADD_TO_PARTY(MAGIC,WITCH,10,550,ATTACK_DUNGEON_HEART,0)
	ADD_TO_PARTY(MAGIC,SAMURAI,10,550,ATTACK_DUNGEON_HEART,0)


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

CREATE_PARTY(KNIGHTS)
	ADD_TO_PARTY(KNIGHTS,KNIGHT,10,550,ATTACK_DUNGEON_HEART,0)
	ADD_TO_PARTY(KNIGHTS,KNIGHT,10,550,ATTACK_DUNGEON_HEART,0)
	ADD_TO_PARTY(KNIGHTS,KNIGHT,10,550,ATTACK_DUNGEON_HEART,0)
	ADD_TO_PARTY(KNIGHTS,KNIGHT,10,550,ATTACK_DUNGEON_HEART,0)

CREATE_PARTY(HEART)
	ADD_TO_PARTY(HEART,THIEF,10,550,ATTACK_DUNGEON_HEART,0)
	ADD_TO_PARTY(HEART,THIEF,10,550,ATTACK_DUNGEON_HEART,0)
	ADD_TO_PARTY(HEART,ARCHER,10,550,ATTACK_DUNGEON_HEART,0)
	ADD_TO_PARTY(HEART,ARCHER,10,550,ATTACK_DUNGEON_HEART,0)
	ADD_TO_PARTY(HEART,MONK,10,550,ATTACK_DUNGEON_HEART,0)
	ADD_TO_PARTY(HEART,MONK,10,550,ATTACK_DUNGEON_HEART,0)

IF_ACTION_POINT(11,PLAYER0)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,KNIGHTS,-1,1)
ENDIF

IF(PLAYER0,TOTAL_CREATURES >=30)
	QUICK_OBJECTIVE(10,"THERE ARE NO MORE CREATURES TO CONVERT. ",All_PLAYERS)
ENDIF

QUICK_OBJECTIVE(0,"THIS REALM, KEEPER, IS FULL OF TRAPS AND EMEMYS EVRYWHERE. THE AVATAR HIMSELF DESTROYED YOUR NEIGHBOUR AND IS GONE FOR RESTING. ITS TIME TO START YOUR ADVANTURE. EXPLORE THE FAR NORTH TO FIND YOUR NEEDED MINIONS. BUT ONE IS FOR SURE. YOU CAN TAKE ALL THE TIME YOU WANT IN THIS REALM. ",PLAYER0)

IF_ACTION_POINT(5,PLAYER0)
	QUICK_OBJECTIVE(2,"YOU ENTERED THE AVATARS CASTLE, WATCH YOUR STEPS. BE AWARE OF THE CONSEQUENCES OF KILLING A HEART",5)
ENDIF

IF_ACTION_POINT(6,PLAYER0)
	QUICK_OBJECTIVE(3,"AHH FINALLY THE TORTURE CHAMBER. USE IT DIRECTLY AND CONVERT THE SHEET OUT YOUR LEFT OVER ENEMYS. THE AVATAR IS WAITING",6)
ENDIF

IF_ACTION_POINT(7,PLAYER0)
	QUICK_OBJECTIVE(4,"I CAN SMELL THE WAY TO YOUR IMPS. KEEPER.",7)
ENDIF

IF_ACTION_POINT(8,PLAYER0)
	QUICK_OBJECTIVE(5,"WELL DONE SO FAR. NOW WE CAN START WITH THE EMPIRE. U NEED TO COME ALONG WITH 5 CREATURES AT FIRST AND I HEARD THERE IS A TRAINING ROOM IN THE EAST. I PREFER A SAVEGAME",8)
ENDIF

IF_ACTION_POINT(9,PLAYER0)
	QUICK_OBJECTIVE(6,"PREPARE A BIT. FIND ALL HIDDEN GOLD AND ITS TIME TO KILL SOME KEEPER.",9)
ENDIF

IF_ACTION_POINT(10,PLAYER0)
	QUICK_OBJECTIVE(7,"OH A LITTLE GEM. TRAIN YOUR CREATURES AND ITS ABOUT TIME TO HEAD INTO THE CASTLE. DISCOVER THE GRAVEYARD FIRST",10)
ENDIF

IF_ACTION_POINT(12,PLAYER0)
	QUICK_OBJECTIVE(9,"STAY FOCUSED. THERE ARE WAYS TO GET ONE OR THE OTHER HORNY AND KNIGHT AND ITS A GOOD TIME TO GO FOR THE GEMS WEST",12)
ENDIF

IF(PLAYER_GOOD,DUNGEON_DESTROYED == 1)
	SET_FLAG(PLAYER_GOOD,FLAG0,1)
	ADD_CREATURE_TO_LEVEL(PLAYER1,VAMPIRE,PLAYER1,1,10,0)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,MAGIC,-5,1)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,HEART,-5,1)
	QUICK_OBJECTIVE(13,"THE AVATAR SENDS BACKUP",ALL_PLAYERS)
ENDIF

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

IF(PLAYER_GOOD,FLAG1 == 1)
	IF(PLAYER_GOOD,TIMER0 >= 1000)
		ADD_PARTY_TO_LEVEL(PLAYER_GOOD,MAGIC,-1,1)
		ADD_TUNNELLER_PARTY_TO_LEVEL(PLAYER_GOOD,BRUTES,-2,DUNGEON,1,10,100)
		ADD_TUNNELLER_PARTY_TO_LEVEL(PLAYER_GOOD,DWARF,-3,DUNGEON,1,10,100)
		ADD_TUNNELLER_PARTY_TO_LEVEL(PLAYER_GOOD,DWARF,-6,DUNGEON,1,10,100)
		ADD_PARTY_TO_LEVEL(PLAYER_GOOD,BRUTES,2,1)
		ADD_PARTY_TO_LEVEL(PLAYER_GOOD,MAGIC,-1,1)
		ADD_PARTY_TO_LEVEL(PLAYER_GOOD,BRUTES,5,1)
		ADD_PARTY_TO_LEVEL(PLAYER_GOOD,DWARF,3,1)
	ENDIF
ENDIF

IF_ACTION_POINT(13,PLAYER0)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,MAGIC,-1,1)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,HEART,-1,1)
ENDIF

IF(PLAYER_GOOD,TIMER0 >= 1133)
		ADD_PARTY_TO_LEVEL(PLAYER_GOOD,DWARF,3,1)
		SET_FLAG(PLAYER_GOOD,FLAG2,1)
ENDIF
IF(PLAYER_GOOD,TIMER0 >= 1366)
		ADD_PARTY_TO_LEVEL(PLAYER_GOOD,DWARF,3,1)
		SET_FLAG(PLAYER_GOOD,FLAG2,1)
ENDIF
IF(PLAYER_GOOD,TIMER0 >= 1466)
		ADD_PARTY_TO_LEVEL(PLAYER_GOOD,DWARF,3,1)
		SET_FLAG(PLAYER_GOOD,FLAG2,1)
ENDIF
IF(PLAYER_GOOD,FLAG2 == 1)
    IF(PLAYER_GOOD,TIMER0 >= 1600)
        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,MAGIC,2,1)
        ADD_PARTY_TO_LEVEL(PLAYER_GOOD,BRUTES,4,1)
        SET_FLAG(PLAYER_GOOD,FLAG2,2)
    ENDIF
ENDIF

IF(PLAYER_GOOD,AVATAR == 0)
    QUICK_OBJECTIVE(12,"THE AVATAR IS DEAD BUT HIS BROTHER IS ON HIS WAY TO YOU.",ALL_PLAYERS)
    SET_TIMER(PLAYER_GOOD,TIMER0)
    SET_FLAG(PLAYER_GOOD,FLAG2,2)
ENDIF


IF(PLAYER_GOOD,AVATAR == 0)
	IF(PLAYER_GOOD,TIMER0 > 1900)
    		IF(PLAYER_GOOD,FLAG2 == 1)
        		QUICK_OBJECTIVE(8,"THE AVATARS ARE DEAD. NOW LET THE LAST KEEPER EAT HIS OWN DAMN CHICKENS .",ALL_PLAYERS)
		ENDIF
    	ENDIF
ENDIF

IF(PLAYER_GOOD,TIMER0 > 1700)
    IF(PLAYER_GOOD,AVATAR == 0)
        IF(PLAYER1,DUNGEON_DESTROYED == 1)
            WIN_GAME
        ENDIF
    ENDIF
ENDIF