document various traits

This commit is contained in:
Matthias Mailänder
2014-11-04 23:53:17 +01:00
parent 43f4e3f5c3
commit 5361b920ca
20 changed files with 32 additions and 10 deletions

View File

@@ -10,6 +10,7 @@
namespace OpenRA.Traits
{
[Desc("Used to define weapon efficiency modifiers with different percentages per Type.")]
public class ArmorInfo : TraitInfo<Armor>
{
public readonly string Type = null;

View File

@@ -13,6 +13,7 @@ using OpenRA.Traits;
namespace OpenRA.Mods.Common.Power
{
[Desc("Disables the actor when a power outage is triggered (see `InfiltrateForPowerOutage` for more information).")]
public class AffectedByPowerOutageInfo : ITraitInfo
{
public object Create(ActorInitializer init) { return new AffectedByPowerOutage(init.self); }

View File

@@ -12,6 +12,7 @@ using OpenRA.Traits;
namespace OpenRA.Mods.Common.Power
{
[Desc("Needs power to operate.")]
class RequiresPowerInfo : ITraitInfo
{
public object Create(ActorInitializer init) { return new RequiresPower(init.self); }

View File

@@ -15,6 +15,7 @@ using OpenRA.Traits;
namespace OpenRA.Mods.Common
{
[Desc("Spawns the initial units for each player upon game start.")]
public class SpawnMapActorsInfo : TraitInfo<SpawnMapActors> { }
public class SpawnMapActors : IWorldLoaded

View File

@@ -18,6 +18,7 @@ using OpenRA.Traits;
namespace OpenRA.Mods.Common
{
[Desc("Attach this to a unit to enable dynamic upgrades by warheads, experience, crates, support powers, etc.")]
public class UpgradeManagerInfo : ITraitInfo
{
public object Create(ActorInitializer init) { return new UpgradeManager(init); }

View File

@@ -41,6 +41,7 @@ namespace OpenRA.Mods.RA.Activities
}
}
[Desc("Can be targeted by the Hunt activity.")]
public class HuntableInfo : TraitInfo<Huntable> { }
public class Huntable { }
}

View File

@@ -14,6 +14,7 @@ using OpenRA.Traits;
namespace OpenRA.Mods.RA
{
[Desc("Provides access to the attack-move command, which will make the actor automatically engage viable targets while moving to the destination.")]
class AttackMoveInfo : ITraitInfo
{
public object Create(ActorInitializer init) { return new AttackMove(init.self, this); }

View File

@@ -14,6 +14,7 @@ using OpenRA.Traits;
namespace OpenRA.Mods.RA
{
[Desc("Allows bridges to be targeted for demolition and repair.")]
class BridgeHutInfo : IDemolishableInfo, ITraitInfo
{
public bool IsValidTarget(ActorInfo actorInfo, Actor saboteur) { return false; } // TODO: bridges don't support frozen under fog

View File

@@ -16,6 +16,7 @@ using OpenRA.Traits;
namespace OpenRA.Mods.RA.Buildings
{
[Desc("Limits the zone where buildings can be constructed to a radius around this actor.")]
public class BaseProviderInfo : ITraitInfo
{
public readonly int Range = 10;

View File

@@ -14,6 +14,7 @@ using OpenRA.Traits;
namespace OpenRA.Mods.RA
{
[Desc("Can be teleported via Chronoshift power.")]
public class ChronoshiftableInfo : ITraitInfo
{
public readonly bool ExplodeInstead = false;

View File

@@ -17,6 +17,7 @@ using OpenRA.Mods.RA.Effects;
namespace OpenRA.Mods.RA
{
[Desc("Displays fireports, muzzle offsets, and hit areas in developer mode.")]
public class CombatDebugOverlayInfo : ITraitInfo
{
public object Create(ActorInitializer init) { return new CombatDebugOverlay(init.self); }

View File

@@ -61,6 +61,7 @@ namespace OpenRA.Mods.RA
}
}
[Desc("Provides access to the disguise command, which makes the actor appear to be another player's actor.")]
class DisguiseInfo : TraitInfo<Disguise> { }
class Disguise : IEffectiveOwner, IIssueOrder, IResolveOrder, IOrderVoice, IRadarColorModifier, INotifyAttack
@@ -135,6 +136,7 @@ namespace OpenRA.Mods.RA
public void Attacking(Actor self, Target target, Armament a, Barrel barrel) { DisguiseAs(self, null); }
}
[Desc("Allows automatic targeting of disguised actors.")]
class IgnoresDisguiseInfo : TraitInfo<IgnoresDisguise> { }
class IgnoresDisguise { }
}

View File

@@ -16,6 +16,7 @@ using OpenRA.Traits;
namespace OpenRA.Mods.RA
{
[Desc("Can instantly repair other actors, but gets consumed afterwards.")]
class EngineerRepairInfo : TraitInfo<EngineerRepair> { }
class EngineerRepair : IIssueOrder, IResolveOrder, IOrderVoice
@@ -116,6 +117,7 @@ namespace OpenRA.Mods.RA
}
}
[Desc("Eligible for instant repair.")]
class EngineerRepairableInfo : TraitInfo<EngineerRepairable> { }
class EngineerRepairable { }

View File

@@ -16,6 +16,7 @@ using OpenRA.Traits;
namespace OpenRA.Mods.RA
{
[Desc("Spawns remains of a husk actor with the correct facing.")]
class HuskInfo : ITraitInfo, IOccupySpaceInfo, IFacingInfo
{
public readonly string[] AllowedTerrain = { };

View File

@@ -12,13 +12,13 @@ using OpenRA.Traits;
namespace OpenRA.Mods.RA.Infiltration
{
[Desc("Steal and reset the owner's exploration.")]
class InfiltrateForExplorationInfo : TraitInfo<InfiltrateForExploration> { }
class InfiltrateForExploration : INotifyInfiltrated
{
public void Infiltrated(Actor self, Actor infiltrator)
{
// Steal and reset the owners exploration
infiltrator.Owner.Shroud.Explore(self.Owner.Shroud);
if (!self.Owner.Shroud.HasFogVisibility())
self.Owner.Shroud.ResetExploration();

View File

@@ -16,6 +16,7 @@ using OpenRA.Traits;
namespace OpenRA.Mods.RA
{
[Desc("Spawn another actor immediately upon death.")]
public class LeavesHuskInfo : ITraitInfo
{
[ActorReference]

View File

@@ -14,6 +14,7 @@ using OpenRA.Traits;
namespace OpenRA.Mods.RA.Render
{
[Desc("Invisible during games.")]
class RenderEditorOnlyInfo : RenderSimpleInfo
{
public override object Create(ActorInitializer init) { return new RenderEditorOnly(init.self); }

View File

@@ -16,6 +16,7 @@ using OpenRA.Traits;
namespace OpenRA.Mods.RA
{
[Desc("Can enter a BridgeHut to trigger a repair.")]
class RepairsBridgesInfo : TraitInfo<RepairsBridges> { }
class RepairsBridges : IIssueOrder, IResolveOrder, IOrderVoice

View File

@@ -14,19 +14,21 @@ using OpenRA.Traits;
namespace OpenRA.Mods.RA
{
[Desc("Used to mark a place that needs to be in possession for StrategicVictoryConditions.")]
public class StrategicPointInfo : TraitInfo<StrategicPoint> { }
public class StrategicPoint { }
[Desc("Allows King of the Hill (KotH) style gameplay.")]
public class StrategicVictoryConditionsInfo : ITraitInfo, Requires<MissionObjectivesInfo>
{
[Desc("Amount of time (in game ticks) that the player has to hold all the strategic points.")]
public readonly int TicksToHold = 25 * 60 * 5; // ~5 minutes
[Desc("Amount of time (in game ticks) that the player has to hold all the strategic points.", "Defaults to 5 minutes.")]
public readonly int TicksToHold = 25 * 60 * 5;
[Desc("Should the timer reset when the player loses hold of a strategic point.")]
public readonly bool ResetOnHoldLost = true;
[Desc("Percentage of strategic points the player has to hold to win.")]
public readonly float RatioRequired = 0.5f; // 50% required of all koth locations
[Desc("Percentage of all strategic points the player has to hold to win.")]
public readonly float RatioRequired = 0.5f;
[Desc("Delay for the end game notification in milliseconds.")]
public int NotificationDelay = 1500;

View File

@@ -16,6 +16,7 @@ using OpenRA.Traits;
namespace OpenRA.Mods.RA.Traits
{
[Desc("Causes aircraft husks that are spawned in the air to crash to the ground.")]
public class FallsToEarthInfo : ITraitInfo
{
[WeaponReference]