diff options
Diffstat (limited to 'TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Airclaw.c4d')
15 files changed, 205 insertions, 0 deletions
diff --git a/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Airclaw.c4d/Claw.c4d/ActMap.txt b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Airclaw.c4d/Claw.c4d/ActMap.txt new file mode 100644 index 0000000..c7d7b36 --- /dev/null +++ b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Airclaw.c4d/Claw.c4d/ActMap.txt @@ -0,0 +1,41 @@ +[Action] +Name=Fly +Procedure=FLOAT +Length=1 +Delay=0 +Directions=2 +FlipDir=1 +NextAction=Fly +Facet=0,0,45,45 + +[Action] +Name=Fly2 +Procedure=FLOAT +Length=1 +Delay=0 +Directions=2 +FlipDir=1 +NextAction=Fly2 +Facet=855,0,45,45 + + +[Action] +Name=Open +Procedure=FLOAT +Length=20 +Delay=1 +Directions=2 +FlipDir=1 +NextAction=Fly2 +Facet=0,0,45,45 + +[Action] +Name=Close +Procedure=FLOAT +Length=20 +Delay=1 +Directions=2 +FlipDir=1 +Reverse=1 +NextAction=Fly +Facet=0,0,45,45
\ No newline at end of file diff --git a/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Airclaw.c4d/Claw.c4d/DefCore.txt b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Airclaw.c4d/Claw.c4d/DefCore.txt new file mode 100644 index 0000000..39f04a6 --- /dev/null +++ b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Airclaw.c4d/Claw.c4d/DefCore.txt @@ -0,0 +1,17 @@ +[DefCore] +id=AFTF +Name=Claw +Version=4,9,5 +Category=4 +MaxUserSelect=10 +Width=45 +Height=45 +Offset=-27,-27 +Value=10 +Mass=50 +Timer=2 +TimerCall=Check +Rotate=1 + +[Physical] +Float=500
\ No newline at end of file diff --git a/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Airclaw.c4d/Claw.c4d/DescDE.txt b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Airclaw.c4d/Claw.c4d/DescDE.txt new file mode 100644 index 0000000..cfb916a --- /dev/null +++ b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Airclaw.c4d/Claw.c4d/DescDE.txt @@ -0,0 +1 @@ +Die Klaue an sich.
\ No newline at end of file diff --git a/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Airclaw.c4d/Claw.c4d/DescUS.txt b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Airclaw.c4d/Claw.c4d/DescUS.txt new file mode 100644 index 0000000..46f7abe --- /dev/null +++ b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Airclaw.c4d/Claw.c4d/DescUS.txt @@ -0,0 +1 @@ +The claw itself.
\ No newline at end of file diff --git a/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Airclaw.c4d/Claw.c4d/Graphics.png b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Airclaw.c4d/Claw.c4d/Graphics.png Binary files differnew file mode 100644 index 0000000..5f2fe9f --- /dev/null +++ b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Airclaw.c4d/Claw.c4d/Graphics.png diff --git a/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Airclaw.c4d/Claw.c4d/Names.txt b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Airclaw.c4d/Claw.c4d/Names.txt new file mode 100644 index 0000000..aad1c68 --- /dev/null +++ b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Airclaw.c4d/Claw.c4d/Names.txt @@ -0,0 +1,2 @@ +DE:Faust +US:Fist
\ No newline at end of file diff --git a/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Airclaw.c4d/Claw.c4d/Script.c b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Airclaw.c4d/Claw.c4d/Script.c new file mode 100644 index 0000000..f8a20b7 --- /dev/null +++ b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Airclaw.c4d/Claw.c4d/Script.c @@ -0,0 +1,79 @@ +/*-- Klaue --*/ + +#strict 2 + +static const AFTF_Speed=45; + +local pClonk; +local pTimer, iSpeed, iAngle; +local iDamage; + +protected func Initialize() +{ + // Geschwindigkeit setzen + iSpeed=AFTF_Speed; + iDamage = 30; + return 1; +} + +public func Activate(pCaster,iNewAngle) +{ + // Clonk und Winkel speichern + pClonk=pCaster; + iAngle=iNewAngle; + + // Geschwindigkeit passend setzen + var iAdd=0; + if(iAngle >= 0) iAdd=180; + SetAction("Open"); + SetR(iAngle+90+iAdd); + SetXDir(Cos(iAngle-90,AFTF_Speed)); + SetYDir(Sin(iAngle-90,AFTF_Speed)); + + // Richtung anpassen + if(iAngle < 0) { SetDir(DIR_Right); } + else { SetDir(DIR_Left); } +} + +protected func Check() +{ + // Die Zeit vorbei oder stehen geblieben + if(++pTimer > 45 || iSpeed<=0) + { + // Ein letzer Effekt + CastParticles("PSpark",10,10,0,0,60,160,RGB(150,150,240),RGB(210,210,255)); + RemoveObject(); + } + + // In Materie wird die Klaue langsamer + if(GBackSolid()) + { + iSpeed-=6; + SetXDir(Cos(iAngle-90,iSpeed)); + SetYDir(Sin(iAngle-90,iSpeed)); + } + + if(!iDamage) return; + + // Clonks suchen + for(var pClnk in FindObjects(Find_OCF(OCF_Alive),Find_Distance(23,0,0),Find_NoContainer())) + { + // Nur Feine, außer die Regel ist aktiviert +// if(!ObjectCount(NTMG) && !Hostile(GetOwner(),GetOwner(pClnk))) continue; + + // Nicht in den ersten Frames den Zauberer selber treffen + if(pClnk == pClonk && pTimer < 5) continue; + + // Clonk wegschleudern + pClnk->SetAction("Tumble"); + SetPosition(GetX(pClnk),GetY(pClnk)-2,pClnk); + SetXDir(GetXDir(pClnk)+RandomX(-10,10),pClnk); + SetYDir(-20,pClnk); + + var iDmg = iSpeed/5; + if(iDmg>iDamage) iDmg = iDamage; + iDamage-=iDmg; + // Und wehtun + DoEnergy(-iDmg,pClnk); + } +} diff --git a/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Airclaw.c4d/DefCore.txt b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Airclaw.c4d/DefCore.txt new file mode 100644 index 0000000..4cb701b --- /dev/null +++ b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Airclaw.c4d/DefCore.txt @@ -0,0 +1,10 @@ +[DefCore] +id=AFST +Name=MagicAirClaw +Version=4,9,5,4 +Category=1 +Width=1 +Height=1 +Picture=0,0,64,64 +Value=30 +Components=IASH=3;
\ No newline at end of file diff --git a/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Airclaw.c4d/DescDE.txt b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Airclaw.c4d/DescDE.txt new file mode 100644 index 0000000..4fcfb73 --- /dev/null +++ b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Airclaw.c4d/DescDE.txt @@ -0,0 +1 @@ +Erzeugt eine Klaue aus Luft, die Gegner etwas wegschleudert und verletzt.
\ No newline at end of file diff --git a/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Airclaw.c4d/DescUS.txt b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Airclaw.c4d/DescUS.txt new file mode 100644 index 0000000..ba0ca61 --- /dev/null +++ b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Airclaw.c4d/DescUS.txt @@ -0,0 +1 @@ +A claw of air which hurts enemies.
\ No newline at end of file diff --git a/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Airclaw.c4d/Graphics.png b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Airclaw.c4d/Graphics.png Binary files differnew file mode 100644 index 0000000..54db3c5 --- /dev/null +++ b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Airclaw.c4d/Graphics.png diff --git a/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Airclaw.c4d/Names.txt b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Airclaw.c4d/Names.txt new file mode 100644 index 0000000..d21bef2 --- /dev/null +++ b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Airclaw.c4d/Names.txt @@ -0,0 +1,2 @@ +DE:Luftklaue +US:Air claw
\ No newline at end of file diff --git a/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Airclaw.c4d/Script.c b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Airclaw.c4d/Script.c new file mode 100644 index 0000000..d4008c2 --- /dev/null +++ b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Airclaw.c4d/Script.c @@ -0,0 +1,46 @@ +/* Luftklaue */ + +#strict 2 + +func Activate(pCaster,pRealcaster) { + var pClonk; + if(pRealcaster) pClonk=pRealcaster; + else pClonk=pCaster; + + // Nicht im Gebäude zaubern + if(Contained(pClonk)) + { + Sound("Error"); + PlayerMessage(GetOwner(pClonk), "$must_be_in_free$", pClonk); + RemoveObject(); + return 0; + } + + // Zielen wenn möglich + if (pClonk->~DoSpellAim(this(), pCaster)) return 1; + + // Sonst einfach ungezielt loslassen + var angle=-90; + if(GetDir(pClonk) == DIR_Right) angle=90; + ActivateAngle(pClonk,angle); + + return; +} + +// Aktivierung nach Zielen (iAngle: -90=links; 0=oben; +90=rechts) +public func ActivateAngle(object pCaller, int iAngle) +{ + // Klaue erzeugen und losschicken + CreateObject(AFTF,AbsX(GetX(pCaller))+Cos(iAngle-90,10),AbsY(GetY(pCaller))+Sin(iAngle-90,10)+19,GetOwner(pCaller))->Activate(pCaller,iAngle); + + // Objekt löschen + RemoveObject(); + return 1; +} + +public func IsBattlemageSpell() { return true; } + +/* Zaubercombo */ + +public func GetSpellStaff(object pMage) { return SMAR; } +public func GetSpellStaffCombo(pMage) { return ("44"); } // (1: Backward; 2: Down; 3: Forward; 4: Throw; 5: Jump; 6: Dig) diff --git a/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Airclaw.c4d/StringTblDE.txt b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Airclaw.c4d/StringTblDE.txt new file mode 100644 index 0000000..04eec3b --- /dev/null +++ b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Airclaw.c4d/StringTblDE.txt @@ -0,0 +1,2 @@ +must_be_in_free=Für diesen Zauber muss|sich der Clonk im|Freien befinden! +StillDelay=Das Zauberdelay ist noch nicht abgelaufen!
\ No newline at end of file diff --git a/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Airclaw.c4d/StringTblUS.txt b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Airclaw.c4d/StringTblUS.txt new file mode 100644 index 0000000..3c01382 --- /dev/null +++ b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Airclaw.c4d/StringTblUS.txt @@ -0,0 +1,2 @@ +must_be_in_free=Magician must be outside|to cast this spell! +StillDelay=The spelldelay isn't over. |
