summaryrefslogtreecommitdiffstats
path: root/TemplePushing.c4s/Locals.c4d/Cannon.c4d/Script.c
diff options
context:
space:
mode:
authorJan <>2015-02-02 17:55:29 +0100
committerJan <_>2015-07-10 17:49:45 +0200
commit32a9632fbca3dd7a88bd3154b84a3773af39c276 (patch)
treea226b9404844a73c7229e9d13db993c86b5be2c1 /TemplePushing.c4s/Locals.c4d/Cannon.c4d/Script.c
parent40fb3e5d61c44886b06d839a35adb0c11a5f918f (diff)
downloadtempelschubsen-32a9632fbca3dd7a88bd3154b84a3773af39c276.tar.gz
tempelschubsen-32a9632fbca3dd7a88bd3154b84a3773af39c276.zip
TemplePush v6.1.7601.18409.c4s
Diffstat (limited to 'TemplePushing.c4s/Locals.c4d/Cannon.c4d/Script.c')
-rw-r--r--TemplePushing.c4s/Locals.c4d/Cannon.c4d/Script.c176
1 files changed, 0 insertions, 176 deletions
diff --git a/TemplePushing.c4s/Locals.c4d/Cannon.c4d/Script.c b/TemplePushing.c4s/Locals.c4d/Cannon.c4d/Script.c
deleted file mode 100644
index c77c034..0000000
--- a/TemplePushing.c4s/Locals.c4d/Cannon.c4d/Script.c
+++ /dev/null
@@ -1,176 +0,0 @@
-/*-- Haubitze --*/
-
-#strict
-local WpID;
-
-/* Initialisierung */
-
-protected func Initialize()
-{
- WpID = [FLNT,EFLN,SFLN,TFLN];
- AddEffect("CreateCon",this(),100,150,this());
- SetAction("Ready");
- SetPhase(10);
-}
-
-/* Steuerung */
-
-protected func ControlConf(int conf)
-{
- if(AimStdConf(conf))
- Sound("CatapultSet");
-}
-
-public func ControlUp(object clonk) // Zielen: hoch (klassisch)
-{
- [$TxtAimup$|Image=CAN1:2]
- AimUp(clonk, 4, "ControlConf");
-}
-
-public func ControlDig(object clonk) // Zielen: runter (klassisch)
-{
- [$TxtAimdown$|Method=Classic|Image=CAN1:0]
- AimDown(clonk, 4, "ControlConf");
-}
-
-public func ControlDown()
-{
- [$TxtAimdown$|Method=JumpAndRun|Image=CAN1:0] // Beschreibung fuer JnR
-}
-
-public func ControlUpdate(object clonk, int comdir) // Zielen: JnR
-{
- AimUpdate(clonk, comdir, 4, "ControlConf");
-}
-
-public func ControlDownSingle() // Sicht zurücksetzen
-{
- [$TxtResetview$|Method=None]
-}
-
-public func ControlThrow(pClonk) // Feuern / Inhalt
-{
- [$TxtFire$|Image=CAN1:1]
- // Der Clonk will doch bestimmt nur etwas nachladen: nicht vorzeitig abfeuern
- var pThing;
- if (pThing = pClonk->Contents())
- if (AllowLoad(GetID(pThing)))
- return(0);
- // Abfeuern wenn möglich, sonst Objekt herausnehmen
- return(Fire());
-}
-
-public func ControlCommand(string szCommand,object pTarget,int iX,int iY)
-{
- // Feuern
- if(szCommand eq "MoveTo")
- if(Distance(GetX(),GetY(),iX,iY)>50)
- {
- HaltPushers();
- return(FireAt(iX,iY));
- }
-}
-
-/* Prozesse */
-
-private func HaltPushers()
-{
- var pClonk;
- // Alle Clonks die die Haubitze anfassen, sollen stoppen
- while(pClonk=FindObject(0,0,0,0,0,0,"Push",this(),0,pClonk))
- SetComDir(COMD_Stop(),pClonk);
-}
-
-public func Fire(bool fAuto)
-{
- var pProjectile=FindOtherContents(GUNP);
- // Ich brauch kein Schießpulver!
- // Projektil fehlt
- if (!pProjectile)
- {
- Sound("Click");
- return(0);
- }
-
- // Austritt berechnen
- var iX = (GetPhase()+3)*(GetDir()*2-1);
- var iY = GetPhase()-14;
- var iAngle = BoundBy(GetPhase()*5-5,0,90);
- var iXDir = Sin(iAngle,32*(GetDir()*2-1));
- var iYDir = Cos(iAngle,-18);
-
- // Projektil abfeuern
- Exit(pProjectile,iX,iY,Random(360),iXDir,iYDir,+30);
-
- // Sicht verfolgen (wenn kein automatischer Schuss)
- if(!fAuto)
- if(GetPlrViewMode(GetController())!=2)
- SetPlrView(GetController(),pProjectile);
- // Sound
- Sound("Blast2");
- // Rauch
- for (var i = 0; i < 6; ++i)
- Smoke(iX+RandomX(-5,+5),iY+RandomX(-5,+5),RandomX(5,12));
- // Erfolgreich geschossen
- return(1);
-}
-
-/* Zielfunktionen */
-
-public func FireAt(int iX,int iY,int fAuto)
-{
- var iAngle;
- // Zielwinkel
- iAngle = Angle(GetX(),GetY(),iX,iY);
- // Bei größerer Distanz höher zielen
- if(Inside(iX-GetX(),+1,+300))
- iAngle -= Abs(iX-GetX())/12;
- if(Inside(iX-GetX(),-300,-1))
- iAngle += Abs(iX-GetX())/12;
- // Zielen
- AimToAngle(iAngle);
- // Feuern
- return(Fire(fAuto));
-}
-
-public func AimToAngle(int iAngle)
-{
- // Winkel anpassen
- while(iAngle > 180) iAngle-=360;
- // Richtung
- if(iAngle > 0) SetDir(DIR_Right());
- if(iAngle < 0) SetDir(DIR_Left());
- // Zielrichtung
- SetPhase(BoundBy( 19*Abs(iAngle)/90, 0,18));
-}
-
-/* Laden */
-
-protected func Collection() { Sound("Connect"); }
-
-protected func RejectCollect(id idObj, object pObj)
-{
- return(!AllowLoad(idObj));
-}
-
-private func AllowLoad(id idObj)
-{
- // Noch jede Menge Platz
- if (ContentsCount() < 9) return(1);
- // Niemals mehr als 10 Objekte laden: Wird gebraucht, wenn aus ControlThrow aufgerufen!
- if (ContentsCount() >= 10) return(0);
- // Nicht mehr als 9 Projektile laden, wenn noch Platz für Pulver gebraucht wird
- // Laden o.k.
- return(1);
-}
-
-/* Forschung */
-
-public func GetResearchBase() { return(CATA); }
-
-func FxCreateConTimer()
-{
- if (ContentsCount() < 10)
- CreateContents(WpID[Random(5)]);
- return(1);
- }