-- _________ __ __ -- / _____// |_____________ _/ |______ ____ __ __ ______ -- \_____ \\ __\_ __ \__ \\ __\__ \ / ___\| | \/ ___/ -- / \| | | | \// __ \| | / __ \_/ /_/ > | /\___ \ -- /_______ /|__| |__| (____ /__| (____ /\___ /|____//____ > -- \/ \/ \//_____/ \/ -- ______________________ ______________________ -- T H E W A R B E G I N S -- Stratagus - A free fantasy real time strategy game engine -- -- (c) Copyright 2011 by Kyran Jackson -- -- This program is free software; you can redistribute it and/or modify -- it under the terms of the GNU General Public License as published by -- the Free Software Foundation; either version 2 of the License, or -- (at your option) any later version. -- -- This program is distributed in the hope that it will be useful, -- but WITHOUT ANY WARRANTY; without even the implied warranty of -- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -- GNU General Public License for more details. -- -- You should have received a copy of the GNU General Public License -- along with this program; if not, write to the Free Software -- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -- --DefineMotherLandSpells() --DefineMotherLandUnits() --DefineMotherLandButtons() --DefineMotherLandUpgrades() Load("scripts/anim.lua") DefineUnitType("unit-nomad", {}) DefineUnitType("unit-yeoman", {}) -- __________________ __________________ -- F O R T H E M O T H E R L A N D -- ______________________________ ______________________________ -- S P E L L S -- __________________ __________________ -- S U M M O N H U M A N U N I T S unit = "unit-footman" index = UnitDatabaseSetup("human", unit) DefineSpell("spell-unit-footman", "showname", "Footman", "res-cost", {0, UnitDatabase["human"][index]["CastGold"], UnitDatabase["human"][index]["CastWood"], UnitDatabase["human"][index]["CastOil"], 0, 0, 0}, "range", 6, "target", "position", "action", {{"summon", "unit-type", unit, "time-to-live", 99000}, {"spawn-missile", "missile", "missile-normal-spell", "start-point", {"base", "target"}}}, "sound-when-cast", "eye of vision" ) unit = "unit-yeoman" index = UnitDatabaseSetup("human", unit) DefineSpell("spell-unit-yeoman", "showname", "Yeoman", "res-cost", {0, UnitDatabase["human"][index]["CastGold"], UnitDatabase["human"][index]["CastWood"], UnitDatabase["human"][index]["CastOil"], 0, 0, 0}, "range", 6, "target", "position", "action", {{"summon", "unit-type", unit, "time-to-live", 99000}, {"spawn-missile", "missile", "missile-normal-spell", "start-point", {"base", "target"}}}, "sound-when-cast", "eye of vision" ) unit = "unit-archer" index = UnitDatabaseSetup("human", unit) DefineSpell("spell-unit-archer", "showname", "Archer", "res-cost", {0, UnitDatabase["human"][index]["CastGold"], UnitDatabase["human"][index]["CastWood"], UnitDatabase["human"][index]["CastOil"], 0, 0, 0}, "range", 6, "target", "position", "action", {{"summon", "unit-type", unit, "time-to-live", 99000}, {"spawn-missile", "missile", "missile-normal-spell", "start-point", {"base", "target"}}}, "sound-when-cast", "eye of vision" ) unit = "unit-ballista" index = UnitDatabaseSetup("human", unit) DefineSpell("spell-unit-ballista", "showname", "Ballista", "res-cost", {0, UnitDatabase["human"][index]["CastGold"], UnitDatabase["human"][index]["CastWood"], UnitDatabase["human"][index]["CastOil"], 0, 0, 0}, "range", 6, "target", "position", "action", {{"summon", "unit-type", unit, "time-to-live", 99000}, {"spawn-missile", "missile", "missile-normal-spell", "start-point", {"base", "target"}}}, "sound-when-cast", "eye of vision" ) unit = "unit-knight" index = UnitDatabaseSetup("human", unit) DefineSpell("spell-unit-knight", "showname", "Knight", "res-cost", {0, UnitDatabase["human"][index]["CastGold"], UnitDatabase["human"][index]["CastWood"], UnitDatabase["human"][index]["CastOil"], 0, 0, 0}, "range", 6, "target", "position", "action", {{"summon", "unit-type", unit, "time-to-live", 99000}, {"spawn-missile", "missile", "missile-normal-spell", "start-point", {"base", "target"}}}, "sound-when-cast", "eye of vision" ) unit = "unit-female-hero" index = UnitDatabaseSetup("human", unit) DefineSpell("spell-unit-female-hero", "showname", "Hero Archer", "res-cost", {0, UnitDatabase["human"][index]["CastGold"], UnitDatabase["human"][index]["CastWood"], UnitDatabase["human"][index]["CastOil"], 0, 0, 0}, "range", 6, "target", "position", "action", {{"summon", "unit-type", unit, "time-to-live", 99000}, {"spawn-missile", "missile", "missile-normal-spell", "start-point", {"base", "target"}}}, "sound-when-cast", "eye of vision" ) unit = "unit-knight-rider" index = UnitDatabaseSetup("human", unit) DefineSpell("spell-unit-knight-rider", "showname", "Hero Horseman", "res-cost", {0, UnitDatabase["human"][index]["CastGold"], UnitDatabase["human"][index]["CastWood"], UnitDatabase["human"][index]["CastOil"], 0, 0, 0}, "range", 6, "target", "position", "action", {{"summon", "unit-type", unit, "time-to-live", 99000}, {"spawn-missile", "missile", "missile-normal-spell", "start-point", {"base", "target"}}}, "sound-when-cast", "eye of vision" ) unit = "unit-arthor-literios" index = UnitDatabaseSetup("human", unit) DefineSpell("spell-unit-arthor-literios", "showname", "Hero Soldier", "res-cost", {0, UnitDatabase["human"][index]["CastGold"], UnitDatabase["human"][index]["CastWood"], UnitDatabase["human"][index]["CastOil"], 0, 0, 0}, "range", 6, "target", "position", "action", {{"summon", "unit-type", unit, "time-to-live", 99000}, {"spawn-missile", "missile", "missile-normal-spell", "start-point", {"base", "target"}}}, "sound-when-cast", "eye of vision" ) unit = "unit-mage" index = UnitDatabaseSetup("human", unit) DefineSpell("spell-unit-mage", "showname", "Mage", "res-cost", {0, UnitDatabase["human"][index]["CastGold"], UnitDatabase["human"][index]["CastWood"], UnitDatabase["human"][index]["CastOil"], 0, 0, 0}, "range", 6, "target", "position", "action", {{"summon", "unit-type", unit, "time-to-live", 99000}, {"spawn-missile", "missile", "missile-normal-spell", "start-point", {"base", "target"}}}, "sound-when-cast", "eye of vision" ) unit = "unit-paladin" index = UnitDatabaseSetup("human", unit) DefineSpell("spell-unit-paladin", "showname", "Paladin", "res-cost", {0, UnitDatabase["human"][index]["CastGold"], UnitDatabase["human"][index]["CastWood"], UnitDatabase["human"][index]["CastOil"], 0, 0, 0}, "range", 6, "target", "position", "action", {{"summon", "unit-type", unit, "time-to-live", 99000}, {"spawn-missile", "missile", "missile-normal-spell", "start-point", {"base", "target"}}}, "sound-when-cast", "eye of vision" ) unit = "unit-dwarves" index = UnitDatabaseSetup("human", unit) DefineSpell("spell-unit-dwarves", "showname", "Dwarves", "res-cost", {0, UnitDatabase["human"][index]["CastGold"], UnitDatabase["human"][index]["CastWood"], UnitDatabase["human"][index]["CastOil"], 0, 0, 0}, "range", 6, "target", "position", "action", {{"summon", "unit-type", unit, "time-to-live", 99000}, {"spawn-missile", "missile", "missile-normal-spell", "start-point", {"base", "target"}}}, "sound-when-cast", "eye of vision" ) unit = "unit-peasant" index = UnitDatabaseSetup("human", unit) DefineSpell("spell-unit-peasant", "showname", "Peasant", "res-cost", {0, UnitDatabase["human"][index]["CastGold"], UnitDatabase["human"][index]["CastWood"], UnitDatabase["human"][index]["CastOil"], 0, 0, 0}, "range", 6, "target", "position", "action", {{"summon", "unit-type", unit, "time-to-live", 99000}, {"spawn-missile", "missile", "missile-normal-spell", "start-point", {"base", "target"}}}, "sound-when-cast", "eye of vision" ) unit = "unit-ranger" index = UnitDatabaseSetup("human", unit) DefineSpell("spell-unit-ranger", "showname", "Ranger", "res-cost", {0, UnitDatabase["human"][index]["CastGold"], UnitDatabase["human"][index]["CastWood"], UnitDatabase["human"][index]["CastOil"], 0, 0, 0}, "range", 6, "target", "position", "action", {{"summon", "unit-type", unit, "time-to-live", 99000}, {"spawn-missile", "missile", "missile-normal-spell", "start-point", {"base", "target"}}}, "sound-when-cast", "eye of vision" ) unit = "unit-gryphon-rider" index = UnitDatabaseSetup("human", unit) DefineSpell("spell-unit-gryphon-rider", "showname", "Gryphon Rider", "res-cost", {0, UnitDatabase["human"][index]["CastGold"], UnitDatabase["human"][index]["CastWood"], UnitDatabase["human"][index]["CastOil"], 0, 0, 0}, "range", 6, "target", "position", "action", {{"summon", "unit-type", unit, "time-to-live", 99000}, {"spawn-missile", "missile", "missile-normal-spell", "start-point", {"base", "target"}}}, "sound-when-cast", "eye of vision" ) unit = "unit-attack-peasant" index = UnitDatabaseSetup("human", unit) DefineSpell("spell-unit-attack-peasant", "showname", "Minuteman", "res-cost", {0, UnitDatabase["human"][index]["CastGold"], UnitDatabase["human"][index]["CastWood"], UnitDatabase["human"][index]["CastOil"], 0, 0, 0}, "range", 6, "target", "position", "action", {{"summon", "unit-type", unit, "time-to-live", 99000}, {"spawn-missile", "missile", "missile-normal-spell", "start-point", {"base", "target"}}}, "sound-when-cast", "eye of vision" ) -- __________________ __________________ -- F O R T H E M O T H E R L A N D -- ______________________________ ______________________________ -- S P E L L S -- ____________________ ____________________ -- S U M M O N O R C U N I T S unit = "unit-sharp-axe" index = UnitDatabaseSetup("orc", unit) DefineSpell("spell-unit-sharp-axe", "showname", "Hero Axethrower", "res-cost", {0, UnitDatabase["orc"][index]["CastGold"], UnitDatabase["orc"][index]["CastWood"], UnitDatabase["orc"][index]["CastOil"], 0, 0, 0}, "range", 6, "target", "position", "action", {{"summon", "unit-type", unit, "time-to-live", 99000}, {"spawn-missile", "missile", "missile-normal-spell", "start-point", {"base", "target"}}}, "sound-when-cast", "eye of vision" ) unit = "unit-fad-man" index = UnitDatabaseSetup("orc", unit) DefineSpell("spell-unit-fad-man", "showname", "Hero Horseman", "res-cost", {0, UnitDatabase["orc"][index]["CastGold"], UnitDatabase["orc"][index]["CastWood"], UnitDatabase["orc"][index]["CastOil"], 0, 0, 0}, "range", 6, "target", "position", "action", {{"summon", "unit-type", unit, "time-to-live", 99000}, {"spawn-missile", "missile", "missile-normal-spell", "start-point", {"base", "target"}}}, "sound-when-cast", "eye of vision" ) unit = "unit-peon" index = UnitDatabaseSetup("orc", unit) DefineSpell("spell-unit-peon", "showname", "Peon", "res-cost", {0, UnitDatabase["orc"][index]["CastGold"], UnitDatabase["orc"][index]["CastWood"], UnitDatabase["orc"][index]["CastOil"], 0, 0, 0}, "range", 6, "target", "position", "action", {{"summon", "unit-type", unit, "time-to-live", 99000}, {"spawn-missile", "missile", "missile-normal-spell", "start-point", {"base", "target"}}}, "sound-when-cast", "eye of vision" ) unit = "unit-grunt" index = UnitDatabaseSetup("orc", unit) DefineSpell("spell-unit-grunt", "showname", "Grunt", "res-cost", {0, UnitDatabase["orc"][index]["CastGold"], UnitDatabase["orc"][index]["CastWood"], UnitDatabase["orc"][index]["CastOil"], 0, 0, 0}, "range", 6, "target", "position", "action", {{"summon", "unit-type", unit, "time-to-live", 99000}, {"spawn-missile", "missile", "missile-normal-spell", "start-point", {"base", "target"}}}, "sound-when-cast", "eye of vision" ) unit = "unit-axethrower" index = UnitDatabaseSetup("orc", unit) DefineSpell("spell-unit-axethrower", "showname", "Troll Axethrower", "res-cost", {0, UnitDatabase["orc"][index]["CastGold"], UnitDatabase["orc"][index]["CastWood"], UnitDatabase["orc"][index]["CastOil"], 0, 0, 0}, "range", 6, "target", "position", "action", {{"summon", "unit-type", unit, "time-to-live", 99000}, {"spawn-missile", "missile", "missile-normal-spell", "start-point", {"base", "target"}}}, "sound-when-cast", "eye of vision" ) unit = "unit-catapult" index = UnitDatabaseSetup("orc", unit) DefineSpell("spell-unit-catapult", "showname", "Catapult", "res-cost", {0, UnitDatabase["orc"][index]["CastGold"], UnitDatabase["orc"][index]["CastWood"], UnitDatabase["orc"][index]["CastOil"], 0, 0, 0}, "range", 6, "target", "position", "action", {{"summon", "unit-type", unit, "time-to-live", 99000}, {"spawn-missile", "missile", "missile-normal-spell", "start-point", {"base", "target"}}}, "sound-when-cast", "eye of vision" ) unit = "unit-ogre" index = UnitDatabaseSetup("orc", unit) DefineSpell("spell-unit-ogre", "showname", "Ogre", "res-cost", {0, UnitDatabase["orc"][index]["CastGold"], UnitDatabase["orc"][index]["CastWood"], UnitDatabase["orc"][index]["CastOil"], 0, 0, 0}, "range", 6, "target", "position", "action", {{"summon", "unit-type", unit, "time-to-live", 99000}, {"spawn-missile", "missile", "missile-normal-spell", "start-point", {"base", "target"}}}, "sound-when-cast", "eye of vision" ) unit = "unit-death-knight" index = UnitDatabaseSetup("orc", unit) DefineSpell("spell-unit-death-knight", "showname", "Death Knight", "res-cost", {0, UnitDatabase["orc"][index]["CastGold"], UnitDatabase["orc"][index]["CastWood"], UnitDatabase["orc"][index]["CastOil"], 0, 0, 0}, "range", 6, "target", "position", "action", {{"summon", "unit-type", unit, "time-to-live", 99000}, {"spawn-missile", "missile", "missile-normal-spell", "start-point", {"base", "target"}}}, "sound-when-cast", "eye of vision" ) unit = "unit-ogre-mage" index = UnitDatabaseSetup("orc", unit) DefineSpell("spell-unit-ogre-mage", "showname", "Ogre Mage", "res-cost", {0, UnitDatabase["orc"][index]["CastGold"], UnitDatabase["orc"][index]["CastWood"], UnitDatabase["orc"][index]["CastOil"], 0, 0, 0}, "range", 6, "target", "position", "action", {{"summon", "unit-type", unit, "time-to-live", 99000}, {"spawn-missile", "missile", "missile-normal-spell", "start-point", {"base", "target"}}}, "sound-when-cast", "eye of vision" ) unit = "unit-dragon" index = UnitDatabaseSetup("orc", unit) DefineSpell("spell-unit-dragon", "showname", "Dragon", "res-cost", {0, UnitDatabase["orc"][index]["CastGold"], UnitDatabase["orc"][index]["CastWood"], UnitDatabase["orc"][index]["CastOil"], 0, 0, 0}, "range", 6, "target", "position", "action", {{"summon", "unit-type", unit, "time-to-live", 99000}, {"spawn-missile", "missile", "missile-normal-spell", "start-point", {"base", "target"}}}, "sound-when-cast", "eye of vision" ) unit = "unit-quick-blade" index = UnitDatabaseSetup("orc", unit) DefineSpell("spell-unit-quick-blade", "showname", "Hero Soldier", "res-cost", {0, UnitDatabase["orc"][index]["CastGold"], UnitDatabase["orc"][index]["CastWood"], UnitDatabase["orc"][index]["CastOil"], 0, 0, 0}, "range", 6, "target", "position", "action", {{"summon", "unit-type", unit, "time-to-live", 99000}, {"spawn-missile", "missile", "missile-normal-spell", "start-point", {"base", "target"}}}, "sound-when-cast", "eye of vision" ) unit = "unit-goblin-sappers" index = UnitDatabaseSetup("orc", unit) DefineSpell("spell-unit-goblin-sappers", "showname", "Goblin Sappers", "res-cost", {0, UnitDatabase["orc"][index]["CastGold"], UnitDatabase["orc"][index]["CastWood"], UnitDatabase["orc"][index]["CastOil"], 0, 0, 0}, "range", 6, "target", "position", "action", {{"summon", "unit-type", unit, "time-to-live", 99000}, {"spawn-missile", "missile", "missile-normal-spell", "start-point", {"base", "target"}}}, "sound-when-cast", "eye of vision" ) unit = "unit-berserker" index = UnitDatabaseSetup("orc", unit) DefineSpell("spell-unit-berserker", "showname", "Berserker", "res-cost", {0, UnitDatabase["orc"][index]["CastGold"], UnitDatabase["orc"][index]["CastWood"], UnitDatabase["orc"][index]["CastOil"], 0, 0, 0}, "range", 6, "target", "position", "action", {{"summon", "unit-type", unit, "time-to-live", 99000}, {"spawn-missile", "missile", "missile-normal-spell", "start-point", {"base", "target"}}}, "sound-when-cast", "eye of vision" ) unit = "unit-skeleton" index = UnitDatabaseSetup("orc", unit) DefineSpell("spell-unit-skeleton", "showname", "Skeleton", "res-cost", {0, UnitDatabase["orc"][index]["CastGold"], UnitDatabase["orc"][index]["CastWood"], UnitDatabase["orc"][index]["CastOil"], 0, 0, 0}, "range", 6, "target", "position", "action", {{"summon", "unit-type", unit, "time-to-live", 99000}, {"spawn-missile", "missile", "missile-normal-spell", "start-point", {"base", "target"}}}, "sound-when-cast", "eye of vision" ) unit = "unit-nomad" index = UnitDatabaseSetup("orc", unit) DefineSpell("spell-unit-nomad", "showname", "Nomad", "res-cost", {0, UnitDatabase["orc"][index]["CastGold"], UnitDatabase["orc"][index]["CastWood"], UnitDatabase["orc"][index]["CastOil"], 0, 0, 0}, "range", 6, "target", "position", "action", {{"summon", "unit-type", unit, "time-to-live", 99000}, {"spawn-missile", "missile", "missile-normal-spell", "start-point", {"base", "target"}}}, "sound-when-cast", "eye of vision" ) -- __________________ __________________ -- F O R T H E M O T H E R L A N D -- _________________________________ ____________________________ -- U N I T S DefineUnitType("unit-caanoo-wiseskeleton", { Name = _("Wise Skeleton"), Image = {"file", "orc/units/death_knight.png", "size", {72, 72}}, Animations = "animations-death-knight", Icon = "icon-evil-knight", Costs = {"time", 120, "gold", 1200}, Speed = 8, HitPoints = 60, DrawLevel = 40, Mana = {Enable = false}, TileSize = {1, 1}, BoxSize = {39, 39}, SightRange = 9, ComputerReactionRange = 11, PersonReactionRange = 9, BasicDamage = 0, PiercingDamage = 9, Missile = "missile-touch-of-death", MaxAttackRange = 3, Priority = 70, Points = 100, Demand = 1, Type = "land", RightMouseAction = "attack", CanAttack = true, CanTargetLand = true, CanTargetSea = true, CanTargetAir = true, CanCastSpell = { "spell-unit-peon", "spell-unit-grunt", "spell-unit-axethrower", "spell-unit-catapult", "spell-unit-ogre", "spell-unit-death-knight", "spell-unit-ogre-mage", "spell-unit-dragon", "spell-unit-quick-blade", "spell-unit-goblin-sappers", "spell-unit-nomad", "spell-unit-berserker", "spell-unit-skeleton"}, -- Am I missing some heroes? LandUnit = true, Coward = true, isundead = true, organic = true, SelectableByRectangle = true, Sounds = { "selected", "death-knight-selected", "acknowledge", "death-knight-acknowledge", "ready", "death-knight-ready", "help", "basic orc voices help 1", "dead", "basic orc voices dead"} } ) DefineUnitType("unit-caanoo-wiseman", { Name = _("Wise Man"), Image = {"file", "human/units/mage.png", "size", {72, 72}}, Animations = "animations-mage", Icon = "icon-mage", Costs = {"time", 120, "gold", 1200}, Speed = 8, HitPoints = 60, DrawLevel = 40, Mana = {Enable = false}, TileSize = {1, 1}, BoxSize = {33, 33}, SightRange = 9, ComputerReactionRange = 11, PersonReactionRange = 9, BasicDamage = 0, PiercingDamage = 9, Missile = "missile-lightning", MaxAttackRange = 2, Priority = 70, Points = 100, Demand = 1, Type = "land", RightMouseAction = "attack", CanAttack = true, CanTargetLand = true, CanTargetSea = true, CanTargetAir = true, CanCastSpell = { "spell-unit-footman", "spell-unit-archer", "spell-unit-ballista", "spell-unit-knight", "spell-unit-female-hero", "spell-unit-knight-rider", "spell-unit-peasant", "spell-unit-ranger", "spell-unit-yeoman", "spell-unit-gryphon-rider", "spell-unit-fad-man", "spell-unit-arthor-literios", "spell-unit-sharp-axe", "spell-unit-mage", "spell-unit-paladin", "spell-unit-attack-peasant", "spell-unit-dwarves"}, LandUnit = true, Coward = true, organic = true, SelectableByRectangle = true, Sounds = { "selected", "mage-selected", "acknowledge", "mage-acknowledge", "ready", "mage-ready", "help", "basic human voices help 1", "dead", "basic human voices dead"} } ) DefineUnitType("unit-yeoman", { Name = _("Yeoman"), Image = {"file", "human/units/elven_archer.png", "size", {72, 72}}, Animations = "animations-ranger", Icon = "icon-ranger", Costs = {"time", 70, "gold", 500, "wood", 50}, Level = 1, Speed = 10, HitPoints = 50, RandomMovementProbability = 1, DrawLevel = 40, TileSize = {1, 1}, BoxSize = {33, 33}, SightRange = 6, ComputerReactionRange = 9, PersonReactionRange = 6, BasicDamage = 3, PiercingDamage = 6, Missile = "missile-arrow", MaxAttackRange = 6, Priority = 57, Points = 100, Demand = 1, Corpse = "unit-human-dead-body", Type = "land", RightMouseAction = "attack", CanAttack = true, CanTargetLand = true, CanTargetSea = true, CanTargetAir = true, LandUnit = true, organic = true, SelectableByRectangle = true, Sounds = { "selected", "ranger-selected", "acknowledge", "ranger-acknowledge", "ready", "ranger-ready", "help", "basic human voices help 1", "dead", "basic human voices dead"} } ) DefineUnitType("unit-nomad", { Name = _("Nomad"), Image = {"file", "orc/units/troll_axethrower.png", "size", {72, 72}}, Animations = "animations-axethrower", Icon = "icon-axethrower", Costs = {"time", 70, "gold", 500, "wood", 50}, Level = 1, Speed = 10, HitPoints = 50, DrawLevel = 40, RandomMovementProbability = 1, TileSize = {1, 1}, BoxSize = {33, 33}, SightRange = 6, ComputerReactionRange = 9, PersonReactionRange = 6, BasicDamage = 3, PiercingDamage = 6, Missile = "missile-axe", MaxAttackRange = 6, Priority = 57, Points = 100, Demand = 1, Corpse = "unit-orc-dead-body", Type = "land", RightMouseAction = "attack", CanAttack = true, CanTargetLand = true, CanTargetSea = true, CanTargetAir = true, LandUnit = true, organic = true, SelectableByRectangle = true, Sounds = { "selected", "axethrower-selected", "acknowledge", "axethrower-acknowledge", "ready", "axethrower-ready", "help", "basic orc voices help 1", "dead", "basic orc voices dead"} } ) DefineUnitType("unit-ernie", { Name = _("Ernie Wrigglebone"), Image = {"file", "neutral/units/skeleton.png", "size", {56, 56}}, Animations = "animations-skeleton", Icon = "icon-skeleton", Speed = 8, HitPoints = 9001, DrawLevel = 40, TileSize = {1, 1}, BoxSize = {31, 31}, SightRange = 3, ComputerReactionRange = 4, PersonReactionRange = 2, BasicDamage = 30, PiercingDamage = 15, Missile = "missile-none", MaxAttackRange = 1, Priority = 100, Demand = 1, Type = "land", RightMouseAction = "attack", CanAttack = true, CanTargetLand = true, LandUnit = true, isundead = true, RandomMovementProbability = 50, organic = true, SelectableByRectangle = true, Sounds = { "selected", "skeleton-selected", -- "acknowledge", "skeleton-acknowledge", -- "ready", "skeleton-ready", "help", "basic orc voices help 1", "dead", "basic orc voices dead"} } ) DefineUnitType("unit-evildragon", { Name = _("Evil Dragon"), Image = {"file", "orc/units/dragon.png", "size", {88, 80}}, Shadow = ShadowDefinition(2), Animations = "animations-dragon", Icon = "icon-dragon", Costs = {"time", 250, "gold", 2500}, Speed = 30, RandomMovementProbability = 25, HitPoints = 9085, DrawLevel = 60, TileSize = {2, 2}, BoxSize = {71, 71}, SightRange = 6, ComputerReactionRange = 8, PersonReactionRange = 6, Armor = 5, BasicDamage = 40, PiercingDamage = 60, Missile = "missile-dragon-breath", MaxAttackRange = 6, Priority = 200, Points = 15000, Demand = 1, Type = "fly", RightMouseAction = "attack", CanAttack = true, CanTargetLand = true, CanTargetSea = true, CanTargetAir = true, AirUnit = true, DetectCloak = true, organic = true, SelectableByRectangle = true, Sounds = { "selected", "dragon-selected", "acknowledge", "dragon-acknowledge", "ready", "dragon-ready", "help", "basic orc voices help 1", "dead", "explosion"} } ) -- __________________ __________________ -- F O R T H E M O T H E R L A N D -- _____________________________ _____________________________ -- B U T T O N S DefineButton( { Pos = 7, Level = 0, Icon = "icon-build-basic", Action = "button", Value = 1, Key = "b", Hint = "~!BUILD BASIC STRUCTURE", ForUnit = {"unit-caanoo-wiseskeleton"} } ) DefineButton( { Pos = 8, Level = 0, Icon = "icon-build-advanced", Action = "button", Value = 2, Key = "v", Hint = "BUILD AD~!VANCED STRUCTURE", ForUnit = {"unit-caanoo-wiseskeleton"} } ) -- Basic Units DefineButton( { Pos = 3, Level = 1, Icon = "icon-grunt", Action = "cast-spell", Value = "spell-unit-grunt", Allowed = "check-upgrade", AllowArg = {"upgrade-eye-of-kilrogg"}, Key = "g", Hint = "~!GRUNT", ForUnit = {"unit-caanoo-wiseskeleton"} } ) DefineButton( { Pos = 2, Level = 1, Icon = "icon-axethrower", Action = "cast-spell", Value = "spell-unit-axethrower", Allowed = "check-upgrade", AllowArg = {"upgrade-eye-of-kilrogg"}, Key = "a", Hint = "TROLL ~!AXETHROWER", ForUnit = {"unit-caanoo-wiseskeleton"} } ) DefineButton( { Pos = 1, Level = 1, Icon = "icon-ogre", Action = "cast-spell", Value = "spell-unit-ogre", Allowed = "check-upgrade", AllowArg = {"upgrade-eye-of-kilrogg"}, Key = "o", Hint = "~!OGRE", ForUnit = {"unit-caanoo-wiseskeleton"} } ) DefineButton( { Pos = 4, Level = 1, Icon = "icon-ogre-mage", Action = "cast-spell", Value = "spell-unit-ogre-mage", Allowed = "check-upgrade", AllowArg = {"upgrade-eye-of-kilrogg"}, Key = "m", Hint = "OGRE ~!MAGE", ForUnit = {"unit-caanoo-wiseskeleton"} } ) DefineButton( { Pos = 5, Level = 1, Icon = "icon-berserker", Action = "cast-spell", Value = "spell-unit-berserker", Allowed = "check-upgrade", AllowArg = {"upgrade-eye-of-kilrogg"}, Key = "b", Hint = "~!BERSERKER", ForUnit = {"unit-caanoo-wiseskeleton"} } ) DefineButton( { Pos = 6, Level = 1, Icon = "icon-quick-blade", Action = "cast-spell", Value = "spell-unit-quick-blade", Allowed = "check-upgrade", AllowArg = {"upgrade-eye-of-kilrogg"}, Key = "b", Hint = "~!BLADE", ForUnit = {"unit-caanoo-wiseskeleton"} } ) DefineButton( { Pos = 7, Level = 1, Icon = "icon-fad-man", Action = "cast-spell", Value = "spell-unit-fad-man", Allowed = "check-upgrade", AllowArg = {"upgrade-eye-of-kilrogg"}, Key = "r", Hint = "~!RIDER", ForUnit = {"unit-caanoo-wiseskeleton"} } ) DefineButton( { Pos = 8, Level = 1, Icon = "icon-sharp-axe", Action = "cast-spell", Value = "spell-unit-sharp-axe", Allowed = "check-upgrade", AllowArg = {"upgrade-eye-of-kilrogg"}, Key = "s", Hint = "~!SHARP", ForUnit = {"unit-caanoo-wiseskeleton"} } ) DefineButton( { Pos = 9, Level = 1, Icon = "icon-cancel", Action = "button", Value = 0, Key = "ESC", Hint = "~ CANCEL", ForUnit = {"unit-caanoo-wiseskeleton"} } ) -- Advanced Units DefineButton( { Pos = 2, Level = 2, Icon = "icon-goblin-sappers", Action = "cast-spell", Value = "spell-unit-goblin-sappers", Allowed = "check-upgrade", AllowArg = {"upgrade-eye-of-kilrogg"}, Key = "s", Hint = "GOBLIN ~!SAPPERS", ForUnit = {"unit-caanoo-wiseskeleton"} } ) DefineButton( { Pos = 1, Level = 2, Icon = "icon-death-knight", Action = "cast-spell", Value = "spell-unit-death-knight", Allowed = "check-upgrade", AllowArg = {"upgrade-eye-of-kilrogg"}, Key = "k", Hint = "DEATH ~!KNIGHT", ForUnit = {"unit-caanoo-wiseskeleton"} } ) DefineButton( { Pos = 3, Level = 2, Icon = "icon-catapult", Action = "cast-spell", Value = "spell-unit-catapult", Allowed = "check-upgrade", AllowArg = {"upgrade-eye-of-kilrogg"}, Key = "c", Hint = "~!CATAPULT", ForUnit = {"unit-caanoo-wiseskeleton"} } ) DefineButton( { Pos = 4, Level = 2, Icon = "icon-peon", Action = "cast-spell", Value = "spell-unit-peon", Allowed = "check-upgrade", AllowArg = {"upgrade-eye-of-kilrogg"}, Key = "p", Hint = "~!PEON", ForUnit = {"unit-caanoo-wiseskeleton"} } ) DefineButton( { Pos = 5, Level = 2, Icon = "icon-axethrower", Action = "cast-spell", Value = "spell-unit-nomad", Allowed = "check-upgrade", AllowArg = {"upgrade-eye-of-kilrogg"}, Key = "o", Hint = "N~!OMAD", ForUnit = {"unit-caanoo-wiseskeleton"} } ) DefineButton( { Pos = 6, Level = 2, Icon = "icon-skeleton", Action = "cast-spell", Value = "spell-unit-skeleton", Allowed = "check-upgrade", AllowArg = {"upgrade-eye-of-kilrogg"}, Key = "u", Hint = "~!UNDEAD", ForUnit = {"unit-caanoo-wiseskeleton"} } ) DefineButton( { Pos = 8, Level = 2, Icon = "icon-dragon", Action = "cast-spell", Value = "spell-unit-dragon", Allowed = "check-upgrade", AllowArg = {"upgrade-eye-of-kilrogg"}, Key = "d", Hint = "~!DRAGON", ForUnit = {"unit-caanoo-wiseskeleton"} } ) DefineButton( { Pos = 9, Level = 2, Icon = "icon-cancel", Action = "button", Value = 0, Key = "ESC", Hint = "~ CANCEL", ForUnit = {"unit-caanoo-wiseskeleton"} } ) DefineAllow("unit-caanoo-wiseman", "AAAAAAAAAAAAAAAA") DefineButton( { Pos = 7, Level = 0, Icon = "icon-build-basic", Action = "button", Value = 1, Key = "b", Hint = "~!BUILD BASIC STRUCTURE", ForUnit = {"unit-caanoo-wiseman"} } ) DefineButton( { Pos = 8, Level = 0, Icon = "icon-build-advanced", Action = "button", Value = 2, Key = "v", Hint = "BUILD AD~!VANCED STRUCTURE", ForUnit = {"unit-caanoo-wiseman"} } ) -- Basic Units DefineButton( { Pos = 3, Level = 1, Icon = "icon-footman", Action = "cast-spell", Value = "spell-unit-footman", Allowed = "check-upgrade", AllowArg = {"upgrade-eye-of-kilrogg"}, Key = "f", Hint = "~!FOOTMAN", ForUnit = {"unit-caanoo-wiseman"} } ) DefineButton( { Pos = 6, Level = 1, Icon = "icon-ugly-guy", Action = "cast-spell", Value = "spell-unit-arthor-literios", Allowed = "check-upgrade", AllowArg = {"upgrade-eye-of-kilrogg"}, Key = "d", Hint = "~!DANATH", ForUnit = {"unit-caanoo-wiseman"} } ) DefineButton( { Pos = 2, Level = 1, Icon = "icon-archer", Action = "cast-spell", Value = "spell-unit-archer", Allowed = "check-upgrade", AllowArg = {"upgrade-eye-of-kilrogg"}, Key = "a", Hint = "~!ARCHER", ForUnit = {"unit-caanoo-wiseman"} } ) DefineButton( { Pos = 1, Level = 1, Icon = "icon-knight", Action = "cast-spell", Value = "spell-unit-knight", Allowed = "check-upgrade", AllowArg = {"upgrade-eye-of-kilrogg"}, Key = "k", Hint = "~!KNIGHT", ForUnit = {"unit-caanoo-wiseman"} } ) DefineButton( { Pos = 4, Level = 1, Icon = "icon-paladin", Action = "cast-spell", Value = "spell-unit-paladin", Allowed = "check-upgrade", AllowArg = {"upgrade-eye-of-kilrogg"}, Key = "p", Hint = "~!PALADIN", ForUnit = {"unit-caanoo-wiseman"} } ) DefineButton( { Pos = 5, Level = 1, Icon = "icon-ranger", Action = "cast-spell", Value = "spell-unit-ranger", Allowed = "check-upgrade", AllowArg = {"upgrade-eye-of-kilrogg"}, Key = "r", Hint = "~!RANGER", ForUnit = {"unit-caanoo-wiseman"} } ) DefineButton( { Pos = 7, Level = 1, Icon = "icon-knight-rider", Action = "cast-spell", Value = "spell-unit-knight-rider", Allowed = "check-upgrade", AllowArg = {"upgrade-eye-of-kilrogg"}, Key = "h", Hint = "~!HERO", ForUnit = {"unit-caanoo-wiseman"} } ) DefineButton( { Pos = 8, Level = 1, Icon = "icon-female-hero", Action = "cast-spell", Value = "spell-unit-female-hero", Allowed = "check-upgrade", AllowArg = {"upgrade-eye-of-kilrogg"}, Key = "a", Hint = "~!ALLERIA", ForUnit = {"unit-caanoo-wiseman"} } ) DefineButton( { Pos = 9, Level = 1, Icon = "icon-cancel", Action = "button", Value = 0, Key = "ESC", Hint = "~ CANCEL", ForUnit = {"unit-caanoo-wiseman"} } ) -- Advanced Units DefineButton( { Pos = 2, Level = 2, Icon = "icon-dwarves", Action = "cast-spell", Value = "spell-unit-dwarves", Allowed = "check-upgrade", AllowArg = {"upgrade-eye-of-kilrogg"}, Key = "d", Hint = "~!DWARVES", ForUnit = {"unit-caanoo-wiseman"} } ) DefineButton( { Pos = 1, Level = 2, Icon = "icon-mage", Action = "cast-spell", Value = "spell-unit-mage", Allowed = "check-upgrade", AllowArg = {"upgrade-eye-of-kilrogg"}, Key = "m", Hint = "~!MAGE", ForUnit = {"unit-caanoo-wiseman"} } ) DefineButton( { Pos = 3, Level = 2, Icon = "icon-ballista", Action = "cast-spell", Value = "spell-unit-ballista", Allowed = "check-upgrade", AllowArg = {"upgrade-eye-of-kilrogg"}, Key = "b", Hint = "~!BALLISTA", ForUnit = {"unit-caanoo-wiseman"} } ) DefineButton( { Pos = 4, Level = 2, Icon = "icon-peasant", Action = "cast-spell", Value = "spell-unit-peasant", Allowed = "check-upgrade", AllowArg = {"upgrade-eye-of-kilrogg"}, Key = "p", Hint = "~!PEASANT", ForUnit = {"unit-caanoo-wiseman"} } ) DefineButton( { Pos = 5, Level = 2, Icon = "icon-ranger", Action = "cast-spell", Value = "spell-unit-yeoman", Allowed = "check-upgrade", AllowArg = {"upgrade-eye-of-kilrogg"}, Key = "o", Hint = "YE~!OMAN", ForUnit = {"unit-caanoo-wiseman"} } ) DefineButton( { Pos = 6, Level = 2, Icon = "icon-peasant", Action = "cast-spell", Value = "spell-unit-attack-peasant", Allowed = "check-upgrade", AllowArg = {"upgrade-eye-of-kilrogg"}, Key = "u", Hint = "MIN~!UTEMAN", ForUnit = {"unit-caanoo-wiseman"} } ) DefineButton( { Pos = 8, Level = 2, Icon = "icon-gryphon-rider", Action = "cast-spell", Value = "spell-unit-gryphon-rider", Allowed = "check-upgrade", AllowArg = {"upgrade-eye-of-kilrogg"}, Key = "g", Hint = "~!GRYPHON", ForUnit = {"unit-caanoo-wiseman"} } ) DefineButton( { Pos = 9, Level = 2, Icon = "icon-cancel", Action = "button", Value = 0, Key = "ESC", Hint = "~ CANCEL", ForUnit = {"unit-caanoo-wiseman"} } ) DefineButton( { Pos = 1, Level = 0, Icon = "icon-move-peon", Action = "move", Key = "m", Hint = "~!MOVE", ForUnit = {"unit-caanoo-wiseskeleton"}}) DefineButton( { Pos = 2, Level = 0, Icon = "icon-orc-shield1", Action = "stop", Key = "s", Hint = "~!STOP", ForUnit = {"unit-caanoo-wiseskeleton"}}) DefineButton( { Pos = 3, Level = 0, Icon = "icon-battle-axe1", Action = "attack", Key = "a", Hint = "~!ATTACK", ForUnit = {"unit-caanoo-wiseskeleton"}}) DefineButton( { Pos = 4, Level = 0, Icon = "icon-orc-patrol-land", Action = "patrol", Key = "p", Hint = "~!PATROL", ForUnit = {"unit-caanoo-wiseskeleton"}}) DefineButton( { Pos = 5, Level = 0, Icon = "icon-orc-stand-ground", Action = "stand-ground", Key = "t", Hint = "S~!TAND GROUND", ForUnit = {"unit-caanoo-wiseskeleton"}}) -- __________________ __________________ -- F O R T H E M O T H E R L A N D -- ____________________________ ____________________________ -- U P G R A D E S DefineModifier("upgrade-arrow1", {"Level", 1}, {"PiercingDamage", 1}, {"apply-to", "unit-yeoman"}) DefineModifier("upgrade-arrow2", {"Level", 1}, {"PiercingDamage", 1}, {"apply-to", "unit-yeoman"}) DefineModifier("upgrade-longbow", {"Level", 1}, {"SightRange", 1}, {"AttackRange", 1}, {"apply-to", "unit-yeoman"}) DefineModifier("upgrade-ranger-scouting", {"Level", 1}, {"SightRange", 3}, {"apply-to", "unit-yeoman"}) DefineModifier("upgrade-ranger-marksmanship", {"Level", 1}, {"PiercingDamage", 3}, {"apply-to", "unit-yeoman"}) DefineModifier("upgrade-throwing-axe1", {"Level", 1}, {"PiercingDamage", 1}, {"apply-to", "unit-nomad"}) DefineModifier("upgrade-throwing-axe2", {"Level", 1}, {"PiercingDamage", 1}, {"apply-to", "unit-nomad"}) DefineModifier("upgrade-light-axes", {"Level", 1}, {"SightRange", 1}, {"AttackRange", 1}, {"apply-to", "unit-nomad"}) DefineModifier("upgrade-berserker-scouting", {"Level", 1}, {"SightRange", 3}, {"apply-to", "unit-nomad"}) DefineModifier("upgrade-berserker-regeneration", {"Level", 1}, {"regeneration-rate", 1}, {"apply-to", "unit-nomad"})