map00203.txt

(18 KB) Pobierz
REM ****************************************************************************
REM  Campaigns Consolidation Project for KeeperFX strategy game.
REM ****************************************************************************
REM  Script for Level Swedish spirit (心技体)
REM  Campaign: Twin Keepers
REM  Authors:  Original author unknown
REM            KeeperFX CCP Team
REM  Date:     04 Jul 2005 - 20 Jan 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 ****************************************************************************

START_MONEY(PLAYER0,10000)

SET_GENERATE_SPEED(100)

REM Waves selection flag state machine (PLAYER0,FLAG0):
REM   state 0 - fate undecided
REM   state 1 - starting waves; when an entrance is claimed, waves are beginning
REM        there are 5 waves with last one repeating infinitely, plus continuous fairies wave
REM   state can be changed to "1" by claiming guard post
REM   state 2 - temporary silence; no timer-controlled waves are triggered
REM   state can be changed to "2" by claiming second entrance
REM   state 3 - continuously spawn thieves
REM   state can be changed to "3" if proximity of hero heart is reached
REM   state 4 - final hero partys sequence
SET_FLAG(PLAYER0,FLAG0,0)

REM The timers (PLAYER_GOOD,TIMER0), (PLAYER_GOOD,TIMER1) and (PLAYER_GOOD,TIMER2) are used for state machine states
REM Timer (PLAYER_GOOD,TIMER4) is used as state-independent thieves releaser
REM Timer (PLAYER_GOOD,TIMER3) is used as state-independent fairies releaser

MAX_CREATURES(PLAYER0,0)

ADD_CREATURE_TO_POOL(BUG,20)
ADD_CREATURE_TO_POOL(TROLL,20)
ADD_CREATURE_TO_POOL(DRAGON,7)
ADD_CREATURE_TO_POOL(DEMONSPAWN,15)
ADD_CREATURE_TO_POOL(SORCEROR,20)
ADD_CREATURE_TO_POOL(BILE_DEMON,7)
ADD_CREATURE_TO_POOL(SPIDER,20)
ADD_CREATURE_TO_POOL(ORC,20)
ADD_CREATURE_TO_POOL(TENTACLE,15)
ADD_CREATURE_TO_POOL(HELL_HOUND,15)

ROOM_AVAILABLE(PLAYER0,TREASURE,1,1)
ROOM_AVAILABLE(PLAYER0,LAIR,1,1)
ROOM_AVAILABLE(PLAYER0,GARDEN,1,1)
ROOM_AVAILABLE(PLAYER0,TRAINING,1,1)

REM Library will be only available in one case, so research availability may be placed here
MAGIC_AVAILABLE(PLAYER0,POWER_HOLD_AUDIENCE,1,0)
MAGIC_AVAILABLE(PLAYER0,POWER_HEAL_CREATURE,1,0)
MAGIC_AVAILABLE(PLAYER0,POWER_SPEED,1,0)
MAGIC_AVAILABLE(PLAYER0,POWER_PROTECT,1,0)
MAGIC_AVAILABLE(PLAYER0,POWER_CONCEAL,1,0)
MAGIC_AVAILABLE(PLAYER0,POWER_CHICKEN,1,0)
MAGIC_AVAILABLE(PLAYER0,POWER_DISEASE,1,0)
MAGIC_AVAILABLE(PLAYER0,POWER_LIGHTNING,1,0)
MAGIC_AVAILABLE(PLAYER0,POWER_CAVE_IN,1,0)

REM Workshop will be only available in one case, so manufacture availability may be placed here
DOOR_AVAILABLE(PLAYER0,BRACED,1,0)
DOOR_AVAILABLE(PLAYER0,STEEL,1,0)
TRAP_AVAILABLE(PLAYER0,ALARM,1,0)
TRAP_AVAILABLE(PLAYER0,POISON_GAS,1,0)
TRAP_AVAILABLE(PLAYER0,LIGHTNING,1,0)
TRAP_AVAILABLE(PLAYER0,WORD_OF_POWER,1,0)
TRAP_AVAILABLE(PLAYER0,BOULDER,1,0)

CREATE_PARTY(STRONGEST_PARTY)
    ADD_TO_PARTY(STRONGEST_PARTY,AVATAR,8,500,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(STRONGEST_PARTY,KNIGHT,10,500,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(STRONGEST_PARTY,KNIGHT,10,500,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(STRONGEST_PARTY,WIZARD,10,500,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(STRONGEST_PARTY,WIZARD,10,500,ATTACK_DUNGEON_HEART,0)

CREATE_PARTY(RANGED_PARTY2)
    ADD_TO_PARTY(RANGED_PARTY2,WIZARD,8,500,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(RANGED_PARTY2,SAMURAI,8,500,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(RANGED_PARTY2,ARCHER,10,500,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(RANGED_PARTY2,WITCH,9,500,ATTACK_DUNGEON_HEART,0)

CREATE_PARTY(PARTY3)
    ADD_TO_PARTY(PARTY3,KNIGHT,6,500,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(PARTY3,KNIGHT,6,500,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(PARTY3,KNIGHT,6,500,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(PARTY3,KNIGHT,6,500,ATTACK_DUNGEON_HEART,0)

CREATE_PARTY(PARTY4)
    ADD_TO_PARTY(PARTY4,GIANT,6,500,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(PARTY4,GIANT,6,500,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(PARTY4,MONK,7,500,ATTACK_DUNGEON_HEART,0)

CREATE_PARTY(PARTY5)
    ADD_TO_PARTY(PARTY5,DWARFA,8,500,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(PARTY5,DWARFA,8,500,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(PARTY5,WITCH,6,500,ATTACK_DUNGEON_HEART,0)

CREATE_PARTY(PARTY6)
    ADD_TO_PARTY(PARTY6,BARBARIAN,8,500,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(PARTY6,BARBARIAN,8,500,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(PARTY6,WIZARD,9,500,ATTACK_DUNGEON_HEART,0)

CREATE_PARTY(PARTY7)
    ADD_TO_PARTY(PARTY7,SAMURAI,6,500,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(PARTY7,SAMURAI,6,500,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(PARTY7,FAIRY,9,500,ATTACK_DUNGEON_HEART,0)

CREATE_PARTY(PARTY8)
    ADD_TO_PARTY(PARTY8,THIEF,9,500,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(PARTY8,THIEF,9,500,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(PARTY8,ARCHER,8,500,ATTACK_DUNGEON_HEART,0)

CREATE_PARTY(PARTY9)
    ADD_TO_PARTY(PARTY9,BARBARIAN,7,500,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(PARTY9,WIZARD,8,500,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(PARTY9,SAMURAI,7,500,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(PARTY9,MONK,8,500,ATTACK_DUNGEON_HEART,0)

CREATE_PARTY(PARTY10)
    ADD_TO_PARTY(PARTY10,WIZARD,6,500,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(PARTY10,MONK,7,500,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(PARTY10,ARCHER,9,500,ATTACK_DUNGEON_HEART,0)

CREATE_PARTY(SPELL_THIEVES)
    ADD_TO_PARTY(SPELL_THIEVES,THIEF,1,1000,STEAL_SPELLS,0)
    ADD_TO_PARTY(SPELL_THIEVES,THIEF,1,1000,STEAL_SPELLS,0)

CREATE_PARTY(PARTY12)
    ADD_TO_PARTY(PARTY12,SAMURAI,6,500,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(PARTY12,DWARFA,8,500,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(PARTY12,WIZARD,7,500,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(PARTY12,ARCHER,8,500,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(PARTY12,ARCHER,8,500,ATTACK_DUNGEON_HEART,0)

CREATE_PARTY(GOLD_THIEVES)
    ADD_TO_PARTY(GOLD_THIEVES,THIEF,6,500,STEAL_GOLD,0)
    ADD_TO_PARTY(GOLD_THIEVES,THIEF,7,500,STEAL_GOLD,0)
    ADD_TO_PARTY(GOLD_THIEVES,THIEF,8,500,STEAL_GOLD,0)
    ADD_TO_PARTY(GOLD_THIEVES,THIEF,10,500,STEAL_GOLD,0)

CREATE_PARTY(PARTY14)
    ADD_TO_PARTY(PARTY14,AVATAR,1,500,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(PARTY14,WITCH,4,500,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(PARTY14,ARCHER,4,500,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(PARTY14,GIANT,6,500,ATTACK_DUNGEON_HEART,0)

CREATE_PARTY(PARTY15)
    ADD_TO_PARTY(PARTY15,WIZARD,6,500,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(PARTY15,MONK,6,500,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(PARTY15,ARCHER,4,500,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(PARTY15,ARCHER,4,500,ATTACK_DUNGEON_HEART,0)

CREATE_PARTY(WEAK_PARTY1)
    ADD_TO_PARTY(WEAK_PARTY1,DWARFA,3,500,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(WEAK_PARTY1,BARBARIAN,4,500,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(WEAK_PARTY1,SAMURAI,2,500,ATTACK_DUNGEON_HEART,0)

QUICK_OBJECTIVE(​1,"Circle circle of the dead, tell me who I'm gonna get. Having troll is making traps, as the workshop knack he has. Warlock brings a bunch of spells, that's what bookworms always have. Orc will attract better army, which could do some serious harming.",PLAYER0)

REM when clicked the initial 'steal hero' box
IF(PLAYER0,TOTAL_CREATURES > 0)
    MAGIC_AVAILABLE(PLAYER0,POWER_IMP,1,1)
    TUTORIAL_FLASH_BUTTON(​21,-1)
ENDIF

REM Guard posts are quite far inside hero compound
IF(PLAYER0,GUARD_POST >= 1)
    IF(PLAYER0,FLAG0 <= 2)
        SET_FLAG(PLAYER0,FLAG0,2)
        QUICK_OBJECTIVE(5,"Taking over the guard post seem to made the heroes retreat. But the truth is, they gained reinforcement and are just waiting for your first move. You may use some time of relative silence, so don't proceed further through their fortifications until you're ready.",PLAYER0)
    ENDIF
ENDIF

REM When player claimed more than one entrance
IF(PLAYER0,ENTRANCE >= 10)
    SET_TIMER(PLAYER_GOOD,TIMER0)
    SET_FLAG(PLAYER0,FLAG0,3)
    QUICK_OBJECTIVE(6,"Heroes have decided to start final phase of the siege with some initial attacks. Be prepared! And remember, the main force is still waiting on the surface, so prepare for something even bigger!",PLAYER_GOOD)
ENDIF

REM When reached the AP27 room that leads directly to hero dungeon heart
IF_ACTION_POINT(27,PLAYER0)
    SET_TIMER(PLAYER_GOOD,TIMER0)
    SET_FLAG(PLAYER0,FLAG0,4)
    QUICK_OBJECTIVE(10,"Beware, the main hero army is coming! I hope you're prepared for this, as otherwise it may be very short fight. Destroy the heart tainted by their rightfulness!.",PLAYER_GOOD)
ENDIF

REM There may be delay of some turns before all the above conditions are checked,
REM and the order of execution isn't known; that's why we're using "<= 1" instead of "== 0"
IF(PLAYER0,FLAG0 <= 1)
    REM When player claimed first entrance
    IF(PLAYER0,ENTRANCE >= 1)

        SET_TIMER(PLAYER_GOOD,TIMER0)
        SET_FLAG(PLAYER0,FLAG0,1)

        IF(PLAYER0,ORC >= 1)
            MAX_CREATURES(PLAYER0,30)
            
            CREATURE_AVAILABLE(PLAYER0,TENTACLE,1,1)
            CREATURE_AVAILABLE(PLAYER0,ORC,1,1)
            CREATURE_AVAILABLE(PLAYER0,BILE_DEMON,1,1)
            CREATURE_AVAILABLE(PLAYER0,DEMONSPAWN,1,1)
            CREATURE_AVAILABLE(PLAYER0,SPIDER,1,1)
            CREATURE_AVAILABLE(PLAYER0,BUG,1,1)
            CREATURE_AVAILABLE(PLAYER0,DRAGON,1,1)
            CREATURE_AVAILABLE(PLAYER0,HELL_HOUND,1,1)
        
            ROOM_AVAILABLE(PLAYER0,BARRACKS,1,...
Zgłoś jeśli naruszono regulamin