(This is all unconfirmed information)
This directory contains all the relevant data for skills. For each skill, there is one txt file containing all relevant data. In addition, there may also be a single graphics file to be used as the default graphic for the skill. In addition, there may be a graphic to be used with the support function. But the latter two are only optional.
All skills used in the game are listed in skill.txt in the StartData directory. Skills not listed there can not be used in the game. Skill.txt itself is just a list of the internal names of the skills. While these names are not shown during game play, they are very important for all internal processes as well as the data in this directory:
The txt file describing the skill has to use the internal name as its file name. For instance "Kiss.png"
If a default graphic is provided, it must be a PNG file also using the internal name for its file name. For instance "Kiss.png".
In addition, skills using a graphic for their support feature have its name as [internal name] + "_spp.png". For instance "Kiss_spp.png".
Structure of a Skill Description txt File
The following information has been extracted freely from comments in the files and observations. As such, there may be mistakes in this, so please use this with caution and make all mistakes publicly known so they can be corrected.
General Features
Blank lines seem to be ignored, so they can be used to structure the file.
Semicolons (';') mark comments. Everything to the right of a semicolon is ignored.
Usually, you have one declaration or one command per line. This may be followed by any amount of additional spaces and a comment marked with a semicolon as suggested above.
The file is usually divided into two major blocks: A header with declarations and a program section contain commands which are to be executed when the skill is used.
In the descriptions of the declarations in the header, I will put parameters in square brackets ('[]') as these are not normally used in the header. Please note, however, that the square brackets in the program section are indeed part of the code.
"namej"
The first declaration is usually of the form
namej = [external name]
where "[external name]" is the name of the skill as it is being displayed in the game. Do not confuse it with the internal name which is used for all programming purposes!
"comment"
The next declaration is usually of the form
comment = [description]
where "[description]" is a short description of the skill which may be displayed upon query.
where "[skill classification]" seems to be an additional classification as to the nature of the skill. This is either "Attack" or "Magic" used for this entry, and its possible entries seem to be part of the game's core code.
"needLV"
The next declaration is usually of the form
needLV = [minimum level]
where "[minimum level]" is the minimum character level a character needs in order to use the skill.
If it can't be used by player characters, use "-" as the parameter.
where "[minimum skill type level]" is the minimum skill type level a character needs in order to use the skill.
If it can't be used by player characters, use "-" as the parameter.
"useHPdef"
The next declaration is usually of the form
useHPdef = [default HP cost]
where "[default HP cost]" seems to be the number of HP that are spent when the skill is used. This increases with the level.
The empty parameter for this is "0".
"useMPdef"
The next declaration is usually of the form
useMPdef = [default MP cost]
where "[default MP cost]" seems to be the number of MP that are spent when the skill is used. This increases together with the level.
The empty parameter for this is "0".
"targetselect"
The next declaration is usually of the form
targetselect = [targetselect value]
where "[target select value]" controls what target selection is assumed for the skill. "0" means that no selection is made/possible. "1" means a friend is targeted and "2" means a foe is targeted.
"chargetime"
The next declaration is usually of the form
chargetime = [casting time]
where "[casting time]" is the casting time (probably in frames)of the skill. Casting time means that, after a character decides to use the skill, there is a further delay until the skill actually takes effect.
If the skill is to be instantaneous, please use the parameter "0".
"windowsizex"
The next declaration is usually of the form
windowsizex = [value]
where "[value]" is a numeric value. This determines how wide the window with the skill name is when the skill is used. You can use "-1" for this parameter in order to have it sized automatically (recommended).
"skillCG"
The next declaration is usually of the form
skillCG = [CG flag]
where "[CG flag]" seems to be a flag whether the skill uses some graphic or not. "ON" indicates that there is some graphic while "OFF" indicates that there is none. Please note that this information is highly speculative, so it may be wrong.
"useMenu"
The next declaration is usually of the form
useMenu = [menu flag]
where "[menu flag]" seems to be a flag whether or not the skill can be used outside of combat in camp mode. "ON" indicates that it can be used in camp while "OFF" indicates that it is combat only. Please note that this information is highly speculative, so it may be wrong.
If it is "OFF", this declaration is usually left out.
"support"
This seems to be an optional declaration of the form
support = [support flag]
where "[support flag]" is either "ON" or "OFF". If it is "ON", the skill is invoked repeatedly after its usage so that it can have additional/continuous effect. If it is "OFF", the skill is invoked only once upon usage.
If it is "OFF", this declaration is usually left out.
"supporttime"
This declaration is only used in conjunction with the previous "support" declaration and it takes the form
supporttime = [time]
where "[time]" is a value. This determines how long any support effect stays in place. "-1" means until the end of the combat.
Program Section
Once all these declarations are out of the way, we get to the program section which contains the program code for the skill. Please note that any square brackets in the following section are actually part of what is inside the txt file. They are not markers for documentation comments as in the other sections!
The program sections usually starts with the following line:
[SkillStart]
This marks the beginning of the code which should be executed if the skill is used within combat. The code itself consists of commands with one command per line. As in the rest of the file, blank lines and everything after a semicolon (';') are ignored, as are spaces after any command.
This definition of the combat version ends with the following line:
[SkillEnd]
Once this is reached, the code execution during combat ends. If the skill can only be used within combat, this is usually the last line of code.
If the skill can be used outside of combat, a different version of the code needs to be provided for usage from the camp menu. This code is provided after the "[SkillEnd]" line!
This alternative code starts with the following line:
[MenuSkillStart]
There is really not much to say about this. Basically, it works in the same way as the combat code, only that it is called at a different occasion.
And similarly, this code section ends with the following line:
[MenuSkillEnd]
Pretty obvious, I guess.
Skills Contained
AcidRain (アシッドレイン) + CG
Antidote (アンチドート)
AntiGravity (アンチグラビティ)
ArmHold (触手拘束) + CG (TN: Tentacle hold)
Aspiration2 (吸引ver2) (TN: HP draining; uses the Eat graphics)
Aspiration (吸引) (TN: pulls all enemies to user and drains HP, may result in capture)
AspirationSingle (単体吸引) (TN: pulls target to user and drains HP, may result in capture)
AspirationSingle+ (単体吸引+) (TN: same as above but zooms in on the event)
Bazsaw1 (バズソーLv1) + CG (TN: Yes, Buzzsaw)
Bazsaw2 (バズソーLv2) + CG
Bazsaw3 (バズソーLv3) + CG
BearHug (ベアハッグ) + CG
Berserk (ベルセルク) + support CG
BioBite (バイオかみつき) + CG (TN: Poisonous)
BirdSong (バードソング) (TN: 1 HP damage to all friends and enemies and heals sleep)
Bite (かみつき) (TN: results in attachment)
BitsCombination (一斉攻撃)
BodyPress (のしかかり) (TN: jump at target; drain HP; attach)
BoneCrush (骨砕き) + CG (TN: results in paralysis)
BreastPressure (ブレストプレッシャー) (TN: pulls in and shrinks target; results in fracture)
Call (仲間を呼ぶ) (TN: call reinforcements)
ChangePetit (ぷち化/戻る) + CG (TN: special skill for Ceres)
Cling (纏わり付く)
CombinationBodyPress (集団のしかかり事件) (TN: all allies of the same type join in this attack)
Crack (クラック) + CG (TN: does not affect flyers)
CrimsonFlare (クリムゾンフレア) (TN: attack; has support skill)
Cure (キュア) (TN: Heals HP, good chance of healing poison or infection)
CurseSong (カースソング) + CG (TN: attacks friend and foe MP)
CutInAttack (カットイン攻撃)
CutInDevour (カットインデバウアー) + CG (TN: swallowing => destruction; with special flavor text)