summaryrefslogtreecommitdiffstats
path: root/TemplePushing.c4s/Misc.c4d/TSnowball.c4d
diff options
context:
space:
mode:
Diffstat (limited to 'TemplePushing.c4s/Misc.c4d/TSnowball.c4d')
-rw-r--r--TemplePushing.c4s/Misc.c4d/TSnowball.c4d/DefCore.txt19
-rw-r--r--TemplePushing.c4s/Misc.c4d/TSnowball.c4d/DescDE.txt1
-rw-r--r--TemplePushing.c4s/Misc.c4d/TSnowball.c4d/DescUS.txt1
-rw-r--r--TemplePushing.c4s/Misc.c4d/TSnowball.c4d/Graphics.pngbin0 -> 2493 bytes
-rw-r--r--TemplePushing.c4s/Misc.c4d/TSnowball.c4d/Names.txt2
-rw-r--r--TemplePushing.c4s/Misc.c4d/TSnowball.c4d/Script.c59
6 files changed, 82 insertions, 0 deletions
diff --git a/TemplePushing.c4s/Misc.c4d/TSnowball.c4d/DefCore.txt b/TemplePushing.c4s/Misc.c4d/TSnowball.c4d/DefCore.txt
new file mode 100644
index 0000000..468365a
--- /dev/null
+++ b/TemplePushing.c4s/Misc.c4d/TSnowball.c4d/DefCore.txt
@@ -0,0 +1,19 @@
+[DefCore]
+id=TSWB
+Version=4,9,8
+Name=Snowball
+Category=C4D_Object
+Width=6
+Height=6
+Offset=-3,-3
+Vertices=4
+VertexX=2,-2,-2,2
+VertexY=2,-2,2,-2
+VertexFriction=100,100,100,100
+Mass=20
+Components=IICE=2
+Picture=6,0,32,32
+Collectible=1
+Rotate=1
+StretchGrowth=1
+Fragile=1
diff --git a/TemplePushing.c4s/Misc.c4d/TSnowball.c4d/DescDE.txt b/TemplePushing.c4s/Misc.c4d/TSnowball.c4d/DescDE.txt
new file mode 100644
index 0000000..c369562
--- /dev/null
+++ b/TemplePushing.c4s/Misc.c4d/TSnowball.c4d/DescDE.txt
@@ -0,0 +1 @@
+Eine leichte aber weitreichende Wurfwaffe, die aus Schnee ausgegraben werden kann.
diff --git a/TemplePushing.c4s/Misc.c4d/TSnowball.c4d/DescUS.txt b/TemplePushing.c4s/Misc.c4d/TSnowball.c4d/DescUS.txt
new file mode 100644
index 0000000..81f5b9f
--- /dev/null
+++ b/TemplePushing.c4s/Misc.c4d/TSnowball.c4d/DescUS.txt
@@ -0,0 +1 @@
+A light throwing weapon shaped from snow. \ No newline at end of file
diff --git a/TemplePushing.c4s/Misc.c4d/TSnowball.c4d/Graphics.png b/TemplePushing.c4s/Misc.c4d/TSnowball.c4d/Graphics.png
new file mode 100644
index 0000000..431e6ff
--- /dev/null
+++ b/TemplePushing.c4s/Misc.c4d/TSnowball.c4d/Graphics.png
Binary files differ
diff --git a/TemplePushing.c4s/Misc.c4d/TSnowball.c4d/Names.txt b/TemplePushing.c4s/Misc.c4d/TSnowball.c4d/Names.txt
new file mode 100644
index 0000000..cc0cd4f
--- /dev/null
+++ b/TemplePushing.c4s/Misc.c4d/TSnowball.c4d/Names.txt
@@ -0,0 +1,2 @@
+DE:Schneeball
+US:Snowball
diff --git a/TemplePushing.c4s/Misc.c4d/TSnowball.c4d/Script.c b/TemplePushing.c4s/Misc.c4d/TSnowball.c4d/Script.c
new file mode 100644
index 0000000..aa90954
--- /dev/null
+++ b/TemplePushing.c4s/Misc.c4d/TSnowball.c4d/Script.c
@@ -0,0 +1,59 @@
+/*-- Schneeball --*/
+
+#strict
+#include ICE1
+
+protected func Hit() {
+ CastPXS("Snow", 100, 20);
+ RemoveObject();
+ return(1);
+}
+
+protected func Departure(thrower) {
+ var proc = GetProcedure(thrower);
+ var comd = GetComDir(thrower);
+ // Ablegen -> Abbruch
+ if (GetPlrDownDouble(GetOwner(thrower)))
+ // Nur Ablegen in der Luft mit Befehlsrichtung? Luftwurf erlauben!
+ if (proc ne "FLIGHT" || GetComDir(thrower) == COMD_None)
+ return(0);
+
+ // Ablegen im stehenden Hangeln -> Abbruch
+ if (proc eq "HANGLE" && comd == COMD_None)
+ return(0);
+
+ // Ablegen im Schwimmen / Klettern -> Abbruch
+ if (proc eq "SWIM" || proc eq "SCALE")
+ return(0);
+
+ // Wurfrichtung rausfinden
+ var dir;
+ // Nach Befehlsrichtung, wenn sinnvolle Werte vorhanden
+ if (comd == COMD_Left() || comd == COMD_Right()) {
+ if (comd == COMD_Left()) dir = -1;
+ if (comd == COMD_Right()) dir = +1;
+ }
+ // sonst nach Blickrichtung
+ else {
+ if (GetDir(thrower) == DIR_Left()) dir = -1;
+ else dir = +1;
+ }
+
+ // Wurfgeschwindigkeiten berechnen
+ var x_dir = dir * GetPhysical("Throw", 0, thrower)/1000 + GetXDir(thrower) / 3;
+ var y_dir = -30;
+
+ if (!x_dir) return(0);
+
+ // Position anpassen
+ SetPosition(GetX() + x_dir / 5, GetY() - 2 + GetYDir(thrower) / 2);
+
+ // Geschwindigkeit setzen
+ SetXDir(x_dir);
+ SetYDir(y_dir);
+
+ Sound("Arrow");
+}
+
+func IsAlchemContainer() { return(true); }
+func AlchemProcessTime() { return(100); }