stratagus-cvs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Stratagus-CVS] demogame ccl/anim.ccl ccl/buttons.ccl ccl/const...


From: Martin Renold
Subject: [Stratagus-CVS] demogame ccl/anim.ccl ccl/buttons.ccl ccl/const...
Date: Mon, 13 Oct 2003 15:18:45 -0000

CVSROOT:        /cvsroot/stratagus
Module name:    demogame
Branch:         
Changes by:     Martin Renold <address@hidden>  03/10/13 11:16:16

Modified files:
        ccl            : anim.ccl buttons.ccl constructions.ccl 
                         editor.ccl icons.ccl menus.ccl missiles.ccl 
                         sound.ccl tilesets.ccl units.ccl upgrade.ccl 
        ccl/alliance   : ai.ccl buttons.ccl constructions.ccl spells.ccl 
                         units.ccl upgrade.ccl 
        ccl/mythical   : ai.ccl buttons.ccl units.ccl 
        puds           : default.pud.gz 
        scripts        : removeunit.py 
Removed files:
        ccl/tilesets   : winter.ccl 
        graphics/alliance/buildings: foundry_construction_site.png 
                                     refinery_construction_site.png 
                                     shipyard_construction_site.png 
        graphics/alliance/units: README alliance_destroyer.png 
                                 archer.png ballista.png balloon.png 
                                 battleship.png demolition_squad.png 
                                 footman.png gryphon_rider.png 
                                 knight.png mage.png 
                                 oil_tanker_empty.png 
                                 oil_tanker_full.png submarine.png 
                                 transport.png 
        graphics/missiles: arrow.png axe.png 
                           ballista-catapult_impact.png 
                           ballista_bolt.png big_cannon.png blizzard.png 
                           cannon-tower_explosion.png cannon.png 
                           cannon_explosion.png catapult_rock.png 
                           daemon_fire.png dragon_breath.png 
                           exorcism.png fireball.png flame_shield.png 
                           gryphon_hammer.png heal_effect.png 
                           lightning.png rune.png submarine_missile.png 
                           tornado.png touch_of_death.png 
                           turtle_missile.png 
        graphics/neutral/buildings: circle_of_power.png runestone.png 
        graphics/neutral/units: daemon.png 
        graphics/tilesets/summer/alliance/buildings: 
                                                     alliance_lumber_mill.png 
                                                     barracks.png 
                                                     blacksmith.png 
                                                     cannon_tower.png 
                                                     castle.png 
                                                     church.png farm.png 
                                                     foundry.png 
                                                     gryphon_aviary.png 
                                                     guard_tower.png 
                                                     inventor.png 
                                                     keep.png 
                                                     mage_tower.png 
                                                     oil_platform.png 
                                                     
oil_well_construction_site.png 
                                                     refinery.png 
                                                     scout_tower.png 
                                                     shipyard.png 
                                                     stables.png 
        graphics/tilesets/summer/neutral/buildings: dark_portal.png 
                                                    oil_patch.png 
        graphics/tilesets/summer/neutral/units: critter.png 
        graphics/tilesets/winter: icons.png palette.rgb terrain.png 
        graphics/tilesets/winter/alliance/buildings: 
                                                     alliance_lumber_mill.png 
                                                     barracks.png 
                                                     blacksmith.png 
                                                     cannon_tower.png 
                                                     castle.png 
                                                     church.png farm.png 
                                                     foundry.png 
                                                     
foundry_construction_site.png 
                                                     gryphon_aviary.png 
                                                     guard_tower.png 
                                                     inventor.png 
                                                     keep.png 
                                                     mage_tower.png 
                                                     oil_platform.png 
                                                     
oil_well_construction_site.png 
                                                     refinery.png 
                                                     
refinery_construction_site.png 
                                                     scout_tower.png 
                                                     shipyard.png 
                                                     
shipyard_construction_site.png 
                                                     stables.png 
                                                     town_hall.png 
        graphics/tilesets/winter/mythical/buildings: barracks.png 
                                                     farm.png 
                                                     great_hall.png 
        graphics/tilesets/winter/neutral/buildings: dark_portal.png 
                                                    destroyed_site.png 
                                                    gold_mine.png 
                                                    land_construction_site.png 
                                                    runestone.png 
                                                    small_destroyed_site.png 
                                                    wall.png 
                                                    wall_construction_site.png 
        graphics/tilesets/winter/neutral/units: critter.png 
        graphics/ui/alliance: minimap-big.png minimap-big.xcf 
        sounds/alliance/basic_voices: ready.wav.gz 
        sounds/alliance/basic_voices/acknowledgement: 1.wav.gz 2.wav.gz 
                                                      3.wav.gz 4.wav.gz 
        sounds/alliance/basic_voices/annoyed: 1.wav.gz 2.wav.gz 3.wav.gz 
                                              4.wav.gz 5.wav.gz 6.wav.gz 
                                              7.wav.gz 
        sounds/alliance/basic_voices/selected: 1.wav.gz 2.wav.gz 
                                               3.wav.gz 4.wav.gz 
                                               5.wav.gz 6.wav.gz 
        sounds/alliance/buildings: church.wav.gz farm.wav.gz 
                                   gryphon_aviary.wav.gz 
                                   mage_tower.wav.gz stables.wav.gz 
        sounds/alliance/ships: ready.wav.gz 
        sounds/alliance/ships/acknowledgement: 1.wav.gz 2.wav.gz 
                                               3.wav.gz 
        sounds/alliance/ships/annoyed: 1.wav.gz 2.wav.gz 3.wav.gz 
        sounds/alliance/ships/selected: 1.wav.gz 2.wav.gz 3.wav.gz 
        sounds/alliance/units/gryphon_rider/acknowledgement: 2.wav.gz 
        sounds/alliance/units/gryphon_rider/selected: 1.wav.gz 
        sounds/alliance/units/knight: ready.wav.gz 
        sounds/alliance/units/knight/acknowledgement: 1.wav.gz 2.wav.gz 
                                                      3.wav.gz 4.wav.gz 
        sounds/alliance/units/knight/annoyed: 1.wav.gz 2.wav.gz 3.wav.gz 
        sounds/alliance/units/knight/selected: 1.wav.gz 2.wav.gz 
                                               3.wav.gz 4.wav.gz 
        sounds/alliance/units/mage: ready.wav.gz 
        sounds/alliance/units/mage/acknowledgement: 1.wav.gz 2.wav.gz 
                                                    3.wav.gz 
        sounds/alliance/units/mage/annoyed: 1.wav.gz 2.wav.gz 3.wav.gz 
        sounds/alliance/units/mage/selected: 1.wav.gz 2.wav.gz 3.wav.gz 
        sounds/alliance/units/paladin: ready.wav.gz 
        sounds/alliance/units/paladin/acknowledgement: 1.wav.gz 2.wav.gz 
                                                       3.wav.gz 4.wav.gz 
        sounds/alliance/units/paladin/annoyed: 1.wav.gz 2.wav.gz 
                                               3.wav.gz 
        sounds/alliance/units/paladin/selected: 1.wav.gz 2.wav.gz 
                                                3.wav.gz 4.wav.gz 
        sounds/buildings: blacksmith.wav.gz foundry.wav.gz 
                          lumbermill.wav.gz oil_platform.wav.gz 
                          oil_refinery.wav.gz shipyard.wav.gz 
        sounds/missiles: bow_hit.wav.gz bow_throw.wav.gz 
                         catapult-ballista_attack.wav.gz 
                         fireball_hit.wav.gz fireball_throw.wav.gz 
        sounds/neutral/units/pig/annoyed: 1.wav.gz 
        sounds/neutral/units/pig/selected: 1.wav.gz 
        sounds/neutral/units/seal/annoyed: 1.wav.gz 
        sounds/neutral/units/seal/selected: 1.wav.gz 
        sounds/neutral/units/sheep/annoyed: 1.wav.gz 
        sounds/neutral/units/sheep/selected: 1.wav.gz 
        sounds/neutral/units/warthog/annoyed: 1.wav.gz 
        sounds/neutral/units/warthog/selected: 1.wav.gz 
        sounds/ships   : sinking.wav.gz 
        sounds/ships/tanker/acknowledgement: 1.wav.gz 
        sounds/spells  : blizzard.wav.gz flame_shield.wav.gz 
                         healing.wav.gz holy_vision.wav.gz 
                         invisibility.wav.gz lightning.wav.gz 
                         polymorph.wav.gz slow.wav.gz 
        sounds/units/catapult-ballista/acknowledgement: 1.wav.gz 

Log message:
        stripping it down further

Patches:
Index: demogame/ccl/alliance/ai.ccl
diff -u demogame/ccl/alliance/ai.ccl:1.2 demogame/ccl/alliance/ai.ccl:1.3
--- demogame/ccl/alliance/ai.ccl:1.2    Wed Oct  8 07:05:34 2003
+++ demogame/ccl/alliance/ai.ccl        Mon Oct 13 11:15:36 2003
@@ -26,1957 +26,8 @@
 ;;      along with this program; if not, write to the Free Software
 ;;      Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  
USA
 ;;
-;;     $Id: ai.ccl,v 1.2 2003/10/08 11:05:34 martinxyz Exp $
+;;     $Id: ai.ccl,v 1.3 2003/10/13 15:15:36 martinxyz Exp $
 
-;(define (ai:sleep) () #t)
+; no ai, only passive fallback
+; see ../mythical/ai.ccl for a minimal example
 
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-;;     * Race alliance.
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-
-(define-ai-helper
-    ;;
-    ;; Unit can build which buildings.
-    ;;
-    (list 'build 'unit-peasant
-       'unit-farm 'unit-alliance-barracks 'unit-town-hall 
'unit-elven-lumber-mill
-       'unit-alliance-blacksmith 'unit-alliance-watch-tower 'unit-human-wall
-       'unit-alliance-shipyard 'unit-alliance-foundry 'unit-alliance-refinery
-       'unit-inventor 'unit-stables 'unit-mage-tower 'unit-church
-       'unit-gryphon-aviary 'unit-dark-portal 'unit-runestone)
-    (list 'build 'unit-alliance-oil-tanker 'unit-alliance-oil-platform)
-    ;;
-    ;; Building can train which units.
-    ;;
-    (list 'train 'unit-farm 'unit-critter)
-    (list 'train 'unit-town-hall 'unit-peasant)
-    (list 'train 'unit-keep 'unit-peasant)
-    (list 'train 'unit-castle 'unit-peasant)
-    (list 'train 'unit-alliance-barracks
-       'unit-footman 'unit-archer 'unit-ranger 'unit-ballista 'unit-knight
-       'unit-paladin)
-    (list 'train 'unit-inventor
-       'unit-balloon 'unit-dwarves)
-    (list 'train 'unit-mage-tower 'unit-mage)
-    (list 'train 'unit-gryphon-aviary 'unit-gryphon-rider)
-    (list 'train 'unit-alliance-shipyard
-       'unit-alliance-oil-tanker 'unit-alliance-destroyer 
'unit-alliance-transport
-       'unit-alliance-submarine 'unit-battleship)
-    ;;
-    ;; Building can upgrade which upgrades.
-    ;;
-    (list 'upgrade 'unit-town-hall 'unit-keep)
-    (list 'upgrade 'unit-keep 'unit-castle)
-    (list 'upgrade 'unit-alliance-watch-tower
-       'unit-alliance-guard-tower 'unit-alliance-cannon-tower)
-    ;;
-    ;; Building can research which spells or upgrades.
-    ;;
-    (list 'research 'unit-alliance-blacksmith
-       'upgrade-sword1 'upgrade-sword2
-       'upgrade-alliance-shield1 'upgrade-alliance-shield2
-       'upgrade-ballista1 'upgrade-ballista2)
-    (list 'research 'unit-elven-lumber-mill
-       'upgrade-arrow1 'upgrade-arrow2 'upgrade-ranger
-       'upgrade-ranger-scouting 'upgrade-longbow 'upgrade-ranger-marksmanship)
-    (list 'research 'unit-church
-       'upgrade-paladin 'upgrade-healing 'upgrade-exorcism)
-    (list 'research 'unit-mage-tower
-       'upgrade-slow 'upgrade-flame-shield 'upgrade-invisibility
-       'upgrade-polymorph 'upgrade-blizzard)
-    (list 'research 'unit-alliance-foundry
-       'upgrade-alliance-ship-cannon1 'upgrade-alliance-ship-cannon2
-       'upgrade-alliance-ship-armor1 'upgrade-alliance-ship-armor2)
-    ;;
-    ;; Unit can repair which units.
-    ;;
-    (list 'repair 'unit-peasant
-       'unit-farm 'unit-alliance-barracks 'unit-town-hall 'unit-keep 
'unit-castle
-       'unit-elven-lumber-mill 'unit-alliance-blacksmith 
'unit-alliance-watch-tower
-       'unit-alliance-guard-tower 'unit-alliance-cannon-tower 'unit-human-wall
-       'unit-alliance-shipyard 'unit-alliance-foundry 'unit-alliance-refinery
-       'unit-inventor 'unit-stables 'unit-mage-tower 'unit-church
-       'unit-gryphon-aviary 'unit-dark-portal 'unit-runestone
-       'unit-alliance-transport)
-    ;;
-    ;; Reduce unit limits.
-    ;;
-    (list 'unit-limit 'unit-farm 'food)
-    ;;
-    ;; Equivalence of units for the resource manager.
-    ;;
-    (list 'unit-equiv 'unit-town-hall
-       'unit-keep 'unit-castle)
-    (list 'unit-equiv 'unit-keep
-       'unit-castle)
-    (list 'unit-equiv 'unit-archer
-       'unit-ranger)
-    (list 'unit-equiv 'unit-knight
-       'unit-paladin)
-    (list 'unit-equiv 'unit-peasant)
-    (list 'unit-equiv 'unit-alliance-oil-tanker)
-    (list 'unit-equiv 'unit-alliance-watch-tower
-        'unit-alliance-guard-tower 'unit-alliance-cannon-tower) )
-
-;;=============================================================================
-;;     Air Attack AI, this is an example for a multi race AI.
-;;     The mythical race was striped down in demogame, though.
-;;=============================================================================
-
-;;
-;;     City-center of the current race.
-;;
-(define (ai:city-center)
-  (if (eq? (ai:get-race) 'alliance)
-      'unit-town-hall 'unit-great-hall) )
-
-;;
-;;     Better city-center of the current race.
-;;
-(define (ai:better-city-center)
-  (if (eq? (ai:get-race) 'alliance)
-      'unit-keep 'unit-stronghold) )
-
-;;
-;;     Best city-center of the current race.
-;;
-(define (ai:best-city-center)
-  (if (eq? (ai:get-race) 'alliance)
-      'unit-castle 'unit-fortress) )
-
-;;
-;;     Worker of the current race.
-;;
-(define (ai:worker)
-  (if (eq? (ai:get-race) 'alliance)
-      'unit-peasant 'unit-faun) )
-
-;;
-;;     Lumber mill of the current race.
-;;
-(define (ai:lumber-mill)
-  (if (eq? (ai:get-race) 'alliance)
-      'unit-elven-lumber-mill 'unit-troll-lumber-mill) )
-
-;;
-;;     Blacksmith of the current race.
-;;
-(define (ai:blacksmith)
-  (if (eq? (ai:get-race) 'alliance)
-      'unit-alliance-blacksmith 'unit-mythical-blacksmith) )
-
-;;
-;;     Upgrade armor 1 of the current race.
-;;
-(define (ai:upgrade-armor-1)
-  (if (eq? (ai:get-race) 'alliance)
-      'upgrade-alliance-shield1 'upgrade-mythical-shield1) )
-
-;;
-;;     Upgrade armor 2 of the current race.
-;;
-(define (ai:upgrade-armor-2)
-  (if (eq? (ai:get-race) 'alliance)
-      'upgrade-alliance-shield2 'upgrade-mythical-shield2) )
-
-;;
-;;     Upgrade weapon 1 of the current race.
-;;
-(define (ai:upgrade-weapon-1)
-  (if (eq? (ai:get-race) 'alliance)
-      'upgrade-sword1 'upgrade-battle-axe1) )
-
-;;
-;;     Upgrade weapon 2 of the current race.
-;;
-(define (ai:upgrade-weapon-2)
-  (if (eq? (ai:get-race) 'alliance)
-      'upgrade-sword2 'upgrade-battle-axe2) )
-
-;;
-;;     Upgrade missile 1 of the current race.
-;;
-(define (ai:upgrade-missile-1)
-  (if (eq? (ai:get-race) 'alliance)
-      'upgrade-arrow1 'upgrade-throwing-axe1) )
-
-;;
-;;     Upgrade missile 2 of the current race.
-;;
-(define (ai:upgrade-missile-2)
-  (if (eq? (ai:get-race) 'alliance)
-      'upgrade-arrow2 'upgrade-throwing-axe2) )
-
-;;
-;;     Upgrade catapult 1 of the current race.
-;;
-(define (ai:upgrade-catapult-1)
-  (if (eq? (ai:get-race) 'alliance)
-      'upgrade-ballista1 'upgrade-catapult1) )
-
-;;
-;;     Upgrade catapult 2 of the current race.
-;;
-(define (ai:upgrade-catapult-2)
-  (if (eq? (ai:get-race) 'alliance)
-      'upgrade-ballista2 'upgrade-catapult2) )
-
-;;
-;;     Research of the current race.
-;;
-(define (ai:scientific)
-  (if (eq? (ai:get-race) 'alliance)
-      'unit-inventor 'unit-alchemist) )
-
-;;
-;;     Cavalry of the current race.
-;;
-(define (ai:cavalry)
-  (if (eq? (ai:get-race) 'alliance)
-      'unit-stables 'unit-ogre-mound) )
-
-;;
-;;     Temple of the current race.
-;;
-(define (ai:temple)
-  (if (eq? (ai:get-race) 'alliance)
-      'unit-church 'unit-altar-of-storms) )
-
-;;
-;;     Airport of the current race.
-;;
-(define (ai:airport)
-  (if (eq? (ai:get-race) 'alliance)
-      'unit-gryphon-aviary 'unit-dragon-roost) )
-
-;;
-;;     Barracks of the current race.
-;;
-(define (ai:barracks)
-  (if (eq? (ai:get-race) 'alliance)
-      'unit-alliance-barracks 'unit-mythical-barracks) )
-
-;;
-;;     Soldier of the current race.
-;;
-(define (ai:soldier)
-  (if (eq? (ai:get-race) 'alliance)
-      'unit-footman 'unit-grunt) )
-
-;;
-;;     Shooter of the current race.
-;;
-(define (ai:shooter)
-  (if (eq? (ai:get-race) 'alliance)
-      'unit-archer 'unit-axethrower) )
-
-;;
-;;     Elite Shooter of the current race.
-;;
-(define (ai:elite-shooter)
-  (if (eq? (ai:get-race) 'alliance)
-      'unit-ranger 'unit-berserker) )
-
-;;
-;;     Cavalrie of the current race.
-;;
-(define (ai:cavalrie)
-  (if (eq? (ai:get-race) 'alliance)
-      'unit-knight 'unit-ogre) )
-
-;;
-;;     Cavalrie mages of the current race.
-;;
-(define (ai:cavalrie-mage)
-  (if (eq? (ai:get-race) 'alliance)
-      'unit-paladin 'unit-ogre-mage) )
-
-;;
-;;     Mage of the current race.
-;;
-(define (ai:mage)
-  (if (eq? (ai:get-race) 'alliance)
-      'unit-mage 'unit-death-knight) )
-
-;;
-;;     Catapult of the current race.
-;;
-(define (ai:catapult)
-  (if (eq? (ai:get-race) 'alliance)
-      'unit-ballista 'unit-catapult) )
-
-;;
-;;     Scout of the current race.
-;;
-(define (ai:scout)
-  (if (eq? (ai:get-race) 'alliance)
-      'unit-balloon 'unit-zeppelin) )
-
-;;
-;;     Flyer of the current race.
-;;
-(define (ai:flyer)
-  (if (eq? (ai:get-race) 'alliance)
-      'unit-gryphon-rider 'unit-dragon) )
-
-;;
-;;     Tower of the current race.
-;;
-(define (ai:tower)
-  (if (eq? (ai:get-race) 'alliance)
-      'unit-alliance-watch-tower 'unit-mythical-watch-tower) )
-
-;;
-;;     Guard-Tower of the current race.
-;;
-(define (ai:guard-tower)
-  (if (eq? (ai:get-race) 'alliance)
-      'unit-alliance-guard-tower 'unit-mythical-guard-tower) )
-
-;;
-;;     Cannon-Tower of the current race.
-;;
-(define (ai:cannon-tower)
-  (if (eq? (ai:get-race) 'alliance)
-      'unit-alliance-cannon-tower 'unit-mythical-cannon-tower) )
-
-;;
-;;     Harbor of the current race.
-;;
-(define (ai:harbor)
-  (if (eq? (ai:get-race) 'alliance)
-      'unit-alliance-shipyard 'unit-mythical-shipyard) )
-
-;;
-;;     Refinery of the current race.
-;;
-(define (ai:refinery)
-  (if (eq? (ai:get-race) 'alliance)
-      'unit-alliance-refinery 'unit-mythical-refinery) )
-
-;;
-;;     Foundry of the current race.
-;;
-(define (ai:foundry)
-  (if (eq? (ai:get-race) 'alliance)
-      'unit-alliance-foundry 'unit-mythical-foundry) )
-
-;;
-;;     Ship armor 1 of the current race.
-;;
-(define (ai:upgrade-ship-armor-1)
-  (if (eq? (ai:get-race) 'alliance)
-      'upgrade-alliance-ship-armor1 'upgrade-mythical-ship-armor1) )
-
-;;
-;;     Ship armor 2 of the current race.
-;;
-(define (ai:upgrade-ship-armor-2)
-  (if (eq? (ai:get-race) 'alliance)
-      'upgrade-alliance-ship-armor2 'upgrade-mythical-ship-armor2) )
-
-;;
-;;     Ship weapon 1 of the current race.
-;;
-(define (ai:upgrade-ship-cannon-1)
-  (if (eq? (ai:get-race) 'alliance)
-      'upgrade-alliance-ship-cannon1 'upgrade-mythical-ship-cannon1) )
-
-;;
-;;     Ship weapon 2 of the current race.
-;;
-(define (ai:upgrade-ship-cannon-2)
-  (if (eq? (ai:get-race) 'alliance)
-      'upgrade-alliance-ship-cannon2 'upgrade-mythical-ship-cannon2) )
-
-;;
-;;     Platform of the current race.
-;;
-(define (ai:platform)
-  (if (eq? (ai:get-race) 'alliance)
-      'unit-alliance-oil-platform 'unit-mythical-oil-platform) )
-
-;;
-;;     Tanker of the current race.
-;;
-(define (ai:tanker)
-  (if (eq? (ai:get-race) 'alliance)
-      'unit-alliance-oil-tanker 'unit-mythical-oil-tanker) )
-
-;;
-;;     Submarine of the current race.
-;;
-(define (ai:submarine)
-  (if (eq? (ai:get-race) 'alliance)
-      'unit-alliance-submarine 'unit-mythical-submarine) )
-
-;;
-;;     Destroyer of the current race.
-;;
-(define (ai:destroyer)
-  (if (eq? (ai:get-race) 'alliance)
-      'unit-alliance-destroyer 'unit-mythical-destroyer) )
-
-;;
-;;     Battleship of the current race.
-;;
-(define (ai:battleship)
-  (if (eq? (ai:get-race) 'alliance)
-      'unit-battleship 'unit-ogre-juggernaught) )
-
-;;
-;;     Transporter of the current race.
-;;
-(define (ai:transporter)
-  (if (eq? (ai:get-race) 'alliance)
-      'unit-alliance-transport 'unit-mythical-transport) )
-
-;;
-;;     1st Elite Shooter of the current race.
-;;
-(define (ai:upgrade-elite-shooter)
-  (if (eq? (ai:get-race) 'alliance)
-      'upgrade-ranger 'upgrade-berserker) )
-
-;;
-;;     1st Upgrade of elite Shooter of the current race.
-;;
-(define (ai:upgrade-elite-shooter-1)
-  (if (eq? (ai:get-race) 'alliance)
-      'upgrade-ranger-scouting 'upgrade-berserker-scouting) )
-
-;;
-;;     2nd Upgrade of elite Shooter of the current race.
-;;
-(define (ai:upgrade-elite-shooter-2)
-  (if (eq? (ai:get-race) 'alliance)
-      'upgrade-longbow 'upgrade-light-axes) )
-
-;;
-;;     3th Upgrade of elite Shooter of the current race.
-;;
-(define (ai:upgrade-elite-shooter-3)
-  (if (eq? (ai:get-race) 'alliance)
-      'upgrade-ranger-marksmanship 'upgrade-berserker-regeneration) )
-
-;;
-;;     Upgrade cavalrie to cavalrie mages of the current race.
-;;
-(define (ai:upgrade-cavalrie-mage)
-  (if (eq? (ai:get-race) 'alliance)
-      'upgrade-paladin 'upgrade-ogre-mage) )
-
-;;
-;;     1st spell of the cavalrie mages of the current race.
-;;
-(define (ai:cavalrie-mage-spell-1)
-  (if (eq? (ai:get-race) 'alliance)
-      'upgrade-healing 'upgrade-bloodlust))
-
-;;
-;;     2nd spell of the cavalrie mages of the current race.
-;;
-(define (ai:cavalrie-mage-spell-2)
-  (if (eq? (ai:get-race) 'alliance)
-      'upgrade-exorcism 'upgrade-runes))
-
-;;
-;;     1st spell of the mages of the current race.
-;;
-(define (ai:mage-spell-1)
-  (if (eq? (ai:get-race) 'alliance)
-      'upgrade-slow 'upgrade-haste))
-
-;;
-;;     2nd spell of the mages of the current race.
-;;
-(define (ai:mage-spell-2)
-  (if (eq? (ai:get-race) 'alliance)
-      'upgrade-flame-shield 'upgrade-raise-dead))
-
-;;
-;;     3th spell of the mages of the current race.
-;;
-(define (ai:mage-spell-3)
-  (if (eq? (ai:get-race) 'alliance)
-      'upgrade-invisibility 'upgrade-whirlwind))
-
-;;
-;;     4th spell of the mages of the current race.
-;;
-(define (ai:mage-spell-4)
-  (if (eq? (ai:get-race) 'alliance)
-      'upgrade-polymorph 'upgrade-unholy-armor))
-
-;;
-;;     5th spell of the mages of the current race.
-;;
-(define (ai:mage-spell-5)
-  (if (eq? (ai:get-race) 'alliance)
-      'upgrade-blizzard 'upgrade-death-and-decay))
-
-;;=============================================================================
-;;
-;;     Define an AI engine.
-;;
-;;     (define-ai name race class script)
-;;
-;;     name    name of the AI for selection.
-;;     class   class of the AI for map editor.
-;;     script  Main AI script.
-;;
-(define ai:air-attack-endloop
-  '((writes nil "Looping !\n")
-    (ai:force 1 (ai:flyer) 2)
-    (ai:force 2 (ai:flyer) 2)
-    (ai:force 3 (ai:flyer) 2)
-    (ai:force 4 (ai:flyer) 2)
-    (ai:force 5 (ai:flyer) 2)
-    (ai:force 6 (ai:flyer) 1)
-    (ai:wait-force 5)
-    (ai:wait-force 6)          ;; wait until attack party is completed
-    (ai:attack-with-force 1)
-    (ai:attack-with-force 2)
-    (ai:attack-with-force 3)
-    (ai:attack-with-force 4)
-    (ai:attack-with-force 5)
-    (ai:sleep 500)
-    (ai:script ai:air-attack-endloop) ))
-
-;(define-ai "wc2-air-attack" "*" "air-attack"
-(define-ai "wc2-air-attack" "alliance" "air-attack"
-  '(
-    ;; Define the main AI script.
-    (begin (ai:debug #f) (ai:sleep (ai:get-sleep-cycles)))
-    (ai:set-reserve! #( 0  0 0 0  0 0 0))
-    (ai:need (ai:city-center))
-    (ai:set  (ai:worker) 1)
-    (ai:wait (ai:city-center))
-    (ai:wait (ai:worker))      ;; start hangs if nothing is available
-
-    (ai:set  (ai:worker) 9)
-    (ai:need (ai:lumber-mill))
-    (ai:need (ai:barracks))
-    (ai:force 0 (ai:soldier) 2)
-    (ai:wait-force 0)          ;; wait until defence is ready
-
-    (ai:need (ai:blacksmith))
-    (ai:upgrade-to (ai:better-city-center))
-    (ai:set  (ai:worker) 15)
-    (ai:force 0 (ai:soldier) 2 (ai:shooter) 3)
-    (ai:wait (ai:better-city-center))
-
-    (ai:need (ai:cavalry))
-    (ai:need (ai:tower))
-    (ai:upgrade-to (ai:guard-tower))
-    (ai:need (ai:tower))
-    (ai:upgrade-to (ai:guard-tower))
-    (ai:upgrade-to (ai:best-city-center))
-    (ai:wait (ai:best-city-center))    ;; need this for airport!
-
-    (ai:need (ai:airport))
-    (ai:force 2 (ai:flyer) 1)
-    (ai:wait-force 2)          ;; wait until attack party is completed
-    (ai:attack-with-force 2)
-
-    (ai:sleep 500)
-    (ai:need (ai:city-center))
-    (ai:need (ai:tower))
-    (ai:upgrade-to (ai:guard-tower))
-    (ai:need (ai:airport))
-    (ai:force 2 (ai:flyer) 2)
-    (ai:wait-force 2)          ;; wait until attack party is completed
-
-    (ai:need (ai:city-center))
-    (ai:need (ai:tower))
-    (ai:upgrade-to (ai:guard-tower))
-    (ai:need (ai:airport))
-    (ai:set  (ai:worker) 20)
-    (ai:force 1 (ai:flyer) 2)
-    (ai:attack-with-force 2)
-
-    (ai:sleep 500)
-    (ai:need (ai:tower))
-    (ai:upgrade-to (ai:guard-tower))
-    (ai:need (ai:tower))
-    (ai:upgrade-to (ai:cannon-tower))
-    (ai:force 2 (ai:flyer) 1)
-    (ai:wait-force 2)          ;; wait until attack party is completed
-    (ai:attack-with-force 1)
-
-    (ai:sleep 500)
-    (ai:need (ai:tower))
-    (ai:upgrade-to (ai:guard-tower))
-    (ai:need (ai:tower))
-    (ai:force 1 (ai:flyer) 2)
-    (ai:force 2 (ai:flyer) 2)
-    (ai:wait-force 2)          ;; wait until attack party is completed
-    (ai:attack-with-force 1)
-
-    (ai:sleep 500)
-    (ai:need (ai:tower))
-    (ai:upgrade-to (ai:guard-tower))
-    (ai:need (ai:tower))
-    (ai:force 1 (ai:flyer) 1)
-    (ai:force 2 (ai:flyer) 2)
-    (ai:force 3 (ai:flyer) 2)
-    (ai:wait-force 2)
-    (ai:wait-force 3)          ;; wait until attack party is completed
-    (ai:attack-with-force 2)
-    (ai:attack-with-force 3)
-
-    (ai:sleep 500)
-    (ai:need (ai:tower))
-    (ai:upgrade-to (ai:guard-tower))
-    (ai:need (ai:tower))
-    (ai:force 1 (ai:flyer) 2)
-    (ai:force 2 (ai:flyer) 2)
-    (ai:force 3 (ai:flyer) 2)
-    (ai:wait-force 2)
-    (ai:wait-force 3)          ;; wait until attack party is completed
-    (ai:attack-with-force 2)
-    (ai:attack-with-force 3)
-
-    (ai:sleep 500)
-    (ai:need (ai:tower))
-    (ai:upgrade-to (ai:guard-tower))
-    (ai:need (ai:tower))
-    (ai:force 1 (ai:flyer) 2)
-    (ai:force 2 (ai:flyer) 2)
-    (ai:force 3 (ai:flyer) 3)
-    (ai:wait-force 2)
-    (ai:wait-force 3)          ;; wait until attack party is completed
-    (ai:attack-with-force 2)
-    (ai:attack-with-force 3)
-
-    (ai:sleep 500)
-    (ai:need (ai:tower))
-    (ai:upgrade-to (ai:guard-tower))
-    (ai:need (ai:tower))
-    (ai:force 1 (ai:flyer) 2)
-    (ai:force 2 (ai:flyer) 3)
-    (ai:force 3 (ai:flyer) 3)
-    (ai:wait-force 2)
-    (ai:wait-force 3)          ;; wait until attack party is completed
-    (ai:attack-with-force 2)
-    (ai:attack-with-force 3)
-
-    (ai:sleep 500)
-    (ai:force 1 (ai:flyer) 1)
-    (ai:force 2 (ai:flyer) 2)
-    (ai:force 3 (ai:flyer) 2)
-    (ai:force 4 (ai:flyer) 2)
-    (ai:force 5 (ai:flyer) 2)
-    (ai:wait-force 5)          ;; wait until attack party is completed
-    (ai:attack-with-force 2)
-    (ai:attack-with-force 3)
-    (ai:attack-with-force 4)
-    (ai:attack-with-force 5)
-
-    (ai:sleep 500)
-    (ai:script ai:air-attack-endloop) ))
-
-;;=============================================================================
-
-(define ai:sea-attack-endloop
-  '((writes nil "Looping !\n")
-    (ai:force 1 (ai:destroyer) 6 (ai:battleship) 7 (ai:scout) 1)
-    (ai:force 2 (ai:soldier) 4 (ai:cavalrie) 4 (ai:catapult) 4
-       (ai:transporter) 2)
-    (ai:wait-force 1)
-    (ai:wait-force 2)          ;; wait until attack party is completed
-    (ai:attack-with-force 1)
-    (ai:attack-with-force 2)
-    (ai:sleep 500)
-    (ai:script ai:sea-attack-endloop) ))
-
-;(define-ai "wc2-sea-attack" "*" "sea-attack"
-(define-ai "wc2-sea-attack" "alliance" "sea-attack"
-  '(
-    ;; Define the main AI script.
-    (begin (ai:debug #f) (ai:sleep (ai:get-sleep-cycles)))
-    (ai:need (ai:city-center))
-    (ai:set  (ai:worker) 1)
-    (ai:wait (ai:city-center))
-    (ai:wait (ai:worker))      ;; start hangs if nothing is available
-
-    (ai:set  (ai:worker) 9)
-    (ai:need (ai:lumber-mill))
-    (ai:need (ai:barracks))
-    (ai:force 0 (ai:soldier) 3)
-    (ai:wait-force 0)          ;; wait until defence is ready
-
-    (ai:need (ai:harbor))
-    (ai:upgrade-to (ai:better-city-center))
-    (ai:need (ai:refinery))
-    (ai:need (ai:scientific))
-    (ai:set  (ai:worker) 15)
-    (ai:set  (ai:tanker) 1)
-    (ai:need (ai:platform))
-    (ai:wait (ai:better-city-center))
-
-    (ai:set  (ai:tanker) 3)
-    (ai:force 1 (ai:submarine) 3)
-    (ai:wait-force 1)          ;; wait until attack force is ready
-    (ai:attack-with-force 1)
-
-    (ai:sleep 500)
-    (ai:need (ai:foundry))
-    (ai:research (ai:upgrade-ship-armor-1))
-    (ai:research (ai:upgrade-ship-armor-2))
-    (ai:set  (ai:tanker) 4)
-    (ai:force 1 (ai:submarine) 4)
-    (ai:wait-force 1)          ;; wait until attack force is ready
-    (ai:attack-with-force 1)
-
-    (ai:sleep 500)
-    (ai:need (ai:harbor))
-    (ai:need (ai:blacksmith))
-    (ai:force 1 (ai:submarine) 5 (ai:scout) 1)
-    (ai:wait-force 1)          ;; wait until attack force is ready
-    (ai:attack-with-force 1)
-
-    (ai:sleep 500)
-    (ai:research (ai:upgrade-catapult-1))
-    (ai:need (ai:cavalry))
-    (ai:force 0 (ai:soldier) 3 (ai:catapult) 1 (ai:scout) 1)
-    (ai:force 1 (ai:submarine) 1 (ai:destroyer) 2 (ai:battleship) 1
-       (ai:scout) 2)
-    (ai:sleep 3000)
-    (ai:wait-force  1)
-    (ai:attack-with-force 1)
-
-    (ai:force 0 (ai:soldier) 3 (ai:catapult) 1 (ai:scout) 1)
-    (ai:force 3 (ai:destroyer) 1 (ai:scout) 1)
-    (ai:force 1 (ai:submarine) 1 (ai:destroyer) 2 (ai:battleship) 2
-       (ai:scout) 2)
-    (ai:force 2 (ai:catapult) 2 (ai:transporter) 1)
-    (ai:wait-force  1)
-    (ai:attack-with-force 1)
-
-    (ai:sleep 500)
-    (ai:research (ai:upgrade-catapult-2))
-    (ai:research (ai:upgrade-ship-cannon-1))
-    (ai:force 0 (ai:soldier) 3 (ai:catapult) 1 (ai:scout) 1)
-    (ai:force 3 (ai:destroyer) 1 (ai:battleship) 1 (ai:scout) 1)
-    (ai:force 1 (ai:submarine) 1 (ai:destroyer) 2 (ai:battleship) 3
-       (ai:scout) 1)
-    (ai:force 2 (ai:cavalrie) 1 (ai:catapult) 3 (ai:transporter) 1)
-    (ai:wait-force  1)
-    (ai:attack-with-force 1)
-
-    (ai:sleep 500)
-    (ai:research (ai:upgrade-ship-cannon-2))
-    (ai:need (ai:city-center))
-    (ai:force 0 (ai:soldier) 3 (ai:catapult) 1 (ai:scout) 1)
-    (ai:force 3 (ai:destroyer) 1 (ai:battleship) 1 (ai:scout) 1)
-    (ai:force 1 (ai:submarine) 1 (ai:destroyer) 3 (ai:battleship) 4
-       (ai:scout) 1)
-    (ai:force 2 (ai:cavalrie) 3 (ai:catapult) 3 (ai:transporter) 1)
-    (ai:wait-force  1)
-    (ai:attack-with-force 1)
-
-    (ai:sleep 500)
-    (ai:need (ai:harbor))
-    (ai:research (ai:upgrade-weapon-1))
-    (ai:research (ai:upgrade-armor-1))
-    (ai:research (ai:upgrade-weapon-2))
-    (ai:research (ai:upgrade-armor-2))
-    (ai:set  (ai:tanker) 5)
-    (ai:force 0 (ai:soldier) 3 (ai:catapult) 1 (ai:scout) 1)
-    (ai:force 3 (ai:destroyer) 1 (ai:battleship) 1 (ai:scout) 1)
-    (ai:force 1 (ai:submarine) 1 (ai:destroyer) 4 (ai:battleship) 5
-       (ai:scout) 1)
-    (ai:force 2 (ai:cavalrie) 3 (ai:catapult) 3 (ai:transporter) 1)
-    (ai:wait-force  1)
-    (ai:attack-with-force 1)
-
-    (ai:sleep 500)
-    (ai:force 0 (ai:soldier) 3 (ai:catapult) 1 (ai:scout) 1)
-    (ai:force 3 (ai:destroyer) 1 (ai:battleship) 1 (ai:scout) 1)
-    (ai:force 1 (ai:submarine) 1 (ai:destroyer) 5 (ai:battleship) 6
-       (ai:scout) 1)
-    (ai:force 2 (ai:cavalrie) 4 (ai:catapult) 2 (ai:transporter) 1)
-    (ai:wait-force  1)
-    (ai:wait-force  2)
-    (ai:attack-with-force 1)
-    (ai:attack-with-force 2)
-
-    (ai:sleep 500)
-    (ai:script ai:sea-attack-endloop) ))
-
-;;=============================================================================
-
-(define ai:alliance-land-attack-endloop
-  '((writes nil "Looping !\n")
-    (ai:force 0 'unit-footman 1 'unit-ranger 2 'unit-paladin 4 'unit-ballista 1
-       'unit-mage 4)
-    (ai:force 1 'unit-footman 1 'unit-ranger 2 'unit-paladin 4 'unit-ballista 1
-       'unit-mage 2)
-    (ai:force 2 'unit-gryphon-rider 1)
-    (ai:wait-force 2)          ;; wait until attack party is completed
-    (ai:attack-with-force 1)
-    (ai:attack-with-force 2)
-
-    (ai:sleep 500)
-    (ai:script ai:alliance-land-attack-endloop) ) )
-
-(define-ai 'my-ai1 'alliance "land-attack"
-  '(
-    ;; Define the main AI script.
-    (begin (ai:debug #f) (ai:sleep (ai:get-sleep-cycles)))
-    (ai:need (unit-type 'unit-town-hall))
-    (ai:set  'unit-peasant 1)
-    (ai:wait 'unit-town-hall)
-    (ai:wait 'unit-peasant)    ;; start hangs if nothing available
-
-    (ai:set  'unit-peasant 4)
-    (ai:need 'unit-elven-lumber-mill)
-    (ai:need 'unit-alliance-barracks)
-    (ai:force 0  'unit-footman 2)
-    (ai:force 1  'unit-footman 1)
-    (ai:wait-force 1)          ;; wait until attack party is completed
-    (ai:attack-with-force 1)
-
-    (ai:set  'unit-peasant 9)
-    (ai:sleep  500)
-    (ai:need 'unit-alliance-blacksmith)
-    (ai:force 0 'unit-footman 2 'unit-archer 1)
-    (ai:force 1 'unit-footman 2 'unit-archer 1)
-    (ai:wait-force 1)          ;; wait until attack party is completed
-    (ai:attack-with-force 1)
-
-    (ai:sleep  500)
-    (ai:research 'upgrade-sword1)
-    (ai:research 'upgrade-alliance-shield1)
-    (ai:research 'upgrade-arrow1)
-    (ai:research 'upgrade-sword2)
-    (ai:research 'upgrade-alliance-shield2)
-    (ai:research 'upgrade-arrow2)
-    (ai:need 'unit-alliance-barracks)
-
-    (ai:force 0 'unit-footman 3 'unit-archer 2)
-    (ai:force 1 'unit-footman 3 'unit-archer 1)
-    (ai:wait-force 1)          ;; wait until attack party is completed
-    (ai:attack-with-force 1)
-
-    (ai:sleep  500)
-    (ai:set  'unit-peasant 15)
-    (ai:force 0 'unit-footman 3 'unit-archer 2)
-    (ai:force 1 'unit-footman 3 'unit-archer 1 'unit-ballista 1)
-    (ai:wait-force 1)          ;; wait until attack party is completed
-    (ai:attack-with-force 1)
-
-    (ai:sleep  500)
-    (ai:upgrade-to 'unit-keep)
-    (ai:wait 'unit-keep)
-
-    (ai:force 1 'unit-footman 3 'unit-archer 1 'unit-ballista 1)
-    (ai:wait-force 1)          ;; wait until attack party is completed
-    (ai:attack-with-force 1)
-
-    (ai:sleep  500)
-    (ai:need 'unit-town-hall)
-    (ai:need 'unit-stables)
-    (ai:force 0 'unit-footman 1 'unit-archer 2 'unit-knight 6 'unit-ballista 1)
-    (ai:force 1 'unit-footman 1 'unit-archer 2 'unit-knight 2 'unit-ballista 1)
-    (ai:wait-force 1)          ;; wait until attack party is completed
-    (ai:attack-with-force 1)
-
-    (ai:sleep  500)
-    (ai:need 'unit-alliance-watch-tower)
-    (ai:upgrade-to 'unit-alliance-guard-tower)
-    (ai:need 'unit-alliance-watch-tower)
-    (ai:upgrade-to 'unit-alliance-guard-tower)
-    (ai:need 'unit-alliance-barracks)
-    (ai:upgrade-to 'unit-castle)
-    (ai:set  'unit-peasant 19)
-    (ai:wait 'unit-castle)
-
-    (ai:force 0 'unit-footman 1 'unit-archer 2 'unit-knight 6 'unit-ballista 1)
-    (ai:force 1 'unit-footman 1 'unit-archer 2 'unit-knight 2 'unit-ballista 1)
-    (ai:wait-force 1)          ;; wait until attack party is completed
-    (ai:attack-with-force 1)
-
-    (ai:sleep  500)
-    (ai:need 'unit-alliance-watch-tower)
-    (ai:upgrade-to 'unit-alliance-guard-tower)
-    (ai:need 'unit-alliance-watch-tower)
-    (ai:upgrade-to 'unit-alliance-guard-tower)
-    (ai:need 'unit-church)
-    (ai:research 'upgrade-paladin)
-    (ai:research 'upgrade-healing)
-    (ai:research 'upgrade-exorcism)
-
-    (ai:force 0 'unit-footman 1 'unit-archer 2 'unit-knight 0 'unit-paladin 5
-       'unit-ballista 1)
-    (ai:force 1 'unit-footman 1 'unit-archer 2 'unit-knight 0 'unit-paladin 3
-       'unit-ballista 1)
-    (ai:wait-force 1)          ;; wait until attack party is completed
-    (ai:attack-with-force 1)
-
-    (ai:sleep  500)
-    (ai:need 'unit-alliance-watch-tower)
-    (ai:upgrade-to 'unit-alliance-guard-tower)
-    (ai:need 'unit-alliance-watch-tower)
-    (ai:upgrade-to 'unit-alliance-guard-tower)
-    (ai:need 'unit-mage-tower)
-    (ai:research 'upgrade-polymorph)
-    (ai:research 'upgrade-blizzard)
-
-    (ai:force 0 'unit-footman 1 'unit-archer 2 'unit-paladin 6 'unit-ballista 1
-       'unit-mage 2)
-    (ai:force 1 'unit-footman 1 'unit-archer 2 'unit-paladin 2 'unit-ballista 1
-       'unit-mage 1)
-    (ai:wait-force 1)          ;; wait until attack party is completed
-    (ai:attack-with-force 1)
-
-    (ai:sleep  500)
-    (ai:research 'upgrade-slow)
-    (ai:need 'unit-alliance-watch-tower)
-    (ai:upgrade-to 'unit-alliance-guard-tower)
-    (ai:need 'unit-alliance-watch-tower)
-    (ai:upgrade-to 'unit-alliance-guard-tower)
-    (ai:research 'upgrade-invisibility)
-
-    (ai:force 0 'unit-footman 1 'unit-archer 2 'unit-paladin 6 'unit-ballista 1
-       'unit-mage 5)
-    (ai:force 1 'unit-footman 1 'unit-archer 2 'unit-paladin 2 'unit-ballista 1
-       'unit-mage 1)
-    (ai:wait-force 1)          ;; wait until attack party is completed
-    (ai:attack-with-force 1)
-
-    (ai:sleep  500)
-    (ai:need 'unit-gryphon-aviary)
-
-    (ai:force 0 'unit-footman 1 'unit-archer 2 'unit-paladin 6 'unit-ballista 1
-       'unit-mage 5)
-    (ai:force 1 'unit-footman 1 'unit-archer 2 'unit-paladin 2 'unit-ballista 1
-       'unit-mage 1)
-    (ai:force 2 'unit-gryphon-rider 1)
-    (ai:wait-force 2)          ;; wait until attack party is completed
-    (ai:attack-with-force 1)
-    (ai:attack-with-force 2)
-
-    (ai:sleep  500)
-    (ai:research 'upgrade-ranger)
-    (ai:research 'upgrade-ranger-scouting)
-    (ai:research 'upgrade-flame-shield)
-    (ai:force 0 'unit-footman 1 'unit-archer 0 'unit-ranger 2 'unit-paladin 6
-       'unit-ballista 1 'unit-mage 5)
-    (ai:force 1 'unit-footman 1 'unit-archer 0 'unit-ranger 2 'unit-paladin 2
-       'unit-ballista 1 'unit-mage 1)
-    (ai:force 2 'unit-gryphon-rider 1)
-    (ai:wait-force 2)          ;; wait until attack party is completed
-    (ai:attack-with-force 1)
-    (ai:attack-with-force 2)
-
-    (ai:sleep  500)
-    (ai:need 'unit-town-hall)
-    (ai:need 'unit-alliance-watch-tower)
-    (ai:upgrade-to 'unit-alliance-guard-tower)
-    (ai:need 'unit-alliance-watch-tower)
-    (ai:upgrade-to 'unit-alliance-guard-tower)
-    (ai:need 'unit-inventor)
-    (ai:research 'upgrade-longbow)
-
-    (ai:force 0 'unit-footman 1 'unit-archer 0 'unit-ranger 2 'unit-paladin 6
-       'unit-ballista 1 'unit-mage 5)
-    (ai:force 1 'unit-footman 1 'unit-archer 0 'unit-ranger 2 'unit-paladin 2
-       'unit-ballista 1 'unit-mage 1)
-    (ai:force 2 'unit-gryphon-rider 1)
-    (ai:wait-force 2)          ;; wait until attack party is completed
-    (ai:attack-with-force 1)
-    (ai:attack-with-force 2)
-
-    (ai:sleep  500)
-    (ai:need 'unit-alliance-watch-tower)
-    (ai:upgrade-to 'unit-alliance-cannon-tower)
-    (ai:need 'unit-alliance-watch-tower)
-    (ai:upgrade-to 'unit-alliance-guard-tower)
-    (ai:research 'upgrade-ballista1)
-    (ai:need 'unit-alliance-watch-tower)
-    (ai:upgrade-to 'unit-alliance-cannon-tower)
-    (ai:need 'unit-alliance-watch-tower)
-    (ai:upgrade-to 'unit-alliance-guard-tower)
-    (ai:research 'upgrade-ballista2)
-    (ai:need 'unit-alliance-watch-tower)
-    (ai:upgrade-to 'unit-alliance-cannon-tower)
-    (ai:need 'unit-alliance-watch-tower)
-    (ai:upgrade-to 'unit-alliance-guard-tower)
-    (ai:set  'unit-peasant 25)
-
-    ;; Everything researched...
-
-    (ai:script ai:alliance-land-attack-endloop) ))
-
-;;=============================================================================
-;;     This AI script builds only workers and tankers and oil platform.
-;;             Also if needed a farm.
-;;             Attacks with soldier and shooter and destroyer.
-;;
-(define ai:hum-04-attack-endloop
-  '((writes nil "Looping !\n")
-    (ai:sleep 25000)
-    (ai:wait-force 1)          ;; wait until attack party is completed
-    (ai:attack-with-force 1)
-
-    (ai:sleep 22000)
-    (ai:wait-force 1)          ;; wait until attack party is completed
-    (ai:attack-with-force 1)
-    (ai:script ai:hum-04-attack-endloop) ) )
-
-(define-ai 'hum-04 "alliance" "hum-04"
-  '(
-    ;; Define the main AI script.
-    (begin (ai:debug #f) (ai:sleep (ai:get-sleep-cycles)))
-    (ai:set  (ai:worker) 4)
-    (ai:set  (ai:tanker) 1)
-    (ai:wait (ai:worker))      ;; start hangs if nothing available
-
-    (ai:need (ai:platform))
-
-    (ai:force 0 (ai:destroyer) 2 (ai:soldier) 3 (ai:shooter) 4)
-    (ai:force 1 (ai:soldier) 2 (ai:shooter) 1 (ai:transporter) 1)
-    (ai:sleep 27000)
-    (ai:wait-force 1)          ;; wait until attack party is completed
-    (ai:attack-with-force 1)
-
-    (ai:set  (ai:transporter) 2)
-    (ai:sleep 22000)
-    (ai:wait-force 1)          ;; wait until attack party is completed
-    (ai:attack-with-force 1)
-
-    (ai:sleep 22000)
-    (ai:force 0 (ai:destroyer) 0 (ai:soldier) 3 (ai:shooter) 3)
-    (ai:force 2 (ai:destroyer) 2)
-    (ai:wait-force 2)          ;; wait until attack party is completed
-    (ai:attack-with-force 2)
-
-    (ai:sleep 22000)
-    (ai:force 0 (ai:destroyer) 2 (ai:soldier) 3 (ai:shooter) 3)
-    (ai:force 1 (ai:soldier) 2 (ai:shooter) 2 (ai:transporter) 1)
-    (ai:force 2 (ai:destroyer) 0)
-    (ai:wait-force 1)          ;; wait until attack party is completed
-    (ai:attack-with-force 1)
-
-    (ai:sleep 18000)
-    (ai:force 0 (ai:destroyer) 2 (ai:soldier) 3 (ai:shooter) 4)
-    (ai:force 1 (ai:soldier) 2 (ai:shooter) 1 (ai:transporter) 1)
-    (ai:wait-force 1)          ;; wait until attack party is completed
-
-    (ai:sleep 27000)
-    (ai:force 0 (ai:destroyer) 2 (ai:soldier) 2 (ai:shooter) 3)
-    (ai:force 1 (ai:soldier) 3 (ai:shooter) 2 (ai:transporter) 1)
-    (ai:wait-force 1)          ;; wait until attack party is completed
-
-    (ai:sleep 24000)
-    (ai:force 0 (ai:destroyer) 0 (ai:soldier) 2 (ai:shooter) 3)
-    (ai:force 1 (ai:soldier) 3 (ai:shooter) 2 (ai:transporter) 1)
-    (ai:force 2 (ai:destroyer) 2)
-    (ai:wait-force 2)          ;; wait until attack party is completed
-
-    (ai:script ai:hum-04-attack-endloop) ))
-
-;;=============================================================================
-;;     This AI script builds only workers and tankers and oil platform.
-;;             Also if needed a farm.
-;;             Attacks with soldier, shooter and destroyer.
-;;
-(define ai:hum-05-attack-endloop
-  '((writes nil "Looping !\n")
-    (ai:sleep 18000)
-    (ai:wait-force 1)          ;; wait until attack party is completed
-    (ai:attack-with-force 1)
-
-    (ai:sleep 12000)
-    (ai:force 0 (ai:destroyer) 2 (ai:soldier) 1 (ai:shooter) 2)
-    (ai:force 1 (ai:soldier) 2 (ai:shooter) 1 (ai:transporter) 1)
-    (ai:wait-force 1)          ;; wait until attack party is completed
-    (ai:attack-with-force 1)
-
-    (ai:sleep 24000)
-    (ai:force 0 (ai:destroyer) 2 (ai:soldier) 0 (ai:shooter) 1)
-    (ai:force 1 (ai:soldier) 3 (ai:shooter) 2 (ai:transporter) 1)
-    (ai:wait-force 1)          ;; wait until attack party is completed
-    (ai:attack-with-force 1)
-
-    (ai:sleep 14000)
-    (ai:force 0 (ai:destroyer) 2 (ai:soldier) 0 (ai:shooter) 1)
-    (ai:force 2 (ai:destroyer) 1)
-    (ai:wait-force 2)          ;; wait until attack party is completed
-    (ai:attack-with-force 2)
-
-    (ai:script ai:hum-05-attack-endloop) ) )
-
-(define-ai 'hum-05 "alliance" "hum-05"
-  '(
-    ;; Define the main AI script.
-    (begin (ai:debug #f) (ai:sleep (ai:get-sleep-cycles)))
-    (ai:set  (ai:worker) 4)
-    (ai:set  (ai:tanker) 1)
-    (ai:set  (ai:transporter) 1)
-    (ai:wait (ai:worker))      ;; start hangs if nothing available
-
-    (ai:need (ai:platform))
-
-    (ai:force 0 (ai:destroyer) 2 (ai:soldier) 2 (ai:shooter) 2)
-    (ai:force 1 (ai:soldier) 1 (ai:shooter) 1 (ai:transporter) 1)
-    (ai:force 2 (ai:destroyer) 1)
-    (ai:sleep 6000)
-    (ai:wait-force 2)          ;; wait until attack party is completed
-    (ai:attack-with-force 2)
-
-    (ai:sleep 3000)
-    (ai:wait-force 1)          ;; wait until attack party is completed
-    (ai:attack-with-force 1)
-
-    (ai:sleep 4000)
-    (ai:wait-force 1)          ;; wait until attack party is completed
-    (ai:attack-with-force 1)
-
-    (ai:sleep 4000)
-    (ai:wait-force 1)          ;; wait until attack party is completed
-    (ai:attack-with-force 1)
-
-    (ai:sleep 12000)
-    (ai:wait-force 1)          ;; wait until attack party is completed
-    (ai:attack-with-force 1)
-
-    (ai:force 0 (ai:destroyer) 2 (ai:soldier) 1 (ai:shooter) 2)
-    (ai:force 1 (ai:soldier) 2 (ai:shooter) 1 (ai:transporter) 1)
-    (ai:wait-force 1)          ;; wait until attack party is completed
-    (ai:attack-with-force 1)
-
-    (ai:sleep 14000)
-    (ai:wait-force 1)          ;; wait until attack party is completed
-    (ai:attack-with-force 1)
-
-    (ai:sleep 12000)
-    (ai:force 0 (ai:destroyer) 2 (ai:soldier) 2 (ai:shooter) 2)
-    (ai:force 1 (ai:soldier) 1 (ai:shooter) 1 (ai:transporter) 1)
-    (ai:wait-force 1)          ;; wait until attack party is completed
-    (ai:attack-with-force 1)
-
-    (ai:script ai:hum-05-attack-endloop) ))
-
-;;=============================================================================
-;;     This AI script builds only workers, blacksmith.
-;;             Also if needed a farm.
-;;             Upgrades weapon and missile.
-;;             Attacks with soldier, shooter and cavalrie.
-;;
-(define ai:hum-06-attack-endloop
-  '((writes nil "Looping !\n")
-    (ai:force 0 (ai:soldier) 0 (ai:shooter) 1 (ai:cavalrie) 1 )
-    (ai:force 1 (ai:soldier) 1 (ai:shooter) 3 (ai:cavalrie) 2 )
-    (ai:sleep 14000)
-    (ai:wait-force 1)          ;; wait until attack party is completed
-    (ai:attack-with-force 1)
-
-    (ai:force 0 (ai:soldier) 1 (ai:shooter) 3 (ai:cavalrie) 2 )
-    (ai:force 1 (ai:soldier) 0 (ai:shooter) 1 (ai:cavalrie) 1 )
-    (ai:sleep 11000)
-    (ai:wait-force 1)          ;; wait until attack party is completed
-    (ai:attack-with-force 1)
-
-    (ai:force 0 (ai:soldier) 0 (ai:shooter) 3 (ai:cavalrie) 2 )
-    (ai:force 1 (ai:soldier) 1 (ai:shooter) 1 (ai:cavalrie) 1 )
-    (ai:sleep 8000)
-    (ai:wait-force 1)          ;; wait until attack party is completed
-    (ai:attack-with-force 1)
-
-    (ai:force 0 (ai:soldier) 0 (ai:shooter) 2 (ai:cavalrie) 2 )
-    (ai:force 1 (ai:soldier) 1 (ai:shooter) 2 (ai:cavalrie) 1 )
-    (ai:sleep 11000)
-    (ai:wait-force 1)          ;; wait until attack party is completed
-    (ai:attack-with-force 1)
-
-    (ai:force 0 (ai:soldier) 1 (ai:shooter) 4 (ai:cavalrie) 1 )
-    (ai:force 1 (ai:soldier) 0 (ai:shooter) 0 (ai:cavalrie) 2 )
-    (ai:sleep 9000)
-    (ai:wait-force 1)          ;; wait until attack party is completed
-    (ai:attack-with-force 1)
-
-    (ai:script ai:hum-06-attack-endloop) ) )
-
-(define-ai 'hum-06 "alliance" "hum-06"
-  '(
-    ;; Define the main AI script.
-    (begin (ai:debug #f) (ai:sleep (ai:get-sleep-cycles)))
-    (ai:set  (ai:worker) 4)
-    (ai:wait (ai:worker))      ;; start hangs if nothing available
-
-    (ai:force 0 (ai:soldier) 3 (ai:shooter) 3)
-    (ai:force 1 (ai:soldier) 1 (ai:shooter) 1)
-    (ai:sleep 4000)
-    (ai:wait-force 1)          ;; wait until attack party is completed
-    (ai:attack-with-force 1)
-
-    (ai:sleep 3000)
-    (ai:wait-force 1)          ;; wait until attack party is completed
-    (ai:attack-with-force 1)
-
-    (ai:sleep 4000)
-    (ai:wait-force 1)          ;; wait until attack party is completed
-    (ai:attack-with-force 1)
-
-    (ai:need (ai:blacksmith))
-    (ai:research (ai:upgrade-missile-1))
-    (ai:wait-force 1)          ;; wait until attack party is completed
-    (ai:attack-with-force 1)
-
-    (ai:force 0 (ai:soldier) 2 (ai:shooter) 2)
-    (ai:force 1 (ai:soldier) 2 (ai:shooter) 2)
-    (ai:sleep 9000)
-    (ai:wait-force 1)          ;; wait until attack party is completed
-    (ai:attack-with-force 1)
-
-    (ai:research (ai:upgrade-weapon-1))
-
-    (ai:force 0 (ai:soldier) 1 (ai:shooter) 2)
-    (ai:force 1 (ai:soldier) 3 (ai:shooter) 2)
-    (ai:sleep 13000)
-    (ai:wait-force 1)          ;; wait until attack party is completed
-    (ai:attack-with-force 1)
-
-    (ai:force 0 (ai:soldier) 1 (ai:shooter) 3 (ai:cavalrie) 1 )
-    (ai:force 1 (ai:soldier) 0 (ai:shooter) 1 (ai:cavalrie) 2 )
-    (ai:sleep 14000)
-    (ai:wait-force 1)          ;; wait until attack party is completed
-    (ai:attack-with-force 1)
-
-    (ai:research (ai:upgrade-armor-1))
-
-    (ai:script ai:hum-06-attack-endloop) ))
-
-;;=============================================================================
-;;     This AI script builds only worker and tanker.
-;;
-(define-ai 'hum-07 "alliance" "hum-07"
-  '(
-    ;; Define the main AI script.
-    (begin (ai:debug #f) (ai:sleep (ai:get-sleep-cycles)))
-    (ai:set  (ai:worker) 2)
-    (ai:set  (ai:tanker) 1)
-    (ai:sleep  10000)
-    (ai:restart)))
-
-;;=============================================================================
-;;     This AI script builds only workers, blacksmith.
-;;             Also if needed a farm.
-;;             Upgrades weapon and missile.
-;;             Attacks with soldier, shooter and cavalrie.
-;;
-(define ai:hum-08-attack-endloop
-  '((writes nil "Looping !\n")
-    (ai:sleep 16000)
-    (ai:force 0 (ai:soldier) 1 (ai:shooter) 4 (ai:cavalrie) 2)
-    (ai:force 1 (ai:soldier) 1 (ai:shooter) 1 (ai:cavalrie) 1 (ai:catapult) 1)
-    (ai:wait-force 1)          ;; wait until attack party is completed
-    (ai:attack-with-force 1)
-
-    (ai:sleep 14000)
-    (ai:force 0 (ai:soldier) 2 (ai:shooter) 4 (ai:cavalrie) 1 (ai:catapult) 1)
-    (ai:force 1 (ai:soldier) 0 (ai:shooter) 1 (ai:cavalrie) 2 (ai:catapult) 0)
-    (ai:wait-force 1)          ;; wait until attack party is completed
-    (ai:attack-with-force 1)
-
-    (ai:sleep 12000)
-    (ai:force 0 (ai:soldier) 2 (ai:shooter) 4 (ai:cavalrie) 0 (ai:catapult) 0)
-    (ai:force 1 (ai:soldier) 0 (ai:shooter) 1 (ai:cavalrie) 3 (ai:catapult) 1)
-    (ai:wait-force 1)          ;; wait until attack party is completed
-    (ai:attack-with-force 1)
-
-    (ai:script ai:hum-08-attack-endloop) ) )
-
-(define-ai 'hum-08 "alliance" "hum-08"
-  '(
-    ;; Define the main AI script.
-    (begin (ai:debug #f) (ai:sleep (ai:get-sleep-cycles)))
-
-    (ai:set  (ai:worker) 3)
-    (ai:wait (ai:worker))      ;; start hangs if nothing available
-
-    (ai:force 0 (ai:soldier) 3 (ai:shooter) 3)
-    (ai:force 1 (ai:soldier) 2 (ai:shooter) 1)
-    (ai:sleep 14000)
-    (ai:wait-force 1)          ;; wait until attack party is completed
-    (ai:attack-with-force 1)
-
-    (ai:force 0 (ai:soldier) 5 (ai:shooter) 5 (ai:cavalrie) 0)
-    (ai:force 1 (ai:soldier) 0 (ai:shooter) 0 (ai:cavalrie) 2)
-    (ai:sleep 10000)
-    (ai:wait-force 1)          ;; wait until attack party is completed
-    (ai:attack-with-force 1)
-
-    (ai:force 0 (ai:soldier) 2 (ai:shooter) 4 (ai:cavalrie) 1)
-    (ai:force 1 (ai:soldier) 0 (ai:shooter) 1 (ai:cavalrie) 2)
-    (ai:sleep 15000)
-    (ai:wait-force 1)          ;; wait until attack party is completed
-    (ai:attack-with-force 1)
-
-    (ai:research (ai:upgrade-cavalrie-mage))
-    (ai:research (ai:cavalrie-mage-spell-1))
-    (ai:research (ai:upgrade-missile-1))
-    (ai:force 0 (ai:soldier) 2 (ai:shooter) 5 (ai:cavalrie) 1)
-    (ai:force 1 (ai:soldier) 0 (ai:shooter) 0 (ai:cavalrie) 2 (ai:catapult) 1)
-    (ai:sleep 15000)
-    (ai:research (ai:upgrade-weapon-1))
-    (ai:research (ai:upgrade-armor-1))
-    (ai:wait-force 1)          ;; wait until attack party is completed
-    (ai:attack-with-force 1)
-
-    (ai:sleep 21000)
-    (ai:wait-force 1)          ;; wait until attack party is completed
-    (ai:attack-with-force 1)
-
-    (ai:research (ai:upgrade-elite-shooter))
-    (ai:sleep 12000)
-    (ai:force 0 (ai:soldier) 2 (ai:shooter) 5 (ai:cavalrie) 2)
-    (ai:force 1 (ai:soldier) 0 (ai:shooter) 0 (ai:cavalrie) 1 (ai:catapult) 1)
-    (ai:wait-force 1)          ;; wait until attack party is completed
-    (ai:attack-with-force 1)
-
-    (ai:script ai:hum-08-attack-endloop) ))
-
-;;=============================================================================
-;;     This AI script builds only worker and tanker.
-;;
-(define-ai 'hum-09 "alliance" "hum-09"
-  '(
-    ;; Define the main AI script.
-    (begin (ai:debug #f) (ai:sleep (ai:get-sleep-cycles)))
-    (ai:set  (ai:worker) 2)
-    (ai:set  (ai:tanker) 1)
-    (ai:sleep  10000)
-    (ai:restart)))
-
-;;=============================================================================
-;;     This AI script builds only worker and tanker.
-;;             Upgrades very much.
-;;             Attacks with land units and water units.
-;;
-(define ai:hum-10-attack-endloop
-  '((writes nil "Looping !\n")
-    (ai:sleep  5000)
-    (ai:force 0 (ai:soldier) 3 (ai:shooter) 3 (ai:cavalrie) 2 (ai:catapult) 1)
-    (ai:force 2 (ai:soldier) 1 (ai:shooter) 1 (ai:cavalrie) 2 (ai:catapult) 1
-       (ai:transporter) 1)
-    (ai:wait-force 2)          ;; wait until attack party is completed
-    (ai:attack-with-force 2)
-
-    (ai:sleep  6000)
-    (ai:force 1 (ai:destroyer) 1 (ai:battleship) 0)
-    (ai:force 3 (ai:destroyer) 2 (ai:battleship) 1)
-    (ai:wait-force 3)          ;; wait until attack party is completed
-    (ai:attack-with-force 3)
-
-    (ai:sleep  5000)
-    (ai:force 1 (ai:destroyer) 3 (ai:battleship) 1)
-    (ai:force 3 (ai:destroyer) 0 (ai:battleship) 0)
-    (ai:force 0 (ai:soldier) 4 (ai:shooter) 2 (ai:cavalrie) 2 (ai:catapult) 2)
-    (ai:force 2 (ai:soldier) 0 (ai:shooter) 2 (ai:cavalrie) 2 (ai:catapult) 0)
-    (ai:wait-force 2)          ;; wait until attack party is completed
-    (ai:attack-with-force 2)
-
-    (ai:force 1 (ai:destroyer) 1 (ai:battleship) 1)
-    (ai:force 3 (ai:destroyer) 2 (ai:battleship) 0)
-    (ai:wait-force 3)          ;; wait until attack party is completed
-    (ai:attack-with-force 3)
-
-    (ai:script ai:hum-10-attack-endloop) ) )
-
-(define-ai 'hum-10 "alliance" "hum-10"
-  '(
-    ;; Define the main AI script.
-    (begin (ai:debug #f)
-      (ai:force-role 0 'defend) (ai:force-role 1 'defend)
-      (ai:sleep (ai:get-sleep-cycles)))
-
-    (ai:set  (ai:worker) 7)
-    (ai:set  (ai:tanker) 3)
-    (ai:wait (ai:worker))      ;; Wait for the workers
-
-    (ai:set  (ai:transporter) 1)
-    (ai:force 0 (ai:destroyer) 2)
-    (ai:force 2 (ai:transporter) 1)
-    (ai:sleep  6000)
-    (ai:force 2 (ai:transporter) 0)
-    (ai:force 0 (ai:soldier) 4 (ai:shooter) 4
-      (ai:destroyer) 0 (ai:transporter) 1)
-    (ai:force 1 (ai:destroyer) 2)
-
-    (ai:research (ai:upgrade-cavalrie-mage))
-    (ai:research (ai:cavalrie-mage-spell-1))
-    (ai:research (ai:mage-spell-1))
-    (ai:research (ai:mage-spell-2))
-    (ai:research (ai:upgrade-missile-1))
-
-    (ai:force 0 (ai:soldier) 2 (ai:shooter) 2 (ai:transporter) 0)
-    (ai:force 2 (ai:soldier) 2 (ai:shooter) 2 (ai:transporter) 1)
-    (ai:force 1 (ai:destroyer) 2)
-    (ai:wait-force 2)          ;; wait until attack party is completed
-    (ai:attack-with-force 2)
-
-    (ai:research (ai:upgrade-weapon-1))
-    (ai:sleep  4000)
-    (ai:research (ai:upgrade-armor-1))
-    (ai:wait-force 2)          ;; wait until attack party is completed
-    (ai:attack-with-force 2)
-
-    (ai:sleep  5000)
-    (ai:force 1 (ai:destroyer) 3 (ai:battleship) 1)
-    (ai:research (ai:upgrade-missile-2))
-    (ai:research (ai:upgrade-weapon-2))
-    (ai:wait-force 2)          ;; wait until attack party is completed
-    (ai:attack-with-force 2)
-
-    (ai:research (ai:upgrade-ship-cannon-1))
-    (ai:sleep  3000)
-    (ai:research (ai:upgrade-armor-2))
-    (ai:research (ai:upgrade-ship-armor-1))
-    (ai:research (ai:upgrade-elite-shooter))
-    (ai:force 0 (ai:soldier) 2 (ai:shooter) 3)
-    (ai:force 2 (ai:soldier) 2 (ai:shooter) 1 (ai:transporter) 1)
-    (ai:wait-force 2)          ;; wait until attack party is completed
-    (ai:attack-with-force 2)
-
-    (ai:research (ai:upgrade-catapult-1))
-    (ai:research (ai:upgrade-ship-cannon-2))
-    (ai:research (ai:upgrade-ship-armor-2))
-    (ai:research (ai:upgrade-elite-shooter-1))
-    (ai:force 0 (ai:soldier) 1 (ai:shooter) 2 (ai:mage) 1)
-    (ai:sleep  5000)
-    (ai:research (ai:upgrade-elite-shooter-2))
-    (ai:research (ai:upgrade-elite-shooter-3))
-    (ai:wait-force 2)          ;; wait until attack party is completed
-    (ai:attack-with-force 2)
-
-    (ai:force 0 (ai:soldier) 4 (ai:shooter) 3 (ai:cavalrie) 2 (ai:catapult) 1)
-    (ai:force 2 (ai:soldier) 0 (ai:shooter) 1 (ai:cavalrie) 2 (ai:catapult) 1
-       (ai:transporter) 1)
-    (ai:sleep  5000)
-
-    (ai:wait-force 2)          ;; wait until attack party is completed
-    (ai:attack-with-force 2)
-
-    (ai:script ai:hum-10-attack-endloop) ))
-
-;;=============================================================================
-;;     This AI script builds only workers.
-;;             Upgrades very much.
-;;             Attacks with land units.
-;;
-(define ai:hum-11-attack-endloop
-  '((writes nil "Looping !\n")
-    (ai:sleep  12000)
-    (ai:force 1 (ai:soldier) 1 (ai:shooter) 1 (ai:cavalrie) 1 (ai:catapult) 1
-       (ai:mage) 0)
-    (ai:force 0 (ai:soldier) 0 (ai:shooter) 0 (ai:cavalrie) 0 (ai:catapult) 0
-       (ai:mage) 3)
-    (ai:wait-force 1)          ;; wait until attack party is completed
-    (ai:attack-with-force 1)
-
-    (ai:sleep  8000)
-    (ai:force 1 (ai:soldier) 1 (ai:shooter) 1 (ai:cavalrie) 1 (ai:catapult) 1
-       (ai:mage) 1)
-    (ai:force 0 (ai:soldier) 0 (ai:shooter) 0 (ai:cavalrie) 0 (ai:catapult) 0
-       (ai:mage) 2)
-    (ai:wait-force 1)          ;; wait until attack party is completed
-    (ai:attack-with-force 1)
-
-    (ai:sleep  13000)
-    (ai:force 1 (ai:soldier) 1 (ai:shooter) 1 (ai:cavalrie) 1 (ai:catapult) 1
-       (ai:mage) 0)
-    (ai:force 0 (ai:soldier) 0 (ai:shooter) 0 (ai:cavalrie) 0 (ai:catapult) 0
-       (ai:mage) 3)
-    (ai:wait-force 1)          ;; wait until attack party is completed
-    (ai:attack-with-force 1)
-
-    (ai:script ai:hum-11-attack-endloop) ) )
-
-(define-ai 'hum-11 "alliance" "hum-11"
-  '(
-    ;; Define the main AI script.
-    (begin (ai:debug #f)
-      (ai:force-role 0 'defend) (ai:force-role 1 'attack)
-      (ai:force-role 2 'attack)
-      (ai:sleep (ai:get-sleep-cycles)))
-    (ai:set  (ai:worker) 8)
-    (ai:wait (ai:worker))      ;; Wait for the workers
-
-    (ai:sleep  6000)
-    (ai:force 0 (ai:soldier) 0 (ai:shooter) 2 (ai:cavalrie) 2)
-    (ai:force 1 (ai:soldier) 2 (ai:shooter) 0 (ai:cavalrie) 0)
-    (ai:wait-force 1)          ;; wait until attack party is completed
-    (ai:attack-with-force 1)
-
-    (ai:sleep  6000)
-    (ai:wait-force 1)          ;; wait until attack party is completed
-    (ai:attack-with-force 1)
-
-    (ai:sleep  7000)
-    (ai:force 0 (ai:soldier) 0 (ai:shooter) 1 (ai:cavalrie) 2)
-    (ai:force 1 (ai:soldier) 2 (ai:shooter) 1 (ai:cavalrie) 0)
-    (ai:wait-force 1)          ;; wait until attack party is completed
-    (ai:attack-with-force 1)
-
-    (ai:sleep  5000)
-    (ai:force 1 (ai:soldier) 0 (ai:shooter) 0 (ai:cavalrie) 0)
-    (ai:force 0 (ai:soldier) 1 (ai:shooter) 1 (ai:cavalrie) 2 (ai:catapult) 1)
-    (ai:research (ai:upgrade-missile-1))
-    (ai:research (ai:upgrade-weapon-1))
-    (ai:research (ai:upgrade-armor-1))
-
-    (ai:sleep  6000)
-    (ai:force 1 (ai:soldier) 1 (ai:shooter) 1 (ai:cavalrie) 1 (ai:catapult) 1)
-    (ai:force 0 (ai:soldier) 0 (ai:shooter) 0 (ai:cavalrie) 0 (ai:catapult) 0
-       (ai:mage) 3)
-    (ai:wait-force 1)          ;; wait until attack party is completed
-    (ai:attack-with-force 1)
-
-    (ai:sleep  9000)
-    (ai:force 1 (ai:soldier) 1 (ai:shooter) 1 (ai:cavalrie) 1 (ai:catapult) 1
-       (ai:mage) 1)
-    (ai:force 0 (ai:soldier) 0 (ai:shooter) 0 (ai:cavalrie) 0 (ai:catapult) 0
-       (ai:mage) 2)
-    (ai:wait-force 1)          ;; wait until attack party is completed
-    (ai:attack-with-force 1)
-
-    (ai:sleep  7000)
-    (ai:research (ai:upgrade-elite-shooter))
-    (ai:research (ai:upgrade-elite-shooter-1))
-    (ai:sleep  13000)
-
-    (ai:force 2 (ai:soldier) 1 (ai:shooter) 1 (ai:cavalrie) 1 (ai:catapult) 1
-       (ai:mage) 1)
-    (ai:force 1 (ai:soldier) 1 (ai:shooter) 1 (ai:cavalrie) 1 (ai:catapult) 1
-       (ai:mage) 1)
-    (ai:force 0 (ai:soldier) 0 (ai:shooter) 0 (ai:cavalrie) 0 (ai:catapult) 0
-       (ai:mage) 2)
-    (ai:wait-force 2)          ;; wait until attack party is completed
-    (ai:attack-with-force 2)
-    (ai:wait-force 1)          ;; wait until attack party is completed
-    (ai:attack-with-force 1)
-
-    (ai:research (ai:upgrade-elite-shooter-2))
-    (ai:research (ai:mage-spell-1))
-
-    (ai:research (ai:upgrade-cavalrie-mage))
-    (ai:sleep  7000)
-    (ai:research (ai:cavalrie-mage-spell-1))
-    (ai:research (ai:mage-spell-2))
-    (ai:research (ai:upgrade-weapon-2))
-    (ai:sleep  12000)
-    (ai:force 2 (ai:soldier) 0 (ai:shooter) 0 (ai:cavalrie) 0 (ai:catapult) 0
-       (ai:mage) 0)
-    (ai:force 1 (ai:soldier) 1 (ai:shooter) 1 (ai:cavalrie) 1 (ai:catapult) 1
-       (ai:mage) 2)
-    (ai:force 0 (ai:soldier) 0 (ai:shooter) 0 (ai:cavalrie) 0 (ai:catapult) 0
-       (ai:mage) 1)
-    (ai:wait-force 1)          ;; wait until attack party is completed
-    (ai:attack-with-force 1)
-    (ai:research (ai:upgrade-armor-2))
-    (ai:research (ai:mage-spell-3))
-    (ai:research (ai:mage-spell-4))
-    (ai:research (ai:upgrade-catapult-1))
-
-    (ai:sleep  8000)
-    (ai:force 1 (ai:soldier) 1 (ai:shooter) 1 (ai:cavalrie) 1 (ai:catapult) 1
-       (ai:mage) 1)
-    (ai:force 0 (ai:soldier) 0 (ai:shooter) 0 (ai:cavalrie) 0 (ai:catapult) 0
-       (ai:mage) 2)
-    (ai:wait-force 1)          ;; wait until attack party is completed
-    (ai:attack-with-force 1)
-
-    (ai:research (ai:cavalrie-mage-spell-1))
-    (ai:research (ai:mage-spell-5))
-    (ai:sleep  13000)
-
-    (ai:force 1 (ai:soldier) 1 (ai:shooter) 1 (ai:cavalrie) 1 (ai:catapult) 1
-       (ai:mage) 0)
-    (ai:force 0 (ai:soldier) 0 (ai:shooter) 0 (ai:cavalrie) 0 (ai:catapult) 0
-       (ai:mage) 3)
-    (ai:wait-force 1)          ;; wait until attack party is completed
-    (ai:attack-with-force 1)
-
-    (ai:script ai:hum-11-attack-endloop) ))
-
-;;=============================================================================
-;;     This AI script builds only workers and tankers.
-;;             Upgrades very much.
-;;             Attacks with land and water units.
-;;
-(define ai:hum-12-attack-endloop
-  '((writes nil "Looping !\n")
-    (ai:sleep  10000)
-    (ai:force 0 (ai:soldier) 1 (ai:cavalrie) 7 (ai:mage) 1)
-    (ai:force 1 (ai:soldier) 1 (ai:cavalrie) 3 (ai:mage) 1)
-    (ai:wait-force 1)          ;; wait until attack party is completed
-    (ai:attack-with-force 1)
-
-    (ai:sleep  5000)
-    (ai:wait-force 1)          ;; wait until attack party is completed
-    (ai:attack-with-force 1)
-
-    (ai:sleep  7000)
-    (ai:force 2 (ai:destroyer) 1 (ai:battleship) 1 (ai:submarine) 4
-       (ai:scout) 1) 
-    (ai:force 3 (ai:destroyer) 1 (ai:battleship) 1 (ai:submarine) 1
-       (ai:scout) 1) 
-    (ai:wait-force 3)          ;; wait until attack party is completed
-    (ai:attack-with-force 3)
-
-    (ai:script ai:hum-12-attack-endloop) ) )
-
-(define-ai 'hum-12 "alliance" "hum-12"
-  '(
-    ;; Define the main AI script.
-    (begin (ai:debug #f)
-      (ai:force-role 0 'defend) (ai:force-role 1 'attack)
-      (ai:force-role 2 'defend) (ai:force-role 3 'attack)
-      (ai:sleep (ai:get-sleep-cycles)))
-
-    (ai:set  (ai:tanker) 3)
-    (ai:set  (ai:worker) 7)
-    (ai:wait (ai:worker))      ;; Wait for the workers
-
-    (ai:need (ai:platform))
-    (ai:set  (ai:transporter) 2)
-
-    (ai:force 1 (ai:soldier) 2)
-    (ai:wait-force 1)          ;; wait until attack party is completed
-    (ai:attack-with-force 1)
-
-    (ai:force 0 (ai:soldier) 2)
-    (ai:sleep  2000)
-
-    (ai:force 2 (ai:destroyer) 2 (ai:battleship) 1 (ai:submarine) 3) 
-    (ai:force 3 (ai:destroyer) 0 (ai:battleship) 1 (ai:submarine) 1) 
-
-    (ai:sleep  3000)
-    (ai:wait-force 3)          ;; wait until attack party is completed
-    (ai:attack-with-force 3)
-
-    (ai:force 0 (ai:soldier) 1 (ai:cavalrie) 10 (ai:mage) 2)
-    (ai:force 1 (ai:soldier) 1 )
-
-    (ai:research (ai:mage-spell-1))
-    (ai:research (ai:upgrade-cavalrie-mage))
-    (ai:research (ai:cavalrie-mage-spell-1))
-    (ai:research (ai:mage-spell-2))
-    (ai:research (ai:mage-spell-3))
-    (ai:research (ai:mage-spell-4))
-    (ai:research (ai:cavalrie-mage-spell-2))
-    (ai:research (ai:mage-spell-5))
-    (ai:research (ai:upgrade-ship-cannon-1))
-    (ai:research (ai:upgrade-ship-armor-1))
-    (ai:sleep  4000)
-
-    (ai:force 2 (ai:destroyer) 1 (ai:battleship) 1 (ai:submarine) 3) 
-    (ai:force 3 (ai:destroyer) 1 (ai:battleship) 1 (ai:submarine) 1) 
-    (ai:wait-force 3)          ;; wait until attack party is completed
-    (ai:attack-with-force 3)
-
-    (ai:research (ai:upgrade-ship-cannon-2))
-    (ai:research (ai:upgrade-ship-armor-2))
-    (ai:research (ai:upgrade-catapult-1))
-    (ai:research (ai:upgrade-catapult-2))
-    (ai:sleep  6000)
-
-    (ai:force 2 (ai:destroyer) 1 (ai:battleship) 1 (ai:submarine) 3) 
-    (ai:force 3 (ai:destroyer) 1 (ai:battleship) 1 (ai:submarine) 2) 
-    (ai:wait-force 3)          ;; wait until attack party is completed
-    (ai:attack-with-force 3)
-
-    (ai:sleep  7000)
-    (ai:force 2 (ai:destroyer) 1 (ai:battleship) 1 (ai:submarine) 2) 
-    (ai:force 3 (ai:destroyer) 1 (ai:battleship) 1 (ai:submarine) 3) 
-    (ai:wait-force 3)          ;; wait until attack party is completed
-    (ai:attack-with-force 3)
-
-    (ai:sleep  5000)
-    (ai:force 2 (ai:destroyer) 1 (ai:battleship) 0 (ai:submarine) 2) 
-    (ai:force 3 (ai:destroyer) 1 (ai:battleship) 2 (ai:submarine) 3) 
-    (ai:wait-force 3)          ;; wait until attack party is completed
-    (ai:attack-with-force 3)
-
-    (ai:force 0 (ai:soldier) 1 (ai:cavalrie) 10 (ai:mage) 2 (ai:catapult) 1)
-    (ai:force 1 (ai:soldier) 1 (ai:catapult) 1)
-
-    (ai:force 2 (ai:destroyer) 1 (ai:battleship) 0 (ai:submarine) 2
-       (ai:scout) 1) 
-    (ai:force 3 (ai:destroyer) 1 (ai:battleship) 2 (ai:submarine) 3
-       (ai:scout) 1) 
-
-    (ai:research (ai:upgrade-missile-1))
-    (ai:research (ai:upgrade-weapon-1))
-    (ai:research (ai:upgrade-armor-1))
-    (ai:research (ai:upgrade-missile-2))
-
-    (ai:research (ai:upgrade-elite-shooter))
-    (ai:research (ai:upgrade-elite-shooter-1))
-    (ai:research (ai:upgrade-elite-shooter-2))
-    (ai:research (ai:upgrade-elite-shooter-3))
-    (ai:research (ai:upgrade-weapon-2))
-    (ai:research (ai:upgrade-armor-2))
-
-    (ai:script ai:hum-12-attack-endloop) ))
-
-;;=============================================================================
-;;     This AI script builds only workers and tankers.
-;;             Upgrades very much.
-;;             Attacks with land and air units.
-;;
-(define ai:hum-13-attack-endloop
-  '((writes nil "Looping !\n")
-
-    (ai:sleep  12000)
-    (ai:force 0 (ai:cavalrie) 1 (ai:mage) 1 (ai:catapult) 2)
-    (ai:force 1 (ai:cavalrie) 2 (ai:shooter) 1 (ai:mage) 1 (ai:catapult) 0)
-    (ai:wait-force 1)          ;; wait until attack party is completed
-    (ai:attack-with-force 1)
-
-    (ai:sleep  14000)
-    (ai:force 2 (ai:flyer) 1)
-    (ai:force 3 (ai:flyer) 3)
-    (ai:sleep  14000)
-
-    (ai:force 0 (ai:cavalrie) 1 (ai:mage) 2 (ai:catapult) 1)
-    (ai:force 1 (ai:cavalrie) 2 (ai:shooter) 1 (ai:mage) 0 (ai:catapult) 1)
-    (ai:wait-force 1)          ;; wait until attack party is completed
-    (ai:attack-with-force 1)
-
-    (ai:script ai:hum-13-attack-endloop) ) )
-
-(define-ai 'hum-13 "alliance" "hum-13"
-  '(
-    ;; Define the main AI script.
-    (begin (ai:debug #f)
-      (ai:force-role 0 'defend) (ai:force-role 1 'attack)
-      (ai:force-role 2 'defend) (ai:force-role 3 'attack)
-      (ai:sleep (ai:get-sleep-cycles)))
-
-    (ai:set  (ai:tanker) 2)
-    (ai:set  (ai:worker) 5)
-    (ai:wait (ai:worker))      ;; Wait for the workers
-
-    (ai:need (ai:platform))
-    (ai:set  (ai:transporter) 2)
-
-    (ai:force 0 (ai:cavalrie) 3 (ai:mage) 2)
-
-    (ai:research (ai:mage-spell-1))
-    (ai:research (ai:upgrade-cavalrie-mage))
-    (ai:research (ai:cavalrie-mage-spell-1))
-    (ai:research (ai:mage-spell-2))
-    (ai:research (ai:mage-spell-3))
-    (ai:research (ai:mage-spell-4))
-    (ai:research (ai:cavalrie-mage-spell-2))
-
-    (ai:sleep  4000)
-
-    (ai:force 0 (ai:cavalrie) 1 (ai:mage) 1)
-    (ai:force 1 (ai:cavalrie) 2 (ai:mage) 1)
-    (ai:wait-force 1)          ;; wait until attack party is completed
-    (ai:attack-with-force 1)
-
-    (ai:force 0 (ai:cavalrie) 1 (ai:mage) 1)
-    (ai:force 1 (ai:cavalrie) 2 (ai:shooter) 1 (ai:mage) 1)
-    (ai:sleep  12000)
-    (ai:wait-force 1)          ;; wait until attack party is completed
-    (ai:attack-with-force 1)
-
-    (ai:sleep  15000)
-    (ai:force 0 (ai:cavalrie) 0 (ai:mage) 1)
-    (ai:force 1 (ai:cavalrie) 3 (ai:shooter) 1 (ai:mage) 1)
-    (ai:wait-force 1)          ;; wait until attack party is completed
-    (ai:attack-with-force 1)
-
-    (ai:research (ai:mage-spell-5))
-    (ai:research (ai:upgrade-ship-cannon-1))
-    (ai:research (ai:upgrade-ship-armor-1))
-    (ai:research (ai:upgrade-ship-cannon-2))
-    (ai:research (ai:upgrade-ship-armor-2))
-    (ai:force 0 (ai:cavalrie) 2 (ai:mage) 2 (ai:catapult) 1)
-    (ai:force 1 (ai:cavalrie) 1 (ai:shooter) 1 (ai:mage) 0 (ai:catapult) 1)
-    (ai:sleep  15000)
-    (ai:wait-force 1)          ;; wait until attack party is completed
-    (ai:attack-with-force 1)
-
-    (ai:force 2 (ai:flyer) 1)
-    (ai:force 3 (ai:flyer) 3)
-    (ai:sleep  20000)
-    (ai:wait-force 3)          ;; wait until attack party is completed
-    (ai:attack-with-force 3)
-
-    (ai:sleep  14000)
-    (ai:wait-force 1)          ;; wait until attack party is completed
-    (ai:attack-with-force 1)
-
-    (ai:sleep  18000)
-    (ai:force 0 (ai:cavalrie) 2 (ai:mage) 2 (ai:catapult) 2)
-    (ai:force 1 (ai:cavalrie) 1 (ai:shooter) 1 (ai:mage) 0 (ai:catapult) 0)
-    (ai:wait-force 1)          ;; wait until attack party is completed
-    (ai:attack-with-force 1)
-
-    (ai:research (ai:upgrade-catapult-1))
-    (ai:research (ai:upgrade-catapult-2))
-    (ai:research (ai:upgrade-missile-1))
-    (ai:research (ai:upgrade-weapon-1))
-    (ai:research (ai:upgrade-armor-1))
-    (ai:research (ai:upgrade-missile-2))
-    (ai:research (ai:upgrade-elite-shooter))
-
-    (ai:script ai:hum-13-attack-endloop) ))
-
-;;=============================================================================
-;;     This AI script builds only workers and ogres.
-;;
-(define ai:hum-14-orange-attack-endloop
-  '((writes nil "Looping !\n")
-    (ai:script ai:hum-14-orange-attack-endloop) ) )
-
-(define-ai 'hum-14-orange "alliance" "hum-14-orange"
-  '(
-    ;; Define the main AI script.
-    (begin (ai:debug #f)
-      (ai:force-role 0 'defend) (ai:force-role 1 'attack)
-      (ai:sleep (ai:get-sleep-cycles)))
-
-    (ai:set  (ai:worker) 5)
-    (ai:wait (ai:worker))      ;; Wait for the workers
-
-    (ai:force 0 (ai:cavalrie) 8)
-    (ai:force 1 (ai:cavalrie) 7)
-
-    (ai:script ai:hum-14-orange-attack-endloop) ))
-
-;;=============================================================================
-;;     This AI script builds nothing.
-;;             Does only upgrades.
-;;
-(define ai:hum-14-red-attack-endloop
-  '((writes nil "Looping !\n")
-    (ai:sleep  30000)
-    (ai:sleep  30000)
-    (ai:script ai:hum-14-red-attack-endloop) ) )
-
-(define-ai 'hum-14-red "alliance" "hum-14-red"
-  '(
-    ;; Define the main AI script.
-    (begin (ai:debug #f)
-      (ai:force-role 0 'defend) (ai:force-role 1 'attack)
-      (ai:sleep (ai:get-sleep-cycles)))
-
-    (ai:research (ai:mage-spell-1))
-    (ai:research (ai:mage-spell-2))
-    (ai:research (ai:mage-spell-3))
-    (ai:research (ai:mage-spell-4))
-    (ai:research (ai:mage-spell-5))
-
-    (ai:script ai:hum-14-red-attack-endloop) ))
-
-;;=============================================================================
-;;     This AI script builds only workers and dragons.
-;;             Does only air attacks.
-;;
-;;     FIXME: This AI should only collect GOLD.
-;;
-(define ai:hum-14-white-attack-endloop
-  '((writes nil "Looping !\n")
-    (ai:force 0 (ai:flyer) 8)
-    (ai:force 1 (ai:flyer) 2)
-    (ai:sleep  19000)
-    (ai:wait-force 1)          ;; wait until attack party is completed
-    (ai:attack-with-force 1)
-
-    (ai:force 0 (ai:flyer) 5)
-    (ai:force 1 (ai:flyer) 4)
-    (ai:sleep  20000)
-    (ai:wait-force 1)          ;; wait until attack party is completed
-    (ai:attack-with-force 1)
-
-    (ai:force 0 (ai:flyer) 6)
-    (ai:force 1 (ai:flyer) 3)
-    (ai:sleep  21000)
-    (ai:wait-force 1)          ;; wait until attack party is completed
-    (ai:attack-with-force 1)
-
-    (ai:force 0 (ai:flyer) 3)
-    (ai:force 1 (ai:flyer) 6)
-    (ai:sleep  20000)
-    (ai:wait-force 1)          ;; wait until attack party is completed
-    (ai:attack-with-force 1)
-
-    (ai:script ai:hum-14-white-attack-endloop) ) )
-
-(define-ai 'hum-14-white "alliance" "hum-14-white"
-  '(
-    ;; Define the main AI script.
-    (begin (ai:debug #f)
-      (ai:force-role 0 'defend) (ai:force-role 1 'attack)
-      (ai:sleep (ai:get-sleep-cycles)))
-
-    (ai:set  (ai:worker) 9)
-    (ai:wait (ai:worker))      ;; Wait for the workers
-
-    (ai:force 0 (ai:flyer) 9)
-    (ai:force 1 (ai:flyer) 1)
-
-    (ai:sleep  64000)
-    (ai:wait-force 1)          ;; wait until attack party is completed
-    (ai:attack-with-force 1)
-
-    (ai:sleep  12000)
-    (ai:wait-force 1)          ;; wait until attack party is completed
-    (ai:attack-with-force 1)
-
-    (ai:sleep  18000)
-    (ai:wait-force 1)          ;; wait until attack party is completed
-    (ai:attack-with-force 1)
-
-    (ai:script ai:hum-14-white-attack-endloop) ))
-
-;;=============================================================================
-;;     This AI script builds only tanker.
-;;             Does only upgrades.
-;;
-;;     FIXME: This AI should only collect GOLD.
-;;
-(define ai:hum-14-black-attack-endloop
-  '((writes nil "Looping !\n")
-    (ai:sleep  30000)
-    (ai:script ai:hum-14-black-attack-endloop) ) )
-
-(define-ai 'hum-14-black "alliance" "hum-14-black"
-  '(
-    ;; Define the main AI script.
-    (begin (ai:debug #f)
-      (ai:force-role 0 'defend) (ai:force-role 1 'attack)
-      (ai:sleep (ai:get-sleep-cycles)))
-
-    (ai:set  (ai:tanker) 1)
-    (ai:research (ai:upgrade-cavalrie-mage))
-    (ai:research (ai:cavalrie-mage-spell-1))
-    (ai:research (ai:cavalrie-mage-spell-2))
-    (ai:research (ai:mage-spell-1))
-    (ai:research (ai:mage-spell-2))
-    (ai:research (ai:mage-spell-3))
-    (ai:research (ai:mage-spell-4))
-    (ai:research (ai:mage-spell-5))
-    (ai:research (ai:upgrade-weapon-1))
-    (ai:research (ai:upgrade-armor-1))
-    (ai:research (ai:upgrade-weapon-2))
-    (ai:research (ai:upgrade-armor-2))
-    (ai:research (ai:upgrade-elite-shooter))
-    (ai:research (ai:upgrade-elite-shooter-1))
-    (ai:research (ai:upgrade-elite-shooter-2))
-    (ai:research (ai:upgrade-elite-shooter-3))
-    (ai:research (ai:upgrade-ship-cannon-1))
-    (ai:research (ai:upgrade-ship-armor-1))
-    (ai:research (ai:upgrade-ship-cannon-2))
-    (ai:research (ai:upgrade-ship-armor-2))
-
-    (ai:script ai:hum-14-black-attack-endloop) ))
Index: demogame/ccl/alliance/buttons.ccl
diff -u demogame/ccl/alliance/buttons.ccl:1.4 
demogame/ccl/alliance/buttons.ccl:1.5
--- demogame/ccl/alliance/buttons.ccl:1.4       Thu Oct  9 15:32:41 2003
+++ demogame/ccl/alliance/buttons.ccl   Mon Oct 13 11:15:36 2003
@@ -26,7 +26,7 @@
 ;;      along with this program; if not, write to the Free Software
 ;;      Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  
USA
 ;;
-;;     $Id: buttons.ccl,v 1.4 2003/10/09 19:32:41 martinxyz Exp $
+;;     $Id: buttons.ccl,v 1.5 2003/10/13 15:15:36 martinxyz Exp $
 
 ;;----------------------------------------------------------------------------
 ;;     Define unit-button.
@@ -40,165 +40,37 @@
 (define-button 'pos 1 'level 0 'icon 'icon-move-peasant
   'action 'move
   'key "m" 'hint "~!MOVE"
-  'for-unit '(unit-footman unit-knight unit-archer unit-paladin
-    unit-dwarves unit-ranger unit-ballista unit-peasant unit-balloon
-    unit-gryphon-rider unit-mage unit-critter
-    alliance-group))
+  'for-unit '(unit-peasant alliance-group))
 
 (define-button 'pos 2 'level 0 'icon 'icon-alliance-shield1
   'action 'stop
   'key "s" 'hint "~!STOP"
-  'for-unit '(unit-footman unit-knight unit-archer unit-paladin
-    unit-dwarves unit-ranger unit-ballista unit-peasant unit-balloon
-    unit-gryphon-rider unit-mage unit-critter
-    alliance-group))
-
-(define-button 'pos 2 'level 0 'icon 'icon-alliance-shield2
-  'action 'stop
-  'allowed 'check-upgrade 'allow-arg '(upgrade-alliance-shield1)
-  'key "s" 'hint "~!STOP"
-  'for-unit '(unit-footman unit-knight unit-archer unit-paladin
-    unit-dwarves unit-ranger unit-ballista))
-
-(define-button 'pos 2 'level 0 'icon 'icon-alliance-shield3
-  'action 'stop
-  'allowed 'check-upgrade 'allow-arg '(upgrade-alliance-shield2)
-  'key "s" 'hint "~!STOP"
-  'for-unit '(unit-footman unit-knight unit-archer unit-paladin
-    unit-dwarves unit-ranger unit-ballista))
+  'for-unit '(unit-peasant alliance-group))
 
 (define-button 'pos 3 'level 0 'icon 'icon-sword1
   'action 'attack
   'key "a" 'hint "~!ATTACK"
-  'for-unit '(unit-footman unit-knight unit-archer unit-paladin
-    unit-dwarves unit-ranger unit-ballista unit-peasant 
-    unit-gryphon-rider alliance-group))
-
-(define-button 'pos 3 'level 0 'icon 'icon-sword2
-  'action 'attack
-  'allowed 'check-upgrade 'allow-arg '(upgrade-sword1)
-  'key "a" 'hint "~!ATTACK"
-  'for-unit '(unit-footman unit-knight unit-archer unit-paladin
-    unit-dwarves unit-ranger unit-ballista))
-
-(define-button 'pos 3 'level 0 'icon 'icon-sword3
-  'action 'attack
-  'allowed 'check-upgrade 'allow-arg '(upgrade-sword2)
-  'key "a" 'hint "~!ATTACK"
-  'for-unit '(unit-footman unit-knight unit-archer unit-paladin
-    unit-dwarves unit-ranger unit-ballista))
-
-(define-button 'pos 3 'level 0 'icon 'icon-arrow1
-  'action 'attack
-  'key "a" 'hint "~!ATTACK"
-  'for-unit '(unit-archer unit-ranger))
-
-(define-button 'pos 3 'level 0 'icon 'icon-arrow2
-  'action 'attack
-  'allowed 'check-upgrade 'allow-arg '(upgrade-arrow1)
-  'key "a" 'hint "~!ATTACK"
-  'for-unit '(unit-archer unit-ranger))
-
-(define-button 'pos 3 'level 0 'icon 'icon-arrow3
-  'action 'attack
-  'allowed 'check-upgrade 'allow-arg '(upgrade-arrow2)
-  'key "a" 'hint "~!ATTACK"
-  'for-unit '(unit-archer unit-ranger))
+  'for-unit '(unit-peasant alliance-group))
 
 (define-button 'pos 4 'level 0 'icon 'icon-alliance-patrol-land
   'action 'patrol
   'key "p" 'hint "~!PATROL"
-  'for-unit '(unit-footman unit-knight unit-archer unit-paladin
-    unit-dwarves unit-ranger unit-ballista unit-gryphon-rider 
-    alliance-group unit-balloon))
+  'for-unit '(alliance-group))
 
 (define-button 'pos 5 'level 0 'icon 'icon-alliance-stand-ground
   'action 'stand-ground
   'key "t" 'hint "S~!TAND GROUND"
-  'for-unit '(unit-footman unit-knight unit-archer unit-paladin
-    unit-dwarves unit-ranger unit-ballista unit-gryphon-rider 
-    alliance-group unit-alliance-submarine unit-battleship
-    unit-alliance-destroyer))
+  'for-unit '(alliance-group))
 
 (define-button 'pos 6 'level 0 'icon 'icon-alliance-attack-ground
   'action 'attack-ground
   'key "g" 'hint "ATTACK ~!GROUND"
-  'for-unit '(unit-ballista unit-battleship alliance-group))
+  'for-unit '(alliance-group))
 
 (define-button 'pos 9 'level 0 'icon 'icon-alliance-demolish
   'action 'demolish
   'key "d" 'hint "~!DEMOLISH"
-  'for-unit '(unit-footman unit-knight unit-archer unit-paladin
-    unit-dwarves unit-ranger unit-ballista unit-gryphon-rider alliance-group))
-
-;; paladin specific actions ---------------------------------------------------
-
-(define-button 'pos 6 'level 0 'icon 'icon-heal
-  'action 'cast-spell 'value 'spell-area-healing
-  'allowed 'check-upgrade 'allow-arg '(upgrade-area-healing)
-  'key "l" 'hint "AREA HEA~!LING (per 1 HP)"
-  'for-unit '(unit-paladin))
-
-(define-button 'pos 7 'level 0 'icon 'icon-holy-vision
-  'action 'cast-spell 'value 'spell-holy-vision
-  'allowed 'check-upgrade 'allow-arg '(upgrade-holy-vision)
-  'key "v" 'hint "HOLY ~!VISION"
-  'for-unit '(unit-paladin))
-
-(define-button 'pos 8 'level 0 'icon 'icon-heal
-  'action 'cast-spell 'value 'spell-healing
-  'allowed 'check-upgrade 'allow-arg '(upgrade-healing)
-  'key "h" 'hint "~!HEALING (per 1 HP)"
-  'for-unit '(unit-paladin))
-
-(define-button 'pos 9 'level 0 'icon 'icon-exorcism
-  'action 'cast-spell 'value 'spell-exorcism
-  'allowed 'check-upgrade 'allow-arg '(upgrade-exorcism)
-  'key "e" 'hint "~!EXORCISM"
-  'for-unit '(unit-paladin))
-
-;; mage specific actions ------------------------------------------------------
-
-(define-button 'pos 3 'level 0 'icon 'icon-lightning
-  'action 'attack
-  'key "a" 'hint "LIGHTNING ~!ATTACK"
-  'for-unit '(unit-mage))
-
-(define-button 'pos 4 'level 0 'icon 'icon-fireball
-  'action 'cast-spell 'value 'spell-fireball
-  'allowed 'check-upgrade 'allow-arg '(upgrade-fireball)
-  'key "f" 'hint "~!FIREBALL"
-  'for-unit '(unit-mage))
-
-(define-button 'pos 5 'level 0 'icon 'icon-slow
-  'action 'cast-spell 'value 'spell-slow
-  'allowed 'check-upgrade 'allow-arg '(upgrade-slow)
-  'key "o" 'hint "SL~!OW"
-  'for-unit '(unit-mage))
-
-(define-button 'pos 6 'level 0 'icon 'icon-flame-shield
-  'action 'cast-spell 'value 'spell-flame-shield
-  'allowed 'check-upgrade 'allow-arg '(upgrade-flame-shield)
-  'key "l" 'hint "F~!LAME SHIELD"
-  'for-unit '(unit-mage))
-
-(define-button 'pos 7 'level 0 'icon 'icon-invisibility
-  'action 'cast-spell 'value 'spell-invisibility
-  'allowed 'check-upgrade 'allow-arg '(upgrade-invisibility)
-  'key "i" 'hint "~!INVISIBILITY"
-  'for-unit '(unit-mage))
-
-(define-button 'pos 8 'level 0 'icon 'icon-polymorph
-  'action 'cast-spell 'value 'spell-polymorph
-  'allowed 'check-upgrade 'allow-arg '(upgrade-polymorph)
-  'key "p" 'hint "~!POLYMORPH"
-  'for-unit '(unit-mage))
-
-(define-button 'pos 9 'level 0 'icon 'icon-blizzard
-  'action 'cast-spell 'value 'spell-blizzard
-  'allowed 'check-upgrade 'allow-arg '(upgrade-blizzard)
-  'key "b" 'hint "~!BLIZZARD"
-  'for-unit '(unit-mage))
+  'for-unit '(alliance-group))
 
 ;; peasant specific actions ---------------------------------------------------
 
@@ -217,495 +89,16 @@
   'key "g" 'hint "RETURN WITH ~!GOODS"
   'for-unit '(unit-peasant))
 
-;; build basic/advanced structs -----------------------------------------------
-
-(define-button 'pos 7 'level 0 'icon 'icon-build-basic
-  'action 'button 'value 1
-  'key "b" 'hint "~!BUILD BASIC STRUCTURE"
-  'for-unit '(unit-peasant))
-
-(define-button 'pos 8 'level 0 'icon 'icon-build-advanced
-  'action 'button 'value 2
-  'allowed 'check-units-or 'allow-arg '(unit-elven-lumber-mill unit-keep)
-  'key "v" 'hint "BUILD AD~!VANCED STRUCTURE"
-  'for-unit '(unit-peasant))
-
-(define-button 'pos 9 'level 0 'icon 'icon-build-advanced
-  'action 'button 'value 3
-  'allowed 'check-units-and 'allow-arg '(unit-castle unit-mage-tower 
unit-church)
-  'key "e" 'hint "BUILD SP~!ECIAL STRUCTURE"
-  'for-unit '(unit-peasant))
-
 ;; simple buildings alliance 
-----------------------------------------------------
 
-(define-button 'pos 1 'level 1 'icon 'icon-farm
-  'action 'build 'value 'unit-farm
-  'key "f" 'hint "BUILD ~!FARM"
-  'for-unit '(unit-peasant))
-
-(define-button 'pos 2 'level 1 'icon 'icon-alliance-barracks
-  'action 'build 'value 'unit-alliance-barracks
-  'key "b" 'hint "BUILD ~!BARRACKS"
-  'for-unit '(unit-peasant))
-
-(define-button 'pos 3 'level 1 'icon 'icon-town-hall
+(define-button 'pos 7 'level 0 'icon 'icon-town-hall
   'action 'build 'value 'unit-town-hall
   'key "h" 'hint "BUILD TOWN ~!HALL"
   'for-unit '(unit-peasant))
 
-(define-button 'pos 4 'level 1 'icon 'icon-elven-lumber-mill
-  'action 'build 'value 'unit-elven-lumber-mill
-  'key "l" 'hint "BUILD ELVEN ~!LUMBER MILL"
-  'for-unit '(unit-peasant))
-
-(define-button 'pos 5 'level 1 'icon 'icon-alliance-blacksmith
-  'action 'build 'value 'unit-alliance-blacksmith
-  'key "s" 'hint "BUILD BLACK~!SMITH"
-  'for-unit '(unit-peasant))
-
-(define-button 'pos 7 'level 1 'icon 'icon-alliance-watch-tower
-  'action 'build 'value 'unit-alliance-watch-tower
-  'key "t" 'hint "BUILD ~!TOWER"
-  'for-unit '(unit-peasant))
-
-(define-button 'pos 8 'level 1 'icon 'icon-alliance-wall
-  'action 'build 'value 'unit-human-wall
-  'allowed 'check-network
-  'key "w" 'hint "BUILD ~!WALL"
-  'for-unit '(unit-peasant))
-
-(define-button 'pos 9 'level 1 'icon 'icon-cancel
-  'action 'button 'value 0
-  'key "\033" 'hint "~<ESC~> CANCEL"
-  'for-unit '(unit-peasant))
-
-;; alliance advanced buildings 
---------------------------------------------------
-
-(define-button 'pos 1 'level 2 'icon 'icon-alliance-shipyard
-  'action 'build 'value 'unit-alliance-shipyard
-  'key "s" 'hint "BUILD ~!SHIPYARD"
-  'for-unit '(unit-peasant))
-
-(define-button 'pos 2 'level 2 'icon 'icon-alliance-foundry
-  'action 'build 'value 'unit-alliance-foundry
-  'key "f" 'hint "BUILD ~!FOUNDRY"
-  'for-unit '(unit-peasant))
-
-(define-button 'pos 3 'level 2 'icon 'icon-alliance-refinery
-  'action 'build 'value 'unit-alliance-refinery
-  'key "r" 'hint "BUILD ~!REFINERY"
-  'for-unit '(unit-peasant))
-
-(define-button 'pos 4 'level 2 'icon 'icon-inventor
-  'action 'build 'value 'unit-inventor
-  'key "i" 'hint "BUILD GNOMISH ~!INVENTOR"
-  'for-unit '(unit-peasant))
-
-(define-button 'pos 5 'level 2 'icon 'icon-stables
-  'action 'build 'value 'unit-stables
-  'key "a" 'hint "BUILD ST~!ABLES"
-  'for-unit '(unit-peasant))
-
-(define-button 'pos 6 'level 2 'icon 'icon-mage-tower
-  'action 'build 'value 'unit-mage-tower
-  'key "m" 'hint "BUILD ~!MAGE TOWER"
-  'for-unit '(unit-peasant))
-
-(define-button 'pos 7 'level 2 'icon 'icon-church
-  'action 'build 'value 'unit-church
-  'key "c" 'hint "BUILD ~!CHURCH"
-  'for-unit '(unit-peasant))
-
-(define-button 'pos 8 'level 2 'icon 'icon-gryphon-aviary
-  'action 'build 'value 'unit-gryphon-aviary
-  'key "g" 'hint "BUILD ~!GRYPHON AVIARY"
-  'for-unit '(unit-peasant))
-
-(define-button 'pos 9 'level 2 'icon 'icon-cancel
-  'action 'button 'value 0
-  'key "\033" 'hint "~<ESC~> CANCEL"
-  'for-unit '(unit-peasant))
-
-;; alliance special buildings 
----------------------------------------------------
-
-(define-button 'pos 1 'level 3 'icon 'icon-dark-portal
-  'action 'build 'value 'unit-dark-portal
-  'allowed 'check-no-network
-  'key "p" 'hint "BUILD DARK ~!PORTAL"
-  'for-unit '(unit-peasant))
-
-(define-button 'pos 2 'level 3 'icon 'icon-runestone
-  'action 'build 'value 'unit-runestone
-  'allowed 'check-no-network
-  'key "r" 'hint "BUILD ~!RUNESTONE"
-  'for-unit '(unit-peasant))
-
-(define-button 'pos 9 'level 3 'icon 'icon-cancel
-  'action 'button 'value 0
-  'key "\033" 'hint "~<ESC~> CANCEL"
-  'for-unit '(unit-peasant))
-
-;; buildings commands ---------------------------------------------------------
-
-(define-button 'pos 1 'level 0 'icon 'icon-critter
-  'action 'train-unit 'value 'unit-critter
-  'key "c" 'hint "TRAIN ~!CRITTER"
-  'for-unit '(unit-farm))
-
 (define-button 'pos 1 'level 0 'icon 'icon-peasant
   'action 'train-unit 'value 'unit-peasant
   'allowed 'check-no-research
   'key "p" 'hint "TRAIN ~!PEASANT"
-  'for-unit '(unit-town-hall unit-keep unit-castle))
-
-;; town hall upgrades ---------------------------------------------------------
-
-(define-button 'pos 2 'level 0 'icon 'icon-keep
-  'action 'upgrade-to 'value 'unit-keep
-  'allowed 'check-upgrade-to
-  'key "k" 'hint "UPGRADE TO ~!KEEP"
   'for-unit '(unit-town-hall))
 
-(define-button 'pos 2 'level 0 'icon 'icon-castle-upgrade
-  'action 'upgrade-to 'value 'unit-castle
-  'allowed 'check-upgrade-to
-  'key "c" 'hint "UPGRADE TO ~!CASTLE"
-  'for-unit '(unit-keep))
-
-(define-button 'pos 5 'level 0 'icon 'icon-harvest
-  'action 'harvest
-  'key "h" 'hint "SET ~!HARVEST LUMBER/MINE GOLD"
-  'for-unit '(unit-town-hall unit-keep unit-castle))
-
-(define-button 'pos 7 'level 0 'icon 'icon-move-peasant
-  'action 'move
-  'key "m" 'hint "SET ~!MOVE"
-  'for-unit '(unit-town-hall unit-keep unit-castle unit-alliance-barracks
-    unit-mage-tower unit-gryphon-aviary unit-inventor))
-
-(define-button 'pos 8 'level 0 'icon 'icon-alliance-shield1
-  'action 'stop
-  'key "z" 'hint "SET ~!ZTOP"
-  'for-unit '(unit-town-hall unit-keep unit-castle unit-alliance-barracks
-    unit-mage-tower unit-gryphon-aviary unit-inventor))
-
-(define-button 'pos 9 'level 0 'icon 'icon-sword1
-  'action 'attack
-  'key "e" 'hint "S~!ET ATTACK"
-  'for-unit '(unit-town-hall unit-keep unit-castle unit-alliance-barracks
-    unit-mage-tower unit-gryphon-aviary unit-inventor))
-
-(define-button 'pos 1 'level 0 'icon 'icon-footman
-  'action 'train-unit 'value 'unit-footman
-  'key "f" 'hint "TRAIN ~!FOOTMAN"
-  'for-unit '(unit-alliance-barracks))
-
-(define-button 'pos 2 'level 0 'icon 'icon-archer
-  'action 'train-unit 'value 'unit-archer
-  'key "a" 'hint "TRAIN ~!ARCHER"
-  'for-unit '(unit-alliance-barracks))
-
-(define-button 'pos 2 'level 0 'icon 'icon-ranger
-  'action 'train-unit 'value 'unit-ranger
-  'key "r" 'hint "TRAIN ~!RANGER"
-  'for-unit '(unit-alliance-barracks))
-
-(define-button 'pos 3 'level 0 'icon 'icon-ballista
-  'action 'train-unit 'value 'unit-ballista
-  'key "b" 'hint "BUILD ~!BALLISTA"
-  'for-unit '(unit-alliance-barracks))
-
-(define-button 'pos 4 'level 0 'icon 'icon-knight
-  'action 'train-unit 'value 'unit-knight
-  'key "k" 'hint "TRAIN ~!KNIGHT"
-  'for-unit '(unit-alliance-barracks))
-
-(define-button 'pos 4 'level 0 'icon 'icon-paladin
-  'action 'train-unit 'value 'unit-paladin
-  'key "p" 'hint "TRAIN ~!PALADIN"
-  'for-unit '(unit-alliance-barracks))
-
-(define-button 'pos 1 'level 0 'icon 'icon-balloon
-  'action 'train-unit 'value 'unit-balloon
-  'key "f" 'hint "BUILD GNOMISH ~!FLYING MACHINE"
-  'for-unit '(unit-inventor))
-
-(define-button 'pos 2 'level 0 'icon 'icon-dwarves
-  'action 'train-unit 'value 'unit-dwarves
-  'key "d" 'hint "TRAIN ~!DWARVEN DEMOLITION SQUAD"
-  'for-unit '(unit-inventor))
-
-(define-button 'pos 1 'level 0 'icon 'icon-mage
-  'action 'train-unit 'value 'unit-mage
-  'key "t" 'hint "~!TRAIN MAGE"
-  'for-unit '(unit-mage-tower))
-
-(define-button 'pos 1 'level 0 'icon 'icon-gryphon-rider
-  'action 'train-unit 'value 'unit-gryphon-rider
-  'key "g" 'hint "TRAIN ~!GRYPHON RIDER"
-  'for-unit '(unit-gryphon-aviary))
-
-(define-button 'pos 1 'level 0 'icon 'icon-alliance-oil-tanker
-  'action 'train-unit 'value 'unit-alliance-oil-tanker
-  'key "o" 'hint "BUILD ~!OIL TANKER"
-  'for-unit '(unit-alliance-shipyard))
-
-(define-button 'pos 2 'level 0 'icon 'icon-alliance-destroyer
-  'action 'train-unit 'value 'unit-alliance-destroyer
-  'key "d" 'hint "BUILD ALLIANCE_~!DESTROYER"
-  'for-unit '(unit-alliance-shipyard))
-
-(define-button 'pos 3 'level 0 'icon 'icon-alliance-transport
-  'action 'train-unit 'value 'unit-alliance-transport
-  'key "t" 'hint "BUILD ~!TRANSPORT"
-  'for-unit '(unit-alliance-shipyard))
-
-(define-button 'pos 4 'level 0 'icon 'icon-alliance-submarine
-  'action 'train-unit 'value 'unit-alliance-submarine
-  'key "s" 'hint "BUILD GNOMISH ~!SUBMARINE"
-  'for-unit '(unit-alliance-shipyard))
-
-(define-button 'pos 5 'level 0 'icon 'icon-battleship
-  'action 'train-unit 'value 'unit-battleship
-  'key "b" 'hint "BUILD ~!BATTLESHIP"
-  'for-unit '(unit-alliance-shipyard))
-
-(define-button 'pos 6 'level 0 'icon 'icon-alliance-ship-haul-oil
-  'action 'harvest
-  'key "h" 'hint "SET ~!HAUL OIL"
-  'for-unit '(unit-alliance-shipyard))
-
-(define-button 'pos 1 'level 0 'icon 'icon-alliance-guard-tower
-  'action 'upgrade-to 'value 'unit-alliance-guard-tower
-  'key "g" 'hint "UPGRADE TO ~!GUARD TOWER"
-  'for-unit '(unit-alliance-watch-tower))
-
-(define-button 'pos 2 'level 0 'icon 'icon-alliance-cannon-tower
-  'action 'upgrade-to 'value 'unit-alliance-cannon-tower
-  'key "c" 'hint "UPGRADE TO ~!CANNON TOWER"
-  'for-unit '(unit-alliance-watch-tower))
-
-;; ships ----------------------------------------------------------------------
-
-(define-button 'pos 1 'level 0 'icon 'icon-alliance-ship-move
-  'action 'move
-  'key "m" 'hint "~!MOVE"
-  'for-unit '(unit-alliance-oil-tanker
-    unit-alliance-submarine unit-battleship unit-alliance-destroyer
-    unit-alliance-transport))
-
-(define-button 'pos 2 'level 0 'icon 'icon-alliance-ship-armor1
-  'action 'stop
-  'key "s" 'hint "~!STOP"
-  'for-unit '(unit-alliance-oil-tanker
-    unit-alliance-submarine unit-battleship unit-alliance-destroyer
-    unit-alliance-transport))
-
-(define-button 'pos 3 'level 0 'icon 'icon-alliance-unload
-  'action 'unload
-  'key "u" 'hint "~!UNLOAD"
-  'for-unit '(unit-alliance-transport))
-
-(define-button 'pos 4 'level 0 'icon 'icon-alliance-oil-platform
-  'action 'build 'value 'unit-alliance-oil-platform
-  'key "b" 'hint "~!BUILD OIL PLATFORM"
-  'for-unit '(unit-alliance-oil-tanker))
-
-(define-button 'pos 5 'level 0 'icon 'icon-alliance-ship-haul-oil
-  'action 'harvest
-  'key "h" 'hint "~!HAUL OIL"
-  'for-unit '(unit-alliance-oil-tanker))
-
-(define-button 'pos 6 'level 0 'icon 'icon-alliance-ship-return-oil
-  'action 'return-goods
-  'key "g" 'hint "RETURN WITH ~!GOODS"
-  'for-unit '(unit-alliance-oil))
-
-(define-button 'pos 3 'level 0 'icon 'icon-alliance-ship-cannon1
-  'action 'attack
-  'key "a" 'hint "~!ATTACK"
-  'for-unit '(unit-alliance-submarine unit-battleship unit-alliance-destroyer))
-
-(define-button 'pos 3 'level 0 'icon 'icon-alliance-ship-cannon2
-  'action 'attack
-  'allowed 'check-upgrade 'allow-arg '(upgrade-alliance-ship-cannon1)
-  'key "a" 'hint "~!ATTACK"
-  'for-unit '(unit-alliance-submarine unit-battleship unit-alliance-destroyer))
-
-(define-button 'pos 3 'level 0 'icon 'icon-alliance-ship-cannon3
-  'action 'attack
-  'allowed 'check-upgrade 'allow-arg '(upgrade-alliance-ship-cannon2)
-  'key "a" 'hint "~!ATTACK"
-  'for-unit '(unit-alliance-submarine unit-battleship unit-alliance-destroyer))
-
-(define-button 'pos 4 'level 0 'icon 'icon-alliance-patrol-naval
-  'action 'patrol
-  'key "p" 'hint "~!PATROL"
-  'for-unit '(unit-alliance-submarine unit-battleship unit-alliance-destroyer))
-
-(define-button 'pos 7 'level 0 'icon 'icon-alliance-ship-move
-  'action 'move
-  'key "m" 'hint "SET ~!MOVE"
-  'for-unit '(unit-alliance-shipyard))
-
-(define-button 'pos 8 'level 0 'icon 'icon-alliance-ship-armor1
-  'action 'stop
-  'key "z" 'hint "SET ~!ZTOP"
-  'for-unit '(unit-alliance-shipyard))
-
-(define-button 'pos 9 'level 0 'icon 'icon-alliance-ship-cannon1
-  'action 'attack
-  'key "e" 'hint "S~!ET ATTACK"
-  'for-unit '(unit-alliance-shipyard))
-
-;; upgrades -------------------------------------------------------------------
-
-(define-button 'pos 1 'level 0 'icon 'icon-sword2
-  'action 'research 'value 'upgrade-sword1
-  'allowed 'check-single-research
-  'key "w" 'hint "UPGRADE S~!WORDS (Damage +2)"
-  'for-unit '(unit-alliance-blacksmith))
-
-(define-button 'pos 1 'level 0 'icon 'icon-sword3
-  'action 'research 'value 'upgrade-sword2
-  'allowed 'check-single-research
-  'key "w" 'hint "UPGRADE S~!WORDS (Damage +2)"
-  'for-unit '(unit-alliance-blacksmith))
-
-(define-button 'pos 2 'level 0 'icon 'icon-alliance-shield2
-  'action 'research 'value 'upgrade-alliance-shield1
-  'allowed 'check-single-research
-  'key "s" 'hint "UPGRADE ~!SHIELDS (Armor +2)"
-  'for-unit '(unit-alliance-blacksmith))
-
-(define-button 'pos 2 'level 0 'icon 'icon-alliance-shield3
-  'action 'research 'value 'upgrade-alliance-shield2
-  'allowed 'check-single-research
-  'key "s" 'hint "UPGRADE ~!SHIELDS (Armor +2)"
-  'for-unit '(unit-alliance-blacksmith))
-
-(define-button 'pos 3 'level 0 'icon 'icon-ballista1
-  'action 'research 'value 'upgrade-ballista1
-  'allowed 'check-single-research
-  'key "b" 'hint "UPGRADE ~!BALLISTA (Damage +15)"
-  'for-unit '(unit-alliance-blacksmith))
-
-(define-button 'pos 3 'level 0 'icon 'icon-ballista2
-  'action 'research 'value 'upgrade-ballista2
-  'allowed 'check-single-research
-  'key "b" 'hint "UPGRADE ~!BALLISTA (Damage +15)"
-  'for-unit '(unit-alliance-blacksmith))
-
-(define-button 'pos 1 'level 0 'icon 'icon-arrow2
-  'action 'research 'value 'upgrade-arrow1
-  'allowed 'check-single-research
-  'key "u" 'hint "~!UPGRADE ARROWS (Damage +1)"
-  'for-unit '(unit-elven-lumber-mill))
-
-(define-button 'pos 1 'level 0 'icon 'icon-arrow3
-  'action 'research 'value 'upgrade-arrow2
-  'allowed 'check-single-research
-  'key "u" 'hint "~!UPGRADE ARROWS (Damage +1)"
-  'for-unit '(unit-elven-lumber-mill))
-
-(define-button 'pos 4 'level 0 'icon 'icon-ranger
-  'action 'research 'value 'upgrade-ranger
-  'allowed 'check-single-research
-  'key "r" 'hint "ELVEN ~!RANGER TRAINING"
-  'for-unit '(unit-elven-lumber-mill))
-
-(define-button 'pos 4 'level 0 'icon 'icon-ranger-scouting
-  'action 'research 'value 'upgrade-ranger-scouting
-  'allowed 'check-single-research
-  'key "s" 'hint "RANGER ~!SCOUTING (Sight:9)"
-  'for-unit '(unit-elven-lumber-mill))
-
-(define-button 'pos 5 'level 0 'icon 'icon-longbow
-  'action 'research 'value 'upgrade-longbow
-  'allowed 'check-single-research
-  'key "l" 'hint "RESEARCH ~!LONGBOW (Range +1)"
-  'for-unit '(unit-elven-lumber-mill))
-
-(define-button 'pos 6 'level 0 'icon 'icon-ranger-marksmanship
-  'action 'research 'value 'upgrade-ranger-marksmanship
-  'allowed 'check-single-research
-  'key "m" 'hint "RANGER ~!MARKSMANSHIP (Damage +3)"
-  'for-unit '(unit-elven-lumber-mill))
-
-(define-button 'pos 1 'level 0 'icon 'icon-paladin
-  'action 'research 'value 'upgrade-paladin
-  'allowed 'check-single-research
-  'key "p" 'hint "UPGRADES KNIGHTS TO ~!PALADINS"
-  'for-unit '(unit-church))
-
-(define-button 'pos 2 'level 0 'icon 'icon-heal
-  'action 'research 'value 'upgrade-healing
-  'allowed 'check-single-research
-  'key "h" 'hint "RESEARCH ~!HEALING"
-  'for-unit '(unit-church))
-
-(define-button 'pos 3 'level 0 'icon 'icon-exorcism
-  'action 'research 'value 'upgrade-exorcism
-  'allowed 'check-single-research
-  'key "e" 'hint "RESEARCH ~!EXORCISM"
-  'for-unit '(unit-church))
-
-(define-button 'pos 5 'level 0 'icon 'icon-heal
-  'action 'research 'value 'upgrade-area-healing
-  'allowed 'check-single-research
-  'key "l" 'hint "RESEARCH AREA HEA~!LING"
-  'for-unit '(unit-church))
-
-(define-button 'pos 2 'level 0 'icon 'icon-slow
-  'action 'research 'value 'upgrade-slow
-  'allowed 'check-single-research
-  'key "o" 'hint "RESEARCH SL~!OW"
-  'for-unit '(unit-mage-tower))
-
-(define-button 'pos 3 'level 0 'icon 'icon-flame-shield
-  'action 'research 'value 'upgrade-flame-shield
-  'allowed 'check-single-research
-  'key "l" 'hint "RESEARCH F~!LAME SHIELD"
-  'for-unit '(unit-mage-tower))
-
-(define-button 'pos 4 'level 0 'icon 'icon-invisibility
-  'action 'research 'value 'upgrade-invisibility
-  'allowed 'check-single-research
-  'key "i" 'hint "RESEARCH ~!INVISIBILITY"
-  'for-unit '(unit-mage-tower))
-
-(define-button 'pos 5 'level 0 'icon 'icon-polymorph
-  'action 'research 'value 'upgrade-polymorph
-  'allowed 'check-single-research
-  'key "p" 'hint "RESEARCH ~!POLYMORPH"
-  'for-unit '(unit-mage-tower))
-
-(define-button 'pos 6 'level 0 'icon 'icon-blizzard
-  'action 'research 'value 'upgrade-blizzard
-  'allowed 'check-single-research
-  'key "b" 'hint "RESEARCH ~!BLIZZARD"
-  'for-unit '(unit-mage-tower))
-
-(define-button 'pos 1 'level 0 'icon 'icon-alliance-ship-cannon2
-  'action 'research 'value 'upgrade-alliance-ship-cannon1
-  'allowed 'check-single-research
-  'key "c" 'hint "UPGRADE ~!CANNONS (Damage +5)"
-  'for-unit '(unit-alliance-foundry))
-
-(define-button 'pos 1 'level 0 'icon 'icon-alliance-ship-cannon3
-  'action 'research 'value 'upgrade-alliance-ship-cannon2
-  'allowed 'check-single-research
-  'key "c" 'hint "UPGRADE ~!CANNONS (Damage +5)"
-  'for-unit '(unit-alliance-foundry))
-
-(define-button 'pos 2 'level 0 'icon 'icon-alliance-ship-armor2
-  'action 'research 'value 'upgrade-alliance-ship-armor1
-  'allowed 'check-single-research
-  'key "a" 'hint "UPGRADE SHIP ~!ARMOR (Armor +5)"
-  'for-unit '(unit-alliance-foundry))
-
-(define-button 'pos 2 'level 0 'icon 'icon-alliance-ship-armor3
-  'action 'research 'value 'upgrade-alliance-ship-armor2
-  'allowed 'check-single-research
-  'key "a" 'hint "UPGRADE SHIP ~!ARMOR (Armor +5)"
-  'for-unit '(unit-alliance-foundry))
Index: demogame/ccl/alliance/constructions.ccl
diff -u demogame/ccl/alliance/constructions.ccl:1.1 
demogame/ccl/alliance/constructions.ccl:1.2
--- demogame/ccl/alliance/constructions.ccl:1.1 Sat Jul 26 09:39:14 2003
+++ demogame/ccl/alliance/constructions.ccl     Mon Oct 13 11:15:36 2003
@@ -26,94 +26,6 @@
 ;;      along with this program; if not, write to the Free Software
 ;;      Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  
USA
 ;;
-;;     $Id: constructions.ccl,v 1.1 2003/07/26 13:39:14 martinxyz Exp $
+;;     $Id: constructions.ccl,v 1.2 2003/10/13 15:15:36 martinxyz Exp $
 
-;;=============================================================================
-;;     Define a construction.
-;;
-;;     (define-construction ident 'files '(tileset-name filename ..)
-;;         'size '(x y))
-
-(define-construction 'construction-alliance-shipyard
-  'file '(
-    tileset summer
-    file "alliance/buildings/shipyard_construction_site.png"
-    size (96 96))
-  'file '(
-    tileset winter
-    file "tilesets/winter/alliance/buildings/shipyard_construction_site.png"
-    size (96 96))
-  'constructions (list
-    '(percent 0
-      file construction
-      frame 0)
-    '(percent 25
-      file construction
-      frame 1)
-    '(percent 50
-      file main
-      frame 1))
-)
-
-(define-construction 'construction-alliance-oil-well
-  'file '(
-    tileset summer
-    file "tilesets/summer/alliance/buildings/oil_well_construction_site.png"
-    size (96 96))
-  'file '(
-    tileset winter
-    file "tilesets/winter/alliance/buildings/oil_well_construction_site.png"
-    size (96 96))
-  'constructions (list
-    '(percent 0
-      file construction
-      frame 0)
-    '(percent 25
-      file construction
-      frame 1)
-    '(percent 50
-      file main
-      frame 1))
-)
-
-(define-construction 'construction-alliance-refinery
-  'file '(
-    tileset summer
-    file "alliance/buildings/refinery_construction_site.png"
-    size (96 96))
-  'file '(
-    tileset winter
-    file "tilesets/winter/alliance/buildings/refinery_construction_site.png"
-    size (96 96))
-  'constructions (list
-    '(percent 0
-      file construction
-      frame 0)
-    '(percent 25
-      file construction
-      frame 1)
-    '(percent 50
-      file main
-      frame 1))
-)
-
-(define-construction 'construction-alliance-foundry
-  'file '(
-    tileset summer
-    file "alliance/buildings/foundry_construction_site.png"
-    size (96 96))
-  'file '(
-    tileset winter
-    file "tilesets/winter/alliance/buildings/foundry_construction_site.png"
-    size (96 96))
-  'constructions (list
-    '(percent 0
-      file construction
-      frame 0)
-    '(percent 25
-      file construction
-      frame 1)
-    '(percent 50
-      file main
-      frame 1))
-)
+; no constructions
Index: demogame/ccl/alliance/spells.ccl
diff -u demogame/ccl/alliance/spells.ccl:1.2 
demogame/ccl/alliance/spells.ccl:1.3
--- demogame/ccl/alliance/spells.ccl:1.2        Mon Oct 13 10:09:10 2003
+++ demogame/ccl/alliance/spells.ccl    Mon Oct 13 11:15:36 2003
@@ -26,153 +26,6 @@
 ;;      along with this program; if not, write to the Free Software
 ;;      Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  
USA
 ;;
-;;     $Id: spells.ccl,v 1.2 2003/10/13 14:09:10 martinxyz Exp $
-
-;;  Declare some unit types used in spells. This is quite accetable, the other
-;;  way would be to define can-cast-spell outside unit definitions, not much 
of an improvement.
-(define-unit-type 'unit-revealer)
-(define-unit-type 'unit-critter)
-(define-unit-type 'unit-circle-of-power)
-
-(define-spell "spell-holy-vision"
-       'showname "Holy Vision"
-       'manacost 70
-       'range 'infinite
-       'target 'position
-       'action '(summon unit-type unit-revealer time-to-live 10)
-       'sound-when-cast "holy vision"
-       'missile-when-cast "missile-normal-spell"
-)
-
-(define-spell "spell-healing"
-       'showname "Healing"
-       'manacost 6
-       'range  6
-       'target 'unit
-       'action '(adjust-vitals hit-points 1)
-       'condition '(
-           organic only
-           building false
-           max-hp-percent 100)
-       'sound-when-cast "healing"
-       'missile-when-cast "missile-heal-effect"
-       'autocast '(range 6
-           condition (
-               coward false
-               alliance only
-               max-hp-percent 50
-           )
-       )
-)
-
-(define-spell "spell-exorcism"
-       'showname "Exorcism"
-       'manacost 4
-       'range  10
-       'target 'unit
-       'action '(adjust-vitals hit-points -1)
-       'condition '(
-           undead only
-           building false ; any undead buildings?
-           alliance false
-       )
-       'sound-when-cast "exorcism"
-       'missile-when-cast "missile-exorcism"
-       'autocast '(range 10 condition (coward false alliance false))
-)
-
-(define-spell "spell-slow"
-       'showname "slow"
-       'manacost 50
-       'range  10
-       'target 'unit
-       'action '(adjust-buffs slow-ticks 1000 haste-ticks 0)
-       'condition '(
-           building false
-           max-slow-ticks 10)
-       'sound-when-cast "slow"
-       'missile-when-cast "missile-normal-spell"
-       'autocast '(range 10 combat only condition (coward false alliance 
false))
-       'ai-cast '(range 10 condition (coward false alliance false))
-)
-
-(define-spell "spell-invisibility"
-       'showname "invisibility"
-       'manacost 200
-       'range  6
-       'target 'unit
-       'action '(adjust-buffs invisibility-ticks 2000)
-       'condition '(
-           building false
-           max-invisibility-ticks 10)
-       'sound-when-cast "invisibility"
-       'missile-when-cast "missile-normal-spell"
-;      'autocast '(range 6 condition (coward false))
-)
-
-(define-spell "spell-flame-shield"
-       'showname "flame shield"
-       'manacost 50
-       'range  6
-       'target 'unit
-       'action '(flame-shield duration 600 damage 1)
-       ;; I think it's better if we can cast it multiple times and the effects 
stack.
-       ;; Can be casted, and is effective on both allies and enemies
-       'condition '(building false)
-       'sound-when-cast "flame shield"
-       'missile-when-cast "missile-flame-shield" ; NOT use
-;      'autocast '(range 6 condition (coward false))
-)
-
-(define-spell "spell-polymorph"
-       'showname "polymorph"
-       'manacost 200
-       'range  10
-       'target 'unit
-       'action '(polymorph new-form unit-critter)
-       'condition '(organic only)
-       'sound-when-cast "polymorph"
-       'missile-when-cast "missile-normal-spell"
-       ;;  Only cast on the strongest units!!!
-;      'autocast '(range 10 condition (alliance false min-hp-percent 75))
-)
-
-(define-spell "spell-blizzard"
-       'showname "blizzard"
-       'manacost 25
-       'range  12
-       'target 'position
-       'action '(area-bombardment
-            fields 5
-            shards 10
-            damage 10
-            ;;  128=4*32=4 tiles
-            start-offset-x -128
-            start-offset-y -128)
-       'sound-when-cast "blizzard"
-       'missile-when-cast "missile-blizzard"
-;;     'autocast '(range 12)
-)
-
-(define-spell "spell-fireball"
-       'showname "fireball"
-       'manacost 100
-       'range  8
-       'target 'position
-       'action '(fireball ttl 1000 damage 20)
-       'sound-when-cast "fireball throw"
-       'missile-when-cast "missile-fireball"
-;;     'autocast '(range 8)
-)
-
-(define-spell "spell-circle-of-power"
-       'showname "circle of power"
-       'manacost 25
-       'range  -1
-       'target 'position
-       'action '(spawn-portal portal-type unit-circle-of-power)
-       'sound-when-cast "circle of power"
-       'missile-when-cast "missile-normal-spell"
-;;     'autocast '(range -1)
-)
+;;     $Id: spells.ccl,v 1.3 2003/10/13 15:15:36 martinxyz Exp $
 
+; no spells, see ../mythical/spells.ccl for minimal example
Index: demogame/ccl/alliance/units.ccl
diff -u demogame/ccl/alliance/units.ccl:1.12 
demogame/ccl/alliance/units.ccl:1.13
--- demogame/ccl/alliance/units.ccl:1.12        Thu Oct  9 12:10:35 2003
+++ demogame/ccl/alliance/units.ccl     Mon Oct 13 11:15:36 2003
@@ -26,7 +26,7 @@
 ;;      along with this program; if not, write to the Free Software
 ;;      Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  
USA
 ;;
-;;     $Id: units.ccl,v 1.12 2003/10/09 16:10:35 martinxyz Exp $
+;;     $Id: units.ccl,v 1.13 2003/10/13 15:15:36 martinxyz Exp $
 
 ;;=============================================================================
 ;;     Define unit-types.
@@ -34,37 +34,6 @@
 ;;     NOTE: Save can generate this table.
 ;;
 
-(define-unit-type 'unit-footman 'name "Footman"
-  'files '(tileset-summer "alliance/units/footman.png")
-  'size '(72 72)
-  'animations 'animations-footman 'icon 'icon-footman
-  'costs '(time 60 gold 600)
-  'speed 10
-  'hit-points 60
-  'draw-level 40
-  'tile-size '(1 1) 'box-size '(31 31)
-  'sight-range 4 'computer-reaction-range 6 'person-reaction-range 4
-  'armor 2 'basic-damage 6 'piercing-damage 3 'missile 'missile-none
-  'max-attack-range 1
-  'priority 60
-  'points 50
-  'demand 1
-  'corpse '(unit-dead-body 6)
-  'type-land
-  'right-attack
-  'can-attack 'repair-range 1
-  'can-target-land
-  'land-unit
-  'organic
-  'selectable-by-rectangle
-  'sounds '(
-    selected "footman-selected"
-    acknowledge "footman-acknowledge"
-    ready "footman-ready"
-    help "basic alliance voices help 1"
-    dead "basic alliance voices dead"
-    attack "footman-attack"))
-
 (define-unit-type 'unit-peasant 'name "Peasant"
   'files '(tileset-summer "alliance/units/peasant.png")
   'size '(72 72)
@@ -113,759 +82,11 @@
     dead "basic alliance voices dead"
     attack "peasant-attack"))
 
-(define-unit-type 'unit-ballista 'name "Ballista"
-  'files '(tileset-summer "alliance/units/ballista.png")
-  'size '(64 64)
-  'animations 'animations-ballista 'icon 'icon-ballista
-  'costs '(time 250 gold 900 wood 300)
-  'speed 5
-  'hit-points 110
-  'draw-level 40
-  'tile-size '(1 1) 'box-size '(63 63)
-  'sight-range 9 'computer-reaction-range 11 'person-reaction-range 9
-  'basic-damage 80 'piercing-damage 0 'missile 'missile-ballista-bolt
-  'min-attack-range 2 'max-attack-range 8
-  'priority 70
-  'points 100
-  'demand 1
-  'explode-when-killed 'missile-explosion
-  'type-land
-  'right-attack
-  'can-ground-attack
-  'can-attack
-  'can-target-land 'can-target-sea
-  'selectable-by-rectangle
-  'sounds '(
-    selected "ballista-selected"
-    acknowledge "ballista-acknowledge"
-    ready "ballista-ready"
-    help "basic alliance voices help 1"
-    dead "explosion"
-    attack "ballista-attack"))
-
-(define-unit-type 'unit-knight 'name "Knight"
-  'files '(tileset-summer "alliance/units/knight.png")
-  'size '(72 72)
-  'animations 'animations-knight 'icon 'icon-knight
-  'costs '(time 90 gold 800 wood 100)
-  'speed 13
-  'hit-points 90
-  'draw-level 40
-  'tile-size '(1 1) 'box-size '(42 42)
-  'sight-range 4 'computer-reaction-range 6 'person-reaction-range 4
-  'armor 4 'basic-damage 8 'piercing-damage 4 'missile 'missile-none
-  'max-attack-range 1
-  'priority 63
-  'points 100
-  'demand 1
-  'corpse '(unit-dead-body 6)
-  'type-land
-  'right-attack
-  'can-attack
-  'can-target-land
-  'land-unit
-  'organic
-  'selectable-by-rectangle
-  'sounds '(
-    selected "knight-selected"
-    acknowledge "knight-acknowledge"
-    ready "knight-ready"
-    help "basic alliance voices help 1"
-    dead "basic alliance voices dead"
-    attack "knight-attack"))
-
-(define-unit-type 'unit-archer 'name "Archer"
-  'files '(tileset-summer "alliance/units/archer.png")
-  'size '(72 72)
-  'animations 'animations-archer 'icon 'icon-archer
-  'costs '(time 70 gold 500 wood 50)
-  'speed 10
-  'hit-points 40
-  'draw-level 40
-  'tile-size '(1 1) 'box-size '(33 33)
-  'sight-range 5 'computer-reaction-range 7 'person-reaction-range 5
-  'basic-damage 3 'piercing-damage 6 'missile 'missile-arrow
-  'max-attack-range 4
-  'priority 55
-  'points 60
-  'demand 1
-  'corpse '(unit-dead-body 6)
-  'type-land
-  'right-attack
-  'can-attack
-  'can-target-land 'can-target-sea 'can-target-air
-  'land-unit
-  'organic
-  'selectable-by-rectangle
-  'sounds '(
-    selected "archer-selected"
-    acknowledge "archer-acknowledge"
-    ready "archer-ready"
-    help "basic alliance voices help 1"
-    dead "basic alliance voices dead"
-    attack "archer-attack"))
-
-(define-unit-type 'unit-mage 'name "Mage"
-  'files '(tileset-summer "alliance/units/mage.png")
-  'size '(72 72)
-  'animations 'animations-mage 'icon 'icon-mage
-  'costs '(time 120 gold 1200)
-  'speed 8
-  'hit-points 60
-  'draw-level 40
-  'max-mana 255
-  'tile-size '(1 1) 'box-size '(33 33)
-  'sight-range 9 'computer-reaction-range 11 'person-reaction-range 9
-  'basic-damage 0 'piercing-damage 9 'missile 'missile-lightning
-  'max-attack-range 2
-  'priority 70
-  'points 100
-  'demand 1
-  'type-land
-  'right-attack
-  'can-attack
-  'can-target-land 'can-target-sea 'can-target-air
-  'can-cast-spell '(
-      spell-fireball
-      spell-slow
-      spell-flame-shield
-      spell-invisibility
-      spell-polymorph
-      spell-blizzard)
-  'land-unit
-  'coward
-  'organic
-  'selectable-by-rectangle
-  'sounds '(
-    selected "mage-selected"
-    acknowledge "mage-acknowledge"
-    ready "mage-ready"
-    help "basic alliance voices help 1"
-    dead "basic alliance voices dead"
-    attack "mage-attack"))
-
-(define-unit-type 'unit-paladin 'name "Paladin"
-  'use 'unit-knight
-  'size '(72 72)
-  'animations 'animations-knight 'icon 'icon-paladin
-  'costs '(time 90 gold 800 wood 100)
-  'speed 13
-  'hit-points 90
-  'draw-level 40
-  'max-mana 255
-  'tile-size '(1 1) 'box-size '(42 42)
-  'sight-range 5 'computer-reaction-range 7 'person-reaction-range 5
-  'armor 4 'basic-damage 8 'piercing-damage 4 'missile 'missile-none
-  'max-attack-range 1
-  'priority 65
-  'points 110
-  'demand 1
-  'corpse '(unit-dead-body 6)
-  'type-land
-  'right-attack
-  'can-attack
-  'can-target-land
-  'can-cast-spell '(spell-holy-vision spell-healing spell-exorcism)
-  'land-unit
-  'organic
-  'selectable-by-rectangle
-  'sounds '(
-    selected "paladin-selected"
-    acknowledge "paladin-acknowledge"
-    ready "paladin-ready"
-    help "basic alliance voices help 1"
-    dead "basic alliance voices dead"
-    attack "paladin-attack"))
-
-(define-unit-type 'unit-dwarves 'name "Dwarves"
-  'files '(tileset-summer "alliance/units/demolition_squad.png")
-  'size '(56 56)
-  'animations 'animations-dwarves 'icon 'icon-dwarves
-  'costs '(time 200 gold 700 wood 250)
-  'speed 11
-  'hit-points 40
-  'draw-level 40
-  'tile-size '(1 1) 'box-size '(32 32)
-  'sight-range 4 'computer-reaction-range 4 'person-reaction-range 2
-  'basic-damage 4 'piercing-damage 2 'missile 'missile-none
-  'max-attack-range 1
-  'priority 55
-  'points 100
-  'demand 1
-  'type-land
-  'right-demolish
-  'demolish-range 2
-  'demolish-damage 400
-  'can-attack
-  'can-target-land
-  'land-unit
-  'volatile
-  'organic
-  'selectable-by-rectangle
-  'sounds '(
-    selected "dwarves-selected"
-    acknowledge "dwarves-acknowledge"
-    ready "dwarves-ready"
-    help "basic alliance voices help 1"
-    dead "explosion"
-    attack "dwarves-attack"))
-
-(define-unit-type 'unit-ranger 'name "Ranger"
-  'use 'unit-archer
-  'size '(72 72)
-  'animations 'animations-archer 'icon 'icon-ranger
-  'costs '(time 70 gold 500 wood 50)
-  'speed 10
-  'hit-points 50
-  'draw-level 40
-  'tile-size '(1 1) 'box-size '(33 33)
-  'sight-range 6 'computer-reaction-range 9 'person-reaction-range 6
-  'basic-damage 3 'piercing-damage 6 'missile 'missile-arrow
-  'max-attack-range 4
-  'priority 57
-  'points 70
-  'demand 1
-  'corpse '(unit-dead-body 6)
-  'type-land
-  'right-attack
-  'can-attack
-  'can-target-land 'can-target-sea 'can-target-air
-  'land-unit
-  'organic
-  'selectable-by-rectangle
-  'sounds '(
-    selected "ranger-selected"
-    acknowledge "ranger-acknowledge"
-    ready "ranger-ready"
-    help "basic alliance voices help 1"
-    dead "basic alliance voices dead"
-    attack "ranger-attack"))
-
-(define-unit-type 'unit-alliance-oil-tanker 'name "Oil tanker"
-  'files '(tileset-summer "alliance/units/oil_tanker_empty.png")
-  'size '(72 72)
-  'animations 'animations-alliance-oil-tanker 'icon 'icon-alliance-oil-tanker
-  'costs '(time 50 gold 400 wood 200)
-  'speed 10
-  'hit-points 90
-  'draw-level 40
-  'tile-size '(1 1) 'box-size '(63 63)
-  'sight-range 4
-  'armor 10 'basic-damage 0 'piercing-damage 0 'missile 'missile-none
-  'max-attack-range 1
-  'priority 50 'annoy-computer-factor 10
-  'points 40
-  'demand 1
-  'corpse '(unit-dead-body 12)
-  'type-naval
-  'right-harvest
-  'sea-unit 'coward
-  'can-gather-resource '(
-      file-when-empty "alliance/units/oil_tanker_empty.png"
-      file-when-loaded "alliance/units/oil_tanker_full.png"
-      resource-id oil
-      resource-capacity 100
-      wait-at-resource 100
-      wait-at-depot 100)
-  'selectable-by-rectangle
-  'sounds '(
-    selected "alliance-oil-tanker-selected"
-    acknowledge "alliance-oil-tanker-acknowledge"
-    ready "alliance-oil-tanker-ready"
-    help "basic alliance voices help 1"
-    dead "ship sinking"
-    attack "alliance-oil-tanker-attack"))
-   
-(define-unit-type 'unit-alliance-transport 'name "Transport"
-  'files '(tileset-summer "alliance/units/transport.png")
-  'size '(72 72)
-  'animations 'animations-alliance-transport 'icon 'icon-alliance-transport
-  'costs '(time 70 gold 600 wood 200 oil 500)
-  'repair-hp 4
-  'repair-costs '(gold 1 wood 1 oil 1)
-  'speed 10
-  'hit-points 150
-  'draw-level 40
-  'max-on-board 6
-  'tile-size '(1 1) 'box-size '(63 63)
-  'sight-range 4
-  'basic-damage 0 'piercing-damage 0 'missile 'missile-none
-  'max-attack-range 1
-  'priority 70 'annoy-computer-factor 15
-  'points 50
-  'demand 1
-  'corpse '(unit-dead-body 12)
-  'type-naval
-  'right-sail
-  'sea-unit
-  'transporter
-  'selectable-by-rectangle
-  'sounds '(
-    selected "alliance-transport-selected"
-    acknowledge "alliance-transport-acknowledge"
-    ready "alliance-transport-ready"
-    help "basic alliance voices help 1"
-    dead "ship sinking"
-    attack "alliance-transport-attack"))
-
-(define-unit-type 'unit-alliance-destroyer 'name "Elven Destroyer"
-  'files '(tileset-summer "alliance/units/alliance_destroyer.png")
-  'size '(80 88)
-  'animations 'animations-alliance-destroyer 'icon 'icon-alliance-destroyer
-  'costs '(time 90 gold 700 wood 350 oil 700)
-  'speed 10
-  'hit-points 100
-  'draw-level 40
-  'tile-size '(1 1) 'box-size '(63 63)
-  'sight-range 8 'computer-reaction-range 10 'person-reaction-range 8
-  'armor 10 'basic-damage 35 'piercing-damage 0 'missile 'missile-small-cannon
-  'max-attack-range 4
-  'priority 65 'annoy-computer-factor 20
-  'points 150
-  'demand 1
-  'corpse '(unit-dead-body 12)
-  'type-naval
-  'right-attack
-  'can-attack
-  'can-target-land 'can-target-sea 'can-target-air
-  'sea-unit
-  'selectable-by-rectangle
-  'sounds '(
-    selected "alliance-destroyer-selected"
-    acknowledge "alliance-destroyer-acknowledge"
-    ready "alliance-destroyer-ready"
-    help "basic alliance voices help 1"
-    dead "ship sinking"
-    attack "alliance-destroyer-attack"))
-
-(define-unit-type 'unit-battleship 'name "Battleship"
-  'files '(tileset-summer "alliance/units/battleship.png")
-  'size '(88 88)
-  'animations 'animations-battleship 'icon 'icon-battleship
-  'costs '(time 140 gold 1000 wood 500 oil 1000)
-  'speed 6
-  'hit-points 150
-  'draw-level 40
-  'tile-size '(1 1) 'box-size '(70 70)
-  'sight-range 8 'computer-reaction-range 10 'person-reaction-range 8
-  'armor 15 'basic-damage 130 'piercing-damage 0 'missile 'missile-big-cannon
-  'max-attack-range 6
-  'priority 63 'annoy-computer-factor 25
-  'points 300
-  'demand 1
-  'corpse '(unit-dead-body 12)
-  'type-naval
-  'right-attack
-  'can-ground-attack
-  'can-attack
-  'can-target-land 'can-target-sea
-  'sea-unit
-  'selectable-by-rectangle
-  'sounds '(
-    selected "battleship-selected"
-    acknowledge "battleship-acknowledge"
-    ready "battleship-ready"
-    help "basic alliance voices help 1"
-    dead "ship sinking"
-    attack "battleship-attack"))
-
-(define-unit-type 'unit-alliance-submarine 'name "Gnomish Submarine"
-  'files '(tileset-summer "alliance/units/submarine.png")
-  'size '(72 72)
-  'animations 'animations-submarine 'icon 'icon-alliance-submarine
-  'costs '(time 100 gold 800 wood 150 oil 900)
-  'speed 7
-  'hit-points 60
-  'draw-level 35
-  'tile-size '(1 1) 'box-size '(63 63)
-  'sight-range 5 'computer-reaction-range 7 'person-reaction-range 5
-  'basic-damage 50 'piercing-damage 0 'missile 'missile-submarine-missile
-  'max-attack-range 4
-  'priority 60 'annoy-computer-factor 20
-  'points 120
-  'demand 1
-  'corpse '(unit-dead-body 12)
-  'type-naval
-  'right-attack
-  'can-attack
-  'can-target-sea
-  'sea-unit
-  'permanent-cloak
-  'detect-cloak
-  'selectable-by-rectangle
-  'sounds '(
-    selected "alliance-submarine-selected"
-    acknowledge "alliance-submarine-acknowledge"
-    ready "alliance-submarine-ready"
-    help "basic alliance voices help 1"
-    dead "ship sinking"
-    attack "alliance-submarine-attack"))
-
-(define-unit-type 'unit-balloon 'name "Gnomish Flying Machine"
-  'files '(tileset-summer "alliance/units/balloon.png")
-  'size '(80 80)
-  'animations 'animations-balloon 'icon 'icon-balloon
-  'costs '(time 65 gold 500 wood 100)
-  'speed 17
-  'hit-points 150
-  'draw-level 60
-  'tile-size '(1 1) 'box-size '(63 63)
-  'sight-range 9 'computer-reaction-range 19 'person-reaction-range 15
-  'armor 2 'basic-damage 0 'piercing-damage 0 'missile 'missile-none
-  'max-attack-range 1
-  'priority 40
-  'points 40
-  'demand 1
-  'type-fly
-  'right-move
-  'air-unit 'coward
-  'detect-cloak
-  'selectable-by-rectangle
-  'sounds '(
-    selected "balloon-selected"
-    acknowledge "balloon-acknowledge"
-    ready "balloon-ready"
-    help "basic alliance voices help 1"
-    dead "explosion"
-    attack "balloon-attack"))
-
-(define-unit-type 'unit-gryphon-rider 'name "Gryphon Rider"
-  'files '(tileset-summer "alliance/units/gryphon_rider.png")
-  'size '(80 80)
-  'draw-level 45
-  'animations 'animations-flying-angle 'icon 'icon-gryphon-rider
-  'costs '(time 250 gold 2500)
-  'speed 14
-  'hit-points 100
-  'draw-level 60
-  'tile-size '(1 1) 'box-size '(63 63)
-  'sight-range 6 'computer-reaction-range 8 'person-reaction-range 6
-  'armor 5 'basic-damage 0 'piercing-damage 16 'missile 'missile-griffon-hammer
-  'max-attack-range 4
-  'priority 65
-  'points 150
-  'demand 1
-  'type-fly
-  'right-attack
-  'can-attack
-  'can-target-land 'can-target-sea 'can-target-air
-  'air-unit
-  'detect-cloak
-  'organic
-  'selectable-by-rectangle
-  'sounds '(
-    selected "gryphon-rider-selected"
-    acknowledge "gryphon-rider-acknowledge"
-    ready "gryphon-rider-ready"
-    help "basic alliance voices help 1"
-    dead "basic alliance voices dead"
-    attack "gryphon-rider-attack"))
-
-(define-unit-type 'unit-farm 'name "Farm"
-  'files '(tileset-summer "tilesets/summer/alliance/buildings/farm.png"
-    tileset-winter "tilesets/winter/alliance/buildings/farm.png")
-  'size '(64 64)
-  'animations 'animations-building 'icon 'icon-farm
-  'costs '(time 100 gold 500 wood 250)
-  'repair-hp 4
-  'repair-costs '(gold 1 wood 1)
-  'construction 'construction-land
-  'speed 0
-  'hit-points 400
-  'draw-level 20
-  'tile-size '(2 2) 'box-size '(63 63)
-  'sight-range 1
-  'armor 20 'basic-damage 0 'piercing-damage 0 'missile 'missile-none
-  'priority 20 'annoy-computer-factor 45
-  'points 100
-  'supply 4
-  'corpse '(unit-destroyed-2x2-place 0)
-  'explode-when-killed 'missile-explosion
-  'type-land
-  'building 
-  'sounds '(
-    selected "farm-selected"
-    acknowledge "farm-acknowledge"
-    ready "farm-ready"
-    help "basic alliance voices help 2"
-    dead "building destroyed"
-    attack "farm-attack"))
-
-(define-unit-type 'unit-alliance-barracks 'name "Barracks"
-  'files '(tileset-summer "tilesets/summer/alliance/buildings/barracks.png"
-    tileset-winter "tilesets/winter/alliance/buildings/barracks.png")
-  'size '(96 96)
-  'animations 'animations-building 'icon 'icon-alliance-barracks
-  'costs '(time 200 gold 700 wood 450)
-  'repair-hp 4
-  'repair-costs '(gold 1 wood 1)
-  'construction 'construction-land
-  'speed 0
-  'hit-points 800
-  'draw-level 20
-  'tile-size '(3 3) 'box-size '(95 95)
-  'sight-range 1
-  'armor 20 'basic-damage 0 'piercing-damage 0 'missile 'missile-none
-  'priority 30 'annoy-computer-factor 35
-  'points 160
-  'corpse '(unit-destroyed-3x3-place 0)
-  'explode-when-killed 'missile-explosion
-  'type-land
-  'building 
-  'sounds '(
-    selected "alliance-barracks-selected"
-    acknowledge "alliance-barracks-acknowledge"
-    ready "alliance-barracks-ready"
-    help "basic alliance voices help 2"
-    dead "building destroyed"
-    attack "alliance-barracks-attack"))
-
-(define-unit-type 'unit-church 'name "Church"
-  'files '(tileset-summer "tilesets/summer/alliance/buildings/church.png"
-    tileset-winter "tilesets/winter/alliance/buildings/church.png")
-  'size '(96 96)
-  'animations 'animations-building 'icon 'icon-church
-  'costs '(time 175 gold 900 wood 500)
-  'repair-hp 4
-  'repair-costs '(gold 1 wood 1)
-  'construction 'construction-land
-  'speed 0
-  'hit-points 700
-  'draw-level 20
-  'tile-size '(3 3) 'box-size '(95 95)
-  'sight-range 1
-  'armor 20 'basic-damage 0 'piercing-damage 0 'missile 'missile-none
-  'priority 15 'annoy-computer-factor 35
-  'points 240
-  'corpse '(unit-destroyed-3x3-place 0)
-  'explode-when-killed 'missile-explosion
-  'type-land
-  'building 
-  'sounds '(
-    selected "church-selected"
-    acknowledge "church-acknowledge"
-    ready "church-ready"
-    help "basic alliance voices help 2"
-    dead "building destroyed"
-    attack "church-attack"))
-
-(define-unit-type 'unit-alliance-watch-tower 'name "Scout Tower"
-  'files '(tileset-summer "tilesets/summer/alliance/buildings/scout_tower.png"
-    tileset-winter
-  "tilesets/winter/alliance/buildings/scout_tower.png")
-  'size '(64 64)
-  'animations 'animations-building 'icon 'icon-alliance-watch-tower
-  'costs '(time 60 gold 550 wood 200)
-  'repair-hp 4
-  'repair-costs '(gold 1 wood 1)
-  'construction 'construction-land
-  'speed 0
-  'hit-points 100
-  'draw-level 20
-  'tile-size '(2 2) 'box-size '(63 63)
-  'sight-range 9
-  'armor 20 'basic-damage 0 'piercing-damage 0 'missile 'missile-none
-  'priority 55 'annoy-computer-factor 50
-  'points 95
-  'corpse '(unit-destroyed-2x2-place 0)
-  'explode-when-killed 'missile-explosion
-  'type-land
-  'can-target-land 'can-target-sea 'can-target-air
-  'building 
-  'detect-cloak
-  'sounds '(
-    selected "alliance-watch-tower-selected"
-    acknowledge "alliance-watch-tower-acknowledge"
-    ready "alliance-watch-tower-ready"
-    help "basic alliance voices help 2"
-    dead "building destroyed"
-    attack "alliance-watch-tower-attack"))
-
-(define-unit-type 'unit-stables 'name "Stables"
-  'files '(tileset-summer "tilesets/summer/alliance/buildings/stables.png"
-    tileset-winter "tilesets/winter/alliance/buildings/stables.png")
-  'size '(96 96)
-  'animations 'animations-building 'icon 'icon-stables
-  'costs '(time 150 gold 1000 wood 300)
-  'repair-hp 4
-  'repair-costs '(gold 1 wood 1)
-  'construction 'construction-land
-  'speed 0
-  'hit-points 500
-  'draw-level 20
-  'tile-size '(3 3) 'box-size '(95 95)
-  'sight-range 1
-  'armor 20 'basic-damage 0 'piercing-damage 0 'missile 'missile-none
-  'priority 15 'annoy-computer-factor 15
-  'points 210
-  'corpse '(unit-destroyed-3x3-place 0)
-  'explode-when-killed 'missile-explosion
-  'type-land
-  'building 
-  'sounds '(
-    selected "stables-selected"
-    acknowledge "stables-acknowledge"
-    ready "stables-ready"
-    help "basic alliance voices help 2"
-    dead "building destroyed"
-    attack "stables-attack"))
-
-(define-unit-type 'unit-inventor 'name "Gnomish Inventor"
-  'files '(tileset-summer "tilesets/summer/alliance/buildings/inventor.png"
-    tileset-winter "tilesets/winter/alliance/buildings/inventor.png")
-  'size '(96 96)
-  'animations 'animations-building 'icon 'icon-inventor
-  'costs '(time 150 gold 1000 wood 400)
-  'repair-hp 4
-  'repair-costs '(gold 1 wood 1)
-  'construction 'construction-land
-  'speed 0
-  'hit-points 500
-  'draw-level 20
-  'tile-size '(3 3) 'box-size '(95 95)
-  'sight-range 1
-  'armor 20 'basic-damage 0 'piercing-damage 0 'missile 'missile-none
-  'priority 15 'annoy-computer-factor 20
-  'points 230
-  'corpse '(unit-destroyed-3x3-place 0)
-  'explode-when-killed 'missile-explosion
-  'type-land
-  'building 
-  'sounds '(
-    selected "inventor-selected"
-    acknowledge "inventor-acknowledge"
-    ready "inventor-ready"
-    help "basic alliance voices help 2"
-    dead "building destroyed"
-    attack "inventor-attack"))
-
-(define-unit-type 'unit-gryphon-aviary 'name "Gryphon Aviary"
-  'files '(tileset-summer 
"tilesets/summer/alliance/buildings/gryphon_aviary.png"
-    tileset-winter "tilesets/winter/alliance/buildings/gryphon_aviary.png")
-  'size '(96 96)
-  'animations 'animations-building 'icon 'icon-gryphon-aviary
-  'costs '(time 150 gold 1000 wood 400)
-  'repair-hp 4
-  'repair-costs '(gold 1 wood 1)
-  'construction 'construction-land
-  'speed 0
-  'hit-points 500
-  'draw-level 20
-  'tile-size '(3 3) 'box-size '(95 95)
-  'sight-range 1
-  'armor 20 'basic-damage 0 'piercing-damage 0 'missile 'missile-none
-  'priority 15 'annoy-computer-factor 20
-  'points 280
-  'corpse '(unit-destroyed-3x3-place 0)
-  'explode-when-killed 'missile-explosion
-  'type-land
-  'building 
-  'sounds '(
-    selected "gryphon-aviary-selected"
-    acknowledge "gryphon-aviary-acknowledge"
-    ready "gryphon-aviary-ready"
-    help "basic alliance voices help 2"
-    dead "building destroyed"
-    attack "gryphon-aviary-attack"))
-
-(define-unit-type 'unit-alliance-shipyard 'name "Shipyard"
-  'files '(tileset-summer "tilesets/summer/alliance/buildings/shipyard.png"
-    tileset-winter "tilesets/winter/alliance/buildings/shipyard.png")
-  'size '(96 96)
-  'animations 'animations-building 'icon 'icon-alliance-shipyard
-  'costs '(time 200 gold 800 wood 450)
-  'repair-hp 4
-  'repair-costs '(gold 1 wood 1)
-  'construction 'construction-alliance-shipyard
-  'speed 0
-  'hit-points 1100
-  'draw-level 20
-  'tile-size '(3 3) 'box-size '(95 95)
-  'sight-range 1
-  'armor 20 'basic-damage 0 'piercing-damage 0 'missile 'missile-none
-  'priority 30 'annoy-computer-factor 20
-  'points 170
-  'corpse '(unit-destroyed-3x3-place 3)
-  'explode-when-killed 'missile-explosion
-  'type-land
-  'building 
-  'shore-building
-  'can-store '(oil)
-  'sounds '(
-    selected "alliance-shipyard-selected"
-    acknowledge "alliance-shipyard-acknowledge"
-    ready "alliance-shipyard-ready"
-    help "basic alliance voices help 2"
-    dead "building destroyed"
-    attack "alliance-shipyard-attack"))
-
-(define-unit-type 'unit-elven-lumber-mill 'name "Elven Lumber Mill"
-  'files '(tileset-summer 
"tilesets/summer/alliance/buildings/alliance_lumber_mill.png"
-    tileset-winter 
"tilesets/winter/alliance/buildings/alliance_lumber_mill.png")
-  'size '(96 96)
-  'animations 'animations-building 'icon 'icon-elven-lumber-mill
-  'costs '(time 150 gold 600 wood 450)
-  'repair-hp 4
-  'repair-costs '(gold 1 wood 1)
-  'improve-production '(wood 25)
-  'construction 'construction-land
-  'speed 0
-  'hit-points 600
-  'draw-level 20
-  'tile-size '(3 3) 'box-size '(95 95)
-  'sight-range 1
-  'armor 20 'basic-damage 0 'piercing-damage 0 'missile 'missile-none
-  'priority 25 'annoy-computer-factor 15
-  'points 150
-  'corpse '(unit-destroyed-3x3-place 0)
-  'explode-when-killed 'missile-explosion
-  'type-land
-  'building 
-  'can-store '(wood)
-  'sounds '(
-    selected "elven-lumber-mill-selected"
-    acknowledge "elven-lumber-mill-acknowledge"
-    ready "elven-lumber-mill-ready"
-    help "basic alliance voices help 2"
-    dead "building destroyed"
-    attack "elven-lumber-mill-attack"))
-
-(define-unit-type 'unit-alliance-foundry 'name "Foundry"
-  'files '(tileset-summer "tilesets/summer/alliance/buildings/foundry.png"
-    tileset-winter "tilesets/winter/alliance/buildings/foundry.png")
-  'size '(96 96)
-  'animations 'animations-building 'icon 'icon-alliance-foundry
-  'costs '(time 175 gold 700 wood 400 oil 400)
-  'repair-hp 4
-  'repair-costs '(gold 1 wood 1 oil 1)
-  'construction 'construction-alliance-foundry
-  'speed 0
-  'hit-points 750
-  'draw-level 20
-  'tile-size '(3 3) 'box-size '(95 95)
-  'sight-range 1
-  'armor 20 'basic-damage 0 'piercing-damage 0 'missile 'missile-none
-  'priority 15 'annoy-computer-factor 20
-  'points 200
-  'corpse '(unit-destroyed-3x3-place 3)
-  'explode-when-killed 'missile-explosion
-  'type-land
-  'building 
-  'shore-building
-  'sounds '(
-    selected "alliance-foundry-selected"
-    acknowledge "alliance-foundry-acknowledge"
-    ready "alliance-foundry-ready"
-    help "basic alliance voices help 2"
-    dead "building destroyed"
-    attack "alliance-foundry-attack"))
-
 (define-unit-type 'unit-town-hall 'name "Town Hall"
-  'files '(tileset-summer "tilesets/summer/alliance/buildings/town_hall.png"
-    tileset-winter "tilesets/winter/alliance/buildings/town_hall.png")
+  'files '(tileset-summer "tilesets/summer/alliance/buildings/town_hall.png")
   'size '(128 128)
   'animations 'animations-building 'icon 'icon-town-hall
-  'costs '(time 255 gold 1200 wood 800)
+  'costs '(time 255 gold 500 wood 800)
   'repair-hp 4
   'repair-costs '(gold 1 wood 1)
   'construction 'construction-land
@@ -877,7 +98,7 @@
   'armor 20 'basic-damage 0 'piercing-damage 0 'missile 'missile-none
   'priority 35 'annoy-computer-factor 45
   'points 200
-  'supply 1
+  'supply 8
   'corpse '(unit-destroyed-4x4-place 0)
   'explode-when-killed 'missile-explosion
   'type-land
@@ -891,189 +112,6 @@
     dead "building destroyed"
     attack "town-hall-attack"))
 
-(define-unit-type 'unit-mage-tower 'name "Mage Tower"
-  'files '(tileset-summer "tilesets/summer/alliance/buildings/mage_tower.png"
-    tileset-winter "tilesets/winter/alliance/buildings/mage_tower.png")
-  'size '(96 96)
-  'animations 'animations-building 'icon 'icon-mage-tower
-  'costs '(time 125 gold 1000 wood 200)
-  'repair-hp 4
-  'repair-costs '(gold 1 wood 1)
-  'construction 'construction-land
-  'speed 0
-  'hit-points 500
-  'draw-level 20
-  'tile-size '(3 3) 'box-size '(95 95)
-  'sight-range 1
-  'armor 20 'basic-damage 0 'piercing-damage 0 'missile 'missile-none
-  'priority 35 'annoy-computer-factor 20
-  'points 240
-  'corpse '(unit-destroyed-3x3-place 0)
-  'explode-when-killed 'missile-explosion
-  'type-land
-  'building 
-  'sounds '(
-    selected "mage-tower-selected"
-    acknowledge "mage-tower-acknowledge"
-    ready "mage-tower-ready"
-    help "basic alliance voices help 2"
-    dead "building destroyed"
-    attack "mage-tower-attack"))
-
-(define-unit-type 'unit-alliance-blacksmith 'name "Blacksmith"
-  'files '(tileset-summer "tilesets/summer/alliance/buildings/blacksmith.png"
-    tileset-winter "tilesets/winter/alliance/buildings/blacksmith.png")
-  'size '(96 96)
-  'animations 'animations-building 'icon 'icon-alliance-blacksmith
-  'costs '(time 200 gold 800 wood 450 oil 100)
-  'repair-hp 4
-  'repair-costs '(gold 1 wood 1 oil 1)
-  'construction 'construction-land
-  'speed 0
-  'hit-points 775
-  'draw-level 20
-  'tile-size '(3 3) 'box-size '(95 95)
-  'sight-range 1
-  'armor 20 'basic-damage 0 'piercing-damage 0 'missile 'missile-none
-  'priority 15 'annoy-computer-factor 20
-  'points 170
-  'corpse '(unit-destroyed-3x3-place 0)
-  'explode-when-killed 'missile-explosion
-  'type-land
-  'building 
-  'sounds '(
-    selected "alliance-blacksmith-selected"
-    acknowledge "alliance-blacksmith-acknowledge"
-    ready "alliance-blacksmith-ready"
-    help "basic alliance voices help 2"
-    dead "building destroyed"
-    attack "alliance-blacksmith-attack"))
-
-(define-unit-type 'unit-alliance-refinery 'name "Refinery"
-  'files '(tileset-summer "tilesets/summer/alliance/buildings/refinery.png"
-    tileset-winter "tilesets/winter/alliance/buildings/refinery.png")
-  'size '(96 96)
-  'animations 'animations-building 'icon 'icon-alliance-refinery
-  'costs '(time 225 gold 800 wood 350 oil 200)
-  'repair-hp 4
-  'repair-costs '(gold 1 wood 1 oil 1)
-  'improve-production '(oil 25)
-  'construction 'construction-alliance-refinery
-  'speed 0
-  'hit-points 600
-  'draw-level 20
-  'tile-size '(3 3) 'box-size '(95 95)
-  'sight-range 1
-  'armor 20 'basic-damage 0 'piercing-damage 0 'missile 'missile-none
-  'priority 25 'annoy-computer-factor 20
-  'points 200
-  'corpse '(unit-destroyed-3x3-place 3)
-  'explode-when-killed 'missile-explosion
-  'type-land
-  'building 
-  'shore-building
-  'can-store '(oil)
-  'sounds '(
-    selected "alliance-refinery-selected"
-    acknowledge "alliance-refinery-acknowledge"
-    ready "alliance-refinery-ready"
-    help "basic alliance voices help 2"
-    dead "building destroyed"
-    attack "alliance-refinery-attack"))
-
-(define-unit-type 'unit-alliance-oil-platform 'name "Oil Platform"
-  'files '(tileset-summer "tilesets/summer/alliance/buildings/oil_platform.png"
-    tileset-winter "tilesets/winter/alliance/buildings/oil_platform.png")
-  'size '(96 96)
-  'animations 'animations-building 'icon 'icon-alliance-oil-platform
-  'costs '(time 200 gold 700 wood 450)
-  'construction 'construction-alliance-oil-well
-  'speed 0
-  'hit-points 650
-  'draw-level 20
-  'tile-size '(3 3) 'box-size '(95 95)
-  'sight-range 1
-  'armor 20 'basic-damage 0 'piercing-damage 0 'missile 'missile-none
-  'priority 20 'annoy-computer-factor 20
-  'points 160
-  'corpse '(unit-destroyed-3x3-place 3)
-  'explode-when-killed 'missile-explosion
-  'type-naval
-  'building 
-  'must-build-on-top 'unit-oil-patch
-  'gives-resource 'oil 'can-harvest
-  'sounds '(
-    selected "alliance-oil-platform-selected"
-    acknowledge "alliance-oil-platform-acknowledge"
-    ready "alliance-oil-platform-ready"
-    help "basic alliance voices help 2"
-    dead "building destroyed"
-    attack "alliance-oil-platform-attack"))
-
-(define-unit-type 'unit-keep 'name "Keep"
-  'files '(tileset-summer "tilesets/summer/alliance/buildings/keep.png"
-    tileset-winter "tilesets/winter/alliance/buildings/keep.png")
-  'size '(128 128)
-  'animations 'animations-building 'icon 'icon-keep
-  'costs '(time 200 gold 2000 wood 1000 oil 200)
-  'repair-hp 4
-  'repair-costs '(gold 1 wood 1 oil 1)
-  'improve-production '(gold 10)
-  'construction 'construction-land
-  'speed 0
-  'hit-points 1400
-  'draw-level 20
-  'tile-size '(4 4) 'box-size '(127 127)
-  'sight-range 3
-  'armor 20 'basic-damage 0 'piercing-damage 0 'missile 'missile-none
-  'priority 37 'annoy-computer-factor 40
-  'points 600
-  'supply 1
-  'corpse '(unit-destroyed-4x4-place 0)
-  'explode-when-killed 'missile-explosion
-  'type-land
-  'building 
-  'can-store '(gold wood)
-  'sounds '(
-    selected "keep-selected"
-    acknowledge "keep-acknowledge"
-    ready "keep-ready"
-    help "basic alliance voices help 2"
-    dead "building destroyed"
-    attack "keep-attack"))
-
-(define-unit-type 'unit-castle 'name "Castle"
-  'files '(tileset-summer "tilesets/summer/alliance/buildings/castle.png"
-    tileset-winter "tilesets/winter/alliance/buildings/castle.png")
-  'size '(128 128)
-  'animations 'animations-building 'icon 'icon-castle
-  'costs '(time 200 gold 2500 wood 1200 oil 500)
-  'repair-hp 4
-  'repair-costs '(gold 1 wood 1 oil 1)
-  'improve-production '(gold 20)
-  'construction 'construction-land
-  'speed 0
-  'hit-points 1600
-  'draw-level 20
-  'tile-size '(4 4) 'box-size '(127 127)
-  'sight-range 6
-  'armor 20 'basic-damage 0 'piercing-damage 0 'missile 'missile-none
-  'priority 40 'annoy-computer-factor 50
-  'points 1500
-  'supply 1
-  'corpse '(unit-destroyed-4x4-place 0)
-  'explode-when-killed 'missile-explosion
-  'type-land
-  'building 
-  'can-store '(gold wood)
-  'sounds '(
-    selected "castle-selected"
-    acknowledge "castle-acknowledge"
-    ready "castle-ready"
-    help "basic alliance voices help 2"
-    dead "building destroyed"
-    attack "castle-attack"))
-
 (define-unit-type 'unit-alliance-start-location 'name "Start Location"
   'files '(tileset-summer "alliance/x_startpoint.png")
   'size '(32 32)
@@ -1095,75 +133,8 @@
     dead "building destroyed"
     attack "alliance-start-location-attack"))
 
-(define-unit-type 'unit-alliance-guard-tower 'name "Guard Tower"
-  'files '(tileset-summer "tilesets/summer/alliance/buildings/guard_tower.png"
-    tileset-winter "tilesets/winter/alliance/buildings/guard_tower.png")
-  'size '(64 64)
-  'animations 'animations-alliance-guard-tower 'icon 'icon-alliance-guard-tower
-  'costs '(time 140 gold 500 wood 150)
-  'repair-hp 4
-  'repair-costs '(gold 1 wood 1)
-  'construction 'construction-land
-  'speed 0
-  'hit-points 130
-  'draw-level 40
-  'tile-size '(2 2) 'box-size '(63 63)
-  'sight-range 9 'computer-reaction-range 6 'person-reaction-range 6
-  'armor 20 'basic-damage 4 'piercing-damage 12 'missile 'missile-arrow
-  'max-attack-range 6
-  'priority 40 'annoy-computer-factor 50
-  'points 200
-  'corpse '(unit-destroyed-2x2-place 0)
-  'explode-when-killed 'missile-explosion
-  'type-land
-  'can-attack
-  'can-target-land 'can-target-sea 'can-target-air
-  'building 
-  'detect-cloak
-  'sounds '(
-    selected "alliance-guard-tower-selected"
-    acknowledge "alliance-guard-tower-acknowledge"
-    ready "alliance-guard-tower-ready"
-    help "basic alliance voices help 2"
-    dead "building destroyed"
-    attack "alliance-guard-tower-attack"))
-
-(define-unit-type 'unit-alliance-cannon-tower 'name "Cannon Tower"
-  'files '(tileset-summer "tilesets/summer/alliance/buildings/cannon_tower.png"
-    tileset-winter "tilesets/winter/alliance/buildings/cannon_tower.png")
-  'size '(64 64)
-  'animations 'animations-alliance-cannon-tower 'icon 
'icon-alliance-cannon-tower
-  'costs '(time 190 gold 1000 wood 300)
-  'repair-hp 4
-  'repair-costs '(gold 1 wood 1)
-  'construction 'construction-land
-  'speed 0
-  'hit-points 160
-  'draw-level 40
-  'tile-size '(2 2) 'box-size '(63 63)
-  'sight-range 9 'computer-reaction-range 7 'person-reaction-range 7
-  'armor 20 'basic-damage 50 'piercing-damage 0 'missile 'missile-small-cannon
-  'min-attack-range 2 'max-attack-range 7
-  'priority 40 'annoy-computer-factor 50
-  'points 250
-  'corpse '(unit-destroyed-2x2-place 0)
-  'explode-when-killed 'missile-explosion
-  'type-land
-  'can-attack
-  'can-target-land 'can-target-sea
-  'building 
-  'detect-cloak
-  'sounds '(
-    selected "alliance-cannon-tower-selected"
-    acknowledge "alliance-cannon-tower-acknowledge"
-    ready "alliance-cannon-tower-ready"
-    help "basic alliance voices help 2"
-    dead "building destroyed"
-    attack "alliance-cannon-tower-attack"))
-
 (define-unit-type 'unit-human-wall 'name "Wall"
-  'files '(tileset-summer "tilesets/summer/neutral/buildings/wall.png"
-    tileset-winter "tilesets/winter/neutral/buildings/wall.png")
+  'files '(tileset-summer "tilesets/summer/neutral/buildings/wall.png")
   'size '(32 32)
   'animations 'animations-building 'icon 'icon-alliance-wall
   'costs '(time 30 gold 20 wood 10)
Index: demogame/ccl/alliance/upgrade.ccl
diff -u demogame/ccl/alliance/upgrade.ccl:1.8 
demogame/ccl/alliance/upgrade.ccl:1.9
--- demogame/ccl/alliance/upgrade.ccl:1.8       Sat Oct 11 05:00:15 2003
+++ demogame/ccl/alliance/upgrade.ccl   Mon Oct 13 11:15:36 2003
@@ -26,337 +26,16 @@
 ;;      along with this program; if not, write to the Free Software
 ;;      Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  
USA
 ;;
-;;     $Id: upgrade.ccl,v 1.8 2003/10/11 09:00:15 martinxyz Exp $
+;;     $Id: upgrade.ccl,v 1.9 2003/10/13 15:15:36 martinxyz Exp $
 
 ;;     NOTE: Save can generate this table.
 
-(define-upgrade 'upgrade-sword1 'icon 'icon-sword2
-  'costs #(   200   800     0     0     0     0     0))
-(define-upgrade 'upgrade-sword2 'icon 'icon-sword3
-  'costs #(   250  2400     0     0     0     0     0))
-(define-upgrade 'upgrade-arrow1 'icon 'icon-arrow2
-  'costs #(   200   300   300     0     0     0     0))
-(define-upgrade 'upgrade-arrow2 'icon 'icon-arrow3
-  'costs #(   250   900   500     0     0     0     0))
-
-(define-upgrade 'upgrade-alliance-shield1 'icon 'icon-alliance-shield2
-  'costs #(   200   300   300     0     0     0     0))
-(define-upgrade 'upgrade-alliance-shield2 'icon 'icon-alliance-shield3
-  'costs #(   250   900   500     0     0     0     0))
-
-(define-upgrade 'upgrade-alliance-ship-cannon1 'icon 
'icon-alliance-ship-cannon2
-  'costs #(   200   700   100  1000     0     0     0))
-(define-upgrade 'upgrade-alliance-ship-cannon2 'icon 
'icon-alliance-ship-cannon3
-  'costs #(   250  2000   250  3000     0     0     0))
-(define-upgrade 'upgrade-alliance-ship-armor1 'icon 'icon-alliance-ship-armor2
-  'costs #(   200   500   500     0     0     0     0))
-(define-upgrade 'upgrade-alliance-ship-armor2 'icon 'icon-alliance-ship-armor3
-  'costs #(   250  1500   900     0     0     0     0))
-
-(define-upgrade 'upgrade-ranger 'icon 'icon-ranger
-  'costs #(   250  1500     0     0     0     0     0))
-(define-upgrade 'upgrade-longbow 'icon 'icon-longbow
-  'costs #(   250  2000     0     0     0     0     0))
-(define-upgrade 'upgrade-ranger-scouting 'icon 'icon-ranger-scouting
-  'costs #(   250  1500     0     0     0     0     0))
-(define-upgrade 'upgrade-ranger-marksmanship 'icon 'icon-ranger-marksmanship
-  'costs #(   250  2500     0     0     0     0     0))
-
-(define-upgrade 'upgrade-paladin 'icon 'icon-paladin
-  'costs #(   250  1000     0     0     0     0     0))
-(define-upgrade 'upgrade-holy-vision 'icon 'icon-holy-vision
-  'costs #(     0     0     0     0     0     0     0))
-(define-upgrade 'upgrade-healing 'icon 'icon-heal
-  'costs #(   200  1000     0     0     0     0     0))
-(define-upgrade 'upgrade-area-healing 'icon 'icon-heal
-  'costs #(   400  2000     0     0     0     0     0))
-(define-upgrade 'upgrade-exorcism 'icon 'icon-exorcism
-  'costs #(   200  2000     0     0     0     0     0))
-
-(define-upgrade 'upgrade-flame-shield 'icon 'icon-flame-shield
-  'costs #(   100  1000     0     0     0     0     0))
-(define-upgrade 'upgrade-fireball 'icon 'icon-fireball
-  'costs #(     0     0     0     0     0     0     0))
-(define-upgrade 'upgrade-slow 'icon 'icon-slow
-  'costs #(   100   500     0     0     0     0     0))
-(define-upgrade 'upgrade-invisibility 'icon 'icon-invisibility
-  'costs #(   200  2500     0     0     0     0     0))
-(define-upgrade 'upgrade-polymorph 'icon 'icon-critter
-  'costs #(   200  2000     0     0     0     0     0))
-(define-upgrade 'upgrade-blizzard 'icon 'icon-blizzard
-  'costs #(   200  2000     0     0     0     0     0))
-
-(define-upgrade 'upgrade-ballista1 'icon 'icon-ballista1
-  'costs #(   250  1500     0     0     0     0     0))
-(define-upgrade 'upgrade-ballista2 'icon 'icon-ballista2
-  'costs #(   250  4000     0     0     0     0     0))
+; no upgrades
+; see ../mythical/upgrade.ccl for minimal example'(upgrade-paladin))
 
 ;;     NOTE: Save can generate this table.
 
-(define-modifier 'upgrade-sword1
-  '(piercing-damage 2)
-  '(apply-to unit-footman) '(apply-to unit-knight) '(apply-to unit-paladin)
-  '(apply-to unit-dwarves)  
-   )
-
-(define-modifier 'upgrade-sword2
-  '(piercing-damage 2)
-  '(apply-to unit-footman) '(apply-to unit-knight) '(apply-to unit-paladin)
-  '(apply-to unit-dwarves)  
-   )
-
-(define-modifier 'upgrade-arrow1
-  '(piercing-damage 1)
-  '(apply-to unit-archer) '(apply-to unit-ranger) )
-
-(define-modifier 'upgrade-arrow2
-  '(piercing-damage 1)
-  '(apply-to unit-archer) '(apply-to unit-ranger) )
-
-(define-modifier 'upgrade-alliance-shield1
-  '(armor 2)
-  '(apply-to unit-footman) '(apply-to unit-knight) '(apply-to unit-paladin)
-  '(apply-to unit-dwarves)  
-   )
-
-(define-modifier 'upgrade-alliance-shield2
-  '(armor 2)
-  '(apply-to unit-footman) '(apply-to unit-knight) '(apply-to unit-paladin)
-  '(apply-to unit-dwarves)  
-   )
-
-(define-modifier 'upgrade-alliance-ship-cannon1
-  '(piercing-damage 5)
-  '(apply-to unit-alliance-destroyer) '(apply-to unit-battleship)
-  '(apply-to unit-alliance-submarine))
-
-(define-modifier 'upgrade-alliance-ship-cannon2
-  '(piercing-damage 5)
-  '(apply-to unit-alliance-destroyer) '(apply-to unit-battleship)
-  '(apply-to unit-alliance-submarine))
-
-(define-modifier 'upgrade-alliance-ship-armor1
-  '(armor 5)
-  '(apply-to unit-alliance-destroyer) '(apply-to unit-battleship)
-  '(apply-to unit-alliance-transport))
-
-(define-modifier 'upgrade-alliance-ship-armor2
-  '(armor 5)
-  '(apply-to unit-alliance-destroyer) '(apply-to unit-battleship)
-  '(apply-to unit-alliance-transport))
-
-(define-modifier 'upgrade-ranger
-  '(apply-to unit-archer) '(convert-to unit-ranger))
-
-(define-modifier 'upgrade-longbow
-  '(sight-range 1)
-  '(attack-range 1)
-  '(apply-to unit-archer) '(apply-to unit-ranger))
-
-(define-modifier 'upgrade-ranger-scouting
-  '(sight-range 3)
-  '(apply-to unit-archer) '(apply-to unit-ranger))
-
-(define-modifier 'upgrade-ranger-marksmanship
-  '(piercing-damage 3)
-  '(apply-to unit-archer) '(apply-to unit-ranger))
-
-(define-modifier 'upgrade-paladin
-  '(apply-to unit-knight) '(convert-to unit-paladin))
-
-(define-modifier 'upgrade-holy-vision
-  '(apply-to unit-paladin))
-
-(define-modifier 'upgrade-healing
-  '(apply-to unit-paladin))
-
-(define-modifier 'upgrade-area-healing
-  '(apply-to unit-paladin))
-
-(define-modifier 'upgrade-exorcism
-  '(apply-to unit-paladin))
-
-(define-modifier 'upgrade-flame-shield
-  '(apply-to unit-mage) )
-
-(define-modifier 'upgrade-fireball
-  '(apply-to unit-mage) )
-
-(define-modifier 'upgrade-slow
-  '(apply-to unit-mage) )
-
-(define-modifier 'upgrade-invisibility
-  '(apply-to unit-mage) )
-
-(define-modifier 'upgrade-polymorph
-  '(apply-to unit-mage) )
-
-(define-modifier 'upgrade-blizzard
-  '(apply-to unit-mage) )
-
-(define-modifier 'upgrade-ballista1
-  '(piercing-damage 15)
-  '(apply-to unit-ballista))
-
-(define-modifier 'upgrade-ballista2
-  '(piercing-damage 15)
-  '(apply-to unit-ballista))
-
-;;     NOTE: Save can generate this table.
-
-;;     - units
-
-(define-allow 'unit-footman                    "AAAAAAAAAAAAAAAA")
 (define-allow 'unit-peasant                    "AAAAAAAAAAAAAAAA")
-(define-allow 'unit-ballista                   "AAAAAAAAAAAAAAAA")
-(define-allow 'unit-knight                     "AAAAAAAAAAAAAAAA")
-(define-allow 'unit-archer                     "AAAAAAAAAAAAAAAA")
-(define-allow 'unit-mage                       "AAAAAAAAAAAAAAAA")
-(define-allow 'unit-paladin                    "AAAAAAAAAAAAAAAA")
-(define-allow 'unit-dwarves                    "AAAAAAAAAAAAAAAA")
-(define-allow 'unit-ranger                     "AAAAAAAAAAAAAAAA")
-(define-allow 'unit-alliance-oil-tanker                "AAAAAAAAAAAAAAAA")
-(define-allow 'unit-alliance-transport         "AAAAAAAAAAAAAAAA")
-(define-allow 'unit-alliance-destroyer         "AAAAAAAAAAAAAAAA")
-(define-allow 'unit-battleship                 "AAAAAAAAAAAAAAAA")
-(define-allow 'unit-alliance-submarine         "AAAAAAAAAAAAAAAA")
-(define-allow 'unit-balloon                    "AAAAAAAAAAAAAAAA")
-(define-allow 'unit-gryphon-rider              "AAAAAAAAAAAAAAAA")
-(define-allow 'unit-farm                       "AAAAAAAAAAAAAAAA")
-(define-allow 'unit-alliance-barracks          "AAAAAAAAAAAAAAAA")
-(define-allow 'unit-church                     "AAAAAAAAAAAAAAAA")
-(define-allow 'unit-alliance-watch-tower               "AAAAAAAAAAAAAAAA")
-(define-allow 'unit-stables                    "AAAAAAAAAAAAAAAA")
-(define-allow 'unit-inventor           "AAAAAAAAAAAAAAAA")
-(define-allow 'unit-gryphon-aviary             "AAAAAAAAAAAAAAAA")
-(define-allow 'unit-alliance-shipyard          "AAAAAAAAAAAAAAAA")
 (define-allow 'unit-town-hall                  "AAAAAAAAAAAAAAAA")
-(define-allow 'unit-elven-lumber-mill          "AAAAAAAAAAAAAAAA")
-(define-allow 'unit-alliance-foundry           "AAAAAAAAAAAAAAAA")
-(define-allow 'unit-mage-tower                 "AAAAAAAAAAAAAAAA")
-(define-allow 'unit-alliance-blacksmith                "AAAAAAAAAAAAAAAA")
-(define-allow 'unit-alliance-refinery          "AAAAAAAAAAAAAAAA")
-(define-allow 'unit-alliance-oil-platform              "AAAAAAAAAAAAAAAA")
-(define-allow 'unit-keep                       "AAAAAAAAAAAAAAAA")
-(define-allow 'unit-castle                     "AAAAAAAAAAAAAAAA")
-(define-allow 'unit-alliance-start-location    "AAAAAAAAAAAAAAAA")
-(define-allow 'unit-alliance-guard-tower               "AAAAAAAAAAAAAAAA")
-(define-allow 'unit-alliance-cannon-tower              "AAAAAAAAAAAAAAAA")
 (define-allow 'unit-human-wall                 "AAAAAAAAAAAAAAAA")
 
-;;     - upgrades
-
-(define-allow 'upgrade-sword1                  "AAAAAAAAAAAAAAAA")
-(define-allow 'upgrade-sword2                  "AAAAAAAAAAAAAAAA")
-(define-allow 'upgrade-arrow1                  "AAAAAAAAAAAAAAAA")
-(define-allow 'upgrade-arrow2                  "AAAAAAAAAAAAAAAA")
-(define-allow 'upgrade-alliance-shield1                "AAAAAAAAAAAAAAAA")
-(define-allow 'upgrade-alliance-shield2                "AAAAAAAAAAAAAAAA")
-(define-allow 'upgrade-alliance-ship-cannon1   "AAAAAAAAAAAAAAAA")
-(define-allow 'upgrade-alliance-ship-cannon2   "AAAAAAAAAAAAAAAA")
-(define-allow 'upgrade-alliance-ship-armor1    "AAAAAAAAAAAAAAAA")
-(define-allow 'upgrade-alliance-ship-armor2    "AAAAAAAAAAAAAAAA")
-(define-allow 'upgrade-ranger                  "AAAAAAAAAAAAAAAA")
-(define-allow 'upgrade-longbow                 "AAAAAAAAAAAAAAAA")
-(define-allow 'upgrade-ranger-scouting         "AAAAAAAAAAAAAAAA")
-(define-allow 'upgrade-ranger-marksmanship     "AAAAAAAAAAAAAAAA")
-(define-allow 'upgrade-paladin                 "AAAAAAAAAAAAAAAA")
-(define-allow 'upgrade-holy-vision             "RRRRRRRRRRRRRRRR")
-(define-allow 'upgrade-healing                 "AAAAAAAAAAAAAAAA")
-(define-allow 'upgrade-area-healing            "FFFFFFFFFFFFFFFF")
-; JOHNS: engine didn't support it yet
-;(define-allow 'upgrade-area-healing           "AAAAAAAAAAAAAAAA")
-(define-allow 'upgrade-exorcism                        "AAAAAAAAAAAAAAAA")
-(define-allow 'upgrade-flame-shield            "AAAAAAAAAAAAAAAA")
-(define-allow 'upgrade-fireball                        "RRRRRRRRRRRRRRRR")
-(define-allow 'upgrade-slow                    "AAAAAAAAAAAAAAAA")
-(define-allow 'upgrade-invisibility            "AAAAAAAAAAAAAAAA")
-(define-allow 'upgrade-polymorph               "AAAAAAAAAAAAAAAA")
-(define-allow 'upgrade-blizzard                        "AAAAAAAAAAAAAAAA")
-(define-allow 'upgrade-ballista1                "AAAAAAAAAAAAAAAA")
-(define-allow 'upgrade-ballista2                "AAAAAAAAAAAAAAAA")
-
-;;     NOTE: Save can generate this table.
-
-;;     - alliance land forces
-(define-dependency 'unit-archer
-  '(unit-elven-lumber-mill))
-(define-dependency 'unit-ballista
-  '(unit-alliance-blacksmith unit-elven-lumber-mill))
-(define-dependency 'unit-knight
-  '(unit-stables unit-alliance-blacksmith))
-(define-dependency 'unit-ranger
-  '(upgrade-ranger unit-elven-lumber-mill))
-(define-dependency 'unit-paladin
-  '(upgrade-paladin unit-stables unit-alliance-blacksmith))
-
-;;     - alliance naval forces
-(define-dependency 'unit-alliance-submarine
-  '(unit-inventor))
-(define-dependency 'unit-alliance-transport
-  '(unit-alliance-foundry))
-(define-dependency 'unit-battleship
-  '(unit-alliance-foundry))
-
-;;     - alliance air forces
-(define-dependency 'unit-balloon
-  '(unit-elven-lumber-mill))
-
-;;     - alliance buildings
-(define-dependency 'unit-alliance-guard-tower
-  '(unit-elven-lumber-mill))
-(define-dependency 'unit-alliance-cannon-tower
-  '(unit-alliance-blacksmith))
-(define-dependency 'unit-alliance-shipyard
-  '(unit-elven-lumber-mill))
-(define-dependency 'unit-alliance-foundry
-  '(unit-alliance-shipyard))
-(define-dependency 'unit-alliance-refinery
-  '(unit-alliance-shipyard))
-(define-dependency 'unit-keep
-  '(unit-alliance-barracks))
-(define-dependency 'unit-inventor
-  '(unit-castle)
-  'or '(unit-keep))
-(define-dependency 'unit-stables
-  '(unit-castle)
-  'or '(unit-keep))
-(define-dependency 'unit-castle
-  '(unit-stables unit-alliance-blacksmith unit-elven-lumber-mill))
-(define-dependency 'unit-mage-tower
-  '(unit-castle))
-(define-dependency 'unit-church
-  '(unit-castle))
-(define-dependency 'unit-gryphon-aviary
-  '(unit-castle))
-
-;;     - alliance upgrades/research
-(define-dependency 'upgrade-sword2
-  '(upgrade-sword1))
-(define-dependency 'upgrade-arrow2
-  '(upgrade-arrow1))
-(define-dependency 'upgrade-alliance-shield2
-  '(upgrade-alliance-shield1))
-(define-dependency 'upgrade-alliance-ship-cannon2
-  '(upgrade-alliance-ship-cannon1))
-(define-dependency 'upgrade-alliance-ship-armor2
-  '(upgrade-alliance-ship-armor1))
-(define-dependency 'upgrade-ranger
-  '(unit-keep)
-  'or '(unit-castle))
-(define-dependency 'upgrade-longbow
-  '(unit-castle upgrade-ranger))
-(define-dependency 'upgrade-ranger-scouting
-  '(unit-castle upgrade-ranger))
-(define-dependency 'upgrade-ranger-marksmanship
-  '(unit-castle upgrade-ranger))
-
-;;     - alliance spells
-(define-dependency 'upgrade-holy-vision
-  '(upgrade-paladin))
-(define-dependency 'upgrade-healing
-  '(upgrade-paladin))
-(define-dependency 'upgrade-area-healing
-  '(upgrade-paladin upgrade-healing))
-(define-dependency 'upgrade-exorcism
-  '(upgrade-paladin))
Index: demogame/ccl/anim.ccl
diff -u demogame/ccl/anim.ccl:1.8 demogame/ccl/anim.ccl:1.9
--- demogame/ccl/anim.ccl:1.8   Thu Oct  9 15:32:40 2003
+++ demogame/ccl/anim.ccl       Mon Oct 13 11:15:34 2003
@@ -26,7 +26,7 @@
 ;;      along with this program; if not, write to the Free Software
 ;;      Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  
USA
 ;;
-;;     $Id: anim.ccl,v 1.8 2003/10/09 19:32:40 martinxyz Exp $
+;;     $Id: anim.ccl,v 1.9 2003/10/13 15:15:34 martinxyz Exp $
 
 ;;------
 ;;     Footman, Grunt, Grom Hellscream, Arthor_Literios, Korgath Bladefist
@@ -59,22 +59,6 @@
     #( 0 0   3  50) #( 0 0   3  55) #( 0 0 100  60) #( 3 0   1  60)))
 
 ;;------
-;;     Critter
-(define-animations 'animations-critter
-  'still '(    ; #5
-    #( 0 0   4   0) #( 3 0   1   0))
-  'move '(     ; #48 P32
-    #( 0 2   2   0) #( 0 2   3   0) #( 0 2   3   0) #( 0 2   3   0)
-    #( 0 2   3   0) #( 0 2   3   0) #( 0 2   3   0) #( 0 2   3   0)
-    #( 0 2   3   0) #( 0 2   3   0) #( 0 2   3   0) #( 0 2   3   0)
-    #( 0 2   3   0) #( 0 2   3   0) #( 0 2   3   0) #( 0 2   3   0)
-    #( 3 0   1   0))
-  'attack '(   ; #1
-    #(11 0   1   0))
-  'die '(      ; #201
-    #( 0 0 200   5) #( 3 0   1   5)))
-
-;;------
 ;;     Farm, Pig Farm, Barracks, Barracks, Church, Altar of Storms,
 ;;     Scout Tower, Scout Tower, Stables, Ogre Mound, Gnomish Inventor,
 ;;     Goblin Alchemist, Gryphon Aviary, Dragon Roost, Shipyard, Shipyard,
@@ -110,238 +94,3 @@
     ;; Destroyed water site
     #( 0 0 200   2) #(16 0 200   3) #( 3 0   1   3)))
 
-;;------------------------------------------------------------------
-;; the following animations are not needed for the mythical race
-;;------------------------------------------------------------------
-
-;;------
-;;     Ballista
-(define-animations 'animations-ballista
-  'still '(    ; #5
-    #( 0 0   4   0) #( 3 0   1   0))
-  'move '(     ; #32 P32
-    #( 0 0   1   0) #( 0 2   2   5) #( 0 2   2   0) #( 0 2   2   5)
-    #( 0 2   2   0) #( 0 2   2   5) #( 0 2   2   0) #( 0 2   2   5)
-    #( 0 2   2   0) #( 0 2   2   5) #( 0 2   2   0) #( 0 2   2   5)
-    #( 0 2   2   0) #( 0 2   2   5) #( 0 2   2   0) #( 0 2   2   5)
-    #( 3 2   1   0))
-  'attack '(   ; #200
-    #( 0 0  25  10) #(12 0  25  15) #( 0 0 100  15) #( 0 0  49   0)
-    #( 3 0   1   0)))
-
-;;------
-;;     Knight, Paladin
-(define-animations 'animations-knight
-  'still '(    ; #5
-    #( 0 0   4   0) #( 3 0   1   0))
-  'move '(     ; #12 P32
-    #( 0 3   1   0) #( 0 3   1   5) #( 0 4   2   5) #( 0 3   1  10)
-    #( 0 3   1  10) #( 0 3   1  15) #( 0 4   2  15) #( 0 3   1  20)
-    #( 0 3   1  20) #( 3 3   1   0))
-  'attack '(   ; #25
-    #( 0 0   3  25) #( 0 0   3  30) #( 0 0   3  35) #(12 0   5  40)
-    #( 0 0  10   0) #( 3 0   1   0))
-  'die '(      ; #507
-    #( 0 0   3  45) #( 0 0   3  50) #( 0 0 100  55) #( 0 0 200  60)
-    #( 0 0 200  65) #( 3 0   1  65)))
-
-;;------
-;;     Archer, Ranger
-(define-animations 'animations-archer
-  'still '(    ; #5
-    #( 0 0   4   0) #( 3 0   1   0))
-  'move '(     ; #16 P32
-    #( 0 3   2   0) #( 0 3   1   5) #( 0 3   2   5) #( 0 2   1  10)
-    #( 0 3   1  10) #( 0 2   1   0) #( 0 3   2   0) #( 0 3   1  15)
-    #( 0 3   2  15) #( 0 2   1  20) #( 0 3   1  20) #( 3 2   1   0))
-  'attack '(   ; #65
-    #( 0 0  10  25) #(12 0  10  30) #( 0 0  44   0) #( 3 0   1   0))
-  'die '(      ; #107
-    #( 0 0   3  35) #( 0 0   3  40) #( 0 0 100  45) #( 3 0   1  45)))
-
-;;------
-;;     Mage
-(define-animations 'animations-mage
-  'still '(    ; #5
-    #( 0 0   4   0) #( 3 0   1   0))
-  'move '(     ; #18 P32
-    #( 0 3   2   0) #( 0 3   1   5) #( 0 3   2   5) #( 0 2   1  10)
-    #( 0 3   2  10) #( 0 2   1   0) #( 0 3   2   0) #( 0 3   1  15)
-    #( 0 3   2  15) #( 0 2   1  20) #( 0 3   2  20) #( 3 2   1   0))
-  'attack '(   ; #40
-    #( 0 0   5  25) #( 0 0   5  30) #(12 0   7  35) #( 0 0   5  40)
-    #( 0 0  17   0) #( 3 0   1   0))
-  'die '(      ; #36
-    #( 0 0   5  45) #( 0 0   5  50) #( 0 0   5  55) #( 0 0   5  60)
-    #( 0 0   5  65) #( 0 0   5  70) #( 0 0   5  75) #( 3 0   1  75)))
-
-;;------
-;;     Dwarves
-(define-animations 'animations-dwarves
-  'still '(    ; #5
-    #( 0 0   4   0) #( 3 0   1   0))
-  'move '(     ; #14 P32
-    #( 0 3   2   0) #( 0 3   1  10) #( 0 4   2  10) #( 0 3   1  25)
-    #( 0 3   2  25) #( 0 3   1  40) #( 0 4   2  40) #( 0 3   1  55)
-    #( 0 3   1  55) #( 3 3   1   0))
-  'attack '(   ; #25
-    #( 0 0   3  15) #(12 0   5  30) #( 0 0   3  45) #( 0 0  13   0)
-    #( 3 0   1   0))
-  'die '(      ; #16
-    #( 0 0   3   5) #( 0 0   3  20) #( 0 0   3  35) #( 0 0   3  50)
-    #( 0 0   3  60) #( 3 0   1  60)))
-
-;;------
-;;     Kurdan and Sky'ree, Gryphon Rider
-(define-animations 'animations-flying-angle
-  'still '(    ; #24
-    #( 2 0   6   0) #( 2 0   6   5) #( 2 0   6  10) #( 3 0   6  15))
-  'move '(     ; #12 P32
-    #( 0 0   1   0) #( 0 3   1   0) #( 0 3   1   0) #( 0 3   1   5)
-    #( 0 2   1   5) #( 0 3   1   5) #( 0 3   1  10) #( 0 3   1  10)
-    #( 0 3   1  10) #( 0 3   1  15) #( 0 3   1  15) #( 3 3   1   0))
-  'attack '(   ; #1
-    #( 0 0   6   0) #( 0 0   6   5) #( 0 0   6  10) #( 0 0   6  15)
-    #( 2 0   1  15) #( 0 0   6  20) #( 0 0   6  25) #(12 0   8  30)
-    #( 0 0   6   0) #( 0 0   6   5) #( 0 0   6  10) #( 0 0   6  15)
-    #( 0 0   6   0) #( 0 0   6   5) #( 0 0   6  10) #( 0 0   6  15)
-    #( 0 0   6   0) #( 0 0   6   5) #( 0 0   6  10) #( 0 0   6  15)
-    #( 0 0   6   0) #( 0 0   6   5) #( 0 0   6  10) #( 0 0   6  15)
-    #( 0 0   6   0) #( 0 0   6   5) #( 0 0   6  10) #( 0 0   6  15)
-    #( 0 0   6   0) #( 0 0   6   5) #( 0 0   6  10) #( 0 0   6  15)
-    #( 1 0   1   0) #( 0 0   6   0) #( 0 0   6   5) #( 0 0   6  10)
-    #( 0 0   6  15) #( 2 0   1  15) #(12 0  20  20) #( 0 0   6   0)
-    #( 0 0   6   5) #( 0 0   6  10) #( 0 0   6  15) #( 0 0   6   0)
-    #( 0 0   6   5) #( 0 0   6  10) #( 0 0   6  15) #( 0 0   6   0)
-    #( 0 0   6   5) #( 0 0   6  10) #( 0 0   6  15) #( 0 0   6   0)
-    #( 0 0   6   5) #( 0 0   6  10) #( 0 0   6  15) #( 0 0   6   0)
-    #( 0 0   6   5) #( 0 0   6  10) #( 0 0   6  15) #( 0 0   6   0)
-    #( 0 0   6   5) #( 0 0   6  10) #( 0 0   6  15) #( 1 0   1   0)
-    #( 3 0   1   0))
-  'die '(      ; #31
-    #( 0 0   5  35) #( 0 0   5  40) #( 0 0   5  45) #( 0 0   5  50)
-    #( 0 0   5  55) #( 0 0   5  60) #( 3 0   1  60)))
-
-;;------
-;;     Oil tanker, Oil tanker, Oil tanker, Oil tanker
-(define-animations 'animations-alliance-oil-tanker
-  'still '(    ; #5
-    #( 0 0   4   0) #( 3 0   1   0))
-  'move '(     ; #16 P32
-    #( 0 2   1   0) #( 0 2   1   0) #( 0 2   1   0) #( 0 2   1   0)
-    #( 0 2   1   0) #( 0 2   1   0) #( 0 2   1   0) #( 0 2   1   0)
-    #( 0 2   1   0) #( 0 2   1   0) #( 0 2   1   0) #( 0 2   1   0)
-    #( 0 2   1   0) #( 0 2   1   0) #( 0 2   1   0) #( 3 2   1   0))
-  'attack '(   ; #130
-    #(12 0  30   0) #( 0 0  99   0) #( 3 0   1   0))
-  'die '(      ; #101
-    #( 0 0  50   5) #( 0 0  50  10) #( 3 0   1  10)))
-
-;;------
-;;     Transport, Transport
-(define-animations 'animations-alliance-transport
-  'still '(    ; #5
-    #( 0 0   4   0) #( 3 0   1   0))
-  'move '(     ; #16 P32
-    #( 0 2   1   0) #( 0 2   1   0) #( 0 2   1   0) #( 0 2   1   0)
-    #( 0 2   1   0) #( 0 2   1   0) #( 0 2   1   0) #( 0 2   1   0)
-    #( 0 2   1   0) #( 0 2   1   0) #( 0 2   1   0) #( 0 2   1   0)
-    #( 0 2   1   0) #( 0 2   1   0) #( 0 2   1   0) #( 3 2   1   0))
-  'attack '(   ; #120
-    #(12 0 119   0) #( 3 0   1   0))
-  'die '(      ; #101
-    #( 0 0  50   5) #( 0 0  50  10) #( 3 0   1  10)))
-
-;;------
-;;     Elven Destroyer, Troll Destroyer
-(define-animations 'animations-alliance-destroyer
-  'still '(    ; #5
-    #( 0 0   4   0) #( 3 0   1   0))
-  'move '(     ; #16 P32
-    #( 0 2   1   0) #( 0 2   1   0) #( 0 2   1   0) #( 0 2   1   0)
-    #( 0 2   1   0) #( 0 2   1   0) #( 0 2   1   0) #( 0 2   1   0)
-    #( 0 2   1   0) #( 0 2   1   0) #( 0 2   1   0) #( 0 2   1   0)
-    #( 0 2   1   0) #( 0 2   1   0) #( 0 2   1   0) #( 3 2   1   0))
-  'attack '(   ; #120
-    #(12 0 119   0) #( 3 0   1   0))
-  'die '(      ; #101
-    #( 0 0  50   5) #( 0 0  50  10) #( 3 0   1  10)))
-
-;;------
-;;     Battleship
-(define-animations 'animations-battleship
-  'still '(    ; #5
-    #( 0 0   4   0) #( 3 0   1   0))
-  'move '(     ; #26 P32
-    #( 0 2   2   0) #( 0 2   2   0) #( 0 2   1   0) #( 0 2   2   0)
-    #( 0 2   2   0) #( 0 2   1   0) #( 0 2   2   0) #( 0 2   2   0)
-    #( 0 2   1   0) #( 0 2   2   0) #( 0 2   2   0) #( 0 2   1   0)
-    #( 0 2   2   0) #( 0 2   1   0) #( 0 2   2   0) #( 3 2   1   0))
-  'attack '(   ; #230
-    #(12 0 127   0) #( 0 0 102   0) #( 3 0   1   0))
-  'die '(      ; #101
-    #( 0 0  50   5) #( 0 0  50  10) #( 3 0   1  10)))
-
-;;------
-;;     Gnomish Submarine, Giant Turtle
-(define-animations 'animations-submarine
-  'still '(    ; #5
-    #( 0 0   4   0) #( 3 0   1   0))
-  'move '(     ; #21 P32
-    #( 0 2   2   0) #( 0 2   1   0) #( 0 2   1   0) #( 0 2   2   0)
-    #( 0 2   1   0) #( 0 2   1   0) #( 0 2   2   0) #( 0 2   1   0)
-    #( 0 2   1   0) #( 0 2   2   0) #( 0 2   1   0) #( 0 2   1   0)
-    #( 0 2   1   0) #( 0 2   1   0) #( 0 2   2   0) #( 3 2   1   0))
-  'attack '(   ; #115
-    #( 0 0  10   5) #( 0 0  25  10) #(12 0  25  10) #( 0 0  25   5)
-    #( 0 0  29   0) #( 3 0   1   0))
-  'die '(      ; #1
-    #( 3 0   1   0)))
-
-;;------
-;;     Gnomish Flying Machine
-(define-animations 'animations-balloon
-  'still '(    ; #4
-    #( 2 0   1   0) #( 2 0   1   5) #( 2 0   1   5) #( 3 0   1   0))
-  'move '(     ; #10 P32
-    #( 0 4   1   5) #( 0 3   1   5) #( 0 3   1   5) #( 0 4   1   0)
-    #( 0 3   1   0) #( 0 3   1   5) #( 0 4   1   5) #( 0 3   1   5)
-    #( 0 3   1   0) #( 3 3   1   0))
-  'attack '(   ; #1
-    #( 3 0   1   0))
-  'die '(      ; #1
-    #( 3 0   1   0)))
-
-;;------
-;;     Daemon
-(define-animations 'animations-daemon
-  'still '(    ; #16
-    #( 2 0   4   0) #( 2 0   4   5) #( 2 0   4  10) #( 3 0   4  15))
-  'move '(     ; #12 P32
-    #( 0 3   1   0) #( 0 3   1   0) #( 0 2   1   5) #( 0 3   1   5)
-    #( 0 2   1  10) #( 0 3   1  10) #( 0 3   1  10) #( 0 2   1  15)
-    #( 0 3   1  15) #( 0 3   1  20) #( 0 3   1  20) #( 3 2   1   0))
-  'attack '(   ; #60
-    #( 0 0   4   0) #( 0 0   4   5) #( 0 0   4  10) #( 0 0   4  15)
-    #( 0 0   4  20) #( 2 0   1  20) #( 0 0   4  25) #( 0 0   4  30)
-    #( 0 0   4  35) #(12 0   4  40) #( 0 0   4  45) #( 1 0   1   0)
-    #(12 0  59   0) #( 3 0   1   0))
-  'die '(      ; #21
-    #( 0 0   5  50) #( 0 0   5  55) #( 0 0   5  60) #( 0 0   5  65)
-    #( 3 0   1  65)))
-
-;;------
-;;     Guard Tower, Guard Tower
-(define-animations 'animations-alliance-guard-tower
-  'still '(    ; #5
-    #( 0 0   4   0) #( 3 0   1   0))
-  'attack '(   ; #60
-    #(12 0  59   0) #( 3 0   1   0)))
-
-;;------
-;;     Cannon Tower, Cannon Tower
-(define-animations 'animations-alliance-cannon-tower
-  'still '(    ; #5
-    #( 0 0   4   0) #( 3 0   1   0))
-  'attack '(   ; #151
-    #(12 0 150   0) #( 3 0   1   0)))
Index: demogame/ccl/buttons.ccl
diff -u demogame/ccl/buttons.ccl:1.5 demogame/ccl/buttons.ccl:1.6
--- demogame/ccl/buttons.ccl:1.5        Sun Oct 12 16:06:09 2003
+++ demogame/ccl/buttons.ccl    Mon Oct 13 11:15:34 2003
@@ -26,7 +26,7 @@
 ;;      along with this program; if not, write to the Free Software
 ;;      Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  
USA
 ;;
-;;     $Id: buttons.ccl,v 1.5 2003/10/12 20:06:09 martinxyz Exp $
+;;     $Id: buttons.ccl,v 1.6 2003/10/13 15:15:34 martinxyz Exp $
 
 ;; Load the buttons of all races
 (ccl:load "ccl/alliance/buttons.ccl")
@@ -38,19 +38,6 @@
 ;;     (define-button 'pos n 'level n 'icon ident 'action name ['value value]
 ;;             ['allowed check ['values]] 'key key 'hint hint 'for-unit units)
 ;;
-
-;; neutral --------------------------------------------------------------------
-
-(define-button 'pos 1 'level 0 'icon 'icon-circle-of-power
-  'action 'cast-spell 'value 'spell-circle-of-power
-  'allowed 'check-true
-  'key "d" 'hint "SET ~!DESTINATION"
-  'for-unit '(unit-dark-portal))
-
-(define-button 'pos 2 'level 0 'icon 'icon-daemon
-  'action 'train-unit 'value 'unit-daemon
-  'key "d" 'hint "SUMMON ~!DAEMON"
-  'for-unit '(unit-dark-portal))
 
 ;; general cancel button ------------------------------------------------------
 
Index: demogame/ccl/constructions.ccl
diff -u demogame/ccl/constructions.ccl:1.2 demogame/ccl/constructions.ccl:1.3
--- demogame/ccl/constructions.ccl:1.2  Sun Oct 12 16:06:09 2003
+++ demogame/ccl/constructions.ccl      Mon Oct 13 11:15:34 2003
@@ -26,7 +26,7 @@
 ;;      along with this program; if not, write to the Free Software
 ;;      Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  
USA
 ;;
-;;     $Id: constructions.ccl,v 1.2 2003/10/12 20:06:09 martinxyz Exp $
+;;     $Id: constructions.ccl,v 1.3 2003/10/13 15:15:34 martinxyz Exp $
 
 (ccl:load "ccl/alliance/constructions.ccl")
 (ccl:load "ccl/mythical/constructions.ccl")
@@ -42,10 +42,6 @@
     tileset summer
     file "neutral/buildings/land_construction_site.png"
     size (64 64))
-  'file '(
-    tileset winter
-    file "tilesets/winter/neutral/buildings/land_construction_site.png"
-    size (64 64))
   'constructions (list
     '(percent 0
       file construction
@@ -63,10 +59,6 @@
     tileset summer
     file "neutral/buildings/land_construction_site.png"
     size (64 64))
-  'file '(
-    tileset winter
-    file "tilesets/winter/neutral/buildings/land_construction_site.png"
-    size (64 64))
   'constructions (list
     '(percent 0
       file construction
@@ -84,10 +76,6 @@
     tileset summer
     file "neutral/buildings/land_construction_site.png"
     size (64 64))
-  'file '(
-    tileset winter
-    file "tilesets/winter/neutral/buildings/land_construction_site.png"
-    size (64 64))
   'constructions (list
     '(percent 0
       file construction
@@ -101,10 +89,6 @@
   'file '(
     tileset summer
     file "tilesets/summer/neutral/buildings/wall_construction_site.png"
-    size (32 32))
-  'file '(
-    tileset winter
-    file "tilesets/winter/neutral/buildings/wall_construction_site.png"
     size (32 32))
   'constructions (list
     '(percent 0
Index: demogame/ccl/editor.ccl
diff -u demogame/ccl/editor.ccl:1.7 demogame/ccl/editor.ccl:1.8
--- demogame/ccl/editor.ccl:1.7 Thu Oct  9 12:10:34 2003
+++ demogame/ccl/editor.ccl     Mon Oct 13 11:15:34 2003
@@ -26,7 +26,7 @@
 ;;      along with this program; if not, write to the Free Software
 ;;      Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  
USA
 ;;
-;;     $Id: editor.ccl,v 1.7 2003/10/09 16:10:34 martinxyz Exp $
+;;     $Id: editor.ccl,v 1.8 2003/10/13 15:15:34 martinxyz Exp $
 
 
 ;;     Set which icons to display
@@ -44,44 +44,11 @@
    'unit-alliance-start-location
 
    'unit-peasant
-   'unit-footman
-   'unit-archer
-   'unit-ranger
-   'unit-knight
-   'unit-paladin
-   'unit-mage
-   'unit-dwarves
-   'unit-ballista
-
-   'unit-alliance-oil-tanker
-   'unit-alliance-transport
-   'unit-alliance-destroyer
-   'unit-battleship
-   'unit-alliance-submarine
 
-   'unit-balloon
-   'unit-gryphon-rider
+
 
    'unit-town-hall
-   'unit-keep
-   'unit-castle
-   'unit-farm
-   'unit-alliance-barracks
-   'unit-elven-lumber-mill
-   'unit-alliance-blacksmith
-   'unit-alliance-watch-tower
-   'unit-alliance-guard-tower
-   'unit-alliance-cannon-tower
-   'unit-inventor
-   'unit-stables
-   'unit-church
-   'unit-mage-tower
-   'unit-gryphon-aviary
-
-   'unit-alliance-shipyard
-   'unit-alliance-foundry
-   'unit-alliance-refinery
-   'unit-alliance-oil-platform
+
 
 
 ;- - - - - - - - - - - - - - - - - - -
@@ -98,13 +65,7 @@
 ;- - - - - - - - - - - - - - - - - - -
 
    'unit-gold-mine
-   'unit-oil-patch
-   'unit-dark-portal
-   'unit-circle-of-power
-   'unit-runestone
 
-   'unit-daemon
-   'unit-critter
 
 ; Placing this unit-types on map is not (yet?) supported.
 ;   'unit-dead-body
Index: demogame/ccl/icons.ccl
diff -u demogame/ccl/icons.ccl:1.8 demogame/ccl/icons.ccl:1.9
--- demogame/ccl/icons.ccl:1.8  Sat Oct 11 05:00:15 2003
+++ demogame/ccl/icons.ccl      Mon Oct 13 11:15:34 2003
@@ -26,7 +26,7 @@
 ;;      along with this program; if not, write to the Free Software
 ;;      Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  
USA
 ;;
-;;     $Id: icons.ccl,v 1.8 2003/10/11 09:00:15 martinxyz Exp $
+;;     $Id: icons.ccl,v 1.9 2003/10/13 15:15:34 martinxyz Exp $
 
 ;;     NOTE:
 ;;             Splitting this file into races is a problem, because all
@@ -52,92 +52,16 @@
   'size '(46 38) 'normal '(2 "tilesets/summer/icons.png"))
 (define-icon 'icon-grunt 'tileset 'tileset-summer
   'size '(46 38) 'normal '(3 "tilesets/summer/icons.png"))
-(define-icon 'icon-archer 'tileset 'tileset-summer
-  'size '(46 38) 'normal '(4 "tilesets/summer/icons.png"))
-(define-icon 'icon-ranger 'tileset 'tileset-summer
-  'size '(46 38) 'normal '(6 "tilesets/summer/icons.png"))
-(define-icon 'icon-knight 'tileset 'tileset-summer
-  'size '(46 38) 'normal '(8 "tilesets/summer/icons.png"))
-(define-icon 'icon-paladin 'tileset 'tileset-summer
-  'size '(46 38) 'normal '(10 "tilesets/summer/icons.png"))
-(define-icon 'icon-dwarves 'tileset 'tileset-summer
-  'size '(46 38) 'normal '(12 "tilesets/summer/icons.png"))
-(define-icon 'icon-mage 'tileset 'tileset-summer
-  'size '(46 38) 'normal '(14 "tilesets/summer/icons.png"))
-(define-icon 'icon-ballista 'tileset 'tileset-summer
-  'size '(46 38) 'normal '(16 "tilesets/summer/icons.png"))
-(define-icon 'icon-alliance-oil-tanker 'tileset 'tileset-summer
-  'size '(46 38) 'normal '(18 "tilesets/summer/icons.png"))
-(define-icon 'icon-alliance-transport 'tileset 'tileset-summer
-  'size '(46 38) 'normal '(20 "tilesets/summer/icons.png"))
-(define-icon 'icon-alliance-destroyer 'tileset 'tileset-summer
-  'size '(46 38) 'normal '(22 "tilesets/summer/icons.png"))
-(define-icon 'icon-battleship 'tileset 'tileset-summer
-  'size '(46 38) 'normal '(24 "tilesets/summer/icons.png"))
-(define-icon 'icon-alliance-submarine 'tileset 'tileset-summer
-  'size '(46 38) 'normal '(26 "tilesets/summer/icons.png"))
-(define-icon 'icon-balloon 'tileset 'tileset-summer
-  'size '(46 38) 'normal '(28 "tilesets/summer/icons.png"))
-(define-icon 'icon-gryphon-rider 'tileset 'tileset-summer
-  'size '(46 38) 'normal '(30 "tilesets/summer/icons.png"))
-(define-icon 'icon-daemon 'tileset 'tileset-summer
-  'size '(46 38) 'normal '(37 "tilesets/summer/icons.png"))
-(define-icon 'icon-farm 'tileset 'tileset-summer
-  'size '(46 38) 'normal '(38 "tilesets/summer/icons.png"))
 (define-icon 'icon-pig-farm 'tileset 'tileset-summer
   'size '(46 38) 'normal '(39 "tilesets/summer/icons.png"))
 (define-icon 'icon-town-hall 'tileset 'tileset-summer
   'size '(46 38) 'normal '(40 "tilesets/summer/icons.png"))
 (define-icon 'icon-great-hall 'tileset 'tileset-summer
   'size '(46 38) 'normal '(41 "tilesets/summer/icons.png"))
-(define-icon 'icon-alliance-barracks 'tileset 'tileset-summer
-  'size '(46 38) 'normal '(42 "tilesets/summer/icons.png"))
 (define-icon 'icon-mythical-barracks 'tileset 'tileset-summer
   'size '(46 38) 'normal '(43 "tilesets/summer/icons.png"))
-(define-icon 'icon-elven-lumber-mill 'tileset 'tileset-summer
-  'size '(46 38) 'normal '(44 "tilesets/summer/icons.png"))
-(define-icon 'icon-alliance-blacksmith 'tileset 'tileset-summer
-  'size '(46 38) 'normal '(46 "tilesets/summer/icons.png"))
-(define-icon 'icon-alliance-shipyard 'tileset 'tileset-summer
-  'size '(46 38) 'normal '(48 "tilesets/summer/icons.png"))
-(define-icon 'icon-alliance-refinery 'tileset 'tileset-summer
-  'size '(46 38) 'normal '(50 "tilesets/summer/icons.png"))
-(define-icon 'icon-alliance-foundry 'tileset 'tileset-summer
-  'size '(46 38) 'normal '(52 "tilesets/summer/icons.png"))
-(define-icon 'icon-alliance-oil-platform 'tileset 'tileset-summer
-  'size '(46 38) 'normal '(54 "tilesets/summer/icons.png"))
-(define-icon 'icon-stables 'tileset 'tileset-summer
-  'size '(46 38) 'normal '(56 "tilesets/summer/icons.png"))
-(define-icon 'icon-inventor 'tileset 'tileset-summer
-  'size '(46 38) 'normal '(58 "tilesets/summer/icons.png"))
-(define-icon 'icon-alliance-watch-tower 'tileset 'tileset-summer
-  'size '(46 38) 'normal '(60 "tilesets/summer/icons.png"))
-(define-icon 'icon-church 'tileset 'tileset-summer
-  'size '(46 38) 'normal '(62 "tilesets/summer/icons.png"))
-(define-icon 'icon-mage-tower 'tileset 'tileset-summer
-  'size '(46 38) 'normal '(64 "tilesets/summer/icons.png"))
-(define-icon 'icon-keep 'tileset 'tileset-summer
-  'size '(46 38) 'normal '(66 "tilesets/summer/icons.png"))
-(define-icon 'icon-castle-upgrade 'tileset 'tileset-summer
-  'size '(46 38) 'normal '(68 "tilesets/summer/icons.png"))
-(define-icon 'icon-castle 'tileset 'tileset-summer
-  'size '(46 38) 'normal '(70 "tilesets/summer/icons.png"))
-(define-icon 'icon-gryphon-aviary 'tileset 'tileset-summer
-  'size '(46 38) 'normal '(72 "tilesets/summer/icons.png"))
 (define-icon 'icon-gold-mine 'tileset 'tileset-summer
   'size '(46 38) 'normal '(74 "tilesets/summer/icons.png"))
-(define-icon 'icon-alliance-guard-tower 'tileset 'tileset-summer
-  'size '(46 38) 'normal '(75 "tilesets/summer/icons.png"))
-(define-icon 'icon-alliance-cannon-tower 'tileset 'tileset-summer
-  'size '(46 38) 'normal '(76 "tilesets/summer/icons.png"))
-(define-icon 'icon-oil-patch 'tileset 'tileset-summer
-  'size '(46 38) 'normal '(79 "tilesets/summer/icons.png"))
-(define-icon 'icon-dark-portal 'tileset 'tileset-summer
-  'size '(46 38) 'normal '(80 "tilesets/summer/icons.png"))
-(define-icon 'icon-circle-of-power 'tileset 'tileset-summer
-  'size '(46 38) 'normal '(81 "tilesets/summer/icons.png"))
-(define-icon 'icon-runestone 'tileset 'tileset-summer
-  'size '(46 38) 'normal '(82 "tilesets/summer/icons.png"))
 (define-icon 'icon-move-peasant 'tileset 'tileset-summer
   'size '(46 38) 'normal '(83 "tilesets/summer/icons.png"))
 (define-icon 'icon-move-faun 'tileset 'tileset-summer
@@ -148,8 +72,6 @@
   'size '(46 38) 'normal '(86 "tilesets/summer/icons.png"))
 (define-icon 'icon-build-basic 'tileset 'tileset-summer
   'size '(46 38) 'normal '(87 "tilesets/summer/icons.png"))
-(define-icon 'icon-build-advanced 'tileset 'tileset-summer
-  'size '(46 38) 'normal '(88 "tilesets/summer/icons.png"))
 (define-icon 'icon-return-goods-peasant 'tileset 'tileset-summer
   'size '(46 38) 'normal '(89 "tilesets/summer/icons.png"))
 (define-icon 'icon-return-goods-faun 'tileset 'tileset-summer
@@ -160,82 +82,18 @@
   'size '(46 38) 'normal '(92 "tilesets/summer/icons.png"))
 (define-icon 'icon-mythical-wall 'tileset 'tileset-summer
   'size '(46 38) 'normal '(93 "tilesets/summer/icons.png"))
-(define-icon 'icon-slow 'tileset 'tileset-summer
-  'size '(46 38) 'normal '(94 "tilesets/summer/icons.png"))
-(define-icon 'icon-invisibility 'tileset 'tileset-summer
-  'size '(46 38) 'normal '(95 "tilesets/summer/icons.png"))
-(define-icon 'icon-lightning 'tileset 'tileset-summer
-  'size '(46 38) 'normal '(99 "tilesets/summer/icons.png"))
-(define-icon 'icon-flame-shield 'tileset 'tileset-summer
-  'size '(46 38) 'normal '(100 "tilesets/summer/icons.png"))
-(define-icon 'icon-fireball 'tileset 'tileset-summer
-  'size '(46 38) 'normal '(101 "tilesets/summer/icons.png"))
 (define-icon 'icon-faun-magic 'tileset 'tileset-summer
   'size '(46 38) 'normal '(103 "tilesets/summer/icons.png"))
-(define-icon 'icon-blizzard 'tileset 'tileset-summer
-  'size '(46 38) 'normal '(105 "tilesets/summer/icons.png"))
-(define-icon 'icon-holy-vision 'tileset 'tileset-summer
-  'size '(46 38) 'normal '(106 "tilesets/summer/icons.png"))
-(define-icon 'icon-heal 'tileset 'tileset-summer
-  'size '(46 38) 'normal '(107 "tilesets/summer/icons.png"))
-(define-icon 'icon-exorcism 'tileset 'tileset-summer
-  'size '(46 38) 'normal '(110 "tilesets/summer/icons.png"))
-(define-icon 'icon-critter 'tileset 'tileset-summer
-  'size '(46 38) 'normal '(115 "tilesets/summer/icons.png"))
 (define-icon 'icon-sword1 'tileset 'tileset-summer
   'size '(46 38) 'normal '(116 "tilesets/summer/icons.png"))
-(define-icon 'icon-sword2 'tileset 'tileset-summer
-  'size '(46 38) 'normal '(117 "tilesets/summer/icons.png"))
-(define-icon 'icon-sword3 'tileset 'tileset-summer
-  'size '(46 38) 'normal '(118 "tilesets/summer/icons.png"))
 (define-icon 'icon-battle-axe1 'tileset 'tileset-summer
   'size '(46 38) 'normal '(119 "tilesets/summer/icons.png"))
-(define-icon 'icon-arrow1 'tileset 'tileset-summer
-  'size '(46 38) 'normal '(124 "tilesets/summer/icons.png"))
-(define-icon 'icon-arrow2 'tileset 'tileset-summer
-  'size '(46 38) 'normal '(125 "tilesets/summer/icons.png"))
-(define-icon 'icon-arrow3 'tileset 'tileset-summer
-  'size '(46 38) 'normal '(126 "tilesets/summer/icons.png"))
-(define-icon 'icon-longbow 'tileset 'tileset-summer
-  'size '(46 38) 'normal '(132 "tilesets/summer/icons.png"))
-(define-icon 'icon-ranger-scouting 'tileset 'tileset-summer
-  'size '(46 38) 'normal '(133 "tilesets/summer/icons.png"))
-(define-icon 'icon-ranger-marksmanship 'tileset 'tileset-summer
-  'size '(46 38) 'normal '(134 "tilesets/summer/icons.png"))
-(define-icon 'icon-ballista1 'tileset 'tileset-summer
-  'size '(46 38) 'normal '(140 "tilesets/summer/icons.png"))
-(define-icon 'icon-ballista2 'tileset 'tileset-summer
-  'size '(46 38) 'normal '(141 "tilesets/summer/icons.png"))
 (define-icon 'icon-alliance-demolish 'tileset 'tileset-summer
   'size '(46 38) 'normal '(142 "tilesets/summer/icons.png"))
 (define-icon 'icon-mythical-demolish 'tileset 'tileset-summer
   'size '(46 38) 'normal '(143 "tilesets/summer/icons.png"))
-(define-icon 'icon-alliance-ship-cannon1 'tileset 'tileset-summer
-  'size '(46 38) 'normal '(144 "tilesets/summer/icons.png"))
-(define-icon 'icon-alliance-ship-cannon2 'tileset 'tileset-summer
-  'size '(46 38) 'normal '(145 "tilesets/summer/icons.png"))
-(define-icon 'icon-alliance-ship-cannon3 'tileset 'tileset-summer
-  'size '(46 38) 'normal '(146 "tilesets/summer/icons.png"))
-(define-icon 'icon-alliance-ship-armor1 'tileset 'tileset-summer
-  'size '(46 38) 'normal '(153 "tilesets/summer/icons.png"))
-(define-icon 'icon-alliance-ship-armor2 'tileset 'tileset-summer
-  'size '(46 38) 'normal '(154 "tilesets/summer/icons.png"))
-(define-icon 'icon-alliance-ship-armor3 'tileset 'tileset-summer
-  'size '(46 38) 'normal '(155 "tilesets/summer/icons.png"))
-(define-icon 'icon-alliance-ship-move 'tileset 'tileset-summer
-  'size '(46 38) 'normal '(157 "tilesets/summer/icons.png"))
-(define-icon 'icon-alliance-ship-return-oil 'tileset 'tileset-summer
-  'size '(46 38) 'normal '(159 "tilesets/summer/icons.png"))
-(define-icon 'icon-alliance-ship-haul-oil 'tileset 'tileset-summer
-  'size '(46 38) 'normal '(161 "tilesets/summer/icons.png"))
-(define-icon 'icon-alliance-unload 'tileset 'tileset-summer
-  'size '(46 38) 'normal '(162 "tilesets/summer/icons.png"))
 (define-icon 'icon-alliance-shield1 'tileset 'tileset-summer
   'size '(46 38) 'normal '(164 "tilesets/summer/icons.png"))
-(define-icon 'icon-alliance-shield2 'tileset 'tileset-summer
-  'size '(46 38) 'normal '(165 "tilesets/summer/icons.png"))
-(define-icon 'icon-alliance-shield3 'tileset 'tileset-summer
-  'size '(46 38) 'normal '(166 "tilesets/summer/icons.png"))
 (define-icon 'icon-mythical-shield1 'tileset 'tileset-summer
   'size '(46 38) 'normal '(167 "tilesets/summer/icons.png"))
 (define-icon 'icon-alliance-patrol-land 'tileset 'tileset-summer
@@ -250,219 +108,4 @@
   'size '(46 38) 'normal '(182 "tilesets/summer/icons.png"))
 (define-icon 'icon-mythical-attack-ground 'tileset 'tileset-summer
   'size '(46 38) 'normal '(183 "tilesets/summer/icons.png"))
-(define-icon 'icon-alliance-patrol-naval 'tileset 'tileset-summer
-  'size '(46 38) 'normal '(184 "tilesets/summer/icons.png"))
 
-;;=============================================================================
-;;     Winter Tileset
-;;=============================================================================
-(define-icon 'icon-peasant 'tileset 'tileset-winter
-  'size '(46 38) 'normal '(0 "tilesets/winter/icons.png"))
-(define-icon 'icon-faun 'tileset 'tileset-winter
-  'size '(46 38) 'normal '(1 "tilesets/winter/icons.png"))
-(define-icon 'icon-footman 'tileset 'tileset-winter
-  'size '(46 38) 'normal '(2 "tilesets/winter/icons.png"))
-(define-icon 'icon-grunt 'tileset 'tileset-winter
-  'size '(46 38) 'normal '(3 "tilesets/winter/icons.png"))
-(define-icon 'icon-archer 'tileset 'tileset-winter
-  'size '(46 38) 'normal '(4 "tilesets/winter/icons.png"))
-(define-icon 'icon-ranger 'tileset 'tileset-winter
-  'size '(46 38) 'normal '(6 "tilesets/winter/icons.png"))
-(define-icon 'icon-knight 'tileset 'tileset-winter
-  'size '(46 38) 'normal '(8 "tilesets/winter/icons.png"))
-(define-icon 'icon-paladin 'tileset 'tileset-winter
-  'size '(46 38) 'normal '(10 "tilesets/winter/icons.png"))
-(define-icon 'icon-dwarves 'tileset 'tileset-winter
-  'size '(46 38) 'normal '(12 "tilesets/winter/icons.png"))
-(define-icon 'icon-mage 'tileset 'tileset-winter
-  'size '(46 38) 'normal '(14 "tilesets/winter/icons.png"))
-(define-icon 'icon-ballista 'tileset 'tileset-winter
-  'size '(46 38) 'normal '(16 "tilesets/winter/icons.png"))
-(define-icon 'icon-alliance-oil-tanker 'tileset 'tileset-winter
-  'size '(46 38) 'normal '(18 "tilesets/winter/icons.png"))
-(define-icon 'icon-alliance-transport 'tileset 'tileset-winter
-  'size '(46 38) 'normal '(20 "tilesets/winter/icons.png"))
-(define-icon 'icon-alliance-destroyer 'tileset 'tileset-winter
-  'size '(46 38) 'normal '(22 "tilesets/winter/icons.png"))
-(define-icon 'icon-battleship 'tileset 'tileset-winter
-  'size '(46 38) 'normal '(24 "tilesets/winter/icons.png"))
-(define-icon 'icon-alliance-submarine 'tileset 'tileset-winter
-  'size '(46 38) 'normal '(26 "tilesets/winter/icons.png"))
-(define-icon 'icon-balloon 'tileset 'tileset-winter
-  'size '(46 38) 'normal '(28 "tilesets/winter/icons.png"))
-(define-icon 'icon-gryphon-rider 'tileset 'tileset-winter
-  'size '(46 38) 'normal '(30 "tilesets/winter/icons.png"))
-(define-icon 'icon-daemon 'tileset 'tileset-winter
-  'size '(46 38) 'normal '(37 "tilesets/winter/icons.png"))
-(define-icon 'icon-farm 'tileset 'tileset-winter
-  'size '(46 38) 'normal '(38 "tilesets/winter/icons.png"))
-(define-icon 'icon-pig-farm 'tileset 'tileset-winter
-  'size '(46 38) 'normal '(39 "tilesets/winter/icons.png"))
-(define-icon 'icon-town-hall 'tileset 'tileset-winter
-  'size '(46 38) 'normal '(40 "tilesets/winter/icons.png"))
-(define-icon 'icon-great-hall 'tileset 'tileset-winter
-  'size '(46 38) 'normal '(41 "tilesets/winter/icons.png"))
-(define-icon 'icon-alliance-barracks 'tileset 'tileset-winter
-  'size '(46 38) 'normal '(42 "tilesets/winter/icons.png"))
-(define-icon 'icon-mythical-barracks 'tileset 'tileset-winter
-  'size '(46 38) 'normal '(43 "tilesets/winter/icons.png"))
-(define-icon 'icon-elven-lumber-mill 'tileset 'tileset-winter
-  'size '(46 38) 'normal '(44 "tilesets/winter/icons.png"))
-(define-icon 'icon-alliance-blacksmith 'tileset 'tileset-winter
-  'size '(46 38) 'normal '(46 "tilesets/winter/icons.png"))
-(define-icon 'icon-alliance-shipyard 'tileset 'tileset-winter
-  'size '(46 38) 'normal '(48 "tilesets/winter/icons.png"))
-(define-icon 'icon-alliance-refinery 'tileset 'tileset-winter
-  'size '(46 38) 'normal '(50 "tilesets/winter/icons.png"))
-(define-icon 'icon-alliance-foundry 'tileset 'tileset-winter
-  'size '(46 38) 'normal '(52 "tilesets/winter/icons.png"))
-(define-icon 'icon-alliance-oil-platform 'tileset 'tileset-winter
-  'size '(46 38) 'normal '(54 "tilesets/winter/icons.png"))
-(define-icon 'icon-stables 'tileset 'tileset-winter
-  'size '(46 38) 'normal '(56 "tilesets/winter/icons.png"))
-(define-icon 'icon-inventor 'tileset 'tileset-winter
-  'size '(46 38) 'normal '(58 "tilesets/winter/icons.png"))
-(define-icon 'icon-alliance-watch-tower 'tileset 'tileset-winter
-  'size '(46 38) 'normal '(60 "tilesets/winter/icons.png"))
-(define-icon 'icon-church 'tileset 'tileset-winter
-  'size '(46 38) 'normal '(62 "tilesets/winter/icons.png"))
-(define-icon 'icon-mage-tower 'tileset 'tileset-winter
-  'size '(46 38) 'normal '(64 "tilesets/winter/icons.png"))
-(define-icon 'icon-keep 'tileset 'tileset-winter
-  'size '(46 38) 'normal '(66 "tilesets/winter/icons.png"))
-(define-icon 'icon-castle-upgrade 'tileset 'tileset-winter
-  'size '(46 38) 'normal '(68 "tilesets/winter/icons.png"))
-(define-icon 'icon-castle 'tileset 'tileset-winter
-  'size '(46 38) 'normal '(70 "tilesets/winter/icons.png"))
-(define-icon 'icon-gryphon-aviary 'tileset 'tileset-winter
-  'size '(46 38) 'normal '(72 "tilesets/winter/icons.png"))
-(define-icon 'icon-gold-mine 'tileset 'tileset-winter
-  'size '(46 38) 'normal '(74 "tilesets/winter/icons.png"))
-(define-icon 'icon-alliance-guard-tower 'tileset 'tileset-winter
-  'size '(46 38) 'normal '(75 "tilesets/winter/icons.png"))
-(define-icon 'icon-alliance-cannon-tower 'tileset 'tileset-winter
-  'size '(46 38) 'normal '(76 "tilesets/winter/icons.png"))
-(define-icon 'icon-oil-patch 'tileset 'tileset-winter
-  'size '(46 38) 'normal '(79 "tilesets/winter/icons.png"))
-(define-icon 'icon-dark-portal 'tileset 'tileset-winter
-  'size '(46 38) 'normal '(80 "tilesets/winter/icons.png"))
-(define-icon 'icon-circle-of-power 'tileset 'tileset-winter
-  'size '(46 38) 'normal '(81 "tilesets/winter/icons.png"))
-(define-icon 'icon-runestone 'tileset 'tileset-winter
-  'size '(46 38) 'normal '(82 "tilesets/winter/icons.png"))
-(define-icon 'icon-move-peasant 'tileset 'tileset-winter
-  'size '(46 38) 'normal '(83 "tilesets/winter/icons.png"))
-(define-icon 'icon-move-faun 'tileset 'tileset-winter
-  'size '(46 38) 'normal '(84 "tilesets/winter/icons.png"))
-(define-icon 'icon-repair 'tileset 'tileset-winter
-  'size '(46 38) 'normal '(85 "tilesets/winter/icons.png"))
-(define-icon 'icon-harvest 'tileset 'tileset-winter
-  'size '(46 38) 'normal '(86 "tilesets/winter/icons.png"))
-(define-icon 'icon-build-basic 'tileset 'tileset-winter
-  'size '(46 38) 'normal '(87 "tilesets/winter/icons.png"))
-(define-icon 'icon-build-advanced 'tileset 'tileset-winter
-  'size '(46 38) 'normal '(88 "tilesets/winter/icons.png"))
-(define-icon 'icon-return-goods-peasant 'tileset 'tileset-winter
-  'size '(46 38) 'normal '(89 "tilesets/winter/icons.png"))
-(define-icon 'icon-return-goods-faun 'tileset 'tileset-winter
-  'size '(46 38) 'normal '(90 "tilesets/winter/icons.png"))
-(define-icon 'icon-cancel 'tileset 'tileset-winter
-  'size '(46 38) 'normal '(91 "tilesets/winter/icons.png"))
-(define-icon 'icon-alliance-wall 'tileset 'tileset-winter
-  'size '(46 38) 'normal '(92 "tilesets/winter/icons.png"))
-(define-icon 'icon-mythical-wall 'tileset 'tileset-winter
-  'size '(46 38) 'normal '(93 "tilesets/winter/icons.png"))
-(define-icon 'icon-slow 'tileset 'tileset-winter
-  'size '(46 38) 'normal '(94 "tilesets/winter/icons.png"))
-(define-icon 'icon-invisibility 'tileset 'tileset-winter
-  'size '(46 38) 'normal '(95 "tilesets/winter/icons.png"))
-(define-icon 'icon-lightning 'tileset 'tileset-winter
-  'size '(46 38) 'normal '(99 "tilesets/winter/icons.png"))
-(define-icon 'icon-flame-shield 'tileset 'tileset-winter
-  'size '(46 38) 'normal '(100 "tilesets/winter/icons.png"))
-(define-icon 'icon-fireball 'tileset 'tileset-winter
-  'size '(46 38) 'normal '(101 "tilesets/winter/icons.png"))
-(define-icon 'icon-faun-magic 'tileset 'tileset-winter
-  'size '(46 38) 'normal '(103 "tilesets/summer/icons.png"))
-(define-icon 'icon-blizzard 'tileset 'tileset-winter
-  'size '(46 38) 'normal '(105 "tilesets/winter/icons.png"))
-(define-icon 'icon-holy-vision 'tileset 'tileset-winter
-  'size '(46 38) 'normal '(106 "tilesets/winter/icons.png"))
-(define-icon 'icon-heal 'tileset 'tileset-winter
-  'size '(46 38) 'normal '(107 "tilesets/winter/icons.png"))
-(define-icon 'icon-exorcism 'tileset 'tileset-winter
-  'size '(46 38) 'normal '(110 "tilesets/winter/icons.png"))
-(define-icon 'icon-critter 'tileset 'tileset-winter
-  'size '(46 38) 'normal '(115 "tilesets/winter/icons.png"))
-(define-icon 'icon-sword1 'tileset 'tileset-winter
-  'size '(46 38) 'normal '(116 "tilesets/winter/icons.png"))
-(define-icon 'icon-sword2 'tileset 'tileset-winter
-  'size '(46 38) 'normal '(117 "tilesets/winter/icons.png"))
-(define-icon 'icon-sword3 'tileset 'tileset-winter
-  'size '(46 38) 'normal '(118 "tilesets/winter/icons.png"))
-(define-icon 'icon-battle-axe1 'tileset 'tileset-winter
-  'size '(46 38) 'normal '(119 "tilesets/winter/icons.png"))
-(define-icon 'icon-arrow1 'tileset 'tileset-winter
-  'size '(46 38) 'normal '(124 "tilesets/winter/icons.png"))
-(define-icon 'icon-arrow2 'tileset 'tileset-winter
-  'size '(46 38) 'normal '(125 "tilesets/winter/icons.png"))
-(define-icon 'icon-arrow3 'tileset 'tileset-winter
-  'size '(46 38) 'normal '(126 "tilesets/winter/icons.png"))
-(define-icon 'icon-longbow 'tileset 'tileset-winter
-  'size '(46 38) 'normal '(132 "tilesets/winter/icons.png"))
-(define-icon 'icon-ranger-scouting 'tileset 'tileset-winter
-  'size '(46 38) 'normal '(133 "tilesets/winter/icons.png"))
-(define-icon 'icon-ranger-marksmanship 'tileset 'tileset-winter
-  'size '(46 38) 'normal '(134 "tilesets/winter/icons.png"))
-(define-icon 'icon-ballista1 'tileset 'tileset-winter
-  'size '(46 38) 'normal '(140 "tilesets/winter/icons.png"))
-(define-icon 'icon-ballista2 'tileset 'tileset-winter
-  'size '(46 38) 'normal '(141 "tilesets/winter/icons.png"))
-(define-icon 'icon-alliance-demolish 'tileset 'tileset-winter
-  'size '(46 38) 'normal '(142 "tilesets/winter/icons.png"))
-(define-icon 'icon-mythical-demolish 'tileset 'tileset-winter
-  'size '(46 38) 'normal '(143 "tilesets/winter/icons.png"))
-(define-icon 'icon-alliance-ship-cannon1 'tileset 'tileset-winter
-  'size '(46 38) 'normal '(144 "tilesets/winter/icons.png"))
-(define-icon 'icon-alliance-ship-cannon2 'tileset 'tileset-winter
-  'size '(46 38) 'normal '(145 "tilesets/winter/icons.png"))
-(define-icon 'icon-alliance-ship-cannon3 'tileset 'tileset-winter
-  'size '(46 38) 'normal '(146 "tilesets/winter/icons.png"))
-(define-icon 'icon-alliance-ship-armor1 'tileset 'tileset-winter
-  'size '(46 38) 'normal '(153 "tilesets/winter/icons.png"))
-(define-icon 'icon-alliance-ship-armor2 'tileset 'tileset-winter
-  'size '(46 38) 'normal '(154 "tilesets/winter/icons.png"))
-(define-icon 'icon-alliance-ship-armor3 'tileset 'tileset-winter
-  'size '(46 38) 'normal '(155 "tilesets/winter/icons.png"))
-(define-icon 'icon-alliance-ship-move 'tileset 'tileset-winter
-  'size '(46 38) 'normal '(157 "tilesets/winter/icons.png"))
-(define-icon 'icon-alliance-ship-return-oil 'tileset 'tileset-winter
-  'size '(46 38) 'normal '(159 "tilesets/winter/icons.png"))
-(define-icon 'icon-alliance-ship-haul-oil 'tileset 'tileset-winter
-  'size '(46 38) 'normal '(161 "tilesets/winter/icons.png"))
-(define-icon 'icon-alliance-unload 'tileset 'tileset-winter
-  'size '(46 38) 'normal '(162 "tilesets/winter/icons.png"))
-(define-icon 'icon-alliance-shield1 'tileset 'tileset-winter
-  'size '(46 38) 'normal '(164 "tilesets/winter/icons.png"))
-(define-icon 'icon-alliance-shield2 'tileset 'tileset-winter
-  'size '(46 38) 'normal '(165 "tilesets/winter/icons.png"))
-(define-icon 'icon-alliance-shield3 'tileset 'tileset-winter
-  'size '(46 38) 'normal '(166 "tilesets/winter/icons.png"))
-(define-icon 'icon-mythical-shield1 'tileset 'tileset-winter
-  'size '(46 38) 'normal '(167 "tilesets/winter/icons.png"))
-(define-icon 'icon-alliance-patrol-land 'tileset 'tileset-winter
-  'size '(46 38) 'normal '(178 "tilesets/winter/icons.png"))
-(define-icon 'icon-mythical-patrol-land 'tileset 'tileset-winter
-  'size '(46 38) 'normal '(179 "tilesets/winter/icons.png"))
-(define-icon 'icon-alliance-stand-ground 'tileset 'tileset-winter
-  'size '(46 38) 'normal '(180 "tilesets/winter/icons.png"))
-(define-icon 'icon-mythical-stand-ground 'tileset 'tileset-winter
-  'size '(46 38) 'normal '(181 "tilesets/winter/icons.png"))
-(define-icon 'icon-alliance-attack-ground 'tileset 'tileset-winter
-  'size '(46 38) 'normal '(182 "tilesets/winter/icons.png"))
-(define-icon 'icon-mythical-attack-ground 'tileset 'tileset-winter
-  'size '(46 38) 'normal '(183 "tilesets/winter/icons.png"))
-(define-icon 'icon-alliance-patrol-naval 'tileset 'tileset-winter
-  'size '(46 38) 'normal '(184 "tilesets/winter/icons.png"))
-
-(define-icon-alias 'icon-polymorph      'icon-critter)
Index: demogame/ccl/menus.ccl
diff -u demogame/ccl/menus.ccl:1.5 demogame/ccl/menus.ccl:1.6
--- demogame/ccl/menus.ccl:1.5  Sun Oct 12 16:06:09 2003
+++ demogame/ccl/menus.ccl      Mon Oct 13 11:15:35 2003
@@ -26,7 +26,7 @@
 ;;      along with this program; if not, write to the Free Software
 ;;      Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  
USA
 ;;
-;;     $Id: menus.ccl,v 1.5 2003/10/12 20:06:09 martinxyz Exp $
+;;     $Id: menus.ccl,v 1.6 2003/10/13 15:15:35 martinxyz Exp $
 
 ;;
 ;; load the keystroke helps
@@ -35,7 +35,7 @@
 
 ; FIXME: get them from tileset definition
 (define race-names '("Alliance" "Mythical"))
-(define tileset-names '("Summer" "Winter" "None" "None"))
+(define tileset-names '("Summer" "None" "None" "None"))
 (define map-default-tileset-names (append '("Map Default") tileset-names))
 (define player-names '("Person" "Computer" "Rescue (Passive)" "Rescue 
(Active)" "Neutral" "Nobody" ))
 
Index: demogame/ccl/missiles.ccl
diff -u demogame/ccl/missiles.ccl:1.4 demogame/ccl/missiles.ccl:1.5
--- demogame/ccl/missiles.ccl:1.4       Mon Oct 13 10:09:09 2003
+++ demogame/ccl/missiles.ccl   Mon Oct 13 11:15:35 2003
@@ -26,7 +26,7 @@
 ;;      along with this program; if not, write to the Free Software
 ;;      Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  
USA
 ;;
-;;     $Id: missiles.ccl,v 1.4 2003/10/13 14:09:09 martinxyz Exp $
+;;     $Id: missiles.ccl,v 1.5 2003/10/13 15:15:35 martinxyz Exp $
 
 ;;     NOTE: the missiles could be sorted for races, but did this make sense?
 
@@ -38,103 +38,10 @@
 ;;             'sleep sleep 'speed speed 'impact-missile missile)
 ;;
 
-(define-missile-type 'missile-lightning
-  'file "missiles/lightning.png" 'size '(32 32) 'frames 30
-  'class 'missile-class-point-to-point-with-hit 'sleep 1 'speed 16 'range 1
-  'draw-level 50)
-
-(define-missile-type 'missile-griffon-hammer
-  'file "missiles/gryphon_hammer.png" 'size '(32 32) 'frames 15
-  'impact-sound "fireball hit"
-  'class 'missile-class-point-to-point-3bounces 'sleep 1 'speed 16 'range 2
-  'draw-level 50 'impact-missile 'missile-explosion)
-
-(define-missile-type 'missile-dragon-breath
-  'file "missiles/dragon_breath.png" 'size '(32 32) 'frames 5
-  'impact-sound "fireball hit"
-  'class 'missile-class-point-to-point-3bounces 'sleep 1 'speed 16 'range 2
-  'draw-level 70 'impact-missile 'missile-explosion)
-
-(define-missile-type 'missile-fireball
-  'file "missiles/fireball.png" 'size '(32 32) 'frames 5
-  'impact-sound "fireball hit"
-  'draw-level 50 'class 'missile-class-point-to-point 'sleep 1 'speed 16 
'range 1
-  'impact-missile 'missile-explosion)
-
-(define-missile-type 'missile-flame-shield
-  'file "missiles/flame_shield.png" 'size '(32 48) 'frames 6
-  'draw-level 50 'class 'missile-class-flame-shield 'sleep 2 'speed 4 'range 1)
-
-(define-missile-type 'missile-blizzard
-  'file "missiles/blizzard.png" 'size '(32 32) 'frames 4
-  'class 'missile-class-blizzard 'sleep 2 'speed 8 'range 1
-  'draw-level 100 'impact-missile 'missile-blizzard-hit)
-
 (define-missile-type 'missile-death-and-decay
   'file "missiles/death_and_decay.png" 'size '(32 32) 'frames 8
   'draw-level 100 'class 'missile-class-death-decay 'sleep 1 'speed 0 'range 1)
 
-(define-missile-type 'missile-big-cannon
-  'file "missiles/big_cannon.png" 'size '(16 16) 'frames 20
-  'draw-level 50 'impact-sound "explosion"
-  'class 'missile-class-point-to-point 'sleep 1 'speed 16 'range 2
-  'impact-missile 'missile-cannon-tower-explosion)
-
-(define-missile-type 'missile-exorcism
-  'file "missiles/exorcism.png" 'size '(48 48) 'frames 10
-  'draw-level 50 'class 'missile-class-point-to-point 'sleep 1 'speed 16 
'range 1)
-
-(define-missile-type 'missile-heal-effect
-  'file "missiles/heal_effect.png" 'size '(48 48) 'frames 10
-  'draw-level 50 'class 'missile-class-stay-with-delay 'sleep 1 'speed 16 
'range 1)
-
-(define-missile-type 'missile-touch-of-death
-  'file "missiles/touch_of_death.png" 'size '(32 32) 'frames 30
-  'draw-level 50 'class 'missile-class-point-to-point-with-hit 'sleep 1 'speed 
16 'range 1)
-
-(define-missile-type 'missile-rune
-  'file "missiles/rune.png" 'size '(16 16) 'frames 4
-  'draw-level 20 'class 'missile-class-land-mine 'sleep 5 'speed 16 'range 1
-  'impact-missile 'missile-explosion)
-
-(define-missile-type 'missile-whirlwind
-  'file "missiles/tornado.png" 'size '(56 56) 'frames 4
-  'draw-level 50 'class 'missile-class-whirlwind 'sleep 2 'speed 2 'range 1)
-
-(define-missile-type 'missile-catapult-rock
-  'file "missiles/catapult_rock.png" 'size '(32 32) 'frames 15
-  'impact-sound "explosion"
-  'draw-level 50 'class 'missile-class-parabolic 'sleep 1 'speed 16 'range 2
-  'impact-missile 'missile-impact)
-
-(define-missile-type 'missile-ballista-bolt
-  'file "missiles/ballista_bolt.png" 'size '(64 64) 'frames 5
-  'draw-level 50 'impact-sound "explosion"
-  'class 'missile-class-parabolic 'sleep 1 'speed 16 'range 2
-  'impact-missile 'missile-impact)
-
-(define-missile-type 'missile-arrow
-  'file "missiles/arrow.png" 'size '(40 40) 'frames 5
-  'draw-level 50 'impact-sound "bow hit"
-  'class 'missile-class-point-to-point 'sleep 1 'speed 32 'range 0)
-
-(define-missile-type 'missile-axe
-  'file "missiles/axe.png" 'size '(32 32) 'frames 15
-  'impact-sound "bow hit"
-  'draw-level 50 'class 'missile-class-point-to-point 'sleep 1 'speed 32 
'range 0)
-
-(define-missile-type 'missile-submarine-missile
-  'file "missiles/submarine_missile.png" 'size '(40 40) 'frames 5
-  'impact-sound "explosion"
-  'draw-level 50 'class 'missile-class-point-to-point 'sleep 1 'speed 16 
'range 1
-  'impact-missile 'missile-impact)
-
-(define-missile-type 'missile-turtle-missile
-  'file "missiles/turtle_missile.png" 'size '(40 40) 'frames 5
-  'draw-level 50 'impact-sound "explosion"
-  'class 'missile-class-point-to-point 'sleep 1 'speed 16 'range 1
-  'impact-missile 'missile-impact)
-
 (define-missile-type 'missile-small-fire
   'file "missiles/small_fire.png" 'size '(32 48) 'frames 6
   'draw-level 45 'class 'missile-class-fire 'sleep 8 'speed 16 'range 1)
@@ -143,10 +50,6 @@
   'file "missiles/big_fire.png" 'size '(48 48) 'frames 10
   'draw-level 45 'class 'missile-class-fire 'sleep 8 'speed 16 'range 1)
 
-(define-missile-type 'missile-impact
-  'file "missiles/ballista-catapult_impact.png" 'size '(48 48) 'frames 10
-  'draw-level 50 'class 'missile-class-stay-with-delay 'sleep 1 'speed 16 
'range 1)
-
 (define-missile-type 'missile-normal-spell
   'file "missiles/normal_spell.png" 'size '(32 32) 'frames 6
   'draw-level 50 'class 'missile-class-stay-with-delay 'sleep 5 'speed 0 
'range 1)
@@ -155,25 +58,6 @@
   'file "missiles/explosion.png" 'size '(64 64) 'frames 20
   'draw-level 50 'class 'missile-class-stay-with-delay 'sleep 1 'speed 16 
'range 1)
 
-(define-missile-type 'missile-small-cannon
-  'file "missiles/cannon.png" 'size '(32 32) 'frames 15
-  'draw-level 50 'impact-sound "explosion"
-  'class 'missile-class-parabolic 'sleep 1 'speed 16 'range 1
-  'impact-missile 'missile-cannon-explosion)
-
-(define-missile-type 'missile-cannon-explosion
-  'file "missiles/cannon_explosion.png" 'size '(32 32) 'frames 4
-  'draw-level 50 'class 'missile-class-stay-with-delay 'sleep 1 'speed 16 
'range 1)
-
-(define-missile-type 'missile-cannon-tower-explosion
-  'file "missiles/cannon-tower_explosion.png" 'size '(32 32) 'frames 4
-  'draw-level 50 'class 'missile-class-stay-with-delay 'sleep 1 'speed 16 
'range 1)
-
-(define-missile-type 'missile-daemon-fire
-  'file "missiles/daemon_fire.png" 'size '(32 32) 'frames 15
-  'draw-level 70 'impact-sound "fireball hit"
-  'class 'missile-class-point-to-point 'sleep 1 'speed 16 'range 1)
-
 (define-missile-type 'missile-green-cross
   'file "missiles/green_cross.png" 'size '(32 32) 'frames 4
   'draw-level 150 'class 'missile-class-cycle-once 'sleep 1 'speed 16 'range 1)
@@ -186,14 +70,6 @@
   'size '(32 32) 'draw-level 50
   'class 'missile-class-none 'sleep 1 'speed 16 'range 1)
 
-(define-missile-type 'missile-blizzard-hit
-  'file "missiles/blizzard.png" 'size '(32 32) 'frames 4
-  'draw-level 60 'class 'missile-class-stay-with-delay 'sleep 2 'speed 8 
'range 1)
-
-(define-missile-type 'missile-death-coil
-  'file "missiles/touch_of_death.png" 'size '(32 32) 'frames 30
-  'draw-level 50 'class 'missile-class-point-to-point 'sleep 1 'speed 16 
'range 1)
-
 (define-missile-type 'missile-hit
   'size '(15 15) 'draw-level 150
   'class 'missile-class-hit 'sleep 1 'speed 1 'range 16)
@@ -201,12 +77,6 @@
 (define-missile-type 'missile-custom
   'size '(32 32) 'draw-level 50
   'class 'missile-class-custom 'sleep 1 'speed 16 'range 1)
-
-(define-missile-type 'missile-critter-explosion
-  'file "missiles/catapult_rock.png" 'size '(32 32) 'frames 15
-  'impact-sound "explosion" 'draw-level 50
-  'class 'missile-class-hit 'sleep 1 'speed 16 'range 2
-  'impact-missile 'missile-impact 'can-hit-owner #t)
 
 (define-burning-building
   '(percent 0 missile missile-big-fire)
Index: demogame/ccl/mythical/ai.ccl
diff -u demogame/ccl/mythical/ai.ccl:1.2 demogame/ccl/mythical/ai.ccl:1.3
--- demogame/ccl/mythical/ai.ccl:1.2    Thu Oct  9 15:32:41 2003
+++ demogame/ccl/mythical/ai.ccl        Mon Oct 13 11:15:36 2003
@@ -26,7 +26,7 @@
 ;;      along with this program; if not, write to the Free Software
 ;;      Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  
USA
 ;;
-;;     $Id: ai.ccl,v 1.2 2003/10/09 19:32:41 martinxyz Exp $
+;;     $Id: ai.ccl,v 1.3 2003/10/13 15:15:36 martinxyz Exp $
 
 ;; This is the minimum AI needed so the computer attacks with grunts only.
 
@@ -38,8 +38,6 @@
        'unit-pig-farm 'unit-mythical-barracks 'unit-great-hall)
 
     ;; Building can train which units.
-    (list 'train 'unit-pig-farm
-       'unit-critter)
     (list 'train 'unit-great-hall
        'unit-faun)
     (list 'train 'unit-mythical-barracks
Index: demogame/ccl/mythical/buttons.ccl
diff -u demogame/ccl/mythical/buttons.ccl:1.6 
demogame/ccl/mythical/buttons.ccl:1.7
--- demogame/ccl/mythical/buttons.ccl:1.6       Thu Oct  9 15:32:41 2003
+++ demogame/ccl/mythical/buttons.ccl   Mon Oct 13 11:15:36 2003
@@ -26,7 +26,7 @@
 ;;      along with this program; if not, write to the Free Software
 ;;      Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  
USA
 ;;
-;;     $Id: buttons.ccl,v 1.6 2003/10/09 19:32:41 martinxyz Exp $
+;;     $Id: buttons.ccl,v 1.7 2003/10/13 15:15:36 martinxyz Exp $
 
 ;; general commands -- almost all units have it -------------------------------
 
@@ -116,11 +116,6 @@
   'for-unit '(unit-faun))
 
 ;; mythical buildings commands 
-----------------------------------------------------
-
-(define-button 'pos 1 'level 0 'icon 'icon-critter
-  'action 'train-unit 'value 'unit-critter
-  'key "c" 'hint "TRAIN ~!CRITTER"
-  'for-unit '(unit-pig-farm))
 
 (define-button 'pos 2 'level 0 'icon 'icon-faun-magic
   'action 'research 'value 'upgrade-faun-magic
Index: demogame/ccl/mythical/units.ccl
diff -u demogame/ccl/mythical/units.ccl:1.16 
demogame/ccl/mythical/units.ccl:1.17
--- demogame/ccl/mythical/units.ccl:1.16        Thu Oct  9 15:32:41 2003
+++ demogame/ccl/mythical/units.ccl     Mon Oct 13 11:15:36 2003
@@ -26,7 +26,7 @@
 ;;      along with this program; if not, write to the Free Software
 ;;      Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  
USA
 ;;
-;;     $Id: units.ccl,v 1.16 2003/10/09 19:32:41 martinxyz Exp $
+;;     $Id: units.ccl,v 1.17 2003/10/13 15:15:36 martinxyz Exp $
 
 ; To add a new unit type:
 ; - add icons for all tilesets in ../icons.ccl
@@ -118,8 +118,7 @@
     attack "faun-attack"))
 
 (define-unit-type 'unit-pig-farm 'name "Pig Farm"
-  'files '(tileset-summer "tilesets/summer/mythical/buildings/farm.png"
-    tileset-winter "tilesets/winter/mythical/buildings/farm.png")
+  'files '(tileset-summer "tilesets/summer/mythical/buildings/farm.png")
   'size '(64 64)
   'animations 'animations-building 'icon 'icon-pig-farm
   'costs '(time 100 gold 500 wood 250)
@@ -148,8 +147,7 @@
     attack "pig-farm-attack"))
 
 (define-unit-type 'unit-mythical-barracks 'name "Barracks"
-  'files '(tileset-summer "tilesets/summer/mythical/buildings/barracks.png"
-    tileset-winter "tilesets/winter/mythical/buildings/barracks.png")
+  'files '(tileset-summer "tilesets/summer/mythical/buildings/barracks.png")
   'size '(96 96)
   'animations 'animations-building 'icon 'icon-mythical-barracks
   'costs '(time 200 gold 700 wood 450)
@@ -177,11 +175,10 @@
     attack "mythical-barracks-attack"))
 
 (define-unit-type 'unit-great-hall 'name "Great Hall"
-  'files '(tileset-summer "tilesets/summer/mythical/buildings/great_hall.png"
-    tileset-winter "tilesets/winter/mythical/buildings/great_hall.png")
+  'files '(tileset-summer "tilesets/summer/mythical/buildings/great_hall.png")
   'size '(128 128)
   'animations 'animations-building 'icon 'icon-great-hall
-  'costs '(time 255 gold 1200 wood 800)
+  'costs '(time 255 gold 500 wood 800)
   'repair-hp 4
   'repair-costs '(gold 1 wood 1)
   'construction 'construction-land
Index: demogame/ccl/sound.ccl
diff -u demogame/ccl/sound.ccl:1.7 demogame/ccl/sound.ccl:1.8
--- demogame/ccl/sound.ccl:1.7  Thu Oct  9 12:10:34 2003
+++ demogame/ccl/sound.ccl      Mon Oct 13 11:15:35 2003
@@ -26,7 +26,7 @@
 ;;      along with this program; if not, write to the Free Software
 ;;      Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  
USA
 ;;
-;;     $Id: sound.ccl,v 1.7 2003/10/09 16:10:34 martinxyz Exp $
+;;     $Id: sound.ccl,v 1.8 2003/10/13 15:15:35 martinxyz Exp $
 
 ;;     Uncomment this to enable threaded sound
 ;(sound-thread)
@@ -84,22 +84,14 @@
 (define sound-click (make-sound "click" "ui/click.wav"))
 
 ;;----------------------------------------------------------------------------
-;;     Define simple sounds. (FIXME: somebody must clean the order.)
-;;
-
-;;----------------------------------------------------------------------------
 ;;     Define simple alliance sounds.
 ;;
-(make-sound "basic alliance voices ready" "alliance/basic_voices/ready.wav")
+
 (make-sound "basic alliance voices help 1" "alliance/basic_voices/help/1.wav")
 (make-sound "basic alliance voices help 2" "alliance/basic_voices/help/2.wav")
 (make-sound "basic alliance voices dead" "alliance/basic_voices/dead.wav")
 
 ;;----------------------------------------------------------------------------
-;;     Define simple alliance building.
-;;
-
-;;----------------------------------------------------------------------------
 ;;     Define simple mythical sounds.
 ;;
 (make-sound "basic mythical voices ready" "mythical/basic_voices/ready.wav")
@@ -111,78 +103,22 @@
 ;;     Define simple misc sounds.
 ;;
 (make-sound "building construction" "misc/building_construction.wav")
-(make-sound "ship sinking" "ships/sinking.wav")
-(make-sound "catapult-ballista movement" 
"units/catapult-ballista/acknowledgement/1.wav")
-
-    ;; building selection sounds
-(make-sound "blacksmith" "buildings/blacksmith.wav")
-(make-sound "church-selected" "alliance/buildings/church.wav")
-(make-sound "stables-selected" "alliance/buildings/stables.wav")
-(make-sound "farm-selected" "alliance/buildings/farm.wav")
 (make-sound "gold-mine-selected" "neutral/buildings/gold_mine.wav")
-(make-sound "shipyard" "buildings/shipyard.wav")
-(make-sound "oil platform" "buildings/oil_platform.wav")
-(make-sound "oil refinery" "buildings/oil_refinery.wav")
-(make-sound "lumbermill" "buildings/lumbermill.wav")
 (make-sound "transport docking" "misc/transport_docking.wav")
 (make-sound "burning" "misc/burning.wav")
-(make-sound "gryphon-aviary-selected" "alliance/buildings/gryphon_aviary.wav")
-(make-sound "foundry" "buildings/foundry.wav")
-(make-sound "mage-tower-selected" "alliance/buildings/mage_tower.wav")
-
-    ;; spells
-
-
-
-(make-sound "flame shield" "spells/flame_shield.wav")
-
-(make-sound "healing" "spells/healing.wav")
-(make-sound "holy vision" "spells/holy_vision.wav")
-(make-sound "blizzard" "spells/blizzard.wav")
-(make-sound "invisibility" "spells/invisibility.wav")
-(make-sound "polymorph" "spells/polymorph.wav")
-(make-sound "slow" "spells/slow.wav")
 
     ;; ready sounds
 (make-sound "faun-ready" "mythical/faun/ready.wav")
-(make-sound "knight-ready" "alliance/units/knight/ready.wav")
-(make-sound "paladin-ready" "alliance/units/paladin/ready.wav")
-(make-sound "ships alliance ready" "alliance/ships/ready.wav")
-(make-sound "mage-ready" "alliance/units/mage/ready.wav")
 (make-sound "peasant-ready" "alliance/units/peasant/ready.wav")
 
-    ;; selection sounds
-(make-sound "gryphon-rider-selected" 
"alliance/units/gryphon_rider/selected/1.wav")
-(make-sound "sheep selected" "neutral/units/sheep/selected/1.wav")
-(make-sound "seal selected" "neutral/units/seal/selected/1.wav")
-(make-sound "pig selected" "neutral/units/pig/selected/1.wav")
-(make-sound "warthog selected" "neutral/units/warthog/selected/1.wav")
-    ;; annoyed sounds
-(make-sound "sheep annoyed" "neutral/units/sheep/annoyed/1.wav")
-(make-sound "seal annoyed" "neutral/units/seal/annoyed/1.wav")
-(make-sound "pig annoyed" "neutral/units/pig/annoyed/1.wav")
-(make-sound "warthog annoyed" "neutral/units/warthog/annoyed/1.wav")
-
-    ;; attack sounds
-(make-sound "catapult-ballista attack" "missiles/catapult-ballista_attack.wav")
-(make-sound "fireball hit" "missiles/fireball_hit.wav")
-(make-sound "fireball throw" "missiles/fireball_throw.wav")
-(make-sound "bow throw" "missiles/bow_throw.wav")
-(make-sound "bow hit" "missiles/bow_hit.wav")
 (make-sound "peasant attack" "alliance/units/peasant/attack.wav")
-(make-sound "lightning" "spells/lightning.wav")
-
 
 ;;----------------------------------------------------------------------------
 ;;     Define sound groups.
     ;;
     ;; Acknowledgment sounds -------------------------------------------------
     ;;
-(make-sound "basic alliance voices acknowledge"
-       (list "alliance/basic_voices/acknowledgement/1.wav"
-       "alliance/basic_voices/acknowledgement/2.wav"
-       "alliance/basic_voices/acknowledgement/3.wav"
-       "alliance/basic_voices/acknowledgement/4.wav"))
+
 (make-sound "basic mythical voices acknowledge"
        (list "mythical/basic_voices/acknowledgement/1.wav"
        "mythical/basic_voices/acknowledgement/2.wav"
@@ -193,39 +129,11 @@
        "alliance/units/peasant/acknowledgement/2.wav"
        "alliance/units/peasant/acknowledgement/3.wav"
        "alliance/units/peasant/acknowledgement/4.wav"))
-(make-sound "knight-acknowledge"
-       (list "alliance/units/knight/acknowledgement/1.wav"
-       "alliance/units/knight/acknowledgement/2.wav"
-       "alliance/units/knight/acknowledgement/3.wav"
-       "alliance/units/knight/acknowledgement/4.wav"))
-(make-sound "mage-acknowledge"
-       (list "alliance/units/mage/acknowledgement/1.wav"
-       "alliance/units/mage/acknowledgement/2.wav"
-       "alliance/units/mage/acknowledgement/3.wav"))
-(make-sound "paladin-acknowledge"
-       (list "alliance/units/paladin/acknowledgement/1.wav"
-       "alliance/units/paladin/acknowledgement/2.wav"
-       "alliance/units/paladin/acknowledgement/3.wav"
-       "alliance/units/paladin/acknowledgement/4.wav"))
-(make-sound "tanker acknowledge"
-       (list "ships/tanker/acknowledgement/1.wav"))
-(make-sound "ships alliance acknowledge"
-       (list "alliance/ships/acknowledgement/1.wav"
-       "alliance/ships/acknowledgement/2.wav"
-       "alliance/ships/acknowledgement/3.wav"))
-(make-sound "gryphon-rider-acknowledge"
-       (list "alliance/units/gryphon_rider/acknowledgement/2.wav"))
 
     ;;
     ;; Selection sounds -----------------------------------------------------
     ;;
-(make-sound "basic alliance voices selected"
-       (list "alliance/basic_voices/selected/1.wav"
-       "alliance/basic_voices/selected/2.wav"
-       "alliance/basic_voices/selected/3.wav"
-       "alliance/basic_voices/selected/4.wav"
-       "alliance/basic_voices/selected/5.wav"
-       "alliance/basic_voices/selected/6.wav"))
+
 (make-sound "basic mythical voices selected"
        (list "mythical/basic_voices/selected/1.wav"
        "mythical/basic_voices/selected/2.wav"
@@ -233,24 +141,7 @@
        "mythical/basic_voices/selected/4.wav"
        "mythical/basic_voices/selected/5.wav"
        "mythical/basic_voices/selected/6.wav"))
-(make-sound "knight selected"
-       (list "alliance/units/knight/selected/1.wav"
-       "alliance/units/knight/selected/2.wav"
-       "alliance/units/knight/selected/3.wav"
-       "alliance/units/knight/selected/4.wav"))
-(make-sound "paladin selected"
-       (list "alliance/units/paladin/selected/1.wav"
-       "alliance/units/paladin/selected/2.wav"
-       "alliance/units/paladin/selected/3.wav"
-       "alliance/units/paladin/selected/4.wav"))
-(make-sound "ships alliance selected"
-       (list "alliance/ships/selected/1.wav"
-       "alliance/ships/selected/2.wav"
-       "alliance/ships/selected/3.wav"))
-(make-sound "mage selected"
-       (list "alliance/units/mage/selected/1.wav"
-       "alliance/units/mage/selected/2.wav"
-       "alliance/units/mage/selected/3.wav"))
+
 (make-sound "peasant selected"
        (list "alliance/units/peasant/selected/1.wav"
        "alliance/units/peasant/selected/2.wav"
@@ -260,14 +151,7 @@
     ;;
     ;; Annoyed sounds --------------------------------------------------------
     ;;
-(make-sound "basic alliance voices annoyed"
-       (list "alliance/basic_voices/annoyed/1.wav"
-       "alliance/basic_voices/annoyed/2.wav"
-       "alliance/basic_voices/annoyed/3.wav"
-       "alliance/basic_voices/annoyed/4.wav"
-       "alliance/basic_voices/annoyed/5.wav"
-       "alliance/basic_voices/annoyed/6.wav"
-       "alliance/basic_voices/annoyed/7.wav"))
+
 (make-sound "basic mythical voices annoyed"
        (list "mythical/basic_voices/annoyed/1.wav"
        "mythical/basic_voices/annoyed/2.wav"
@@ -276,22 +160,7 @@
        "mythical/basic_voices/annoyed/5.wav"
        "mythical/basic_voices/annoyed/6.wav"
        "mythical/basic_voices/annoyed/7.wav"))
-(make-sound "knight annoyed"
-       (list "alliance/units/knight/annoyed/1.wav"
-       "alliance/units/knight/annoyed/2.wav"
-       "alliance/units/knight/annoyed/3.wav"))
-(make-sound "paladin annoyed"
-       (list "alliance/units/paladin/annoyed/1.wav"
-       "alliance/units/paladin/annoyed/2.wav"
-       "alliance/units/paladin/annoyed/3.wav"))
-(make-sound "ships alliance annoyed"
-       (list "alliance/ships/annoyed/1.wav"
-       "alliance/ships/annoyed/2.wav"
-       "alliance/ships/annoyed/3.wav"))
-(make-sound "mage annoyed"
-       (list "alliance/units/mage/annoyed/1.wav"
-       "alliance/units/mage/annoyed/2.wav"
-       "alliance/units/mage/annoyed/3.wav"))
+
 (make-sound "peasant annoyed"
        (list "alliance/units/peasant/annoyed/1.wav"
        "alliance/units/peasant/annoyed/2.wav"
@@ -321,107 +190,29 @@
 
 ;;----------------------------------------------------------------------------
 ;;     Define selection sound groups.
-(make-sound-group "footman-selected"
-       "basic alliance voices selected" "basic alliance voices annoyed")
+
 (make-sound-group "grunt-selected"
        "basic mythical voices selected" "basic mythical voices annoyed")
 (make-sound-group "peasant-selected"
        "peasant selected" "peasant annoyed")
-(make-sound-group "knight-selected"
-       "knight selected" "knight annoyed")
-(make-sound-group "archer-selected"
-       "elven archer-ranger selected" "elven archer-ranger annoyed")
-(make-sound-group "mage-selected"
-       "mage selected" "mage annoyed")
-(make-sound-group "paladin-selected"
-       "paladin selected" "paladin annoyed")
-(make-sound-group "dwarves-selected"
-       "dwarven demolition squad selected" "dwarven demolition squad annoyed")
-(make-sound-group "alliance-oil-tanker-selected"
-       "ships alliance selected" "ships alliance annoyed")
 
 ;;----------------------------------------------------------------------------
 ;;     Define sound remapping. (FIXME: somebody must clean the order.)
 ;;
     ;; acknowledge sounds
-(map-sound "footman-acknowledge" "basic alliance voices acknowledge")
 (map-sound "grunt-acknowledge" "basic mythical voices acknowledge")
 (map-sound "faun-acknowledge" "basic mythical voices acknowledge")
-(map-sound "ballista-acknowledge" "catapult-ballista movement")
-(map-sound "archer-acknowledge" "elven archer-ranger acknowledge")
-(map-sound "ranger-acknowledge" "elven archer-ranger acknowledge")
-(map-sound "alliance-oil-tanker-acknowledge" "tanker acknowledge")
-(map-sound "alliance-transport-acknowledge" "ships alliance acknowledge")
-(map-sound "battleship-acknowledge" "ships alliance acknowledge")
-
     ;;  ready sounds
-(map-sound "footman-ready" "basic alliance voices ready")
 (map-sound "grunt-ready" "basic mythical voices ready")
-(map-sound "ballista-ready" "basic alliance voices ready")
-(map-sound "archer-ready" "elven archer-ranger ready")
-(map-sound "ranger-ready" "elven archer-ranger ready")
-(map-sound "alliance-oil-tanker-ready" "ships alliance ready")
-(map-sound "alliance-transport-ready" "ships alliance ready")
-(map-sound "battleship-ready" "ships alliance ready")
-
     ;;  selection sounds
 (map-sound "faun-selected" "grunt-selected")
-(map-sound "ballista-selected" "click")
-(map-sound "ranger-selected" "elven archer-ranger selected")
-(map-sound "alliance-transport-selected" "alliance-oil-tanker-selected")
-(map-sound "battleship-selected" "alliance-oil-tanker-selected")
-(map-sound "daemon-selected" "click")
-(map-sound "alliance-barracks-selected" "click")
 (map-sound "mythical-barracks-selected" "click")
-(map-sound "alliance-watch-tower-selected" "click")
-(map-sound "alliance-shipyard-selected" "shipyard")
 (map-sound "town-hall-selected" "click")
 (map-sound "great-hall-selected" "click")
-(map-sound "elven-lumber-mill-selected" "lumbermill")
-(map-sound "alliance-foundry-selected" "foundry")
-(map-sound "alliance-blacksmith-selected" "blacksmith")
-(map-sound "alliance-refinery-selected" "oil refinery")
-(map-sound "alliance-oil-platform-selected" "oil platform")
-(map-sound "keep-selected" "click")
-(map-sound "castle-selected" "click")
-(map-sound "oil-patch-selected" "click")
-(map-sound "alliance-guard-tower-selected" "click")
-(map-sound "alliance-cannon-tower-selected" "click")
-
     ;; attack sounds
-(map-sound "footman-attack" "sword attack")
 (map-sound "grunt-attack" "sword attack")
 (map-sound "peasant-attack" "peasant attack")
 (map-sound "faun-attack" "peasant attack")
-(map-sound "ballista-attack" "catapult-ballista attack")
-(map-sound "knight-attack" "sword attack")
-(map-sound "archer-attack" "bow throw")
-(map-sound "mage-attack" "lightning")
-(map-sound "paladin-attack" "sword attack")
-(map-sound "dwarves-attack" "sword attack")
-(map-sound "ranger-attack" "bow throw")
-
-    ;; FIXME: what sound for ships?
-(map-sound "battleship-attack" "fireball throw")
-(map-sound "gryphon-rider-attack" "lightning")
-
-;;     FIXME: what sound for those heroes?
-;;     (map-sound "turalyon-attack")
-;;     (map-sound "danath-attack")
-;;     (map-sound "korgath-bladefist-attack")
-;;     (map-sound "cho-gall-attack")
-;;     (map-sound "lothar-attack")
-;;     (map-sound "gul-dan-attack")
-;;     (map-sound "uther-lightbringer-attack")
-;;     (map-sound "zuljin-attack")
-;;     (map-sound "daemon-attack")
-;;     FIXME: what attack sounds for towers?
-;;     (map-sound "alliance-guard-tower-attack")
-;;     (map-sound "mythical-guard-tower-attack")
-;;     (map-sound "alliance-cannon-tower-attack")
-;;     (map-sound "mythical-cannon-tower-attack")
-(map-sound "critter-help" "basic mythical voices help 1")
-(map-sound "critter-dead" "explosion")
 
 ;;     Define sounds used by game
 ;;
@@ -429,10 +220,6 @@
   'placement-error (make-sound "placement error" "ui/placement_error.wav")
   'placement-success (make-sound "placement success" 
"ui/placement_success.wav")
   'click sound-click
-; FIXME: Not ready
-;  'tree-chopping (make-sound "tree chopping" "tree_chopping.wav")
-;  'transport-docking
-;  'building-construction
 
   'work-complete (list 'alliance (make-sound "basic alliance voices work 
complete" "alliance/basic_voices/work_complete.wav"))
   'work-complete (list 'mythical (make-sound "basic mythical voices work 
complete" "mythical/basic_voices/work_complete.wav"))
Index: demogame/ccl/tilesets.ccl
diff -u demogame/ccl/tilesets.ccl:1.1 demogame/ccl/tilesets.ccl:1.2
--- demogame/ccl/tilesets.ccl:1.1       Sat Jul 26 09:39:14 2003
+++ demogame/ccl/tilesets.ccl   Mon Oct 13 11:15:35 2003
@@ -26,14 +26,10 @@
 ;;      along with this program; if not, write to the Free Software
 ;;      Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  
USA
 ;;
-;;     $Id: tilesets.ccl,v 1.1 2003/07/26 13:39:14 martinxyz Exp $
+;;     $Id: tilesets.ccl,v 1.2 2003/10/13 15:15:35 martinxyz Exp $
 
 ;;=============================================================================
 ;;     Load the different tileset definitions
-;;
-;;     FIXME: need a way to automatic load all available tileset definitions
 
 (define-tileset 'tileset-summer 'class "summer"
   'file "ccl/tilesets/summer.ccl")
-(define-tileset 'tileset-winter 'class "winter"
-  'file "ccl/tilesets/winter.ccl")
Index: demogame/ccl/units.ccl
diff -u demogame/ccl/units.ccl:1.11 demogame/ccl/units.ccl:1.12
--- demogame/ccl/units.ccl:1.11 Sun Oct 12 16:06:09 2003
+++ demogame/ccl/units.ccl      Mon Oct 13 11:15:35 2003
@@ -26,7 +26,7 @@
 ;;      along with this program; if not, write to the Free Software
 ;;      Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  
USA
 ;;
-;;     $Id: units.ccl,v 1.11 2003/10/12 20:06:09 martinxyz Exp $
+;;     $Id: units.ccl,v 1.12 2003/10/13 15:15:35 martinxyz Exp $
 
 ;; Load the animations for the units.
 (ccl:load "ccl/anim.ccl")
@@ -37,79 +37,8 @@
 ;;     NOTE: Save can generate this table.
 ;;
 
-
-
-
-
-
-
-
-
-
-(define-unit-type 'unit-daemon 'name "Daemon"
-  'files '(tileset-summer "neutral/units/daemon.png")
-  'size '(72 72)
-  'animations 'animations-daemon 'icon 'icon-daemon
-  'costs '(time 70 gold 500 oil 50)
-  'speed 14
-  'hit-points 60
-  'draw-level 60
-  'tile-size '(1 1) 'box-size '(31 31)
-  'sight-range 5 'computer-reaction-range 7 'person-reaction-range 5
-  'armor 3 'basic-damage 10 'piercing-damage 2 'missile 'missile-daemon-fire
-  'max-attack-range 3
-  'priority 63
-  'points 100
-  'demand 1
-  'type-fly
-  'right-attack
-  'can-attack
-  'can-target-land 'can-target-sea 'can-target-air
-  'air-unit
-  'detect-cloak
-  'organic
-  'selectable-by-rectangle
-  'sounds '(
-    selected "daemon-selected"
-    acknowledge "daemon-acknowledge"
-    ready "daemon-ready"
-    help "basic mythical voices help 1"
-    dead "basic mythical voices dead"
-    attack "daemon-attack"))
-
-(define-unit-type 'unit-critter 'name "Critter"
-  'files '(tileset-summer "tilesets/summer/neutral/units/critter.png"
-    tileset-winter "tilesets/winter/neutral/units/critter.png")
-  'size '(32 32)
-  'animations 'animations-critter 'icon 'icon-critter
-  'speed 3
-  'hit-points 5
-  'draw-level 35
-  'tile-size '(1 1) 'box-size '(31 31)
-  'sight-range 2 'computer-reaction-range 20 'person-reaction-range 10
-  'basic-damage 80 'piercing-damage 0 'missile 'missile-critter-explosion
-  'max-attack-range 1
-  'priority 37
-  'points 1
-  'demand 1
-  'type-land
-  'right-move
-  'can-target-land
-  'land-unit
-  'random-movement-probability 100
-  'clicks-to-explode 10
-  'organic
-  'sounds '(
-    selected "critter-selected"
-    acknowledge "critter-acknowledge"
-    ready "critter-ready"
-    help "critter-help"
-    dead "critter-dead"
-    attack "critter-attack"))
-
 (define-unit-type 'unit-gold-mine 'name "Gold Mine"
-  'files '(tileset-summer "tilesets/summer/neutral/buildings/gold_mine.png"
-    tileset-winter "tilesets/winter/neutral/buildings/gold_mine.png")
+  'files '(tileset-summer "tilesets/summer/neutral/buildings/gold_mine.png")
   'size '(96 96)
   'animations 'animations-building 'icon 'icon-gold-mine
   'costs '(time 150)
@@ -134,113 +63,6 @@
     dead "building destroyed"
     attack "gold-mine-attack"))
 
-(define-unit-type 'unit-oil-patch 'name "Oil Patch"
-  'files '(tileset-summer
-  "tilesets/summer/neutral/buildings/oil_patch.png")
-  'size '(96 96)
-  'animations 'animations-building 'icon 'icon-oil-patch
-  'speed 0
-  'hit-points 0
-  'draw-level 5
-  'tile-size '(3 3) 'box-size '(95 95)
-  'sight-range 0
-  'basic-damage 0 'piercing-damage 0 'missile 'missile-none
-  'priority 0
-  'type-naval
-  'building
-  'gives-resource 'oil
-  'sounds '(
-    selected "oil-patch-selected"
-    acknowledge "oil-patch-acknowledge"
-    ready "oil-patch-ready"
-    help "oil-patch-help"
-    dead "building destroyed"
-    attack "oil-patch-attack"))
-
-(define-unit-type 'unit-circle-of-power 'name "Circle of Power"
-  'files '(tileset-summer "neutral/buildings/circle_of_power.png")
-  'size '(64 64)
-  'animations 'animations-building 'icon 'icon-circle-of-power
-  'speed 0
-  'hit-points 0
-  'draw-level 5
-  'tile-size '(2 2) 'box-size '(63 63)
-  'sight-range 0
-  'basic-damage 0 'piercing-damage 0 'missile 'missile-none
-  'priority 0
-  'corpse '(unit-destroyed-2x2-place 0)
-  'explode-when-killed 'missile-explosion
-  'type-land
-  'building
-  'sounds '(
-    selected "circle-of-power-selected"
-    acknowledge "circle-of-power-acknowledge"
-    ready "circle-of-power-ready"
-    help "basic alliance voices help 2"
-    dead "building destroyed"
-    attack "circle-of-power-attack"))
-
-(define-unit-type 'unit-dark-portal 'name "Dark Portal"
-  'files '(tileset-summer "tilesets/summer/neutral/buildings/dark_portal.png"
-    tileset-winter
-  "tilesets/winter/neutral/buildings/dark_portal.png")
-  'size '(128 128)
-  'animations 'animations-building 'icon 'icon-dark-portal
-  'costs '(time 100 gold 3000 wood 3000 oil 1000)
-  'repair-hp 4
-  'repair-costs '(gold 1 wood 1 oil 1)
-  'construction 'construction-land2
-  'speed 0
-  'hit-points 5000
-  'draw-level 40
-  'max-mana 255
-  'tile-size '(4 4) 'box-size '(127 127)
-  'sight-range 4
-  'basic-damage 0 'piercing-damage 0 'missile 'missile-none
-  'priority 0
-  'corpse '(unit-destroyed-4x4-place 0)
-  'explode-when-killed 'missile-explosion
-  'type-land
-  'building 'builder-outside
-  'teleporter
-  'sounds '(
-    selected "dark-portal-selected"
-    acknowledge "dark-portal-acknowledge"
-    ready "dark-portal-ready"
-    help "basic mythical voices help 2"
-    dead "building destroyed"
-    attack "dark-portal-attack"))
-
-(define-unit-type 'unit-runestone 'name "Runestone"
-  'files '(tileset-summer "neutral/buildings/runestone.png"
-    tileset-winter "tilesets/winter/neutral/buildings/runestone.png")
-  'size '(64 64)
-  'animations 'animations-building 'icon 'icon-runestone
-  'costs '(time 175 gold 900 wood 500)
-  'repair-hp 4
-  'repair-costs '(gold 1 wood 1)
-  'construction 'construction-land2
-  'speed 0
-  'hit-points 5000
-  'draw-level 40
-  'max-mana 255
-  'tile-size '(2 2) 'box-size '(63 63)
-  'sight-range 4
-  'armor 20 'basic-damage 0 'piercing-damage 0 'missile 'missile-none
-  'priority 15 'annoy-computer-factor 35
-  'points 150
-  'corpse '(unit-destroyed-2x2-place 0)
-  'explode-when-killed 'missile-explosion
-  'type-land
-  'building 'builder-outside
-  'sounds '(
-    selected "runestone-selected"
-    acknowledge "runestone-acknowledge"
-    ready "runestone-ready"
-    help "basic mythical voices help 2"
-    dead "building destroyed"
-    attack "runestone-attack"))
-
 (define-unit-type 'unit-dead-body 'name "Dead Body"
   'files '(tileset-summer "neutral/units/corpses.png")
   'size '(72 72)
@@ -258,9 +80,7 @@
 
 (define-unit-type 'unit-destroyed-1x1-place 'name "Destroyed 1x1 Place"
   'files '(
-    tileset-summer "tilesets/summer/neutral/buildings/small_destroyed_site.png"
-    tileset-winter
-  "tilesets/winter/neutral/buildings/small_destroyed_site.png")
+    tileset-summer 
"tilesets/summer/neutral/buildings/small_destroyed_site.png")
   'size '(32 32)
   'animations 'animations-destroyed-place 'icon 'icon-peasant
   'speed 0
@@ -276,9 +96,7 @@
   'sounds '())
 
 (define-unit-type 'unit-destroyed-2x2-place 'name "Destroyed 2x2 Place"
-  'files '(tileset-summer 
"tilesets/summer/neutral/buildings/destroyed_site.png"
-    tileset-winter
-  "tilesets/winter/neutral/buildings/destroyed_site.png")
+  'files '(tileset-summer 
"tilesets/summer/neutral/buildings/destroyed_site.png")
   'size '(64 64)
   'animations 'animations-destroyed-place 'icon 'icon-peasant
   'speed 0
@@ -325,35 +143,9 @@
   'vanishes
   'sounds '())
 
-(define-unit-type 'unit-revealer 'name "Dummy unit"
-  'size '(0 0)
-  'animations 'animations-building 'icon 'icon-holy-vision
-  'speed 0
-  'hit-points 0
-  'tile-size '(1 1) 'box-size '(1 1)
-  'sight-range 12
-  'basic-damage 0 'piercing-damage 0 'missile 'missile-none
-  'priority 0
-  'decay-rate 1
-  'type-land
-  'building
-  'revealer
-  'detect-cloak
-  'sounds '())
 
-(define-unit-type 'unit-reveal-attacker 'name "Dummy unit"
-  'size '(0 0)
-  'animations 'animations-building 'icon 'icon-holy-vision
-  'speed 0
-  'hit-points 0
-  'tile-size '(1 1) 'box-size '(1 1)
-  'sight-range 1
-  'basic-damage 0 'piercing-damage 0 'missile 'missile-none
-  'priority 0
-  'decay-rate 1
-  'type-land
-  'building
-  'sounds '())
+
+
 
 ;; Load the different races
 (ccl:load "ccl/alliance/units.ccl")
Index: demogame/ccl/upgrade.ccl
diff -u demogame/ccl/upgrade.ccl:1.4 demogame/ccl/upgrade.ccl:1.5
--- demogame/ccl/upgrade.ccl:1.4        Sun Oct 12 16:06:09 2003
+++ demogame/ccl/upgrade.ccl    Mon Oct 13 11:15:35 2003
@@ -26,7 +26,7 @@
 ;;      along with this program; if not, write to the Free Software
 ;;      Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  
USA
 ;;
-;;     $Id: upgrade.ccl,v 1.4 2003/10/12 20:06:09 martinxyz Exp $
+;;     $Id: upgrade.ccl,v 1.5 2003/10/13 15:15:35 martinxyz Exp $
 
 ;; Load the different races
 (ccl:load "ccl/alliance/upgrade.ccl")
@@ -44,14 +44,8 @@
 ;;
 
 
-(define-allow 'unit-critter                    "AAAAAAAAAAAAAAAA")
-(define-allow 'unit-daemon                     "AAAAAAAAAAAAAAAA")
 (define-allow 'unit-gold-mine                  "AAAAAAAAAAAAAAAA")
-(define-allow 'unit-oil-patch                  "AAAAAAAAAAAAAAAA")
 
-(define-allow 'unit-circle-of-power            "AAAAAAAAAAAAAAAA")
-(define-allow 'unit-dark-portal                        "AAAAAAAAAAAAAAAA")
-(define-allow 'unit-runestone                  "AAAAAAAAAAAAAAAA")
 
 (define-allow 'unit-dead-body                  "AAAAAAAAAAAAAAAA")
 (define-allow 'unit-destroyed-1x1-place                "AAAAAAAAAAAAAAAA")
Index: demogame/puds/default.pud.gz
Index: demogame/scripts/removeunit.py
diff -u demogame/scripts/removeunit.py:1.2 demogame/scripts/removeunit.py:1.3
--- demogame/scripts/removeunit.py:1.2  Sat Oct 11 05:00:16 2003
+++ demogame/scripts/removeunit.py      Mon Oct 13 11:15:50 2003
@@ -21,7 +21,7 @@
             assert not unit
             unit = u
     if not unit:
-        print 'unittype not found'
+        print 'unittype', type, 'not found'
         sys.exit(1)
 
     assert type.startswith('unit-')




reply via email to

[Prev in Thread] Current Thread [Next in Thread]