MGQ3 GC345's patch testing/Enemy skills

General

 * You can define up to 12 skill_selX=/skill_annoY_X= variants. [Skillcounter0], [skilltame0] still use the old limit (from 1 to 3). [Skilltame1] (if the charged attack missed and [skilltame2] isn't defined) still use the old limit. Skill_selxX still use the old limit.
 * You can define up to 9 hits in any attack. Use skill_anno4_Y= - skill_anno9_Y=, skill_se4= - skill_se9=, skill_damage4_1= - skill_damage9_1= and skill_damage4_2= - skill_damage9_2= keys. The game checks the skill_damageY_1= value for 2nd and later hits and apply the hit only if this key is defined.
 * Miltihit attacks can stop right after hero's HPs will reach 0 (by default all hits are executed then the game starts a hero's lose sequence). Use the skill_multilose="1" key.
 * The skill_damage_mode= key defines damage effect/animation and armor piercing mode. The syntax is skill_damage_mode=" ".
 * "0" and "1" use standard damage effects (the damage.ogg sound, horizontal shaking).
 * "2" and "3" use heavy damage effects (the damage2.ogg sound, short shaking, Goblin Girl's "Earth Crashing Goblin" as the example).
 * "4" and "5" use critical damage effects (the ikazuti.ogg sound, long shaking, Ilias' "Judgement Tap" as the example).
 * "1", "3" and "5" ignore Gnome, guarding, "Water Wall", level draining and Salamander's bonus versus Grandine.


 * The skill_message_mode= key controls skill_selX, skill_selxX, hero_kiki1_X, hero_kiki2_X, kiki_sX and half_sX messages. The syntax is skill_message_mode=" [, ]".
 *  controls skill_selX, hero_kikiX_Y, kiki_sX and half_sX displaying:
 * "0" (default) - all messages are always displayed.
 * "1" - no messages when hero HPs are below 50% or 20% of max HPs.
 * "2" - same as "0" but skill_selxX messages are ignored in the request mode.
 * "3" - same as "1" plus no skill_selxX in the request mode.
 *  controls skill_selX displaying:
 * "0" (default) - all messages are always displayed.
 * "1" - no skill_selX messages in the request mode.
 * "2" and "3" are used by [skillcounter0] only, are similar to "0" and "1" and supress skill_sel_counter_endX= displaying in the request mode.


 * Each hit can show a different frame if you want. Keys are skill_ct1_1= - skill_ct1_9=. The syntax is same as for the skill_ct1= key. Frames use coordinates from skill_ctx= and skill_cty keys=. If you add ,0 to this command the frame will not be drawn (effect 0).
 * By default all frames are removed after an enemy skill ends. If you want to make the frame constant - use the skill_ct_stay="1" key.
 * By default the skilltag is removed after an eenmy skill ends. If you want to make the skilltag comstant - use the skill_name_stay="1" key.
 * [SkillcounterX] (X>1) have the skill_counter_tatie= key. This key defines the counterstance sprite. The defined value will be loaded to all 4 stances (normal, happy, sad and bind) but you can change them later with the "change,tatieX" command. After the counterstance ends - the game will reload "tatie1"-"tatie4" values from the [data] section.
 * Followup= / followup_guard= / followup_counter= / followup_always= keys are used to chain enemy attacks. See below.
 * The followup_instant= key is used to execute several enemy attacks in the same turn. See attack linking.
 * The skill_finish= key is used to add the finisher to an attack. If hero HPs are low - the enemy will execute this finisher. See attack linking.
 * If the skill_kousoku_anno0= key isn't defined - there are no wait states now.
 * Status attacks (except gradual petrification) are used only if hero's status is clear. If hero is affected already - the game tries to select another skill from the current query.
 * OHKO skills can't be status attacks.
 * A counter ([skillcounter1]) and both charged attack ([skilltame1] and [skilltame2]) ignore skill_aqua= and skill_wind= keys (always hit).
 * Enemy healing (skill_kouka="7"), spirit canceling (skill_kouka="8") and AS summoning (skill_kouka="9") ignore skill_aqua= and skill_wind= keys (always hit).
 * BELs are automatically replaced to spaces for the skill_name= value.

Customized evades

 * You can use custom dialogues for both skill_aqua= and skill_wind= keys. This will start a customized evade routine. You will have the full control to evade chances and to evade routine effects. See below.


 * "No miss" enemy attacks (a counterattack, charged attacks, enemy healing, spirit canceling, AS summoning) ignore this feature.

Skill_kouka

 * Enemy healing is added. Use skill_kouka="7". Only 1 hit. The enemy heals the random HPs value between skill_damage1_1= and skill_damage1_2= values. The skill_anno2_X= content will be printed after the heal. These skills can't be countered, "Daystar" not works. P.S. You can use this to add enemy passive skills (set skill_damage1_1 and skill_damage1_2 to "0" or not define these keys).
 * Spirit canceling is added. Use skill_kouka="8". Only 1 hit. Skill_damage1_1= defines targeted spirits. 1 is for Sylph, 2 - for Gnome, 4 for Undine and 8 for Salamander. So if you want to dispel all 4 spirits - use skill_damage1_1="15". The skill_anno2_X= content will be printed after the cancel hits. Spirits canceling can't be countered, "Daystar" not reacts to this attack.
 * The artifical spirits support is added. Use skill_kouka="9". Only 1 hit. Skill_damage1_1= defines the spitit and the duration of a summon (skilldamage1_1=", ).  is 1 for Zylphe, 2 for Gnomaren, 3 for Grandine and 4 for Gigamander.  0 unsummon all artifical spirits. See

Skill_count

 * By default all cooldowns are resetted after hero struggled successefully from a bind or after a bad status ends. Now you can use two more options:
 * use ,1 after the cooldown value to disable cooldown resetting.
 * use ,2 after the cooldown value to reset this cooldown only if a bind was started with this skill.
 * Examples: skill_count="9,2" - this cooldown resets only if this skill is a binding skill and the bind was successeful.


 * If all attacks in a query are cooldowned - enemy will pass 1 turn (needs [data]/query_new="1").

Normal, drain and level drain attacks

 * You can force Sylph / Fallen Angel Dance to evade each hit of a multi-hit attack. To force this - use the skill_multiwind="1" key. Chances and the evasion announcement are constant for all hits.
 * Warning - this evade don't breaks followup/followup_always/followup_instant query.


 * The skill_multiwind="1" key works for customized wind evades too.
 * The skill_kouka_changeX= key (X>0, X<9) switches the attack type on-the-fly after a hit. Use skill_kouka_changeX="1" to switch to the drain attack and skill_kouka_changeX="6" to switch to the level drain attack. All others values set the attack type to normal.

Status attacks

 * Skill_status_hit=, skill_status_anno=, skill_status_mid= and skill_status_end= keys are added. Skill_status_anno=/skill_status_hit= define announcement/hero's message after the status attack hits. Skill_status_mid= is used when hero pass turn because of the status. Skill_status_end= is used when the status is timed out or (for skill_status="6" or "8") when hero completely petrifies.
 * The game uses default values for above keys if these keys aren't defined. Use the " " value to supress the output completedly.
 * You can use @ (new line wait state) and ~ (new line) with skill_status_mid= and skill_status_end= keys. This setting overrides the default new page wait state.
 * The delayed petrification status attack can be used now. Use skill_status="6". See below.
 * The gradual petrification status attack support is added. Use skill_status="8". See below.
 * The poison status attack support is added. Use skill_status="9". See below.

Binding attacks

 * You can define the hero's attack strength when a "special" bind is active. Use skill_mogaku_abairitu= key. The default value is 80.
 * If you use the new battle query (query_new="1") - the game not sets the %genmogaku value to 0 automatically. So if you need the "1-try" struggle - you must define skill_mogaku= or skill_mogaku_earth= keys.

Requests and losing

 * If you use the skill_rukalose="0" key (or this key isn't defined) - there is no hero's messages before bukkake. The skill_rukalose="5" key is similar but it uses the skill_rukalose=4 behavior (no bukkake, "surrenders..." replaces "was defeated...").
 * 2 more keys are used when the hero loses: skill_lose_start1= and skill_lose_start2=. They are printed with the enemy nametag before a bukkake.
 * Multiple rape scenes are supported. Use the skill_lose_scene=" " key. If this key is defined the game go to the [lose ] section after the hero loses.
 * The skill_onedari_use= key overloads the standard Request routine and executes 1 unbinded enemy attack if you have selected this skill as the request. The syntax is skill_onedari_use="aX".
 * You can use the advanced Request scripting if you set a custom dialog as the skill_onedari_use target. See below.

Delayed and gradual petrification

 * There are 2 types of petrification in the game.


 * The first type ("delayed") starts the countdown, lower the countdown each turn and petrifies a hero after the countdown ends. Used by Medusa in the main story. To use this attack in spin-off battle - set skill_souka="2" and skill_status="6". Skill_status_turn1= and skill_status_turn2= keys sets the coundown value in turns.


 * The 2nd type ("gradual") petrifies a hero after several hits. Use skill_kouka="2" and skill_status="8". Skill_status_turn1= and skill_status_turn2= keys set number of hits before a complete petrification. Next hit not set this value but lower it per 1. And when the value is 0 - the hero petrifies completely and can't use any commands. Used by Chimera Medullahan and Basilisk in the main story.


 * If you use skill_status_turn1="0" and skill_status_turn2="0" or not define these keys - the petrification is instant for both variants.


 * These 2 statuses use skill_status_mid= and skill_status_end= keys differently. The skill_status_end= key is used once when the hero petrifies fully. Skill_status_mid= is used each turn after this.


 * The "petrified" trigger works for both variants.


 * "Eyes of Recovery" heals both variants of petrification.

Poison

 * Skill_kouka="2" and skill_status="9".


 * After each enemy turn a hero will be hit by the poison damage. The default damage factor is 1/20 from hero's maximum HPs. You can set the value with the skill_status_abairitu key or the "change,poison" command. The damage value is random between 90%-110% of the damage factor.


 * If the poison damage triggers half_s1/2 or kiki_s1/2 messages - the game checks the skill_message_mode key for the attack which started the poison status.


 * If the poison damage kills a hero - the game uses the skill_rukalose key and others defeat routine keys from the same skill.


 * You can override both keys if you define them in the [poison] section.

Artifical Spirits summoning

 * Unbinded attacks (both normal ([skillaX], X>0) and counterstance ([skillcounterY], Y>1)) only.


 * Only 1 artifical spirit can be active. So if you summon another one - the first one will vanish automatically.


 * The skill_damage1_1= key select the spirit to summon amd sets the summon duration. The syntax is skill_damage1_1=", ".  is "1" or "wind" for Zylphe, 2 or "earth" for Gnomaren, "3" or "aqua" for Grandine and "4" or "fire" for Gnomaren. "0" or "off" unsummons all artifical spirits.


 *  not counts the summon itself. So if you use skill_damage1_1="1,2" - the enemy attacks 2 turns before the summon will stop. Binds stops the count too.


 * The skill_anno2_1= key is printed after the summon itself. Others skill_damageX_X and skill_annoX_X keys are ignored.


 * P.S. Zylphe, Grandine and Gnomaren summons change evade rates automatically for [skillaX] (X>0) and [skillcounterY] (Y>1) enemy attacks if skill_kouka is from 0 to 6 (normal, drain, status, binding and level drain attacks). These attacks are referenced as "AS group" below.

Zylphe

 * Changes the accuracy of hero's normal attacks. The accuracy value is controlled by the %kaihi_el variable (0 - the attack misses always, 100 - the attack hits always). The default value (set by the Zylphe summon itself) is 50. Use the "change,kaihi_el,X" command to set a different value. "Devastating Gale", "Fallen Angel Dance: Gale" and all versions of "Serene Mind" ignore this effect and hit always.
 * "Serene Mind" B, C, D and E evade chances are lowered to 5% for "AS group" enemy attacks. If you need the different value - use a customized water guard.
 * Extra hits. See below.
 * Gnome summons (except "Strength of the Earth") lowers an enemy attacks damage. The value is controlled by the %earth_keigen_el variable (0 - no penalty, 100 - all damage is nullified). The default value (set by the Zylphe summon itself) is 70. Use the "change,earth_el,X" command to set a different value. Armor piercing attacks ignore this effect.

Gnomaren

 * Enemy binds are inescapable even with Gnome.
 * Hero's gamage is reduced (for normal attacks, skills and "Word of Dispel" skills). The multiplier is controlled by the %damage_keigen_el variable (0 - you can't damage an enemy at all, 100 - full damage). The default value (set by the Gnomaren summon itself) is 50. Use the "change,damage_el,X" command to change.
 * Wind evade chances are changed automatically for affected enemy attacks (see above). 100% for status and binding attacks and 80% for normal, drain and level drain attacks. If you need different chances - use a customized wind guard.

Grandine

 * Extra hits (see below).
 * Hero's gamage is reduced (for normal attacks, skills and "Word of Dispel" skills). The multiplier is controlled by the %damage_keigen_el variable (0 - you can't damage an enemy at all, 100 - full damage). The default value (set by the Grandine summon itself) is 70. Use the "change,damage_el,X" command to change.
 * Salamander summons (except "Blade of Fire") lowers an enemy attacks damage. The value is controlled by the %fire_keigen_el variable (0 - no penalty, 100 - all damage is nullified). The default value (set by the Grandine Summon) is 30. Use the "change,fire_el,X" command to set a different value. Armor piercing attacks ignore this effect.
 * Salamander summons (except "Blade of Fire") prevent binds. Binding attack can hit and damage bit the bind itself fails (similar to Elimination: Stroke). The skill_kousoku_grandine= key is printed after this fail.

Gigamander

 * Extra hits (see below).
 * The 100% damage bonus for enemy attacks. Use the skill_gigamander_bonus="1" key. Armor-piercing attacks (skill_damage_mode="1" etc) ignore this.
 * The main story uses this bonus for physical attacks only (to be more precise - for Knightroid's physical attack only), you can use the bonus for any non-armor-piercing skill.


 * "Serene Mind" B, C, D and E set evade rates to 100% automatically for "AS group" enemy skills. If you need a different behavior - use a customized water guard.

Extra hits

 * You can add extra hits to all enemy attacks except [skillcounter0] and [skilltame0]. They will be used only if Zylphe, Grandine or Gnomaren are active. The maximum number of hits per attack is still 9.
 * Use skill_extrahits_start="" key to stop the standard variant of enemy multihit attack. If there is no active ASs - the game not uses a hit with bigger numbers.
 * Use skill_extrahits_end_wind="", skill_extrahits_end_aqua="" and skill_extrahits_end_fire="" keys to stop the attack if the corresponding AS is active. Again, the attack not use hits with bigger numbers if the corresponding spirit is active.
 * The attack still ends if the skill_damageX_1= key isn't defined.
 * Example - if you need the attack with the 1 hit w/o ASs, 2 hits with Grandine and 3 hits with Zylphe and Gigamanger:

... skill_extrahits_start="1" skill_extrahits_end_aqua="2" skill_damage1_1="200" skill_damage2_1="200" skill_damage3_1="200" ...
 * P.S. The main story uses the behavior below for an extra hits: No extra hits for status and binding attacks, no extra hits for armor-piercing attacks, Zylphe adds extra hits for unbinded and binded attacks, Grandine and Gigamander add extra hits for unbinded attacks only. Please use the similar behavior.


 * P.S.S. The main story always uses the +2 hits pattern for Zylphe. Grandine uses 1+1 and 3+2 patterns (because the counter for this summon is Guard). Gigamander uses 1+2, 2+2, 2+3, 3+2 and 3+3 patterns. Please use the similar behavior.

Enemy attacks linking

 * With keys below you force an enemy to ignore the standard selection method (skill_kakuritu= based) for 1 turn.


 * The followup= key is the basic link. The syntax is followup=" ". Possible values for :
 * "counterX" (X=0 or X>0) if the enemy is in counterstance.
 * "aX" (X>0), "tame0", "tame1", "tame2", "counter0", "counter1" if not binded.
 * "bX" (X>0) for the 1st bind query.
 * "cX" (X>0) for the 2nd bind query.
 * "dX" (X>0) for the OHKOs query.
 * "win". Finishes the battle by hero's victory.
 * "pass". Enemy skips 1 turn.


 * Followup_guard= and followup_counter= keys - same syntax and targets as above but are applied only if the enemy attack was evaded / countered.
 * The followup_always= key is the "3-in-1" followup. Enemy uses defined skill in normal conditions and if the attack was evaded or was countered with "Daystar". If this key is defined - followup=, followup_guard= and followup_counter= keys are ignored.
 * Warning: the followup_always= key is ignored if a hero is in OHKO query.
 * Warning: HP traps, triggers and followups use the same variable to store "the next attack for the enemy". Only the last value will be used.


 * Warning: if the skill name is correct but the query isn't - the game uses the standard enemy attacks routine (the followup is ignored).

Enemy attacks instant linking

 * Those keys links attacks in the same turn so enemy will attack twice / trice etc. Evasion and Daystar can break this chain.


 * The followup_instant= key is the basic instant link. The syntax is similar to the followup=key syntax, followup_instant=" ". Correct values for are same.
 * Warning: if the name is correct but counterstance / bind statuses aren't - the Spin-off will stop with the debug message.
 * The skill_finish= key links 2 skills in the same turn too. The syntax is different: skill_finish=", ".  is executed only if hero's HPs are below the  value. If you use skill_multihit="1" - this condition will be checked after each hit.