Difference between revisions of "Worms Armageddon mission file"

From Worms Knowledge Base

Jump to: navigation, search
(8. The [Events] Group)
(Mission Groups: Added a little to the overall description)
Line 4: Line 4:
 
All mission settings are organized under main groups according to their type. These groups always appear in the same order in official missions. (it is uncertain if the ordering matters)
 
All mission settings are organized under main groups according to their type. These groups always appear in the same order in official missions. (it is uncertain if the ordering matters)
  
Not all the of the groups are vital for the mission to work. The '''[CPUTeam''#'']''', '''[Event''####'']''', and '''[Sequence''####'']''' may have multiple instances in the file.
+
Not all the of the groups are vital for the mission to work. The '''[CPUTeam''#'']''', '''[Event''####'']''', and '''[Sequence''####'']''' may have multiple instances in the file, and the group seems to be ignored if the number is zero so make sure it's positive.
 +
 
 +
Typos and many other errors appear to be silently ignored, which isn't great for manual debugging.
  
 
=== 1. The [Mission] Group ===
 
=== 1. The [Mission] Group ===

Revision as of 21:58, 16 September 2012

(Up to File formats)

Mission Groups

All mission settings are organized under main groups according to their type. These groups always appear in the same order in official missions. (it is uncertain if the ordering matters)

Not all the of the groups are vital for the mission to work. The [CPUTeam#], [Event####], and [Sequence####] may have multiple instances in the file, and the group seems to be ignored if the number is zero so make sure it's positive.

Typos and many other errors appear to be silently ignored, which isn't great for manual debugging.

1. The [Mission] Group

Type Parameter String Description
int MissionNumber= Corresponds to the 0-indexed mission number; probably unused in game (untested).
int WinningCondition= What you need to do in order to win the mission. 0: Kill all AI teams. 1: Destroy a vital crate or team. 2: Survive until mission ends. 3: Mission must be terminated (using event or sequence).
int WinningWeapon= Unknown, unused?

2. The [Description] Group

Type Parameter String Description
int Name= Index of at the very least the mission name, and very possibly the position, description, and map file too. More experimentation required.
int Difficulty= Not used. Apparently the difficulty rating for the mission?

3. The [Options] Group

Type Parameter String Description
int FallDamage= Sets the Fall Damage.
bool DisplayRoundTime= Boolean. 1 to display the round time.
bool EnableActionReplay= Boolean. 1 to show action replays.
int LandRetreatTime= The retreat time in seconds for weapons fired from land.
int RopeRetreatTime= The retreat time in seconds for weapons fired from a rope.
int RoundTime= Round time. If the value is positive, it represents time in minutes; negative values represent time in seconds.
int TurnTime= Turn time. Appears to be formatted like the one in the scheme file, ie signed with negative representing infinite, as it won't let me enter a value greater than 126 in the WWP mission editor.
int MineFuse= Mine fuse in seconds, -1 is random.
int ObjectType= Always 0 in default mission files, as they place their objects manually. I don't think this option actually works, but it has not been thoroughly tested.
int WeaponCrateDrops= Weapon crate drop probability. Seems to work the same as in scheme files - see Crate probability
int HealthCrateDrops= Ditto, for health crates.
int UtilityCrateDrops= Ditto, for utility crates.
int HealthCrateEnergy= Energy obtained from health crates.
bool EnableSecretWeapons= 1 if super weapons are available from crates; 0 if not.
int SuddenDeathWaterRise= Water rise rate in pixels.
int SuddenDeathWormDamage= Worm damage in sudden death per turn. Positive values are absolute health values. -1 is all but one. Either 0 is "none", WWP mission editor seems to have a bug in this respect where it will set none to 1, more testing required.
int SuddenDeathType= 0 = end round. 1 = nuke. 2 and 3 = no nuke - water rise and worm damage honoured in both cases. More testing required.
int PauseBetweenTurns= Hotseat time in seconds.
int GirderRadius= Girder placement radius in pixels.
bool WormSelect= 0 = worms in order, 1 = user worm select.
int JetPackTimeLimit= The amount of fuel in the jetpack. 0 = infinite?
bool WeaponsDontEndTurn= 1 if weapons don't end your turn, 0 otherwise.
bool PauseTimerWhileFiring= 1 if timer is paused during firing, 0 otherwise.
bool TurnEndFinishesGame= 1 if ending your turn finishes the mission.
bool LossOfControlDoesntEndTurn= 1 if losing control doesn't cause the turn to end, 0 otherwise.
bool Score= 1 if score displayed ingame; 0 otherwise.
bool Sheep= Enables the "All crates contain sheep" cheat. When exploded, crates will throw out a sheep regardless of the crate contents.

4. The [Enviroment] Group

Type Parameter String Description
string LandFile= Seems to always be data\land.dat
int Wind= Maximum wind out of 100. If -1, fixed wind is enabled.
int FixedWind= If Wind = -1, this is a value between -100 and 100 representing the fixed wind, with -100 being full left and 100 being full right.
int Friction= The opposite of friction. Default is 96. WWP mission editor values: ice = 99, mud = 98, stone = 96, rubber = 50, glue = 1. Maybe above 100 is anti-friction?
bool IndestructableBorder= [sic]. 1 if indestructible border around whole level, 0 if not.
bool IndestructableLandscape= [sic]. 1 if indestructible landscape, 0 if not.
int LogicRandomSeed= The starting random seed. 12345 is used for most WA missions; 0 for WWP custom missions. Doesn't really matter.
bool AlliedGroupToGoFirst= Which allied group is first to have a turn.
int Sound= Track number on disc of ambient audio track to play during mission. Values out of range (of 1-11) appear to choose random BGM.

5. The [Teams] Group

Type Parameter String Description
int TeamsInMission= Simply, the number of teams in the mission.

6. The [HumanTeam] Group

Type Parameter String Description
int NumberOfWorms= Simply the number of worms on the team.
int Ammo_WeaponString= The ammo of the given weapon. -1 is infinite.
int Delay_WeaponString= The delay of the given weapon in turns. 0 or not present for no delay.
int Worm#_Energy= Energy of the worm in health points. -1 for "very high health that can't be displayed properly" (quote from WWP mission editor).
int Worm#_DeseasePoints= Number of disease [sic] points for worm. 0 for healthy worm.
bool Worm#_ArtileryMode= 1 for artillery [sic, yet again] mode for worm, 0 for worm can move.
bool Worm#_PlaceWorm= 1 if placed as per the options below, 0 if "randomly" placed (obviously based on the same seed each game so not random at all).
int Worm#_XPosition= X position of the worm.
int Worm#_YPosition= Y position of the worm.
bool Worm#_Vital= 1 for vital worm; 0 for not. Appears to have no effect for the human team, but some missions have it anyway. That's probably the source of the "killing your worm as well wins the mission" bug in some versions of mission 14 - this option was expected to work when it didn't.

7. The [CPUTeam#] Group

Type Parameter String Description
int TeamNameNumber= The index of the team name. TODO: List these.
int TeamSkill= CPU skill. WWP mission editor has this from 50 to 185 in steps of 15, but in the default WA missions it appears to be different with very few having even 100. Investigation required.
int NumberOfWorms= Simply the number of worms on the team.
int SoundBank= Soundbank ID of the team. Usually seems to be 1. Might not be used.
int Flag= Flag ID of the team. Usually seems to be 1. Probably not used, as all CPU teams seem to have flag 1 regardless of skill.
int GraveStone= Grave ID of the team. Usually seems to be 1.
int AlliedGroup= Allied group of the team. 0 is red, 1 is blue, etc.
bool MissionVital= 1 if team is vital to a mission. When applied to a team allied to the humans, you lose if they are killed. When allied to the CPU, you win if they are killed. Vital teams don't get turns.
int Ammo_WeaponString= The ammo of the given weapon. -1 is infinite.
int Delay_WeaponString= The delay of the given weapon in turns. 0 or not present for no delay.
int Worm#_Energy= Energy of the worm in health points. -1 for "very high health that can't be displayed properly" (quote from WWP mission editor).
int Worm#_DeseasePoints= Number of disease [sic] points for worm. 0 for healthy worm.
bool Worm#_ArtileryMode= 1 for artillery [sic, yet again] mode for worm, 0 for worm can move.
bool Worm#_PlaceWorm= 1 if placed as per the options below, 0 if "randomly" placed (obviously based on the same seed each game so not random at all).
int Worm#_XPosition= X position of the worm.
int Worm#_YPosition= Y position of the worm.
int Worm#_NameNumber= The index of the worm name. TODO: List these.
int Worm#_FixedWeapon= The weapon ID of the fixed weapon. 0 for normal free CPU choice.
int Worm#_ActionRadius= The distance away from itself the CPU takes into account.
bool Worm#_Vital= 1 if the worm is vital to the mission, 0 otherwise. If a vital worm is killed, all allied teams surrender. Might not work with allies to the human team.

8. The [Events] Group

Type Parameter String Description
int TotalNumberOfEvents= Supposed to be the total number of events, but actually wrong in some of the few missions it even appears in, so probably ignored.

9. The [Event####] Group

Type Parameter String Description
int TypeOfEvent= 10=display morse code message
int Turn= Will cause this event to activate before the nth turn.
int Retries= Causes the event to activate if the number of attempts is equal to or higher than this number. Allows additional events to occur in silver and bronze medal missions (bronze = 1, silver = 4).
int Text_String_Index=
bool EventEnd=
int PlaceWeapon_Bonus_Points=
int PlaceWeapon_Bonus_TurnExtension=
int PlaceWeapon_Bonus_RoundExtention=
int PlaceWeapon_XPosition=
int PlaceWeapon_YPosition=
int PlaceWeapon_OnGround=
int PlaceWeapon_Contents=
bool PlaceWeapon_Marked=
bool PlaceWeapon_Vital=
int PlaceWeapon_Ammo=
int PlaceHealth_Bonus_Points=
int PlaceHealth_Bonus_TurnExtention=
int PlaceHealth_Bonus_RoundExtention=
int PlaceHealth_XPosition=
int PlaceHealth_YPosition=
int PlaceHealth_OnGround=
int PlaceHealth_Health=
int PlaceTarget_XPosition=
int PlaceTarget_YPosition=
int PlaceTarget_OnGround=
int PlaceTarget_FallSpeed=
bool PlaceTarget_Marked=
int PlaceMine_XPosition=
int PlaceMine_YPosition=
int PlaceMine_OnGround=
int PlaceDrum_XPosition=
int PlaceDrum_YPosition=
int PlaceDrum_OnGround=

10. The [Sequence####] Group

Type Parameter String Description
int TypeOfEvent=
int Retries=
bool EventEnd=

Weapon Strings

The weapon settings in a mission may be configured individually for each team through use of the Ammo_ and Delay_ prefixes, followed by a weapon string and settings. For example, Ammo_Batrope=-1 would set a team's ninja rope supply to infinite, and Delay_Bazooka=2 would apply a 2 turn bazooka delay.

The following is a list of weapon strings. You always have an infinite supply of Skip go and Surrender, so supplying ammo is unnecessary. It is currently unknown if it is possible to add Aqua Sheep directly to the inventory (but they can be provided in weapon crates, which is the method used in the official missions).

Hot Key Column #1 Column #2 Column #3 Column #4 Column #5
Util. JetPack LowGravity FastWalk LaserSight
F1 Bazooka HomingMissile Mortar HomingPigeon SheepLauncher
F2 Grenade ClusterBomb BananaBomb Axe Earthquake
F3 Shotgun Handgun Uzi Minigun Longbow
F4 FirePunch DragonBall Kamikaze SuicideBomber Prod
F5 Dynamite Mine Sheep SuperSheep MoleBomb
F6 AirStrike NapalmStrike PostalStrike MineStrike MoleSquadron
F7 BlowTorch PneumaticDrill Girder BaseballBat BridgeKit
F8 Batrope Bungee Parachute Teleport Scales
F9 SuperBananaBomb HolyHandGrenade FlameThrower SallyArmy MBBomb
F10 PetrolBomb Skunk MingVase SheepStrike CarpetBomb
F11 MadCow OldWoman Donkey NuclearBomb Armageddon
F12 SelectWorm Freeze MagicBullet

You can also add the instant effect utilities to your inventory with the following weapon strings, which will correctly take effect for the opening turn only, regardless of how many ammo you give. The exception is Crate Spy, which will last for the entire mission, as expected.

  • Damagex2
  • CrateSpy
  • DoubleTime
  • CrateShower

Text_String_Index

The transition messages you get during missions are hardcoded into the game and are referred to via a number. The following table summarises which numbers refer to which messages (in English).

Notes:

  • There is a typo in-game for messages number 22 and 42, they contain a carriage return arrow at the end.
  • Strings 120 - 130 are the names of the CPU teams usable in missions.
  • There may be other non-empty strings beyond 130, but they are unlikely to be useful for the purpose of being used during a mission.
ID Message
0 Weapons drop!
1 Supplies imminent.
2 Secure the drop zones!
3 Delivery successful, over and out.
4 The iron eagle is on the way, over.
5 Package delivered, over and out.
6 That's it we're clean out, you're on your own!
7 The crates are your only hope...
8 Enemy air transport en route.
9 Enemy transport closing.
10 Almost here!
11 It's arrived, now get the crate and get the hell out!
12 No ammo? Try this for size!
13 Mind your head!
14 A first class delivery!
15 Weapons drop successful!
16 Don't let this equipment fall into the wrong hands...
17 Express Delivery!
18 Death by mail order.
19 A little bit of healing goes a long way...
20 Something to perk you up, sir.
21 A blessed relief.
22 Some timely assistance?↵
23 Medical supplies dispatched.
24 Another helping hand.
25 A little assistance for you.
26 Every little bit helps.
27 A little light relief.
28 Anybody require medical assistance?
29 Is this your blood group?
30 Live damn you, Live!
31 Medic!
32 Nuke en-route.
33 Time is against us sir, we need to deal with this quickly!
34 Smoke'em out if you can...
35 Meteor strike imminent, dig in!
36 It's on its way, ETA 5 minutes!
37 Time is short, get a move on!
38 Tactical nuclear missile launch detected.
39 Warning! Strike imminent!
40 A tremor has been detected at the north end of the island!
41 Global warming! Watch the water level!
42 Try not to get wet!↵
43 Hurry, don't let them dig in!
44 The General is escaping!
45 Radiation will be the death of you!
46 Reach for the skies!
47 Climb a mountain not a molehill.
48 Keep away from the edge, earthquake imminent!
49 Where's Noah when you need him?
50 It's time to build those shelters.
51 Hope you've got protection.
52 WARNING! Seismic activity, 7.2 on the Richter scale!
53 What happened to the five minute warning?
54 Global extermination!
55 WARNING! Destabilising fault-line...
56 Caution, tectonic movement!
57 The end of the world is nigh!
58 Judgement Day.
59 Enemy forces mobilising!
60 Strike imminent!
61 Next turn the enemy gets serious.
62 The enemy is armed to the teeth!
63 They've seen you, RUN!
64 Enemy weapons embargo has been lifted.
65 There may be trouble ahead...
66 This conflict is escalating.
67 Ride those thermals, trooper!
68 War is hell.
69 Better dig deep...
70 There IS honour in death.
71 Use the darkside!
72 Secure the area!
73 Dig down and dig deep.
74 That fruits just about ripe and for the picking.
75 Remember to get the crates to add armoury.
76 A utility would be useful...
77 You could do with some 1st aid.
78 You'll need to use the rope...
79 Think about using some girders as cover.
80 You need to draw fire.
81 Remember that you can drop items while on a rope!
82 Learn to use the repeat swing of the rope!
83 Learn all the jumping techniques.
84 A back jump gets you up even higher.
85 Make a note of the enemy units and their skills.
86 Act quickly, think sooner.
87 Skunks can reach places that other weapons cannot reach!
88 Guns can be strafed up and down when fired.
89 Crates can sometimes offer a solution to a mission.
90 Girders can still be placed even whilst swinging on your rope.
91 Need a leg up? Try an arrow or two...
92 A girder could be your last line of defence...
93 Animals and old women can go shopping you know...
94 Parachutes don't slow your fall but can be controlled...
95 A parachute! Ride those thermals, trooper!
96 Crates and explosions don't mix.
97 Air strikes are more effective from the correct direction!
98 Moles love to dig down and they tend to explode too.
99 A well-placed stick of dynamite will dislodge any stubborn Worm.
100 Wind can have an effect on fire, be careful not to stand downwind
101 Measure the wind and send a bazooka curling!
102 Extra Worms make great decoys.
103 Roll out the barrels, they can be deadly too...
104 This crate could be vital!
105 Girders can help grenades reach their targets...
106 Aqua Sheep by name, aquatic by nature.
107 Come on soldier, get a move on!
108 You'd better hurry, there's not much time left!
109 Quick! The water is rising!
110 Here's something to help this time.
111 If you're having trouble, use this.
112 We thought you would appreciate this!
113 Looks like you need help, rookie.
114 This will come in handy...
115 You need help...
116 Try this.
117 (empty string)
118 (empty string)
119 (empty string)
120 Cannon Fodder
121 Commandos
122 Elite
123 Enemy
124 Guardsmen
125 Gunners
126 Officers
127 Patrol
128 Platoon
129 Resistance
130 Special Forces

PlaceWeapon_Contents

When placing a weapon or utility crate you need to refer to its contents by a number rather than a name. The following list indicates which number refers to which crate contents:

ID Contents
0 None (This is a specially defined "empty" crate)
1 Bazooka
2 Homing Missile
3 Mortar
4 Homing Pigeon
5 Sheep Launcher
6 Grenade
7 Cluster Bomb
8 Banana Bomb
9 Mole Bomb
10 Shotgun
11 Handgun
12 Uzi
13 Minigun
14 Longbow
15 Fire Punch
16 Dragonball
17 Kamikaze
18 Prod
19 Battle Axe
20 Dynamite
21 Mine
22 Sheep
23 Super Sheep
24 Aqua Sheep
25 Earth Quake
26 Air Strike
27 Napalm Strike
28 Mail Strike
29 Mine Strike
30 Armageddon
31 Blow torch
32 Pneumatic Drill
33 Girder
34 Baseball Bat
35 Girder Starter-Pack
36 Ninja Rope
37 Bungee
38 Parachute
39 Teleport
40 Scales of Justice
41 Super Banana Bomb
42 Holy Hand-Grenade
43 Salvation Army
44 MB Bomb
45 Flamethrower
46 Petrol Bomb
47 Skunk
48 Priceless Ming Vase
49 French Sheep Strike
50 Mike's Carpet Bomb
51 Mad cow
52 Old woman
53 Mole Squadron
54 Concrete Donkey
55 Indian nuclear Test
56 Select worm
57 Freeze
58 Patsy's Magic Bullet
59 Fast Walk
60 Laser sight
61 Double Damage
62 Invisibility (Usable even in single player!)
63 Low Gravity
64 Crashes the game with a fatal error
65 Suicide Bomber
66 Jetpack
67 Double Turn Time
68 Crate Shower
69 Crashes the game with a fatal error
70 (null)
71 Crashes the game with a fatal error
72 and beyond (null)

TODO: Write an introduction, add information about each group, finish lists, add descriptions to lists, add information about values, and maybe organize the lists better.

See also

Personal tools