March 10th, 2024: The style guide has had an overhaul to make it easier to understand! Please check what's changed, and chime in with feedback so that our wiki can continue to improve.

Warrior Generator

Warrior Generator
Type Ghost
Developer(s) Zichqec
Origin Warrior Cats
Language(s) English
Sakura Warrior
SHIORI YAYA
Release date March 7th, 2021
Download

Warrior Generator is a ghost by Zichqec that is made to generate cat designs and other information based on the Warrior Cats book series. It comes with a single shell, but is made to support multiple shells by any developer, including customizable rules for generating designs.

The ghost is intended as a tool for those making their own Warrior Cats characters, and as such does not include any random dialogue.

Features

  • Can generate names, ranks, clan names, genders, designs, and simple biographies.
  • Design and character info are extremely customizable, and can be saved as files and recalled later.
  • Character designs can be exported as png files.
  • Can generate random prophecies.
  • Tracks the moon phase, and will notify the user if it is a full moon or half moon.
  • No randomtalk at all.

Character generation

Warrior Generator is able to generate multiple different traits for characters based in the Warrior Cats universe. The user is able to have these traits chosen randomly, or customize each one individually.

Names

The name generator is one of the most prominent generators in the ghost, and has a whole separate submenu. Names are comprised of a prefix and a suffix, each of which can be customized.

The name lists for prefixes and suffixes are different, and each one comes with the option to pick names from “Early canon” or “Late canon”. The user may pick each prefix and suffix individually by randomizing them, picking a name off the full list, or going back and forth through the list in alphabetical order. They may also type in a custom name.

When generating characters randomly, names will automatically have the -kit, -paw, or -star suffixes if their rank is kit, apprentice, or leader, respectively.

Rank

The user is presented with a list of canonical ranks to pick from. They can choose from the list, have it pick one at random, or type a custom rank.

Clan

The user can have a clan chosen randomly from a list of predefined options, or a customizable list of clan names. They can also type a custom clan name instead of going through the randomizer.

Gender

The user is presented with some preset options to choose from, or the option to pick one at random. A custom list may also be defined, or the user may type a custom gender.

Biography

When generating a random character, a random “bio” will be generated for them as well, including information such as general personality, favorite prey, favorite time of day, wants a mate, wants kits, and favorite duty.

This information can be edited or overwritten as desired; there is no need to stick to the given format. It is a free space for the user to fill with whatever character info they would like.

Other options

The user has options to save and load designs, which saves them as text files. The user also has the option to screenshot the designs, which calls upon a SAORI that will allow the user to take a screenshot by dragging and dropping. This only works on the primary monitor.

The user also has an option to export the design, which saves the design as a transparent png file using another SAORI.

Finally, the user may randomize everything at once, or clear all of the info and start from scratch.

Randomizing the info will give a warning message before it goes through by default, to prevent the user from erasing work when they don't mean to. This can be toggled off on the main menu.

Design generation

Warrior Generator uses dressups on the base surface to allow the user to customize the design of the character. The menu will dynamically generate a list of dressups based on what shell the user is using, and can create random designs.

Designs may be saved and can be recalled and edited later. They can also be exported as transparent png files.

Custom shell behavior

Warrior Generator allows shell developers to define custom rules for randomly generating designs, using a file called DressupRules.dic within the shell's folder.

OnCustomDressupRules

Within the DressupRules.dic file, the shell developer can define a function called OnCustomDressupRules. There are 3 arguments sent to this function:

  • _argv[0] is the current dressup category
  • _argv[1] is all the dressups in the above category, as a comma separated string (simple array)
  • _argv[2] is the dressup command so far

There is also a global variable called toadd that contains the dressup that it is currently attempting to add. The developer can change which dressup will be added by altering the value in this variable.

Using all of this info, the developer can use _in_ checks on the arguments to determine things such as which dressups already exist, in order to prevent dressups that would conflict from being chosen together. If the value “Continue” is returned, the ghost will skip adding that dressup altogether.

For example, the Default Cat shell that comes bundled with the ghost includes this custom code, which prevents multiple tortie patterns of different colors, and denies illegal color combinations.

OnCustomDressupRules
{
	_currentctg = _argv[0]
	_temp = SPLIT(_argv[1],",")
	_command = _argv[2]
 
	if "Tortie" _in_ _currentctg //Prevents overlap of illegal tortie colors
	{
		if "Tortie" _in_ _command //If a tortie is already present, match the color
		{
			if !("Color,%(toadd)" _in_ _command) //If the tortie matches the base color, go ahead and add it; can add neat effects. If not, change it to match the current tortie
			{
				_r = RE_SEARCH(_command,'\![bind,Tortie [1|2|3|4],(\w\s\d),1]'); toadd = RE_GETSTR[1]
			}
		}
		else //If there is no tortie, make sure the color is legal
		{
			if "Color,Black" _in_ _command || "Color,Gray" _in_ _command || "Color,White" _in_ _command //If the base color is black
			{
				if !("Red" _in_ toadd) //If the tortie color is NOT red
				{
					"Continue"
				}
			}
			if "Color,Chocolate" _in_ _command; {if "Yellow" !_in_ toadd; "Continue"}
			if "Color,Cinnamon" _in_ _command; {if "Apricot" !_in_ toadd; "Continue"}
			if "Color,Red" _in_ _command; {if !("Black" _in_ toadd || "Gray" _in_ toadd || "White" _in_ toadd); "Continue"}
			if "Color,Yellow" _in_ _command; {if "Chocolate" !_in_ toadd; "Continue"}
			if "Color,Apricot" _in_ _command; {if "Cinnamon" !_in_ toadd; "Continue"}
		}
	}
	if "Heterochromia" _in_ _currentctg && RAND(20) < 19; "Continue" //Makes heterochromia rare
}

Here is a simpler example, if the developer only wanted a simple behavior such as making heterochromia a rare trait:

OnCustomDressupRules
{
	_currentctg = _argv[0]
	if "Heterochromia" _in_ _currentctg && RAND(20) < 19; "Continue" //Makes heterochromia rare
}

CustomSkipChance

If the developer wishes to modify the chance of dressups being skipped, they can include the CustomSkipChance function. The function should contain a single number, and the generator will have a 1/x chance of skipping the current dressup, with x being the number specified by the developer. So writing a 5 will result in a 1/5 chance of skipping, and a 2 will result in a 1/2 chance of skipping.

If no value is specified, the default is 3.

CustomSkipChance
{
	2
}

shellver

The developer may also write a string of text in the shellver function, which will be displayed as the version number on the main menu when the user is using that shell.

shellver
{
	"1.0.0"
}

Balloon

Warrior Generator comes with the StarClan balloon, a simple night-sky themed balloon with stylistic cat ears.