Merge lp:~timfelgentreff/war1gus/war1gus into lp:war1gus

Proposed by timfelgentreff
Status: Merged
Approved by: Kyran Jackson
Approved revision: no longer in the source branch.
Merged at revision: 144
Proposed branch: lp:~timfelgentreff/war1gus/war1gus
Merge into: lp:war1gus
Diff against target: 8061 lines (+2309/-4519)
46 files modified
CMakeLists.txt (+40/-0)
build.sh (+4/-1)
scripts/buildings.lua (+206/-0)
scripts/buttons.lua (+7/-4)
scripts/campaigns.lua (+0/-45)
scripts/cheats.lua (+21/-20)
scripts/constructions.lua (+0/-66)
scripts/editor.lua (+3/-3)
scripts/fonts.lua (+6/-6)
scripts/guichan.lua (+38/-26)
scripts/human/buttons.lua (+65/-101)
scripts/human/campaign1.lua (+30/-101)
scripts/human/campaign2.lua (+0/-132)
scripts/human/constructions.lua (+0/-196)
scripts/human/sound.lua (+1/-0)
scripts/human/ui.lua (+0/-458)
scripts/human/units.lua (+0/-503)
scripts/human/upgrade.lua (+8/-8)
scripts/icons.lua (+4/-5)
scripts/menus/campaign.lua (+9/-25)
scripts/menus/credits.lua (+1/-1)
scripts/menus/load.lua (+1/-1)
scripts/menus/options.lua (+24/-25)
scripts/menus/replay.lua (+1/-1)
scripts/menus/results.lua (+55/-77)
scripts/missiles.lua (+20/-1)
scripts/orc/buttons.lua (+15/-179)
scripts/orc/campaign1.lua (+31/-102)
scripts/orc/campaign2.lua (+0/-128)
scripts/orc/constructions.lua (+0/-196)
scripts/orc/sound.lua (+3/-4)
scripts/orc/ui.lua (+0/-458)
scripts/orc/units.lua (+0/-500)
scripts/orc/upgrade.lua (+8/-8)
scripts/ranks.lua (+0/-51)
scripts/sound.lua (+1/-1)
scripts/spells.lua (+229/-1)
scripts/stratagus.lua (+16/-15)
scripts/tilesets.lua (+0/-46)
scripts/tilesets/dungeon.lua (+167/-196)
scripts/tilesets/forest.lua (+235/-78)
scripts/tilesets/swamp.lua (+243/-196)
scripts/tips.lua (+0/-50)
scripts/ui.lua (+192/-3)
scripts/units.lua (+236/-316)
war1tool.c (+389/-185)
To merge this branch: bzr merge lp:~timfelgentreff/war1gus/war1gus
Reviewer Review Type Date Requested Status
Joris Dauphin Approve
Pali Approve
Kyran Jackson Approve
Review via email: mp+161316@code.launchpad.net

Description of the change

Just some general steps, extract campaign maps in sms format, fix png extraction and some menu layouts. tilesets and units are still mostly non-functional, just thought I'd share the progress I have.

To post a comment you must log in.
Revision history for this message
Travis (dinky-dye-aussie) wrote :

So is this usable yet? I'd love to test it out but can't compile using VC2012. Any chance when it IS available to test you could send me a win32 exe file?

Revision history for this message
timfelgentreff (timfelgentreff) wrote :

I only managed to compile on windows through cygwin. I can send you that binary+cygwin.dll

as to useable: you can launch in 640x400, and start the first two maps of the human campaign (because only the forest tileset works, currently). Objectives don't work, but you can go around and kill all Orcs, you can send your peasant to collect gold. Harvesting trees or attempting to build barracks segfaults for some reason I haven't investigated. You can train new peasants. The forest tileset isn't complete, walls are missing and water can be walked on. however, it is in a state now where one could go through and fix units and building properties and test them in the first few maps. oh, and buildings run away when attacked :)

Revision history for this message
Kyran Jackson (erstmap) wrote :

Buildings run away when attacked? I approve.

review: Approve
lp:~timfelgentreff/war1gus/war1gus updated
117. By timfelgentreff

compile on windows

118. By timfelgentreff

enable some buttons

Revision history for this message
timfelgentreff (timfelgentreff) wrote :

> So is this usable yet? I'd love to test it out but can't compile using VC2012.

Hi Travis, I just pushed a CMakeLists.txt and fixed compilation on VC2010.

Revision history for this message
Pali (pali) wrote :

Two comments for CMakeLists.txt:
1. Do you really need signed char by default?
2. Install destination for war1tool is bad: install(TARGETS war1tool DESTINATION ".") - It should be "bin" instead "."

lp:~timfelgentreff/war1gus/war1gus updated
119. By timfelgentreff

fix CMakeLists according to feedback

Revision history for this message
timfelgentreff (timfelgentreff) wrote :

Thanks for the comment, done

Revision history for this message
Travis (dinky-dye-aussie) wrote :

OMG it works! It compiles, it extracts! The only thing it doesn't do is run... :(

I used the parameter:

stratagus -d c:\games\war1gus to point it at the directory with the war1gus data in it, but it won't run...I'll try again later, I'm hell tired right now...

Great work tho guys! We're on our way!

Revision history for this message
timfelgentreff (timfelgentreff) wrote :

@Travis have you copied the script and 3rd directories into the data directory? Also, use -v 640x400, it's the only working resolution right now

Revision history for this message
Travis (dinky-dye-aussie) wrote :

did not copy the "3rd" into the war1gus folder. Just tried it and now the game works. :) I'm stoked this game's beginning to be developed. can't wait to get it going more in terms of scripts.

I'll try to get rid of the moving building bug now.

Revision history for this message
Pali (pali) wrote :

In stratagus/wargus there is convention to store 3rd parts in "contrib" folder, so rename 3rd to contrib.
Btw, where did you get those fonts?

Revision history for this message
timfelgentreff (timfelgentreff) wrote :

I'll rename it. I made the font graphics in Gimp.

lp:~timfelgentreff/war1gus/war1gus updated
120. By timfelgentreff

orc and human ui button layout should be the same

121. By timfelgentreff

rename 3rd directory to contrib, extract videos at better quality

122. By timfelgentreff

reflect directory rename in scripts

123. By timfelgentreff

fix mapping of extracted texts to mission briefings

124. By timfelgentreff

play map videos before missions

125. By timfelgentreff

refactor unit definitions to be more dry

126. By timfelgentreff

unify UI, Unit, and building definitions

127. By timfelgentreff

enable sounds

128. By timfelgentreff

remove obsolete files, add wc1 cheats

129. By timfelgentreff

make attacking work again

130. By timfelgentreff

fix tileset forest so water cannot be walked on and we can chop trees. still glitches when chopping trees.

131. By timfelgentreff

rename unit type for lumber mills

132. By timfelgentreff

fixes for both forest and swamp tilesets

133. By timfelgentreff

fix some button positions for orcs

134. By timfelgentreff

make sure we define building images for swamp

135. By timfelgentreff

fill unit and structure stats with info from wowwiki

136. By timfelgentreff

hardcode names, objectives, and tilesets for campaign maps

137. By timfelgentreff

fix spaces in hardcoded objectives

138. By timfelgentreff

non-segfaulting (but wrong) version of dungeon tileset

139. By timfelgentreff

add remaining units required for campaign maps to generate properly, and fixes so all campaign maps launch

140. By timfelgentreff

stub animations for elementals

141. By timfelgentreff

revert debugging code

Revision history for this message
timfelgentreff (timfelgentreff) wrote :

Hi, just a quick update, the current state of the code allows to launch all campaign maps. The units should have the right stats, too. Dungeon tilesets don't work, but forest and swamp do. Most missions have names and proper triggers for their objectives, some triggers aren't quite correct. Victory menu isn't wired up, but you can go and win the first three missions for humans and orcs and end up back in the main menu.

Open issues are finishing/bugfixing all tilesets (e.g. chopping wood uses the wrong tiles), adding all spells,, making sure the tech-tree is restricted in the campaign, and wiring up all the menus and screens properly.

Revision history for this message
Travis (dinky-dye-aussie) wrote :

So I've downloaded the latest trunk, compiled wartool.c so as to take advantage of all the fixes, and yet when I try to run the game, it crashes AS SOON as I load the first campaign map. ???????????

Why isn't it working for me? it doesn't give me any error messages or anything to say what it going on. What am I not doing to get this working? I'm sure it must be a script problem...Are you guys having any problems with it crashing?

Revision history for this message
timfelgentreff (timfelgentreff) wrote :

@Travis I just did a fresh rebuild, and while it does work on Windows using VS2010, it crashes on Ubuntu. The crash was here:
@@ -817,7 +817,7 @@
        CUnit &unit = this->GetUnit(i);
                if (unit.IsAlive() && unit.Type->Harvester && unit.Type->ResInfo && !unit.Removed) {
                        if (unit.CurrentAction() == UnitActionStill) {
                               FreeWorkers.push_back(&unit);
                        }
                }
        }

What happened was that all units where marked as harvesters (because I set CanGatherResources to default to {}). I pushed a fix in scripts/units.lua

Revision history for this message
Travis (dinky-dye-aussie) wrote :

yeah got the fixed scripts and it works now :) I also got the water and swamps color cycling now as well (looks like the liquid is lapping at the shore, and also the resources now change when you mine/harvest.

if you can add this line:

DefineDefaultResourceMaxAmounts(-1, -1, -1, -1, -1, -1, -1)

to the war1gus stratagus.lua file just below the line:

DefineDefaultResourceAmounts("gold", 100000, "oil", 50000)

then the resources behave properly and the game recognizes this.

Also for the Color Cycling, add:

AddColorCyclingRange(114, 118) -- water coast boundry

to the bottom of both forest.lua and swamp.lua files

Let me know if I need to do anything to these parameters man. This is fun stuff. Good work mate keep it up :)

Revision history for this message
timfelgentreff (timfelgentreff) wrote :

thanks Travis, I added your fixes

Revision history for this message
Travis (dinky-dye-aussie) wrote :

Thankyou Tim, for adding my fixes! :)

I think today I will work on the interfaces for the game. I tested my resolution (1680x1050), with the game last night, and it worked great :) So I will perform the task of creating new interface pieces with the skinner left side piece, to stay true to Warcraft 1 convention of being able to only select 4 units instead of 9.

I will post shots of this on forums.stratagus.com so every can see and comment/critique my work. :)

Peace out fellas, I'm having a ball bringin these games back to the new gamers!

Revision history for this message
Pali (pali) wrote :

@timfelgentreff: I think that nobody else working on war1gus now. So go ahead, commit all patches to trunk and use directly war1gus trunk branch for development. If you do not have commit permission to war1gus, join to Stratagus team: https://launchpad.net/~stratagus

review: Approve
Revision history for this message
Kyran Jackson (erstmap) wrote :

I was waiting to see what Joris would say, but I'm sure it'll be fine to merge.

Revision history for this message
Joris Dauphin (joris-dauphin) wrote :

I don't work actively on war1gus...
I didn't test the merge.
I have no objection.

review: Approve
lp:~timfelgentreff/war1gus/war1gus updated
142. By timfelgentreff

fix dungeon tileset

143. By timfelgentreff

define some spells and human buttons

144. By timfelgentreff

fix cleric spells, summon elemental and rain of fire working

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== added file 'CMakeLists.txt'
2--- CMakeLists.txt 1970-01-01 00:00:00 +0000
3+++ CMakeLists.txt 2013-05-08 07:16:26 +0000
4@@ -0,0 +1,40 @@
5+# CMakeLists.txt
6+# Copyright (C) 2013 Tim Felgentreff <timfelgentreff@gmail.com>
7+#
8+# This program is free software: you can redistribute it and/or modify
9+# it under the terms of the GNU General Public License as published by
10+# the Free Software Foundation, either version 2 of the License, or
11+# (at your option) any later version.
12+#
13+# This program is distributed in the hope that it will be useful,
14+# but WITHOUT ANY WARRANTY; without even the implied warranty of
15+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16+# GNU General Public License for more details.
17+#
18+# You should have received a copy of the GNU General Public License
19+# along with this program. If not, see <http://www.gnu.org/licenses/>.
20+
21+project(war1gus)
22+cmake_minimum_required(VERSION 2.6)
23+
24+set(war1gus_SRCS
25+ war1tool.c
26+ xmi2mid.cpp
27+)
28+
29+set(war1gus_HDRS xmi2mid.h)
30+
31+find_package(PNG REQUIRED)
32+find_package(ZLIB REQUIRED)
33+
34+include_directories(${PNG_INCLUDE_DIR} ${ZLIB_INCLUDE_DIRS})
35+set(war1gus_LIBS ${PNG_LIBRARIES} ${ZLIB_LIBRARIES})
36+
37+add_executable(war1tool ${war1gus_SRCS} ${war1gus_HDRS})
38+target_link_libraries(war1tool ${war1gus_LIBS})
39+install(TARGETS war1tool DESTINATION "bin")
40+
41+if (WIN32 AND MSVC)
42+ add_definitions(-D_CRT_SECURE_NO_WARNINGS -D_CRT_SECURE_NO_DEPRECATE=1)
43+ set_target_properties(war1tool PROPERTIES LINK_FLAGS "${LINK_FLAGS} /NODEFAULTLIB:MSVCRT")
44+endif()
45
46=== modified file 'build.sh'
47--- build.sh 2010-06-22 06:38:48 +0000
48+++ build.sh 2013-05-08 07:16:26 +0000
49@@ -92,6 +92,9 @@
50 rm -Rf `find $DIR/scripts | grep cvsignore`
51 rm -Rf `find $DIR/scripts | grep .svn`
52
53+# copy our game fonts
54+cp -R contrib $DIR/
55+
56 $BINPATH/war1tool "$DATADIR" "$DIR" || exit
57
58 # Copy flv animation and convert to theora
59@@ -105,7 +108,7 @@
60 OUTPUT="$DIR/videos/${f%%.war}"
61 OUTPUT=${OUTPUT%%.WAR}.avi
62 OUTPUT="`echo $OUTPUT | tr A-Z a-z`"
63- ffmpeg2theora "$DATADIR/$f" -o "$OUTPUT"
64+ ffmpeg2theora "$DATADIR/$f" --resize-method lanczos -v 10 --max_size 640 -o "$OUTPUT"
65 fi
66 done
67
68
69=== added directory 'contrib'
70=== added directory 'contrib/fonts'
71=== added file 'contrib/fonts/game.png'
72Binary files contrib/fonts/game.png 1970-01-01 00:00:00 +0000 and contrib/fonts/game.png 2013-05-08 07:16:26 +0000 differ
73=== added file 'contrib/fonts/large.png'
74Binary files contrib/fonts/large.png 1970-01-01 00:00:00 +0000 and contrib/fonts/large.png 2013-05-08 07:16:26 +0000 differ
75=== added file 'contrib/fonts/large_episode_titles.png'
76Binary files contrib/fonts/large_episode_titles.png 1970-01-01 00:00:00 +0000 and contrib/fonts/large_episode_titles.png 2013-05-08 07:16:26 +0000 differ
77=== added file 'contrib/fonts/small.png'
78Binary files contrib/fonts/small.png 1970-01-01 00:00:00 +0000 and contrib/fonts/small.png 2013-05-08 07:16:26 +0000 differ
79=== added file 'contrib/fonts/small_episode_titles.png'
80Binary files contrib/fonts/small_episode_titles.png 1970-01-01 00:00:00 +0000 and contrib/fonts/small_episode_titles.png 2013-05-08 07:16:26 +0000 differ
81=== added file 'scripts/buildings.lua'
82--- scripts/buildings.lua 1970-01-01 00:00:00 +0000
83+++ scripts/buildings.lua 2013-05-08 07:16:26 +0000
84@@ -0,0 +1,206 @@
85+-- _________ __ __
86+-- / _____// |_____________ _/ |______ ____ __ __ ______
87+-- \_____ \\ __\_ __ \__ \\ __\__ \ / ___\| | \/ ___/
88+-- / \| | | | \// __ \| | / __ \_/ /_/ > | /\___ \
89+-- /_______ /|__| |__| (____ /__| (____ /\___ /|____//____ >
90+-- \/ \/ \//_____/ \/
91+-- ______________________ ______________________
92+-- T H E W A R B E G I N S
93+-- Stratagus - A free fantasy real time strategy game engine
94+--
95+-- constructions.lua - Define the constructions.
96+--
97+-- (c) Copyright 2001-2004 by Lutz Sammer and Jimmy Salmon
98+--
99+-- This program is free software; you can redistribute it and/or modify
100+-- it under the terms of the GNU General Public License as published by
101+-- the Free Software Foundation; either version 2 of the License, or
102+-- (at your option) any later version.
103+--
104+-- This program is distributed in the hope that it will be useful,
105+-- but WITHOUT ANY WARRANTY; without even the implied warranty of
106+-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
107+-- GNU General Public License for more details.
108+--
109+-- You should have received a copy of the GNU General Public License
110+-- along with this program; if not, write to the Free Software
111+-- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
112+--
113+-- $Id$
114+
115+UnitTypeFiles = {}
116+
117+if (war1gus.tileset == nil) then
118+ war1gus.tileset = "forest"
119+end
120+
121+local buildings = {
122+ {Names = {orc = "Farm", human = "Farm"},
123+ Costs = {"time", 100, "gold", 500, "wood", 300},
124+ HitPoints = 400,
125+ Supply = 5,
126+ Size = {96, 96}},
127+
128+ {Names = {orc = "Blacksmith", human = "Blacksmith"},
129+ Costs = {"time", 150, "gold", 900, "wood", 400},
130+ HitPoints = 800,
131+ Size = {96, 96}},
132+
133+ {Names = {orc = "Tower", human = "Tower"},
134+ Costs = {"time", 200, "gold", 1400, "wood", 300},
135+ HitPoints = 900,
136+ Size = {96, 96}},
137+
138+ {Names = {orc = "Kennel"},
139+ Costs = {"time", 150, "gold", 1000, "wood", 400},
140+ HitPoints = 500,
141+ Size = {128, 96}},
142+
143+ {Names = {human = "Stable"},
144+ Costs = {"time", 150, "gold", 1000, "wood", 400},
145+ HitPoints = 500,
146+ Size = {128, 128}},
147+
148+ {Names = {orc = "Barracks", human = "Barracks"},
149+ Costs = {"time", 150, "gold", 600, "wood", 500},
150+ HitPoints = 800,
151+ Size = {128, 128}},
152+
153+ {Names = {orc = "Lumber mill", human = "Lumber mill"},
154+ Costs = {"time", 150, "gold", 600, "wood", 500},
155+ HitPoints = 600,
156+ CanStore = {"wood"},
157+ Size = {128, 128}},
158+
159+ {Names = {orc = "Town hall", human = "Town hall"},
160+ Costs = {"time", 100, "gold", 400, "wood", 400},
161+ HitPoints = 2500,
162+ CanStore = {"wood", "gold"},
163+ Supply = 5,
164+ Size = {128, 128}},
165+
166+ {Names = {human = "Church", orc = "Temple"},
167+ Costs = {"time", 200, "gold", 800, "wood", 500},
168+ HitPoints = 700,
169+ Size = {128, 128}},
170+
171+ {Names = {human = "Stormwind keep", orc = "Blackrock spire"},
172+ Costs = {"time", 100, "gold", 500, "wood", 250},
173+ HitPoints = 5000,
174+ Size = {160, 160},
175+ NotConstructable = true,
176+ Corpse = "unit-destroyed-3x3-place"}}
177+
178+-- create buildings and their constructions from specs
179+for idx,building in ipairs(buildings) do
180+ for race,name in pairs(building.Names) do
181+ local size = building.Size
182+ local filename = string.lower(string.gsub(name, " ", "_"))
183+ local fullname = race .. "-" .. string.gsub(filename, "_", "-")
184+ local files = {
185+ forest = ("tilesets/forest/" .. race ..
186+ "/buildings/" .. filename .. "_construction.png"),
187+ swamp = ("tilesets/swamp/" .. race ..
188+ "/buildings/" .. filename .. "_construction.png") }
189+
190+ if not building.NotConstructable then
191+ DefineConstruction(
192+ "construction-" .. fullname,
193+ {Files = {
194+ File = files[war1gus.tileset],
195+ Size = size},
196+ Constructions = {
197+ {Percent = 0,
198+ File = "construction",
199+ Frame = 0},
200+ {Percent = 33,
201+ File = "construction",
202+ Frame = 1},
203+ {Percent = 67,
204+ File = "construction",
205+ Frame = 2}}})
206+ end
207+
208+ UnitTypeFiles["unit-" .. fullname] = {
209+ forest = ("tilesets/forest/" .. race ..
210+ "/buildings/" .. filename .. ".png"),
211+ swamp = ("tilesets/swamp/" .. race ..
212+ "/buildings/" .. filename .. ".png") }
213+
214+ local unitType = {
215+ Name = name,
216+ Image = {"size", size},
217+ Animations = "animations-building",
218+ Icon = "icon-" .. fullname,
219+ Costs = building.Costs,
220+ RepairHp = 4,
221+ RepairCosts = {"gold", 1, "wood", 1},
222+ Construction = "construction-" .. fullname,
223+ HitPoints = building.HitPoints,
224+ DrawLevel = 20,
225+ TileSize = { size[1] / 32 - 1, size[2] / 32 - 1 },
226+ BoxSize = { size[1] - 1, size[2] - 1 },
227+ SightRange = 1,
228+ Armor = 20,
229+ BasicDamage = 0, PiercingDamage = 0, Missile = "missile-none",
230+ RightMouseAction = "none",
231+ Type = "land",
232+ CanAttack = false,
233+ Coward = false,
234+ Priority = 20,
235+ AnnoyComputerFactor = 45,
236+ Points = 100,
237+ Supply = 0,
238+ CanStore = {},
239+ Corpse = "unit-destroyed-2x2-place",
240+ ExplodeWhenKilled = "missile-explosion",
241+ Type = "land",
242+ Building = true,
243+ VisibleUnderFog = true,
244+ Sounds = {
245+ "ready", race .. " work complete",
246+ "selected", fullname .. "-selected",
247+ "help", race .. " help 4",
248+ "dead", "building destroyed"}}
249+
250+ for k,v in pairs(building) do
251+ if unitType[k] then
252+ unitType[k] = v
253+ end
254+ end
255+ DefineUnitType("unit-" .. fullname, unitType)
256+
257+ end
258+end
259+
260+UnitTypeFiles["unit-gold-mine"] = {
261+ forest = "tilesets/forest/neutral/buildings/gold_mine.png",
262+ swamp = "tilesets/swamp/neutral/buildings/gold_mine.png"
263+}
264+
265+DefineUnitType("unit-gold-mine", { Name = "Gold Mine",
266+ Image = {"size", {128, 128}},
267+ Animations = "animations-building", Icon = "icon-gold-mine",
268+ NeutralMinimapColor = {255, 255, 0},
269+ Costs = {"time", 150},
270+ Construction = "construction-none",
271+-- Speed = 0,
272+ HitPoints = 25500,
273+ DrawLevel = 40,
274+ TileSize = {3, 3}, BoxSize = {95, 95},
275+ SightRange = 1,
276+ Armor = 20, BasicDamage = 0, PiercingDamage = 0, Missile = "missile-none",
277+ Priority = 0,
278+ Corpse = "unit-destroyed-3x3-place",
279+ ExplodeWhenKilled = "missile-explosion",
280+ Type = "land",
281+ Building = true, VisibleUnderFog = true,
282+ GivesResource = "gold", CanHarvest = true,
283+ Sounds = {
284+ "selected", "gold-mine-selected",
285+ "acknowledge", "gold-mine-acknowledge",
286+ "ready", "gold-mine-ready",
287+ "help", "gold-mine-help",
288+ "dead", "building destroyed",
289+-- "attack", "gold-mine-attack"
290+}} )
291
292=== modified file 'scripts/buttons.lua'
293--- scripts/buttons.lua 2009-05-22 16:30:00 +0000
294+++ scripts/buttons.lua 2013-05-08 07:16:26 +0000
295@@ -34,6 +34,9 @@
296 Load("scripts/human/buttons.lua")
297 Load("scripts/orc/buttons.lua")
298
299+-- general buttons -----------------------------------------------------------
300+
301+
302 ------------------------------------------------------------------------------
303 -- Define unit-button.
304 --
305@@ -45,22 +48,22 @@
306
307 -- general cancel button ------------------------------------------------------
308
309-DefineButton( { Pos = 6, Level = 9, Icon = "icon-cancel",
310+DefineButton( { Pos = 5, Level = 9, Icon = "icon-cancel",
311 Action = "cancel",
312 Key = "\27", Hint = "~<ESC~> CANCEL",
313 ForUnit = {"*"} } )
314
315-DefineButton( { Pos = 6, Level = 0, Icon = "icon-cancel",
316+DefineButton( { Pos = 5, Level = 0, Icon = "icon-cancel",
317 Action = "cancel-upgrade",
318 Key = "\27", Hint = "~<ESC~> CANCEL UPGRADE",
319 ForUnit = {"cancel-upgrade"} } )
320
321-DefineButton( { Pos = 6, Level = 0, Icon = "icon-cancel",
322+DefineButton( { Pos = 5, Level = 0, Icon = "icon-cancel",
323 Action = "cancel-train-unit",
324 Key = "\27", Hint = "~<ESC~> CANCEL UNIT TRAINING",
325 ForUnit = {"*"} } )
326
327-DefineButton( { Pos = 6, Level = 0, Icon = "icon-cancel",
328+DefineButton( { Pos = 5, Level = 0, Icon = "icon-cancel",
329 Action = "cancel-build",
330 Key = "\27", Hint = "~<ESC~> CANCEL CONSTRUCTION",
331 ForUnit = {"cancel-build"} } )
332
333=== removed file 'scripts/campaigns.lua'
334--- scripts/campaigns.lua 2010-06-22 06:44:07 +0000
335+++ scripts/campaigns.lua 1970-01-01 00:00:00 +0000
336@@ -1,45 +0,0 @@
337--- _________ __ __
338--- / _____// |_____________ _/ |______ ____ __ __ ______
339--- \_____ \\ __\_ __ \__ \\ __\__ \ / ___\| | \/ ___/
340--- / \| | | | \// __ \| | / __ \_/ /_/ > | /\___ \
341--- /_______ /|__| |__| (____ /__| (____ /\___ /|____//____ >
342--- \/ \/ \//_____/ \/
343--- ______________________ ______________________
344--- T H E W A R B E G I N S
345--- Stratagus - A free fantasy real time strategy game engine
346---
347--- campaigns.lua - Define the used campaigns.
348---
349--- (c) Copyright 2002-2004 by Lutz Sammer and Jimmy Salmon
350---
351--- This program is free software; you can redistribute it and/or modify
352--- it under the terms of the GNU General Public License as published by
353--- the Free Software Foundation; either version 2 of the License, or
354--- (at your option) any later version.
355---
356--- This program is distributed in the hope that it will be useful,
357--- but WITHOUT ANY WARRANTY; without even the implied warranty of
358--- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
359--- GNU General Public License for more details.
360---
361--- You should have received a copy of the GNU General Public License
362--- along with this program; if not, write to the Free Software
363--- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
364---
365--- $Id$
366-
367---=============================================================================
368--- Define all campaigns.
369-
370---[[
371-DefineCampaign("human", "name", "~!Human campaign",
372- "file", "scripts/human/campaign1.lua")
373-DefineCampaign("orc", "name", "~!Orc campaign",
374- "file", "scripts/orc/campaign1.lua")
375-if (expansion) then
376- DefineCampaign("human-exp", "name", "H~!uman expansion levels",
377- "file", "scripts/human/campaign2.lua")
378- DefineCampaign("orc-exp", "name", "O~!rc expansion levels",
379- "file", "scripts/orc/campaign2.lua")
380-end
381-]]
382
383=== modified file 'scripts/cheats.lua'
384--- scripts/cheats.lua 2009-05-22 16:30:00 +0000
385+++ scripts/cheats.lua 2013-05-08 07:16:26 +0000
386@@ -34,27 +34,30 @@
387 function HandleCheats(str)
388 local resources = { "gold", "wood", "oil" }
389
390- if (str == "there is no aliens level") then
391- -- FIXME: no function yet
392- AddMessage("cheat enabled")
393+ if (str == "eye of newy") then
394+ -- FIXME: no function yet
395+ AddMessage("All wizard spells cheat ... not working yet")
396+
397+ elseif (str == "ides of march") then
398+ -- FIXME: no function yet
399+ AddMessage("Final campaign sequence cheat ... not working yet")
400+
401+ elseif (str == "iron forge") then
402+ -- FIXME: no function yet
403+ AddMessage("Upgraded technology cheat ... not working yet")
404
405 elseif (str == "hatchet") then
406 SetSpeedResourcesHarvest("wood", 52 / 2)
407 AddMessage("Wow -- I got jigsaw!")
408
409- elseif (str == "glittering prizes") then
410+ elseif (str == "pot of gold") then
411 SetPlayerData(GetThisPlayer(), "Resources", "gold",
412- GetPlayerData(GetThisPlayer(), "Resources", "gold") + 12000)
413+ GetPlayerData(GetThisPlayer(), "Resources", "gold") + 10000)
414 SetPlayerData(GetThisPlayer(), "Resources", "wood",
415 GetPlayerData(GetThisPlayer(), "Resources", "wood") + 5000)
416- SetPlayerData(GetThisPlayer(), "Resources", "oil",
417- GetPlayerData(GetThisPlayer(), "Resources", "oil") + 5000)
418 AddMessage("!!! :)")
419
420- elseif (str == "on screen") then
421- RevealMap()
422-
423- elseif (str == "showpath") then
424+ elseif (str == "sally shears") then
425 RevealMap()
426
427 elseif (str == "fow on") then
428@@ -85,7 +88,7 @@
429 SetSpeedResearch(1)
430 AddMessage("NORMAL DEBUG SPEED")
431
432- elseif (str == "make it so") then
433+ elseif (str == "hurry up guys") then
434 if (speedcheat) then
435 speedcheat = false
436 for i = 1,table.getn(resources) do
437@@ -114,13 +117,13 @@
438 AddMessage("SO!")
439 end
440
441- elseif (str == "unite the clans") then
442+ elseif (str == "yours truly") then
443 ActionVictory()
444
445- elseif (str == "you pitiful worm") then
446+ elseif (str == "crushing defeat") then
447 ActionDefeat()
448
449- elseif (str == "it is a good day to die") then
450+ elseif (str == "there can be only one") then
451 if (godcheat) then
452 godcheat = false
453 SetGodMode(false)
454@@ -131,11 +134,9 @@
455 AddMessage("God Mode ON")
456 end
457
458- elseif (str == "fill mana") then
459- t = GetUnits("this");
460- for i = 1,table.getn(t) do
461- SetUnitMana(t[i], 255)
462- end
463+ elseif (str == "chronus") then
464+ SetSpeedUpgrade(10)
465+ SetSpeedResearch(10)
466
467 else
468 return false
469
470=== removed file 'scripts/constructions.lua'
471--- scripts/constructions.lua 2010-11-16 22:33:39 +0000
472+++ scripts/constructions.lua 1970-01-01 00:00:00 +0000
473@@ -1,66 +0,0 @@
474--- _________ __ __
475--- / _____// |_____________ _/ |______ ____ __ __ ______
476--- \_____ \\ __\_ __ \__ \\ __\__ \ / ___\| | \/ ___/
477--- / \| | | | \// __ \| | / __ \_/ /_/ > | /\___ \
478--- /_______ /|__| |__| (____ /__| (____ /\___ /|____//____ >
479--- \/ \/ \//_____/ \/
480--- ______________________ ______________________
481--- T H E W A R B E G I N S
482--- Stratagus - A free fantasy real time strategy game engine
483---
484--- constructions.lua - Define the constructions.
485---
486--- (c) Copyright 2001-2004 by Lutz Sammer and Jimmy Salmon
487---
488--- This program is free software; you can redistribute it and/or modify
489--- it under the terms of the GNU General Public License as published by
490--- the Free Software Foundation; either version 2 of the License, or
491--- (at your option) any later version.
492---
493--- This program is distributed in the hope that it will be useful,
494--- but WITHOUT ANY WARRANTY; without even the implied warranty of
495--- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
496--- GNU General Public License for more details.
497---
498--- You should have received a copy of the GNU General Public License
499--- along with this program; if not, write to the Free Software
500--- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
501---
502--- $Id$
503-
504-Load("scripts/human/constructions.lua")
505-Load("scripts/orc/constructions.lua")
506---[[
507-DefineConstruction("construction-none", {
508- Files = {
509- File = "tilesets/wall_construction_site.png",
510- Size = {32, 32}},
511- Constructions = {
512- {Percent = 0,
513- File = "construction",
514- Frame = 0},
515- {Percent = 33,
516- File = "construction",
517- Frame = 1},
518- {Percent = 67,
519- File = "construction",
520- Frame = 2}}
521-})
522---]]
523---[[
524-DefineConstruction("construction-wall", {
525- Files = {
526- File = "tilesets/wall_construction_site.png",
527- Size = {32, 32}},
528- Constructions = {
529- {Percent = 0,
530- File = "construction",
531- Frame = 0},
532- {Percent = 33,
533- File = "construction",
534- Frame = 1},
535- {Percent = 67,
536- File = "main",
537- Frame = 1}}
538-})
539---]]
540\ No newline at end of file
541
542=== modified file 'scripts/editor.lua'
543--- scripts/editor.lua 2010-11-22 10:49:13 +0000
544+++ scripts/editor.lua 2013-05-08 07:16:26 +0000
545@@ -59,7 +59,7 @@
546 "unit-human-stable",
547 "unit-human-church",
548 "unit-human-tower",
549- "unit-stormwind-keep",
550+ "unit-human-stormwind-keep",
551
552 --- - - - - - - - - - - - - - - - - - -
553
554@@ -83,7 +83,7 @@
555 "unit-orc-kennel",
556 "unit-orc-temple",
557 "unit-orc-tower",
558- "unit-blackrock-spire",
559+ "unit-orc-blackrock-spire",
560
561 --- - - - - - - - - - - - - - - - - - -
562
563@@ -110,4 +110,4 @@
564 Editor.UnitTypes:clear()
565 for key,value in ipairs(editor_types) do
566 Editor.UnitTypes:push_back(value)
567-end
568\ No newline at end of file
569+end
570
571=== modified file 'scripts/fonts.lua'
572--- scripts/fonts.lua 2010-11-16 22:33:39 +0000
573+++ scripts/fonts.lua 2013-05-08 07:16:26 +0000
574@@ -28,11 +28,11 @@
575 --
576 -- $Id$
577
578-CFont:New("small", CGraphic:New("3rd/fonts/small.png", 7, 6))
579-CFont:New("game", CGraphic:New("3rd/fonts/game.png", 13, 14))
580-CFont:New("large", CGraphic:New("3rd/fonts/large.png", 17, 17))
581-CFont:New("small-title", CGraphic:New("3rd/fonts/small_episode_titles.png", 32, 35))
582-CFont:New("large-title", CGraphic:New("3rd/fonts/large_episode_titles.png", 52, 50))
583+CFont:New("small", CGraphic:New("contrib/fonts/small.png", 7, 6))
584+CFont:New("game", CGraphic:New("contrib/fonts/game.png", 13, 14))
585+CFont:New("large", CGraphic:New("contrib/fonts/large.png", 17, 17))
586+CFont:New("small-title", CGraphic:New("contrib/fonts/small_episode_titles.png", 32, 35))
587+CFont:New("large-title", CGraphic:New("contrib/fonts/large_episode_titles.png", 52, 50))
588
589 --[[
590 DefineFont({
591@@ -42,7 +42,7 @@
592 DefineFont({
593 Name = "game",
594 File = "ui/fonts/game.png",
595- Size = {13, 14}})
596+ Size = {15, 14}})
597 DefineFont({
598 Name = "large",
599 File = "ui/fonts/large.png",
600
601=== modified file 'scripts/guichan.lua'
602--- scripts/guichan.lua 2010-12-13 20:53:19 +0000
603+++ scripts/guichan.lua 2013-05-08 07:16:26 +0000
604@@ -471,6 +471,26 @@
605 menu:run()
606 end
607
608+function RunSinglePlayerSubMenu()
609+ local menu = WarMenu()
610+ local offx = (Video.Width - 640) / 2
611+ local offy = (Video.Height - 480) / 2
612+
613+ menu:addFullButton("~!Solo Game", "s", offx + 208, offy + 104 + 36*3,
614+ function() RunSinglePlayerGameMenu(); menu:stop(1) end)
615+ menu:addFullButton("~!Campaign Game", "c", offx + 208, offy + 104 + 36*4,
616+ function() RunCampaignGameMenu(); menu:stop(1) end)
617+ menu:addFullButton("~!Load Game", "l", offx + 208, offy + 104 + 36*5,
618+ function() RunLoadGameMenu(); menu:stop(1) end)
619+ menu:addFullButton("~!Replay Game", "r", offx + 208, offy + 104 + 36*6,
620+ function() RunReplayGameMenu(); menu:stop(1) end)
621+
622+ menu:addFullButton("~!Previous Menu", "p", offx + 208, offy + 104 + 36*8,
623+ function() menu:stop() end)
624+
625+ return menu:run()
626+end
627+
628 function RunSinglePlayerGameMenu()
629 local menu = WarMenu()
630 local offx = (Video.Width - 640) / 2
631@@ -489,7 +509,7 @@
632 descriptionl = menu:addLabel("descriptionl", offx + 16 + 70, offy + 360, Fonts["game"], false)
633
634 menu:addLabel("~<Single Player Game Setup~>", offx + 640/2 + 12, offy + 192)
635- menu:addFullButton("S~!elect Scenario", "e", offx + 640 - 224 - 16, offy + 360 + 36*0,
636+ menu:addFullButton("S~!elect Scenario", "e", offx + 640 - 224 - 16, offy + 360 + 36 * -1,
637 function()
638 local oldmapname = mapname
639 RunSelectScenarioMenu()
640@@ -498,7 +518,7 @@
641 MapChanged()
642 end
643 end)
644- menu:addFullButton("~!Start Game", "s", offx + 640 - 224 - 16, offy + 360 + 36*1,
645+ menu:addFullButton("~!Start Game", "s", offx + 640 - 224 - 16, offy + 360 + 36*0,
646 function()
647 GameSettings.Presets[0].Race = race:getSelected()
648 GameSettings.Resources = resources:getSelected()
649@@ -508,7 +528,7 @@
650 RunMap(mapname)
651 menu:stop()
652 end)
653- menu:addFullButton("~!Cancel Game", "c", offx + 640 - 224 - 16, offy + 360 + 36*2, function() menu:stop() end)
654+ menu:addFullButton("~!Cancel Game", "c", offx + 640 - 224 - 16, offy + 360 + 36*1, function() RunSinglePlayerSubMenu(); menu:stop() end)
655
656 menu:addLabel("~<Your Race:~>", offx + 40, offy + (10 + 240) - 20, Fonts["game"], false)
657 race = menu:addDropDown({"Map Default", "Human", "Orc"}, offx + 40, offy + 10 + 240,
658@@ -571,25 +591,17 @@
659 local offx = (Video.Width - 640) / 2
660 local offy = (Video.Height - 480) / 2
661
662- menu:addLabel(war1gus.Name .. " V" .. war1gus.Version .. " " .. war1gus.Homepage, offx + 320, offy + 390 + 18*0)
663- menu:addLabel("Stratagus V" .. GetStratagusVersion() .. " " .. GetStratagusHomepage(), offx + 320, offy + 390 + 18*1)
664- menu:addLabel(war1gus.Copyright, offx + 320, offy + 390 + 18*4)
665+ menu:addLabel(war1gus.Name .. " V" .. war1gus.Version .. " " .. war1gus.Homepage, offx + 440, offy + 390 + 10*3, Fonts["small"])
666+ menu:addLabel("Stratagus V" .. GetStratagusVersion() .. " " .. GetStratagusHomepage(), offx + 440, offy + 390 + 10*2, Fonts["small"])
667+ menu:addLabel(war1gus.Copyright, offx + 440, offy + 390 + 10*4, Fonts["small"])
668
669- menu:addFullButton("~!Single Player Game", "s", offx + 208, offy + 104 + 36*0, function() RunSinglePlayerGameMenu(); menu:stop(1) end)
670---[[
671- menu:addFullButton("~!Multi Player Game", "m", offx + 208, offy + 104 + 36*1,
672+ menu:addFullButton("~!Single Player Game", "s", offx + 208, offy + 104 + 34*3, function() RunSinglePlayerSubMenu(); menu:stop(1) end)
673+ menu:addFullButton("~!Multi Player Game", "m", offx + 208, offy + 104 + 34*4,
674 function() RunMultiPlayerGameMenu(); menu:stop(1) end)
675- menu:addFullButton("~!Campaign Game", "c", offx + 208, offy + 104 + 36*2,
676- function() RunCampaignGameMenu(); menu:stop(1) end)
677- menu:addFullButton("~!Load Game", "l", offx + 208, offy + 104 + 36*3,
678- function() RunLoadGameMenu(); menu:stop(1) end)
679- menu:addFullButton("~!Replay Game", "r", offx + 208, offy + 104 + 36*4,
680- function() RunReplayGameMenu(); menu:stop(1) end)
681---]]
682- menu:addFullButton("~!Options", "o", offx + 208, offy + 104 + 36*5, function() RunOptionsMenu(); menu:stop(1) end)
683- menu:addFullButton("~!Editor", "e", offx + 208, offy + 104 + 36*6, function() RunEditorMenu(); menu:stop(1) end)
684- menu:addFullButton("S~!how Credits", "h", offx + 208, offy + 104 + 36*7, RunShowCreditsMenu)
685- menu:addFullButton("E~!xit Program", "x", offx + 208, offy + 104 + 36*9, function() menu:stop() end)
686+ menu:addFullButton("~!Options", "o", offx + 208, offy + 104 + 34*5, function() RunOptionsMenu(); menu:stop(1) end)
687+ menu:addFullButton("~!Editor", "e", offx + 208, offy + 104 + 34*6, function() RunEditorMenu(); menu:stop(1) end)
688+ menu:addFullButton("S~!how Credits", "h", offx + 208, offy + 104 + 34*7, RunShowCreditsMenu)
689+ menu:addFullButton("E~!xit Program", "x", offx + 208, offy + 104 + 34*8, function() menu:stop() end)
690
691 return menu:run()
692 end
693@@ -609,7 +621,7 @@
694 end
695
696
697---Load("scripts/menus/campaign.lua")
698+Load("scripts/menus/campaign.lua")
699 Load("scripts/menus/load.lua")
700 Load("scripts/menus/save.lua")
701 Load("scripts/menus/replay.lua")
702@@ -618,14 +630,14 @@
703 Load("scripts/menus/editor.lua")
704 Load("scripts/menus/credits.lua")
705 Load("scripts/menus/game.lua")
706---[[
707+Load("scripts/menus/endscenario.lua")
708+Load("scripts/menus/objectives.lua")
709 Load("scripts/menus/help.lua")
710-Load("scripts/menus/objectives.lua")
711-Load("scripts/menus/endscenario.lua")
712 Load("scripts/menus/diplomacy.lua")
713 Load("scripts/menus/results.lua")
714-Load("scripts/menus/network.lua")
715+-- Load("scripts/menus/network.lua")
716+Load("scripts/menus/results.lua")
717+--[[
718 --]]
719
720 RunProgramStartMenu()
721-
722
723=== modified file 'scripts/human/buttons.lua'
724--- scripts/human/buttons.lua 2009-05-22 16:30:00 +0000
725+++ scripts/human/buttons.lua 2013-05-08 07:16:26 +0000
726@@ -41,22 +41,16 @@
727 Action = "move",
728 Key = "m", Hint = "~!MOVE",
729 ForUnit = {"unit-footman", "unit-knight", "unit-archer",
730- "unit-dwarves", "unit-human-catapult", "unit-peasant",
731- "unit-female-hero",
732- "unit-flying-angle", "unit-arthor-literios", "unit-knight-rider", "unit-wise-man",
733- "unit-man-of-light", "unit-white-mage", "unit-balloon",
734- "unit-gryphon-rider", "unit-mage",
735- "human-group"} } )
736+ "unit-human-catapult", "unit-peasant",
737+ "unit-cleric", "unit-conjurer", "unit-midevh",
738+ "human-group" } } )
739
740 DefineButton( { Pos = 2, Level = 0, Icon = "icon-human-shield1",
741 Action = "stop",
742 Key = "s", Hint = "~!STOP",
743 ForUnit = {"unit-footman", "unit-knight", "unit-archer",
744 "unit-dwarves", "unit-human-catapult", "unit-peasant",
745- "unit-female-hero",
746- "unit-flying-angle", "unit-arthor-literios", "unit-knight-rider", "unit-wise-man",
747- "unit-man-of-light", "unit-white-mage", "unit-balloon",
748- "unit-gryphon-rider", "unit-mage",
749+ "unit-cleric", "unit-conjurer", "unit-midevh",
750 "human-group"} } )
751
752 DefineButton( { Pos = 2, Level = 0, Icon = "icon-human-shield2",
753@@ -64,136 +58,107 @@
754 Allowed = "check-upgrade", AllowArg = {"upgrade-human-shield1"},
755 Key = "s", Hint = "~!STOP",
756 ForUnit = {"unit-footman", "unit-knight", "unit-archer",
757- "unit-dwarves", "unit-human-catapult", "unit-arthor-literios", "unit-knight-rider",
758- "unit-wise-man", "unit-man-of-light"} } )
759+ "unit-human-catapult"}} )
760
761 DefineButton( { Pos = 2, Level = 0, Icon = "icon-human-shield3",
762 Action = "stop",
763 Allowed = "check-upgrade", AllowArg = {"upgrade-human-shield2"},
764 Key = "s", Hint = "~!STOP",
765 ForUnit = {"unit-footman", "unit-knight", "unit-archer",
766- "unit-dwarves", "unit-human-catapult", "unit-arthor-literios", "unit-knight-rider",
767- "unit-wise-man", "unit-man-of-light"} } )
768+ "unit-human-catapult"}} )
769
770 DefineButton( { Pos = 3, Level = 0, Icon = "icon-sword1",
771 Action = "attack",
772 Key = "a", Hint = "~!ATTACK",
773 ForUnit = {"unit-footman", "unit-knight", "unit-archer",
774- "unit-dwarves", "unit-human-catapult", "unit-peasant",
775- "unit-female-hero",
776- "unit-flying-angle", "unit-arthor-literios", "unit-knight-rider", "unit-wise-man",
777- "unit-man-of-light", "unit-white-mage", "unit-gryphon-rider", "human-group"} } )
778+ "unit-human-catapult", "human-group"} } )
779
780 DefineButton( { Pos = 3, Level = 0, Icon = "icon-sword2",
781 Action = "attack",
782 Allowed = "check-upgrade", AllowArg = {"upgrade-sword1"},
783 Key = "a", Hint = "~!ATTACK",
784 ForUnit = {"unit-footman", "unit-knight", "unit-archer",
785- "unit-dwarves", "unit-human-catapult", "unit-arthor-literios", "unit-knight-rider",
786- "unit-wise-man", "unit-man-of-light"} } )
787+ "unit-human-catapult"} } )
788
789 DefineButton( { Pos = 3, Level = 0, Icon = "icon-sword3",
790 Action = "attack",
791 Allowed = "check-upgrade", AllowArg = {"upgrade-sword2"},
792 Key = "a", Hint = "~!ATTACK",
793 ForUnit = {"unit-footman", "unit-knight", "unit-archer",
794- "unit-dwarves", "unit-human-catapult", "unit-arthor-literios", "unit-knight-rider",
795- "unit-wise-man", "unit-man-of-light"} } )
796+ "unit-human-catapult"} } )
797
798 DefineButton( { Pos = 3, Level = 0, Icon = "icon-arrow1",
799 Action = "attack",
800 Key = "a", Hint = "~!ATTACK",
801- ForUnit = {"unit-archer", "unit-female-hero"} } )
802+ ForUnit = {"unit-archer"} } )
803
804 DefineButton( { Pos = 3, Level = 0, Icon = "icon-arrow2",
805 Action = "attack",
806 Allowed = "check-upgrade", AllowArg = {"upgrade-arrow1"},
807 Key = "a", Hint = "~!ATTACK",
808- ForUnit = {"unit-archer", "unit-female-hero"} } )
809+ ForUnit = {"unit-archer"} } )
810
811 DefineButton( { Pos = 3, Level = 0, Icon = "icon-arrow3",
812 Action = "attack",
813 Allowed = "check-upgrade", AllowArg = {"upgrade-arrow2"},
814 Key = "a", Hint = "~!ATTACK",
815- ForUnit = {"unit-archer", "unit-female-hero"} } )
816+ ForUnit = {"unit-archer"} } )
817
818 DefineButton( { Pos = 6, Level = 0, Icon = "icon-human-attack-ground",
819 Action = "attack-ground",
820 Key = "g", Hint = "ATTACK ~!GROUND",
821 ForUnit = {"unit-human-catapult", "human-group"} } )
822
823--- paladin specific actions ---------------------------------------------------
824-
825---(if extensions
826---DefineButton( { Pos = 6, Level = 0, Icon = "icon-heal
827--- Action = "cast-spell", Value = "spell-area-healing
828--- Allowed = "check-upgrade", AllowArg = {"upgrade-area-healing)
829--- Key = "l", Hint = "AREA HEA~!LING (per 1 HP)",
830--- ForUnit = {"unit-paladin", "unit-knight-rider
831--- "unit-man-of-light"} } )
832---)
833-
834---[[
835-DefineButton( { Pos = 7, Level = 0, Icon = "icon-holy-vision",
836- Action = "cast-spell", Value = "spell-holy-vision",
837- Allowed = "check-upgrade", AllowArg = {"upgrade-holy-vision"},
838- Key = "v", Hint = "HOLY ~!VISION",
839- ForUnit = {"unit-paladin", "unit-knight-rider",
840- "unit-man-of-light"} } )
841-
842-DefineButton( { Pos = 8, Level = 0, Icon = "icon-heal",
843+-- cleric specific actions ---------------------------------------------------
844+
845+
846+DefineButton( { Pos = 3, Level = 0, Icon = "icon-holy-lance",
847+ Action = "attack",
848+ Key = "a", Hint = "HOLY LANCE ~!ATTACK",
849+ ForUnit = {"unit-cleric"} } )
850+
851+DefineButton( { Pos = 4, Level = 0, Icon = "icon-healing",
852 Action = "cast-spell", Value = "spell-healing",
853 Allowed = "check-upgrade", AllowArg = {"upgrade-healing"},
854 Key = "h", Hint = "~!HEALING (per 1 HP)",
855- ForUnit = {"unit-paladin", "unit-knight-rider",
856- "unit-man-of-light"} } )
857-
858-DefineButton( { Pos = 9, Level = 0, Icon = "icon-exorcism",
859- Action = "cast-spell", Value = "spell-exorcism",
860- Allowed = "check-upgrade", AllowArg = {"upgrade-exorcism"},
861- Key = "e", Hint = "~!EXORCISM",
862- ForUnit = {"unit-paladin", "unit-knight-rider",
863- "unit-man-of-light"} } )
864-]]
865-
866--- mage specific actions ------------------------------------------------------
867-
868-DefineButton( { Pos = 3, Level = 0, Icon = "icon-lightning",
869- Action = "attack",
870- Key = "a", Hint = "LIGHTNING ~!ATTACK",
871- ForUnit = {"unit-mage", "unit-white-mage"} } )
872-
873---[[
874-DefineButton( { Pos = 4, Level = 0, Icon = "icon-fireball",
875- Action = "cast-spell", Value = "spell-fireball",
876- Allowed = "check-upgrade", AllowArg = {"upgrade-fireball"},
877- Key = "f", Hint = "~!FIREBALL",
878- ForUnit = {"unit-mage", "unit-white-mage"} } )
879-
880-DefineButton( { Pos = 5, Level = 0, Icon = "icon-slow",
881- Action = "cast-spell", Value = "spell-slow",
882- Allowed = "check-upgrade", AllowArg = {"upgrade-slow"},
883- Key = "o", Hint = "SL~!OW",
884- ForUnit = {"unit-mage", "unit-white-mage"} } )
885-
886-DefineButton( { Pos = 6, Level = 0, Icon = "icon-flame-shield",
887- Action = "cast-spell", Value = "spell-flame-shield",
888- Allowed = "check-upgrade", AllowArg = {"upgrade-flame-shield"},
889- Key = "l", Hint = "F~!LAME SHIELD",
890- ForUnit = {"unit-mage", "unit-white-mage"} } )
891-
892-DefineButton( { Pos = 7, Level = 0, Icon = "icon-invisibility",
893+ ForUnit = {"unit-cleric"} } )
894+
895+DefineButton( { Pos = 5, Level = 0, Icon = "icon-invisibility",
896 Action = "cast-spell", Value = "spell-invisibility",
897 Allowed = "check-upgrade", AllowArg = {"upgrade-invisibility"},
898 Key = "i", Hint = "~!INVISIBILITY",
899- ForUnit = {"unit-mage", "unit-white-mage"} } )
900-
901-DefineButton( { Pos = 9, Level = 0, Icon = "icon-blizzard",
902- Action = "cast-spell", Value = "spell-blizzard",
903- Allowed = "check-upgrade", AllowArg = {"upgrade-blizzard"},
904- Key = "b", Hint = "~!BLIZZARD",
905- ForUnit = {"unit-mage", "unit-white-mage"} } )
906-]]
907+ ForUnit = {"unit-cleric"} } )
908+
909+DefineButton( { Pos = 6, Level = 0, Icon = "icon-far-seeing",
910+ Action = "cast-spell", Value = "spell-far-seeing",
911+ Allowed = "check-upgrade", AllowArg = {"upgrade-far-seeing"},
912+ Key = "s", Hint = "FAR ~!SEEING",
913+ ForUnit = {"unit-cleric"} } )
914+
915+-- conjurer specific actions ------------------------------------------------------
916+
917+DefineButton( { Pos = 3, Level = 0, Icon = "icon-fireball",
918+ Action = "attack",
919+ Key = "a", Hint = "FIREBALL ~!ATTACK",
920+ ForUnit = {"unit-conjurer"} } )
921+
922+DefineButton( { Pos = 4, Level = 0, Icon = "icon-spider",
923+ Action = "cast-spell", Value = "spell-summon-spiders",
924+ Allowed = "check-upgrade", AllowArg = {"upgrade-spider"},
925+ Key = "s", Hint = "SUMMON S~!PIDERS",
926+ ForUnit = {"unit-conjurer"} } )
927+
928+DefineButton( { Pos = 5, Level = 0, Icon = "icon-water-elemental",
929+ Action = "cast-spell", Value = "spell-summon-elemental",
930+ Allowed = "check-upgrade", AllowArg = {"upgrade-water-elemental"},
931+ Key = "e", Hint = "SUMMON E~!LEMENTAL",
932+ ForUnit = {"unit-conjurer"} } )
933+
934+DefineButton( { Pos = 6, Level = 0, Icon = "icon-rain-of-fire",
935+ Action = "cast-spell", Value = "spell-rain-of-fire",
936+ Allowed = "check-upgrade", AllowArg = {"upgrade-rain-of-fire"},
937+ Key = "r", Hint = "~!RAIN OF FIRE",
938+ ForUnit = {"unit-conjurer"} } )
939
940 -- peasant specific actions ---------------------------------------------------
941
942@@ -286,12 +251,12 @@
943 Key = "r", Hint = "BUILD ~!ROAD",
944 ForUnit = {"unit-human-town-hall"} } )
945 ]]
946-
947+--[[
948 DefineButton( { Pos = 3, Level = 0, Icon = "icon-human-wall",
949 Action = "build", Value = "unit-human-wall",
950 Key = "w", Hint = "BUILD ~!WALL",
951 ForUnit = {"unit-human-town-hall"} } )
952-
953+]]
954
955 -- training commands ---------------------------------------------------------
956
957@@ -366,13 +331,13 @@
958 DefineButton( { Pos = 1, Level = 0, Icon = "icon-horse1",
959 Action = "research", Value = "upgrade-horse1",
960 Allowed = "check-single-research",
961- Key = "u", Hint = "~!BREED FASTER HORSES",
962+ Key = "b", Hint = "~!BREED FASTER HORSES",
963 ForUnit = {"unit-human-stable"} } )
964
965 DefineButton( { Pos = 1, Level = 0, Icon = "icon-horse2",
966 Action = "research", Value = "upgrade-horse2",
967 Allowed = "check-single-research",
968- Key = "u", Hint = "~!BREED FASTER HORSES",
969+ Key = "b", Hint = "~!BREED FASTER HORSES",
970 ForUnit = {"unit-human-stable"} } )
971
972 -- spells -------------------------------------------------------------------
973@@ -386,30 +351,29 @@
974 DefineButton( { Pos = 3, Level = 0, Icon = "icon-far-seeing",
975 Action = "research", Value = "upgrade-far-seeing",
976 Allowed = "check-single-research",
977- Key = "e", Hint = "RESEARCH ~!FAR SEEING",
978+ Key = "f", Hint = "RESEARCH ~!FAR SEEING",
979 ForUnit = {"unit-human-church"} } )
980
981 DefineButton( { Pos = 4, Level = 0, Icon = "icon-invisibility",
982 Action = "research", Value = "upgrade-invisibility",
983 Allowed = "check-single-research",
984- Key = "o", Hint = "RESEARCH ~!INVISIBILITY",
985+ Key = "i", Hint = "RESEARCH ~!INVISIBILITY",
986 ForUnit = {"unit-human-church"} } )
987
988 DefineButton( { Pos = 2, Level = 0, Icon = "icon-scorpion",
989 Action = "research", Value = "upgrade-scorpion",
990 Allowed = "check-single-research",
991- Key = "b", Hint = "RESEARCH ~!MINOR SUMMONING",
992+ Key = "s", Hint = "RESEARCH SUMMON ~!SPIDERS",
993 ForUnit = {"unit-human-tower"} } )
994
995 DefineButton( { Pos = 3, Level = 0, Icon = "icon-rain-of-fire",
996 Action = "research", Value = "upgrade-rain-of-fire",
997 Allowed = "check-single-research",
998- Key = "b", Hint = "RESEARCH ~!RAIN OF FIRE",
999+ Key = "r", Hint = "RESEARCH ~!RAIN OF FIRE",
1000 ForUnit = {"unit-human-tower"} } )
1001
1002 DefineButton( { Pos = 4, Level = 0, Icon = "icon-water-elemental",
1003 Action = "research", Value = "upgrade-water-elemental",
1004 Allowed = "check-single-research",
1005- Key = "b", Hint = "RESEARCH ~!MAJOR SUMMONING",
1006+ Key = "e", Hint = "RESEARCH SUMMON ~!ELEMENTAL",
1007 ForUnit = {"unit-human-tower"} } )
1008-
1009
1010=== modified file 'scripts/human/campaign1.lua'
1011--- scripts/human/campaign1.lua 2009-05-22 16:30:00 +0000
1012+++ scripts/human/campaign1.lua 2013-05-08 07:16:26 +0000
1013@@ -32,104 +32,33 @@
1014 -- Define the campaign
1015 --
1016 -- (define-campagin 'ident 'name "name" 'campaign (list elements)
1017-DefineCampaign("human", "name", "~!Human campaign",
1018- "campaign", {
1019- --"play-movie", "movie/splash2.avi" {"full-screen", "zoom-screen"},
1020- "show-picture", {
1021- "image", "campaigns/human/interface/Act_I_-_Shores_of_Lordareon.png",
1022- "fade-in", 30 * 2,
1023- "fade-out", 30 * 2,
1024- "display-time", 30 * 10,
1025- "text", {
1026- "font", "large-title",
1027- "x", 640 / 2,
1028- "y", 480 / 2 - 67,
1029- "width", 640,
1030- "height", 0,
1031- "align", "center",
1032- "text", "Act I"},
1033- "text", {
1034- "font", "small-title",
1035- "x", 640 / 2,
1036- "y", 480 / 2 - 25,
1037- "width", 640,
1038- "height", 0,
1039- "align", "center",
1040- "text", "The Shores of Lordareon"}},
1041- "play-level", "campaigns/human/level01h.cm",
1042- "play-level", "campaigns/human/level02h.cm",
1043- "play-level", "campaigns/human/level03h.cm",
1044- "play-level", "campaigns/human/level04h.cm",
1045- "show-picture", {
1046- "image", "campaigns/human/interface/Act_II_-_Khaz_Modan.png",
1047- "fade-in", 30 * 2,
1048- "fade-out", 30 * 2,
1049- "display-time", 30 * 10,
1050- "text", {
1051- "font", "large-title",
1052- "x", 640 / 2,
1053- "y", 480 / 2 - 67,
1054- "width", 640,
1055- "height", 0,
1056- "align", "center",
1057- "text", "Act II"},
1058- "text", {
1059- "font", "small-title",
1060- "x", 640 / 2,
1061- "y", 480 / 2 - 25,
1062- "width", 640,
1063- "height", 0,
1064- "align", "center",
1065- "text", "Khaz Modan"}},
1066- "play-level", "campaigns/human/level05h.cm",
1067- "play-level", "campaigns/human/level06h.cm",
1068- "play-level", "campaigns/human/level07h.cm",
1069- "show-picture", {
1070- "image", "campaigns/human/interface/Act_III_-_The_Northlands.png",
1071- "fade-in", 30 * 2,
1072- "fade-out", 30 * 2,
1073- "display-time", 30 * 10,
1074- "text", {
1075- "font", "large-title",
1076- "x", 640 / 2,
1077- "y", 480 / 2 - 67,
1078- "width", 640,
1079- "height", 0,
1080- "align", "center",
1081- "text", "Act III"},
1082- "text", {
1083- "font", "small-title",
1084- "x", 640 / 2,
1085- "y", 480 / 2 - 25,
1086- "width", 640,
1087- "height", 0,
1088- "align", "center",
1089- "text", "The Northlands"}},
1090- "play-level", "campaigns/human/level08h.cm",
1091- "play-level", "campaigns/human/level09h.cm",
1092- "play-level", "campaigns/human/level10h.cm",
1093- "show-picture", {
1094- "image", "campaigns/human/interface/Act_IV_-_Return_to_Azeroth.png",
1095- "fade-in", 30 * 2,
1096- "fade-out", 30 * 2,
1097- "display-time", 30 * 10,
1098- "text", {
1099- "font", "large-title",
1100- "x", 640 / 2,
1101- "y", 480 / 2 - 67,
1102- "width", 640,
1103- "height", 0,
1104- "align", "center",
1105- "text", "Act IV"},
1106- "text", {
1107- "font", "small-title",
1108- "x", 640 / 2,
1109- "y", 480 / 2 - 25,
1110- "width", 640,
1111- "height", 0,
1112- "align", "center",
1113- "text", "Return to Azeroth"}},
1114- "play-level", "campaigns/human/level11h.cm",
1115- "play-level", "campaigns/human/level12h.cm",
1116- "play-level", "campaigns/human/level13h.cm",
1117- "play-level", "campaigns/human/level14h.cm" } )
1118+
1119+campaign_steps = {
1120+ CreateVideoStep("videos/hmap01.avi"),
1121+ CreateMapStep("campaigns/human/01.smp"),
1122+ CreateVideoStep("videos/hmap02.avi"),
1123+ CreateMapStep("campaigns/human/02.smp"),
1124+ CreateVideoStep("videos/hmap03.avi"),
1125+ CreateMapStep("campaigns/human/03.smp"),
1126+ CreateVideoStep("videos/hmap04.avi"),
1127+ CreateMapStep("campaigns/human/04.smp"),
1128+ CreateVideoStep("videos/hmap05.avi"),
1129+ CreateMapStep("campaigns/human/05.smp"),
1130+ CreateVideoStep("videos/hmap06.avi"),
1131+ CreateMapStep("campaigns/human/06.smp"),
1132+ CreateVideoStep("videos/hmap07.avi"),
1133+ CreateMapStep("campaigns/human/07.smp"),
1134+ CreateVideoStep("videos/hmap08.avi"),
1135+ CreateMapStep("campaigns/human/08.smp"),
1136+ CreateVideoStep("videos/hmap09.avi"),
1137+ CreateMapStep("campaigns/human/09.smp"),
1138+ CreateVideoStep("videos/hmap10.avi"),
1139+ CreateMapStep("campaigns/human/10.smp"),
1140+ CreateVideoStep("videos/hmap11.avi"),
1141+ CreateMapStep("campaigns/human/11.smp"),
1142+ CreateVideoStep("videos/hmap12.avi"),
1143+ CreateMapStep("campaigns/human/12.smp"),
1144+ CreateVideoStep("videos/ofinale.avi"),
1145+}
1146+
1147+campaign_menu = { 1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23 }
1148
1149=== removed file 'scripts/human/campaign2.lua'
1150--- scripts/human/campaign2.lua 2009-05-22 16:30:00 +0000
1151+++ scripts/human/campaign2.lua 1970-01-01 00:00:00 +0000
1152@@ -1,132 +0,0 @@
1153--- _________ __ __
1154--- / _____// |_____________ _/ |______ ____ __ __ ______
1155--- \_____ \\ __\_ __ \__ \\ __\__ \ / ___\| | \/ ___/
1156--- / \| | | | \// __ \| | / __ \_/ /_/ > | /\___ \
1157--- /_______ /|__| |__| (____ /__| (____ /\___ /|____//____ >
1158--- \/ \/ \//_____/ \/
1159--- ______________________ ______________________
1160--- T H E W A R B E G I N S
1161--- Stratagus - A free fantasy real time strategy game engine
1162---
1163--- campaign2.ccl - Define the human campaign 2.
1164---
1165--- (c) Copyright 2002 by Lutz Sammer
1166---
1167--- This program is free software; you can redistribute it and/or modify
1168--- it under the terms of the GNU General Public License as published by
1169--- the Free Software Foundation; either version 2 of the License, or
1170--- (at your option) any later version.
1171---
1172--- This program is distributed in the hope that it will be useful,
1173--- but WITHOUT ANY WARRANTY; without even the implied warranty of
1174--- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
1175--- GNU General Public License for more details.
1176---
1177--- You should have received a copy of the GNU General Public License
1178--- along with this program; if not, write to the Free Software
1179--- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
1180---
1181--- $Id$
1182-
1183---=============================================================================
1184--- Define the campaign
1185---
1186--- (define-campagin 'ident 'name "name" 'campaign { elements)
1187-DefineCampaign("human-exp", "name", "H~!uman expansion levels",
1188- "campaign", {
1189- "show-picture", {
1190- "image", "campaigns/human-exp/interface/Act_I_-_A_Time_for_Heroes.png",
1191- "fade-in", 30 * 2,
1192- "fade-out", 30 * 2,
1193- "display-time", 30 * 10,
1194- "text", {
1195- "font", "large-title",
1196- "x", 640 / 2,
1197- "y", 480 / 2 - 67,
1198- "width", 640,
1199- "height", 0,
1200- "align", "center",
1201- "text", "Act I"},
1202- "text", {
1203- "font", "small-title",
1204- "x", 640 / 2,
1205- "y", 480 / 2 - 25,
1206- "width", 640,
1207- "height", 0,
1208- "align", "center",
1209- "text", "A Time for Heroes"}},
1210- "play-level", "campaigns/human-exp/levelx01h.cm",
1211- "play-level", "campaigns/human-exp/levelx02h.cm",
1212- "play-level", "campaigns/human-exp/levelx03h.cm",
1213- "show-picture", {
1214- "image", "campaigns/human-exp/interface/Act_II_-_Draenor,_the_Red_World.png",
1215- "fade-in", 30 * 2,
1216- "fade-out", 30 * 2,
1217- "display-time", 30 * 10,
1218- "text", {
1219- "font", "large-title",
1220- "x", 640 / 2,
1221- "y", 480 / 2 - 67,
1222- "width", 640,
1223- "height", 0,
1224- "align", "center",
1225- "text", "Act II"},
1226- "text", {
1227- "font", "small-title",
1228- "x", 640 / 2,
1229- "y", 480 / 2 - 25,
1230- "width", 640,
1231- "height", 0,
1232- "align", "center",
1233- "text", "Draenor, The Red World"}},
1234- "play-level", "campaigns/human-exp/levelx04h.cm",
1235- "play-level", "campaigns/human-exp/levelx05h.cm",
1236- "play-level", "campaigns/human-exp/levelx06h.cm",
1237- "show-picture", {
1238- "image", "campaigns/human-exp/interface/Act_III_-_War_in_the_Shadows.png",
1239- "fade-in", 30 * 2,
1240- "fade-out", 30 * 2,
1241- "display-time", 30 * 10,
1242- "text", {
1243- "font", "large-title",
1244- "x", 640 / 2,
1245- "y", 480 / 2 - 67,
1246- "width", 640,
1247- "height", 0,
1248- "align", "center",
1249- "text", "Act III"},
1250- "text", {
1251- "font", "small-title",
1252- "x", 640 / 2,
1253- "y", 480 / 2 - 25,
1254- "width", 640,
1255- "height", 0,
1256- "align", "center",
1257- "text", "War in the Shadows"}},
1258- "play-level", "campaigns/human-exp/levelx07h.cm",
1259- "play-level", "campaigns/human-exp/levelx08h.cm",
1260- "play-level", "campaigns/human-exp/levelx09h.cm",
1261- "show-picture", {
1262- "image", "campaigns/human-exp/interface/Act_IV_-_The_Measure_of_Valor.png",
1263- "fade-in", 30 * 2,
1264- "fade-out", 30 * 2,
1265- "display-time", 30 * 10,
1266- "text", {
1267- "font", "large-title",
1268- "x", 640 / 2,
1269- "y", 480 / 2 - 67,
1270- "width", 640,
1271- "height", 0,
1272- "align", "center",
1273- "text", "Act IV"},
1274- "text", {
1275- "font", "small-title",
1276- "x", 640 / 2,
1277- "y", 480 / 2 - 25,
1278- "width", 640,
1279- "height", 0,
1280- "align", "center",
1281- "text", "The Measure of Valor"}},
1282- "play-level", "campaigns/human-exp/levelx10h.cm",
1283- "play-level", "campaigns/human-exp/levelx11h.cm",
1284- "play-level", "campaigns/human-exp/levelx12h.cm" } )
1285
1286=== removed file 'scripts/human/constructions.lua'
1287--- scripts/human/constructions.lua 2010-06-22 06:41:34 +0000
1288+++ scripts/human/constructions.lua 1970-01-01 00:00:00 +0000
1289@@ -1,196 +0,0 @@
1290--- _________ __ __
1291--- / _____// |_____________ _/ |______ ____ __ __ ______
1292--- \_____ \\ __\_ __ \__ \\ __\__ \ / ___\| | \/ ___/
1293--- / \| | | | \// __ \| | / __ \_/ /_/ > | /\___ \
1294--- /_______ /|__| |__| (____ /__| (____ /\___ /|____//____ >
1295--- \/ \/ \//_____/ \/
1296--- ______________________ ______________________
1297--- T H E W A R B E G I N S
1298--- Stratagus - A free fantasy real time strategy game engine
1299---
1300--- constructions.lua - Define the human constructions.
1301---
1302--- (c) Copyright 2001-2004 by Lutz Sammer and Jimmy Salmon
1303---
1304--- This program is free software; you can redistribute it and/or modify
1305--- it under the terms of the GNU General Public License as published by
1306--- the Free Software Foundation; either version 2 of the License, or
1307--- (at your option) any later version.
1308---
1309--- This program is distributed in the hope that it will be useful,
1310--- but WITHOUT ANY WARRANTY; without even the implied warranty of
1311--- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
1312--- GNU General Public License for more details.
1313---
1314--- You should have received a copy of the GNU General Public License
1315--- along with this program; if not, write to the Free Software
1316--- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
1317---
1318--- $Id$
1319-
1320---=============================================================================
1321--- Define a construction.
1322---
1323--- (define-construction ident 'files '(tileset-name filename ..)
1324--- 'size '(x y))
1325-
1326-DefineConstruction("construction-human-barracks", {
1327- Files = {
1328--- {Tileset = "forest",
1329- File = "tilesets/forest/human/buildings/barracks_construction.png",
1330- Size = {128, 128}},
1331--- {Tileset = "swamp",
1332--- File = "tilesets/swamp/human/buildings/barracks_construction.png",
1333--- Size = {128, 128}}},
1334- Constructions = {
1335- {Percent = 0,
1336- File = "construction",
1337- Frame = 0},
1338- {Percent = 33,
1339- File = "construction",
1340- Frame = 1},
1341- {Percent = 67,
1342- File = "construction",
1343- Frame = 2}}
1344-})
1345-
1346-DefineConstruction("construction-human-blacksmith", {
1347- Files = {
1348--- {Tileset = "forest",
1349- File = "tilesets/forest/human/buildings/blacksmith_construction.png",
1350- Size = {96, 96}},
1351--- {Tileset = "swamp",
1352--- File = "tilesets/swamp/human/buildings/blacksmith_construction.png",
1353--- Size = {96, 96}}},
1354- Constructions = {
1355- {Percent = 0,
1356- File = "construction",
1357- Frame = 0},
1358- {Percent = 33,
1359- File = "construction",
1360- Frame = 1},
1361- {Percent = 67,
1362- File = "construction",
1363- Frame = 2}}
1364-})
1365-
1366-DefineConstruction("construction-human-church", {
1367- Files = {
1368--- {Tileset = "forest",
1369- File = "tilesets/forest/human/buildings/church_construction.png",
1370- Size = {128, 128}},
1371--- {Tileset = "swamp",
1372--- File = "tilesets/swamp/human/buildings/church_construction.png",
1373--- Size = {128, 128}}},
1374- Constructions = {
1375- {Percent = 0,
1376- File = "construction",
1377- Frame = 0},
1378- {Percent = 33,
1379- File = "construction",
1380- Frame = 1},
1381- {Percent = 67,
1382- File = "construction",
1383- Frame = 2}}
1384-})
1385-
1386-DefineConstruction("construction-human-farm", {
1387- Files = {
1388--- {Tileset = "forest",
1389- File = "tilesets/forest/human/buildings/farm_construction.png",
1390- Size = {96, 96}},
1391--- {Tileset = "swamp",
1392--- File = "tilesets/swamp/human/buildings/farm_construction.png",
1393--- Size = {96, 96}}},
1394- Constructions = {
1395- {Percent = 0,
1396- File = "construction",
1397- Frame = 0},
1398- {Percent = 33,
1399- File = "construction",
1400- Frame = 1},
1401- {Percent = 67,
1402- File = "construction",
1403- Frame = 2}}
1404-})
1405-
1406-DefineConstruction("construction-human-lumber-mill", {
1407- Files = {
1408--- {Tileset = "forest",
1409- File = "tilesets/forest/human/buildings/lumber_mill_construction.png",
1410- Size = {128, 128}},
1411--- {Tileset = "swamp",
1412--- File = "tilesets/swamp/human/buildings/lumber_mill_construction.png",
1413--- Size = {128, 128}}},
1414- Constructions = {
1415- {Percent = 0,
1416- File = "construction",
1417- Frame = 0},
1418- {Percent = 33,
1419- File = "construction",
1420- Frame = 1},
1421- {Percent = 67,
1422- File = "construction",
1423- Frame = 2}}
1424-})
1425-
1426-DefineConstruction("construction-human-stable", {
1427- Files = {
1428--- {Tileset = "forest",
1429- File = "tilesets/forest/human/buildings/stable_construction.png",
1430- Size = {128, 128}},
1431--- {Tileset = "swamp",
1432--- File = "tilesets/swamp/human/buildings/stable_construction.png",
1433--- Size = {128, 128}}},
1434- Constructions = {
1435- {Percent = 0,
1436- File = "construction",
1437- Frame = 0},
1438- {Percent = 33,
1439- File = "construction",
1440- Frame = 1},
1441- {Percent = 67,
1442- File = "construction",
1443- Frame = 2}}
1444-})
1445-
1446-DefineConstruction("construction-human-tower", {
1447- Files = {
1448--- {Tileset = "forest",
1449- File = "tilesets/forest/human/buildings/tower_construction.png",
1450- Size = {96, 96}},
1451--- {Tileset = "swamp",
1452--- File = "tilesets/swamp/human/buildings/tower_construction.png",
1453--- Size = {96, 96}}},
1454- Constructions = {
1455- {Percent = 0,
1456- File = "construction",
1457- Frame = 0},
1458- {Percent = 33,
1459- File = "construction",
1460- Frame = 1},
1461- {Percent = 67,
1462- File = "construction",
1463- Frame = 2}}
1464-})
1465-
1466-DefineConstruction("construction-human-town-hall", {
1467- Files = {
1468--- {Tileset = "forest",
1469- File = "tilesets/forest/human/buildings/town_hall_construction.png",
1470- Size = {128, 128}},
1471--- {Tileset = "swamp",
1472--- File = "tilesets/swamp/human/buildings/town_hall_construction.png",
1473--- Size = {128, 128}}},
1474- Constructions = {
1475- {Percent = 0,
1476- File = "construction",
1477- Frame = 0},
1478- {Percent = 33,
1479- File = "construction",
1480- Frame = 1},
1481- {Percent = 67,
1482- File = "construction",
1483- Frame = 2}}
1484-})
1485-
1486
1487=== modified file 'scripts/human/sound.lua'
1488--- scripts/human/sound.lua 2009-05-22 16:30:00 +0000
1489+++ scripts/human/sound.lua 2013-05-08 07:16:26 +0000
1490@@ -81,4 +81,5 @@
1491
1492 MakeSound("human-church-selected", "human/church.wav")
1493 MakeSound("human-stable-selected", "human/stable.wav")
1494+MakeSound("human-blacksmith-selected", "blacksmith")
1495
1496
1497=== removed file 'scripts/human/ui.lua'
1498--- scripts/human/ui.lua 2010-11-16 22:33:39 +0000
1499+++ scripts/human/ui.lua 1970-01-01 00:00:00 +0000
1500@@ -1,458 +0,0 @@
1501--- _________ __ __
1502--- / _____// |_____________ _/ |______ ____ __ __ ______
1503--- \_____ \\ __\_ __ \__ \\ __\__ \ / ___\| | \/ ___/
1504--- / \| | | | \// __ \| | / __ \_/ /_/ > | /\___ \
1505--- /_______ /|__| |__| (____ /__| (____ /\___ /|____//____ >
1506--- \/ \/ \//_____/ \/
1507--- ______________________ ______________________
1508--- T H E W A R B E G I N S
1509--- Stratagus - A free fantasy real time strategy game engine
1510---
1511--- ui.ccl - Define the human user interface
1512---
1513--- (c) Copyright 2001-2004 by Lutz Sammer and Jimmy Salmon
1514---
1515--- This program is free software; you can redistribute it and/or modify
1516--- it under the terms of the GNU General Public License as published by
1517--- the Free Software Foundation; either version 2 of the License, or
1518--- (at your option) any later version.
1519---
1520--- This program is distributed in the hope that it will be useful,
1521--- but WITHOUT ANY WARRANTY; without even the implied warranty of
1522--- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
1523--- GNU General Public License for more details.
1524---
1525--- You should have received a copy of the GNU General Public License
1526--- along with this program; if not, write to the Free Software
1527--- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
1528---
1529--- $Id$
1530-
1531---;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1532--- * Race human.
1533---;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1534-
1535-function AddFiller(file, x, y)
1536- if CanAccessFile(file) == true then
1537- b = CFiller:new_local()
1538- b.G = CGraphic:New(file)
1539- b.X = x
1540- b.Y = y
1541- UI.Fillers:push_back(b)
1542- end
1543-end
1544-
1545-function AddSelectedButton(x, y)
1546- b = CUIButton:new_local()
1547- b.X = x
1548- b.Y = y
1549- b.Style = FindButtonStyle("icon")
1550- UI.SelectedButtons:push_back(b)
1551-end
1552-
1553-function AddTrainingButton(x, y)
1554- b = CUIButton:new_local()
1555- b.X = x
1556- b.Y = y
1557- b.Style = FindButtonStyle("icon")
1558- UI.TrainingButtons:push_back(b)
1559-end
1560-
1561-function AddTransportingButton(x, y)
1562- b = CUIButton:new_local()
1563- b.X = x
1564- b.Y = y
1565- b.Style = FindButtonStyle("icon")
1566- UI.TransportingButtons:push_back(b)
1567-end
1568-
1569-function AddButtonPanelButton(x, y)
1570- b = CUIButton:new_local()
1571- b.X = x
1572- b.Y = y
1573- b.Style = FindButtonStyle("icon")
1574- UI.ButtonPanel.Buttons:push_back(b)
1575-end
1576-
1577-
1578-
1579-function HumanScreen(screen_width, screen_height)
1580- info_panel_x = 0
1581- info_panel_y = 160
1582-
1583--- DefineUI("human", screen_width, screen_height,
1584- UI.NormalFontColor = "white";
1585- UI.ReverseFontColor = "yellow";
1586--- "normal-font-color", "white",
1587--- "reverse-font-color", "yellow",
1588-
1589- UI.Fillers:clear()
1590- AddFiller("ui/human/minimap.png", 0, 0)
1591- AddFiller("ui/human/left_panel.png", 0, 144)
1592- AddFiller("ui/human/top_resource_bar.png", 144, 0)
1593- AddFiller("ui/human/right_panel.png", 624, 0)
1594- AddFiller("ui/human/bottom_panel.png", 144, 376)
1595---[[
1596- "filler", {
1597- File = "ui/human/minimap.png",
1598- Pos = {0, 0}},
1599- "filler", {
1600- File = "ui/human/left_panel.png",
1601- Pos = {0, 144}},
1602- "filler", {
1603- File = "ui/human/top_resource_bar.png",
1604- Pos = {144, 0}},
1605- "filler", {
1606- File = "ui/human/right_panel.png",
1607- Pos = {624, 0}},
1608- "filler", {
1609- File = "ui/human/bottom_panel.png",
1610- Pos = {144, 376}},
1611-]]
1612-
1613--- gold
1614-UI.Resources[1].G = CGraphic:New("ui/gold_icon_1.png", 26, 12)
1615-UI.Resources[1].IconFrame = 0
1616-UI.Resources[1].IconX = 176 + 0
1617-UI.Resources[1].IconY = 0
1618-UI.Resources[1].TextX = 176 + 0 + 18
1619-UI.Resources[1].TextY = 1
1620-
1621--- wood
1622-UI.Resources[2].G = CGraphic:New("ui/lumber_icon_1.png", 18, 18)
1623-UI.Resources[2].IconFrame = 1
1624-UI.Resources[2].IconX = 176 + 75
1625-UI.Resources[2].IconY = 0
1626-UI.Resources[2].TextX = 176 + 75 + 18
1627-UI.Resources[2].TextY = 1
1628---[[
1629--- oil
1630-UI.Resources[3].G = CGraphic:New("ui/gold,wood,oil,mana.png", 14, 14)
1631-UI.Resources[3].IconFrame = 2
1632-UI.Resources[3].IconX = 176 + 150
1633-UI.Resources[3].IconY = 0
1634-UI.Resources[3].TextX = 176 + 150 + 18
1635-UI.Resources[3].TextY = 1
1636-
1637--- food
1638-UI.Resources[FoodCost].G = CGraphic:New("ui/food.png", 14, 14)
1639-UI.Resources[FoodCost].IconFrame = 0
1640-UI.Resources[FoodCost].IconX = Video.Width - 16 - 138
1641-UI.Resources[FoodCost].IconY = 0
1642-UI.Resources[FoodCost].TextX = Video.Width - 16 - 138 + 18
1643-UI.Resources[FoodCost].TextY = 1
1644-
1645--- score
1646-UI.Resources[ScoreCost].G = CGraphic:New("ui/score.png", 14, 14)
1647-UI.Resources[ScoreCost].IconFrame = 0
1648-UI.Resources[ScoreCost].IconX = Video.Width - 16 - 68
1649-UI.Resources[ScoreCost].IconY = 0
1650-UI.Resources[ScoreCost].TextX = Video.Width - 16 - 68 + 18
1651-UI.Resources[ScoreCost].TextY = 1
1652---]]
1653---[[
1654- "resources", {
1655- "gold", { File = "ui/gold,wood,oil,mana.png", Frame = 0,
1656- Pos = { 176 + 0, 0}, Size = {14, 14}, TextPos = { 176 + 0 + 18, 1}},
1657- "wood", { File = "ui/gold,wood,oil,mana.png", Frame = 1,
1658- Pos = { 176 + 75, 0}, Size = {14, 14}, TextPos = { 176 + 75 + 18, 1}},
1659- "oil", { File = "ui/gold,wood,oil,mana.png", Frame = 2,
1660- Pos = { 176 + 150, 0}, Size = {14, 14}, TextPos = { 176 + 150 + 18, 1}},
1661- "food", { File = "ui/food.png", Frame = 0,
1662- Pos = { screen_width - 16 - 138, 0}, Size = {14, 14}, TextPos = { (screen_width - 16 - 138) + 18, 1}},
1663- "score", { File = "ui/score.png", Frame = 0,
1664- Pos = { screen_width - 16 - 68, 0}, Size = {14, 14}, TextPos = { (screen_width - 16 - 68) + 18, 1}}},
1665-]]
1666-
1667-b = CUIButton:new()
1668-b.X = 9
1669-b.Y = 160 + 9
1670-b.Style = FindButtonStyle("icon")
1671-UI.SingleSelectedButton = b
1672-
1673-UI.SelectedButtons:clear()
1674-
1675-AddSelectedButton(6, 160 + 6)
1676-AddSelectedButton(62, 160 + 6)
1677-AddSelectedButton(118, 160 + 6)
1678-AddSelectedButton(6, 160 + 60)
1679-AddSelectedButton(62, 160 + 60)
1680-AddSelectedButton(118, 160 + 60)
1681-AddSelectedButton(6, 160 + 114)
1682-AddSelectedButton(62, 160 + 114)
1683-AddSelectedButton(118, 160 + 114)
1684-
1685-UI.MaxSelectedFont = Fonts["game"]
1686-UI.MaxSelectedTextX = info_panel_x + 10
1687-UI.MaxSelectedTextY = info_panel_y + 10
1688-
1689---
1690-
1691-b = CUIButton:new()
1692-b.X = 110
1693-b.Y = 160 + 11 + 70
1694-b.Style = FindButtonStyle("icon")
1695-UI.SingleTrainingButton = b
1696-
1697-UI.TrainingButtons:clear()
1698-
1699-AddTrainingButton(6, 216)
1700-AddTrainingButton(62, 216)
1701-AddTrainingButton(118, 216)
1702-AddTrainingButton(6, 263)
1703-AddTrainingButton(62, 263)
1704-AddTrainingButton(118, 263)
1705-
1706---
1707-
1708-b = CUIButton:new()
1709-b.X = 110
1710-b.Y = 160 + 11 + 70
1711-b.Style = FindButtonStyle("icon")
1712-UI.UpgradingButton = b
1713-
1714---
1715-
1716-b = CUIButton:new()
1717-b.X = 110
1718-b.Y = 160 + 11 + 70
1719-b.Style = FindButtonStyle("icon")
1720-UI.ResearchingButton = b
1721-
1722---
1723-
1724-UI.TransportingButtons:clear()
1725-
1726-AddTransportingButton(9, 387)
1727-AddTransportingButton(65, 387)
1728-AddTransportingButton(121, 387)
1729-AddTransportingButton(9, 434)
1730-AddTransportingButton(65, 434)
1731-AddTransportingButton(121, 434)
1732-
1733---
1734-
1735-UI.CompletedBarColorRGB = CColor(48, 100, 4)
1736-UI.CompletedBarShadow = true
1737-
1738--- "info-panel", {
1739---[[
1740- "panel", {
1741- "file", "ui/human/infopanel.png",
1742- "pos", { info_panel_x, info_panel_y},
1743- "size", {176, 176}
1744- },
1745-]]
1746-
1747---[[
1748- "selected", {
1749- "single", {
1750- "icon", {
1751- "pos", { 6, 166}, "style", "icon"}},
1752- "multiple", {
1753- "icons", {
1754- { "pos", { 6, 166}, "style", "icon"},
1755- { "pos", { 62, 166}, "style", "icon"},
1756- { "pos", {118, 166}, "style", "icon"},
1757- { "pos", { 6, 220}, "style", "icon"},
1758- { "pos", { 62, 220}, "style", "icon"},
1759- { "pos", {118, 220}, "style", "icon"},
1760- { "pos", { 6, 274}, "style", "icon"},
1761- { "pos", { 62, 274}, "style", "icon"},
1762- { "pos", {118, 274}, "style", "icon"}},
1763- "max-text", {
1764- "font", "game",
1765- "pos", { info_panel_x + 10, info_panel_y + 10}}}
1766- },
1767- "training", {
1768- "single", {
1769- "text", {
1770- "text", "Training:",
1771- "font", "game",
1772- "pos", { info_panel_x + 37, info_panel_y + 8 + 78}},
1773- "icon", {
1774- "pos", { info_panel_x + 107, info_panel_y + 8 + 70},
1775- "style", "icon"}},
1776- "multiple", {
1777- "icons", {
1778- { "pos", { 6, 216}, "style", "icon"},
1779- { "pos", { 62, 216}, "style", "icon"},
1780- { "pos", {118, 216}, "style", "icon"},
1781- { "pos", { 6, 263}, "style", "icon"},
1782- { "pos", { 62, 263}, "style", "icon"},
1783- { "pos", {118, 263}, "style", "icon"}}}
1784- },
1785- "upgrading", {
1786- "text", {
1787- "text", "Upgrading:",
1788- "font", "game",
1789- "pos", { info_panel_x + 29, info_panel_y + 8 + 78}},
1790- "icon", {
1791- "pos", { info_panel_x + 107, info_panel_y + 8 + 70},
1792- "style", "icon"},
1793- },
1794- "researching", {
1795- "text", {
1796- "text", "Researching:",
1797- "font", "game",
1798- "pos", { info_panel_x + 16, info_panel_y + 8 + 78}},
1799- "icon", {
1800- "pos", { info_panel_x + 107, info_panel_y + 8 + 70},
1801- "style", "icon"}
1802- },
1803- "transporting", {
1804- "icons", {
1805- { "pos", { 6, 220}, "style", "icon"},
1806- { "pos", { 62, 220}, "style", "icon"},
1807- { "pos", {118, 220}, "style", "icon"},
1808- { "pos", { 6, 274}, "style", "icon"},
1809- { "pos", { 62, 274}, "style", "icon"},
1810- { "pos", {118, 274}, "style", "icon"}}
1811- },
1812- "completed-bar", {
1813- "color", {48, 100, 4},
1814- "pos", { 12, 313},
1815- "size", {152, 14},
1816- "text", {
1817- "text", "% Complete",
1818- "font", "game",
1819- "pos", { 50, 313}}
1820- }
1821- },
1822-]]
1823--- "button-panel", {
1824---[[
1825- "panel", {
1826- "file", "ui/human/" ..
1827- screen_width .. "x" .. screen_height ..
1828- "/buttonpanel.png",
1829- "pos", {0, 336}},
1830-]]
1831---[[
1832- "icons", {
1833- {"pos", { 8, 236}, "style", "icon"},
1834- {"pos", { 76, 236}, "style", "icon"},
1835- {"pos", { 8, 282}, "style", "icon"},
1836- {"pos", { 76, 282}, "style", "icon"},
1837- {"pos", { 8, 328}, "style", "icon"},
1838- {"pos", { 76, 328}, "style", "icon"}},
1839- "auto-cast-border-color", {0, 0, 252},
1840- },
1841-
1842- "map-area", {
1843- Pos = {144, 24},
1844- Size = {480, 352}},
1845-
1846- "menu-panel", {
1847- "menu-button", {
1848- Pos = {6, 376},
1849- Style = "menu"},
1850- "network-menu-button", {
1851- Pos = {6, 376},
1852- Caption = "Menu",
1853- Style = "network"},
1854- "network-diplomacy-button", {
1855- Pos = {168, 376},
1856- Caption = "Diplomacy",
1857- Style = "network"},
1858- },
1859-
1860- "minimap", {
1861- Pos = {6, 12},
1862- Size = {128, 128}},
1863-
1864- "status-line", {
1865- TextPos = {148, 385},
1866- Font = "game",
1867- Width = 480},
1868-
1869- "cursors", {
1870- Point = "cursor-point",
1871- Glass = "cursor-glass",
1872- Cross = "cursor-cross",
1873- Yellow = "cursor-yellow-hair",
1874- Green = "cursor-green-hair",
1875- Red = "cursor-red-hair",
1876- Scroll = "cursor-scroll",
1877- ArrowE = "cursor-arrow-e",
1878- ArrowNE = "cursor-arrow-ne",
1879- ArrowN = "cursor-arrow-n",
1880- ArrowNW = "cursor-arrow-nw",
1881- ArrowW = "cursor-arrow-w",
1882- ArrowSW = "cursor-arrow-sw",
1883- ArrowS = "cursor-arrow-s",
1884- ArrowSE = "cursor-arrow-se"},
1885-
1886- "menu-panels", {
1887- "panel1", "ui/human/panel_1.png",
1888- "panel2", "ui/human/panel_2.png",
1889- "panel3", "ui/human/panel_2.png",
1890- "panel4", "ui/human/panel_2.png",
1891- "panel5", "ui/human/panel_2.png"},
1892-]]
1893-
1894-UI.ButtonPanel.Buttons:clear()
1895-
1896-AddButtonPanelButton(9, 340)
1897-AddButtonPanelButton(65, 340)
1898-AddButtonPanelButton(121, 340)
1899-AddButtonPanelButton(9, 387)
1900-AddButtonPanelButton(65, 387)
1901-AddButtonPanelButton(121, 387)
1902-AddButtonPanelButton(9, 434)
1903-AddButtonPanelButton(65, 434)
1904-AddButtonPanelButton(121, 434)
1905-
1906-UI.ButtonPanel.X = 0
1907-UI.ButtonPanel.Y = 336
1908-UI.ButtonPanel.AutoCastBorderColorRGB = CColor(0, 0, 252)
1909-
1910-UI.MapArea.X = 176
1911-UI.MapArea.Y = 16
1912-UI.MapArea.EndX = Video.Width - 16 - 1
1913-UI.MapArea.EndY = Video.Height - 16 - 1
1914-
1915-UI.Minimap.X = 24
1916-UI.Minimap.Y = 24 + 2
1917-UI.Minimap.W = 128
1918-UI.Minimap.H = 128
1919-
1920-UI.StatusLine.TextX = 2 + 176
1921-UI.StatusLine.TextY = Video.Height + 2 - 16
1922-UI.StatusLine.Width = Video.Width - 16 - 2 - 176
1923-UI.StatusLine.Font = Fonts["game"]
1924-
1925-UI.MenuButton.X = 24
1926-UI.MenuButton.Y = 2
1927-UI.MenuButton.Text = "Menu (~<F10~>)"
1928-UI.MenuButton.Style = FindButtonStyle("main")
1929-UI.MenuButton:SetCallback(
1930- function()
1931- if (Editor.Running == EditorNotRunning) then
1932- RunGameMenu()
1933- else
1934- RunInEditorMenu()
1935- end
1936- end)
1937-
1938-UI.NetworkMenuButton.X = 6
1939-UI.NetworkMenuButton.Y = 2
1940-UI.NetworkMenuButton.Text = "Menu"
1941-UI.NetworkMenuButton.Style = FindButtonStyle("network")
1942-UI.NetworkMenuButton:SetCallback(function() RunGameMenu() end)
1943-
1944-UI.NetworkDiplomacyButton.X = 90
1945-UI.NetworkDiplomacyButton.Y = 2
1946-UI.NetworkDiplomacyButton.Text = "Diplomacy"
1947-UI.NetworkDiplomacyButton.Style = FindButtonStyle("network")
1948-UI.NetworkDiplomacyButton:SetCallback(function() RunDiplomacyMenu() end)
1949-
1950--- "victory-background", "ui/human/victory.png",
1951--- "defeat-background", "ui/human/defeat.png")
1952-end
1953-
1954-HumanScreen(640, 480)
1955-HumanScreen(800, 600)
1956-HumanScreen(1024, 768)
1957-HumanScreen(1280, 960)
1958-HumanScreen(1600, 1200)
1959
1960=== removed file 'scripts/human/units.lua'
1961--- scripts/human/units.lua 2010-12-13 20:53:19 +0000
1962+++ scripts/human/units.lua 1970-01-01 00:00:00 +0000
1963@@ -1,503 +0,0 @@
1964--- _________ __ __
1965--- / _____// |_____________ _/ |______ ____ __ __ ______
1966--- \_____ \\ __\_ __ \__ \\ __\__ \ / ___\| | \/ ___/
1967--- / \| | | | \// __ \| | / __ \_/ /_/ > | /\___ \
1968--- /_______ /|__| |__| (____ /__| (____ /\___ /|____//____ >
1969--- \/ \/ \//_____/ \/
1970--- ______________________ ______________________
1971--- T H E W A R B E G I N S
1972--- Stratagus - A free fantasy real time strategy game engine
1973---
1974--- units.ccl - Define the human unit-types.
1975---
1976--- (c) Copyright 2001-2005 by Lutz Sammer and Jimmy Salmon
1977---
1978--- This program is free software; you can redistribute it and/or modify
1979--- it under the terms of the GNU General Public License as published by
1980--- the Free Software Foundation; either version 2 of the License, or
1981--- (at your option) any later version.
1982---
1983--- This program is distributed in the hope that it will be useful,
1984--- but WITHOUT ANY WARRANTY; without even the implied warranty of
1985--- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
1986--- GNU General Public License for more details.
1987---
1988--- You should have received a copy of the GNU General Public License
1989--- along with this program; if not, write to the Free Software
1990--- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
1991---
1992--- $Id$
1993-
1994---=============================================================================
1995--- Define unit-types.
1996---
1997--- NOTE: Save can generate this table.
1998---
1999-
2000-DefineUnitType("unit-archer", { Name = "Archer",
2001- Image = {"file", "human/units/archer.png", "size", {64, 64}},
2002- Animations = "animations-archer", Icon = "icon-archer",
2003- Costs = {"time", 70},
2004- NeutralMinimapColor = {192, 0, 0},
2005- HitPoints = 60,
2006- DrawLevel = 60,
2007- TileSize = {1, 1}, BoxSize = {31, 31},
2008- SightRange = 5, ComputerReactionRange = 7, PersonReactionRange = 5,
2009- Armor = 3, BasicDamage = 10, PiercingDamage = 2, Missile = "missile-none",
2010- MaxAttackRange = 3,
2011- Priority = 63,
2012- Points = 100,
2013- Demand = 1,
2014- RightMouseAction = "attack",
2015- CanAttack = true,
2016- CanTargetLand = true, CanTargetSea = true, CanTargetAir = true,
2017- SelectableByRectangle = true} )
2018-
2019-DefineUnitType("unit-human-catapult", { Name = "Catapult",
2020- Image = {"file", "human/units/catapult.png", "size", {64, 64}},
2021- Animations = "animations-catapult", Icon = "icon-human-catapult",
2022- Costs = {"time", 70},
2023- NeutralMinimapColor = {192, 0, 0},
2024- HitPoints = 60,
2025- DrawLevel = 60,
2026- TileSize = {1, 1}, BoxSize = {31, 31},
2027- SightRange = 5, ComputerReactionRange = 7, PersonReactionRange = 5,
2028- Armor = 3, BasicDamage = 10, PiercingDamage = 2, Missile = "missile-none",
2029- MaxAttackRange = 3,
2030- Priority = 63,
2031- Points = 100,
2032- Demand = 1,
2033- RightMouseAction = "attack",
2034- CanAttack = true,
2035- CanTargetLand = true, CanTargetSea = true, CanTargetAir = true,
2036- SelectableByRectangle = true} )
2037-
2038-DefineUnitType("unit-cleric", { Name = "Cleric",
2039- Image = {"file", "human/units/cleric.png", "size", {64, 64}},
2040- Animations = "animations-cleric", Icon = "icon-cleric",
2041- Costs = {"time", 70},
2042- NeutralMinimapColor = {192, 0, 0},
2043- HitPoints = 60,
2044- DrawLevel = 60,
2045- TileSize = {1, 1}, BoxSize = {31, 31},
2046- SightRange = 5, ComputerReactionRange = 7, PersonReactionRange = 5,
2047- Armor = 3, BasicDamage = 10, PiercingDamage = 2, Missile = "missile-none",
2048- MaxAttackRange = 3,
2049- Priority = 63,
2050- Points = 100,
2051- Demand = 1,
2052- RightMouseAction = "attack",
2053- CanAttack = true,
2054- CanTargetLand = true, CanTargetSea = true, CanTargetAir = true,
2055- SelectableByRectangle = true} )
2056-
2057-DefineUnitType("unit-conjurer", { Name = "Conjurer",
2058- Image = {"file", "human/units/conjurer.png", "size", {64, 64}},
2059- Animations = "animations-conjurer", Icon = "icon-conjurer",
2060- Costs = {"time", 70},
2061- NeutralMinimapColor = {192, 0, 0},
2062- HitPoints = 60,
2063- DrawLevel = 60,
2064- TileSize = {1, 1}, BoxSize = {31, 31},
2065- SightRange = 5, ComputerReactionRange = 7, PersonReactionRange = 5,
2066- Armor = 3, BasicDamage = 10, PiercingDamage = 2, Missile = "missile-none",
2067- MaxAttackRange = 3,
2068- Priority = 63,
2069- Points = 100,
2070- Demand = 1,
2071- RightMouseAction = "attack",
2072- CanAttack = true,
2073- CanTargetLand = true, CanTargetSea = true, CanTargetAir = true,
2074- SelectableByRectangle = true} )
2075-
2076-DefineUnitType("unit-footman", { Name = "Footman",
2077- Image = {"file", "human/units/footman.png", "size", {96, 96}},
2078- Animations = "animations-footman", Icon = "icon-footman",
2079- Costs = {"time", 70},
2080- NeutralMinimapColor = {192, 0, 0},
2081- HitPoints = 60,
2082- DrawLevel = 60,
2083- TileSize = {1, 1}, BoxSize = {31, 31},
2084- SightRange = 5, ComputerReactionRange = 7, PersonReactionRange = 5,
2085- Armor = 3, BasicDamage = 10, PiercingDamage = 2, Missile = "missile-none",
2086- MaxAttackRange = 1,
2087- Priority = 63,
2088- Points = 100,
2089- Demand = 1,
2090- RightMouseAction = "attack",
2091- CanAttack = true,
2092- CanTargetLand = true, CanTargetSea = true, CanTargetAir = true,
2093- SelectableByRectangle = true} )
2094-
2095-
2096-DefineUnitType("unit-knight", { Name = "Knight",
2097- Image = {"file", "human/units/knight.png", "size", {64, 64}},
2098- Animations = "animations-knight", Icon = "icon-knight",
2099- Costs = {"time", 70},
2100- NeutralMinimapColor = {192, 0, 0},
2101- HitPoints = 60,
2102- DrawLevel = 60,
2103- TileSize = {1, 1}, BoxSize = {31, 31},
2104- SightRange = 5, ComputerReactionRange = 7, PersonReactionRange = 5,
2105- Armor = 3, BasicDamage = 10, PiercingDamage = 2, Missile = "missile-none",
2106- MaxAttackRange = 1,
2107- Priority = 63,
2108- Points = 100,
2109- Demand = 1,
2110- RightMouseAction = "attack",
2111- CanAttack = true,
2112- CanTargetLand = true, CanTargetSea = true, CanTargetAir = true,
2113- SelectableByRectangle = true} )
2114-
2115-DefineUnitType("unit-midevh", { Name = "midevh",
2116- Image = {"file", "human/units/midevh.png", "size", {64, 64}},
2117- Animations = "animations-midevh", Icon = "icon-midevh",
2118- Costs = {"time", 70},
2119- NeutralMinimapColor = {192, 0, 0},
2120- HitPoints = 60,
2121- DrawLevel = 60,
2122- TileSize = {1, 1}, BoxSize = {31, 31},
2123- SightRange = 5, ComputerReactionRange = 7, PersonReactionRange = 5,
2124- Armor = 3, BasicDamage = 10, PiercingDamage = 2, Missile = "missile-none",
2125- MaxAttackRange = 3,
2126- Priority = 63,
2127- Points = 100,
2128- Demand = 1,
2129- RightMouseAction = "attack",
2130- CanAttack = true,
2131- CanTargetLand = true, CanTargetSea = true, CanTargetAir = true,
2132- SelectableByRectangle = true} )
2133-
2134-DefineUnitType("unit-peasant", { Name = "Peasant",
2135- Image = {"file", "human/units/peasant.png", "size", {64, 64}},
2136- Animations = "animations-peasant", Icon = "icon-peasant",
2137- Costs = {"time", 70},
2138- NeutralMinimapColor = {192, 0, 0},
2139- HitPoints = 60,
2140- DrawLevel = 60,
2141- TileSize = {1, 1}, BoxSize = {31, 31},
2142- SightRange = 5, ComputerReactionRange = 7, PersonReactionRange = 5,
2143- Armor = 3, BasicDamage = 10, PiercingDamage = 2, Missile = "missile-none",
2144- MaxAttackRange = 1,
2145- Priority = 63,
2146- Points = 100,
2147- Demand = 1,
2148- RightMouseAction = "attack",
2149- CanAttack = true,
2150- CanTargetLand = true, CanTargetSea = true, CanTargetAir = true,
2151- SelectableByRectangle = true,
2152- CanGatherResources = {
2153- {"file-when-loaded", "human/units/peasant_with_gold.png",
2154- "resource-id", "gold",
2155--- "harvest-from-outside",
2156- "resource-capacity", 100,
2157- "wait-at-resource", 150,
2158- "wait-at-depot", 150},
2159- {"file-when-loaded", "human/units/peasant_with_wood.png",
2160- "resource-id", "wood",
2161- "resource-capacity", 100,
2162- "resource-step", 2,
2163- "wait-at-resource", 24,
2164- "wait-at-depot", 150,
2165- "lose-resources",
2166- "terrain-harvester"}}} )
2167-
2168---
2169--- BUILDINGS
2170---
2171-
2172-UnitTypeFiles["unit-human-barracks"] = {forest = "tilesets/forest/human/buildings/barracks.png",
2173- swamp = "tilesets/swamp/human/buildings/barracks.png"}
2174-
2175-DefineUnitType("unit-human-barracks", { Name = "Barracks",
2176- Image = {"size", {128, 128}},
2177- Animations = "animations-building", Icon = "icon-human-barracks",
2178- Costs = {"time", 100, "gold", 500, "wood", 250},
2179- RepairHp = 4,
2180- RepairCosts = {"gold", 1, "wood", 1},
2181- Construction = "construction-land",
2182- HitPoints = 400,
2183- DrawLevel = 20,
2184- TileSize = {3, 3}, BoxSize = {95, 95},
2185- SightRange = 1,
2186- Armor = 20, BasicDamage = 0, PiercingDamage = 0, Missile = "missile-none",
2187- Priority = 20, AnnoyComputerFactor = 45,
2188- Points = 100,
2189- Supply = 4,
2190- Corpse = "unit-destroyed-2x2-place",
2191- ExplodeWhenKilled = "missile-explosion",
2192- Type = "land",
2193- Building = true, VisibleUnderFog = true,
2194- Sounds = {
2195- "selected", "farm-selected",
2196--- "acknowledge", "farm-acknowledge",
2197--- "ready", "farm-ready",
2198- "help", "basic human voices help 2",
2199- "dead", "building destroyed"} } )
2200-
2201-UnitTypeFiles["unit-human-blacksmith"] = {forest = "tilesets/forest/human/buildings/blacksmith.png",
2202- swamp = "tilesets/swamp/human/buildings/blacksmith.png"}
2203-
2204-DefineUnitType("unit-human-blacksmith", { Name = "Blacksmith",
2205- Image = {"size", {96, 96}},
2206- Animations = "animations-building", Icon = "icon-human-blacksmith",
2207- Costs = {"time", 100, "gold", 500, "wood", 250},
2208- RepairHp = 4,
2209- RepairCosts = {"gold", 1, "wood", 1},
2210- Construction = "construction-land",
2211- HitPoints = 400,
2212- DrawLevel = 20,
2213- TileSize = {2, 2}, BoxSize = {63, 63},
2214- SightRange = 1,
2215- Armor = 20, BasicDamage = 0, PiercingDamage = 0, Missile = "missile-none",
2216- Priority = 20, AnnoyComputerFactor = 45,
2217- Points = 100,
2218- Supply = 4,
2219- Corpse = "unit-destroyed-2x2-place",
2220- ExplodeWhenKilled = "missile-explosion",
2221- Type = "land",
2222- Building = true, VisibleUnderFog = true,
2223- Sounds = {
2224- "selected", "farm-selected",
2225--- "acknowledge", "farm-acknowledge",
2226--- "ready", "farm-ready",
2227- "help", "basic human voices help 2",
2228- "dead", "building destroyed"} } )
2229-
2230-UnitTypeFiles["unit-human-church"] = {forest = "tilesets/forest/human/buildings/church.png",
2231- swamp = "tilesets/swamp/human/buildings/church.png"}
2232-
2233-DefineUnitType("unit-human-church", { Name = "Church",
2234- Image = {"size", {128, 128}},
2235- Animations = "animations-building", Icon = "icon-human-church",
2236- Costs = {"time", 100, "gold", 500, "wood", 250},
2237- RepairHp = 4,
2238- RepairCosts = {"gold", 1, "wood", 1},
2239- Construction = "construction-land",
2240- HitPoints = 400,
2241- DrawLevel = 20,
2242- TileSize = {3, 3}, BoxSize = {95, 95},
2243- SightRange = 1,
2244- Armor = 20, BasicDamage = 0, PiercingDamage = 0, Missile = "missile-none",
2245- Priority = 20, AnnoyComputerFactor = 45,
2246- Points = 100,
2247- Supply = 4,
2248- Corpse = "unit-destroyed-2x2-place",
2249- ExplodeWhenKilled = "missile-explosion",
2250- Type = "land",
2251- Building = true, VisibleUnderFog = true,
2252- Sounds = {
2253- "selected", "farm-selected",
2254--- "acknowledge", "farm-acknowledge",
2255--- "ready", "farm-ready",
2256- "help", "basic human voices help 2",
2257- "dead", "building destroyed"} } )
2258-
2259-
2260-
2261-UnitTypeFiles["unit-human-farm"] = {forest = "tilesets/forest/human/buildings/farm.png",
2262- swamp = "tilesets/swamp/human/buildings/farm.png"}
2263-
2264-DefineUnitType("unit-human-farm", { Name = "Farm",
2265- Image = {"size", {96, 96}},
2266- Animations = "animations-building", Icon = "icon-human-farm",
2267- Costs = {"time", 100, "gold", 500, "wood", 250},
2268- RepairHp = 4,
2269- RepairCosts = {"gold", 1, "wood", 1},
2270- Construction = "construction-land",
2271- HitPoints = 400,
2272- DrawLevel = 20,
2273- TileSize = {2, 2}, BoxSize = {63, 63},
2274- SightRange = 1,
2275- Armor = 20, BasicDamage = 0, PiercingDamage = 0, Missile = "missile-none",
2276- Priority = 20, AnnoyComputerFactor = 45,
2277- Points = 100,
2278- Supply = 4,
2279- Corpse = "unit-destroyed-2x2-place",
2280- ExplodeWhenKilled = "missile-explosion",
2281- Type = "land",
2282- Building = true, VisibleUnderFog = true,
2283- Sounds = {
2284- "selected", "farm-selected",
2285--- "acknowledge", "farm-acknowledge",
2286--- "ready", "farm-ready",
2287- "help", "basic human voices help 2",
2288- "dead", "building destroyed"} } )
2289-
2290-UnitTypeFiles["unit-human-lumber-mill"] = {forest = "tilesets/forest/human/buildings/lumber_mill.png",
2291- swamp = "tilesets/swamp/human/buildings/lumber_mill.png"}
2292-
2293-DefineUnitType("unit-human-lumber-mill", { Name = "Lumber mill",
2294- Image = {"size", {128, 128}},
2295- Animations = "animations-building", Icon = "icon-human-lumber-mill",
2296- Costs = {"time", 100, "gold", 500, "wood", 250},
2297- RepairHp = 4,
2298- RepairCosts = {"gold", 1, "wood", 1},
2299- Construction = "construction-land",
2300- HitPoints = 400,
2301- DrawLevel = 20,
2302- TileSize = {3, 3}, BoxSize = {95, 95},
2303- SightRange = 1,
2304- Armor = 20, BasicDamage = 0, PiercingDamage = 0, Missile = "missile-none",
2305- Priority = 20, AnnoyComputerFactor = 45,
2306- Points = 100,
2307- Supply = 4,
2308- Corpse = "unit-destroyed-2x2-place",
2309- ExplodeWhenKilled = "missile-explosion",
2310- Type = "land",
2311- Building = true, VisibleUnderFog = true,
2312- Sounds = {
2313- "selected", "farm-selected",
2314--- "acknowledge", "farm-acknowledge",
2315--- "ready", "farm-ready",
2316- "help", "basic human voices help 2",
2317- "dead", "building destroyed"} } )
2318-
2319-UnitTypeFiles["unit-human-stable"] = {forest = "tilesets/forest/human/buildings/stable.png",
2320- swamp = "tilesets/swamp/human/buildings/stable.png"}
2321-
2322-DefineUnitType("unit-human-stable", { Name = "Stable",
2323- Image = {"size", {128, 128}},
2324- Animations = "animations-building", Icon = "icon-human-stable",
2325- Costs = {"time", 100, "gold", 500, "wood", 250},
2326- RepairHp = 4,
2327- RepairCosts = {"gold", 1, "wood", 1},
2328- Construction = "construction-land",
2329- HitPoints = 400,
2330- DrawLevel = 20,
2331- TileSize = {3, 3}, BoxSize = {95, 95},
2332- SightRange = 1,
2333- Armor = 20, BasicDamage = 0, PiercingDamage = 0, Missile = "missile-none",
2334- Priority = 20, AnnoyComputerFactor = 45,
2335- Points = 100,
2336- Supply = 4,
2337- Corpse = "unit-destroyed-2x2-place",
2338- ExplodeWhenKilled = "missile-explosion",
2339- Type = "land",
2340- Building = true, VisibleUnderFog = true,
2341- Sounds = {
2342- "selected", "farm-selected",
2343--- "acknowledge", "farm-acknowledge",
2344--- "ready", "farm-ready",
2345- "help", "basic human voices help 2",
2346- "dead", "building destroyed"} } )
2347-
2348-UnitTypeFiles["unit-stormwind-keep"] = {forest = "tilesets/forest/human/buildings/stormwind_keep.png",
2349- swamp = "tilesets/swamp/human/buildings/stormwind_keep.png"}
2350-
2351-DefineUnitType("unit-stormwind-keep", { Name = "Stormwind keep",
2352- Image = {"size", {160, 160}},
2353- Animations = "animations-building", Icon = "icon-stormwind-keep",
2354- Costs = {"time", 100, "gold", 500, "wood", 250},
2355- RepairHp = 4,
2356- RepairCosts = {"gold", 1, "wood", 1},
2357- Construction = "construction-land",
2358- HitPoints = 400,
2359- DrawLevel = 20,
2360- TileSize = {5, 5}, BoxSize = {159, 159},
2361- SightRange = 1,
2362- Armor = 20, BasicDamage = 0, PiercingDamage = 0, Missile = "missile-none",
2363- Priority = 20, AnnoyComputerFactor = 45,
2364- Points = 100,
2365- Supply = 4,
2366- Corpse = "unit-destroyed-2x2-place",
2367- ExplodeWhenKilled = "missile-explosion",
2368- Type = "land",
2369- Building = true, VisibleUnderFog = true,
2370- Sounds = {
2371- "selected", "farm-selected",
2372--- "acknowledge", "farm-acknowledge",
2373--- "ready", "farm-ready",
2374- "help", "basic human voices help 2",
2375- "dead", "building destroyed"} } )
2376-
2377-UnitTypeFiles["unit-human-tower"] = {forest = "tilesets/forest/human/buildings/tower.png",
2378- swamp = "tilesets/swamp/human/buildings/tower.png"}
2379-
2380-DefineUnitType("unit-human-tower", { Name = "Tower",
2381- Image = {"size", {96, 96}},
2382- Animations = "animations-building", Icon = "icon-human-tower",
2383- Costs = {"time", 100, "gold", 500, "wood", 250},
2384- RepairHp = 4,
2385- RepairCosts = {"gold", 1, "wood", 1},
2386- Construction = "construction-land",
2387- HitPoints = 400,
2388- DrawLevel = 20,
2389- TileSize = {2, 2}, BoxSize = {63, 63},
2390- SightRange = 1,
2391- Armor = 20, BasicDamage = 0, PiercingDamage = 0, Missile = "missile-none",
2392- Priority = 20, AnnoyComputerFactor = 45,
2393- Points = 100,
2394- Supply = 4,
2395- Corpse = "unit-destroyed-2x2-place",
2396- ExplodeWhenKilled = "missile-explosion",
2397- Type = "land",
2398- Building = true, VisibleUnderFog = true,
2399- Sounds = {
2400- "selected", "farm-selected",
2401--- "acknowledge", "farm-acknowledge",
2402--- "ready", "farm-ready",
2403- "help", "basic human voices help 2",
2404- "dead", "building destroyed"} } )
2405-
2406-UnitTypeFiles["unit-human-town-hall"] = {forest = "tilesets/forest/human/buildings/town_hall.png",
2407- swamp = "tilesets/swamp/human/buildings/town_hall.png"}
2408-
2409-DefineUnitType("unit-human-town-hall", { Name = "Town hall",
2410- Image = {"size", {128, 128}},
2411- Animations = "animations-building", Icon = "icon-human-town-hall",
2412- Costs = {"time", 100, "gold", 500, "wood", 250},
2413- RepairHp = 4,
2414- RepairCosts = {"gold", 1, "wood", 1},
2415- Construction = "construction-land",
2416- HitPoints = 400,
2417- DrawLevel = 20,
2418- TileSize = {3, 3}, BoxSize = {95, 95},
2419- SightRange = 1,
2420- Armor = 20, BasicDamage = 0, PiercingDamage = 0, Missile = "missile-none",
2421- Priority = 20, AnnoyComputerFactor = 45,
2422- Points = 100,
2423- Supply = 4,
2424- Corpse = "unit-destroyed-2x2-place",
2425- ExplodeWhenKilled = "missile-explosion",
2426- Type = "land",
2427- Building = true, VisibleUnderFog = true,
2428- Sounds = {
2429- "selected", "farm-selected",
2430--- "acknowledge", "farm-acknowledge",
2431--- "ready", "farm-ready",
2432- "help", "basic human voices help 2",
2433- "dead", "building destroyed"} } )
2434-
2435-
2436---[[
2437-UnitTypeFiles["unit-human-wall"] = {summer = "tilesets/summer/neutral/buildings/wall.png",
2438- winter = "tilesets/winter/neutral/buildings/wall.png",
2439- wasteland = "tilesets/wasteland/neutral/buildings/wall.png",
2440- swamp = "tilesets/summer/neutral/buildings/wall.png"}
2441-
2442-DefineUnitType("unit-human-wall", { Name = "Wall",
2443- Image = {"size", {32, 32}},
2444- Animations = "animations-building", Icon = "icon-human-wall",
2445- Costs = {"time", 30, "gold", 20, "wood", 10},
2446- Construction = "construction-wall",
2447- Speed = 0,
2448- HitPoints = 40,
2449- DrawLevel = 39,
2450- TileSize = {1, 1}, BoxSize = {31, 31},
2451- SightRange = 1,
2452- Armor = 20, BasicDamage = 0, PiercingDamage = 0, Missile = "missile-none",
2453- Priority = 0, AnnoyComputerFactor = 45,
2454- Points = 1,
2455- Corpse = "unit-destroyed-1x1-place",
2456- ExplodeWhenKilled = "missile-explosion",
2457- Type = "land",
2458- Building = true, VisibleUnderFog = true,
2459- Sounds = {
2460--- "selected", "human-wall-selected",
2461--- "acknowledge", "human-wall-acknowledge",
2462--- "ready", "human-wall-ready",
2463- "help", "basic human voices help 2",
2464- "dead", "building destroyed"} } )
2465-
2466---]]
2467
2468=== modified file 'scripts/human/upgrade.lua'
2469--- scripts/human/upgrade.lua 2010-06-22 06:41:34 +0000
2470+++ scripts/human/upgrade.lua 2013-05-08 07:16:26 +0000
2471@@ -74,31 +74,31 @@
2472 -- NOTE: Save can generate this table.
2473
2474 DefineModifier("upgrade-sword1",
2475- {"piercing-damage", 2},
2476+ {"PiercingDamage", 2},
2477 {"apply-to", "unit-footman"}, {"apply-to", "unit-knight"})
2478 DefineModifier("upgrade-sword2",
2479- {"piercing-damage", 2},
2480+ {"PiercingDamage", 2},
2481 {"apply-to", "unit-footman"}, {"apply-to", "unit-knight"})
2482
2483 DefineModifier("upgrade-arrow1",
2484- {"piercing-damage", 1},
2485+ {"PiercingDamage", 1},
2486 {"apply-to", "unit-archer"})
2487 DefineModifier("upgrade-arrow2",
2488- {"piercing-damage", 1},
2489+ {"PiercingDamage", 1},
2490 {"apply-to", "unit-archer"})
2491
2492 DefineModifier("upgrade-horse1",
2493--- {"speed", 1},
2494+-- {"Speed", 1},
2495 {"apply-to", "unit-knight"})
2496 DefineModifier("upgrade-horse2",
2497--- {"speed", 1},
2498+-- {"Speed", 1},
2499 {"apply-to", "unit-knight"})
2500
2501 DefineModifier("upgrade-human-shield1",
2502- {"armor", 2},
2503+ {"Armor", 2},
2504 {"apply-to", "unit-footman"}, {"apply-to", "unit-knight"})
2505 DefineModifier("upgrade-human-shield2",
2506- {"armor", 2},
2507+ {"Armor", 2},
2508 {"apply-to", "unit-footman"}, {"apply-to", "unit-knight"})
2509
2510 DefineModifier("upgrade-healing",
2511
2512=== modified file 'scripts/icons.lua'
2513--- scripts/icons.lua 2010-06-22 06:41:34 +0000
2514+++ scripts/icons.lua 2013-05-08 07:16:26 +0000
2515@@ -60,8 +60,8 @@
2516 {"icon-human-church", 28},
2517 {"icon-orc-temple", 29},
2518 {"icon-gold-mine", 30},
2519- {"icon-stormwind-keep", 31},
2520- {"icon-blackrock-spire", 32},
2521+ {"icon-human-stormwind-keep", 31},
2522+ {"icon-orc-blackrock-spire", 32},
2523 {"icon-move-peasant", 33},
2524 {"icon-move-peon", 34},
2525 {"icon-repair", 35},
2526@@ -130,9 +130,8 @@
2527 {"icon-human-attack-ground", 40},
2528 {"icon-orc-attack-ground", 40},
2529
2530- {"icon-holy-vision", 0},
2531- {"icon-catapult", 0},
2532- {"icon-human-wall", 41},
2533+ -- {"icon-catapult", 0},
2534+ -- {"icon-human-wall", 41},
2535 }
2536
2537 --[[
2538
2539=== modified file 'scripts/menus/campaign.lua'
2540--- scripts/menus/campaign.lua 2010-12-13 20:53:19 +0000
2541+++ scripts/menus/campaign.lua 2013-05-08 07:16:26 +0000
2542@@ -5,13 +5,13 @@
2543
2544 local menu = WarMenu(nil, bg)
2545
2546- wargus.playlist = {}
2547+ war1gus.playlist = {}
2548 if (currentRace == "human") then
2549 PlayMusic("music/Human Briefing.ogg")
2550- Load("scripts/human/ui.lua")
2551+ LoadUI("human", Video.Width, Video.Height)
2552 elseif (currentRace == "orc") then
2553 PlayMusic("music/Orc Briefing.ogg")
2554- Load("scripts/orc/ui.lua")
2555+ LoadUI("orc", Video.Width, Video.Height)
2556 else
2557 StopMusic()
2558 end
2559@@ -121,7 +121,7 @@
2560 function CreatePictureStep(bg, sound, title, text)
2561 return function()
2562 SetPlayerData(GetThisPlayer(), "RaceName", currentRace)
2563- wargus.playlist = {}
2564+ war1gus.playlist = {}
2565 PlayMusic(sound)
2566 local menu = WarMenu(nil, bg)
2567 local offx = (Video.Width - 640) / 2
2568@@ -161,18 +161,10 @@
2569
2570 function CampaignButtonTitle(race, exp, i)
2571 local name = "campaigns/" .. race
2572- if (exp == "exp") then name = name .. "-exp" end
2573- name = name .. "/level"
2574- if (exp == "exp") then name = name .. "x" end
2575+ name = name .. "/"
2576 if (i<10) then name = name .. "0" end
2577 name = name .. i
2578
2579- if (race == "orc") then
2580- name = name .. "o"
2581- else
2582- name = name .. "h"
2583- end
2584-
2585 name = name .. "_c2.sms"
2586
2587 title = "Ending - Victory"
2588@@ -200,8 +192,9 @@
2589 function RunCampaignSubmenu(campaign, race, exp)
2590 Load(campaign)
2591
2592- wargus.playlist = { "music/Orc Briefing.ogg" }
2593- SetPlayerData(GetThisPlayer(), "RaceName", "orc")
2594+ war1gus.playlist = { "music/Orc Briefing.ogg" }
2595+ currentRace = race
2596+ SetPlayerData(GetThisPlayer(), "RaceName", currentRace)
2597
2598 if not (IsMusicPlaying()) then
2599 PlayMusic("music/Orc Briefing.ogg")
2600@@ -262,22 +255,13 @@
2601 local offx = (Video.Width - 640) / 2
2602 local offy = (Video.Height - 480) / 2
2603
2604- menu:addLabel("Tides of Darkness", offx + 320, offy + 212 - 25)
2605 menu:addFullButton("~!Orc campaign", "o", offx + 208, offy + 212 + (36 * 0),
2606 function() RunCampaignSubmenu("scripts/orc/campaign1.lua", "orc", ""); menu:stop() end)
2607 menu:addFullButton("~!Human campaign", "h", offx + 208, offy + 212 + (36 * 1),
2608 function() RunCampaignSubmenu("scripts/human/campaign1.lua", "human", ""); menu:stop() end)
2609
2610- if (wargus.expansion == true) then
2611- menu:addLabel("Beyond the Dark Portal", offx + 320, offy + 212 + (36 * 3) - 25)
2612- menu:addFullButton("O~!rc expansion levels", "r", offx + 208, offy + 212 + (36 * 3),
2613- function() RunCampaignSubmenu("scripts/orc/campaign2.lua", "orc", "exp"); menu:stop() end)
2614- menu:addFullButton("H~!uman expansion levels", "u", offx + 208, offy + 212 + (36 * 4),
2615- function() RunCampaignSubmenu("scripts/human/campaign2.lua", "human", "exp"); menu:stop() end)
2616- end
2617-
2618 menu:addFullButton("~!Previous Menu", "p", offx + 208, offy + 212 + (36 * 5),
2619- function() menu:stop() end)
2620+ function() RunSinglePlayerSubMenu(); menu:stop() end)
2621
2622 menu:run()
2623 end
2624
2625=== modified file 'scripts/menus/credits.lua'
2626--- scripts/menus/credits.lua 2010-11-16 22:33:39 +0000
2627+++ scripts/menus/credits.lua 2013-05-08 07:16:26 +0000
2628@@ -116,7 +116,7 @@
2629 sw:add(Label(f), 0, 24 * (i - 1) + 275)
2630 end
2631
2632- menu:addHalfButton("~!Continue", "c", offx + 455, offy + 440,
2633+ menu:addHalfButton("~!Continue", "c", offx + 455, offy + 400,
2634 function() menu:stop() end)
2635
2636 local speed = GetGameSpeed()
2637
2638=== modified file 'scripts/menus/load.lua'
2639--- scripts/menus/load.lua 2010-12-13 20:53:19 +0000
2640+++ scripts/menus/load.lua 2013-05-08 07:16:26 +0000
2641@@ -54,7 +54,7 @@
2642 end
2643 end)
2644 menu:addHalfButton("~!Cancel", "c", 384 - ((384 - 300 - 18) / 2) - 106, 256 - 16 - 27,
2645- function() menu:stop() end)
2646+ function() RunSinglePlayerSubMenu(); menu:stop() end)
2647 end
2648
2649 function RunLoadGameMenu()
2650
2651=== modified file 'scripts/menus/options.lua'
2652--- scripts/menus/options.lua 2010-11-16 22:33:39 +0000
2653+++ scripts/menus/options.lua 2013-05-08 07:16:26 +0000
2654@@ -154,28 +154,29 @@
2655 menu:addLabel("Global Options", offx + 176, offy + 1)
2656 menu:addLabel("Video Resolution", offx + 16, offy + 34, Fonts["game"], false)
2657 group = "resolution"
2658- b = menu:addRadioButton("640 x 480", group, offx + 16, offy + 55 + 26*0, function() SetVideoSize(640, 480) menu:stop(1) end)
2659+ b = menu:addRadioButton("640 x 400", group, offx + 16, offy + 55 + 26*4,
2660+ function() SetVideoSize(640, 400) menu:stop(1) end)
2661 if (Video.Width == 640) then b:setMarked(true) end
2662- b = menu:addRadioButton("800 x 480", group, offx + 16, offy + 55 + 26*1, function() SetVideoSize(800, 480) menu:stop(1) end)
2663- if (Video.Width == 800 and Video.Height == 480) then b:setMarked(true) end
2664- b = menu:addRadioButton("800 x 600", group, offx + 16, offy + 55 + 26*2, function() SetVideoSize(800, 600) menu:stop(1) end)
2665- if (Video.Width == 800 and Video.Height == 600) then b:setMarked(true) end
2666- b = menu:addRadioButton("1024 x 768", group, offx + 16, offy + 55 + 26*3, function() SetVideoSize(1024, 768) menu:stop(1) end)
2667- if (Video.Width == 1024) then b:setMarked(true) end
2668- b = menu:addRadioButton("1280 x 800", group, offx + 16, offy + 55 + 26*4, function() SetVideoSize(1280, 800) menu:stop(1) end)
2669- if (Video.Height == 800) then b:setMarked(true) end
2670- b = menu:addRadioButton("1280 x 960", group, offx + 16, offy + 55 + 26*5, function() SetVideoSize(1280, 960) menu:stop(1) end)
2671- if (Video.Height == 960) then b:setMarked(true) end
2672- b = menu:addRadioButton("1280 x 1024", group, offx + 16, offy + 55 + 26*6, function() SetVideoSize(1280, 1024) menu:stop(1) end)
2673- if (Video.Height == 1024) then b:setMarked(true) end
2674- b = menu:addRadioButton("1400 x 1050", group, offx + 16, offy + 55 + 26*7, function() SetVideoSize(1400, 1050) menu:stop(1) end)
2675- if (Video.Width == 1400) then b:setMarked(true) end
2676- b = menu:addRadioButton("1600 x 1200", group, offx + 16, offy + 55 + 26*8, function() SetVideoSize(1600, 1200) menu:stop(1) end)
2677- if (Video.Width == 1600) then b:setMarked(true) end
2678- b = menu:addRadioButton("1680 x 1050", group, offx + 16, offy + 55 + 26*9, function() SetVideoSize(1680, 1050) menu:stop(1) end)
2679- if (Video.Width == 1680) then b:setMarked(true) end
2680+ -- b = menu:addRadioButton("800 x 480", group, offx + 16, offy + 55 + 26*1, function() SetVideoSize(800, 480) menu:stop(1) end)
2681+ -- if (Video.Width == 800 and Video.Height == 480) then b:setMarked(true) end
2682+ -- b = menu:addRadioButton("800 x 600", group, offx + 16, offy + 55 + 26*2, function() SetVideoSize(800, 600) menu:stop(1) end)
2683+ -- if (Video.Width == 800 and Video.Height == 600) then b:setMarked(true) end
2684+ -- b = menu:addRadioButton("1024 x 768", group, offx + 16, offy + 55 + 26*3, function() SetVideoSize(1024, 768) menu:stop(1) end)
2685+ -- if (Video.Width == 1024) then b:setMarked(true) end
2686+ -- b = menu:addRadioButton("1280 x 800", group, offx + 16, offy + 55 + 26*4, function() SetVideoSize(1280, 800) menu:stop(1) end)
2687+ -- if (Video.Height == 800) then b:setMarked(true) end
2688+ -- b = menu:addRadioButton("1280 x 960", group, offx + 16, offy + 55 + 26*5, function() SetVideoSize(1280, 960) menu:stop(1) end)
2689+ -- if (Video.Height == 960) then b:setMarked(true) end
2690+ -- b = menu:addRadioButton("1280 x 1024", group, offx + 16, offy + 55 + 26*6, function() SetVideoSize(1280, 1024) menu:stop(1) end)
2691+ -- if (Video.Height == 1024) then b:setMarked(true) end
2692+ -- b = menu:addRadioButton("1400 x 1050", group, offx + 16, offy + 55 + 26*7, function() SetVideoSize(1400, 1050) menu:stop(1) end)
2693+ -- if (Video.Width == 1400) then b:setMarked(true) end
2694+ -- b = menu:addRadioButton("1600 x 1200", group, offx + 16, offy + 55 + 26*8, function() SetVideoSize(1600, 1200) menu:stop(1) end)
2695+ -- if (Video.Width == 1600) then b:setMarked(true) end
2696+ -- b = menu:addRadioButton("1680 x 1050", group, offx + 16, offy + 55 + 26*9, function() SetVideoSize(1680, 1050) menu:stop(1) end)
2697+ -- if (Video.Width == 1680) then b:setMarked(true) end
2698
2699- b = menu:addCheckBox("Full Screen", offx + 17, offy + 55 + 26*10 + 14,
2700+ b = menu:addCheckBox("Full Screen", offx + 17, offy + 55 + 26*5 + 14,
2701 function()
2702 ToggleFullScreen()
2703 preferences.VideoFullScreen = Video.FullScreen
2704@@ -184,7 +185,7 @@
2705 end)
2706 b:setMarked(Video.FullScreen)
2707
2708- checkTexture = menu:addCheckBox("Set Maximum OpenGL Texture to 256", offx + 127, offy + 55 + 26*10 + 14,
2709+ checkTexture = menu:addCheckBox("Set Maximum OpenGL Texture to 256", offx + 17, offy + 55 + 26*7 + 14,
2710 function()
2711 if (checkTexture:isMarked()) then
2712 preferences.MaxOpenGLTexture = 256
2713@@ -196,7 +197,7 @@
2714 end)
2715 if (preferences.MaxOpenGLTexture == 128) then checkTexture:setMarked(true) end
2716
2717- checkOpenGL = menu:addCheckBox("Use OpenGL / OpenGL ES 1.1 (restart required)", offx + 17, offy + 55 + 26*11 + 14,
2718+ checkOpenGL = menu:addCheckBox("OpenGL / OpenGL ES 1.1 (restart required)", offx + 17, offy + 55 + 26*6 + 14,
2719 function()
2720 --TODO: Add function for immediately change state of OpenGL
2721 preferences.UseOpenGL = checkOpenGL:isMarked()
2722@@ -204,10 +205,8 @@
2723 -- menu:stop(1) --TODO: Enable if we have an OpenGL function
2724 end)
2725 checkOpenGL:setMarked(preferences.UseOpenGL)
2726--- checkOpenGL:setMarked(UseOpenGL) --TODO: Enable if we have an OpenGL function
2727
2728--- menu:addHalfButton("~!OK", "o", offx + 123, offy + 55 + 26*12 + 14, function() menu:stop() end)
2729- menu:addHalfButton("~!OK", "o", offx + 123, offy + 55 + 26*12 + 14, function() menu:stop() end)
2730+ menu:addHalfButton("~!OK", "o", offx + 123, offy + 55 + 26*8 + 14, function() menu:stop() end)
2731 return menu:run()
2732 end
2733
2734
2735=== modified file 'scripts/menus/replay.lua'
2736--- scripts/menus/replay.lua 2010-12-13 20:53:19 +0000
2737+++ scripts/menus/replay.lua 2013-05-08 07:16:26 +0000
2738@@ -22,7 +22,7 @@
2739 SetPlayerData(GetThisPlayer(), "RaceName", "orc")
2740 menu:stop()
2741 end)
2742- menu:addHalfButton("~!Cancel", "c", 198, 308, function() menu:stop() end)
2743+ menu:addHalfButton("~!Cancel", "c", 198, 308, function() RunSinglePlayerSubMenu(); menu:stop() end)
2744
2745 menu:run()
2746 end
2747
2748=== modified file 'scripts/menus/results.lua'
2749--- scripts/menus/results.lua 2010-12-13 20:53:19 +0000
2750+++ scripts/menus/results.lua 2013-05-08 07:16:26 +0000
2751@@ -1,38 +1,33 @@
2752-local hvictory = "ui/human/victory.png"
2753-local hdefeat = "ui/human/defeat.png"
2754-local ovictory = "ui/orc/victory.png"
2755-local odefeat = "ui/orc/defeat.png"
2756+local houtcome = "ui/human/outcome_windows.png"
2757+local ooutcome = "ui/orc/outcome_windows.png"
2758
2759 function RunResultsMenu()
2760 local background
2761- local result
2762+ local result = "Humpf"
2763 local human = (GetPlayerData(GetThisPlayer(), "RaceName") == "human")
2764
2765+ if (human) then
2766+ background = houtcome
2767+ else
2768+ background = ooutcome
2769+ end
2770+
2771 if (GameResult == GameVictory) then
2772 result = "Victory!"
2773 if (human) then
2774- background = hvictory
2775 PlayMusic("music/Human Victory.ogg")
2776 else
2777- background = ovictory
2778 PlayMusic("music/Orc Victory.ogg")
2779 end
2780 elseif (GameResult == GameDefeat) then
2781 result = "Defeat!"
2782 if (human) then
2783- background = hdefeat
2784 PlayMusic("music/Human Defeat.ogg")
2785 else
2786- background = odefeat
2787 PlayMusic("music/Orc Defeat.ogg")
2788 end
2789 elseif (GameResult == GameDraw) then
2790 result = "Draw!"
2791- if (human) then
2792- background = hdefeat
2793- else
2794- background = odefeat
2795- end
2796 else
2797 return -- quit to menu
2798 end
2799@@ -40,78 +35,61 @@
2800 local menu = WarMenu(nil, background)
2801 local offx = (Video.Width - 640) / 2
2802 local offy = (Video.Height - 480) / 2
2803+ local multx = Video.Width / 640
2804+ local multy = Video.Height / 400
2805
2806 local names_font = Fonts["small-title"]
2807- local top_offset = 57
2808- local bottom_offset = 178
2809- local description_offset = 30
2810-
2811- local c = 0
2812- for i=0,7 do
2813- if (GetPlayerData(i, "TotalUnits") > 0 ) then
2814- c = c + 1
2815- end
2816- end
2817-
2818- local line_spacing = (432 - bottom_offset - description_offset) / c
2819-
2820- menu:addLabel("Outcome", offx + 106, offy + top_offset)
2821- menu:addLabel(result, offx + 106, offy + top_offset + 21, Fonts["large-title"])
2822-
2823- menu:addLabel("Units", offx + 50, offy + bottom_offset, Fonts["large"], true)
2824- menu:addLabel("Buildings", offx + 140, offy + bottom_offset, Fonts["large"], true)
2825- menu:addLabel("Gold", offx + 230, offy + bottom_offset, Fonts["large"], true)
2826- menu:addLabel("Wood", offx + 320, offy + bottom_offset, Fonts["large"], true)
2827- menu:addLabel("Oil", offx + 410, offy + bottom_offset, Fonts["large"], true)
2828- menu:addLabel("Kills", offx + 500, offy + bottom_offset, Fonts["large"], true)
2829- menu:addLabel("Razings", offx + 590, offy + bottom_offset, Fonts["large"], true)
2830-
2831- c = 0
2832- for i=0,7 do
2833- if (GetPlayerData(i, "TotalUnits") > 0 ) then
2834- local name = GetPlayerData(i, "Name")
2835- if (ThisPlayer.Index == i) then
2836- name = name .. " - You"
2837- elseif (ThisPlayer:IsAllied(Players[i])) then
2838- name = name .. " - Ally"
2839+
2840+ menu:addLabel(result, 125 * multx, 52 * multy, Fonts["small-title"])
2841+
2842+ local kills = {you = 0, enemy = 0, neutral = 0}
2843+ local units = {you = 0, enemy = 0, neutral = 0}
2844+ local razings = {you = 0, enemy = 0, neutral = 0}
2845+ local buildings = {you = 0, enemy = 0, neutral = 0}
2846+ local gold = {you = 0, enemy = 0, neutral = 0}
2847+ local wood = {you = 0, enemy = 0, neutral = 0}
2848+
2849+ for i=0,14 do
2850+ if (GetPlayerData(i, "TotalUnits") > 0 ) then
2851+ local name = ""
2852+ if (ThisPlayer.Index == i) or (ThisPlayer:IsAllied(Players[i])) then
2853+ name = "you"
2854 elseif (ThisPlayer:IsEnemy(Players[i])) then
2855- name = name .. " - Enemy"
2856+ name = "enemy"
2857 else
2858- name = name .. " - Neutral"
2859+ -- ignored for now
2860+ name = "neutral"
2861 end
2862- menu:addLabel(name, offx + 320,
2863- offy + bottom_offset + description_offset + 26 + line_spacing * c + 5,
2864- names_font, true)
2865- menu:addLabel(GetPlayerData(i, "TotalUnits"), offx + 10 + 40,
2866- offy + bottom_offset + description_offset + line_spacing * c + 5,
2867- Fonts["large"], true)
2868- menu:addLabel(GetPlayerData(i, "TotalBuildings"), offx + 100 + 40,
2869- offy + bottom_offset + description_offset + line_spacing * c + 5,
2870- Fonts["large"], true)
2871- menu:addLabel(GetPlayerData(i, "TotalResources", "gold"), offx + 190 + 40,
2872- offy + bottom_offset + description_offset + line_spacing * c + 5,
2873- Fonts["large"], true)
2874- menu:addLabel(GetPlayerData(i, "TotalResources", "wood"), offx + 280 + 40,
2875- offy + bottom_offset + description_offset + line_spacing * c + 5,
2876- Fonts["large"], true)
2877- menu:addLabel(GetPlayerData(i, "TotalResources", "oil"), offx + 370 + 40,
2878- offy + bottom_offset + description_offset + line_spacing * c + 5,
2879- Fonts["large"], true)
2880- menu:addLabel(GetPlayerData(i, "TotalKills"), offx + 460 + 40,
2881- offy + bottom_offset + description_offset + line_spacing * c + 5,
2882- Fonts["large"], true)
2883- menu:addLabel(GetPlayerData(i, "TotalRazings"), offx + 550 + 40,
2884- offy + bottom_offset + description_offset + line_spacing * c + 5,
2885- Fonts["large"], true)
2886-
2887- c = c + 1
2888+ kills[name] = kills[name] + GetPlayerData(i, "TotalKills")
2889+ units[name] = units[name] + GetPlayerData(i, "TotalUnits")
2890+ razings[name] = razings[name] + GetPlayerData(i, "TotalRazings")
2891+ buildings[name] = buildings[name] + GetPlayerData(i, "TotalBuildings")
2892+ gold[name] = gold[name] + GetPlayerData(i, "TotalResources", "gold")
2893+ wood[name] = wood[name] + GetPlayerData(i, "TotalResources", "wood")
2894 end
2895 end
2896-
2897- menu:addFullButton("~!Save Replay", "s", offx + 150, offy + 440,
2898+
2899+ local lineHeight = 17 * multy
2900+
2901+ menu:addLabel(kills.you, 115 * multx, 280 * multy, Fonts["large"], true)
2902+ menu:addLabel(kills.enemy, 115 * multx, 280 * multy + lineHeight, Fonts["large"], true)
2903+ menu:addLabel(units.you, 115 * multx, 346 * multy, Fonts["large"], true)
2904+ menu:addLabel(units.enemy, 115 * multx, 346 * multy + lineHeight, Fonts["large"], true)
2905+
2906+ menu:addLabel(razings.you, 315 * multx, 280 * multy, Fonts["large"], true)
2907+ menu:addLabel(razings.enemy, 315 * multx, 280 * multy + lineHeight, Fonts["large"], true)
2908+ menu:addLabel(buildings.you, 315 * multx, 346 * multy, Fonts["large"], true)
2909+ menu:addLabel(buildings.enemy, 315 * multx, 346 * multy + lineHeight, Fonts["large"], true)
2910+
2911+ menu:addLabel(gold.you, 515 * multx, 280 * multy, Fonts["large"], true)
2912+ menu:addLabel(gold.enemy, 515 * multx, 280 * multy + lineHeight, Fonts["large"], true)
2913+ menu:addLabel(wood.you, 515 * multx, 346 * multy, Fonts["large"], true)
2914+ menu:addLabel(wood.enemy, 515 * multx, 346 * multy + lineHeight, Fonts["large"], true)
2915+
2916+ menu:addFullButton("~!Save Replay", "s", 16 * multx, 180 * multy,
2917 function() RunSaveReplayMenu() end)
2918
2919- menu:addFullButton("~!Continue", "c", offx + 400, offy + 440,
2920+ menu:addFullButton("~!Continue", "c", 16 * multx, 210 * multy,
2921 function() StopMusic(); menu:stop() end)
2922
2923 menu:run()
2924
2925=== modified file 'scripts/missiles.lua'
2926--- scripts/missiles.lua 2009-05-22 16:30:00 +0000
2927+++ scripts/missiles.lua 2013-05-08 07:16:26 +0000
2928@@ -30,7 +30,7 @@
2929 -- $Id$
2930
2931 DefineMissileType("missile-arrow",
2932- { File = "missiles/arrow.png", Size = {64, 64}, Frames = 5, NumDirections = 5,
2933+ { File = "missiles/arrow.png", Size = {64, 64}, Frames = 9, NumDirections = 5,
2934 DrawLevel = 50, ImpactSound = "bow hit",
2935 Class = "missile-class-point-to-point", Sleep = 1, Speed = 32, Range = 0 } )
2936
2937@@ -52,6 +52,25 @@
2938 { File = "missiles/explosion.png", Size = {96, 96}, Frames = 6, NumDirections = 1,
2939 DrawLevel = 50, Class = "missile-class-stay", Sleep = 1, Speed = 16, Range = 1 } )
2940
2941+DefineMissileType("missile-normal-spell",
2942+ { File = "missiles/healing.png", Size = {64, 64}, Frames = 6, NumDirections = 1,
2943+ DrawLevel = 50, Class = "missile-class-stay", Sleep = 5, Speed = 0, Range = 1 } )
2944+
2945+DefineMissileType("missile-fireball",
2946+ { File = "missiles/fireball_2.png", Size = {64, 64}, Frames = 2, NumDirections = 5,
2947+ DrawLevel = 50, ImpactSound = "bow hit",
2948+ Class = "missile-class-point-to-point", Sleep = 1, Speed = 32, Range = 0 } )
2949+
2950+DefineMissileType("missile-rain-of-fire",
2951+ { File = "missiles/rain_of_fire.png", Size = {32, 32}, Frames = 7, NumDirections = 1,
2952+ Class = "missile-class-point-to-point-with-hit", Sleep = 2, Speed = 8, Range = 1,
2953+ DrawLevel = 100 } )
2954+
2955+DefineMissileType("missile-poison-cloud",
2956+ { File = "missiles/poison_cloud.png", Size = {128, 128}, Frames = 4, NumDirections = 1,
2957+ Class = "missile-class-point-to-point-with-hit", Sleep = 2, Speed = 8, Range = 1,
2958+ DrawLevel = 100 } )
2959+
2960 DefineMissileType("missile-none",
2961 { Size = {32, 32}, DrawLevel = 50,
2962 Class = "missile-class-none", Sleep = 1, Speed = 16, Range = 1 } )
2963
2964=== modified file 'scripts/orc/buttons.lua'
2965--- scripts/orc/buttons.lua 2009-05-22 16:30:00 +0000
2966+++ scripts/orc/buttons.lua 2013-05-08 07:16:26 +0000
2967@@ -72,7 +72,7 @@
2968 Action = "attack",
2969 Key = "a", Hint = "~!ATTACK",
2970 ForUnit = {"unit-grunt", "unit-ogre", "unit-axethrower", "unit-ogre-mage",
2971- "unit-goblin-sappers", "unit-berserker", "unit-catapult", "unit-peon",
2972+ "unit-goblin-sappers", "unit-berserker", "unit-catapult",
2973 "unit-fad-man", "unit-double-head",
2974 "unit-sharp-axe", "unit-beast-cry", "unit-quick-blade", "unit-ice-bringer",
2975 "unit-evil-knight", "unit-skeleton", "unit-dragon", "unit-fire-breeze",
2976@@ -123,25 +123,6 @@
2977 Key = "a", Hint = "~!ATTACK",
2978 ForUnit = {"unit-catapult"} } )
2979
2980-if (extensions) then
2981-DefineButton( { Pos = 4, Level = 0, Icon = "icon-orc-patrol-land",
2982- Action = "patrol",
2983- Key = "p", Hint = "~!PATROL",
2984- ForUnit = {"unit-grunt", "unit-ogre", "unit-axethrower", "unit-ogre-mage",
2985- "unit-goblin-sappers", "unit-berserker", "unit-catapult", "unit-fad-man",
2986- "unit-double-head", "unit-sharp-axe", "unit-beast-cry", "unit-quick-blade",
2987- "unit-skeleton", "unit-dragon", "unit-fire-breeze", "orc-group", "unit-daemon",
2988- "unit-zeppelin", "unit-eye-of-vision"} } )
2989-else
2990-DefineButton( { Pos = 4, Level = 0, Icon = "icon-orc-patrol-land",
2991- Action = "patrol",
2992- Key = "p", Hint = "~!PATROL",
2993- ForUnit = {"unit-grunt", "unit-ogre", "unit-axethrower", "unit-ogre-mage",
2994- "unit-goblin-sappers", "unit-berserker", "unit-catapult", "unit-fad-man",
2995- "unit-double-head", "unit-sharp-axe", "unit-beast-cry", "unit-quick-blade",
2996- "unit-skeleton", "unit-dragon", "unit-fire-breeze", "orc-group", "unit-daemon"} } )
2997-end
2998-
2999 DefineButton( { Pos = 5, Level = 0, Icon = "icon-orc-stand-ground",
3000 Action = "stand-ground",
3001 Key = "t", Hint = "S~!TAND GROUND",
3002@@ -156,116 +137,31 @@
3003 Key = "g", Hint = "ATTACK ~!GROUND",
3004 ForUnit = {"unit-catapult", "unit-ogre-juggernaught", "orc-group"} } )
3005
3006---[[
3007-DefineButton( { Pos = 9, Level = 0, Icon = "icon-orc-demolish",
3008- Action = "cast-spell", Value = "spell-suicide-bomber",
3009- Allowed = "check-true",
3010- Key = "d", Hint = "~!DEMOLISH",
3011- ForUnit = {"unit-goblin-sappers"} } )
3012-]]
3013-
3014--- ogre-mage specific actions -------------------------------------------------
3015-
3016---[[
3017-DefineButton( { Pos = 8, Level = 0, Icon = "icon-bloodlust",
3018- Action = "cast-spell", Value = "spell-bloodlust",
3019- Allowed = "check-upgrade", AllowArg = {"upgrade-bloodlust"},
3020- Key = "b", Hint = "~!BLOODLUST",
3021- ForUnit = {"unit-ogre-mage", "unit-fad-man"} } )
3022-
3023-DefineButton( { Pos = 9, Level = 0, Icon = "icon-runes",
3024- Action = "cast-spell", Value = "spell-runes",
3025- Allowed = "check-upgrade", AllowArg = {"upgrade-runes"},
3026- Key = "r", Hint = "~!RUNES",
3027- ForUnit = {"unit-ogre-mage", "unit-fad-man"} } )
3028-]]
3029-
3030--- cho'gall specific actions --- same as ogre mage but it has them always -----
3031-
3032---[[
3033-DefineButton( { Pos = 8, Level = 0, Icon = "icon-bloodlust",
3034- Action = "cast-spell", Value = "spell-bloodlust",
3035- Allowed = "check-true",
3036- Key = "b", Hint = "~!BLOODLUST",
3037- ForUnit = {"unit-double-head"} } )
3038-
3039-DefineButton( { Pos = 9, Level = 0, Icon = "icon-runes",
3040- Action = "cast-spell", Value = "spell-runes",
3041- Allowed = "check-true",
3042- Key = "r", Hint = "~!RUNES",
3043- ForUnit = {"unit-double-head"} } )
3044-]]
3045-
3046--- death-knight specific actions ----------------------------------------------
3047-
3048-DefineButton( { Pos = 3, Level = 0, Icon = "icon-touch-of-darkness",
3049- Action = "attack",
3050- Key = "a", Hint = "TOUCH OF D~!ARKNESS",
3051- ForUnit = {"unit-death-knight", "unit-ice-bringer", "unit-evil-knight"} } )
3052-
3053---[[
3054-DefineButton( { Pos = 4, Level = 0, Icon = "icon-death-coil",
3055- Action = "cast-spell", Value = "spell-death-coil",
3056- Allowed = "check-upgrade", AllowArg = {"upgrade-death-coil"},
3057- Key = "c", Hint = "DEATH ~!COIL",
3058- ForUnit = {"unit-death-knight", "unit-ice-bringer", "unit-evil-knight"} } )
3059-
3060-DefineButton( { Pos = 5, Level = 0, Icon = "icon-haste",
3061- Action = "cast-spell", Value = "spell-haste",
3062- Allowed = "check-upgrade", AllowArg = {"upgrade-haste"},
3063- Key = "h", Hint = "~!HASTE",
3064- ForUnit = {"unit-death-knight", "unit-ice-bringer", "unit-evil-knight"} } )
3065-
3066-DefineButton( { Pos = 6, Level = 0, Icon = "icon-raise-dead",
3067- Action = "cast-spell", Value = "spell-raise-dead",
3068- Allowed = "check-upgrade", AllowArg = {"upgrade-raise-dead"},
3069- Key = "r", Hint = "~!RAISE DEAD",
3070- ForUnit = {"unit-death-knight", "unit-ice-bringer", "unit-evil-knight"} } )
3071-
3072-DefineButton( { Pos = 7, Level = 0, Icon = "icon-whirlwind",
3073- Action = "cast-spell", Value = "spell-whirlwind",
3074- Allowed = "check-upgrade", AllowArg = {"upgrade-whirlwind"},
3075- Key = "w", Hint = "~!WHIRLWIND",
3076- ForUnit = {"unit-death-knight", "unit-ice-bringer", "unit-evil-knight"} } )
3077-
3078-DefineButton( { Pos = 8, Level = 0, Icon = "icon-unholy-armor",
3079- Action = "cast-spell", Value = "spell-unholy-armor",
3080- Allowed = "check-upgrade", AllowArg = {"upgrade-unholy-armor"},
3081- Key = "u", Hint = "~!UNHOLY ARMOR",
3082- ForUnit = {"unit-death-knight", "unit-ice-bringer", "unit-evil-knight"} } )
3083-
3084-DefineButton( { Pos = 9, Level = 0, Icon = "icon-death-and-decay",
3085- Action = "cast-spell", Value = "spell-death-and-decay",
3086- Allowed = "check-upgrade", AllowArg = {"upgrade-death-and-decay"},
3087- Key = "d", Hint = "~!DEATH AND DECAY",
3088- ForUnit = {"unit-death-knight", "unit-ice-bringer", "unit-evil-knight"} } )
3089-]]
3090-
3091 -- peon specific actions ------------------------------------------------------
3092
3093-DefineButton( { Pos = 4, Level = 0, Icon = "icon-repair",
3094+DefineButton( { Pos = 3, Level = 0, Icon = "icon-repair",
3095 Action = "repair",
3096 Key = "r", Hint = "~!REPAIR",
3097 ForUnit = {"unit-peon"} } )
3098
3099-DefineButton( { Pos = 5, Level = 0, Icon = "icon-harvest",
3100+DefineButton( { Pos = 4, Level = 0, Icon = "icon-harvest",
3101 Action = "harvest",
3102 Key = "h", Hint = "~!HARVEST LUMBER/MINE GOLD",
3103 ForUnit = {"unit-peon"} } )
3104
3105-DefineButton( { Pos = 6, Level = 0, Icon = "icon-return-goods",
3106+DefineButton( { Pos = 4, Level = 0, Icon = "icon-return-goods",
3107 Action = "return-goods",
3108 Key = "g", Hint = "RETURN WITH ~!GOODS",
3109 ForUnit = {"unit-peon"} } )
3110
3111 -- build basic/advanced structs -----------------------------------------------
3112
3113-DefineButton( { Pos = 7, Level = 0, Icon = "icon-build-basic",
3114+DefineButton( { Pos = 5, Level = 0, Icon = "icon-build-basic",
3115 Action = "button", Value = 1,
3116 Key = "b", Hint = "~!BUILD BASIC STRUCTURE",
3117 ForUnit = {"unit-peon"} } )
3118
3119-DefineButton( { Pos = 8, Level = 0, Icon = "icon-build-advanced",
3120+DefineButton( { Pos = 6, Level = 0, Icon = "icon-build-advanced",
3121 Action = "button", Value = 2,
3122 Allowed = "check-units-or", AllowArg = {"unit-orc-lumber-mill"},
3123 Key = "v", Hint = "BUILD AD~!VANCED STRUCTURE",
3124@@ -273,8 +169,8 @@
3125
3126 -- simple buildings orc -------------------------------------------------------
3127
3128-DefineButton( { Pos = 1, Level = 1, Icon = "icon-pig-farm",
3129- Action = "build", Value = "unit-pig-farm",
3130+DefineButton( { Pos = 1, Level = 1, Icon = "icon-orc-farm",
3131+ Action = "build", Value = "unit-orc-farm",
3132 Key = "f", Hint = "BUILD PIG ~!FARM",
3133 ForUnit = {"unit-peon"} } )
3134
3135@@ -283,80 +179,19 @@
3136 Key = "b", Hint = "BUILD ~!BARRACKS",
3137 ForUnit = {"unit-peon"} } )
3138
3139-DefineButton( { Pos = 3, Level = 1, Icon = "icon-great-hall",
3140+DefineButton( { Pos = 3, Level = 1, Icon = "icon-orc-town-hall",
3141 Action = "build", Value = "unit-orc-town-hall",
3142 Key = "h", Hint = "BUILD GREAT ~!HALL",
3143 ForUnit = {"unit-peon"} } )
3144
3145-DefineButton( { Pos = 4, Level = 1, Icon = "icon-orc-lumber-mill",
3146- Action = "build", Value = "unit-orc-lumber-mill",
3147- Key = "l", Hint = "BUILD TROLL ~!LUMBER MILL",
3148- ForUnit = {"unit-peon"} } )
3149-
3150-DefineButton( { Pos = 5, Level = 1, Icon = "icon-orc-blacksmith",
3151- Action = "build", Value = "unit-orc-blacksmith",
3152- Key = "s", Hint = "BUILD BLACK~!SMITH",
3153- ForUnit = {"unit-peon"} } )
3154-
3155-DefineButton( { Pos = 7, Level = 1, Icon = "icon-orc-watch-tower",
3156- Action = "build", Value = "unit-orc-watch-tower",
3157- Key = "t", Hint = "BUILD ~!TOWER",
3158- ForUnit = {"unit-peon"} } )
3159-
3160-DefineButton( { Pos = 8, Level = 1, Icon = "icon-orc-wall",
3161- Action = "build", Value = "unit-orc-wall",
3162- Allowed = "check-network",
3163- Key = "w", Hint = "BUILD ~!WALL",
3164- ForUnit = {"unit-peon"} } )
3165-
3166-DefineButton( { Pos = 9, Level = 1, Icon = "icon-cancel",
3167+DefineButton( { Pos = 6, Level = 1, Icon = "icon-cancel",
3168 Action = "button", Value = 0,
3169 Key = "\27", Hint = "~<ESC~> CANCEL",
3170 ForUnit = {"unit-peon"} } )
3171
3172 -- orc advanced buildings -----------------------------------------------------
3173
3174-DefineButton( { Pos = 1, Level = 2, Icon = "icon-orc-shipyard",
3175- Action = "build", Value = "unit-orc-shipyard",
3176- Key = "s", Hint = "BUILD ~!SHIPYARD",
3177- ForUnit = {"unit-peon"} } )
3178-
3179-DefineButton( { Pos = 2, Level = 2, Icon = "icon-orc-foundry",
3180- Action = "build", Value = "unit-orc-foundry",
3181- Key = "f", Hint = "BUILD ~!FOUNDRY",
3182- ForUnit = {"unit-peon"} } )
3183-
3184-DefineButton( { Pos = 3, Level = 2, Icon = "icon-orc-refinery",
3185- Action = "build", Value = "unit-orc-refinery",
3186- Key = "r", Hint = "BUILD ~!REFINERY",
3187- ForUnit = {"unit-peon"} } )
3188-
3189-DefineButton( { Pos = 4, Level = 2, Icon = "icon-alchemist",
3190- Action = "build", Value = "unit-alchemist",
3191- Key = "a", Hint = "BUILD GOBLIN ~!ALCHEMIST",
3192- ForUnit = {"unit-peon"} } )
3193-
3194-DefineButton( { Pos = 5, Level = 2, Icon = "icon-ogre-mound",
3195- Action = "build", Value = "unit-ogre-mound",
3196- Key = "o", Hint = "BUILD ~!OGRE MOUND",
3197- ForUnit = {"unit-peon"} } )
3198-
3199-DefineButton( { Pos = 6, Level = 2, Icon = "icon-temple-of-the-damned",
3200- Action = "build", Value = "unit-temple-of-the-damned",
3201- Key = "t", Hint = "BUILD ~!TEMPLE OF THE DAMNED",
3202- ForUnit = {"unit-peon"} } )
3203-
3204-DefineButton( { Pos = 7, Level = 2, Icon = "icon-altar-of-storms",
3205- Action = "build", Value = "unit-altar-of-storms",
3206- Key = "l", Hint = "BUILD A~!LTAR OF STORMS",
3207- ForUnit = {"unit-peon"} } )
3208-
3209-DefineButton( { Pos = 8, Level = 2, Icon = "icon-dragon-roost",
3210- Action = "build", Value = "unit-dragon-roost",
3211- Key = "d", Hint = "BUILD ~!DRAGON ROOST",
3212- ForUnit = {"unit-peon"} } )
3213-
3214-DefineButton( { Pos = 9, Level = 2, Icon = "icon-cancel",
3215+DefineButton( { Pos = 6, Level = 2, Icon = "icon-cancel",
3216 Action = "button", Value = 0,
3217 Key = "\27", Hint = "~<ESC~> CANCEL",
3218 ForUnit = {"unit-peon"} } )
3219@@ -370,7 +205,7 @@
3220 ForUnit = {"unit-orc-town-hall"} } )
3221
3222 -- strong hold upgrades -------------------------------------------------------
3223-
3224+--[[
3225 if (extensions) then
3226 do
3227 DefineButton( { Pos = 5, Level = 0, Icon = "icon-harvest",
3228@@ -502,9 +337,9 @@
3229 ForUnit = {"unit-orc-shipyard"} } )
3230 end
3231 end
3232-
3233+]]
3234 -- upgrades -------------------------------------------------------------------
3235-
3236+--[[
3237 DefineButton( { Pos = 1, Level = 0, Icon = "icon-axe2",
3238 Action = "research", Value = "upgrade-axe1",
3239 Allowed = "check-single-research",
3240@@ -648,3 +483,4 @@
3241 Allowed = "check-single-research",
3242 Key = "a", Hint = "UPGRADE SHIP ~!ARMOR (Armor +5)",
3243 ForUnit = {"unit-orc-foundry"} } )
3244+]]
3245
3246=== modified file 'scripts/orc/campaign1.lua'
3247--- scripts/orc/campaign1.lua 2009-05-22 16:30:00 +0000
3248+++ scripts/orc/campaign1.lua 2013-05-08 07:16:26 +0000
3249@@ -30,105 +30,34 @@
3250
3251 --=============================================================================
3252 -- Define the campaign
3253---
3254--- (define-campagin 'ident 'name "name" 'campaign (list elements)
3255-DefineCampaign("orc", "name", "~!Orc campaign",
3256- "campaign", {
3257- "show-picture", {
3258- "image", "campaigns/orc/interface/Act_I_-_Seas_of_Blood.png",
3259- "fade-in", 30 * 2,
3260- "fade-out", 30 * 2,
3261- "display-time", 30 * 10,
3262- "text", {
3263- "font", "large-title",
3264- "x", 640 / 2,
3265- "y", (480 / 2) - 67,
3266- "width", 640,
3267- "height", 0,
3268- "align", "center",
3269- "text", "Act I"},
3270- "text", {
3271- "font", "small-title",
3272- "x", 640 / 2,
3273- "y", (480 / 2) - 25,
3274- "width", 640,
3275- "height", 0,
3276- "align", "center",
3277- "text", "Seas of Blood"}},
3278- "play-level", "campaigns/orc/level01o.cm",
3279- "play-level", "campaigns/orc/level02o.cm",
3280- "play-level", "campaigns/orc/level03o.cm",
3281- "play-level", "campaigns/orc/level04o.cm",
3282- "show-picture", {
3283- "image", "campaigns/orc/interface/Act_II_-_Khaz_Modan.png",
3284- "fade-in", 30 * 2,
3285- "fade-out", 30 * 2,
3286- "display-time", 30 * 10,
3287- "text", {
3288- "font", "large-title",
3289- "x", 640 / 2,
3290- "y", (480 / 2) - 67,
3291- "width", 640,
3292- "height", 0,
3293- "align", "center",
3294- "text", "Act II"},
3295- "text", {
3296- "font", "small-title",
3297- "x", 640 / 2,
3298- "y", (480 / 2) - 25,
3299- "width", 640,
3300- "height", 0,
3301- "align", "center",
3302- "text", "Khaz Modan"}},
3303- "play-level", "campaigns/orc/level05o.cm",
3304- "play-level", "campaigns/orc/level06o.cm",
3305- "play-level", "campaigns/orc/level07o.cm",
3306- "show-picture", {
3307- "image", "campaigns/orc/interface/Act_III_-_Quel'Thalas.png",
3308- "fade-in", 30 * 2,
3309- "fade-out", 30 * 2,
3310- "display-time", 30 * 10,
3311- "text", {
3312- "font", "large-title",
3313- "x", 640 / 2,
3314- "y", (480 / 2) - 67,
3315- "width", 640,
3316- "height", 0,
3317- "align", "center",
3318- "text", "Act III"},
3319- "text", {
3320- "font", "small-title",
3321- "x", 640 / 2,
3322- "y", (480 / 2) - 25,
3323- "width", 640,
3324- "height", 0,
3325- "align", "center",
3326- "text", "Quel'Thalas"}},
3327- "play-level", "campaigns/orc/level08o.cm",
3328- "play-level", "campaigns/orc/level09o.cm",
3329- "play-level", "campaigns/orc/level10o.cm",
3330- "play-level", "campaigns/orc/level11o.cm",
3331- "show-picture", {
3332- "image", "campaigns/orc/interface/Act_IV_-_Tides_of_Darkness.png",
3333- "fade-in", 30 * 2,
3334- "fade-out", 30 * 2,
3335- "display-time", 30 * 10,
3336- "text", {
3337- "font", "large-title",
3338- "x", 640 / 2,
3339- "y", (480 / 2) - 67,
3340- "width", 640,
3341- "height", 0,
3342- "align", "center",
3343- "text", "ACT IV"},
3344- "text", {
3345- "font", "small-title",
3346- "x", 640 / 2,
3347- "y", (480 / 2) - 25,
3348- "width", 640,
3349- "height", 0,
3350- "align", "center",
3351- "text", "Tides of Darkness"}},
3352- "play-level", "campaigns/orc/level12o.cm",
3353- "play-level", "campaigns/orc/level13o.cm",
3354- "play-level", "campaigns/orc/level14o.cm" } )
3355+
3356+campaign_steps = {
3357+ CreateVideoStep("videos/omap01.avi"),
3358+ CreateMapStep("campaigns/orc/01.smp"),
3359+ CreateVideoStep("videos/omap02.avi"),
3360+ CreateMapStep("campaigns/orc/02.smp"),
3361+ CreateVideoStep("videos/omap03.avi"),
3362+ CreateMapStep("campaigns/orc/03.smp"),
3363+ CreateVideoStep("videos/omap04.avi"),
3364+ CreateMapStep("campaigns/orc/04.smp"),
3365+ CreateVideoStep("videos/omap05.avi"),
3366+ CreateMapStep("campaigns/orc/05.smp"),
3367+ CreateVideoStep("videos/omap06.avi"),
3368+ CreateMapStep("campaigns/orc/06.smp"),
3369+ CreateVideoStep("videos/omap07.avi"),
3370+ CreateMapStep("campaigns/orc/07.smp"),
3371+ CreateVideoStep("videos/omap08.avi"),
3372+ CreateMapStep("campaigns/orc/08.smp"),
3373+ CreateVideoStep("videos/omap09.avi"),
3374+ CreateMapStep("campaigns/orc/09.smp"),
3375+ CreateVideoStep("videos/omap10.avi"),
3376+ CreateMapStep("campaigns/orc/10.smp"),
3377+ CreateVideoStep("videos/omap11.avi"),
3378+ CreateMapStep("campaigns/orc/11.smp"),
3379+ CreateVideoStep("videos/omap12.avi"),
3380+ CreateMapStep("campaigns/orc/12.smp"),
3381+ CreateVideoStep("videos/ofinale.avi"),
3382+}
3383+
3384+campaign_menu = { 1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23 }
3385+
3386
3387=== removed file 'scripts/orc/campaign2.lua'
3388--- scripts/orc/campaign2.lua 2009-05-22 16:30:00 +0000
3389+++ scripts/orc/campaign2.lua 1970-01-01 00:00:00 +0000
3390@@ -1,128 +0,0 @@
3391--- _________ __ __
3392--- / _____// |_____________ _/ |______ ____ __ __ ______
3393--- \_____ \\ __\_ __ \__ \\ __\__ \ / ___\| | \/ ___/
3394--- / \| | | | \// __ \| | / __ \_/ /_/ > | /\___ \
3395--- /_______ /|__| |__| (____ /__| (____ /\___ /|____//____ >
3396--- \/ \/ \//_____/ \/
3397--- ______________________ ______________________
3398--- T H E W A R B E G I N S
3399--- Stratagus - A free fantasy real time strategy game engine
3400---
3401--- campaign2.ccl - Define the orc campaign 2.
3402---
3403--- (c) Copyright 2002 by Lutz Sammer
3404---
3405--- This program is free software; you can redistribute it and/or modify
3406--- it under the terms of the GNU General Public License as published by
3407--- the Free Software Foundation; either version 2 of the License, or
3408--- (at your option) any later version.
3409---
3410--- This program is distributed in the hope that it will be useful,
3411--- but WITHOUT ANY WARRANTY; without even the implied warranty of
3412--- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
3413--- GNU General Public License for more details.
3414---
3415--- You should have received a copy of the GNU General Public License
3416--- along with this program; if not, write to the Free Software
3417--- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
3418---
3419--- $Id$
3420-
3421-DefineCampaign("orc-exp", "name", "O~!rc expansion levels",
3422- "campaign", {
3423- "show-picture", {
3424- "image", "campaigns/orc-exp/interface/Act_I_-_Draenor,_the_Red_World.png",
3425- "fade-in", 30 * 2,
3426- "fade-out", 30 * 2,
3427- "display-time", 30 * 10,
3428- "text", {
3429- "font", "large-title",
3430- "x", 640 / 2,
3431- "y", (480 / 2) - 67,
3432- "width", 640,
3433- "height", 0,
3434- "align", "center",
3435- "text", "Act I"},
3436- "text", {
3437- "font", "small-title",
3438- "x", 640 / 2,
3439- "y", (480 / 2) - 25,
3440- "width", 640,
3441- "height", 0,
3442- "align", "center",
3443- "text", "Draenor, the Red World"}},
3444- "play-level", "campaigns/orc-exp/levelx01o.cm",
3445- "play-level", "campaigns/orc-exp/levelx02o.cm",
3446- "play-level", "campaigns/orc-exp/levelx03o.cm",
3447- "show-picture", {
3448- "image", "campaigns/orc-exp/interface/Act_II_-_The_Burning_of_Azeroth.png",
3449- "fade-in", 30 * 2,
3450- "fade-out", 30 * 2,
3451- "display-time", 30 * 10,
3452- "text", {
3453- "font", "large-title",
3454- "x", 640 / 2,
3455- "y", (480 / 2) - 67,
3456- "width", 640,
3457- "height", 0,
3458- "align", "center",
3459- "text", "Act II"},
3460- "text", {
3461- "font", "small-title",
3462- "x", 640 / 2,
3463- "y", (480 / 2) - 25,
3464- "width", 640,
3465- "height", 0,
3466- "align", "center",
3467- "text", "The Burning of Azeroth"}},
3468- "play-level", "campaigns/orc-exp/levelx04o.cm",
3469- "play-level", "campaigns/orc-exp/levelx05o.cm",
3470- "play-level", "campaigns/orc-exp/levelx06o.cm",
3471- "show-picture", {
3472- "image", "campaigns/orc-exp/interface/Act_III_-_The_Great_Sea.png",
3473- "fade-in", 30 * 2,
3474- "fade-out", 30 * 2,
3475- "display-time", 30 * 10,
3476- "text", {
3477- "font", "large-title",
3478- "x", 640 / 2,
3479- "y", (480 / 2) - 67,
3480- "width", 640,
3481- "height", 0,
3482- "align", "center",
3483- "text", "Act III"},
3484- "text", {
3485- "font", "small-title",
3486- "x", 640 / 2,
3487- "y", (480 / 2) - 25,
3488- "width", 640,
3489- "height", 0,
3490- "align", "center",
3491- "text", "The Great Sea"}},
3492- "play-level", "campaigns/orc-exp/levelx07o.cm",
3493- "play-level", "campaigns/orc-exp/levelx08o.cm",
3494- "play-level", "campaigns/orc-exp/levelx09o.cm",
3495- "show-picture", {
3496- "image", "campaigns/orc-exp/interface/Act_IV_-_Prelude_to_New_Worlds.png",
3497- "fade-in", 30 * 2,
3498- "fade-out", 30 * 2,
3499- "display-time", 30 * 10,
3500- "text", {
3501- "font", "large-title",
3502- "x", 640 / 2,
3503- "y", (480 / 2) - 67,
3504- "width", 640,
3505- "height", 0,
3506- "align", "center",
3507- "text", "Act IV"},
3508- "text", {
3509- "font", "small-title",
3510- "x", 640 / 2,
3511- "y", (480 / 2) - 25,
3512- "width", 640,
3513- "height", 0,
3514- "align", "center",
3515- "text", "Prelude to New Worlds"}},
3516- "play-level", "campaigns/orc-exp/levelx10o.cm",
3517- "play-level", "campaigns/orc-exp/levelx11o.cm",
3518- "play-level", "campaigns/orc-exp/levelx12o.cm" } )
3519
3520=== removed file 'scripts/orc/constructions.lua'
3521--- scripts/orc/constructions.lua 2010-06-22 06:41:34 +0000
3522+++ scripts/orc/constructions.lua 1970-01-01 00:00:00 +0000
3523@@ -1,196 +0,0 @@
3524--- _________ __ __
3525--- / _____// |_____________ _/ |______ ____ __ __ ______
3526--- \_____ \\ __\_ __ \__ \\ __\__ \ / ___\| | \/ ___/
3527--- / \| | | | \// __ \| | / __ \_/ /_/ > | /\___ \
3528--- /_______ /|__| |__| (____ /__| (____ /\___ /|____//____ >
3529--- \/ \/ \//_____/ \/
3530--- ______________________ ______________________
3531--- T H E W A R B E G I N S
3532--- Stratagus - A free fantasy real time strategy game engine
3533---
3534--- constructions.lua - Define the orc constructions.
3535---
3536--- (c) Copyright 2001-2004 by Lutz Sammer and Jimmy Salmon
3537---
3538--- This program is free software; you can redistribute it and/or modify
3539--- it under the terms of the GNU General Public License as published by
3540--- the Free Software Foundation; either version 2 of the License, or
3541--- (at your option) any later version.
3542---
3543--- This program is distributed in the hope that it will be useful,
3544--- but WITHOUT ANY WARRANTY; without even the implied warranty of
3545--- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
3546--- GNU General Public License for more details.
3547---
3548--- You should have received a copy of the GNU General Public License
3549--- along with this program; if not, write to the Free Software
3550--- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
3551---
3552--- $Id$
3553-
3554---=============================================================================
3555--- Define a construction.
3556---
3557--- (define-construction ident 'files '(tileset-name filename ..)
3558--- 'size '(x y))
3559-
3560-DefineConstruction("construction-orc-barracks", {
3561- Files = {
3562--- {Tileset = "forest",
3563- File = "tilesets/forest/orc/buildings/barracks_construction.png",
3564- Size = {128, 128}},
3565--- {Tileset = "swamp",
3566--- File = "tilesets/swamp/orc/buildings/barracks_construction.png",
3567--- Size = {128, 128}}},
3568- Constructions = {
3569- {Percent = 0,
3570- File = "construction",
3571- Frame = 0},
3572- {Percent = 33,
3573- File = "construction",
3574- Frame = 1},
3575- {Percent = 67,
3576- File = "construction",
3577- Frame = 2}}
3578-})
3579-
3580-DefineConstruction("construction-orc-blacksmith", {
3581- Files = {
3582--- {Tileset = "forest",
3583- File = "tilesets/forest/orc/buildings/blacksmith_construction.png",
3584- Size = {96, 96}},
3585--- {Tileset = "swamp",
3586--- File = "tilesets/swamp/orc/buildings/blacksmith_construction.png",
3587--- Size = {96, 96}}},
3588- Constructions = {
3589- {Percent = 0,
3590- File = "construction",
3591- Frame = 0},
3592- {Percent = 33,
3593- File = "construction",
3594- Frame = 1},
3595- {Percent = 67,
3596- File = "construction",
3597- Frame = 2}}
3598-})
3599-
3600-DefineConstruction("construction-orc-temple", {
3601- Files = {
3602--- {Tileset = "forest",
3603- File = "tilesets/forest/orc/buildings/temple_construction.png",
3604- Size = {128, 128}},
3605--- {Tileset = "swamp",
3606--- File = "tilesets/swamp/orc/buildings/temple_construction.png",
3607--- Size = {128, 128}}},
3608- Constructions = {
3609- {Percent = 0,
3610- File = "construction",
3611- Frame = 0},
3612- {Percent = 33,
3613- File = "construction",
3614- Frame = 1},
3615- {Percent = 67,
3616- File = "construction",
3617- Frame = 2}}
3618-})
3619-
3620-DefineConstruction("construction-orc-farm", {
3621- Files = {
3622--- {Tileset = "forest",
3623- File = "tilesets/forest/orc/buildings/farm_construction.png",
3624- Size = {96, 96}},
3625--- {Tileset = "swamp",
3626--- File = "tilesets/swamp/orc/buildings/farm_construction.png",
3627--- Size = {96, 96}}},
3628- Constructions = {
3629- {Percent = 0,
3630- File = "construction",
3631- Frame = 0},
3632- {Percent = 33,
3633- File = "construction",
3634- Frame = 1},
3635- {Percent = 67,
3636- File = "construction",
3637- Frame = 2}}
3638-})
3639-
3640-DefineConstruction("construction-orc-lumber-mill", {
3641- Files = {
3642--- {Tileset = "forest",
3643- File = "tilesets/forest/orc/buildings/lumber_mill_construction.png",
3644- Size = {128, 128}},
3645--- {Tileset = "swamp",
3646--- File = "tilesets/swamp/orc/buildings/lumber_mill_construction.png",
3647--- Size = {128, 128}}},
3648- Constructions = {
3649- {Percent = 0,
3650- File = "construction",
3651- Frame = 0},
3652- {Percent = 33,
3653- File = "construction",
3654- Frame = 1},
3655- {Percent = 67,
3656- File = "construction",
3657- Frame = 2}}
3658-})
3659-
3660-DefineConstruction("construction-orc-kennel", {
3661- Files = {
3662--- {Tileset = "forest",
3663- File = "tilesets/forest/orc/buildings/kennel_construction.png",
3664- Size = {128, 96}},
3665--- {Tileset = "swamp",
3666--- File = "tilesets/swamp/orc/buildings/kennel_construction.png",
3667--- Size = {128, 96}}},
3668- Constructions = {
3669- {Percent = 0,
3670- File = "construction",
3671- Frame = 0},
3672- {Percent = 33,
3673- File = "construction",
3674- Frame = 1},
3675- {Percent = 67,
3676- File = "construction",
3677- Frame = 2}}
3678-})
3679-
3680-DefineConstruction("construction-orc-tower", {
3681- Files = {
3682--- {Tileset = "forest",
3683- File = "tilesets/forest/orc/buildings/tower_construction.png",
3684- Size = {96, 96}},
3685--- {Tileset = "swamp",
3686--- File = "tilesets/swamp/orc/buildings/tower_construction.png",
3687--- Size = {96, 96}}},
3688- Constructions = {
3689- {Percent = 0,
3690- File = "construction",
3691- Frame = 0},
3692- {Percent = 33,
3693- File = "construction",
3694- Frame = 1},
3695- {Percent = 67,
3696- File = "construction",
3697- Frame = 2}}
3698-})
3699-
3700-DefineConstruction("construction-orc-town-hall", {
3701- Files = {
3702--- {Tileset = "forest",
3703- File = "tilesets/forest/orc/buildings/town_hall_construction.png",
3704- Size = {128, 128}},
3705--- {Tileset = "swamp",
3706--- File = "tilesets/swamp/orc/buildings/town_hall_construction.png",
3707--- Size = {128, 128}}},
3708- Constructions = {
3709- {Percent = 0,
3710- File = "construction",
3711- Frame = 0},
3712- {Percent = 33,
3713- File = "construction",
3714- Frame = 1},
3715- {Percent = 67,
3716- File = "construction",
3717- Frame = 2}}
3718-})
3719-
3720
3721=== modified file 'scripts/orc/sound.lua'
3722--- scripts/orc/sound.lua 2009-05-22 16:30:00 +0000
3723+++ scripts/orc/sound.lua 2013-05-08 07:16:26 +0000
3724@@ -81,8 +81,7 @@
3725 -- Define orc selected sounds.
3726 --
3727
3728-MakeSound("orc-temple-selected",
3729- "orc/temple.wav")
3730-MakeSound("orc-kennel-selected",
3731- "orc/kennel.wav")
3732+MakeSound("orc-temple-selected", "orc/temple.wav")
3733+MakeSound("orc-kennel-selected", "orc/kennel.wav")
3734+MakeSound("orc-blacksmith-selected", "blacksmith")
3735
3736
3737=== removed file 'scripts/orc/ui.lua'
3738--- scripts/orc/ui.lua 2010-11-16 22:33:39 +0000
3739+++ scripts/orc/ui.lua 1970-01-01 00:00:00 +0000
3740@@ -1,458 +0,0 @@
3741--- _________ __ __
3742--- / _____// |_____________ _/ |______ ____ __ __ ______
3743--- \_____ \\ __\_ __ \__ \\ __\__ \ / ___\| | \/ ___/
3744--- / \| | | | \// __ \| | / __ \_/ /_/ > | /\___ \
3745--- /_______ /|__| |__| (____ /__| (____ /\___ /|____//____ >
3746--- \/ \/ \//_____/ \/
3747--- ______________________ ______________________
3748--- T H E W A R B E G I N S
3749--- Stratagus - A free fantasy real time strategy game engine
3750---
3751--- ui.ccl - Define the orc user interface
3752---
3753--- (c) Copyright 2001-2004 by Lutz Sammer and Jimmy Salmon
3754---
3755--- This program is free software; you can redistribute it and/or modify
3756--- it under the terms of the GNU General Public License as published by
3757--- the Free Software Foundation; either version 2 of the License, or
3758--- (at your option) any later version.
3759---
3760--- This program is distributed in the hope that it will be useful,
3761--- but WITHOUT ANY WARRANTY; without even the implied warranty of
3762--- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
3763--- GNU General Public License for more details.
3764---
3765--- You should have received a copy of the GNU General Public License
3766--- along with this program; if not, write to the Free Software
3767--- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
3768---
3769--- $Id$
3770-
3771---;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
3772--- * Race orc.
3773---;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
3774-
3775-function AddFiller(file, x, y)
3776- if CanAccessFile(file) == true then
3777- b = CFiller:new_local()
3778- b.G = CGraphic:New(file)
3779- b.X = x
3780- b.Y = y
3781- UI.Fillers:push_back(b)
3782- end
3783-end
3784-
3785-function AddSelectedButton(x, y)
3786- b = CUIButton:new_local()
3787- b.X = x
3788- b.Y = y
3789- b.Style = FindButtonStyle("icon")
3790- UI.SelectedButtons:push_back(b)
3791-end
3792-
3793-function AddTrainingButton(x, y)
3794- b = CUIButton:new_local()
3795- b.X = x
3796- b.Y = y
3797- b.Style = FindButtonStyle("icon")
3798- UI.TrainingButtons:push_back(b)
3799-end
3800-
3801-function AddTransportingButton(x, y)
3802- b = CUIButton:new_local()
3803- b.X = x
3804- b.Y = y
3805- b.Style = FindButtonStyle("icon")
3806- UI.TransportingButtons:push_back(b)
3807-end
3808-
3809-function AddButtonPanelButton(x, y)
3810- b = CUIButton:new_local()
3811- b.X = x
3812- b.Y = y
3813- b.Style = FindButtonStyle("icon")
3814- UI.ButtonPanel.Buttons:push_back(b)
3815-end
3816-
3817-
3818-
3819-function OrcScreen(screen_width, screen_height)
3820- info_panel_x = 0
3821- info_panel_y = 160
3822-
3823--- DefineUI("orc", screen_width, screen_height,
3824- UI.NormalFontColor = "yellow";
3825- UI.ReverseFontColor = "white";
3826--- "normal-font-color", "white",
3827--- "reverse-font-color", "yellow",
3828-
3829- UI.Fillers:clear()
3830- AddFiller("ui/orc/minimap.png", 0, 0)
3831- AddFiller("ui/orc/left_panel.png", 0, 144)
3832- AddFiller("ui/orc/top_resource_bar.png", 144, 0)
3833- AddFiller("ui/orc/right_panel.png", 624, 0)
3834- AddFiller("ui/orc/bottom_panel.png", 144, 376)
3835---[[
3836- "filler", {
3837- File = "ui/orc/minimap.png",
3838- Pos = {0, 0}},
3839- "filler", {
3840- File = "ui/orc/left_panel.png",
3841- Pos = {0, 144}},
3842- "filler", {
3843- File = "ui/orc/top_resource_bar.png",
3844- Pos = {144, 0}},
3845- "filler", {
3846- File = "ui/orc/right_panel.png",
3847- Pos = {624, 0}},
3848- "filler", {
3849- File = "ui/orc/bottom_panel.png",
3850- Pos = {144, 376}},
3851-]]
3852-
3853--- gold
3854-UI.Resources[1].G = CGraphic:New("ui/gold_icon_1.png", 26, 12)
3855-UI.Resources[1].IconFrame = 0
3856-UI.Resources[1].IconX = 176 + 0
3857-UI.Resources[1].IconY = 0
3858-UI.Resources[1].TextX = 176 + 0 + 18
3859-UI.Resources[1].TextY = 1
3860-
3861--- wood
3862-UI.Resources[2].G = CGraphic:New("ui/lumber_icon_1.png", 18, 18)
3863-UI.Resources[2].IconFrame = 1
3864-UI.Resources[2].IconX = 176 + 75
3865-UI.Resources[2].IconY = 0
3866-UI.Resources[2].TextX = 176 + 75 + 18
3867-UI.Resources[2].TextY = 1
3868---[[
3869--- oil
3870-UI.Resources[3].G = CGraphic:New("ui/gold,wood,oil,mana.png", 14, 14)
3871-UI.Resources[3].IconFrame = 2
3872-UI.Resources[3].IconX = 176 + 150
3873-UI.Resources[3].IconY = 0
3874-UI.Resources[3].TextX = 176 + 150 + 18
3875-UI.Resources[3].TextY = 1
3876-
3877--- food
3878-UI.Resources[FoodCost].G = CGraphic:New("ui/food.png", 14, 14)
3879-UI.Resources[FoodCost].IconFrame = 0
3880-UI.Resources[FoodCost].IconX = Video.Width - 16 - 138
3881-UI.Resources[FoodCost].IconY = 0
3882-UI.Resources[FoodCost].TextX = Video.Width - 16 - 138 + 18
3883-UI.Resources[FoodCost].TextY = 1
3884-
3885--- score
3886-UI.Resources[ScoreCost].G = CGraphic:New("ui/score.png", 14, 14)
3887-UI.Resources[ScoreCost].IconFrame = 0
3888-UI.Resources[ScoreCost].IconX = Video.Width - 16 - 68
3889-UI.Resources[ScoreCost].IconY = 0
3890-UI.Resources[ScoreCost].TextX = Video.Width - 16 - 68 + 18
3891-UI.Resources[ScoreCost].TextY = 1
3892---]]
3893---[[
3894- "resources", {
3895- "gold", { File = "ui/gold,wood,oil,mana.png", Frame = 0,
3896- Pos = { 176 + 0, 0}, Size = {14, 14}, TextPos = { 176 + 0 + 18, 1}},
3897- "wood", { File = "ui/gold,wood,oil,mana.png", Frame = 1,
3898- Pos = { 176 + 75, 0}, Size = {14, 14}, TextPos = { 176 + 75 + 18, 1}},
3899- "oil", { File = "ui/gold,wood,oil,mana.png", Frame = 2,
3900- Pos = { 176 + 150, 0}, Size = {14, 14}, TextPos = { 176 + 150 + 18, 1}},
3901- "food", { File = "ui/food.png", Frame = 0,
3902- Pos = { screen_width - 16 - 138, 0}, Size = {14, 14}, TextPos = { (screen_width - 16 - 138) + 18, 1}},
3903- "score", { File = "ui/score.png", Frame = 0,
3904- Pos = { screen_width - 16 - 68, 0}, Size = {14, 14}, TextPos = { (screen_width - 16 - 68) + 18, 1}}},
3905-]]
3906-
3907-b = CUIButton:new()
3908-b.X = 9
3909-b.Y = 160 + 9
3910-b.Style = FindButtonStyle("icon")
3911-UI.SingleSelectedButton = b
3912-
3913-UI.SelectedButtons:clear()
3914-
3915-AddSelectedButton(6, 160 + 6)
3916-AddSelectedButton(62, 160 + 6)
3917-AddSelectedButton(118, 160 + 6)
3918-AddSelectedButton(6, 160 + 60)
3919-AddSelectedButton(62, 160 + 60)
3920-AddSelectedButton(118, 160 + 60)
3921-AddSelectedButton(6, 160 + 114)
3922-AddSelectedButton(62, 160 + 114)
3923-AddSelectedButton(118, 160 + 114)
3924-
3925-UI.MaxSelectedFont = Fonts["game"]
3926-UI.MaxSelectedTextX = info_panel_x + 10
3927-UI.MaxSelectedTextY = info_panel_y + 10
3928-
3929---
3930-
3931-b = CUIButton:new()
3932-b.X = 110
3933-b.Y = 160 + 11 + 70
3934-b.Style = FindButtonStyle("icon")
3935-UI.SingleTrainingButton = b
3936-
3937-UI.TrainingButtons:clear()
3938-
3939-AddTrainingButton(6, 216)
3940-AddTrainingButton(62, 216)
3941-AddTrainingButton(118, 216)
3942-AddTrainingButton(6, 263)
3943-AddTrainingButton(62, 263)
3944-AddTrainingButton(118, 263)
3945-
3946---
3947-
3948-b = CUIButton:new()
3949-b.X = 110
3950-b.Y = 160 + 11 + 70
3951-b.Style = FindButtonStyle("icon")
3952-UI.UpgradingButton = b
3953-
3954---
3955-
3956-b = CUIButton:new()
3957-b.X = 110
3958-b.Y = 160 + 11 + 70
3959-b.Style = FindButtonStyle("icon")
3960-UI.ResearchingButton = b
3961-
3962---
3963-
3964-UI.TransportingButtons:clear()
3965-
3966-AddTransportingButton(9, 387)
3967-AddTransportingButton(65, 387)
3968-AddTransportingButton(121, 387)
3969-AddTransportingButton(9, 434)
3970-AddTransportingButton(65, 434)
3971-AddTransportingButton(121, 434)
3972-
3973---
3974-
3975-UI.CompletedBarColorRGB = CColor(48, 100, 4)
3976-UI.CompletedBarShadow = true
3977-
3978--- "info-panel", {
3979---[[
3980- "panel", {
3981- "file", "ui/orc/infopanel.png",
3982- "pos", { info_panel_x, info_panel_y},
3983- "size", {176, 176}
3984- },
3985-]]
3986-
3987---[[
3988- "selected", {
3989- "single", {
3990- "icon", {
3991- "pos", { 6, 166}, "style", "icon"}},
3992- "multiple", {
3993- "icons", {
3994- { "pos", { 6, 166}, "style", "icon"},
3995- { "pos", { 62, 166}, "style", "icon"},
3996- { "pos", {118, 166}, "style", "icon"},
3997- { "pos", { 6, 220}, "style", "icon"},
3998- { "pos", { 62, 220}, "style", "icon"},
3999- { "pos", {118, 220}, "style", "icon"},
4000- { "pos", { 6, 274}, "style", "icon"},
4001- { "pos", { 62, 274}, "style", "icon"},
4002- { "pos", {118, 274}, "style", "icon"}},
4003- "max-text", {
4004- "font", "game",
4005- "pos", { info_panel_x + 10, info_panel_y + 10}}}
4006- },
4007- "training", {
4008- "single", {
4009- "text", {
4010- "text", "Training:",
4011- "font", "game",
4012- "pos", { info_panel_x + 37, info_panel_y + 8 + 78}},
4013- "icon", {
4014- "pos", { info_panel_x + 107, info_panel_y + 8 + 70},
4015- "style", "icon"}},
4016- "multiple", {
4017- "icons", {
4018- { "pos", { 6, 216}, "style", "icon"},
4019- { "pos", { 62, 216}, "style", "icon"},
4020- { "pos", {118, 216}, "style", "icon"},
4021- { "pos", { 6, 263}, "style", "icon"},
4022- { "pos", { 62, 263}, "style", "icon"},
4023- { "pos", {118, 263}, "style", "icon"}}}
4024- },
4025- "upgrading", {
4026- "text", {
4027- "text", "Upgrading:",
4028- "font", "game",
4029- "pos", { info_panel_x + 29, info_panel_y + 8 + 78}},
4030- "icon", {
4031- "pos", { info_panel_x + 107, info_panel_y + 8 + 70},
4032- "style", "icon"},
4033- },
4034- "researching", {
4035- "text", {
4036- "text", "Researching:",
4037- "font", "game",
4038- "pos", { info_panel_x + 16, info_panel_y + 8 + 78}},
4039- "icon", {
4040- "pos", { info_panel_x + 107, info_panel_y + 8 + 70},
4041- "style", "icon"}
4042- },
4043- "transporting", {
4044- "icons", {
4045- { "pos", { 6, 220}, "style", "icon"},
4046- { "pos", { 62, 220}, "style", "icon"},
4047- { "pos", {118, 220}, "style", "icon"},
4048- { "pos", { 6, 274}, "style", "icon"},
4049- { "pos", { 62, 274}, "style", "icon"},
4050- { "pos", {118, 274}, "style", "icon"}}
4051- },
4052- "completed-bar", {
4053- "color", {48, 100, 4},
4054- "pos", { 12, 313},
4055- "size", {152, 14},
4056- "text", {
4057- "text", "% Complete",
4058- "font", "game",
4059- "pos", { 50, 313}}
4060- }
4061- },
4062-]]
4063--- "button-panel", {
4064---[[
4065- "panel", {
4066- "file", "ui/orc/" ..
4067- screen_width .. "x" .. screen_height ..
4068- "/buttonpanel.png",
4069- "pos", {0, 336}},
4070-]]
4071---[[
4072- "icons", {
4073- {"pos", { 8, 236}, "style", "icon"},
4074- {"pos", { 76, 236}, "style", "icon"},
4075- {"pos", { 8, 282}, "style", "icon"},
4076- {"pos", { 76, 282}, "style", "icon"},
4077- {"pos", { 8, 328}, "style", "icon"},
4078- {"pos", { 76, 328}, "style", "icon"}},
4079- "auto-cast-border-color", {0, 0, 252},
4080- },
4081-
4082- "map-area", {
4083- Pos = {144, 24},
4084- Size = {480, 352}},
4085-
4086- "menu-panel", {
4087- "menu-button", {
4088- Pos = {6, 376},
4089- Style = "menu"},
4090- "network-menu-button", {
4091- Pos = {6, 376},
4092- Caption = "Menu",
4093- Style = "network"},
4094- "network-diplomacy-button", {
4095- Pos = {168, 376},
4096- Caption = "Diplomacy",
4097- Style = "network"},
4098- },
4099-
4100- "minimap", {
4101- Pos = {6, 12},
4102- Size = {128, 128}},
4103-
4104- "status-line", {
4105- TextPos = {148, 385},
4106- Font = "game",
4107- Width = 480},
4108-
4109- "cursors", {
4110- Point = "cursor-point",
4111- Glass = "cursor-glass",
4112- Cross = "cursor-cross",
4113- Yellow = "cursor-yellow-hair",
4114- Green = "cursor-green-hair",
4115- Red = "cursor-red-hair",
4116- Scroll = "cursor-scroll",
4117- ArrowE = "cursor-arrow-e",
4118- ArrowNE = "cursor-arrow-ne",
4119- ArrowN = "cursor-arrow-n",
4120- ArrowNW = "cursor-arrow-nw",
4121- ArrowW = "cursor-arrow-w",
4122- ArrowSW = "cursor-arrow-sw",
4123- ArrowS = "cursor-arrow-s",
4124- ArrowSE = "cursor-arrow-se"},
4125-
4126- "menu-panels", {
4127- "panel1", "ui/orc/panel_1.png",
4128- "panel2", "ui/orc/panel_2.png",
4129- "panel3", "ui/orc/panel_2.png",
4130- "panel4", "ui/orc/panel_2.png",
4131- "panel5", "ui/orc/panel_2.png"},
4132-]]
4133-
4134-UI.ButtonPanel.Buttons:clear()
4135-
4136-AddButtonPanelButton(9, 340)
4137-AddButtonPanelButton(65, 340)
4138-AddButtonPanelButton(121, 340)
4139-AddButtonPanelButton(9, 387)
4140-AddButtonPanelButton(65, 387)
4141-AddButtonPanelButton(121, 387)
4142-AddButtonPanelButton(9, 434)
4143-AddButtonPanelButton(65, 434)
4144-AddButtonPanelButton(121, 434)
4145-
4146-UI.ButtonPanel.X = 0
4147-UI.ButtonPanel.Y = 336
4148-UI.ButtonPanel.AutoCastBorderColorRGB = CColor(0, 0, 252)
4149-
4150-UI.MapArea.X = 176
4151-UI.MapArea.Y = 16
4152-UI.MapArea.EndX = Video.Width - 16 - 1
4153-UI.MapArea.EndY = Video.Height - 16 - 1
4154-
4155-UI.Minimap.X = 24
4156-UI.Minimap.Y = 24 + 2
4157-UI.Minimap.W = 128
4158-UI.Minimap.H = 128
4159-
4160-UI.StatusLine.TextX = 2 + 176
4161-UI.StatusLine.TextY = Video.Height + 2 - 16
4162-UI.StatusLine.Width = Video.Width - 16 - 2 - 176
4163-UI.StatusLine.Font = Fonts["game"]
4164-
4165-UI.MenuButton.X = 24
4166-UI.MenuButton.Y = 2
4167-UI.MenuButton.Text = "Menu (~<F10~>)"
4168-UI.MenuButton.Style = FindButtonStyle("main")
4169-UI.MenuButton:SetCallback(
4170- function()
4171- if (Editor.Running == EditorNotRunning) then
4172- RunGameMenu()
4173- else
4174- RunInEditorMenu()
4175- end
4176- end)
4177-
4178-UI.NetworkMenuButton.X = 6
4179-UI.NetworkMenuButton.Y = 2
4180-UI.NetworkMenuButton.Text = "Menu"
4181-UI.NetworkMenuButton.Style = FindButtonStyle("network")
4182-UI.NetworkMenuButton:SetCallback(function() RunGameMenu() end)
4183-
4184-UI.NetworkDiplomacyButton.X = 90
4185-UI.NetworkDiplomacyButton.Y = 2
4186-UI.NetworkDiplomacyButton.Text = "Diplomacy"
4187-UI.NetworkDiplomacyButton.Style = FindButtonStyle("network")
4188-UI.NetworkDiplomacyButton:SetCallback(function() RunDiplomacyMenu() end)
4189-
4190--- "victory-background", "ui/orc/victory.png",
4191--- "defeat-background", "ui/orc/defeat.png")
4192-end
4193-
4194-OrcScreen(640, 480)
4195-OrcScreen(800, 600)
4196-OrcScreen(1024, 768)
4197-OrcScreen(1280, 960)
4198-OrcScreen(1600, 1200)
4199
4200=== removed file 'scripts/orc/units.lua'
4201--- scripts/orc/units.lua 2010-12-13 20:53:19 +0000
4202+++ scripts/orc/units.lua 1970-01-01 00:00:00 +0000
4203@@ -1,500 +0,0 @@
4204--- _________ __ __
4205--- / _____// |_____________ _/ |______ ____ __ __ ______
4206--- \_____ \\ __\_ __ \__ \\ __\__ \ / ___\| | \/ ___/
4207--- / \| | | | \// __ \| | / __ \_/ /_/ > | /\___ \
4208--- /_______ /|__| |__| (____ /__| (____ /\___ /|____//____ >
4209--- \/ \/ \//_____/ \/
4210--- ______________________ ______________________
4211--- T H E W A R B E G I N S
4212--- Stratagus - A free fantasy real time strategy game engine
4213---
4214--- units.ccl - Define the orc unit-types.
4215---
4216--- (c) Copyright 2001-2005 by Lutz Sammer and Jimmy Salmon
4217---
4218--- This program is free software; you can redistribute it and/or modify
4219--- it under the terms of the GNU General Public License as published by
4220--- the Free Software Foundation; either version 2 of the License, or
4221--- (at your option) any later version.
4222---
4223--- This program is distributed in the hope that it will be useful,
4224--- but WITHOUT ANY WARRANTY; without even the implied warranty of
4225--- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
4226--- GNU General Public License for more details.
4227---
4228--- You should have received a copy of the GNU General Public License
4229--- along with this program; if not, write to the Free Software
4230--- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
4231---
4232--- $Id$
4233-
4234---=============================================================================
4235--- Define unit-types.
4236---
4237--- NOTE: Save can generate this table.
4238---
4239-
4240-DefineUnitType("unit-orc-catapult", { Name = "Catapult",
4241- Image = {"file", "orc/units/catapult.png", "size", {64, 64}},
4242- Animations = "animations-catapult", Icon = "icon-orc-catapult",
4243- Costs = {"time", 70},
4244- NeutralMinimapColor = {192, 0, 0},
4245- HitPoints = 60,
4246- DrawLevel = 60,
4247- TileSize = {1, 1}, BoxSize = {31, 31},
4248- SightRange = 5, ComputerReactionRange = 7, PersonReactionRange = 5,
4249- Armor = 3, BasicDamage = 10, PiercingDamage = 2, Missile = "missile-none",
4250- MaxAttackRange = 3,
4251- Priority = 63,
4252- Points = 100,
4253- Demand = 1,
4254- RightMouseAction = "attack",
4255- CanAttack = true,
4256- CanTargetLand = true, CanTargetSea = true, CanTargetAir = true,
4257- SelectableByRectangle = true} )
4258-
4259-DefineUnitType("unit-grunt", { Name = "Grunt",
4260- Image = {"file", "orc/units/grunt.png", "size", {64, 64}},
4261- Animations = "animations-footman", Icon = "icon-grunt",
4262- Costs = {"time", 70},
4263- NeutralMinimapColor = {192, 0, 0},
4264- HitPoints = 60,
4265- DrawLevel = 60,
4266- TileSize = {1, 1}, BoxSize = {31, 31},
4267- SightRange = 5, ComputerReactionRange = 7, PersonReactionRange = 5,
4268- Armor = 3, BasicDamage = 10, PiercingDamage = 2, Missile = "missile-none",
4269- MaxAttackRange = 3,
4270- Priority = 63,
4271- Points = 100,
4272- Demand = 1,
4273- RightMouseAction = "attack",
4274- CanAttack = true,
4275- CanTargetLand = true, CanTargetSea = true, CanTargetAir = true,
4276- SelectableByRectangle = true} )
4277-
4278-DefineUnitType("unit-lothar", { Name = "Lothar",
4279- Image = {"file", "orc/units/lothar.png", "size", {96, 96}},
4280- Animations = "animations-midevh", Icon = "icon-lothar",
4281- Costs = {"time", 70},
4282- NeutralMinimapColor = {192, 0, 0},
4283- HitPoints = 60,
4284- DrawLevel = 60,
4285- TileSize = {1, 1}, BoxSize = {31, 31},
4286- SightRange = 5, ComputerReactionRange = 7, PersonReactionRange = 5,
4287- Armor = 3, BasicDamage = 10, PiercingDamage = 2, Missile = "missile-none",
4288- MaxAttackRange = 3,
4289- Priority = 63,
4290- Points = 100,
4291- Demand = 1,
4292- RightMouseAction = "attack",
4293- CanAttack = true,
4294- CanTargetLand = true, CanTargetSea = true, CanTargetAir = true,
4295- SelectableByRectangle = true} )
4296-
4297-DefineUnitType("unit-necrolyte", { Name = "Necrolyte",
4298- Image = {"file", "orc/units/necrolyte.png", "size", {64, 64}},
4299- Animations = "animations-necrolyte", Icon = "icon-necrolyte",
4300- Costs = {"time", 70},
4301- NeutralMinimapColor = {192, 0, 0},
4302- HitPoints = 60,
4303- DrawLevel = 60,
4304- TileSize = {1, 1}, BoxSize = {31, 31},
4305- SightRange = 5, ComputerReactionRange = 7, PersonReactionRange = 5,
4306- Armor = 3, BasicDamage = 10, PiercingDamage = 2, Missile = "missile-none",
4307- MaxAttackRange = 3,
4308- Priority = 63,
4309- Points = 100,
4310- Demand = 1,
4311- RightMouseAction = "attack",
4312- CanAttack = true,
4313- CanTargetLand = true, CanTargetSea = true, CanTargetAir = true,
4314- SelectableByRectangle = true} )
4315-
4316-DefineUnitType("unit-peon", { Name = "Peon",
4317- Image = {"file", "orc/units/peon.png", "size", {64, 64}},
4318- Animations = "animations-peasant", Icon = "icon-peon",
4319- Costs = {"time", 70},
4320- NeutralMinimapColor = {192, 0, 0},
4321- HitPoints = 60,
4322- DrawLevel = 60,
4323- TileSize = {1, 1}, BoxSize = {31, 31},
4324- SightRange = 5, ComputerReactionRange = 7, PersonReactionRange = 5,
4325- Armor = 3, BasicDamage = 10, PiercingDamage = 2, Missile = "missile-none",
4326- MaxAttackRange = 1,
4327- Priority = 63,
4328- Points = 100,
4329- Demand = 1,
4330- RightMouseAction = "attack",
4331- CanAttack = true,
4332- CanTargetLand = true, CanTargetSea = true, CanTargetAir = true,
4333- SelectableByRectangle = true,
4334- CanGatherResources = {
4335- {"file-when-loaded", "orc/units/peon_with_gold.png",
4336- "resource-id", "gold",
4337--- "harvest-from-outside",
4338- "resource-capacity", 100,
4339- "wait-at-resource", 150,
4340- "wait-at-depot", 150},
4341- {"file-when-loaded", "orc/units/peon_with_wood.png",
4342- "resource-id", "wood",
4343- "resource-capacity", 100,
4344- "resource-step", 2,
4345- "wait-at-resource", 24,
4346- "wait-at-depot", 150,
4347- "lose-resources",
4348- "terrain-harvester"}}} )
4349-
4350-DefineUnitType("unit-raider", { Name = "Raider",
4351- Image = {"file", "orc/units/raider.png", "size", {96, 96}},
4352- Animations = "animations-knight", Icon = "icon-raider",
4353- Costs = {"time", 70},
4354- NeutralMinimapColor = {192, 0, 0},
4355- HitPoints = 60,
4356- DrawLevel = 60,
4357- TileSize = {1, 1}, BoxSize = {31, 31},
4358- SightRange = 5, ComputerReactionRange = 7, PersonReactionRange = 5,
4359- Armor = 3, BasicDamage = 10, PiercingDamage = 2, Missile = "missile-none",
4360- MaxAttackRange = 3,
4361- Priority = 63,
4362- Points = 100,
4363- Demand = 1,
4364- RightMouseAction = "attack",
4365- CanAttack = true,
4366- CanTargetLand = true, CanTargetSea = true, CanTargetAir = true,
4367- SelectableByRectangle = true} )
4368-
4369-DefineUnitType("unit-spearman", { Name = "Spearman",
4370- Image = {"file", "orc/units/spearman.png", "size", {64, 64}},
4371- Animations = "animations-archer", Icon = "icon-spearman",
4372- Costs = {"time", 70},
4373- NeutralMinimapColor = {192, 0, 0},
4374- HitPoints = 60,
4375- DrawLevel = 60,
4376- TileSize = {1, 1}, BoxSize = {31, 31},
4377- SightRange = 5, ComputerReactionRange = 7, PersonReactionRange = 5,
4378- Armor = 3, BasicDamage = 10, PiercingDamage = 2, Missile = "missile-none",
4379- MaxAttackRange = 3,
4380- Priority = 63,
4381- Points = 100,
4382- Demand = 1,
4383- RightMouseAction = "attack",
4384- CanAttack = true,
4385- CanTargetLand = true, CanTargetSea = true, CanTargetAir = true,
4386- SelectableByRectangle = true} )
4387-
4388-DefineUnitType("unit-warlock", { Name = "Warlock",
4389- Image = {"file", "orc/units/warlock.png", "size", {64, 64}},
4390- Animations = "animations-footman", Icon = "icon-warlock",
4391- Costs = {"time", 70},
4392- NeutralMinimapColor = {192, 0, 0},
4393- HitPoints = 60,
4394- DrawLevel = 60,
4395- TileSize = {1, 1}, BoxSize = {31, 31},
4396- SightRange = 5, ComputerReactionRange = 7, PersonReactionRange = 5,
4397- Armor = 3, BasicDamage = 10, PiercingDamage = 2, Missile = "missile-none",
4398- MaxAttackRange = 3,
4399- Priority = 63,
4400- Points = 100,
4401- Demand = 1,
4402- RightMouseAction = "attack",
4403- CanAttack = true,
4404- CanTargetLand = true, CanTargetSea = true, CanTargetAir = true,
4405- SelectableByRectangle = true} )
4406---
4407--- BUILDINGS
4408---
4409-
4410-UnitTypeFiles["unit-orc-barracks"] = {forest = "tilesets/forest/orc/buildings/barracks.png",
4411- swamp = "tilesets/swamp/orc/buildings/barracks.png"}
4412-
4413-DefineUnitType("unit-orc-barracks", { Name = "Barracks",
4414- Image = {"size", {128, 128}},
4415- Animations = "animations-building", Icon = "icon-orc-barracks",
4416- Costs = {"time", 100, "gold", 500, "wood", 250},
4417- RepairHp = 4,
4418- RepairCosts = {"gold", 1, "wood", 1},
4419- Construction = "construction-land",
4420- HitPoints = 400,
4421- DrawLevel = 20,
4422- TileSize = {3, 3}, BoxSize = {95, 95},
4423- SightRange = 1,
4424- Armor = 20, BasicDamage = 0, PiercingDamage = 0, Missile = "missile-none",
4425- Priority = 20, AnnoyComputerFactor = 45,
4426- Points = 100,
4427- Supply = 4,
4428- Corpse = "unit-destroyed-2x2-place",
4429- ExplodeWhenKilled = "missile-explosion",
4430- Type = "land",
4431- Building = true, VisibleUnderFog = true,
4432- Sounds = {
4433- "selected", "farm-selected",
4434--- "acknowledge", "farm-acknowledge",
4435--- "ready", "farm-ready",
4436- "help", "basic orc voices help 2",
4437- "dead", "building destroyed"} } )
4438-
4439-UnitTypeFiles["unit-blackrock-spire"] = {forest = "tilesets/forest/orc/buildings/blackrock_spire.png",
4440- swamp = "tilesets/swamp/orc/buildings/blackrock_spire.png"}
4441-
4442-DefineUnitType("unit-blackrock-spire", { Name = "Blackrock-spire",
4443- Image = {"size", {160, 160}},
4444- Animations = "animations-building", Icon = "icon-blackrock-spire",
4445- Costs = {"time", 100, "gold", 500, "wood", 250},
4446- RepairHp = 4,
4447- RepairCosts = {"gold", 1, "wood", 1},
4448- Construction = "construction-land",
4449- HitPoints = 400,
4450- DrawLevel = 20,
4451- TileSize = {5, 5}, BoxSize = {159, 159},
4452- SightRange = 1,
4453- Armor = 20, BasicDamage = 0, PiercingDamage = 0, Missile = "missile-none",
4454- Priority = 20, AnnoyComputerFactor = 45,
4455- Points = 100,
4456- Supply = 4,
4457- Corpse = "unit-destroyed-2x2-place",
4458- ExplodeWhenKilled = "missile-explosion",
4459- Type = "land",
4460- Building = true, VisibleUnderFog = true,
4461- Sounds = {
4462- "selected", "farm-selected",
4463--- "acknowledge", "farm-acknowledge",
4464--- "ready", "farm-ready",
4465- "help", "basic orc voices help 2",
4466- "dead", "building destroyed"} } )
4467-
4468-UnitTypeFiles["unit-orc-blacksmith"] = {forest = "tilesets/forest/orc/buildings/blacksmith.png",
4469- swamp = "tilesets/swamp/orc/buildings/blacksmith.png"}
4470-
4471-DefineUnitType("unit-orc-blacksmith", { Name = "Blacksmith",
4472- Image = {"size", {96, 96}},
4473- Animations = "animations-building", Icon = "icon-orc-blacksmith",
4474- Costs = {"time", 100, "gold", 500, "wood", 250},
4475- RepairHp = 4,
4476- RepairCosts = {"gold", 1, "wood", 1},
4477- Construction = "construction-land",
4478- HitPoints = 400,
4479- DrawLevel = 20,
4480- TileSize = {2, 2}, BoxSize = {63, 63},
4481- SightRange = 1,
4482- Armor = 20, BasicDamage = 0, PiercingDamage = 0, Missile = "missile-none",
4483- Priority = 20, AnnoyComputerFactor = 45,
4484- Points = 100,
4485- Supply = 4,
4486- Corpse = "unit-destroyed-2x2-place",
4487- ExplodeWhenKilled = "missile-explosion",
4488- Type = "land",
4489- Building = true, VisibleUnderFog = true,
4490- Sounds = {
4491- "selected", "farm-selected",
4492--- "acknowledge", "farm-acknowledge",
4493--- "ready", "farm-ready",
4494- "help", "basic orc voices help 2",
4495- "dead", "building destroyed"} } )
4496-
4497-UnitTypeFiles["unit-orc-farm"] = {forest = "tilesets/forest/orc/buildings/farm.png",
4498- swamp = "tilesets/swamp/orc/buildings/farm.png"}
4499-
4500-DefineUnitType("unit-orc-farm", { Name = "Farm",
4501- Image = {"size", {96, 96}},
4502- Animations = "animations-building", Icon = "icon-orc-farm",
4503- Costs = {"time", 100, "gold", 500, "wood", 250},
4504- RepairHp = 4,
4505- RepairCosts = {"gold", 1, "wood", 1},
4506- Construction = "construction-land",
4507- HitPoints = 400,
4508- DrawLevel = 20,
4509- TileSize = {2, 2}, BoxSize = {63, 63},
4510- SightRange = 1,
4511- Armor = 20, BasicDamage = 0, PiercingDamage = 0, Missile = "missile-none",
4512- Priority = 20, AnnoyComputerFactor = 45,
4513- Points = 100,
4514- Supply = 4,
4515- Corpse = "unit-destroyed-2x2-place",
4516- ExplodeWhenKilled = "missile-explosion",
4517- Type = "land",
4518- Building = true, VisibleUnderFog = true,
4519- Sounds = {
4520- "selected", "farm-selected",
4521--- "acknowledge", "farm-acknowledge",
4522--- "ready", "farm-ready",
4523- "help", "basic orc voices help 2",
4524- "dead", "building destroyed"} } )
4525-
4526-UnitTypeFiles["unit-orc-kennel"] = {forest = "tilesets/forest/orc/buildings/kennel.png",
4527- swamp = "tilesets/swamp/orc/buildings/kennel.png"}
4528-
4529-DefineUnitType("unit-orc-kennel", { Name = "Kennel",
4530- Image = {"size", {128, 96}},
4531- Animations = "animations-building", Icon = "icon-orc-kennel",
4532- Costs = {"time", 100, "gold", 500, "wood", 250},
4533- RepairHp = 4,
4534- RepairCosts = {"gold", 1, "wood", 1},
4535- Construction = "construction-land",
4536- HitPoints = 400,
4537- DrawLevel = 20,
4538- TileSize = {3, 3}, BoxSize = {95, 95},
4539- SightRange = 1,
4540- Armor = 20, BasicDamage = 0, PiercingDamage = 0, Missile = "missile-none",
4541- Priority = 20, AnnoyComputerFactor = 45,
4542- Points = 100,
4543- Supply = 4,
4544- Corpse = "unit-destroyed-2x2-place",
4545- ExplodeWhenKilled = "missile-explosion",
4546- Type = "land",
4547- Building = true, VisibleUnderFog = true,
4548- Sounds = {
4549- "selected", "farm-selected",
4550--- "acknowledge", "farm-acknowledge",
4551--- "ready", "farm-ready",
4552- "help", "basic orc voices help 2",
4553- "dead", "building destroyed"} } )
4554-
4555-UnitTypeFiles["unit-orc-lumber-mill"] = {forest = "tilesets/forest/orc/buildings/lumber_mill.png",
4556- swamp = "tilesets/swamp/orc/buildings/lumber_mill.png"}
4557-
4558-DefineUnitType("unit-orc-lumber-mill", { Name = "Lumber mill",
4559- Image = {"size", {128, 128}},
4560- Animations = "animations-building", Icon = "icon-orc-lumber-mill",
4561- Costs = {"time", 100, "gold", 500, "wood", 250},
4562- RepairHp = 4,
4563- RepairCosts = {"gold", 1, "wood", 1},
4564- Construction = "construction-land",
4565- HitPoints = 400,
4566- DrawLevel = 20,
4567- TileSize = {3, 3}, BoxSize = {95, 95},
4568- SightRange = 1,
4569- Armor = 20, BasicDamage = 0, PiercingDamage = 0, Missile = "missile-none",
4570- Priority = 20, AnnoyComputerFactor = 45,
4571- Points = 100,
4572- Supply = 4,
4573- Corpse = "unit-destroyed-2x2-place",
4574- ExplodeWhenKilled = "missile-explosion",
4575- Type = "land",
4576- Building = true, VisibleUnderFog = true,
4577- Sounds = {
4578- "selected", "farm-selected",
4579--- "acknowledge", "farm-acknowledge",
4580--- "ready", "farm-ready",
4581- "help", "basic orc voices help 2",
4582- "dead", "building destroyed"} } )
4583-
4584-UnitTypeFiles["unit-orc-temple"] = {forest = "tilesets/forest/orc/buildings/temple.png",
4585- swamp = "tilesets/swamp/orc/buildings/temple.png"}
4586-
4587-DefineUnitType("unit-orc-temple", { Name = "Temple",
4588- Image = {"size", {128, 128}},
4589- Animations = "animations-building", Icon = "icon-orc-temple",
4590- Costs = {"time", 100, "gold", 500, "wood", 250},
4591- RepairHp = 4,
4592- RepairCosts = {"gold", 1, "wood", 1},
4593- Construction = "construction-land",
4594- HitPoints = 400,
4595- DrawLevel = 20,
4596- TileSize = {3, 3}, BoxSize = {95, 95},
4597- SightRange = 1,
4598- Armor = 20, BasicDamage = 0, PiercingDamage = 0, Missile = "missile-none",
4599- Priority = 20, AnnoyComputerFactor = 45,
4600- Points = 100,
4601- Supply = 4,
4602- Corpse = "unit-destroyed-2x2-place",
4603- ExplodeWhenKilled = "missile-explosion",
4604- Type = "land",
4605- Building = true, VisibleUnderFog = true,
4606- Sounds = {
4607- "selected", "farm-selected",
4608--- "acknowledge", "farm-acknowledge",
4609--- "ready", "farm-ready",
4610- "help", "basic orc voices help 2",
4611- "dead", "building destroyed"} } )
4612-
4613-
4614-UnitTypeFiles["unit-orc-tower"] = {forest = "tilesets/forest/orc/buildings/tower.png",
4615- swamp = "tilesets/swamp/orc/buildings/tower.png"}
4616-
4617-DefineUnitType("unit-orc-tower", { Name = "Tower",
4618- Image = {"size", {96, 96}},
4619- Animations = "animations-building", Icon = "icon-orc-tower",
4620- Costs = {"time", 100, "gold", 500, "wood", 250},
4621- RepairHp = 4,
4622- RepairCosts = {"gold", 1, "wood", 1},
4623- Construction = "construction-land",
4624- HitPoints = 400,
4625- DrawLevel = 20,
4626- TileSize = {2, 2}, BoxSize = {63, 63},
4627- SightRange = 1,
4628- Armor = 20, BasicDamage = 0, PiercingDamage = 0, Missile = "missile-none",
4629- Priority = 20, AnnoyComputerFactor = 45,
4630- Points = 100,
4631- Supply = 4,
4632- Corpse = "unit-destroyed-2x2-place",
4633- ExplodeWhenKilled = "missile-explosion",
4634- Type = "land",
4635- Building = true, VisibleUnderFog = true,
4636- Sounds = {
4637- "selected", "farm-selected",
4638--- "acknowledge", "farm-acknowledge",
4639--- "ready", "farm-ready",
4640- "help", "basic orc voices help 2",
4641- "dead", "building destroyed"} } )
4642-
4643-UnitTypeFiles["unit-orc-town-hall"] = {forest = "tilesets/forest/orc/buildings/town_hall.png",
4644- swamp = "tilesets/swamp/orc/buildings/town_hall.png"}
4645-
4646-DefineUnitType("unit-orc-town-hall", { Name = "Town hall",
4647- Image = {"size", {128, 128}},
4648- Animations = "animations-building", Icon = "icon-orc-town-hall",
4649- Costs = {"time", 100, "gold", 500, "wood", 250},
4650- RepairHp = 4,
4651- RepairCosts = {"gold", 1, "wood", 1},
4652- Construction = "construction-land",
4653- HitPoints = 400,
4654- DrawLevel = 20,
4655- TileSize = {3, 3}, BoxSize = {95, 95},
4656- SightRange = 1,
4657- Armor = 20, BasicDamage = 0, PiercingDamage = 0, Missile = "missile-none",
4658- Priority = 20, AnnoyComputerFactor = 45,
4659- Points = 100,
4660- Supply = 4,
4661- Corpse = "unit-destroyed-2x2-place",
4662- ExplodeWhenKilled = "missile-explosion",
4663- Type = "land",
4664- Building = true, VisibleUnderFog = true,
4665- Sounds = {
4666- "selected", "farm-selected",
4667--- "acknowledge", "farm-acknowledge",
4668--- "ready", "farm-ready",
4669- "help", "basic orc voices help 2",
4670- "dead", "building destroyed"} } )
4671-
4672---]]
4673---[[
4674-UnitTypeFiles["unit-orc-wall"] = {summer = "tilesets/summer/neutral/buildings/wall.png",
4675- winter = "tilesets/winter/neutral/buildings/wall.png",
4676- wasteland = "tilesets/wasteland/neutral/buildings/wall.png",
4677- swamp = "tilesets/summer/neutral/buildings/wall.png"}
4678-
4679-DefineUnitType("unit-orc-wall", { Name = "Wall",
4680- Image = {"size", {32, 32}},
4681- Animations = "animations-building", Icon = "icon-orc-wall",
4682- Costs = {"time", 30, "gold", 20, "wood", 10},
4683- Construction = "construction-wall",
4684- Speed = 0,
4685- HitPoints = 40,
4686- DrawLevel = 39,
4687- TileSize = {1, 1}, BoxSize = {31, 31},
4688- SightRange = 1,
4689- Armor = 20, BasicDamage = 0, PiercingDamage = 0, Missile = "missile-none",
4690- Priority = 0, AnnoyComputerFactor = 45,
4691- Points = 1,
4692- Corpse = "unit-destroyed-1x1-place",
4693- ExplodeWhenKilled = "missile-explosion",
4694- Type = "land",
4695- Building = true, VisibleUnderFog = true,
4696- Sounds = {
4697--- "selected", "orc-wall-selected",
4698--- "acknowledge", "orc-wall-acknowledge",
4699--- "ready", "orc-wall-ready",
4700- "help", "basic orc voices help 2",
4701- "dead", "building destroyed"} } )
4702-
4703---]]
4704
4705=== modified file 'scripts/orc/upgrade.lua'
4706--- scripts/orc/upgrade.lua 2010-06-22 06:41:34 +0000
4707+++ scripts/orc/upgrade.lua 2013-05-08 07:16:26 +0000
4708@@ -74,31 +74,31 @@
4709 -- NOTE: Save can generate this table.
4710
4711 DefineModifier("upgrade-axe1",
4712- {"piercing-damage", 2},
4713+ {"PiercingDamage", 2},
4714 {"apply-to", "unit-grunt"}, {"apply-to", "unit-raider"})
4715 DefineModifier("upgrade-axe2",
4716- {"piercing-damage", 2},
4717+ {"PiercingDamage", 2},
4718 {"apply-to", "unit-grunt"}, {"apply-to", "unit-raider"})
4719
4720 DefineModifier("upgrade-spear1",
4721- {"piercing-damage", 1},
4722+ {"PiercingDamage", 1},
4723 {"apply-to", "unit-spearman"})
4724 DefineModifier("upgrade-spear2",
4725- {"piercing-damage", 1},
4726+ {"PiercingDamage", 1},
4727 {"apply-to", "unit-spearman"})
4728
4729 DefineModifier("upgrade-wolves1",
4730- {"piercing-damage", 1},
4731+-- {"Speed", 1},
4732 {"apply-to", "unit-raider"})
4733 DefineModifier("upgrade-wolves2",
4734- {"piercing-damage", 1},
4735+-- {"Speed", 1},
4736 {"apply-to", "unit-raider"})
4737
4738 DefineModifier("upgrade-orc-shield1",
4739- {"armor", 2},
4740+ {"Armor", 2},
4741 {"apply-to", "unit-grunt"}, {"apply-to", "unit-raider"})
4742 DefineModifier("upgrade-orc-shield2",
4743- {"armor", 2},
4744+ {"Armor", 2},
4745 {"apply-to", "unit-grunt"}, {"apply-to", "unit-raider"})
4746
4747 DefineModifier("upgrade-raise-dead",
4748
4749=== removed file 'scripts/ranks.lua'
4750--- scripts/ranks.lua 2010-06-22 06:44:07 +0000
4751+++ scripts/ranks.lua 1970-01-01 00:00:00 +0000
4752@@ -1,51 +0,0 @@
4753--- _________ __ __
4754--- / _____// |_____________ _/ |______ ____ __ __ ______
4755--- \_____ \\ __\_ __ \__ \\ __\__ \ / ___\| | \/ ___/
4756--- / \| | | | \// __ \| | / __ \_/ /_/ > | /\___ \
4757--- /_______ /|__| |__| (____ /__| (____ /\___ /|____//____ >
4758--- \/ \/ \//_____/ \/
4759--- ______________________ ______________________
4760--- T H E W A R B E G I N S
4761--- Stratagus - A free fantasy real time strategy game engine
4762---
4763--- ranks.lua - Ranks for all of the races.
4764---
4765--- (c) Copyright 2002-2004 by Jimmy Salmon.
4766---
4767--- This program is free software; you can redistribute it and/or modify
4768--- it under the terms of the GNU General Public License as published by
4769--- the Free Software Foundation; either version 2 of the License, or
4770--- (at your option) any later version.
4771---
4772--- This program is distributed in the hope that it will be useful,
4773--- but WITHOUT ANY WARRANTY; without even the implied warranty of
4774--- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
4775--- GNU General Public License for more details.
4776---
4777--- You should have received a copy of the GNU General Public License
4778--- along with this program; if not, write to the Free Software
4779--- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
4780---
4781--- $Id$
4782-
4783---=============================================================================
4784--- Define ranks for a race.
4785---
4786--- DefineRanks(race, {score, rank, [score, rank] ...})
4787---
4788--- race The race to define the ranks for.
4789--- score If the player's score is greater than or equal to this number then
4790--- the rank is displayed. Scores are expected to be sorted in
4791--- increasing order.
4792--- rank The rank that gets displayed.
4793---
4794-
4795---[[
4796-DefineRanks("human", {
4797- 0, "Human Rank 1",
4798-})
4799-
4800-DefineRanks("orc", {
4801- 0, "Orc Rank 1",
4802-})
4803-]]
4804
4805=== modified file 'scripts/sound.lua'
4806--- scripts/sound.lua 2010-11-16 22:33:39 +0000
4807+++ scripts/sound.lua 2013-05-08 07:16:26 +0000
4808@@ -84,7 +84,7 @@
4809 "cd", {"order", "all", "tracks", {16}})
4810 DefinePlaySections("race", "orc", "type", "stats-defeat",
4811 "cd", {"order", "all", "tracks", {17}})
4812-]]
4813+--]]
4814 ------------------------------------------------------------------------------
4815 -- Define simple misc sounds.
4816 --
4817
4818=== modified file 'scripts/spells.lua'
4819--- scripts/spells.lua 2009-05-22 16:30:00 +0000
4820+++ scripts/spells.lua 2013-05-08 07:16:26 +0000
4821@@ -31,4 +31,232 @@
4822 -- For documentation see stratagus/doc/ccl/ccl.html
4823
4824 DefineBoolFlags("isundead", "organic", "hero", "volatile")
4825-
4826+DefineVariables("Mana", {Max = 255, Value = 84, Increase = 1, Enable = false}, "Speed", "ShadowFly", {Max = 2}, "Level")
4827+
4828+-- Declare some unit types used in spells. This is quite accetable, the other
4829+-- way would be to define can-cast-spell outside unit definitions, not much of an improvement.
4830+DefineUnitType(
4831+ "unit-revealer", {
4832+ Name = "Dummy unit",
4833+ Animations = "animations-building", Icon = "icon-far-seeing",
4834+ HitPoints = 1,
4835+ TileSize = {1, 1}, BoxSize = {1, 1},
4836+ SightRange = 12,
4837+ BasicDamage = 0, PiercingDamage = 0, Missile = "missile-none",
4838+ Priority = 0,
4839+ DecayRate = 1,
4840+ Type = "land",
4841+ Building = true, VisibleUnderFog = true,
4842+ Revealer = true,
4843+ DetectCloak = true,
4844+ Sounds = {} })
4845+-- These following units are redefined in units.lua
4846+DefineUnitType("unit-the-dead", {})
4847+DefineUnitType("unit-spider", {})
4848+DefineUnitType("unit-scorpion", {})
4849+DefineUnitType("unit-daemon", {})
4850+DefineUnitType("unit-water-elemental", {})
4851+
4852+-- And declare upgrade for dependency...
4853+-- For human
4854+CUpgrade:New("upgrade-far-seeing")
4855+CUpgrade:New("upgrade-healing")
4856+CUpgrade:New("upgrade-invisibility")
4857+CUpgrade:New("upgrade-scorpion")
4858+CUpgrade:New("upgrade-water-elemental")
4859+CUpgrade:New("upgrade-rain-of-fire")
4860+-- For orc
4861+CUpgrade:New("upgrade-dark-vision")
4862+CUpgrade:New("upgrade-raise-dead")
4863+CUpgrade:New("upgrade-unholy-armor")
4864+CUpgrade:New("upgrade-spider")
4865+CUpgrade:New("upgrade-daemon")
4866+CUpgrade:New("upgrade-poison-cloud")
4867+
4868+
4869+DefineSpell("spell-far-seeing",
4870+ "showname", "Far Seeing",
4871+ "manacost", 70,
4872+ "range", "infinite",
4873+ "target", "position",
4874+ "action", {{"summon", "unit-type", "unit-revealer", "time-to-live", 25},
4875+ {"spawn-missile", "missile", "missile-normal-spell",
4876+ "start-point", {"base", "target"}}},
4877+ "sound-when-cast", "vision",
4878+ "depend-upgrade", "upgrade-far-seeing"
4879+)
4880+
4881+DefineSpell("spell-dark-vision",
4882+ "showname", "Dark Vision",
4883+ "manacost", 70,
4884+ "range", "infinite",
4885+ "target", "position",
4886+ "action", {{"summon", "unit-type", "unit-revealer", "time-to-live", 25},
4887+ {"spawn-missile", "missile", "missile-normal-spell",
4888+ "start-point", {"base", "target"}}},
4889+ "sound-when-cast", "vision",
4890+ "depend-upgrade", "upgrade-dark-vision"
4891+)
4892+
4893+DefineSpell("spell-healing",
4894+ "showname", "Healing",
4895+ "manacost", 6,
4896+ "range", 6,
4897+ "target", "unit",
4898+ "action", {{"adjust-vitals", "hit-points", 1},
4899+ {"spawn-missile", "missile", "missile-normal-spell",
4900+ "start-point", {"base", "target"}}},
4901+ "condition", {
4902+ "organic", "only",
4903+ "Building", "false",
4904+ "HitPoints", {MaxValuePercent = 100}
4905+ },
4906+ "sound-when-cast", "healing",
4907+ "depend-upgrade", "upgrade-healing",
4908+ "autocast", {"range", 6, "condition", {"alliance", "only", "HitPoints", {MaxValuePercent = 90}}}
4909+)
4910+
4911+DefineSpell("spell-raise-dead",
4912+ "showname", "raise dead",
4913+ "manacost", 50,
4914+ "range", 6,
4915+ "repeat-cast",
4916+ "target", "position",
4917+ "action", {{"summon", "unit-type", "unit-the-dead", "time-to-live", 3600, "require-corpse"},
4918+ {"spawn-missile", "missile", "missile-normal-spell",
4919+ "start-point", {"base", "target"}}},
4920+ "sound-when-cast", "raise dead",
4921+ "depend-upgrade", "upgrade-raise-dead"
4922+-- "autocast", {"range", 6}
4923+)
4924+
4925+DefineSpell("spell-unholy-armor",
4926+ "showname", "unholyarmor",
4927+ "manacost", 100,
4928+ "range", 6,
4929+ "target", "unit",
4930+ "action", {{"adjust-variable", {UnholyArmor = 500}},
4931+ {"spawn-missile", "missile", "missile-normal-spell",
4932+ "start-point", {"base", "target"}}},
4933+ "condition", {
4934+ "Building", "false",
4935+ "UnholyArmor", {MaxValue = 10}},
4936+ "sound-when-cast", "unholy armor",
4937+ "depend-upgrade", "upgrade-unholy-armor"
4938+-- "autocast", {range 6 condition (Coward false alliance only)},
4939+)
4940+
4941+DefineSpell("spell-invisibility",
4942+ "showname", "invisibility",
4943+ "manacost", 200,
4944+ "range", 6,
4945+ "target", "unit",
4946+ "action", {{"adjust-variable", {Invisible = 2000}},
4947+ {"spawn-missile", "missile", "missile-normal-spell",
4948+ "start-point", {"base", "target"}}},
4949+ "condition", {
4950+ "Building", "false",
4951+ "Invisible", {MaxValue = 10}},
4952+ "sound-when-cast", "invisibility",
4953+ "depend-upgrade", "upgrade-invisibility"
4954+-- "autocast", {"range", 6, "condition", {"Coward", "false"}},
4955+)
4956+
4957+DefineSpell("spell-summon-scorpions",
4958+ "showname", "summon scorpions",
4959+ "manacost", 50,
4960+ "range", 6,
4961+ "repeat-cast",
4962+ "target", "position",
4963+ "action", {
4964+ {"summon", "unit-type", "unit-scorpion", "time-to-live", 3600},
4965+ {"summon", "unit-type", "unit-scorpion", "time-to-live", 3600},
4966+ {"summon", "unit-type", "unit-scorpion", "time-to-live", 3600},
4967+ {"summon", "unit-type", "unit-scorpion", "time-to-live", 3600},
4968+ {"spawn-missile", "missile", "missile-normal-spell", "start-point", {"base", "target"}}
4969+ },
4970+ "sound-when-cast", "raise dead",
4971+ "depend-upgrade", "upgrade-scorpion"
4972+-- "autocast", {"range", 6}
4973+)
4974+
4975+DefineSpell("spell-summon-elemental",
4976+ "showname", "summan elemental",
4977+ "manacost", 50,
4978+ "range", 6,
4979+ "repeat-cast",
4980+ "target", "position",
4981+ "action", {
4982+ {"summon", "unit-type", "unit-water-elemental", "time-to-live", 3600},
4983+ {"spawn-missile", "missile", "missile-normal-spell", "start-point", {"base", "target"}}
4984+ },
4985+ "sound-when-cast", "raise dead",
4986+ "depend-upgrade", "upgrade-water-elemental"
4987+-- "autocast", {"range", 6}
4988+)
4989+
4990+DefineSpell("spell-rain-of-fire",
4991+ "showname", "Rain of Fire",
4992+ "manacost", 25,
4993+ "range", 12,
4994+ "repeat-cast",
4995+ "target", "position",
4996+ "action", {{"area-bombardment", "missile", "missile-rain-of-fire",
4997+ "fields", 5,
4998+ "shards", 10,
4999+ "damage", 10}},
5000+ "sound-when-cast", "blizzard",
The diff has been truncated for viewing.

Subscribers

People subscribed via source and target branches

to all changes: