Initial pbox pax changes

This commit is contained in:
Curtis Shmyr
2012-04-29 18:07:11 -06:00
committed by Chris Forbes
parent e0bfa287ee
commit 9185dc65d5
6 changed files with 176 additions and 31 deletions

View File

@@ -21,6 +21,7 @@ namespace OpenRA.Mods.RA.Activities
public int Facing = 96; public int Facing = 96;
public string[] Sounds = {}; public string[] Sounds = {};
public int ForceHealthPercentage = 0; public int ForceHealthPercentage = 0;
public bool SkipMakeAnims = false;
public Transform(Actor self, string toActor) public Transform(Actor self, string toActor)
{ {
@@ -45,6 +46,9 @@ namespace OpenRA.Mods.RA.Activities
new OwnerInit( self.Owner ), new OwnerInit( self.Owner ),
new FacingInit( Facing ), new FacingInit( Facing ),
}; };
if (SkipMakeAnims) init.Add(new SkipMakeAnimsInit());
var health = self.TraitOrDefault<Health>(); var health = self.TraitOrDefault<Health>();
if (health != null) if (health != null)
{ {

View File

@@ -0,0 +1,33 @@
#region Copyright & License Information
/*
* Copyright 2007-2011 The OpenRA Developers (see AUTHORS)
* This file is part of OpenRA, which is free software. It is made
* available to you under the terms of the GNU General Public License
* as published by the Free Software Foundation. For more information,
* see COPYING.
*/
#endregion
using System.Linq;
using OpenRA.FileFormats;
using OpenRA.Traits;
namespace OpenRA.Mods.RA
{
// for some reason i get yelled at for pbox.e1 not having Cargo, but that's a lie?
class EmitCargoOnSellInfo : TraitInfo<EmitCargoOnSell>//, Requires<Cargo>
{
}
class EmitCargoOnSell : INotifySold
{
void Emit(Actor self)
{
// todo.
// would like to spill all actors out similar to how we call Unload
}
public void Selling(Actor self) { Emit(self); }
public void Sold(Actor self) { }
}
}

View File

@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="3.5" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <Project ToolsVersion="3.5" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup> <PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
@@ -186,6 +186,7 @@
<Compile Include="Effects\SatelliteLaunch.cs" /> <Compile Include="Effects\SatelliteLaunch.cs" />
<Compile Include="Effects\Smoke.cs" /> <Compile Include="Effects\Smoke.cs" />
<Compile Include="Effects\TeslaZap.cs" /> <Compile Include="Effects\TeslaZap.cs" />
<Compile Include="EmitCargoOnSell.cs" />
<Compile Include="EmitInfantryOnSell.cs" /> <Compile Include="EmitInfantryOnSell.cs" />
<Compile Include="EngineerRepair.cs" /> <Compile Include="EngineerRepair.cs" />
<Compile Include="Explodes.cs" /> <Compile Include="Explodes.cs" />

View File

@@ -20,6 +20,7 @@ namespace OpenRA.Mods.RA
[ActorReference] public readonly string[] PassengerTypes = {}; [ActorReference] public readonly string[] PassengerTypes = {};
[ActorReference] public readonly string OnEnter = null; [ActorReference] public readonly string OnEnter = null;
[ActorReference] public readonly string OnExit = null; [ActorReference] public readonly string OnExit = null;
public readonly bool SkipMakeAnims = false;
public object Create(ActorInitializer init) { return new TransformOnPassenger(this); } public object Create(ActorInitializer init) { return new TransformOnPassenger(this); }
} }
@@ -36,8 +37,12 @@ namespace OpenRA.Mods.RA
{ {
self.World.AddFrameEndTask( w => self.World.AddFrameEndTask( w =>
{ {
var facing = self.TraitOrDefault<IFacing>();
var transform = new Transform(self, transformTo) { SkipMakeAnims = info.SkipMakeAnims };
if (facing != null) transform.Facing = facing.Facing;
self.CancelActivity(); self.CancelActivity();
self.QueueActivity( new Transform(self, transformTo) { Facing = self.Trait<IFacing>().Facing } ); self.QueueActivity(transform);
}); });
} }
} }

View File

@@ -363,45 +363,146 @@ DOME:
PBOX: PBOX:
Inherits: ^Building Inherits: ^Building
Buildable:
Queue: Defense
BuildPaletteOrder: 20
Prerequisites: tent
Owner: allies
Hotkey: p
Valued:
Cost: 400
Tooltip: Tooltip:
Name: Pillbox Name: Pillbox (Unarmed)
Description: Basic defensive structure.\n Strong vs Infantry, Light Vehicles\n Weak vs Tanks, Aircraft
Building: Building:
Power: -15 Power: -15
-GivesBuildableArea: -GivesBuildableArea:
Valued:
Cost: 400
Health: Health:
HP: 400 HP: 400
Armor: Armor:
Type: Wood Type: Wood
RevealsShroud: RevealsShroud:
Range: 6 Range: 6
IronCurtainable:
-AcceptsSupplies:
Turreted:
ROT: 255
Cargo:
Types: Infantry
MaxWeight: 1
PipCount: 1
-EmitInfantryOnSell:
# EmitCargoOnSell:
TransformOnPassenger@e1:
PassengerTypes: e1
OnEnter: pbox.e1
OnExit: pbox
SkipMakeAnims: true
# TransformOnPassenger@e2:
# PassengerTypes: e2
# OnEnter: pbox.e2
# OnExit: pbox
# SkipMakeAnims: true
TransformOnPassenger@e3:
PassengerTypes: e3
OnEnter: pbox.e3
OnExit: pbox
SkipMakeAnims: true
TransformOnPassenger@e4:
PassengerTypes: e4
OnEnter: pbox.e4
OnExit: pbox
SkipMakeAnims: true
TransformOnPassenger@e7:
PassengerTypes: e7
OnEnter: pbox.e7
OnExit: pbox
SkipMakeAnims: true
TransformOnPassenger@SHOK:
PassengerTypes: shok
OnEnter: pbox.shok
OnExit: pbox
SkipMakeAnims: true
PBOX.E1:
Inherits: PBOX
Buildable:
Queue: Defense
BuildPaletteOrder: 20
Prerequisites: tent
Owner: allies
Hotkey: p
Tooltip:
Name: Pillbox (Guns)
Description: Basic defensive structure.\n Strong vs Infantry, Light Vehicles\n Weak vs Tanks, Aircraft
Icon: PBOXICON
RenderBuilding:
Image: PBOX
RenderRangeCircle:
AutoTarget:
AttackTurreted: AttackTurreted:
PrimaryWeapon: Vulcan PrimaryWeapon: Vulcan
PrimaryLocalOffset: 0,-11,0,0,0 PrimaryLocalOffset: 0,-11,0,0,0
AutoTarget:
IronCurtainable:
RenderRangeCircle:
-AcceptsSupplies:
WithMuzzleFlash: WithMuzzleFlash:
Turreted: Cargo:
ROT: 255 InitialUnits: e1
#PBOX.E2:
# Inherits: PBOX
# Tooltip:
# Name: Pillbox (Grenades)
# RenderBuilding:
# Image: PBOX
PBOX.E3:
Inherits: PBOX
Tooltip:
Name: Pillbox (Rockets)
RenderBuilding:
Image: PBOX
RenderRangeCircle:
AutoTarget:
AttackTurreted:
PrimaryWeapon: Dragon
PrimaryLocalOffset: 0,-11,0,0,0
PBOX.E4:
Inherits: PBOX
Tooltip:
Name: Pillbox (Flamethrower)
RenderBuilding:
Image: PBOX
RenderRangeCircle:
AutoTarget:
AttackTurreted:
PrimaryWeapon: Flamer
PrimaryLocalOffset: 0,-11,0,0,0
PBOX.E7:
Inherits: PBOX
Tooltip:
Name: Pillbox (Tanya)
RenderBuilding:
Image: PBOX
RenderRangeCircle:
AutoTarget:
AttackTurreted:
PrimaryWeapon: Colt45
PrimaryLocalOffset: 0,-11,0,0,0
PBOX.SHOK:
Inherits: PBOX
Tooltip:
Name: Pillbox (Tesla)
RenderBuilding:
Image: PBOX
RenderRangeCircle:
AutoTarget:
AttackTurreted:
PrimaryWeapon: PortaTesla
PrimaryLocalOffset: 0,-11,0,0,0
HBOX: HBOX:
Inherits: ^Building Inherits: ^Building
Buildable: # Buildable:
Queue: Defense # Queue: Defense
BuildPaletteOrder: 30 # BuildPaletteOrder: 30
Prerequisites: tent # Prerequisites: tent
Owner: allies # Owner: allies
Hotkey: c # Hotkey: c
Valued: Valued:
Cost: 600 Cost: 600
Tooltip: Tooltip:

View File

@@ -39,6 +39,7 @@ Vulcan:
Report: GUN13 Report: GUN13
Projectile: Bullet Projectile: Bullet
Speed: 100 Speed: 100
ContrailLength: 1000
Warhead@1: Warhead@1:
Spread: 3 Spread: 3
Versus: Versus:
@@ -48,7 +49,7 @@ Vulcan:
Concrete: 25% Concrete: 25%
Explosion: piffs Explosion: piffs
InfDeath: 1 InfDeath: 1
Damage: 7 Damage: 10
Warhead@2: Warhead@2:
Spread: 3 Spread: 3
Versus: Versus:
@@ -58,8 +59,8 @@ Vulcan:
Concrete: 25% Concrete: 25%
Explosion: piffs Explosion: piffs
InfDeath: 1 InfDeath: 1
Damage: 5 Damage: 10
Delay: 7 Delay: 2
Warhead@3: Warhead@3:
Spread: 3 Spread: 3
Versus: Versus:
@@ -69,7 +70,7 @@ Vulcan:
Concrete: 25% Concrete: 25%
Explosion: piffs Explosion: piffs
InfDeath: 1 InfDeath: 1
Damage: 7 Damage: 10
Delay: 4 Delay: 4
Warhead@4: Warhead@4:
Spread: 3 Spread: 3
@@ -80,7 +81,7 @@ Vulcan:
Concrete: 25% Concrete: 25%
Explosion: piffs Explosion: piffs
InfDeath: 1 InfDeath: 1
Damage: 7 Damage: 10
Delay: 6 Delay: 6
Warhead@5: Warhead@5:
Spread: 3 Spread: 3
@@ -91,7 +92,7 @@ Vulcan:
Concrete: 25% Concrete: 25%
Explosion: piffs Explosion: piffs
InfDeath: 1 InfDeath: 1
Damage: 7 Damage: 10
Delay: 8 Delay: 8
Warhead@6: Warhead@6:
Spread: 3 Spread: 3
@@ -102,7 +103,7 @@ Vulcan:
Concrete: 25% Concrete: 25%
Explosion: piffs Explosion: piffs
InfDeath: 1 InfDeath: 1
Damage: 7 Damage: 10
Delay: 10 Delay: 10
Maverick: Maverick: