diff options
| author | Jan <> | 2015-02-02 17:55:29 +0100 |
|---|---|---|
| committer | Jan <_> | 2015-07-10 17:49:45 +0200 |
| commit | 32a9632fbca3dd7a88bd3154b84a3773af39c276 (patch) | |
| tree | a226b9404844a73c7229e9d13db993c86b5be2c1 /TemplePushing.c4s/Misc.c4d/SpawnPointSpawner.c4d/SpawnPoint.c4d | |
| parent | 40fb3e5d61c44886b06d839a35adb0c11a5f918f (diff) | |
| download | tempelschubsen-32a9632fbca3dd7a88bd3154b84a3773af39c276.tar.gz tempelschubsen-32a9632fbca3dd7a88bd3154b84a3773af39c276.zip | |
TemplePush v6.1.7601.18409.c4s
Diffstat (limited to 'TemplePushing.c4s/Misc.c4d/SpawnPointSpawner.c4d/SpawnPoint.c4d')
6 files changed, 73 insertions, 0 deletions
diff --git a/TemplePushing.c4s/Misc.c4d/SpawnPointSpawner.c4d/SpawnPoint.c4d/DefCore.txt b/TemplePushing.c4s/Misc.c4d/SpawnPointSpawner.c4d/SpawnPoint.c4d/DefCore.txt new file mode 100644 index 0000000..b977367 --- /dev/null +++ b/TemplePushing.c4s/Misc.c4d/SpawnPointSpawner.c4d/SpawnPoint.c4d/DefCore.txt @@ -0,0 +1,12 @@ +[DefCore] +id=SNPT +Name=SpawnPoint +Version=4,9,5 +Category=C4D_StaticBack|C4D_Foreground|C4D_MouseIgnore +Width=10 +Height=10 +Offset=-5,-5 +Picture=0,0,10,10 +Timer=5 +TimerCall=Timer +Collectible=1 diff --git a/TemplePushing.c4s/Misc.c4d/SpawnPointSpawner.c4d/SpawnPoint.c4d/DescDE.txt b/TemplePushing.c4s/Misc.c4d/SpawnPointSpawner.c4d/SpawnPoint.c4d/DescDE.txt new file mode 100644 index 0000000..b469ce9 --- /dev/null +++ b/TemplePushing.c4s/Misc.c4d/SpawnPointSpawner.c4d/SpawnPoint.c4d/DescDE.txt @@ -0,0 +1 @@ +Lässt Gegenstände als Nachschub erscheinen.
\ No newline at end of file diff --git a/TemplePushing.c4s/Misc.c4d/SpawnPointSpawner.c4d/SpawnPoint.c4d/DescUS.txt b/TemplePushing.c4s/Misc.c4d/SpawnPointSpawner.c4d/SpawnPoint.c4d/DescUS.txt new file mode 100644 index 0000000..3308b95 --- /dev/null +++ b/TemplePushing.c4s/Misc.c4d/SpawnPointSpawner.c4d/SpawnPoint.c4d/DescUS.txt @@ -0,0 +1 @@ +Spawns objects.
\ No newline at end of file diff --git a/TemplePushing.c4s/Misc.c4d/SpawnPointSpawner.c4d/SpawnPoint.c4d/Graphics.png b/TemplePushing.c4s/Misc.c4d/SpawnPointSpawner.c4d/SpawnPoint.c4d/Graphics.png Binary files differnew file mode 100644 index 0000000..4f75bf2 --- /dev/null +++ b/TemplePushing.c4s/Misc.c4d/SpawnPointSpawner.c4d/SpawnPoint.c4d/Graphics.png diff --git a/TemplePushing.c4s/Misc.c4d/SpawnPointSpawner.c4d/SpawnPoint.c4d/Names.txt b/TemplePushing.c4s/Misc.c4d/SpawnPointSpawner.c4d/SpawnPoint.c4d/Names.txt new file mode 100644 index 0000000..1315255 --- /dev/null +++ b/TemplePushing.c4s/Misc.c4d/SpawnPointSpawner.c4d/SpawnPoint.c4d/Names.txt @@ -0,0 +1,2 @@ +DE:Spawn Point +US:Spawn Point
\ No newline at end of file diff --git a/TemplePushing.c4s/Misc.c4d/SpawnPointSpawner.c4d/SpawnPoint.c4d/Script.c b/TemplePushing.c4s/Misc.c4d/SpawnPointSpawner.c4d/SpawnPoint.c4d/Script.c new file mode 100644 index 0000000..def8ef0 --- /dev/null +++ b/TemplePushing.c4s/Misc.c4d/SpawnPointSpawner.c4d/SpawnPoint.c4d/Script.c @@ -0,0 +1,57 @@ +/*-- Spawnpoint --*/ + +#strict 2 + +local spawner; +local framesUntilRespawn; +local angle; + +public func Enable(object spawner) +{ + LocalN("spawner") = spawner; +} + +private func SpawnObject() +{ + CreateContents(spawner->GetRandomDefinition()); + SetGraphics(0, 0, Contents()->GetID(), GFX_Overlay, GFXOV_MODE_Base); + SetObjDrawTransform(1000, 0, 0, 0, 1000, -5000, 0, 1); +} + +private func Timer() +{ + if (!Contents()) + { + framesUntilRespawn -= 5; + if (framesUntilRespawn <= 0) SpawnObject(); + } + + angle = (angle + 10) % 360; + SetObjDrawTransform(1000, 0, 0, 0, 1000, Sin(angle, 8) * 1000 - 2000, 0, 1); + if (Random(2)) CreateParticle("NoGravSpark", RandomX(-5, 5), RandomX(5, 10), 0, -5, 25, RGBa(210, 210, 255, 100)); +} + +protected func RejectEntrance(object container) +{ + // Still in countdown? + if (!gameStarted) return true; + + // Container has to be a crew member + if (!(container->GetOCF() & OCF_CrewMember)) return true; + + // Ready? + if (!Contents()) return true; + + // Try to let container collect the object + container->Collect(Contents()); + + // Object still there? Then something went wrong + if (Contents()) return true; + + container->Sound("Grab", false, 0, 0, GetOwner(container) + 1); + + SetGraphics(0, 0, 0, GFX_Overlay, GFXOV_MODE_Base); + framesUntilRespawn = spawner->GetSpawnInterval(); + + return true; +} |
