summaryrefslogtreecommitdiffstats
path: root/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Eisnadeln.c4d/Script.c
diff options
context:
space:
mode:
authorJan <>2015-02-02 17:58:18 +0100
committerJan <_>2015-07-10 17:51:43 +0200
commitca61c54b9bd69af897e4cc9d4385137fb56fd11a (patch)
treea4363f466cea6de48ca81fadc08273d58698d2ff /TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Eisnadeln.c4d/Script.c
parent32a9632fbca3dd7a88bd3154b84a3773af39c276 (diff)
downloadtempelschubsen-ca61c54b9bd69af897e4cc9d4385137fb56fd11a.tar.gz
tempelschubsen-ca61c54b9bd69af897e4cc9d4385137fb56fd11a.zip
TemplePushingBeta.c4s
Diffstat (limited to 'TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Eisnadeln.c4d/Script.c')
-rw-r--r--TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Eisnadeln.c4d/Script.c125
1 files changed, 125 insertions, 0 deletions
diff --git a/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Eisnadeln.c4d/Script.c b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Eisnadeln.c4d/Script.c
new file mode 100644
index 0000000..1d439bf
--- /dev/null
+++ b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Eisnadeln.c4d/Script.c
@@ -0,0 +1,125 @@
+/* Eisnadeln */
+
+#strict
+
+local Combo;
+
+
+
+func Activate(pCaster,pRealcaster) {
+Combo=0;
+Sound("Magic",0,pCaster);
+if(FindContents(ABRL,pCaster))
+{
+Combo=1;
+RemoveObject(FindContents(ABRL,pCaster));
+}
+ var pClonk;
+ if(pRealcaster) pClonk=pRealcaster;
+ else pClonk=pCaster;
+
+ // Zielen wenn möglich
+ if (pClonk->~DoSpellAim(this())) return(1);
+
+ var angle=-90;
+ if(GetDir(pClonk) == DIR_Right()) angle=90;
+ ActivateAngle(pClonk,angle);
+ RemoveObject();
+ return(1);
+}
+
+// Aktivierung nach Zielen (iAngle: -90=links; 0=oben; +90=rechts)
+public func ActivateAngle(object pCaller, int iAngle)
+ {
+ //var pEffer = CreateObject(_WE_,0,0,GetOwner(this()));
+ //GetTarget(object pTarget,int Interval, string Element, int ElementNumber, int R, int G, int B, int a)
+ //pEffer -> GetTarget(pCaller,0, "Water", 0, 100, 100, 255, 120);
+ var WasserF = FindContents(WBRL,pCaller);
+ if(WasserF)
+ {
+ RemoveObject(WasserF);
+ CreateContents(FLNT,this());
+ }
+ if(!FindContents(FLNT,this()))
+ {
+ for(var cnt=0;cnt<3;cnt++)
+ {
+ var f=CreateObject(ICNA,AbsX(GetX(pCaller))+Cos(iAngle-90,13),AbsY(GetY(pCaller))+Sin(iAngle-90,13),GetOwner(pCaller));
+ f->Activate(pCaller,iAngle);
+ if(Combo==1) f->LocalN("Gift",f)=1;
+ var combo = FindContents(ICE1,pCaller);
+ if(combo)
+ {
+ RemoveObject(combo);
+ f->CreateContents(ROCK);
+ }
+ }
+ AddEffect("RecallMFCSAiming",pCaller,20,1,0,GetID(),iAngle);
+
+ // Objekt löschen
+ RemoveObject();
+ return(1);
+ }
+ if(FindContents(FLNT,this()))
+ {
+ for(var cnt=0;cnt<6;cnt++)
+ {
+ var f=CreateObject(ICNA,AbsX(GetX(pCaller))+Cos(iAngle-90,13),AbsY(GetY(pCaller))+Sin(iAngle-90,13),GetOwner(pCaller));
+ f->Activate(pCaller,iAngle);
+ if(Combo==1) f->LocalN("Gift",f)=1;
+ var combo1 = FindContents(ICE1,pCaller);
+ if(combo1)
+ {
+ RemoveObject(combo1);
+ f->CreateContents(ROCK);
+ }
+ }
+ AddEffect("RecallMFCSAiming",pCaller,20,1,0,GetID(),iAngle);
+
+ // Objekt löschen
+ RemoveObject();
+ return(1);
+ }
+}
+public func HoldAimer(pCaller)
+{
+ return(true);
+}
+
+protected func FxRecallICNAAimingStart(pTarget,iEffectNumber,bTemp,par1){
+EffectVar(0,pTarget,iEffectNumber)=par1;
+EffectVar(1,pTarget,iEffectNumber)=0;
+EffectVar(2,pTarget,iEffectNumber)=0;
+return(1);}
+
+protected func FxRecallICNAAimingTimer(pTarget,iEffectNumber)
+{
+ if(GetAction(pTarget) eq "Magic")return(0);
+
+ if(!EffectVar(1,pTarget,iEffectNumber))
+ {
+ pTarget->~DoMagic(ICNA);
+ EffectVar(1,pTarget,iEffectNumber)=1;
+ }
+
+ if(!EffectVar(2,pTarget,iEffectNumber) && GetAction(pTarget) eq "AimMagic")
+ {
+ var pAimer=FindObject(AIMR,0,0,0,0,0,0,pTarget,NoContainer());
+ if(pAimer)
+ {
+ LocalN("iAngle",pAimer)=EffectVar(0,pTarget,iEffectNumber);
+ LocalN("pArrow",pAimer)->~UpdateAngle(EffectVar(0,pTarget,iEffectNumber));
+ pAimer->~UpdateAngle(EffectVar(0,pTarget,iEffectNumber));
+ pTarget->~AimingAngle(EffectVar(0,pTarget,iEffectNumber));
+ EffectVar(2,pTarget,iEffectNumber)=1;
+ }
+ }
+ if(!WildcardMatch(GetAction(pTarget),"*Magic*") && !WildcardMatch(GetAction(pTarget),"*Aim*"))return(-1);
+
+ if(EffectVar(2,pTarget,iEffectNumber) && EffectVar(1,pTarget,iEffectNumber))return(-1);
+}
+
+/* Zaubercombo */
+
+public func GetSpellClass(object pMage) { return(WATR); }
+public func GetSpellCombo(pMage) { return ("444"); } // (1: Backward; 2: Down; 3: Forward; 4: Throw; 5: Jump; 6: Dig)