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

Soylent: Difference between revisions

From ModEnc
Jump to navigation Jump to search
Chpatrick (talk | contribs)
added pre-YR soylent info
m Replacing Template:TTL with Template:F.
 
(12 intermediate revisions by 4 users not shown)
Line 1: Line 1:
Soylent controls the refund value for a unit or building in game when it is sent to the [[Grinder]] in [[YR]] and the TS/RA2 sell unit at service depot logic that got removed with the YR 1.001 patch. If the flag is not included, it defaults to half the [[Cost]] value. The name of the tag 'Soylent' is a reference to the 1973 film [http://uk.imdb.com/title/tt0070723/ Soylent Green] starring Charlton Heston and during the [[YR]] allied mission Hollywood In Vain, the captured civilians can be heard saying 'Soylent Green for Yuri' as they march to the grinders.
{{flag
|name=Soylent
|files=rules(md).ini
|values=Integer
|default=[[Soylent#Default|see below]]
|types={{Categ|Technoes}}
<!-- |ts=yes
|fs=yes
|ets=yes // DC: not in the executable, who added this? -->
|ra2=yes
|yr=yes
|rp=yes}}
This flag sets the refund value for the unit when it is sold at a Service Depot (not in {{Yr}}, unless a mod has included the [[SellUnit|Sell Unit super weapon]]) or sent to a [[Grinding|Grinder]] ({{Yr}} only), or the building when it is sold using the Sell button from the sidebar.
 
==Default==
{{f|Soylent|link}} doesn't have a default value as such (internally it is zero) but it is often said to be "half the cost". A unit's ''refund amount'' is actually calculated as follows:
*If {{f|Soylent|link}} is non-zero then {{f|Soylent|link}} is used as the refund amount.
*If {{f|Soylent|link}} is zero (i.e. not set) then the refund amount is taken to be:<br>the unit's {{f|Cost|link}} * (applicable [[Country_Statistics#VeteranXXX and YYYZZZMult=|country-specific cost multiplier]] for that unit type) * (applicable [[FactoryPlant|Industrial Plant]] multipliers for that unit type){{fnl|1}}.<br>In the case of human players only (another example of the AI 'cheating'), this refund amount is then further multiplied by [{{f|General|link}}]{{arr|r}}{{f|RefundPercent|50%|link}}
{{SourceCode|http://dc.strategy-x.com/src2/TechnoTypeClass/GetRefund.cpp}}
 
{{fn|1|Note that since this multiplier is used at refund time, it will result in the same value as if you were purchasing that unit right now, not the value that was actually paid for the unit at its construction time, which results in [[#exploit2|another potential exploit]].}}
 
{{Bugs}}
=== When {{Tt|Soylent}} is specified ===
As indicated above, any unit that has a non-zero {{f|Soylent|link}} will use that value as its refund amount and ignore the normal refund logic. This means that any unit that has been discounted due to country-specific multipliers or [[FactoryPlant|Industrial Plants]] will not reimburse the player by the correct amount when sold or sent to a [[Grinding|Grinder]]. In the unmodded game this is noticeable when grinding [[VehicleTypes]]. The game's designers decided that [[VehicleTypes]] should have 100% refund rather than the default 50%, and the developers implemented this by simply setting all [[VehicleTypes]]' {{f|Soylent|link}} to match the {{f|Cost|link}} (rather than appropriately modifying the refund logic).  
 
<span id="exploit1">The result of this</span> is that, when a player owns both a [[Grinding|Grinder]] and an [[FactoryPlant|Industrial Plant]], the player can generate free money by immediately grinding any [[VehicleType]] they build. One generally accepted work-around to this problem is to set the Soylent for all units to match the multiplier(s) offered by the [[FactoryPlant|Industrial Plant]] and not to include any country-specific multipliers (this does decrease the amount of income Yuri players get from grinding enemy units, although some actually see this as an improvement to balance).
 
=== When {{Tt|Soylent}} is not specified ===
<span id="exploit2">In this case</span>, a potential exploit stems from the fact that the Industrial Plant bonus is applied at refund time - if you build units while you have a [[Grinding|Grinder]] as well as [[FactoryPlant|Industrial Plant(s)]], and then lose the Industrial Plant bonuses, you will be refunded half of the full cost by the Grinder, instead of half of the cost you purchased it for.<br>
'''Example:'''<br>
A unit usually costs 1000 credits.<br>
You have an Industrial Plant, and get the unit for 800 instead.<br>
Without {{Tt|Soylent}} on the unit, you should now get 400 credits back if you grind the unit.<br>
''But'' if you lose your Industrial Plant, the Grinder will instead refund you half of the ''normal'' price of the unit - which is 1000/2 = 500 credits. 100 more than you were entitled to.
 
==Trivia==
The name of the flag ("Soylent") is a reference to the 1973 film ''Soylent Green'' ([http://uk.imdb.com/title/tt0070723/ IMDB]/[http://en.wikipedia.org/wiki/Soylent_Green Wikipedia]) starring Charlton Heston.<br>
Another reference to this can be found in-game during the {{Yr}} Allied mission 'Hollywood In Vain'. The captured civilians can be heard saying "Soylent green for Yuri" as they march to the Grinders.
 
[[Category:General_Editing_Information]]
[[Category:INI_Flags]]
[[Category:rules(md).ini Flags]]
[[Category:InfantryTypes Flags]]
[[Category:VehicleTypes Flags]]
[[Category:AircraftTypes Flags]]
[[Category:BuildingTypes Flags]]

Latest revision as of 08:33, 27 November 2009

Tiberian Dawn The Covert Operations Red Alert Counterstrike Aftermath Tiberian Sun Firestorm HyperPatch Red Alert 2 Yuri's Revenge Ares Generals Zero Hour Tiberium Wars Kane's Wrath
Flag: Soylent
File(s): rules(md).ini
Values: Integer
Default: see below
Applicable to: TechnoTypes:

AircraftTypes, BuildingTypes, InfantryTypes and VehicleTypes



This flag sets the refund value for the unit when it is sold at a Service Depot (not in Yuri's Revenge, unless a mod has included the Sell Unit super weapon) or sent to a Grinder (Yuri's Revenge only), or the building when it is sold using the Sell button from the sidebar.

Default

Soylent doesn't have a default value as such (internally it is zero) but it is often said to be "half the cost". A unit's refund amount is actually calculated as follows:

Relevant pseudocode is available at http://dc.strategy-x.com/src2/TechnoTypeClass/GetRefund.cpp.

1 Note that since this multiplier is used at refund time, it will result in the same value as if you were purchasing that unit right now, not the value that was actually paid for the unit at its construction time, which results in another potential exploit.

Bugs/Side-Effects/Unexpected Limitations

When Soylent is specified

As indicated above, any unit that has a non-zero Soylent will use that value as its refund amount and ignore the normal refund logic. This means that any unit that has been discounted due to country-specific multipliers or Industrial Plants will not reimburse the player by the correct amount when sold or sent to a Grinder. In the unmodded game this is noticeable when grinding VehicleTypes. The game's designers decided that VehicleTypes should have 100% refund rather than the default 50%, and the developers implemented this by simply setting all VehicleTypes' Soylent to match the Cost (rather than appropriately modifying the refund logic).

The result of this is that, when a player owns both a Grinder and an Industrial Plant, the player can generate free money by immediately grinding any VehicleType they build. One generally accepted work-around to this problem is to set the Soylent for all units to match the multiplier(s) offered by the Industrial Plant and not to include any country-specific multipliers (this does decrease the amount of income Yuri players get from grinding enemy units, although some actually see this as an improvement to balance).

When Soylent is not specified

In this case, a potential exploit stems from the fact that the Industrial Plant bonus is applied at refund time - if you build units while you have a Grinder as well as Industrial Plant(s), and then lose the Industrial Plant bonuses, you will be refunded half of the full cost by the Grinder, instead of half of the cost you purchased it for.
Example:
A unit usually costs 1000 credits.
You have an Industrial Plant, and get the unit for 800 instead.
Without Soylent on the unit, you should now get 400 credits back if you grind the unit.
But if you lose your Industrial Plant, the Grinder will instead refund you half of the normal price of the unit - which is 1000/2 = 500 credits. 100 more than you were entitled to.

Trivia

The name of the flag ("Soylent") is a reference to the 1973 film Soylent Green (IMDB/Wikipedia) starring Charlton Heston.
Another reference to this can be found in-game during the Yuri's Revenge Allied mission 'Hollywood In Vain'. The captured civilians can be heard saying "Soylent green for Yuri" as they march to the Grinders.