From 0dc149a1b8f7abab8f7509a0bcd1f975141ff79a Mon Sep 17 00:00:00 2001 From: Mittendrein Markus Date: Wed, 10 Feb 2016 23:10:56 +0100 Subject: Colorize ice needles with their owner's color --- .../IceNeedles.c4d/IceNeedles.c4d/DefCore.txt | 8 +++++--- .../IceNeedles.c4d/IceNeedles.c4d/Graphics.png | Bin 345 -> 231 bytes .../IceNeedles.c4d/IceNeedles.c4d/Overlay.png | Bin 0 -> 220 bytes .../IceNeedles.c4d/IceNeedles.c4d/Script.c | 14 +++++++------- TemplePushing.c4s/System.c4g/Helpers.c | 2 ++ 5 files changed, 14 insertions(+), 10 deletions(-) create mode 100644 TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/IceNeedles.c4d/IceNeedles.c4d/Overlay.png (limited to 'TemplePushing.c4s') diff --git a/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/IceNeedles.c4d/IceNeedles.c4d/DefCore.txt b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/IceNeedles.c4d/IceNeedles.c4d/DefCore.txt index aab9433..fa3db49 100644 --- a/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/IceNeedles.c4d/IceNeedles.c4d/DefCore.txt +++ b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/IceNeedles.c4d/IceNeedles.c4d/DefCore.txt @@ -4,19 +4,21 @@ Name=Eisnadel Version=4,9,5 Category=4 MaxUserSelect=10 -Width=12 -Height=2 -Offset=-6,-1 +Width=2 +Height=12 +Offset=-1,-6 Value=10 Mass=10 Timer=1 TimerCall=Check Vertices=1 VertexX=0 +VertexY=0 VertexFriction=20 Rotate=1 ContactCalls=1 VertexCNAT=1 +ColorByOwner=1 [Physical] Float=500 diff --git a/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/IceNeedles.c4d/IceNeedles.c4d/Graphics.png b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/IceNeedles.c4d/IceNeedles.c4d/Graphics.png index b00b2f5..cb97806 100644 Binary files a/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/IceNeedles.c4d/IceNeedles.c4d/Graphics.png and b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/IceNeedles.c4d/IceNeedles.c4d/Graphics.png differ diff --git a/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/IceNeedles.c4d/IceNeedles.c4d/Overlay.png b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/IceNeedles.c4d/IceNeedles.c4d/Overlay.png new file mode 100644 index 0000000..3dd0184 Binary files /dev/null and b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/IceNeedles.c4d/IceNeedles.c4d/Overlay.png differ diff --git a/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/IceNeedles.c4d/IceNeedles.c4d/Script.c b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/IceNeedles.c4d/IceNeedles.c4d/Script.c index 1d800b6..7ec6855 100644 --- a/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/IceNeedles.c4d/IceNeedles.c4d/Script.c +++ b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/IceNeedles.c4d/IceNeedles.c4d/Script.c @@ -57,9 +57,9 @@ protected func Check() if (++timer > ICNA_Lifetime) RemoveObject(); if (timer % 2) { - CreateParticle("PSpark", 0, 0, 0, 0, 180, RGBa(0, RandomX(100, 120), RandomX(160, 255), 120)); - CreateParticle("FSSpark", 0, 0, 0, 0, 150, RGB(0, RandomX(100, 120), RandomX(160, 255))); - CreateParticle("MaterialParticle2", 0, 0, RandomX(2, -2)-GetXDir()/2, RandomX(2, -2)-GetYDir()/2, 250, RGB(0, RandomX(100, 120), RandomX(160, 255))); + CreateParticle("PSpark", 0, 0, 0, 0, 180, RGBpA(GetPlrColorDw(GetOwner()), 120)); + CreateParticle("FSSpark", 0, 0, 0, 0, 150, GetPlrColorDw(GetOwner())); + CreateParticle("MaterialParticle2", 0, 0, RandomX(2, -2)-GetXDir()/2, RandomX(2, -2)-GetYDir()/2, 250, GetPlrColorDw(GetOwner())); } CheckHit(); @@ -77,7 +77,7 @@ private func CheckHit() private func HitObject(living, pObj) { if (living == Caster) return 0; - CastParticles("MaterialParticle", 20, 50, 0, 0, 20, 60, RGB(50, 120, 255), RGB(0, 120, 255)); + CastParticles("MaterialParticle", 20, 50, 0, 0, 20, 60, GetPlrColorDw(GetOwner()), GetPlrColorDw(GetOwner())); Sound("Crystal2", this); // Schaden machen if(Caster) @@ -95,13 +95,13 @@ private func HitObject(living, pObj) protected func Destruction() { - CreateParticle("PSpark", RandomX(-1, 2), RandomX(-2, 1), RandomX(-3, 2), RandomX(-2, 1), RandomX(150, 90), RGB(10, 35, 94)); - CreateParticle("PSpark", RandomX(-2, 1), RandomX(-1, 2), RandomX(-2, 3), RandomX(-1, 2), RandomX(150, 90), RGB(12, 40, 94)); + CreateParticle("PSpark", RandomX(-1, 2), RandomX(-2, 1), RandomX(-3, 2), RandomX(-2, 1), RandomX(150, 90), GetPlrColorDw(GetOwner())); + CreateParticle("PSpark", RandomX(-2, 1), RandomX(-1, 2), RandomX(-2, 3), RandomX(-1, 2), RandomX(150, 90), GetPlrColorDw(GetOwner())); } func ContactLeft() { - CastParticles("MaterialParticle", 20, 50, 0, 0, 20, 60, RGB(50, 120, 255), RGB(0, 120, 255)); + CastParticles("MaterialParticle", 20, 50, 0, 0, 20, 60, GetPlrColorDw(GetOwner()), GetPlrColorDw(GetOwner())); if (Stuck(this) || ++contacts > 2) { return RemoveObject(); diff --git a/TemplePushing.c4s/System.c4g/Helpers.c b/TemplePushing.c4s/System.c4g/Helpers.c index f22a3c5..9b7d457 100644 --- a/TemplePushing.c4s/System.c4g/Helpers.c +++ b/TemplePushing.c4s/System.c4g/Helpers.c @@ -13,3 +13,5 @@ global func IIf(expression, truePart, falsePart) return falsePart; } } + +global func RGBpA(int rgb, int a) { return (a & 255)<<24 | rgb & 0xFFFFFF; } -- cgit v1.2.3-54-g00ecf