Add stance filter to TooltipDescription; Add YAML descriptions.
This commit is contained in:
@@ -20,15 +20,33 @@ namespace OpenRA.Mods.Common.Traits
|
||||
[Translate]
|
||||
public readonly string Description = "";
|
||||
|
||||
public override object Create(ActorInitializer init) { return new TooltipDescription(this); }
|
||||
[Desc("Player stances who can view the description.")]
|
||||
public readonly Stance ValidStances = Stance.Ally | Stance.Neutral | Stance.Enemy;
|
||||
|
||||
public override object Create(ActorInitializer init) { return new TooltipDescription(init.Self, this); }
|
||||
}
|
||||
|
||||
public class TooltipDescription : ConditionalTrait<TooltipDescriptionInfo>, IProvideTooltipInfo
|
||||
{
|
||||
public TooltipDescription(TooltipDescriptionInfo info)
|
||||
: base(info) { }
|
||||
readonly Actor self;
|
||||
|
||||
public bool IsTooltipVisible(Player forPlayer) { return !IsTraitDisabled; }
|
||||
public TooltipDescription(Actor self, TooltipDescriptionInfo info)
|
||||
: base(info)
|
||||
{
|
||||
this.self = self;
|
||||
}
|
||||
|
||||
public bool IsTooltipVisible(Player forPlayer)
|
||||
{
|
||||
if (IsTraitDisabled)
|
||||
return false;
|
||||
|
||||
var stance = forPlayer.Stances[self.Owner];
|
||||
if (!Info.ValidStances.HasStance(stance))
|
||||
return false;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
public string TooltipText
|
||||
{
|
||||
|
||||
@@ -8,6 +8,12 @@ V19:
|
||||
HP: 100000
|
||||
Tooltip:
|
||||
Name: Oil Derrick
|
||||
TooltipDescription@ally:
|
||||
Description: Provides additional funds.
|
||||
ValidStances: Ally
|
||||
TooltipDescription@other:
|
||||
Description: Capture to receive additional funds.
|
||||
ValidStances: Neutral, Enemy
|
||||
SpawnActorOnDeath:
|
||||
Actor: V19.Husk
|
||||
|
||||
@@ -35,6 +41,12 @@ HOSP:
|
||||
HP: 250000
|
||||
Tooltip:
|
||||
Name: Hospital
|
||||
TooltipDescription@ally:
|
||||
Description: Provides infantry with self-healing.
|
||||
ValidStances: Ally
|
||||
TooltipDescription@other:
|
||||
Description: Capture to enable self-healing for infantry.
|
||||
ValidStances: Neutral, Enemy
|
||||
SpawnActorOnDeath:
|
||||
Actor: HOSP.Husk
|
||||
WithBuildingBib:
|
||||
@@ -61,6 +73,12 @@ BIO:
|
||||
HP: 250000
|
||||
Tooltip:
|
||||
Name: Biological Lab
|
||||
TooltipDescription@ally:
|
||||
Description: Produces Bio-Lab units.
|
||||
ValidStances: Ally
|
||||
TooltipDescription@other:
|
||||
Description: Capture to produce Bio-Lab units.
|
||||
ValidStances: Neutral, Enemy
|
||||
Exit@1:
|
||||
SpawnOffset: 0,-426,0
|
||||
ExitCell: 0,-1
|
||||
|
||||
@@ -75,6 +75,12 @@ FCOM:
|
||||
Type: Wood
|
||||
Tooltip:
|
||||
Name: Forward Command
|
||||
TooltipDescription@ally:
|
||||
Description: Provides buildable area.
|
||||
ValidStances: Ally
|
||||
TooltipDescription@other:
|
||||
Description: Capture to give buildable area.
|
||||
ValidStances: Neutral, Enemy
|
||||
RevealsShroud:
|
||||
Range: 5c0
|
||||
RevealGeneratedShroud: False
|
||||
@@ -110,6 +116,12 @@ HOSP:
|
||||
EngineerRepairable:
|
||||
Tooltip:
|
||||
Name: Hospital
|
||||
TooltipDescription@ally:
|
||||
Description: Provides infantry with self-healing.
|
||||
ValidStances: Ally
|
||||
TooltipDescription@other:
|
||||
Description: Capture to enable self-healing for infantry.
|
||||
ValidStances: Neutral, Enemy
|
||||
RevealsShroud:
|
||||
Range: 4c0
|
||||
WithBuildingBib:
|
||||
@@ -379,6 +391,12 @@ MISS:
|
||||
Type: Wood
|
||||
Tooltip:
|
||||
Name: Communications Center
|
||||
TooltipDescription@ally:
|
||||
Description: Provides range of vision.
|
||||
ValidStances: Ally
|
||||
TooltipDescription@other:
|
||||
Description: Capture to give visual range.
|
||||
ValidStances: Neutral, Enemy
|
||||
WithBuildingBib:
|
||||
ExternalCapturable:
|
||||
ExternalCapturableBar:
|
||||
@@ -403,6 +421,12 @@ BIO:
|
||||
EngineerRepairable:
|
||||
Tooltip:
|
||||
Name: Biological Lab
|
||||
TooltipDescription@ally:
|
||||
Description: Provides prerequisite for Bio-Lab units.
|
||||
ValidStances: Ally
|
||||
TooltipDescription@other:
|
||||
Description: Capture to produce Bio-Lab units.
|
||||
ValidStances: Neutral, Enemy
|
||||
WithDeathAnimation:
|
||||
DeathSequence: dead
|
||||
UseDeathTypeSuffix: false
|
||||
@@ -433,6 +457,12 @@ OILB:
|
||||
Amount: 100
|
||||
Tooltip:
|
||||
Name: Oil Derrick
|
||||
TooltipDescription@ally:
|
||||
Description: Provides additional funds.
|
||||
ValidStances: Ally
|
||||
TooltipDescription@other:
|
||||
Description: Capture to receive additional funds.
|
||||
ValidStances: Neutral, Enemy
|
||||
Explodes:
|
||||
Weapon: BarrelExplode
|
||||
GpsDot:
|
||||
|
||||
@@ -779,6 +779,12 @@ CAHOSP:
|
||||
Inherits@shape: ^3x4Shape
|
||||
Tooltip:
|
||||
Name: Civilian Hospital
|
||||
TooltipDescription@ally:
|
||||
Description: Provides infantry with self-healing.
|
||||
ValidStances: Ally
|
||||
TooltipDescription@other:
|
||||
Description: Capture to enable self-healing for infantry.
|
||||
ValidStances: Neutral, Enemy
|
||||
Building:
|
||||
Footprint: XxX xxx xxx xxx
|
||||
Dimensions: 3, 4
|
||||
|
||||
Reference in New Issue
Block a user