diff options
Diffstat (limited to 'TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/CrystalSpikes.c4d/Kristall.c4d')
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 Binary files differnew file mode 100644 index 0000000..f490a20 --- /dev/null +++ b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/CrystalSpikes.c4d/Kristall.c4d/Graphics.png 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 Binary files differnew file mode 100644 index 0000000..f490a20 --- /dev/null +++ b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/CrystalSpikes.c4d/Kristall.c4d/GraphicsA.png 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 Binary files differnew file mode 100644 index 0000000..f490a20 --- /dev/null +++ b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/CrystalSpikes.c4d/Kristall.c4d/GraphicsB.png 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 Binary files differnew file mode 100644 index 0000000..f490a20 --- /dev/null +++ b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/CrystalSpikes.c4d/Kristall.c4d/GraphicsC.png 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 Binary files differnew file mode 100644 index 0000000..f490a20 --- /dev/null +++ b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/CrystalSpikes.c4d/Kristall.c4d/GraphicsD.png 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 Binary files differnew file mode 100644 index 0000000..14a097b --- /dev/null +++ b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/CrystalSpikes.c4d/Kristall.c4d/GraphicsMetl.png 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 Binary files differnew file mode 100644 index 0000000..a7abc6d --- /dev/null +++ b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/CrystalSpikes.c4d/Kristall.c4d/Overlay.png 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 Binary files differnew file mode 100644 index 0000000..8358372 --- /dev/null +++ b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/CrystalSpikes.c4d/Kristall.c4d/OverlayA.png 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 Binary files differnew file mode 100644 index 0000000..57755c3 --- /dev/null +++ b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/CrystalSpikes.c4d/Kristall.c4d/OverlayB.png 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 Binary files differnew file mode 100644 index 0000000..1aa4791 --- /dev/null +++ b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/CrystalSpikes.c4d/Kristall.c4d/OverlayC.png 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 Binary files differnew file mode 100644 index 0000000..3afb2bf --- /dev/null +++ b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/CrystalSpikes.c4d/Kristall.c4d/OverlayD.png 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 Binary files differnew file mode 100644 index 0000000..5a3e193 --- /dev/null +++ b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/CrystalSpikes.c4d/Kristall.c4d/OverlayMetl.png 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 |
