Creating your own MOD

 

Creating a MOD like BStrat is a time-intensive project, but it's not hard work. Here's some tips on making the basic and fundamental stuff that you'll find in BStrat.

The first thing you want to do is extract all the ODFs from the game using bz2extract.exe (command: bz2extract data.pak *.odf). ODFs make up the
bulk of what your "assets" are. They control the physics of the ships, their stats,
their prices, the weapons, explosion effects, etc. If you look into a typical vehicle ODF (fv* for scion vehicles, iv* for ISDF vehicles), you'll see that Pandemic left a huge trail of simple and self-explanatory
details in their ODFs for players like you to mess with. You can open ODFs with Notepad/Wordpad etc.

here are some examples...

buildCost is how much it costs to make the vehicle when it is unmodified. CustomCost for modified.

buildTime and CustomTime are the time, in seconds, it takes to build in the factory/recy.

Scrap value is how much scrap you get back when you cancel a build order.

And so forth!

To modify buildings, look at the fb* and ib* odfs. Fbkiln.odf, for example, is the Scion Kiln while Ibfact.odf would be the ISDF Factory. Kiln/Factory and other builder buildings can only have 10 objects in their inventory. You can see the list at the bottom of the ODF.

To modify weapons, you'll want to look at at least 3 ODFs. first, there is the AP*.odf's. These files determine what buildings are required to purchase/equip a weapon, how much it costs, etc. So if you want a SPSTAB to require a tech center to build, you'd look into the AP file of the spstab.

The second ODF is the weapon ODF itself. It is described as the "ordnance" ODF. This determines how much ammo the weapon takes up, how much damage it does for each armor/shield level, and so forth. Arc Cannon Assault is arcbolt_a.odf (weapons with _a are assault, _c are combat... some weps have no _a or _c.. those are confusing :). So if you edit arcbolt_a.odf, you're editing the ammo/damage stats of the Arc Cannon when in assault mode.

The third ODF is the gun ODF of the weapon. This determines the graphical effects of the weapon, the fire rate, how inaccurate the weapon is, how often the missile wavers, etc. So for Arc Cannon Assault, the ODF is garc_a.odf. As you can see, the ODF is not named the same as the second ODF. But you can often find the name of the related "ordnance" ODF within this third ODF by looking at the top of the file.

Enhanced graphical explosions in BS were simply done by modifying the "draw_sphere" stuff in the x*.odf files. The ODFs that begin with X are explosion ODFs, and you can see which explosions belong to what by opening up the ODF or by opening up your weapon ODF and seeing which explosion ODF it refers to. Buildings and vehicles basically all point to a small set of ODFs, while weapon ODFs can each have an explosion ODF to themselves (if one is not available, you can simply create one by copying/pasting/renaming an explosion ODF and then messing with it, then giving it to your weapon...).

Most explosion ODFs have a set of four numbers for Color. The first 3 numbers represent RGB combinations, or Red Green Blue. The numbers go from 0 to 255, each. If you load up Microsoft Paint, then customize your colors, you can see which RGB number combos represent what colors. (Right click on a color in Microsoft Paint, then hit "Define Custom Colors" then move the crosshair over the colors and observe the RGB stats at the bottom)... so for Yellow, you could choose Red 248 and Green 248, blue 0.

The fourth number represents transparency. At 0 transparency, the color effect is invisible. So a "draw_sphere" at 248, 248, 0, 0, is an invisible yellow. Not much use. But 248, 248, 0, 255 is a very thick visible yellow.

Now to make the sphere stay aroudn longer, you'll want to make the animateTime and lifeTime longer. I set both to the same number, and my vehicle explosions are around 3.0 (seconds) each. finishColor is what the sphere will look like around the time it finishes and is about to vanish. It's good to set the transparency of the finishColor to a low number, i set mine to 0 while the startColor transparency is at 255.

LatitudeBands and LongitudeSegments, i haven't messed with, but i think they have somethign to do with how "circular" the explosion is. The less bands/segments you have, the more blocky the explosion will look. Probably helps speed up game.

If you're done making changes, you'll want to PAK up your ODFs so that they'll be used by others with ease. Use drpack.exe to do this.

Command: drpack c battlestrat.pak c:\games\Directory-I-Want-PAKed

that command will pack up all the stuff in the directory into the PAK. Then move the PAK into your BZ2 directory. Then change the BZONE.CFG file. Put "AddPak("@rootdir\battlestrat.pak");" above the "//Look In 'addon' first" text. NOTE: "//" means whatever behind // will be null and void in the file to the game. So // is normally followed by instructions and stuff.

This is what my bzone.cfg "addpack" thing looks like:

AddPack("@rootdir\battlestrat.pak");
// Look in "addon" first

 

Well, that's basically it. You can zip up your junk and get goin :)