remove TODO list, use bug-tracker
This commit is contained in:
committed by
Chris Forbes
parent
8e2d712688
commit
81f035904e
@@ -14,15 +14,20 @@ namespace OpenRA.Mods.RA.Air
|
|||||||
{
|
{
|
||||||
class HeliLand : Activity
|
class HeliLand : Activity
|
||||||
{
|
{
|
||||||
public HeliLand(bool requireSpace) { this.requireSpace = requireSpace; }
|
public HeliLand(bool requireSpace, int minimalAltitude)
|
||||||
|
{
|
||||||
|
this.requireSpace = requireSpace;
|
||||||
|
this.minimalAltitude = minimalAltitude;
|
||||||
|
}
|
||||||
|
|
||||||
bool requireSpace;
|
bool requireSpace;
|
||||||
|
int minimalAltitude = 0;
|
||||||
|
|
||||||
public override Activity Tick(Actor self)
|
public override Activity Tick(Actor self)
|
||||||
{
|
{
|
||||||
if (IsCanceled) return NextActivity;
|
if (IsCanceled) return NextActivity;
|
||||||
var aircraft = self.Trait<Aircraft>();
|
var aircraft = self.Trait<Aircraft>();
|
||||||
if (aircraft.Altitude == 0)
|
if (aircraft.Altitude == minimalAltitude)
|
||||||
return NextActivity;
|
return NextActivity;
|
||||||
|
|
||||||
if (requireSpace && !aircraft.CanLand(self.Location))
|
if (requireSpace && !aircraft.CanLand(self.Location))
|
||||||
|
|||||||
@@ -40,7 +40,7 @@ namespace OpenRA.Mods.RA.Air
|
|||||||
.ClosestTo(self.CenterLocation);
|
.ClosestTo(self.CenterLocation);
|
||||||
|
|
||||||
if (nearestHpad == null)
|
if (nearestHpad == null)
|
||||||
return Util.SequenceActivities(new Turn(initialFacing), new HeliLand(true), NextActivity);
|
return Util.SequenceActivities(new Turn(initialFacing), new HeliLand(true, 0), NextActivity);
|
||||||
else
|
else
|
||||||
return Util.SequenceActivities(new HeliFly(Util.CenterOfCell(nearestHpad.Location)));
|
return Util.SequenceActivities(new HeliFly(Util.CenterOfCell(nearestHpad.Location)));
|
||||||
}
|
}
|
||||||
@@ -56,7 +56,7 @@ namespace OpenRA.Mods.RA.Air
|
|||||||
return Util.SequenceActivities(
|
return Util.SequenceActivities(
|
||||||
new HeliFly(dest.Trait<IHasLocation>().PxPosition + offset),
|
new HeliFly(dest.Trait<IHasLocation>().PxPosition + offset),
|
||||||
new Turn(initialFacing),
|
new Turn(initialFacing),
|
||||||
new HeliLand(false),
|
new HeliLand(false, 0),
|
||||||
new Rearm(self),
|
new Rearm(self),
|
||||||
NextActivity);
|
NextActivity);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -19,6 +19,7 @@ namespace OpenRA.Mods.RA.Air
|
|||||||
{
|
{
|
||||||
public readonly int IdealSeparation = 40;
|
public readonly int IdealSeparation = 40;
|
||||||
public readonly bool LandWhenIdle = true;
|
public readonly bool LandWhenIdle = true;
|
||||||
|
public readonly int MinimalLandAltitude = 0;
|
||||||
|
|
||||||
public override object Create( ActorInitializer init ) { return new Helicopter( init, this); }
|
public override object Create( ActorInitializer init ) { return new Helicopter( init, this); }
|
||||||
}
|
}
|
||||||
@@ -52,7 +53,7 @@ namespace OpenRA.Mods.RA.Air
|
|||||||
if (Info.LandWhenIdle)
|
if (Info.LandWhenIdle)
|
||||||
{
|
{
|
||||||
self.QueueActivity(new Turn(Info.InitialFacing));
|
self.QueueActivity(new Turn(Info.InitialFacing));
|
||||||
self.QueueActivity(new HeliLand(true));
|
self.QueueActivity(new HeliLand(true, Info.MinimalLandAltitude));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -77,7 +78,7 @@ namespace OpenRA.Mods.RA.Air
|
|||||||
self.CancelActivity();
|
self.CancelActivity();
|
||||||
self.QueueActivity(new HeliFly(order.TargetActor.Trait<IHasLocation>().PxPosition + offset));
|
self.QueueActivity(new HeliFly(order.TargetActor.Trait<IHasLocation>().PxPosition + offset));
|
||||||
self.QueueActivity(new Turn(Info.InitialFacing));
|
self.QueueActivity(new Turn(Info.InitialFacing));
|
||||||
self.QueueActivity(new HeliLand(false));
|
self.QueueActivity(new HeliLand(false, Info.MinimalLandAltitude));
|
||||||
self.QueueActivity(new ResupplyAircraft());
|
self.QueueActivity(new ResupplyAircraft());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -95,7 +96,7 @@ namespace OpenRA.Mods.RA.Air
|
|||||||
if (Info.LandWhenIdle)
|
if (Info.LandWhenIdle)
|
||||||
{
|
{
|
||||||
self.QueueActivity(new Turn(Info.InitialFacing));
|
self.QueueActivity(new Turn(Info.InitialFacing));
|
||||||
self.QueueActivity(new HeliLand(true));
|
self.QueueActivity(new HeliLand(true, Info.MinimalLandAltitude));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -24,6 +24,7 @@ namespace OpenRA.Mods.RA
|
|||||||
public readonly string[] Types = { };
|
public readonly string[] Types = { };
|
||||||
public readonly int UnloadFacing = 0;
|
public readonly int UnloadFacing = 0;
|
||||||
public readonly string[] InitialUnits = { };
|
public readonly string[] InitialUnits = { };
|
||||||
|
public readonly int minimalUnloadAltitude = 0;
|
||||||
|
|
||||||
public object Create( ActorInitializer init ) { return new Cargo( init, this ); }
|
public object Create( ActorInitializer init ) { return new Cargo( init, this ); }
|
||||||
}
|
}
|
||||||
@@ -92,7 +93,7 @@ namespace OpenRA.Mods.RA
|
|||||||
|
|
||||||
// Cannot unload mid-air
|
// Cannot unload mid-air
|
||||||
var move = self.TraitOrDefault<IMove>();
|
var move = self.TraitOrDefault<IMove>();
|
||||||
if (move != null && move.Altitude > 0)
|
if (move != null && move.Altitude > info.minimalUnloadAltitude)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
// Todo: Check if there is a free tile to unload to
|
// Todo: Check if there is a free tile to unload to
|
||||||
@@ -106,7 +107,7 @@ namespace OpenRA.Mods.RA
|
|||||||
|
|
||||||
// Cannot load mid-air
|
// Cannot load mid-air
|
||||||
var move = self.TraitOrDefault<IMove>();
|
var move = self.TraitOrDefault<IMove>();
|
||||||
return move == null || move.Altitude == 0;
|
return move == null || move.Altitude == info.minimalUnloadAltitude;
|
||||||
}
|
}
|
||||||
|
|
||||||
public string CursorForOrder(Actor self, Order order)
|
public string CursorForOrder(Actor self, Order order)
|
||||||
|
|||||||
@@ -242,7 +242,7 @@ namespace OpenRA.Mods.RA.Missions
|
|||||||
einsteinChinook = self.World.CreateActor(chinookName, new TypeDictionary { new OwnerInit(allies), new LocationInit(extractionLZEntryPoint.Location) });
|
einsteinChinook = self.World.CreateActor(chinookName, new TypeDictionary { new OwnerInit(allies), new LocationInit(extractionLZEntryPoint.Location) });
|
||||||
einsteinChinook.QueueActivity(new HeliFly(extractionLZ.CenterLocation));
|
einsteinChinook.QueueActivity(new HeliFly(extractionLZ.CenterLocation));
|
||||||
einsteinChinook.QueueActivity(new Turn(0));
|
einsteinChinook.QueueActivity(new Turn(0));
|
||||||
einsteinChinook.QueueActivity(new HeliLand(true));
|
einsteinChinook.QueueActivity(new HeliLand(true, 0));
|
||||||
einsteinChinook.QueueActivity(new WaitFor(() => einsteinChinook.Trait<Cargo>().Passengers.Contains(einstein)));
|
einsteinChinook.QueueActivity(new WaitFor(() => einsteinChinook.Trait<Cargo>().Passengers.Contains(einstein)));
|
||||||
einsteinChinook.QueueActivity(new Wait(150));
|
einsteinChinook.QueueActivity(new Wait(150));
|
||||||
einsteinChinook.QueueActivity(new HeliFly(chinookExitPoint.CenterLocation));
|
einsteinChinook.QueueActivity(new HeliFly(chinookExitPoint.CenterLocation));
|
||||||
@@ -256,7 +256,7 @@ namespace OpenRA.Mods.RA.Missions
|
|||||||
chinook.Trait<Cargo>().Load(chinook, tanya);
|
chinook.Trait<Cargo>().Load(chinook, tanya);
|
||||||
chinook.QueueActivity(new HeliFly(insertionLZ.CenterLocation));
|
chinook.QueueActivity(new HeliFly(insertionLZ.CenterLocation));
|
||||||
chinook.QueueActivity(new Turn(0));
|
chinook.QueueActivity(new Turn(0));
|
||||||
chinook.QueueActivity(new HeliLand(true));
|
chinook.QueueActivity(new HeliLand(true, 0));
|
||||||
chinook.QueueActivity(new UnloadCargo(true));
|
chinook.QueueActivity(new UnloadCargo(true));
|
||||||
chinook.QueueActivity(new CallFunc(() => Sound.Play("laugh1.aud")));
|
chinook.QueueActivity(new CallFunc(() => Sound.Play("laugh1.aud")));
|
||||||
chinook.QueueActivity(new Wait(150));
|
chinook.QueueActivity(new Wait(150));
|
||||||
|
|||||||
@@ -1,28 +0,0 @@
|
|||||||
# make structures appear earlier when errecting from ground
|
|
||||||
# too few DATA.R8 frames?
|
|
||||||
# carryalls should pickup vehicles not land so that things can roll in
|
|
||||||
# carryalls should automatically transport harvesters
|
|
||||||
# carryalls should automatically transport vehicles to repair pad if player uses the repair cursor
|
|
||||||
# windtrap animations missing
|
|
||||||
# outpost animations missing
|
|
||||||
# construction yard crane animations missing
|
|
||||||
# welding animation (factories) missing
|
|
||||||
# chimney animation (refinery) missing
|
|
||||||
# harvest animation missing (sand is spit out)
|
|
||||||
# add more spice tiles and make them fit
|
|
||||||
# add game logic for concrete plates (use terrain overlay from bridges/ressources)
|
|
||||||
# allow placing turrets on walls
|
|
||||||
# make sandworm behave like a moving anti-everything mine (currently not attacking anything)
|
|
||||||
# add muzzles and explosions (currently falls back to RA)
|
|
||||||
# create a shellmap (currently just a blank placeholder)
|
|
||||||
# add sonic tank weapon (currently uses tesla)
|
|
||||||
# last remap index is mapped to transparent (see Atreides Hightech Factory)
|
|
||||||
# gamefile extraction (setup/setup.z) from CD fails
|
|
||||||
# support patch 1.06 gamefiles: DATA.R8 has more frames and currently fails to extract, also featuring new terrain with white houses and new units: grenade thrower, stealth raider icon
|
|
||||||
# put TilesetBuilder.Export into OpenRA.Utility to call the functions directly when extracting game-files (instead of opening a GUI)
|
|
||||||
# group number metrics are off
|
|
||||||
# building offsets wrong (worst for towers)
|
|
||||||
# spice blooms should explode and create new spice field instead of growing spice
|
|
||||||
# fix BuiltAt to build vehicles at appropriate factories
|
|
||||||
# transpose breaks thumping animation (split into several SHPs)
|
|
||||||
# missile sound is wrong
|
|
||||||
@@ -22,14 +22,16 @@
|
|||||||
LandableTerrainTypes: Sand, Rock, Transition, Spice, Dune
|
LandableTerrainTypes: Sand, Rock, Transition, Spice, Dune
|
||||||
RepairBuildings: repaira,repairo,repairh
|
RepairBuildings: repaira,repairo,repairh
|
||||||
RearmBuildings: starporta,starporto,starporth
|
RearmBuildings: starporta,starporto,starporth
|
||||||
|
MinimalLandAltitude: 25
|
||||||
RenderUnit:
|
RenderUnit:
|
||||||
RenderCargo:
|
RenderCargo:
|
||||||
RelativeAltitude: 25
|
RelativeAltitude: 20
|
||||||
WithShadow:
|
WithShadow:
|
||||||
Cargo:
|
Cargo:
|
||||||
Types: Vehicle
|
Types: Vehicle
|
||||||
MaxWeight: 1
|
MaxWeight: 1
|
||||||
PipCount: 1
|
PipCount: 1
|
||||||
|
minimalUnloadAltitude: 25
|
||||||
FallsToEarth:
|
FallsToEarth:
|
||||||
Spins: no
|
Spins: no
|
||||||
Moves: yes
|
Moves: yes
|
||||||
|
|||||||
Reference in New Issue
Block a user