diff options
| author | Mittendrein Markus <maxmitti@gmx.net> | 2016-02-14 19:17:02 +0100 |
|---|---|---|
| committer | Mittendrein Markus <maxmitti@gmx.net> | 2016-02-14 19:17:02 +0100 |
| commit | 97be09d6ed4935c4558fee4e1776aed963386bff (patch) | |
| tree | eae50cdc3214e3b20b7db53e89552bdd1d88be49 /TemplePushing.c4s | |
| parent | 01f5e944fd7b124f5ac4f37e127345feaee44624 (diff) | |
| download | tempelschubsen-97be09d6ed4935c4558fee4e1776aed963386bff.tar.gz tempelschubsen-97be09d6ed4935c4558fee4e1776aed963386bff.zip | |
Show spells of collected scrolls to teammembers above the clonk
Diffstat (limited to 'TemplePushing.c4s')
| -rw-r--r-- | TemplePushing.c4s/Misc.c4d/TeamHUD.c4d/ActMap.txt | 3 | ||||
| -rw-r--r-- | TemplePushing.c4s/Misc.c4d/TeamHUD.c4d/DefCore.txt | 11 | ||||
| -rw-r--r-- | TemplePushing.c4s/Misc.c4d/TeamHUD.c4d/DescDE.txt | 1 | ||||
| -rw-r--r-- | TemplePushing.c4s/Misc.c4d/TeamHUD.c4d/DescUS.txt | 1 | ||||
| -rw-r--r-- | TemplePushing.c4s/Misc.c4d/TeamHUD.c4d/Graphics.png | bin | 0 -> 126 bytes | |||
| -rw-r--r-- | TemplePushing.c4s/Misc.c4d/TeamHUD.c4d/Names.txt | 2 | ||||
| -rw-r--r-- | TemplePushing.c4s/Misc.c4d/TeamHUD.c4d/Script.c | 46 | ||||
| -rw-r--r-- | TemplePushing.c4s/System.c4g/Clonk.c | 15 | ||||
| -rw-r--r-- | TemplePushing.c4s/System.c4g/Scroll.c | 9 |
9 files changed, 88 insertions, 0 deletions
diff --git a/TemplePushing.c4s/Misc.c4d/TeamHUD.c4d/ActMap.txt b/TemplePushing.c4s/Misc.c4d/TeamHUD.c4d/ActMap.txt new file mode 100644 index 0000000..df504ba --- /dev/null +++ b/TemplePushing.c4s/Misc.c4d/TeamHUD.c4d/ActMap.txt @@ -0,0 +1,3 @@ +[Action]
+Name=Attach
+Procedure=ATTACH
diff --git a/TemplePushing.c4s/Misc.c4d/TeamHUD.c4d/DefCore.txt b/TemplePushing.c4s/Misc.c4d/TeamHUD.c4d/DefCore.txt new file mode 100644 index 0000000..eb3a805 --- /dev/null +++ b/TemplePushing.c4s/Misc.c4d/TeamHUD.c4d/DefCore.txt @@ -0,0 +1,11 @@ +[DefCore]
+id=THUD
+Name=Team-HUD
+Version=4,9,5
+Category=C4D_StaticBack
+Width=1
+Height=1
+Offset=0,0
+Vertices=1
+VertexX=0
+VertexY=50
diff --git a/TemplePushing.c4s/Misc.c4d/TeamHUD.c4d/DescDE.txt b/TemplePushing.c4s/Misc.c4d/TeamHUD.c4d/DescDE.txt new file mode 100644 index 0000000..79b6d85 --- /dev/null +++ b/TemplePushing.c4s/Misc.c4d/TeamHUD.c4d/DescDE.txt @@ -0,0 +1 @@ +Zeigt über einem Clonk gerade aufgesammelte Objekte für das Team an. diff --git a/TemplePushing.c4s/Misc.c4d/TeamHUD.c4d/DescUS.txt b/TemplePushing.c4s/Misc.c4d/TeamHUD.c4d/DescUS.txt new file mode 100644 index 0000000..656e3c2 --- /dev/null +++ b/TemplePushing.c4s/Misc.c4d/TeamHUD.c4d/DescUS.txt @@ -0,0 +1 @@ +Shows collected objects above a clonk to his team. diff --git a/TemplePushing.c4s/Misc.c4d/TeamHUD.c4d/Graphics.png b/TemplePushing.c4s/Misc.c4d/TeamHUD.c4d/Graphics.png Binary files differnew file mode 100644 index 0000000..f033d11 --- /dev/null +++ b/TemplePushing.c4s/Misc.c4d/TeamHUD.c4d/Graphics.png diff --git a/TemplePushing.c4s/Misc.c4d/TeamHUD.c4d/Names.txt b/TemplePushing.c4s/Misc.c4d/TeamHUD.c4d/Names.txt new file mode 100644 index 0000000..b5aa5d2 --- /dev/null +++ b/TemplePushing.c4s/Misc.c4d/TeamHUD.c4d/Names.txt @@ -0,0 +1,2 @@ +DE:Team-HUD
+US:Team-HUD
diff --git a/TemplePushing.c4s/Misc.c4d/TeamHUD.c4d/Script.c b/TemplePushing.c4s/Misc.c4d/TeamHUD.c4d/Script.c new file mode 100644 index 0000000..0eb0bef --- /dev/null +++ b/TemplePushing.c4s/Misc.c4d/TeamHUD.c4d/Script.c @@ -0,0 +1,46 @@ +#strict 2
+
+func Attach(object to)
+{
+ SetOwner(GetOwner(to));
+ SetAction("Attach", to);
+ SetVisibility(VIS_Allies | VIS_God);
+}
+
+func Show(string text, int time)
+{
+ AddEffect("ShowText", this, 20, 1, this, GetID(), text, time);
+}
+
+func FxShowTextStart(object target, int effectNumber, int temp, string text, int time)
+{
+ if (temp) return;
+
+ EffectVar(0, target, effectNumber) = text;
+ EffectVar(1, target, effectNumber) = time;
+
+ Message("@%s", target, text);
+}
+
+func FxShowTextTimer(object target, int effectNumber, int time)
+{
+ var showTime = EffectVar(1, target, effectNumber);
+ if (time > showTime)
+ {
+ if (time >= showTime + showTime / 3) return FX_Execute_Kill;
+ Message("@<c %x>%s</c>", target, RGBa(255, 255, 255, 255 - ((time - showTime) * 255)/(showTime / 3)), EffectVar(0, target, effectNumber));
+ }
+}
+
+func FxShowTextStop(object target, int effectNumber, int reason, bool temp)
+{
+ if (!temp) Message("", target);
+}
+
+func FxShowTextEffect(string newEffectName, object target, int effectNumber)
+{
+ if(newEffectName == "ShowText")
+ {
+ RemoveEffect(0, target, effectNumber);
+ }
+}
diff --git a/TemplePushing.c4s/System.c4g/Clonk.c b/TemplePushing.c4s/System.c4g/Clonk.c index cad2f5f..64738a5 100644 --- a/TemplePushing.c4s/System.c4g/Clonk.c +++ b/TemplePushing.c4s/System.c4g/Clonk.c @@ -4,11 +4,14 @@ #appendto CLNK +local teamHud; local rotateInJump; local removeOnDeath; protected func Initialize() { + teamHud = CreateObject(THUD); + teamHud->Attach(this); AddEffect("CheckStuck2", this, 20, 1, this); AddEffect("CheckBurn", this, 101, 0, this); SetPhysical("Fight", 75000, PHYS_Temporary, this); @@ -79,6 +82,7 @@ protected func ControlRight() protected func Death(int killedBy) { var ret = _inherited(killedBy); + if (teamHud) RemoveObject(teamHud); if (removeOnDeath) RemoveObject(); return ret; } @@ -107,3 +111,14 @@ func FxCheckBurnEffect(string newEffectName, object target, int effectNumber, in { if (newEffectName == "Fire" && incineratingObject && incineratingObject->~QueryIncinerateObject(target)) return FX_Effect_Deny; } + +func ShowTeamHUD(string text) +{ + if (teamHud) teamHud->Show(text, 72); +} + +func Collection(object obj) +{ + obj->~Entrance2(this); + return _inherited(obj, ...); +} diff --git a/TemplePushing.c4s/System.c4g/Scroll.c b/TemplePushing.c4s/System.c4g/Scroll.c index 15ae5e0..c9098df 100644 --- a/TemplePushing.c4s/System.c4g/Scroll.c +++ b/TemplePushing.c4s/System.c4g/Scroll.c @@ -51,3 +51,12 @@ func SetSpell(id spell) SetClrModulation(spell->~ScrollColor()); return _inherited(spell, ...); } + +func Entrance2(object pContainer) +{ + if (pContainer && GetOCF(pContainer) & OCF_CrewMember) + { + pContainer->~ShowTeamHUD(Format("{{%i}}", idSpell)); + } + return _inherited(pContainer, ...); +} |
