MA: Costume, Critter, and Group files


Memphis_Bill

 

Posted

How the Mission Architect files interact, and custom critters.

This is more of a "for curiosity's sake" posting than anything, but it may save some frustration for some when trying to get rid of a critter group.

There are potentially four sets of files that your City Of client will create when working with a custom critter group for a mission. To a point, they duplicate each other. These are files that end in .costume, .critter, .cvg and .storyarc.

TL;DR info:

If you want to delete a critter group from your story arc, do it from the story arc you're creating first, THEN from the critter creator if you want to completely get rid of them, or they will be recreated. The mission itself - local or published - holds all the information about them, and can be imported into other missions from that.


OK, now the details. I'll be giving examples of these from a mission created while the mission architect was in testing. All of these files, by the way, are text files - despite the ending, you can open them with Notepad or a similar text editor. Make a copy and open it if you want to look - I suggest a copy so that if you make changes, or the editor adds its own formatting, it doesn't screw up the file itself.

OK, let's look at the files:

1. .costume files
Location: (COH install directory)/Costumes
Extension: .costume

We've had these since we could save costumes at the tailor. They're simply a description of the costume you've created and decided to save for use elsewhere. Of all the files, this one has no impact on mission creation or group recreation. The costume description is imported into the .critter file. These are for your own character's use as well as your critter group. These have no information about who uses them, the group or anything similar, they are purely a description of costume (for gender.)

Sample:

<font class="small">Code:[/color]<hr /><pre>


{
CostumeFilePrefix male
HeadScales 0, 0, 0
BrowScales 0, 0, 0
CheekScales 0, 0, 0
ChinScales 0, 0, 0
CraniumScales 0, 0, 0
JawScales 0, 0, 0
NoseScales 0, 0, 0
SkinColor 239, 173, 132
NumParts 27
CostumePart ""
{
Geometry Tight
Texture1 Cargo_01
Texture2 none
DisplayName P887196332
RegionName "Lower Body"
BodySetName Tight
Color1 0, 0, 61
Color2 51, 0, 0
Color3 0, 0, 61
Color4 51, 0, 0
}


CostumePart ""
{
Geometry Baggy
Texture1 Tunic_02
Texture2 none
DisplayName P566009771
RegionName "Upper Body"
BodySetName Baggy
Color1 51, 0, 0
Color2 31, 31, 31
Color3 0, 0, 61
Color4 51, 0, 0

</pre><hr />

2. Custom critter files
Location: (install directory)/Custom_Critter
Extension: .critter

These are a description of each custom critter - ally, hostage, contact or villain - that you make.

These copy the costume file you use directly into the .critter file, and add a header with their name, villain group, description, difficulty and other pertinent information - really a small block of information.

<font class="small">Code:[/color]<hr /><pre>
{
Name "Red Assault Unit"
Description "The Redshirt assault squads have little but rifles, tricks, and guts."
VillainGroup Redshirts
Difficulty Standard
PrimaryPower Mission_Maker_Attacks.Assault_Rifle
SecondaryPower Mission_Maker_Secondary.Sonic_Debuff
TravelPower None
Rank Minion
Ranged 1
Costume
{
CostumeFilePrefix male
HeadScales 0, 0, 0
BrowScales 0, 0, 0
CheekScales 0, 0, 0
ChinScales 0, 0, 0
CraniumScales 0, 0, 0
JawScales 0, 0, 0
NoseScales 0, 0, 0
SkinColor 234, 160, 137
NumParts 27
CostumePart ""
{
Geometry Tucked_In
Texture1 Cargo_01
Texture2 none
DisplayName P887196332
RegionName "Lower Body"
BodySetName TuckedIn
Color1 0, 0, 0
Color2 85, 0, 0
Color3 0, 0, 31
Color4 85, 0, 0
}


CostumePart ""
{
Geometry Jackets_Sleeves
Texture1 !Chest_FancyShirt_01
Texture2 none
DisplayName P566009771
RegionName "Upper Body"
BodySetName Jackets
Color1 85, 0, 0
Color2 85, 0, 0
Color3 0, 0, 31
Color4 85, 0, 0
}
</pre><hr />


3. Custom villain group files
Location: (install directory)/CustomVillainGroup
Extension: .cvg

These are where you can start to see the size of custom critters adding up. For my rather small group (3 minions, 2 lts, and a boss,) the file is 51kb. Which may not sound like much in this era of terabytes of storage, but due to network and loading considerations the final .mission size can be no larger than 110 kb. Watch your group. This incorporates all of the prior files into itself - the .critter and .costume files. (As an explanation, when I say it incorporates them, I mean specifically that it imports all of the information from the prior files - the .costume file's contents get added to the .critter file, which gets added here.)

<font class="small">Code:[/color]<hr /><pre>

{
DisplayName "Redshirt 2"
CustomVillains
{
ReferenceFile BRAWLER.CRITTER
Name Brawler
VillainGroup Redshirts
Difficulty Standard
PrimaryPower Mission_Maker_Attacks.Super_Strength
SecondaryPower Mission_Maker_Secondary.Willpower
TravelPower None
Rank Minion
Costume
{
CostumeFilePrefix male
HeadScales 0, 0, 0
BrowScales 0, 0, 0
CheekScales 0, 0, 0
ChinScales 0, 0, 0
CraniumScales 0, 0, 0
JawScales 0, 0, 0
NoseScales 0, 0, 0
SkinColor 234, 160, 137
NumParts 27
CostumePart ""
{
Geometry Pants_China
Texture1 Pants_Poofy_01
Texture2 none
DisplayName P887196332
RegionName "Lower Body"
BodySetName Pants
Color1 0, 0, 0
Color2 38, 26, 0
Color3 0, 0, 61
Color4 38, 26, 0
}


</pre><hr />
and so on.

4. Mission files
Location: (install directory)/Missions
File extension: .storyarc (and .storyarc.backup)

Now, here's a trick for you.

Go and create a couple of quick critters and groups. They don't have to be fancy. Add them to a misison or two - you don't even have to run it. Just save it so you have .mission files.

Now go into your City of Heroes directory (or test directory, depending on where you're trying this out) and move the Costume, Critter, and CustomVillainGroup files to the recycle bin, so all you have left are the custom missions with your group(s) in it.

Go to "My creations," then before opening anything up take a look at "My characters" and "My enemy groups." You'll see "no custom characters found."

Now go to your mission (under my local files) that has the custom group in, and select edit. Exit the MA and reenter - then go back to My Characters and My Enemy Groups. You'll see your custom groups again.

If you now exit the game and go to your install directory, however - you won't see the CustomVillainGroup, Critter, or Costume directories recreated. The .mission file on the server holds all the information needed to completely recreate the group. Even if you go to another computer that has never run the mission architect before, while you won't see unpublished missions (those being local files,) if you hit "Edit" on a published mission - the custom critters and the group they're in will be available to you to use. It does not recreate the files locally unless you hit save. (Also, if you have no local files, you will not have them available again until you edit the published mission. They are, however, cached for your session.)

So, functionally, what does all this mean?

Other than generic interest - if you want to get rid of an enemy group completely, delete them from any mission they're used in first, then go ahead and delete the .critter and .cvg files they're in. (The .costume is purely optional.)

Please note - Local vs Cached

Testing seems to indicate that if you have a LOCAL group or character of a specific name, and open up another local mission without those files but with a similar name, your local files will overwrite the information in the file you're editing.

Example:
You have a local mission you've worked on called "My great mission." In it is a villain group called "ABC" with a character named "Fred," a tank.

Your friend sends you a mission to look at called "Blastermania." He also makes a group called ABC that happens to have Fred, a blaster, in it.

When you go to open the file for editing, YOUR version of XYZ, with Fred the Tank, will appear.

One final note - the size of the file on disk is NOT the size of the file in the mission architect. Testing by Arcanaville (who else but Our Lady of the Numbers? ) seems to indicate field names are sometimes ignored, and some values will always take the same size. For instance, to use a myth that was in beta, an all-black costume does not take less space than a colored one.