MissionsFormat.pdf

(97 KB) Pobierz
MISSION RECORDS
03/17/08 3:58:30 PM
Enum Type Definitions:
ALL INDEXES ARE 0 (zero) BASED.
GermanPorts (RANDOMPICK, Dakar, Kiel, Lorient, London, Scapa Flow, Liverpool, Brest, Le Havre, Bordeaux, Plymouth,
Hamburg, Bremen, Belem, Funchal) –NOT USED
LeaguePorts (RANDOMPICK, Gibraltar, Porvo, Goose Bay, Halifax, St. Johns, Cadiz) –NOT USED
USPorts (RANDOMPICK, Reykjavik, New York, Boston, Charleston, Miami, San Juan, Monrovia, Casablanca, Havana) –NOT
USED
Weather (‘RANDOM’, 'CALM SEAS', 'RUNNING SEAS', 'CHOPPY SEAS', 'ROLLING SEAS', 'ROUGH SEAS', 'HEAVY SEAS',
'STORMY SEAS')
Vehicle_Type ('ENIGMA_BOAT','ENIGMA_PLANE')
Plane_Type ('ENIGMA_BOMBER','ENIGMA_FIGHTER')
Boat_Type ('ENIGMA_SUBMARINE', 'ENIGMA_SUB_HUNTER', 'ENIGMA_MERCHANT', 'ENIGMA_CORVETTE', 'ENIGMA_
DESTROYER’, 'ENIGMA_TANKER', 'ENIGMA_DE', ‘ENIGMA_OILER’, ‘ENIGMA_BATTLESHIP’)
VehicleClass (‘TypeVII, TypeIX, TypeVIIMilchCow) (Non IGN are all index #0)
shipVariant ('A','B','C')
EnigmaFaction ('GENERIC','AMERICAN','GERMAN','PAL')
FriendOrFoe (Friend, Enemy)
AmmoType ('AMMO_TORPEDOS', 'AMMO_IRONBOMBS', 'AMMO_DEPTHCHARGES', 'AMMO_HEDGEHOGS', 'AMMO_MINES',
'AMMO_DECKGUN_3IN', 'AMMO_DECKGUN_4IN', 'AMMO_DECKGUN_5IN', 'AMMO_AAGUN_20MM', 'AMMO_AAGUN_40MM',
'AMMO_AAGUN_50CAL',’AMMO_DECKGUN_15IN’)
RangeType ('TACTICALGROUP','COMBATLINE',’COORDINATES’)
Orders ('PROTECT','DESTROY','CAPTURE','DOCK','ESCORT','DISABLE','RESCUE','RENDEZVOUS'.’LOCATION’,’HOLD’)
MessageType ('INFORMATION','WARNING','FAILURE','SUCCESS')
ObjectiveRatioTarget ('Health','GroupCount',Coordinates) - THIS IS FOR COMPLETION OF OBJECTIVE PERCENTAGE
ObjectiveActionType (TaskGroup,Objective)
DestinationType (‘TaskGroup’, ‘Location’)
Line Formats: All fields are Tab delimited, compound fields are delimited with periods ( “. “)
M
-
Mission Header
M
Mission Header Line
Mission_ID
integer
Mission_Name
string
Points
integer
Time_Of_Day
military format: 0600
Weather Conditions
integer
Faction1_Homeport
integer
Faction2_Homeport
integer
Faction3_Homeport
integer
MessageCount
integer
UseMessageTimer
boolean (only applies to faction 0, Mtype of 0)
TimerInterval
integer (seconds)
Longitude
string (LONGITUDE.HOURS.MINUTES)
Lattitude
string (LATTITUDE.HOURS.MINUTES)
MM
-
Mission Message
MM
Mission Message Line
FactionID
integer
MessageType
integer
Plain Text
string ( line feed is end of message).
T
-
Task Group (1 or more ships combined for timelining).
T.TaskGroup_ID integer
T.Task_Group_Description string
T.Friend_Or_Foe boolean(0:1), 0 = friendly
T.Faction integer index of Faction
T.MessageCount integer
T.ShipCount integer
T.DestinationType integer index of DestinationType
T.DestinationData variant: DT.0 =TaskGroupID, DT.1=Heading.distance
TM
-
Task Group Message
Message Faction ID integer
Message Type ID integer
Message string
TS
-
Task Group Member (ship). Has to be at least 1 ship
TS.EnigmaVehicle integer index of VehicleType
TS.EnigmaBoat/Plane_Type integer index of BoatType or PlaneType
TS.VehicleClass integer index of VehicleClass
TS.Variant integer index of shipVariant
TS.AmmoLoad dot delimited integers index of AmmoType
TS.Health integer - as percentage
TS.Speed integer - as percentage
TS.Fuel integer - as percentage
TS.Altitude integer - as percentage sea level to ceiling
TS.Depth integer - depth in meters
TS.Battery integer - as percentage
TS.AirQuality integer - as percentage
O
-
Objective Group
O.ObjectiveID integer
O.ObjectiveDescription string
O.Orders integer index of Orders
O.MessageCount integer
O.ObjectiveMemberCount integer
O.ObjectiveActionCount integer
O.ObjectiveBonus integer 0 to 99999
OA
-
Objective Actions - Variant record targeting TaskGroup or Objective
OA.ObjectiveActionType integer index of ObjectiveActionType
0:
OA.TargetGroup integer - target TaskGroup ID
OA.FriendOrFoe integer index of FriendOrFoe
OA.Ammo dot delimited integers index of AmmoType
OA.Health integer - as percentage
OA.Fuel integer - as percentage
OA.Battery integer - as percentage
OA.Air integer - as percentage
1:
OA.TargetObjective integer - target Objective
OA.NewOrders integer index of Orders
OA.Timer integer - time in seconds
OA.TaskGroup integer target TaskGroupID (if Self sets waypoint to go to).
OA.HeadingRange dot delimited integers of heading and range; 180.2000
OM
-
Objective Group Message - need a set of types ( 0,1,2,3 ) for each obj member when orders=8
Message Faction ID integer
Message Type ID integer
Message string(255)
OS
-
Objective Group Member (Task Group)
OS.TargetGroup integer - Tactical Group ID #
OS.Timelimit integer - Objective duration in seconds
OS.RatioTarget integer - index into ObjectiveRatioTarget
OS.Ratio integer - percentage of objective for objective ratio target
must be accomplished/remain for success.
IF RATIO TARGET is 2 (coordinates) then Ratio is
HEADING.DISTANCE
OS.SpecialShip integer - (0= no, 1=yes) turns ship YELLOW.
V
-
Victory Conditions
V.MessageCount integer
V.ObjectiveCount integer - How many Objectives for victory
VM
-
Victory Messages (at least the #2 - defeat and #3 - victory for the status screen)
Message Faction ID integer
Message Type ID integer
Message string
VS
-
Victory Group Member ( Objective Group )
VS.OBjectiveID integer - ObjectiveGroup ID #
VS.CompletionPct integer - as percentage required for victory (unused)
L
-
Lineup (Timeline of scenario by Task Group)
L.LineupItemCount integer
LS
-
Lineup Item (Task Group - in order - Player must be first)
LS.TacticalGroupID integer - TacticalGroup ID #
LS.RangeTarget integer - TacticalGroupID #
LS.RangeType integer - index of RangeType
LS.ETA integer - seconds till arrival at RangetTarget(Type)
LS.IncomingDirection Char[3] - Nautical Direction (N,S,E,W, NW…).
Specifying a 3 digit direction reduces range
of direction from ¼ to 1/8 (NNW- N to NW)
LS.Heading integer - in decrees 0 – 359
D
-
Mission Description
This is at the very end of the mission record, each line begins with a ‘D’
EXAMPLES
Be sure to follow the proper layout template. Note: message lines belonging to non-player taskgroups
will fire when they are within detection range.
TASKGROUPS
A taskgroup is the main component of the mission layout. Each taskforce has a header and a player (ship) line. The Messages and
Orders are optional. The #1 taskgroup is always the player. The player’s taskgroup should never have any ship but the players in
it.
Here is a sample Taskgroup: (task group member line is continued on the next line – broken at the ammo string to fit)
T
1
Player Corvette
0
0
4
1
0
TM
0
0
FIRST OFFICER: Respectfully suggest we not wander too far from the convoy, sir.
TM
0
1
CHIEF ENGINEER: We are taking serious damage, sir!
TM
0
2
FIRST OFFICER: We've lost an ally, sir.
TM
0
3
FIRE CONTROL CHIEF: Got one!
TS
0
3
0
1
0.0.40.240.0.1000.800.600.1500.1000.2000.0
100
0
100
0
0
0
0
Here is the Task Group Header:
T
1
Player Corvette
0
0
4
1
0
Task Group Header Template (T)
T
Task Group Line
TaskGroup_ID
integer
Task_Group_Description
string
Friend_Or_Foe
boolean(0:1), 0 = friendly
Faction
integer index of Faction
MessageCount
integer
ShipCount
integer
Number of Orders (TO)
integer
Here are the Task Group Messages:
TM
0
0
FIRST OFFICER: Respectfully suggest we not wander too far from the convoy, sir.
TM
0
1
CHIEF ENGINEER: We are taking serious damage, sir!
TM
0
2
FIRST OFFICER: We've lost an ally, sir.
TM
0
3
FIRE CONTROL CHIEF: Got one!
Task Group Message Template (TM)
TM
Task Group Message Line
Message Faction ID
integer
Message Type ID
integer
Message
string
Here is the Task Group Member:
TS
0
3
0
1
0.0.40.240.0.1000.800.600.1500.1000.2000.0
100
0
100
0
0
0
0
Task Group Member (ship) Template -must be at least 1 ship (TS):
TS
Task Group Member Line
EnigmaVehicle
integer index of VehicleType
EnigmaBoat/Plane_Type
integer index of BoatType or PlaneType
VehicleClass
integer index of VehicleClass
Variant
integer index of shipVariant
AmmoLoad
dot delimited integers index of AmmoType
Health
integer - as percentage
Speed
integer - as percentage
Fuel
integer - as percentage
Altitude
integer - as percentage sea level to ceiling
Depth
integer - depth in meters
Battery
integer - as percentage
AirQuality
integer - as percentage
Using Task Group Orders
Task Group Order Template (TO)
TO
Task Group Order Line
Order Type
integer index of Orders
Order Timer
in seconds
DestinationType
integer index of DestinationType
DestinationData
variant: DT.0 =TaskGroupID, DT.1=Heading.distance
Trigger Objective Action
0 = none, >0 = objective Item ID
Task group orders can be used to set up complex triggered events. Every task group can have up to 40 task group orders. The
most common use for a Task Group order is to assign a travel path for a convoy. For example, this set of 3 orders generates
waypoints for the Taskforce to hit:
TO
8
0
1
225.2000 0
TO
8
0
1
315.2000 0
TO
8
0
1
225.2000 0
TO = Task Group Orders
8 = Location (from the ORDERS array)
0 = Order Timer of 0, means the order holds until accomplished
1 = Destination Type of “Heading.Distance”
225.2000 = destination of 225 degrees on the compass, out to 2000 meters from the present position.
0 = No Objective Trigger
This is effectively a command to execute 3 legs each of a 3 minute 90 degree zigzag leg.
Here is an example assigning a ship to destroy something within a certain period of time and then switch to another target when
either the task is accomplished or the timer has expired:
“Orders are to DESTROY (1), within 300 seconds (5 minutes), task group 11, then move on to task group 12. You have 10 minutes
to destroy it.”
TO
1
300
0
11
0
TO
1
600
0
12
0
Here is an example from “Last Voyage Of The Black Cat”:
TO
9
600
1
0.0
0
TO
8
10000
1
0.50000 1
“Stay where you are, hold for 10 minutes, then head for 50000 meters due north of you, you have 10000 seconds to get there.”
(The 1 indicates TRIGGER Objective Action from objective 1)
Here is the Objective Action from Objective Group #1 that goes with it.
OA
1
1
1
10000
2
0.0
Action Type OBJECTIVE (1) , Target Objective ID (1), new ORDERS (1), Timer (10000), Target (1), Heading.Range (0.0)
Zgłoś jeśli naruszono regulamin