Author Topic: How to Create an Arena Mission  (Read 7454 times)

Offline Joseph Hewitt

  • Administrator
  • Hero Member
  • *****
  • Posts: 2521
    • View Profile
    • http://www.gearheadrpg.com
How to Create an Arena Mission
« on: January 09, 2007, 10:57:52 PM »
If you'd like to try modding for GearHead-2, arena missions would be a good place to start. First off they're pretty simple to create and to understand. Second, the game needs a whole lot more of them.

Go to the series directory and take a look at the ARENAMISSION_*.txt files; that's where the missions are stored. You can create a new file with a filename like ARENAMISSION_foo.txt and store your missions there; it will be automatically located and loaded by the game as needed.

The arenamission itself contains the following information:
- A description of the scene where the mission will take place
- The contents of the scene where the mission will take place
- The name, description, and pay rate for the mission
- Elements needed by the mission. These elements are the same as the elements used by plots.
- A description of what arena units can be given this mission

BASIC INFORMATION
==============
Start a new arenamission by entering the line "ArenaMission" into your file. First fill out the basic information. The mission must have a name, desc, and requires string attributes.

The name is the name of the mission. The desc is the text shown when browsing the missions in the ArenaHQ. It's usually a good idea to have both of these before doing anything else, just so that you know what you're doing.

The requires SAtt tells what kind of arena units will be given this mission. It holds the faction type (Military, Corporate, Police, or Criminal), the designation of the faction (a five letter code telling exactly what faction this unit belongs to; SILKN=Silver Knights, L5LAW= L5 Law), and the rank code of the unit (!Ne, !Lo, !Md, !Hi, !Ex in ascending order). The rank code can be used to limit missions to certain difficulcy levels.

The requires string uses the same format as in the core story; basically all the tags present must be found in the unit's context or the mission is rejected. If a tag is preceded by "-" it must not be present in the unit's context. A group of tags can be surrounded by ( ) and separated by | to create an or-list; at least one of the tags in the list must be present. See the xxranplotgen.txt doc for more information.

You can also set the payrate; basic payrate is 400%. You can make it higher or lower at your whim. If the payrate is undefined, it will be 400%.


MAP TYPE
======
Next you can define what kind of map this battle will take place on. The easiest thing to do is find another mission that uses a map you like, and copy the data from there. You may see things like "WildMap" or "CaveMap" or "SpaceMap SpaceScroll MicroGravity Vacuum".


ELEMENTS
=======
Like a plot, an arena mission can request elements. There are really only two kinds of elements to worry about: Factions and Prefabs. A faction is, as it sounds, a faction. A Prefab is a premade component found in the inventory of the mission; typically this is how you will define NPCs for a mission, since if you just stick them there without declaring them as elements they won't be given persona IDs.

See the "element search.txt" doc for some cryptic details of how element searches work.


MAP SCRIPTS
=========
Next come the map scripts. When the map is first visited (or when the player returns after reloading a saved game), the START script is executed. Usually at the start I print an introductory message or cause an NPC to address the party; see the actual missions for examples.

Two other important script lines are "NU1" and "NU2". No, I am not being dirty in French... these scripts are executed every time the number of master gears (characters, mecha, or props) on Team 1 and Team 2 change. You can define additional teams, in which case you can define additional scripts (as NU[team number]).


MAP SUBCOMS
==========
Next come the subcoms of the mission. There are two main things to place here- teams and personas. A team defines a team. You can give it a name if you want. The most important thing is to define its enemies and allies, which can be done with the SetEnemy and SetAlly commands.

For the enemy team, it's also important to give them some mecha! This can be done with the following script:
Deploy <SetSelfFaction M1   WMecha 2 Threat ArenaRenown 400>
This will set the team's faction to M1 (which means Mission Element 1; if you don't want to give them a faction or want to set it to something other than element 1 you can change this). WMecha adds some mecha to the scene, on team 2; the number of mecha added is determined by the Threat function, which takes as its parameters the arena unit's renown score and a percentage (in this case, 400%).

You can also set starting locations for the teams with the commands ParaX and ParaY.  All mecha on these teams will start out close to the location you provide.

Team 1 is always the player team.


MAP INVCOMS
=========
Here you place physical things that will appear on the map. Characters should be declared as prefab elements in order to give them a character ID. If you assign a negative faction to a character (say, -n), when initialized they will be given element Abs(N) as their faction. So, set a character's faction to -1 to assign it to the faction picked for element 1.


ENDING THE MISSION
==============
Somewhere in your scripts you need the commands WinArenaMission and LoseArenaMission. These commands will end the mission in either a win or a loss. You may want to pair WinArenaMission with Salvage if you want this mission to give salvage.


That's about it. Post some ideas for missions, and I'll discuss how they could be modeled in this system.

Offline Anticheese

  • Hero Member
  • *****
  • Posts: 651
    • View Profile
How to Create an Arena Mission
« Reply #1 on: January 09, 2007, 11:06:02 PM »
I'm going to make this one a sticky. I'll try my hand at making a mission later.

Offline palefire

  • Full Member
  • ***
  • Posts: 187
    • View Profile
How to Create an Arena Mission
« Reply #2 on: January 10, 2007, 07:28:11 AM »
Quoting: Joseph Hewitt
Post some ideas for missions, and I'll discuss how they could be modeled in this system.

Is it possible to set up several objectives for one mission?

E.G. criminal mission: the heist--armed mecha robbery

You are going to rob the cache of a faction.
You have to complete several objectives in sequence in this mission... come to think of it... it's like the turtorial of GH1.....

1.First, you have to go into enemy base and drop down your partners.
2.Then. Your partners set up a jammer.
3.Enemy Jammer-jammers will come to destroy it.
    3.1. Waves of enemy reinforcement begin to arrive if the jammer is destroyed, each stronger than before.
4.After some time, your partners have succeed in robbing the base.
5.You pick them up and flee.
6.You share the booty.
    or 6.1. You fight them for the full share. The underworld learns your betrayal.
    or 6.2. You turn them in, you are actually working undercover, but you have to turn in the booty too.
    or 6.3. You robbed something important, etc.

Is it possible to make destroying specific component of a mech the objective?

corporate mission -- Null Number System
A new experimental mech has driven its pilot mad.  Fortunately it doesn't have much fuel left, but you have to destroy its wings before it reaches the nearest habitation and do something crazy.

Offline SharkD

  • Hero Member
  • *****
  • Posts: 961
    • View Profile
    • Isometricland
How to Create an Arena Mission
« Reply #3 on: January 10, 2007, 07:57:34 AM »
I've added this article to the wiki.

Offline Joseph Hewitt

  • Administrator
  • Hero Member
  • *****
  • Posts: 2521
    • View Profile
    • http://www.gearheadrpg.com
How to Create an Arena Mission
« Reply #4 on: January 10, 2007, 08:34:32 AM »
Quoting: palefire
Is it possible to set up several objectives for one mission?

Yes, it is possible to do that. The only thing is that the mission should end with one of either WinArenaMission or LoseArenaMission; I should add a command to alter the pay rate during the mission, so the unit can be penalized for failing in some objectives without losing the whole thing.

The mission you suggest here sounds like a "Jail Break" mission I have planned for criminal factions. In my plan, the jail would be set up as a building. One PC would have to enter the building and be removed from the map while looking for the prisoner they came to extract. While this PC is missing, the other PCs would have to fight off the guards. There wouldn't be a set number of guards; they keep coming in waves. Eventually the PC in the jail would get out with the prisoner and join the battle. The combined party would then have to escape with the prisoner unharmed.

This could be done now if only the leader of the unit were allowed to enter the jail; I'd like to make some changes to the scripting language so the first PC to reach the jail is the one who goes inside.

Quoting: palefire
Is it possible to make destroying specific component of a mech the objective?

Not at the moment, no.

Offline SharkD

  • Hero Member
  • *****
  • Posts: 961
    • View Profile
    • Isometricland
How to Create an Arena Mission
« Reply #5 on: January 10, 2007, 08:59:39 AM »
Quoting: Joseph Hewitt
There wouldn't be a set number of guards; they keep coming in waves.

Arggg. Please don't do this!

Offline palefire

  • Full Member
  • ***
  • Posts: 187
    • View Profile
How to Create an Arena Mission
« Reply #6 on: January 10, 2007, 09:29:37 AM »
How about these:

*Three-sided battle
-one faction trying to run away with something--two other factions want to get it.
I thought setting up 3 teams and set each other as enemy would do the trick, but....
3 problems so far

1.How do I make sure that element2 is an enemy of element1? !E [E1]? How to use that.. and if the faction doesn't have two enemies that are enemies of each other... can we set up a mock faction instead (i.e. an independent group of victims)

2.How to change the behavior of a team? I think this is something akin to courier and trucker job in GH1.

3.Winning condition.. the nu thingy is so confusing


*Massive Mega Mecha-eater Monster Menace
-A big mechanical monster that gets stronger each time it "eats" a machine.... and it's in the junkyard/city/traffic!

I think making a scale 2 monster (like typhoon) that gets healed and stats increased everytime its killing counter increases might do the trick, but that's not what I want....

Speaking of big, can we have scale 3 mechs.... in the likeness of big zam.. psycho gundam... GP03D... etc.

*Heroes of No Tomorrow Never Cry
-in a fight against an almost impossibly strong enemy, an ally comes in, say something heroic, and sacrifices himself melodramatically.
"Somebody set us up the bomb!"
"All your bases are belonging to me! Muhahaha!"
"For Great Justice!"
"No!!!!!!!!"
"%pc%, take care of my cute and helpless orphans........ urgh... I die..."

Offline Joseph Hewitt

  • Administrator
  • Hero Member
  • *****
  • Posts: 2521
    • View Profile
    • http://www.gearheadrpg.com
How to Create an Arena Mission
« Reply #7 on: January 11, 2007, 03:12:35 AM »
Quoting: palefire
Three-sided battle

The easiest thing to do is to make two other teams, and make everyone an enemy of everyone else, like this:

Team 1
SetEnemy 2 3

Team 2
SetEnemy 1 3

Team 3
SetEnemy 1 2


1.How do I make sure that element2 is an enemy of element1? !E [E1]? How to use that.. and if the faction doesn't have two enemies that are enemies of each other... can we set up a mock faction instead (i.e. an independent group of victims)

You don't need to assign a faction to the teams, but it would probably make things more interesting. You can do this with two elements, as follows:

Element1 <Faction Military>
Element2 <Faction Military !Enemy 1>


Then, in the Deploy script, set one team to M1 and one team to M2.

2.How to change the behavior of a team? I think this is something akin to courier and trucker job in GH1.

There are script commands to do that: TeamAttack, TeamAlly, and TeamNeutral will set the requested team to an enemy, ally, or neutral to the player team. IfTeamHostile and IfTeamNotHostile can be used to find if a team is hostile or not.

3.Winning condition.. the nu thingy is so confusing

Every time a master gear is added to a team or one gets removed from combat, a NU[team] trigger is generated. This triggers the script with that label. The script calls the number of units function, T[team], to check how many operational master gears (mecha, characters, or props) there are on the team. If the number drops to 0, that means there's no one left on that team.

Quoting: palefire
I think making a scale 2 monster (like typhoon) that gets healed and stats increased everytime its killing counter increases might do the trick, but that's not what I want...

I think you could also do something where the monster gets deleted and replaced with a bigger/different monster each time an opponent gets killed, but that would require a lot more work. I can't remember if all the script commands needed for this are in place yet or not.

Quoting: palefire
Speaking of big, can we have scale 3 mechs...in the likeness of big zam.. psycho gundam... GP03D... etc.

Yes, but you need a SF:3 map for them to operate on. On the subject of big, though, I have a surprise new feature that I'll be posting about shortly... :)

Offline Varil

  • Full Member
  • ***
  • Posts: 157
    • View Profile
How to Create an Arena Mission
« Reply #8 on: January 11, 2007, 05:12:12 AM »
...maybe SF:3 battles could just be on the worldmap. I'm not entirely sure of scale, though. I just think it'd be kinda neat. ;)

Offline palefire

  • Full Member
  • ***
  • Posts: 187
    • View Profile
How to Create an Arena Mission
« Reply #9 on: January 11, 2007, 07:14:46 AM »
I put together the following mission, but there's something wrong with it.  
1. Sometimes I don't get salvages. I think this is because the fourth team isn't destroyed and solved it by making it my ally at the end of the mission.

2. Sometimes I fight my own faction. I guess I should make the elements like this to make it sensible:
Element1 <Faction Enemy>
Element2 <Faction Enemy !Enemy 1>
but the mission never shows up after I changed it to the above, I think this search criteria makes it impossible.

3. %name1% is not the correct syntex to use in Msg1<>, I also tried \E1 \Element1 \Element 1 as I saw them used in another file to no avail.  


ArenaMission
   name <Three-sided battle>
   requires <ArenaOK>
   desc <Mecha from %name1% and %name2% are locked in battle; it's good opportunity to eliminate them all.>

   MapWidth 50
   MapHeight 50

   PayRate 400

   AsteroidMap
   RockyTiles
   Vacuum

   Element1 <Faction Military>
   Element2 <Faction Military !Enemy 1>

   % L1 = Initialization Counter
   % L2 = Victory Counter
   Start <if= L1 0 Alert 1 L= 1 1>
   nu1 <if= T1 0 if= L2 0 L= 2 1 Alert 2 LoseArenaMission Print 2>
   nu2 <if= T2 0 if= T3 0 if= L2 0 Salvage Return XPV 100 L= 2 1 Alert 3 Teamally 4 WinArenaMission Print 3>
   nu3 <if= T3 0 if= T2 0 if= L2 0 Salvage Return XPV 100 L= 2 1 Alert 3 Teamally 4 WinArenaMission Print 3>

   Msg1 <Two groups of mecha are fighting over something. Investigate and secure the area. Eliminate both parties.>
   Msg2 <The mission is a failure. >
   Msg3 <The mission is a success. >

   sub
      Team 1
      SetEnemy 2 3
      ParaX 10
      ParaY 10

      Team 2
      SetEnemy 1 3
      Deploy <SetSelfFaction M1   WMecha 2 Threat ArenaRenown 800>
      ParaX 20
      ParaY 30

      Team 3
      setEnemy 1 2
      Deploy <SetSelfFaction M2   WMecha 3 Threat ArenaRenown 800>
      ParaX 30
      ParaY 20

      Team 4
      setEnemy 1
      ParaX 25
      ParaY 25
   end
      inv
      CombatProp 30
      SetTeam 4
      name <Unidentified Debris>
      sdl_sprite <prop_derelict.png>
      roguechar <&>
      Scale 2
                use <TeamNeutral 4 Print 4>
                msg4 <There isn't much left of .... whatever it was.>
      sub
         Turret
         name <Hidden Turret>
         size 8
         armor 8
         sub
            MLauncher 15
            name <Proximity Missile Trap>
            sub
            stc dcm-15
            end

         end
      end

   end

Offline Joseph Hewitt

  • Administrator
  • Hero Member
  • *****
  • Posts: 2521
    • View Profile
    • http://www.gearheadrpg.com
How to Create an Arena Mission
« Reply #10 on: January 14, 2007, 03:17:17 AM »
That's a good scenario, but how about if the player had to capture the downed battleship intact? The TeamAlly in the victory condition actually does nothing, as the debris gets deleted when the scenario ends. Maybe something else could be given if the battle ends with the debris intact.

Offline palefire

  • Full Member
  • ***
  • Posts: 187
    • View Profile
How to Create an Arena Mission
« Reply #11 on: January 14, 2007, 06:29:00 AM »
Apparently the arena units will gather up the weapons on the field whether if they have salvage rights or not as long as there isn't any hostiles left. (which is reasonable and convenient, otherwise players have to pick it up before the battle ends.  I am not sure if it would be better with a salvage screen.  I think it would be for RPG mode, but it would be pointless for Arena mode.)

But if there are hostiles left, they won't pick up the weapons automatically; if the winning team have salvage rights but don't have enough repair skill to retrieve the mechs, they get nothing.  This is not a problem usually because normally there shouldn't be any hostiles left on the map in the situation you are awarded salvage rights.  (Except that the salvaged mecha ended up empty handed, with all the weapons collected in the leading mech's inventory.)


ArenaMission
   name <A Waltz For Three>
   requires <ArenaOK>
   desc <Mecha from %name1% and %name2% are locked in battle on one of our asteroids. Find out why and eliminate them all.>

   MapWidth 50
   MapHeight 50

   PayRate 400

   AsteroidMap
   RockyTiles
   Vacuum

   Element1 <Faction Enemy>
   Element2 <Faction Crime>

   % L1 = Initialization Counter
   % L2 = Victory Counter
   % L3 = Investigation Counter
   
   Start <if= L1 0 Alert 1 L= 1 1>
   nu1 <if= T1 0 if= L2 0 L= 2 1 Alert 2 LoseArenaMission Print 2>
   nu2 <if= T2 0 if= T3 0 if= L2 0 L= 2 1 Return if= T4 0 else GoWinMission Goto GoDebrisLost>
   nu3 <if= T3 0 if= T2 0 if= L2 0 L= 2 1 Return if= T4 0 else GoWinMission Goto GoDebrisLost>

   GoWinMission <Salvage XPV 100 Alert 3 WinArenaMission Print 3>
   GoDebrisLost <Alert 4 WinArenaMission Print 4>

   Msg1 <They are fighting over a downed ship. Investigate and secure the area. Keep the ship intact if possible. Eliminate both parties.>
   Msg2 <The mission is a failure.>
   Msg3 <The mission is a success. Feel free to salvage anything, except the ship.>
   Msg4 <The derelict has been destroyed. Don't touch anything at the scene. We are dispatching professionals to collect the scattered debris.>

   sub
      Team 1
      SetEnemy 2 3
      ParaX 5
      ParaY 5

      Team 2
      SetEnemy 1 3
      Deploy <SetSelfFaction M1   WMecha 2 Threat ArenaRenown 800>
      ParaX 20
      ParaY 30

      Team 3
      setEnemy 1 2
      Deploy <SetSelfFaction M2   WMecha 3 Threat ArenaRenown 800>
      ParaX 30
      ParaY 20

      Team 4
      setEnemy 1
      ParaX 25
      ParaY 25
   end
      inv
      CombatProp 30
      SetTeam 4
      name <Unidentified Debris>
      sdl_sprite <prop_derelict.png>
      roguechar <&>
      use <TeamNeutral 4 Print 5>
      msg5 <You disabled the crude trap someone set on the debris.>
      Scale 2
      sub
         Turret
         name <Hidden Turret>
         size 8
         armor 8
         sub
            MLauncher 15
            name <Proximity Missile Trap>
            sub
            stc dcm-15
            end

         end
      end

   end

Offline Joseph Hewitt

  • Administrator
  • Hero Member
  • *****
  • Posts: 2521
    • View Profile
    • http://www.gearheadrpg.com
How to Create an Arena Mission
« Reply #12 on: January 14, 2007, 09:31:03 PM »
Quoting: palefire
Sometimes I don't get salvages. I think this is because the fourth team isn't destroyed and solved it by making it my ally at the end of the mission.

Ah, that explains it. Good job.

Quoting: palefire
Sometimes I fight my own faction. I guess I should make the elements like this to make it sensible:

Alternatively, you could limit this mission to non-military units. I think it could make a good mission for criminal or corporate types, then you could just have two enemy militaries without worrying about them being allies of the player's faction. I see in the second version you make one an enemy faction and the second a crime faction- that works too, unless the player's faction is also criminal. Of course pirates fighting other members of their same faction isn't all that bad.

One more thing: The missile trap is kind of big; maybe this mission should be constrained to upper difficulcy levels, or at least removed from the low difficulcy level.

I'd like to include this mission in the main archive, if that's okay with you.

Offline palefire

  • Full Member
  • ***
  • Posts: 187
    • View Profile
How to Create an Arena Mission
« Reply #13 on: January 14, 2007, 09:57:09 PM »
Quoting: Joseph Hewitt
I'd like to include this mission in the main archive, if that's okay with you.

Please feel free to change it anyway you like. I think if the mission description is ambiguous enough then it would be okay even if you fight your own faction. Of course, more could be implyed if your faction is one of the greedy faction. Alas, English is not my native language.

Right now I am curios about two mechanisms:
Reinforcement--Deploy?
Dialogue in the middle of combat--ForceChat?

I am thinking of a sceneraio in which an enemy refuses to die and come back stronger immediately, saying mean things.  At the third time, your ally(s) come in, say something heroic... and pushes the enemy into the sun...  so to speak.

"Ha Ha Ha! I am the Evil Mastermind! I misspell words and make silly comments on the net to make humanity stupid!"
"Grammar Police! This is for apostrophe! This is for Capitalization! This is for spellcheck! Delta Attack!"

Offline palefire

  • Full Member
  • ***
  • Posts: 187
    • View Profile
How to Create an Arena Mission
« Reply #14 on: January 15, 2007, 08:04:04 AM »
Yet Another Buggy Sceneario
0. The mission can be completed in four ways. Kill the mechs and then kill the turrets. Kill the turrets and then kill the mechs. Use the FCS and then Kill the mechs. Kill the mechs and then use the FCS. I don't know if there are other ways.

1. Apparently I don't know how to use the else command. So, at some point a message will show up multiple times. GoNewOrder. There is something wrong in the line GoCheckTurrets but I don't know what.

2. Obviously I have no idea how to place the units.  So, sometimes you start right next to the FCS.

3. What is a FCS? It is the abbreviation of a trademarked utility of a future company operating under physical laws unknown to pre-mech civilizations; the full name of the FCS is composed of words we have yet to invent. Why would they leave the FCS unguarded? They didn't; you distracted the guards. What is the FCS doing there in the first place? ugh... oops...

ArenaMission
   name <The Corridor>
   requires <ArenaOK>
   desc <Mecha from %name1% occupied a strategically important place on an asteroid.>

   MapWidth 50
   MapHeight 50

   PayRate 400

   AsteroidMap
   RockyTiles
   Vacuum

   Element1 <Faction Enemy>

   % L1 = Initialization Counter
   % L2 = Victory Counter
   % L3 = FCS Counter

   Start <if= L1 0 Alert 1 L= 1 1>
   nu1 <if= T1 0 if= L2 0 L= 2 1 Alert 2 LoseArenaMission Print 2>
   nu2 <if= T2 0 if= L2 0 Goto GoCheckTurrets>
   nu3 <if= T3 0 if= L2 0 if= T2 0 if= T4 0 Goto GoNoTurretWin>
    nu4 <if= T4 0 if= L2 0 if= T2 0 if= T3 0 Goto GoNoTurretWin>
   nu5 <if= T5 0 if= L3 0 L= 3 2>
      
   GoCheckTurrets <if= T3 0 else GoCheckFCS if= T4 0 else GoCheckFCS Goto GoNoTurretWin>
   GoCheckFCS <if= L3 1 else GoNewOrder Goto GoWinMission>
   GoNoTurretWin <Salvage Return XPV 100 L= 2 1 Alert 3 WinArenaMission Print 3>
   GoNewOrder <Print 4>
   GoWinMission <Salvage Return XPV 100 L= 2 1 Alert 5 WinArenaMission Print 5>

   Msg1 <Our sensors picked up a weak FCS signature. It's an old model with many known weaknesses, use it to

your advantage. Eliminate enemy mechs and take care of the turrets.>
   Msg2 <The mission is a failure.>
   Msg3 <The mission is a success.>
   Msg4 <The turrets still pose a danger to us; take them out, now!>
   Msg5 <The mission is a complete success. A new page in history has been turned.>

   sub
      Team 1
      SetEnemy 2 3 4
      ParaX 25
      ParaY 10

      Team 2
      SetEnemy 1
      Deploy <SetSelfFaction M1   WMecha 2 Threat ArenaRenown 400>
      home <The Corridor>
      ParaX 25
      ParaY 25
      
      Team 3
      SetEnemy 1
      SetAlly 4
      Parax 10
      ParaY 25   

      Team 4
      SetEnemy 1
      SetAlly 3      
      Parax 40
      ParaY 25
      
      Team 5
      home <Field HQ>
      ParaX 25
      ParaY 40

      CastleZone
      name <The Corridor>
      Height 6
      Width 18
      ParaX 25
      ParaY 25

      CastleZone
      name <Field HQ>
      width 5
      height 5
      ParaX 25
      ParaY 40
      FloorType 22
   
   end
   inv
      Prop 30
      SetTeam 5
      Scale 2
      name <Field FCS Cordination Unit>
      sdl_sprite <prop_box_low.png>
      roguechar <&>
                desc <An easy-to-use utility to conveniently adjust the AI behaviour of your automated defense network. Perfect for living, travel, and massacre. Buy one get one now.>
      use <if= L3 0 else GoBroken goto GoSimple>
      clue32 <if= L3 0 else GoBroken goto GoHackID>      
      GoSimple <L= 3 1 TeamNeutral 3 TeamNeutral 4 TeamNeutral 5 Print 1 goto GoCheckWin>
      GoHackID <L= 3 1 XPV 50 TeamAlly 3 TeamAlly 4 TeamAlly 5 print 2 goto GoCheckWin>
      GoBroken <Print 3>
      GoCheckwin <if= L2 0 if= T2 0 else GoKillMechs goto GoFCSWin>
      GoKillMechs <Print 4>
      GOFCSWin <Salvage Return XPV 100 L= 2 1 Alert 5 WinArenaMission Print 5>

      msg1 <You break a hole in where the L32 array would be, causing the FCS to transmit a flood of

error messages.>
      msg2 <You hack into the FFID routine via known bugs in EESS sub-routine with amazing speed.>
      msg3 <The unit is obviously broken. You can't make any changes now.>
      msg4 <The turrets are taken care of. Focus on enemy mechs now.>
      msg5 <This mission is a total success.>


      STC Turret-1
      SetTeam 3

      STC Turret-1
      SetTeam 3

      STC Turret-1
      SetTeam 3

      CombatProp 60
      Name <Unfinished Laser Tower>
      SetTeam 4
      sdl_sprite <prop_shrine.png>
      roguechar <X>
      Scale 2
      sub
      Skill 1 8
      Skill 5 8
      Skill 12 2
      clue34 <print 1>
      msg1 <Malign spirits are bound here. You pray for them.>
      sub
         Turret
         size 8
         armor 8
         sub
            BeamGun 8
            name <Unfinished Sunfire Laser Array>
            Range 4
            Recharge 1
            type <HYPER Blast 1>
            Integral
         
            BeamGun 2
            name <Starjewel Defense Laser>
            Range 2
            BV 4
            type <Intercept>

            PowerSource 10
         end
         PowerSource 10
      end

      end
   end