Phobos
Phobos copied to clipboard
Disguise logic improvements & reimplemented insignia drawing
Disguise logic additions (disguise-based movement speed, ally disguise blinking)
-
ShowAllyDisguiseBlinking
, if set to true, will allow players to see blinking disguises on disguised ally units. Additionally observer players can see blinking disguises of all players. -
UseDisguiseMovementSpeed
, if set, makes disguised unit adjust its movement speed to match that of the disguise, if applicable. Note that this applies even when the disguise is revealed, as long as it has not been removed.
In rulesmd.ini
:
[General]
ShowAllyDisguiseBlinking=false ; boolean
[SOMETECHNO] ; TechnoType
UseDisguiseMovementSpeed=false ; boolean
Additionally, there are following changes / fixes to the logic:
- Fixed disguised infantry not using custom palette for drawing the disguise when needed.
- Disguised infantry now show appropriate insignia when disguise is visible based on the disguise type and house.
And insignia customization is reimplemented on Phobos' side now to facilitate drawing correct insignia for disguised infantry.
Customizable veterancy insignias
- You can now customize veterancy insignia of TechnoTypes.
-
Insignia.Rookie|Veteran|Elite
can be used to set a custom insignia file for each veterancy stage. Like the original / default file,pips.shp
, they are drawn usingpalette.pal
as palette. -
InsigniaFrame.Rookie|Veteran|Elite
can be used to set (zero-based) frame index of the insignia to display for each veterancy stage. Using -1 uses the default setting. Default settings are -1 (none) for rookie, 14 for veteran and 15 for elite. -
Insignia.ShowEnemy
controls whether or not the insignia is shown to enemy players. Defaults to[General]
->EnemyInsignia
, which in turn defaults to true.
-
In rulesmd.ini
:
[General]
EnemyInsignia=true ; boolean
[SOMETECHNO] ; TechnoType
Insignia.Rookie= ; filename - excluding the .shp extension
Insignia.Veteran= ; filename - excluding the .shp extension
Insignia.Elite= ; filename - excluding the .shp extension
InsigniaFrame.Rookie=-1 ; int, frame of insignia shp (zero-based) or -1 for default
InsigniaFrame.Veteran=-1 ; int, frame of insignia shp (zero-based) or -1 for default
InsigniaFrame.Elite=-1 ; int, frame of insignia shp (zero-based) or -1 for default
Insignia.ShowEnemy= ; boolean
Insignia customization should function similarly to the equivalent feature introduced by Ares and takes precedence over it if Phobos is used together with Ares.
Nightly build for this pull request:
- compiled-dll-6e5d3163f75cc5a0d329b28a6710f0b5db4195ef.zip This comment is automatic and is meant to allow guests to get latest nightly builds without registering. It is updated on every successful build.
how about instead of ShowAllyDisguiseBlinking
we use AffectedHouses?
how about instead of
ShowAllyDisguiseBlinking
we use AffectedHouses?
Was originally going to, but then I realized it'd allow weird shit like hiding the blinking from the owner, making the disguised units permanently appear as whatever they are disguised as with no obvious tell. Maybe that'd still be desirable for some, especially if there's also a per unit toggle (yay for ExtMap.Find calls) so I could still implement it regardless.
Changed ShowAllyDisguiseBlinking
to DisguiseBlinkingVisibility
which uses AffectedHouse
.
Regarding the insignia drawing one, I don't know if Ares is going to add anything new in future versions or not, but it would be better to have a specific insignia for IFV in repair mode
Implemented weapon-mode specific insignia for Gunner=true
.
Considering this feature as finished now so merging to develop.