summaryrefslogtreecommitdiffstats
path: root/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/CrystalSpikes.c4d/Kristall.c4d
diff options
context:
space:
mode:
Diffstat (limited to 'TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/CrystalSpikes.c4d/Kristall.c4d')
-rw-r--r--TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/CrystalSpikes.c4d/Kristall.c4d/ActMap.txt29
-rw-r--r--TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/CrystalSpikes.c4d/Kristall.c4d/DefCore.txt18
-rw-r--r--TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/CrystalSpikes.c4d/Kristall.c4d/DescDE.txt1
-rw-r--r--TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/CrystalSpikes.c4d/Kristall.c4d/DescUS.txt1
-rw-r--r--TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/CrystalSpikes.c4d/Kristall.c4d/Graphics.pngbin0 -> 6637 bytes
-rw-r--r--TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/CrystalSpikes.c4d/Kristall.c4d/GraphicsA.pngbin0 -> 6637 bytes
-rw-r--r--TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/CrystalSpikes.c4d/Kristall.c4d/GraphicsB.pngbin0 -> 6637 bytes
-rw-r--r--TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/CrystalSpikes.c4d/Kristall.c4d/GraphicsC.pngbin0 -> 6637 bytes
-rw-r--r--TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/CrystalSpikes.c4d/Kristall.c4d/GraphicsD.pngbin0 -> 6637 bytes
-rw-r--r--TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/CrystalSpikes.c4d/Kristall.c4d/GraphicsMetl.pngbin0 -> 10340 bytes
-rw-r--r--TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/CrystalSpikes.c4d/Kristall.c4d/Names.txt2
-rw-r--r--TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/CrystalSpikes.c4d/Kristall.c4d/Overlay.pngbin0 -> 4284 bytes
-rw-r--r--TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/CrystalSpikes.c4d/Kristall.c4d/OverlayA.pngbin0 -> 10404 bytes
-rw-r--r--TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/CrystalSpikes.c4d/Kristall.c4d/OverlayB.pngbin0 -> 10707 bytes
-rw-r--r--TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/CrystalSpikes.c4d/Kristall.c4d/OverlayC.pngbin0 -> 11362 bytes
-rw-r--r--TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/CrystalSpikes.c4d/Kristall.c4d/OverlayD.pngbin0 -> 11638 bytes
-rw-r--r--TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/CrystalSpikes.c4d/Kristall.c4d/OverlayMetl.pngbin0 -> 4493 bytes
-rw-r--r--TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/CrystalSpikes.c4d/Kristall.c4d/Script.c109
18 files changed, 160 insertions, 0 deletions
diff --git a/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/CrystalSpikes.c4d/Kristall.c4d/ActMap.txt b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/CrystalSpikes.c4d/Kristall.c4d/ActMap.txt
new file mode 100644
index 0000000..5611746
--- /dev/null
+++ b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/CrystalSpikes.c4d/Kristall.c4d/ActMap.txt
@@ -0,0 +1,29 @@
+[Action]
+Name=Bohr
+Procedure=NONE
+Length=10
+Delay=2
+Facet=0,0,24,58
+NextAction=Exist
+PhaseCall=StossEffect
+Sound=Earthquake
+EndCall=SoundBamm
+
+[Action]
+Name=Exist
+Procedure=NONE
+Length=1
+Delay=1
+Facet=216,0,24,58
+NextAction=Exist
+EndCall=ExistTimer
+Sound=VolcanoCast
+
+[Action]
+Name=Remove
+Procedure=NONE
+Length=10
+Delay=4
+Facet=0,0,24,58
+EndCall=RemoveMe
+Reverse=1
diff --git a/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/CrystalSpikes.c4d/Kristall.c4d/DefCore.txt b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/CrystalSpikes.c4d/Kristall.c4d/DefCore.txt
new file mode 100644
index 0000000..024172a
--- /dev/null
+++ b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/CrystalSpikes.c4d/Kristall.c4d/DefCore.txt
@@ -0,0 +1,18 @@
+[DefCore]
+id=QBCY
+Name=BigCrystall
+Version=4,9,5
+Category=4
+Width=24
+Height=56
+Offset=-12,-28
+Mass=100
+Components=CRYS=4;
+Picture=0,56,64,64
+Vertices=3
+VertexY=-28,28,28
+VertexX=0,6,-6
+VertexFriction=50,100,100
+ColorByOwner=1
+StretchGrowth=1
+IncompleteActivity=1 \ No newline at end of file
diff --git a/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/CrystalSpikes.c4d/Kristall.c4d/DescDE.txt b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/CrystalSpikes.c4d/Kristall.c4d/DescDE.txt
new file mode 100644
index 0000000..34ab750
--- /dev/null
+++ b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/CrystalSpikes.c4d/Kristall.c4d/DescDE.txt
@@ -0,0 +1 @@
+Wertvoll doch auch äußerst Spitz. \ No newline at end of file
diff --git a/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/CrystalSpikes.c4d/Kristall.c4d/DescUS.txt b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/CrystalSpikes.c4d/Kristall.c4d/DescUS.txt
new file mode 100644
index 0000000..1dfbcf7
--- /dev/null
+++ b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/CrystalSpikes.c4d/Kristall.c4d/DescUS.txt
@@ -0,0 +1 @@
+A new object definition. \ No newline at end of file
diff --git a/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/CrystalSpikes.c4d/Kristall.c4d/Graphics.png b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/CrystalSpikes.c4d/Kristall.c4d/Graphics.png
new file mode 100644
index 0000000..f490a20
--- /dev/null
+++ b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/CrystalSpikes.c4d/Kristall.c4d/Graphics.png
Binary files differ
diff --git a/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/CrystalSpikes.c4d/Kristall.c4d/GraphicsA.png b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/CrystalSpikes.c4d/Kristall.c4d/GraphicsA.png
new file mode 100644
index 0000000..f490a20
--- /dev/null
+++ b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/CrystalSpikes.c4d/Kristall.c4d/GraphicsA.png
Binary files differ
diff --git a/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/CrystalSpikes.c4d/Kristall.c4d/GraphicsB.png b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/CrystalSpikes.c4d/Kristall.c4d/GraphicsB.png
new file mode 100644
index 0000000..f490a20
--- /dev/null
+++ b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/CrystalSpikes.c4d/Kristall.c4d/GraphicsB.png
Binary files differ
diff --git a/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/CrystalSpikes.c4d/Kristall.c4d/GraphicsC.png b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/CrystalSpikes.c4d/Kristall.c4d/GraphicsC.png
new file mode 100644
index 0000000..f490a20
--- /dev/null
+++ b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/CrystalSpikes.c4d/Kristall.c4d/GraphicsC.png
Binary files differ
diff --git a/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/CrystalSpikes.c4d/Kristall.c4d/GraphicsD.png b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/CrystalSpikes.c4d/Kristall.c4d/GraphicsD.png
new file mode 100644
index 0000000..f490a20
--- /dev/null
+++ b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/CrystalSpikes.c4d/Kristall.c4d/GraphicsD.png
Binary files differ
diff --git a/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/CrystalSpikes.c4d/Kristall.c4d/GraphicsMetl.png b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/CrystalSpikes.c4d/Kristall.c4d/GraphicsMetl.png
new file mode 100644
index 0000000..14a097b
--- /dev/null
+++ b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/CrystalSpikes.c4d/Kristall.c4d/GraphicsMetl.png
Binary files differ
diff --git a/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/CrystalSpikes.c4d/Kristall.c4d/Names.txt b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/CrystalSpikes.c4d/Kristall.c4d/Names.txt
new file mode 100644
index 0000000..09888b0
--- /dev/null
+++ b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/CrystalSpikes.c4d/Kristall.c4d/Names.txt
@@ -0,0 +1,2 @@
+DE:Kristallstachel
+US:Crystal Spike
diff --git a/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/CrystalSpikes.c4d/Kristall.c4d/Overlay.png b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/CrystalSpikes.c4d/Kristall.c4d/Overlay.png
new file mode 100644
index 0000000..a7abc6d
--- /dev/null
+++ b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/CrystalSpikes.c4d/Kristall.c4d/Overlay.png
Binary files differ
diff --git a/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/CrystalSpikes.c4d/Kristall.c4d/OverlayA.png b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/CrystalSpikes.c4d/Kristall.c4d/OverlayA.png
new file mode 100644
index 0000000..8358372
--- /dev/null
+++ b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/CrystalSpikes.c4d/Kristall.c4d/OverlayA.png
Binary files differ
diff --git a/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/CrystalSpikes.c4d/Kristall.c4d/OverlayB.png b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/CrystalSpikes.c4d/Kristall.c4d/OverlayB.png
new file mode 100644
index 0000000..57755c3
--- /dev/null
+++ b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/CrystalSpikes.c4d/Kristall.c4d/OverlayB.png
Binary files differ
diff --git a/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/CrystalSpikes.c4d/Kristall.c4d/OverlayC.png b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/CrystalSpikes.c4d/Kristall.c4d/OverlayC.png
new file mode 100644
index 0000000..1aa4791
--- /dev/null
+++ b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/CrystalSpikes.c4d/Kristall.c4d/OverlayC.png
Binary files differ
diff --git a/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/CrystalSpikes.c4d/Kristall.c4d/OverlayD.png b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/CrystalSpikes.c4d/Kristall.c4d/OverlayD.png
new file mode 100644
index 0000000..3afb2bf
--- /dev/null
+++ b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/CrystalSpikes.c4d/Kristall.c4d/OverlayD.png
Binary files differ
diff --git a/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/CrystalSpikes.c4d/Kristall.c4d/OverlayMetl.png b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/CrystalSpikes.c4d/Kristall.c4d/OverlayMetl.png
new file mode 100644
index 0000000..5a3e193
--- /dev/null
+++ b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/CrystalSpikes.c4d/Kristall.c4d/OverlayMetl.png
Binary files differ
diff --git a/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/CrystalSpikes.c4d/Kristall.c4d/Script.c b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/CrystalSpikes.c4d/Kristall.c4d/Script.c
new file mode 100644
index 0000000..1d25b23
--- /dev/null
+++ b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/CrystalSpikes.c4d/Kristall.c4d/Script.c
@@ -0,0 +1,109 @@
+/*-- Crystal Spike --*/
+
+#strict
+
+local iMaxTime;
+
+local iExtra;
+
+public func IsBigCrystal(){ return(1); }
+
+func Initialize() {
+ var Randi = RandomX(1,4);
+ if(Randi == 1) SetGraphics("A",this(), GetID(), 1,GFXOV_MODE_ExtraGraphics);
+ if(Randi == 2) SetGraphics("B",this(), GetID(), 1,GFXOV_MODE_ExtraGraphics);
+ if(Randi == 3) SetGraphics("C",this(), GetID(), 1,GFXOV_MODE_ExtraGraphics);
+ if(Randi == 4) SetGraphics("D",this(), GetID(), 1,GFXOV_MODE_ExtraGraphics);
+ SetAction("Bohr");
+ return(1);
+}
+public func Set(inMaxTime, int iMetl){
+ iMaxTime = inMaxTime;
+ if(iMetl){ iExtra = iMetl;
+ SetGraphics("Metl",this(), GetID(), 1,GFXOV_MODE_ExtraGraphics);
+ }
+ return(1);
+}
+
+func StossEffect() {
+for(var pClonk in FindObjects(Find_Distance(20), Find_OCF(OCF_Living), Find_NoContainer ())){
+ if(GetAlive(pClonk)) {
+ if(!GetEffect("NoCrystallAttack",pClonk))
+ HitObject(pClonk);
+ }
+ }
+for(var pDing in FindObjects(Find_Distance(30), Find_Category(C4D_Object), Find_NoContainer ())){
+ HitDing(pDing);
+ }
+
+if(!Random(1)) {CreateParticle("Smoke",0,+21,RandomX(-4,4),-5,80,RGB(120,120,120)); }
+if(!Random(2)) {
+var ebk = CreateObject(1EBK,0,+21,GetOwner());
+if(ebk) SetSpeed(RandomX(-5,5),RandomX(-40,-80),ebk);
+ }
+}
+
+func ExistTimer() {
+if(!Random(20)) Sound("Sparkle");
+if(!Random(4)) {
+CreateParticle("NoGravSpark",RandomX(-8,8),RandomX(-28,26),0,-5,RandomX(10,30),GetTeamColor(GetPlayerTeam(GetOwner())));
+ }
+
+for(var pClonk in FindObjects(Find_Distance(40), Find_OCF(OCF_Living), Find_NoContainer ())){
+ if(GetAlive(pClonk)) if(!Random(20)) EffectObject(pClonk);
+ }
+
+if(iMaxTime > 0){
+if(GetActTime() > iMaxTime) SetAction("Remove");
+ }
+}
+
+global func CreateBigCrystal(int iX,int iY, int iCon, int iMTime, int iOwner) { // Erstell an der Position ein großen Kristall
+var pCrys = CreateObject(QBCY,iX,iY,iOwner);
+pCrys->Set(iMTime);
+SetCon(iCon,pCrys);
+return(pCrys);
+}
+func HitObject(object pClonk) {
+if(!pClonk) return(0);
+Sound("Crystal2",0,pClonk);
+if(!FindObject(NTMG)){
+ if(!Hostile(GetOwner(),GetOwner(pClonk))) return(0);
+ }
+if(GetAction(pClonk) ne "Tumble"){
+DoEnergy(RandomX(-10,-20)+iExtra,pClonk);
+Fling(pClonk, RandomX(-4,4), RandomX(-5,-9));
+ AddEffect("NoCrystallAttack",pClonk,100,1,pClonk);
+ }
+}
+func HitDing(object pDing) {
+if(GetID(pDing) == QBCY) return(0);
+if(pDing){ SetSpeed(RandomX(-4,4),RandomX(-20,-40),pDing);
+pDing->~Hit(); }
+}
+
+func EffectObject(object pClonk) {
+if(!FindObject(NTMG)){
+ if(!Hostile(GetOwner(),GetOwner(pClonk))) return(0);
+ }
+CreateParticle("NoGravSpark",GetX()-GetX(pClonk)+RandomX(-8,8),GetY()-GetY()+RandomX(-12,12),0,-5,RandomX(10,20),GetColorDw (this()));
+if(!Random(2))
+DoEnergy(-7,pClonk);
+}
+func RemoveMe(){
+RemoveObject(this());
+}
+func SoundBamm(){
+ Sound("RockBreak*");
+ Sound("Blast2",0,0,50);
+for(var i = 0; i < 5; i++){
+var ebk = CreateObject(1EBK,0,+21,GetOwner());
+if(ebk) SetSpeed(RandomX(-5,5),RandomX(-40,-80),ebk);
+ }
+}
+global func FxNoCrystallAttackTimer(object pTarget, int iIndex, int iTime)
+{
+ if(!pTarget) return (false);
+ if(iTime >= 20) return (-1);
+ return (true);
+} \ No newline at end of file