ModEnc is currently in Maintenance Mode: Changes could occur at any given moment, without advance warning.

Difference between revisions of "Who crushes whom"

From ModEnc
Jump to: navigation, search
 
(9 intermediate revisions by 5 users not shown)
Line 1: Line 1:
This page details how the crushing system works. The table shows whether a defender can be crushed by an attacker, depending on how the flags {{TTL|Crusher}}, {{TTL|Crushable}}, {{TTL|OmniCrusher}} and {{TTL|OmniCrushResistant}} are set. Empty cells signal that one property does not influence the other, e.g. for {{tt|Crusher}} it's totally irrelevant whether {{tt|OmniCrushResistant}} is yes or no.
+
This page details how the crushing system works. The table shows whether a defender can be crushed by an attacker, depending on how the flags {{f|Crusher|link}}, {{f|Crushable|link}}, {{f|OmniCrusher|link}} and {{f|OmniCrushResistant|link}} are set, and for reference, also shows the effect of {{f|IsTrain|yes|link}}.
  
 
<div align="center">
 
<div align="center">
Line 7: Line 7:
 
|rowspan=3 |
 
|rowspan=3 |
 
|colspan=2 |
 
|colspan=2 |
!colspan=4 style="border: 1px solid #000000;"|Defender
+
!colspan=6 style="border: 1px solid #000000;"|Defender
 
|-
 
|-
 
|colspan=2 |
 
|colspan=2 |
|colspan=2 |{{TTL|Crushable}}
+
|colspan=2 |{{f|Crushable|link}}
|colspan=2 |{{TTL|OmniCrushResistant}}
+
|colspan=2 |{{f|DeployedCrushable|link}}
 +
|colspan=2 |{{f|OmniCrushResistant|link}}
 
|-
 
|-
 
|colspan=2 |
 
|colspan=2 |
 +
|style="background:#e5e5e5;"|{{Tt|yes}}
 +
|style="background:#e5e5e5;"|{{Tt|no}}
 
|style="background:#e5e5e5;"|{{Tt|yes}}
 
|style="background:#e5e5e5;"|{{Tt|yes}}
 
|style="background:#e5e5e5;"|{{Tt|no}}
 
|style="background:#e5e5e5;"|{{Tt|no}}
Line 19: Line 22:
 
|style="background:#e5e5e5;"|{{Tt|no}}
 
|style="background:#e5e5e5;"|{{Tt|no}}
 
|-
 
|-
!rowspan=4 style="border: 1px solid #000000;"|&nbsp;&nbsp;A&nbsp;&nbsp;<br>t<br>t<br>a<br>c<br>k<br>e<br>r
+
!rowspan=6 style="border: 1px solid #000000;"|&nbsp;&nbsp;A&nbsp;&nbsp;<br>t<br>t<br>a<br>c<br>k<br>e<br>r
|rowspan=2 style='vertical-align: middle;' |{{TTL|Crusher}}
+
|rowspan=2 style='vertical-align: middle;' |{{f|Crusher|link}}
 
|style="background:#e5e5e5;"|{{Tt|yes}}
 
|style="background:#e5e5e5;"|{{Tt|yes}}
 +
|style="background:#F0F0F0;"|{{Y}}
 +
|style="background:#F0F0F0;"|{{N}}
 
|style="background:#F0F0F0;"|{{Y}}
 
|style="background:#F0F0F0;"|{{Y}}
 
|style="background:#F0F0F0;"|{{N}}
 
|style="background:#F0F0F0;"|{{N}}
Line 32: Line 37:
 
|style="background:#F0F0F0;"|{{N}}
 
|style="background:#F0F0F0;"|{{N}}
 
|style="background:#F0F0F0;"|{{N}}
 
|style="background:#F0F0F0;"|{{N}}
 +
|style="background:#F0F0F0;"|
 +
|style="background:#F0F0F0;"|
 
|-
 
|-
|rowspan=2 |{{TTL|OmniCrusher}}
+
|rowspan=2 |{{f|OmniCrusher|link}}
 
|style="background:#e5e5e5;"|{{Tt|yes}}
 
|style="background:#e5e5e5;"|{{Tt|yes}}
|style="background:#F0F0F0;"|{{Y}}
+
|style="background:#F0F0F0;"|
|style="background:#F0F0F0;"|{{Y}}
+
|style="background:#F0F0F0;"|
 +
|style="background:#F0F0F0;"|
 +
|style="background:#F0F0F0;"|
 
|style="background:#F0F0F0;"|{{N}}
 
|style="background:#F0F0F0;"|{{N}}
 
|style="background:#F0F0F0;"|{{Y}}
 
|style="background:#F0F0F0;"|{{Y}}
 
|-
 
|-
 
|style="background:#e5e5e5;"|{{Tt|no}}
 
|style="background:#e5e5e5;"|{{Tt|no}}
 +
|style="background:#F0F0F0;"|
 +
|style="background:#F0F0F0;"|
 +
|style="background:#F0F0F0;"|
 
|style="background:#F0F0F0;"|
 
|style="background:#F0F0F0;"|
 
|style="background:#F0F0F0;"|{{N}}
 
|style="background:#F0F0F0;"|{{N}}
 
|style="background:#F0F0F0;"|{{N}}
 
|style="background:#F0F0F0;"|{{N}}
|style="background:#F0F0F0;"|{{N}}
+
|-
 +
|rowspan=2 |{{f|IsTrain|link}}
 +
|style="background:#e5e5e5;"|{{Tt|yes}}
 +
|style="background:#F0F0F0;"|{{Y}}
 +
|style="background:#F0F0F0;"|{{Y}}
 +
|style="background:#F0F0F0;"|{{Y}}
 +
|style="background:#F0F0F0;"|{{Y}}
 +
|style="background:#F0F0F0;"|{{Y}}
 +
|style="background:#F0F0F0;"|{{Y}}
 
|}
 
|}
  
:<small>OmniCrusher and OmniCrushResistant are only available in [[Yuri's Revenge]].</small>
+
:<small>{{f|OmniCrusher|link}} and {{f|OmniCrushResistant|link}} are only available in {{f|Yuri's Revenge|link}}.</small>
 +
:<small>Please see below for certain side effects of {{f|IsTrain|link}}.</small>
 
</div>
 
</div>
'''In detail:'''
 
*{{TTL|Crusher}} determines if this VehicleType can crush InfantryTypes.
 
*{{TTL|Crushable}} determines if this InfantryTypes can be crushed by VehicleTypes.
 
:''Only if the Attacker is {{tt|Crusher&#61;yes}} and the Defender is {{tt|Crushable&#61;yes}}, the crushing can happen.''
 
*{{TTL|OmniCrusher}}, if enabled, allows the VehicleType to also crush InfantryTypes who are set {{tt|Crushable&#61;no}}, and to crush other VehicleTypes.
 
*{{TTL|OmniCrushResistant}} determines if this VehicleType can be crushed by other VehicleTypes.
 
:''Only if the Attacker is {{tt|OmniCrusher&#61;yes}} and the Defender is {{tt|OmniCrushResistant&#61;no}}, one VehicleType can crush the other.''
 
  
[[Category: General Editing Information]]
+
Empty cells signal that one property does not influence the other, specifically:
 +
*''In fact, although the table above looks more intuitive, it complicates the problem.''
 +
'''{{f|Crusher|link}}''' Only check {{f|Crushable|link}} and {{f|DeployedCrushable|link}}
 +
 
 +
'''{{f|OmniCrusher|link}}''' Only checks {{f|OmniCrushResistant|link}}
 +
 
 +
*The two are calculated separately, and there is no such thing as a "higher crush level"
 +
**This is an illusion, and the reason it causes is that when there is {{f|OmniCrusher|yes|link}}, there must also be {{f|Crusher|yes|link}}.
 +
***because {{f|OmniCrusher|yes|link}} only takes effect when <font style="color:red"><b>Crusher=yes</b></font>, which means it cannot be used alone.
 +
 
 +
'''The flags in detail:'''
 +
*{{f|Crusher|link}} determines if this VehicleType can crush objects.
 +
*{{f|Crushable|link}} determines if this object can be crushed by {{f|Crusher|yes|link}}.
 +
:''Only if the Attacker is {{f|Crusher|yes|link}} and the Defender is {{f|Crushable|yes|link}}, the crushing can happen.''<br>
 +
**When {{f|Crushable|yes|link}}, the Infantry property in the deployed state can be controlled separately using {{f|DeployedCrushable|no|link}}
 +
***but it cannot take effect independently when {{f|Crushable|no|link}}.
 +
****That is to say, you cannot create an {{f|InfantryTypes|link}} that can only be crushed in deployment state and cannot be crushed normally.
 +
*{{f|OmniCrusher|link}}, if enabled, allows the VehicleType to crush objects who are set {{f|OmniCrushResistant|no|link}}.
 +
*{{f|OmniCrushResistant|link}} determines if this object can be crushed by {{f|OmniCrusher|yes|link}}.
 +
**This is not in conflict with the previous statement '{{f|Crushable|link}} determines if this object can be crushed by Crushers.', and operate independently of each other.
 +
 
 +
for example: <br>
 +
{{f|Crusher|yes|link}} & {{f|OmniCrusher|yes|link}} vehicles can take effect on a {{f|Crushable|yes|link}} & {{f|OmniCrushResistant|yes|link}} vehicle
 +
 
 +
*{{f|IsTrain|link}}, if enabled, basically nullifies all of the above, and has some additional effects, as detailed below.
 +
**However, {{f|IsTrain|yes|link}} is only responsible for handling tasks when neither of the above mentioned crushes can occur, which means that if one of the crushes can be used to complete the task, IsTrain's effect will not be used but the normal Crush effect will be used.
 +
***Of course, different approaches will be chosen based on the different goals.
 +
<br>
 +
Note that units only killed by {{f|IsTrain|link}} can trigger their {{f|DeathWeapon|link}}.
 +
*Based on the usage rules above, you can limit units to only trigger their {{f|DeathWeapon|link}} when they are crushed by specific types of {{f|IsTrain|yes|link}} {{f|VehicleTypes|link}}
 +
**as other times it is actually a regular crush rather than the effect of {{f|IsTrain|yes|link}}.
 +
 
 +
==IsTrain==
 +
*A unit with {{f|IsTrain|yes|link}} will be able to crush <i>anything</i> regardless of {{f|Crushable|link}}, {{f|OmniCrushResistant|link}} or even {{f|Immune|link}}.
 +
**Except for {{f|BuildingTypes|link}} with {{f|BridgeRepairHut|yes|link}}<br />
 +
*A unit with {{f|IsTrain|yes|link}} will also be able to "crush" any buildings that happen to occupy the same cell as the unit. This results in such a vehicle with this flag being unable to exit the War Factory that produced it, as it will destroy the building and itself upon creation.<br />
 +
*{{f|IsTrain|link}} has no real effect when applied to {{f|InfantryTypes|link}} or {{f|AircraftTypes|link}}.
 +
*<b>However</b>, a unit with {{f|IsTrain|yes|link}} produces some interesting behavious when it comes into contact with walls:
 +
**When travelling through a single wall cell, the unit will pass through as if the wall was not there, and no damage will be done to the wall.
 +
**But, if it encounters another wall cell immediately after, the unit will become 'stuck' on that wall cell. The wall cannot be sold, and the unit will be unable to move. Basically, don't combine train units with walls.
 +
**A similar effect can happen with terrain objects such as trees and rocks. The {{f|IsTrain|yes|link}} unit will be able to move through these, however if it stops on them, or attempts to move through a several-cells-thick group of them, it will become stuck on said terrain object.
 +
*Its effect has a nearly random delay, which sometimes it simply crosses a unit without destroying it.
 +
==See Also==
 +
[[Crusher]]
 +
 
 +
[[Crushable]]
 +
 
 +
[[DeployedCrushable]]
 +
 
 +
 
 +
[[OmniCrusher]]
 +
 
 +
[[OmniCrushResistant]]
 +
 
 +
 
 +
[[IsTrain]]
 +
 
 +
[[DeathWeapon]]
 +
{{f|Category: General Editing Information|link}}

Latest revision as of 11:30, 20 July 2024

This page details how the crushing system works. The table shows whether a defender can be crushed by an attacker, depending on how the flags Crusher, Crushable, OmniCrusher and OmniCrushResistant are set, and for reference, also shows the effect of IsTrain=yes.

Can Defender be crushed by Attacker?
Defender
Crushable DeployedCrushable OmniCrushResistant
yes no yes no yes no
  A  
t
t
a
c
k
e
r
Crusher yes Cc apply.png Cc cancel.png Cc apply.png Cc cancel.png
no Cc cancel.png Cc cancel.png Cc cancel.png Cc cancel.png
OmniCrusher yes Cc cancel.png Cc apply.png
no Cc cancel.png Cc cancel.png
IsTrain yes Cc apply.png Cc apply.png Cc apply.png Cc apply.png Cc apply.png Cc apply.png
OmniCrusher and OmniCrushResistant are only available in Yuri's Revenge.
Please see below for certain side effects of IsTrain.

Empty cells signal that one property does not influence the other, specifically:

  • In fact, although the table above looks more intuitive, it complicates the problem.

Crusher Only check Crushable and DeployedCrushable

OmniCrusher Only checks OmniCrushResistant

  • The two are calculated separately, and there is no such thing as a "higher crush level"
    • This is an illusion, and the reason it causes is that when there is OmniCrusher=yes, there must also be Crusher=yes.
      • because OmniCrusher=yes only takes effect when Crusher=yes, which means it cannot be used alone.

The flags in detail:

Only if the Attacker is Crusher=yes and the Defender is Crushable=yes, the crushing can happen.

for example:
Crusher=yes & OmniCrusher=yes vehicles can take effect on a Crushable=yes & OmniCrushResistant=yes vehicle

  • IsTrain, if enabled, basically nullifies all of the above, and has some additional effects, as detailed below.
    • However, IsTrain=yes is only responsible for handling tasks when neither of the above mentioned crushes can occur, which means that if one of the crushes can be used to complete the task, IsTrain's effect will not be used but the normal Crush effect will be used.
      • Of course, different approaches will be chosen based on the different goals.


Note that units only killed by IsTrain can trigger their DeathWeapon.

  • Based on the usage rules above, you can limit units to only trigger their DeathWeapon when they are crushed by specific types of IsTrain=yes VehicleTypes
    • as other times it is actually a regular crush rather than the effect of IsTrain=yes.

IsTrain

  • A unit with IsTrain=yes will be able to crush anything regardless of Crushable, OmniCrushResistant or even Immune.
  • A unit with IsTrain=yes will also be able to "crush" any buildings that happen to occupy the same cell as the unit. This results in such a vehicle with this flag being unable to exit the War Factory that produced it, as it will destroy the building and itself upon creation.
  • IsTrain has no real effect when applied to InfantryTypes or AircraftTypes.
  • However, a unit with IsTrain=yes produces some interesting behavious when it comes into contact with walls:
    • When travelling through a single wall cell, the unit will pass through as if the wall was not there, and no damage will be done to the wall.
    • But, if it encounters another wall cell immediately after, the unit will become 'stuck' on that wall cell. The wall cannot be sold, and the unit will be unable to move. Basically, don't combine train units with walls.
    • A similar effect can happen with terrain objects such as trees and rocks. The IsTrain=yes unit will be able to move through these, however if it stops on them, or attempts to move through a several-cells-thick group of them, it will become stuck on said terrain object.
  • Its effect has a nearly random delay, which sometimes it simply crosses a unit without destroying it.

See Also

Crusher

Crushable

DeployedCrushable


OmniCrusher

OmniCrushResistant


IsTrain

DeathWeapon