posted July 23, 2007 08:52 PM
|| bonus applied.
Change patterns of attacks
I found a way to edit the patterns of the attacks (three/six headed attack, Sprite's Attack, Rune Patriarch's Crossfire, Dragons' Fire Breath, etc.)
I created two files which modifies Cerberus's and Rune Patriarch's attacks. They're in HV_Patterns.zip.
This is an image of the modified Patriarch attack.
Here, it has got a bigger cross.
You can change all the patterns and add a pattern to any creature by the modify of the creature file in GameMechanics/Creature/Creatures/Race/Name of the monster.xdb.
Now I'll explain what to do.
1) Selecting the file(s)
Open the a1-data.pak (or the data.pak if you haven't HoF), then go into GameMechanics/Creature/Creatures/Race/ and extract the monster.xdb that you want to change.
If it's the Rune Patriarch, you have to extract GameMechanics/Creature/Creatures/Fortress/CrossAttack.xdb
If it's the Shadow or Black Dragon or the Fire or Magma Dragon, you have to extract GameMechanics/Creature/Creatures/Dungeon/Deep_Dragon_Pattern.xdb (It's only in data.pak)
If it's a creature which I didnít list, you have to extraxt the creature and then copy all the <PatternAttack> lines from a monster.xdb and paste them on the creature's <PatternAttack> (Note that the 3 headed attack of Cerberus is different from Hydra's)
You can't create new files with only patterns and put a reference in the creature's file, because an error will occur. The only patterns that can be referenced are the first and the second I listed before.
2) Editing the pattern
Before editing, I'll tell you how it works.
The patterns are based on coordinates. Every coordinate is represented by <Item> ..... </Item> and itís a square in the arena. If the creature is a shooter, the pattern will be applied to the shoot, not to the melee attack.
X 0, Y 0 can represent two different things: if it's a ranged attack, 0;0 is the target, if it's a melee attack, 0;0 is your creature.
In melee attacks, 0;0 can take two different positions: if it's a small creature, it's the square where is your creature, if it's a large creature, it's the upper right square where your creature is.
Going right from the centre, X will increase, going left, X will decrease, going up, Y will increase, going down, Y will decrease.
In the bottom of the pattern there are four lines:
<RotateToMainTarget>false (or true)</RotateToMainTarget>
<DamageAll>false (or true)</DamageAll>
I'll explain what the first line means later.
The second is the damage coefficient done to the main target and the third is the damage coefficient to other targets. You can give any number, and they can be 0.5, 0.75, 1.6, ...
This example means that the main target receive double damage and the other normal damage.
The fourth line is if you want that the attack will, or will not damage your units in the area, too.
Example: Dragonís fire breath is true, Spriteís attack is false.
Now the first line: as it says, that is if you want that your creature will or will not rotate to the main target.
If it's false, you have to change the angle value of <AngleRotateTo>angle</AngleRotateTo> in the <PatternAttack> part with the rotation angle.
If it's true, the angle value of <AngleRotateTo>angle</AngleRotateTo> is always 0, but you still have to consider every attack case.
In the zip file there's an image where you can find the angles and the coordinates.
For the ranged attacks, it doesn't matter the first option because there's only one <AngleRotateTo>0</AngleRotateTo>.
Edit a patterns needs some work, but it's not difficult; you have to change/add/remove the <Item> values and change the values of the four ending lines. If you need the angles, copy a pattern that already has them.
3) Test and play
Save the file and test it.
Sorry for my English.