From 6ae4b74535b6bcc1a7c9242712218c86f2ecac0f Mon Sep 17 00:00:00 2001 From: reaperrr Date: Wed, 23 Apr 2014 21:21:21 +0200 Subject: [PATCH] Makes rank chevron palette customizable. Adds levelup crate-effect and art. --- OpenRA.Mods.RA/Effects/Rank.cs | 7 +++++-- OpenRA.Mods.RA/GainsExperience.cs | 3 ++- mods/ts/bits/levelup.shp | Bin 0 -> 345 bytes mods/ts/bits/rank.shp | Bin 259 -> 0 bytes mods/ts/rules/defaults.yaml | 15 +++++++++++++++ mods/ts/rules/world.yaml | 4 ++++ mods/ts/sequences/misc.yaml | 10 ++++++++-- 7 files changed, 34 insertions(+), 5 deletions(-) create mode 100644 mods/ts/bits/levelup.shp delete mode 100644 mods/ts/bits/rank.shp diff --git a/OpenRA.Mods.RA/Effects/Rank.cs b/OpenRA.Mods.RA/Effects/Rank.cs index 3fbe71b108..8262a12b65 100644 --- a/OpenRA.Mods.RA/Effects/Rank.cs +++ b/OpenRA.Mods.RA/Effects/Rank.cs @@ -19,10 +19,12 @@ namespace OpenRA.Mods.RA.Effects { Actor self; Animation anim = new Animation("rank"); + readonly string paletteName; - public Rank(Actor self) + public Rank(Actor self, string paletteName) { this.self = self; + this.paletteName = paletteName; var xp = self.Trait(); anim.PlayRepeating("rank"); @@ -55,9 +57,10 @@ namespace OpenRA.Mods.RA.Effects var bounds = self.Bounds.Value; bounds.Offset(pos.X, pos.Y); + var palette = wr.Palette(paletteName); var offset = (int)(4 / wr.Viewport.Zoom); var effectPos = wr.Position(new int2(bounds.Right - offset, bounds.Bottom - offset)); - yield return new SpriteRenderable(anim.Image, effectPos, WVec.Zero, 0, wr.Palette("effect"), 1f / wr.Viewport.Zoom, true); + yield return new SpriteRenderable(anim.Image, effectPos, WVec.Zero, 0, palette, 1f / wr.Viewport.Zoom, true); } } } diff --git a/OpenRA.Mods.RA/GainsExperience.cs b/OpenRA.Mods.RA/GainsExperience.cs index b2af4ddf52..e7ffd935a8 100644 --- a/OpenRA.Mods.RA/GainsExperience.cs +++ b/OpenRA.Mods.RA/GainsExperience.cs @@ -23,6 +23,7 @@ namespace OpenRA.Mods.RA public readonly float[] FirepowerModifier = { 1.1f, 1.15f, 1.2f, 1.5f }; public readonly float[] ArmorModifier = { 1.1f, 1.2f, 1.3f, 1.5f }; public readonly decimal[] SpeedModifier = { 1.1m, 1.15m, 1.2m, 1.5m }; + public readonly string ChevronPalette = "effect"; public object Create(ActorInitializer init) { return new GainsExperience(init, this); } } @@ -75,7 +76,7 @@ namespace OpenRA.Mods.RA self.World.AddFrameEndTask(w => { if (!self.IsDead()) - w.Add(new Rank(self)); + w.Add(new Rank(self, info.ChevronPalette)); }); } } diff --git a/mods/ts/bits/levelup.shp b/mods/ts/bits/levelup.shp new file mode 100644 index 0000000000000000000000000000000000000000..eec8a7f72c5cd0757cb0b22008897cfd4af77d92 GIT binary patch literal 345 zcmZQ&009Lc1OYb&h6WH_3#GR}>DN$Ni4h_n$p}(~0RP$<85-w1unTZ7umEYM02u`d z1#Sl>2EhOY0iKg>i~%wMCJHiVmouK6&KTfw<2B>ITR@}!xdXM$gKC?Hq0J4ZEuHaX zI7r)S#(z>wKyBK$ or0q4szgs|U05C^T00000 literal 0 HcmV?d00001 diff --git a/mods/ts/bits/rank.shp b/mods/ts/bits/rank.shp deleted file mode 100644 index 958aba6c3aeac64b301d03a2ac5747a3c39c5958..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 259 zcmZ{cJqiLb5QU%Y`U7h~T#H~Ki)bS#g4oJ>gB-!i+9Mct8+*%Sau}N}Ej`U(vP8tf zH^m1t-2$b=(6+{W9aV@A9nm zCchqpZnfqJNR5juQ(gpn+}eXb_8zYtqAowr%`?Z142&TVZG|?RfV5N7ikwp$WX0TX QP+12hwdF3LmYn