Modding Resource Header

Title: How To...Modify Siege Tower Aspects
Posted by: Seasoned Alcoholic
Modding area: Units / Buildings (Siege Towers, Wall Towers)
Required programmes: Notepad (or other text editor)
Related links: How to make buildings flammable on the battlemap
Summary: This guide illustrates how to modify several aspects of both siege and wall towers. These aspects include: siege tower health, siege tower flammability, siege tower rate of fire, how to change siege tower projectiles, attack attributes.

Tutorial Contents:

* Introduction
* Part 1: Siege Towers
* Part 2: Siege Tower Health
* Part 3: Siege Tower Flammability
* Part 4: Siege Tower Rate of Fire
* Part 5: How To Change Siege Tower Projectiles
* Part 6(a): Attack Attributes of Siege Towers
* Part 6(b): Attack Attributes of Wall & Gateway Towers

What You Need:
descr_engines.txt (DE) @ \Data
descr_projectiles_new.txt (DPN) @ \Data

Before you begin:
Make necessary backups to the text files listed above. Do this frequently as you progress through editing both files. In the case of an error (usually in the form of a CTD) for whatever reason, you will then have a working file to fall back upon if and when needed. It is a good idea to number / date / name etc your backups so that you will know which is the most latest version without confusing yourself. Only delete a backup when you are 100% convinced that this backup is no longer relevant to your latest version of the game.

You need to have all the files open as you will be doing a lot of cross-referencing between each.

Introduction

I'm not sure if this is common knowledge for most, but after reading a few related topics in various forums, and spotting the absence of this type of tutorial, I've decided to create this as a reference point.

What this tutorial does is to modify various aspects of both siege and wall towers, and as a result will have noticable effects during siege battles. You will need to do some extensive testing in custom battles (siege assault option, not last man standing / scored resolution) to achieve specific results, expect to do a fair amount of tweaking in DE and DPN.

The various parts of the guide below are not sorted. Once you've read through them, hopefully you should be able to see the links between these various aspects and what each represents during siege assaults.

Part 1: Siege Towers

Open DE, and either scroll down to or search for (Ctrl+F for a text search, Ctrl+G for a specific line search) siege_tower. You should see the following:

Code:
type                siege_tower
culture                all
class                tower
variant                small
projectile            arrow
Underneath the siege_tower entry you will see middle_tower and then heliopolis, which are the other 2 siege tower types. Here is a quick reminder of each type of siege tower and when you will use it during sieges:

* siege_tower --- smallest of the 3 siege towers, this is the type that is used against (small) stone walls. Its most distinguishing feature is that its the only siege tower that you will see men climb up (the other 2 towers use an ascending feature, similar to that used in wall towers).

* middle_tower --- this is the medium siege tower that is used against large stone walls.

* heliopolis --- this is the largest siege tower of the 3, and is used when facing epic stone walls.

Part 2: Siege Tower Health

To edit the health of a siege tower, scroll or search for this entry in DE and modify as necessary (siege_tower is used in this example):

Code:
engine_health        130
What this represents (as the name suggests) is the amount of damage the tower can withstand before it collapses and falls apart, killing any present occupiers in the process (not good if you're assaulting ~D).

You may have noticed that when you move your cursor over a siege tower, you will see its health bar (EG siege tower damage 0%). However, it seems that this health bar for siege_tower and middle_tower is not influenced when it is attacked by enemy wall towers / gateway towers. The heliopolis' health bar, on the other hand, will be updated after it sustains damage from opposing towers of the epic stone walls.

Additionally, my test results have revealed that enemy missile fire from archers' (flaming) arrows, peltasts' javelins etc does not impact upon the siege tower's health bar. Monitor the heliopolis' health bar after a unit of archers fire flaming missiles at it - the health bar remains unchanged until it is hit again by an opposing wall / gateway tower. This is confirmed in DPN because the damage attribute (which reflects damage inflicted upon buildings, siege towers etc) is 0 for these missile types.

I'm yet to test whether enemy siege weapon fire (EG onagers, heavy onagers) have any direct impact upon the health of a tower, but judging from their damage capabilites in DPN, I'm pretty sure a direct hit from siege equipment will damage a siege tower.

Part 3: Siege Tower Flammability

In DE, for each siege tower in turn, browse to these entries
(siege_tower is used in this example):

Code:
engine_flammable    true
engine_ignition        0.20
In order for a siege tower of any type to go up in flames, engine_flammable must be set to true. The engine_ignition is the chance that it actually ignites in flames. So to increase the chances of siege tower flammability, increase engine_ignition (don't think decimal places is necessary, but you might as well work to at least 1dp, possible 2dp), and vice versa.

I'm certain that siege towers can only be made to go up in flames from the flaming missile fire (flaming_ballistas) that are fired from wall and gateway towers. Flaming arrows from archers will have no effect because their projectiles at present do 0 damage to siege towers / buildings etc. Not sure what flaming boulders from various onager types would do, probably the same as flaming ballistas, but again this depends on the engine_ignition chance.

Here's a few screens for all you budding pyromaniacs out there ~:thumb:







Part 4: Siege Tower Rate of Fire

In DE, scroll to these entries (siege_tower is illustrated):

Code:
arrow_generator        2 21.8 3.3
aim_dir                0.0 0.0 1.0
aim_arc                1.0
fire_interval        1.5

arrow_generator        1 21.8 3.3
aim_dir                0.0 0.0 1.0
aim_arc                1.0
fire_interval        1.5

arrow_generator        0 21.8 3.3
aim_dir                0.0 0.0 1.0
aim_arc                1.0
fire_interval        1.5

arrow_generator        -1 21.8 3.3
aim_dir                0.0 0.0 1.0
aim_arc                1.0
fire_interval        1.5

arrow_generator        -2 21.8 3.3
aim_dir                0.0 0.0 1.0
aim_arc                1.0
fire_interval        1.5
These are the projectiles that are fired from the siege tower as it approaches enemy fortifications. Each entry appears to be all the possibilties (not sure whether this is related to a specific angle) of where the siege tower can fire.

You may have noticed that a siege tower's rate of fire at present is too high. To reduce the rate of fire, increase each of the fire_interval entries to your own tastes (try 1dp as before, or 2dp if absolutely necessary). You will need to test your results quite extensively to get the desired results, use custom battles to do this.

Part 5: How To Change Siege Tower Projectiles

Again in DE, scroll to this entry (siege_tower is used again to illustrate):

Code:
type                siege_tower
culture                all
class                tower
variant                small
projectile            arrow
The entry we are interested in is projectile, ignore the others. At present, siege_tower apparently fires arrow projectiles at wall / settlement defenders. To improve siege_tower defences, we can add a scorpion projectile(s) to the siege tower. To do this, simply replace arrow with scorpion, and you should have something similar to the following:

Code:
type                siege_tower
culture                all
class                tower
variant                small
projectile            scorpion
We also need to edit a few of the attack attributes further down, at present they are displayed like this:

Code:
attack_stat         8, 2, arrow, 100, 100, missile, archery, piercing
attack_stat_attr    ap
Edit these to make them look as below:

Code:
attack_stat         8, 2, scorpion, 100, 30, siege_missile, siege, piercing
attack_stat_attr    ap
Of course, you can add other projectiles to each siege tower. Using a similar method to above, and referring to DPN for projectile types, you can modify all of the existing siege towers' defences.

Part 6(a): Attack Attributes of Siege Towers

We've briefly touched upon attack attributes already (in part 5), they should look like this (unmodified siege_tower entry is displayed):

Code:
attack_stat         8, 2, arrow, 100, 100, missile, archery, piercing
attack_stat_attr    ap
To edit the attack attributes of siege towers, we use a similar method as if were editing a siege weapons' attributes in export_descr_unit (EDU). Here's the guideline extract from EDU if you're unfamiliar with attack attributes (the entries in bold are the only ones that are applicable):

Code:
;Details of unit's primary weapon. If the unit has a missile weapon it must be the primary
; stat_pri      From left to right
;               attack factor
;               attack bonus factor if charging
;               missile type fired (no if not a missile weapon type)
;               range of missile
;               amount of missile ammunition per man
;               Weapon type = melee, thrown, missile, or siege_missile
;               Tech type = simple, other, blade, archery or siege
;               Damage type = piercing, blunt, slashing or fire.
;               Sound type when weapon hits = none, knife, mace, axe, sword, or spear
;               Min delay between attacks (in 1/10th of a second)
; stat_pri_attr
;               primary weapon attributes any or all of
;                   ap = armour piercing. Only counts half of target's armour
;                   bp = body piercing. Missile can pass through men and hit those behind
;                   spear = Used for long spears. Gives bonuses fighting cavalry, and penalties against infantry
;                   long_pike = Use very long pikes. Phalanx capable units only
;                   short_pike = Use shorter than normal spears. Phalanx capable units only
;                   prec = Missile weapon is only thrown just before charging into combat
;                   thrown = The missile type if thrown rather than fired
;                   launching = attack may throw target men into the air
;                   area = attack affects an area, not just one man
Modify these attributes until you reach the desired results!

Part 6(b): Attack Attributes of Wall & Gateway Towers

Open DPN and scroll / search for these entries (located towards the bottom of the file):

Code:
projectile tower_ballista
Code:
projectile tower_flaming_ballista
You'll see several various attributes, the ones we want to focus on are damage and damage_to_troops. damage refers to the damage done to siege towers, buildings etc, whereas damage_to_troops refers to the damage inflicted upon enemy units. You can also modify other aspects such as velocity, the angle the projectile can be fired at, and so on.

As mentioned throughout the tutorial, you will need to spend some time in custom battles to test out your results. Good luck!