REM ********************************************
REM
REM The Long Walk
REM By:  Kyle "Black Dawn" Paulette
REM Extended/fixed by Mefistotelis
REM
REM ********************************************

START_MONEY(PLAYER0,500000)
MAX_CREATURES(PLAYER0,15)

MAGIC_AVAILABLE(PLAYER0,POWER_SPEED,1,1)
MAGIC_AVAILABLE(PLAYER0,POWER_OBEY,1,1)
MAGIC_AVAILABLE(PLAYER0,POWER_HAND,1,1)
MAGIC_AVAILABLE(PLAYER0,POWER_SLAP,1,1)
MAGIC_AVAILABLE(PLAYER0,POWER_POSSESS,1,1)

ROOM_AVAILABLE(PLAYER0,TREASURE,1,1)

TRAP_AVAILABLE(PLAYER0,ALARM,1,1)
TRAP_AVAILABLE(PLAYER0,POISON_GAS,1,1)
TRAP_AVAILABLE(PLAYER0,WORD_OF_POWER,1,1)

DOOR_AVAILABLE(PLAYER0,BRACED,1,1)
DOOR_AVAILABLE(PLAYER0,WOOD,1,1)

CREATE_PARTY(HERO1)
    ADD_TO_PARTY(HERO1,GIANT,2,1000,ATTACK_ENEMIES,0)
    ADD_TO_PARTY(HERO1,WITCH,3,1000,ATTACK_ENEMIES,0)
    ADD_TO_PARTY(HERO1,DWARFA,5,1000,ATTACK_ENEMIES,0)

CREATE_PARTY(HERO2)
    ADD_TO_PARTY(HERO2,MONK,8,1000,ATTACK_ENEMIES,0)
    ADD_TO_PARTY(HERO2,WITCH,4,1000,ATTACK_ENEMIES,0)
    ADD_TO_PARTY(HERO2,THIEF,5,1000,ATTACK_ENEMIES,0)
    ADD_TO_PARTY(HERO2,WIZARD,5,1000,ATTACK_ENEMIES,0)

CREATE_PARTY(HERO3)
    ADD_TO_PARTY(HERO3,ARCHER,8,1000,ATTACK_ENEMIES,0)
    ADD_TO_PARTY(HERO3,ARCHER,7,1000,ATTACK_ENEMIES,0)
    ADD_TO_PARTY(HERO3,THIEF,6,1000,ATTACK_ENEMIES,0)
    ADD_TO_PARTY(HERO3,BARBARIAN,5,1000,ATTACK_ENEMIES,0)

CREATE_PARTY(EXTRA1)
    ADD_TO_PARTY(EXTRA1,DRAGON,5,1000,ATTACK_ENEMIES,0)
    ADD_TO_PARTY(EXTRA1,DRAGON,6,1000,ATTACK_ENEMIES,0)

REM for debug
REM ADD_PARTY_TO_LEVEL(PLAYER0,HERO3,PLAYER0,2)


QUICK_INFORMATION(30,"You have only a select few minons. You must go through the dungeon, destroying all you see. Start off by destroying their heart - this may extend your possibilities...")

IF(PLAYER0,GAME_TURN > 600)
    QUICK_INFORMATION(29,"Beware, Horny gets angry fast, and will go on a rampage. Don't let him get to your imps, as you cannot create more.")
ENDIF

IF(PLAYER_GOOD,DUNGEON_DESTROYED > 0)
    TRAP_AVAILABLE(PLAYER0,LIGHTNING,1,1)
    TRAP_AVAILABLE(PLAYER0,BOULDER,1,1)
    DOOR_AVAILABLE(PLAYER0,MAGIC,1,1)
    ROOM_AVAILABLE(PLAYER0,LAIR,1,1)
    MAGIC_AVAILABLE(PLAYER0,POWER_CALL_TO_ARMS,1,1)
    QUICK_INFORMATION(10,"Heart of the good is no more. As their power became weaker, your possibilities have grown.")
ENDIF

IF(PLAYER0,PRISON > 0)
    ROOM_AVAILABLE(PLAYER0,PRISON,1,1)
    QUICK_INFORMATION(7,"A prison... I'm sure you'll make good use of it.")
ENDIF

IF(PLAYER0,GARDEN > 30)
    ROOM_AVAILABLE(PLAYER0,GARDEN,1,1)
    QUICK_INFORMATION(8,"Now you've seen so many hatcheries, that you've learned how to build it.")
ENDIF

IF(PLAYER0,IMP < 2)
    ADD_CREATURE_TO_LEVEL(PLAYER0,IMP,PLAYER0,1,4,400)
    QUICK_INFORMATION(6,"Protect your Imps! You've been given one more, but that's the last help you'll get!")
ENDIF

IF(PLAYER_GOOD,KNIGHT == 0)
    ROOM_AVAILABLE(PLAYER0,TEMPLE,1,1)
    ROOM_AVAILABLE(PLAYER0,TRAINING,1,1)
    QUICK_INFORMATION(4,"The enemy knight is dead. Now it's just matter of time to find and decapitate the rest.")
ENDIF

IF_ACTION_POINT(1,PLAYER0)
    ADD_PARTY_TO_LEVEL(PLAYER_GOOD,HERO1,1,2)
ENDIF

IF_ACTION_POINT(2,PLAYER0)
    ADD_PARTY_TO_LEVEL(PLAYER_GOOD,EXTRA1,2,2)
ENDIF

IF_ACTION_POINT(3,PLAYER0)
    ADD_PARTY_TO_LEVEL(PLAYER_GOOD,HERO1,-5,4)
ENDIF

IF_ACTION_POINT(4,PLAYER0)
    ADD_PARTY_TO_LEVEL(PLAYER_GOOD,HERO2,-3,3)
ENDIF

IF_ACTION_POINT(5,PLAYER0)
    ADD_PARTY_TO_LEVEL(PLAYER_GOOD,HERO2,-4,2)
ENDIF

IF_ACTION_POINT(7,PLAYER0)
    ADD_PARTY_TO_LEVEL(PLAYER_GOOD,HERO3,-2,2)
ENDIF

IF_ACTION_POINT(6,PLAYER0)
    ADD_PARTY_TO_LEVEL(PLAYER_GOOD,HERO3,-1,3)
ENDIF

IF(PLAYER_GOOD,TOTAL_CREATURES < 1)
    WIN_GAME
    QUICK_OBJECTIVE(3,"Yes, the last enemy lies dead. Finally, you've succeeded in crushing all the pathetic goodness of this land.",PLAYER0)
ENDIF

IF(PLAYER0,TOTAL_CREATURES < 1)
    LOSE_GAME
    QUICK_OBJECTIVE(1,"You've lost all your creatures. And as you can't get more - you're doomed. What a horrible failure.",PLAYER0)
ENDIF

IF(PLAYER0,IMP < 1)
    LOSE_GAME
    QUICK_OBJECTIVE(5,"You've lost all your Imps. And as you can't get more - you're doomed. Pity. Even the faithful is not always chosen.",PLAYER0)
ENDIF

IF(PLAYER0,DUNGEON_DESTROYED == 1)
    LOSE_GAME
    QUICK_OBJECTIVE(2,"Your heart is lost - your cause is lost. Go back into void, as material world is not for you.",PLAYER0)
ENDIF
