Jump to content

PrismSupportModifier: Difference between revisions

From ModEnc²
en>Crimsonum
m Added into the new bugs category.
Rain-Islet (talk | contribs)
mNo edit summary
 
(2 intermediate revisions by 2 users not shown)
Line 18: Line 18:
<!-- who's the smartest coders? that's right, westwood is -->
<!-- who's the smartest coders? that's right, westwood is -->


{{Bugs}}This flag is parsed in an incorrect way: after reading its value from the INI file, it's multiplied by 100 before being saved internally. Due to the fact that the ini parser reads each flag in {{sl|General}} whenever the {{Tt|[General]}} section is present in the file, and if it can't interpret the flag's value properly (say, the flag was not redeclared), it falls back to the value the flag already has. Which means, if the {{Tt|[General]}} section is present in the mpmode file/map, but this flag is not, then its value is multiplied by 100 ''again'' for each such case. Which results in a severely overpowered weapon.
=={{Bugs}}==
This flag is parsed in an incorrect way: after reading its value from the INI file, it's multiplied by 100 before being saved internally. Due to the fact that the ini parser reads each flag in {{sl|General}} whenever the {{Tt|[General]}} section is present in the file, and if it can't interpret the flag's value properly (say, the flag was not redeclared), it falls back to the value the flag already has. Which means, if the {{Tt|[General]}} section is present in the mpmode file/map, but this flag is not, then its value is multiplied by 100 ''again'' for each such case. Which results in a severely overpowered weapon.


[[Category:Resetting Flags]]
[[Category:Resetting Flags]]

Latest revision as of 18:07, 2 July 2025

Tiberian Dawn Red Alert Tiberian Sun Firestorm Red Alert 2 Yuri's Revenge
Flag: PrismSupportModifier
File(s): rules(md).ini
Values: Floating point values: Any decimal number (clearer range should be added in Template:Values).
Default: 100.0 (broken, see ↓ below)
Applicable to: General


This flag specifies a multiplier to damage when a building designated as PrismType fires its weapon supported by other buildings of the same type.

Actual damage done by a linked PrismType is calculated like this:

// naming: PSM.ini - the value specified for this flag in the rules.ini file
// DamageMultiplier is 1.0 on normal projectiles

Projectile->DamageMultiplier = ( ( (NumberOfSupportingPrisms * (PSM.ini * 100) + 100) * 256 ) / 100 ) / 256;

Bugs/Side-Effects/Unexpected Limitations

This flag is parsed in an incorrect way: after reading its value from the INI file, it's multiplied by 100 before being saved internally. Due to the fact that the ini parser reads each flag in [General] whenever the [General] section is present in the file, and if it can't interpret the flag's value properly (say, the flag was not redeclared), it falls back to the value the flag already has. Which means, if the [General] section is present in the mpmode file/map, but this flag is not, then its value is multiplied by 100 again for each such case. Which results in a severely overpowered weapon.