REM ****************************************************************************
REM  Free Play levels - KeeperFX
REM ****************************************************************************
REM  Script for Level Secrets of the Lava Dwellers
REM  Author:  SpicycuisineYGO 
REM  Date:    2024-10-13
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 ****************************************************************************


LEVEL_VERSION(1)
SET_GENERATE_SPEED(6000)
START_MONEY(ALL_PLAYERS,2500)
MAX_CREATURES(ALL_PLAYERS,25)

ROOM_AVAILABLE(ALL_PLAYERS,TREASURE,1,0)
ROOM_AVAILABLE(ALL_PLAYERS,LAIR,1,0)
ROOM_AVAILABLE(ALL_PLAYERS,GARDEN,1,0)

MAGIC_AVAILABLE(ALL_PLAYERS,POWER_HAND,1,1)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_SLAP,1,1)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_POSSESS,1,1)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_SPEED,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_CALL_TO_ARMS,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_HOLD_AUDIENCE,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_CAVE_IN,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_HEAL_CREATURE,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_PROTECT,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_CHICKEN,1,0)

TRAP_AVAILABLE(ALL_PLAYERS,ALARM,1,0)
TRAP_AVAILABLE(ALL_PLAYERS,POISON_GAS,1,0)

DOOR_AVAILABLE(ALL_PLAYERS,BRACED,1,0)
DOOR_AVAILABLE(ALL_PLAYERS,STEEL,1,0)

REM Action Points and Hero Gates
REM Action Point 1 - Hounds Taken
REM Action Point 2 - Training Room Bridge
REM Action Point 3 - Horny Room
REM Action Point 4 - Guarded North Bridge
REM Action Point 5 - Big Treasure Room
REM Action Point 6 - Prison Door
REM Action Point 7 - Heart Entrance
REM Action Point 8 - Small treasure
REM Action Point 9 - Torture room
REM Action Point 10 - Workshop
REM Action Point 11 - Library
REM Action Point 12 - Temple
REM Action Point 13 - Prison
REM Action Point 14 - Training Room
REM Action Point 15 - Bridge Warning
REM Action Point 16 - Real bridge
REM Action Point 17 - 2nd fake bridge
REM Action Point 18 - 3rd fake bridge
REM Action Point 19 - Castle Entrance
REM Action Point 20 - Be carefull

REM Hero Gate 1 - Library Gate
REM Hero Gate 2 - Workshop Gate
REM Hero Gate 3 - South West, Lava Gate
REM Hero Gate 4 - North, Lava Gate
REM Hero Gate 5 - South, Lava Gate
REM Hero Gate 6 - Centre, Bridge Gate
REM Hero Gate 7 - Big Treasure Gate
REM Hero Gate 8 - Castle Entrence Gate
REM Hero Gate 9 - Temple Gate
REM Hero Gate 10 - Castle 3rd Gate
REM Hero Gate 11 - Castle 2nd Gate
REM Hero Gate 12 - Caslte 4rd Gate
REM Hero Gate 13 - White Heart Gate one
REM Hero Gate 14 - White Heart Gate two
REM Hero Gate 15 - White Heart Gate three
REM Hero Gate 16 - Small Castle Gate
REM Hero Gate 17 - West Lava Gate  

REM ****************************************************************************
REM Hero Parties
REM ****************************************************************************

CREATE_PARTY(First_Room)
	ADD_TO_PARTY(First_Room,FAIRY,4,50,ATTACK_DUNGEON_HEART,0)
	
CREATE_PARTY(Pinata)
	ADD_TO_PARTY(Pinata,FAIRY,4,50,ATTACK_DUNGEON_HEART,0)
	ADD_TO_PARTY(Pinata,FAIRY,4,50,ATTACK_DUNGEON_HEART,0)

CREATE_PARTY(Pinata2)
	ADD_TO_PARTY(Pinata2,FAIRY,4,500,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(Pinata2,FAIRY,4,500,ATTACK_ENEMIES,0)

CREATE_PARTY(Cake)
	ADD_TO_PARTY(Cake,GIANT,7,200,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(Cake,GIANT,7,200,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(Cake,BARBARIAN,7,50,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(Cake,BARBARIAN,7,50,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(Cake,DWARFA,7,50,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(Cake,DWARFA,7,50,ATTACK_ENEMIES,0)
		
CREATE_PARTY(Snacks)
	ADD_TO_PARTY(Snacks,DWARFA,3,50,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(Snacks,DWARFA,3,50,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(Snacks,DWARFA,3,50,ATTACK_ENEMIES,0)

CREATE_PARTY(Shots)
	ADD_TO_PARTY(Shots,THIEF,10,150,STEAL_GOLD,0)
	ADD_TO_PARTY(Shots,THIEF,10,150,STEAL_GOLD,0)
	
CREATE_PARTY(Cleanup)
	ADD_TO_PARTY(Cleanup,SAMURAI,10,500,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(Cleanup,SAMURAI,10,500,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(Cleanup,KNIGHT,10,200,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(Cleanup,KNIGHT,10,200,ATTACK_ENEMIES,0)

CREATE_PARTY(Gold_digger)
	ADD_TO_PARTY(Gold_digger,IMP,3,50,ATTACK_DUNGEON_HEART,0)

CREATE_PARTY(Who_Let_the_Dogs_Out)
	ADD_TO_PARTY(Who_Let_the_Dogs_Out,Hell_HOUND,3,50,ATTACK_ENEMIES,0)

REM ****************************************************************************
REM Level starts here
REM ****************************************************************************

QUICK_INFORMATION(0,"Your have reached a new realm. Imps, Creatures, spells & traps, are hard to come by. To make matters worse this level doesn't even have a portal. Make do with the resourches you can find and manage them well. You might be lucky enough to gets some resources from a nearby herogate, but only if you prove yourself worthy. Vanquish the heroes or die trying!",20)


REM Actionpoint behavior


IF_ACTION_POINT(1,PLAYER0)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,Cake,-1,1)
	ADD_PARTY_TO_LEVEL(PLAYER0,Gold_digger,-18,1)
ENDIF

IF_ACTION_POINT(2,PLAYER0)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,Pinata2,-4,2)
	ADD_PARTY_TO_LEVEL(PLAYER0,Gold_digger,-18,1)
ENDIF

IF_ACTION_POINT(3,PLAYER0)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,Cake,-6,2)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,Cleanup,-1,1)
	ADD_PARTY_TO_LEVEL(PLAYER0,Gold_digger,-18,1)
ENDIF

IF_ACTION_POINT(4,PLAYER0)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,Pinata,-17,2)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,Pinata2,-3,2)
	ADD_PARTY_TO_LEVEL(PLAYER0,Gold_digger,-18,1)
ENDIF

IF_ACTION_POINT(5,PLAYER0)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,Shots,-1,2)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,Shots,-16,2)
	ADD_PARTY_TO_LEVEL(PLAYER0,Gold_digger,-18,1)
ENDIF

IF_ACTION_POINT(6,PLAYER0)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,Pinata2,-17,2)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,Pinata2,-4,2)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,Pinata2,-3,2)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,Cake,-9,2)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,Cake,-6,2)
	ADD_PARTY_TO_LEVEL(PLAYER0,Gold_digger,-18,1)
	ADD_PARTY_TO_LEVEL(PLAYER0,Gold_digger,-18,1)
ENDIF

IF_ACTION_POINT(7,PLAYER0)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,Cake,-2,2)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,Cake,-6,2)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,Cake,-7,2)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,Cake,-8,2)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,Cake,-9,2)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,Cake,-10,2)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,Cake,-11,2)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,Cake,-12,2)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,Cleanup,-13,2)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,Cleanup,-14,2)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,Cleanup,-15,2)
	ADD_PARTY_TO_LEVEL(PLAYER0,Gold_digger,-18,1)
	ADD_PARTY_TO_LEVEL(PLAYER0,Gold_digger,-18,1)
ENDIF

IF_ACTION_POINT(8,PLAYER0)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,Snacks,-16,2)
	ADD_PARTY_TO_LEVEL(PLAYER0,Gold_digger,-18,1)
ENDIF

IF_ACTION_POINT(9,PLAYER0)
    QUICK_INFORMATION(0,"A High level ghost can free the mistress and clear the way to the trainingsroom, but be carefull to not give the heroes an oportunity to attack your heart",20)
	ADD_PARTY_TO_LEVEL(PLAYER0,Gold_digger,-18,1)
ENDIF

IF_ACTION_POINT(10,PLAYER0)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,Snacks,-16,2)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,Snacks,-2,2)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,Pinata,-4,2)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,Pinata2,-17,2)
	ADD_PARTY_TO_LEVEL(PLAYER0,Gold_digger,-18,1)
	ADD_PARTY_TO_LEVEL(PLAYER0,Who_Let_the_Dogs_Out,-18,1)
ENDIF

IF_ACTION_POINT(11,PLAYER0)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,Snacks,-16,2)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,Snacks,-2,2)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,Pinata,-4,2)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,Cake,-11,2)
	ADD_PARTY_TO_LEVEL(PLAYER0,Gold_digger,-18,1)
	ADD_PARTY_TO_LEVEL(PLAYER0,Who_Let_the_Dogs_Out,-18,1)
ENDIF

IF_ACTION_POINT(12,PLAYER0)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,Pinata,-4,2)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,Cake,-11,2)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,Cleanup,-11,2)
	ADD_PARTY_TO_LEVEL(PLAYER0,Gold_digger,-18,1)
	ADD_PARTY_TO_LEVEL(PLAYER0,Who_Let_the_Dogs_Out,-18,1)
ENDIF

IF_ACTION_POINT(13,PLAYER0)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,Pinata,-4,2)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,Cake,-11,2)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,Cleanup,-11,2)
	ADD_PARTY_TO_LEVEL(PLAYER0,Gold_digger,-18,1)
ENDIF

IF_ACTION_POINT(14,PLAYER0)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,Snacks,-2,2)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,Snacks,-16,2)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,Pinata,-4,2)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,Pinata,-3,2)
	ADD_PARTY_TO_LEVEL(PLAYER0,Gold_digger,-18,1)
ENDIF

IF_ACTION_POINT(15,PLAYER0)
	QUICK_INFORMATION(1,"Are you well equiped for battle keeper?",20)
ENDIF

IF_ACTION_POINT(16,PLAYER0)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,Cake,-11,2)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,Cake,-1,2)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,Cleanup,-16,2)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,Pinata,-4,2)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,Pinata,-3,2)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,Pinata,-17,2)
	ADD_PARTY_TO_LEVEL(PLAYER0,Gold_digger,-18,1)
ENDIF

IF_ACTION_POINT(17,PLAYER0)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,Cake,-11,2)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,Cake,-1,2)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,Cleanup,-6,2)
	ADD_PARTY_TO_LEVEL(PLAYER0,Gold_digger,-18,1)
ENDIF

IF_ACTION_POINT(18,PLAYER0)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,Cake,-11,2)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,Cake,-1,2)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,Cleanup,-6,2)
	ADD_PARTY_TO_LEVEL(PLAYER0,Gold_digger,-18,1)
	
ENDIF

IF_ACTION_POINT(19,PLAYER0)
    QUICK_INFORMATION(4,"Prepare for a large invasion if you enter the heroes castle",20)
ENDIF

IF_ACTION_POINT(20,PLAYER0)
    QUICK_INFORMATION(2,"Maybe scout first before traveling South",20)
ENDIF

IF_ACTION_POINT(21,PLAYER0)
    QUICK_INFORMATION(5,"Beyond this door trouble will find you, have you trained some creaters yet?. Maybe sneek a peek before you open the door!",20)
ENDIF

IF_ACTION_POINT(22,PLAYER0)
    QUICK_INFORMATION(6,"If Your Imps Increase in number expect some unwelcome visitors",20)
ENDIF

IF(PLAYER0,ALL_DUNGEONS_DESTROYED == 1)
	IF_CONTROLS(PLAYER_GOOD,KNIGHT <= 0)
		IF_CONTROLS(PLAYER_GOOD,SAMURAI <= 0)	
			WIN_GAME
		ENDIF
	ENDIF
ENDIF


	
