1
0
forked from mirrors/0ad

Rework PreferredClasses to target either Human or Human/Siege.

'Hack' melee units had a preference towards Siege units. This made them
awkward to use in some fights.
PreferredClasses is not intended to remove Micro from the player's hand
but to prevent units from attacking unlikely targets (e.g. ships for
land units).

As such, this reworks PreferredClasses so that:
- Ranged & Spearmen/Pikemen (which deal Pierce damage) target Human
units, against which they are reasonably effective.
- Other units target either Human or Siege units with no particular
preference (Unit+!Ship).

This further specifies the preferred classes for all base templates for
easier modification, since extending this list (ordered by priority) is
tricky.

Patch by: borg-
Reviewed By: Nescio, wraitii
Differential Revision: https://code.wildfiregames.com/D2851
This was SVN commit r23831.
This commit is contained in:
wraitii
2020-07-14 08:39:31 +00:00
parent 4bed678194
commit 1f2286305d
25 changed files with 20 additions and 17 deletions
@@ -14,7 +14,6 @@
<MaxRange>3.5</MaxRange>
<PrepareTime>375</PrepareTime>
<RepeatTime>750</RepeatTime>
<PreferredClasses datatype="tokens">Human</PreferredClasses>
</Melee>
</Attack>
<Identity>
@@ -10,7 +10,7 @@
<Hack>6.9</Hack>
<Crush>2.3</Crush>
</Damage>
<PreferredClasses datatype="tokens">Siege</PreferredClasses>
<PreferredClasses datatype="tokens">Unit+!Ship</PreferredClasses>
</Melee>
</Attack>
<Cost>
@@ -14,6 +14,7 @@
</BonusCavMelee>
</Bonuses>
<RepeatTime>1250</RepeatTime>
<PreferredClasses datatype="tokens">Human</PreferredClasses>
</Melee>
</Attack>
<Cost>
@@ -11,7 +11,7 @@
<Pierce>0</Pierce>
<Crush>0.0</Crush>
</Damage>
<PreferredClasses datatype="tokens">Siege</PreferredClasses>
<PreferredClasses datatype="tokens">Unit+!Ship</PreferredClasses>
</Melee>
</Attack>
<Cost>
@@ -19,7 +19,6 @@
<FriendlyFire>false</FriendlyFire>
<LaunchPoint y="3"/>
</Projectile>
<PreferredClasses datatype="tokens">Human</PreferredClasses>
</Ranged>
</Attack>
<Health>
@@ -16,6 +16,7 @@
<Gravity>39.81</Gravity>
<Spread>3.0</Spread>
</Projectile>
<PreferredClasses datatype="tokens">Human</PreferredClasses>
</Ranged>
</Attack>
<Cost>
@@ -16,6 +16,7 @@
<Gravity>39.81</Gravity>
<Spread>4.0</Spread>
</Projectile>
<PreferredClasses datatype="tokens">Human</PreferredClasses>
</Ranged>
</Attack>
<Cost>
@@ -13,7 +13,7 @@
<MaxRange>3.5</MaxRange>
<PrepareTime>500</PrepareTime>
<RepeatTime>1000</RepeatTime>
<PreferredClasses datatype="tokens">Human Siege</PreferredClasses>
<PreferredClasses datatype="tokens">Unit+!Ship</PreferredClasses>
</Melee>
</Attack>
<Cost>
@@ -14,7 +14,7 @@
<MaxRange>3.5</MaxRange>
<PrepareTime>375</PrepareTime>
<RepeatTime>750</RepeatTime>
<PreferredClasses datatype="tokens">Human Siege</PreferredClasses>
<PreferredClasses datatype="tokens">Unit+!Ship</PreferredClasses>
</Melee>
</Attack>
<Cost>
@@ -14,7 +14,7 @@
<MaxRange>3.5</MaxRange>
<PrepareTime>500</PrepareTime>
<RepeatTime>1000</RepeatTime>
<PreferredClasses datatype="tokens">Human Siege</PreferredClasses>
<PreferredClasses datatype="tokens">Unit+!Ship</PreferredClasses>
</Melee>
</Attack>
<Cost>
@@ -14,7 +14,6 @@
<MaxRange>3.5</MaxRange>
<PrepareTime>375</PrepareTime>
<RepeatTime>750</RepeatTime>
<PreferredClasses datatype="tokens">Human Siege</PreferredClasses>
</Melee>
</Attack>
<Cost>
@@ -14,7 +14,7 @@
<MaxRange>3.5</MaxRange>
<PrepareTime>375</PrepareTime>
<RepeatTime>750</RepeatTime>
<PreferredClasses datatype="tokens">Human Siege</PreferredClasses>
<PreferredClasses datatype="tokens">Unit+!Ship</PreferredClasses>
</Melee>
</Attack>
<Cost>
@@ -13,7 +13,7 @@
<MaxRange>3.5</MaxRange>
<PrepareTime>500</PrepareTime>
<RepeatTime>1000</RepeatTime>
<PreferredClasses datatype="tokens">Human Siege</PreferredClasses>
<PreferredClasses datatype="tokens">Unit+!Ship</PreferredClasses>
</Melee>
</Attack>
<Identity>
@@ -14,7 +14,7 @@
<MaxRange>3.5</MaxRange>
<PrepareTime>375</PrepareTime>
<RepeatTime>750</RepeatTime>
<PreferredClasses datatype="tokens">Human Siege</PreferredClasses>
<PreferredClasses datatype="tokens">Unit+!Ship</PreferredClasses>
</Melee>
</Attack>
<Cost>
@@ -14,7 +14,7 @@
<MaxRange>3.5</MaxRange>
<PrepareTime>500</PrepareTime>
<RepeatTime>1000</RepeatTime>
<PreferredClasses datatype="tokens">Human Siege</PreferredClasses>
<PreferredClasses datatype="tokens">Unit+!Ship</PreferredClasses>
</Melee>
</Attack>
<Identity>
@@ -14,7 +14,7 @@
<MaxRange>3.5</MaxRange>
<PrepareTime>375</PrepareTime>
<RepeatTime>750</RepeatTime>
<PreferredClasses datatype="tokens">Human Siege</PreferredClasses>
<PreferredClasses datatype="tokens">Unit+!Ship</PreferredClasses>
</Melee>
</Attack>
<Cost>
@@ -10,7 +10,6 @@
<MaxRange>3.5</MaxRange>
<PrepareTime>500</PrepareTime>
<RepeatTime>1000</RepeatTime>
<PreferredClasses datatype="tokens">Human</PreferredClasses>
</Melee>
</Attack>
<Health>
@@ -10,7 +10,7 @@
<Hack>6</Hack>
<Crush>2</Crush>
</Damage>
<PreferredClasses datatype="tokens">Siege</PreferredClasses>
<PreferredClasses datatype="tokens">Unit+!Ship</PreferredClasses>
</Melee>
</Attack>
<Cost>
@@ -18,6 +18,7 @@
<Multiplier>3.0</Multiplier>
</BonusCavMelee>
</Bonuses>
<PreferredClasses datatype="tokens">Human</PreferredClasses>
</Melee>
</Attack>
<Cost>
@@ -17,6 +17,7 @@
<Multiplier>3.0</Multiplier>
</BonusCavMelee>
</Bonuses>
<PreferredClasses datatype="tokens">Human</PreferredClasses>
</Melee>
</Attack>
<Cost>
@@ -11,7 +11,7 @@
<Pierce>0</Pierce>
</Damage>
<RepeatTime>750</RepeatTime>
<PreferredClasses datatype="tokens">Siege</PreferredClasses>
<PreferredClasses datatype="tokens">Unit+!Ship</PreferredClasses>
</Melee>
</Attack>
<Cost>
@@ -24,7 +24,6 @@
<FriendlyFire>false</FriendlyFire>
<LaunchPoint y="3"/>
</Projectile>
<PreferredClasses datatype="tokens">Human</PreferredClasses>
</Ranged>
</Attack>
<Health>
@@ -20,6 +20,7 @@
<Gravity>39.81</Gravity>
<Spread>3.0</Spread>
</Projectile>
<PreferredClasses datatype="tokens">Human</PreferredClasses>
</Ranged>
</Attack>
<Cost>
@@ -20,6 +20,7 @@
<Gravity>39.81</Gravity>
<Spread>4.0</Spread>
</Projectile>
<PreferredClasses datatype="tokens">Human</PreferredClasses>
</Ranged>
</Attack>
<Cost>
@@ -20,6 +20,7 @@
<Spread>3.5</Spread>
<Gravity>29.81</Gravity>
</Projectile>
<PreferredClasses datatype="tokens">Human</PreferredClasses>
</Ranged>
</Attack>
<Cost>