shimmering cloak in cnc

This commit is contained in:
Chris Forbes
2012-04-25 22:24:38 +12:00
parent 87271a0a56
commit 16e00c1f12
5 changed files with 66 additions and 1 deletions

View File

@@ -22,7 +22,7 @@ namespace OpenRA.Mods.RA
public int CloakDelay = 30; // Ticks
public string CloakSound = "subshow1.aud";
public string UncloakSound = "subshow1.aud";
public readonly string Palette = "shadow";
public readonly string Palette = "cloak";
public object Create(ActorInitializer init) { return new Cloak(init.self, this); }
}

View File

@@ -0,0 +1,51 @@
#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.Collections.Generic;
using System.Drawing;
using OpenRA.FileFormats;
using OpenRA.Traits;
namespace OpenRA.Mods.RA
{
public class CloakPaletteEffectInfo : TraitInfo<CloakPaletteEffect> {}
public class CloakPaletteEffect : IPaletteModifier, ITick
{
float t = 0;
string paletteName = "cloak";
Color[] colors = {
Color.FromArgb(55, 205, 205, 220),
Color.FromArgb(120, 205, 205, 230),
Color.FromArgb(192, 180, 180, 255),
Color.FromArgb(178, 205, 250, 220),
};
public void AdjustPalette(Dictionary<string, Palette> b)
{
var i = (int)t;
var p = b[paletteName];
for (var j = 0; j < colors.Length; j++ )
{
var k = (i+j) % 16 + 0xb0;
p.SetColor(k, colors[j]);
}
}
public void Tick (Actor self)
{
t += 0.25f;
if (t >= 256) t = 0;
}
}
}

View File

@@ -361,6 +361,7 @@
<Compile Include="InfiltrateForCash.cs" />
<Compile Include="RenderShroudCircle.cs" />
<Compile Include="Widgets\Logic\CheatsLogic.cs" />
<Compile Include="CloakPaletteEffect.cs" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\OpenRA.FileFormats\OpenRA.FileFormats.csproj">

View File

@@ -50,6 +50,7 @@ World:
LoadWidgetAtGameStart:
Widget: INGAME_ROOT
CncMenuPaletteEffect:
CloakPaletteEffect:
ScreenShaker:
NukePaletteEffect:
WaterPaletteRotation:
@@ -73,6 +74,12 @@ World:
G: 0
B: 0
A: 140
PaletteFromRGBA@cloak:
Name: cloak
R: 0
G: 0
B: 0
A: 140
PaletteFromRGBA@highlight:
Name: highlight
R: 255

View File

@@ -168,6 +168,12 @@ World:
G: 0
B: 0
A: 140
PaletteFromRGBA@cloak:
Name: cloak
R: 0
G: 0
B: 0
A: 140
PaletteFromRGBA@highlight:
Name: highlight
R: 255