From 918c4139e87f319d0766f2c6d46b3bc521588eb1 Mon Sep 17 00:00:00 2001 From: Lukas Werling Date: Sat, 26 Jan 2019 18:01:07 +0100 Subject: [PATCH] Add Flintbrawl by Zapper --- planet/Arena.ocf/FlintBrawl.ocs/DescDE.txt | 10 + planet/Arena.ocf/FlintBrawl.ocs/DescUS.txt | 10 + .../Flints.ocd/Bouncy.ocd/DefCore.txt | 15 ++ .../Flints.ocd/Bouncy.ocd/Graphics.8.png | Bin 0 -> 9488 bytes .../Flints.ocd/Bouncy.ocd/Script.c | 73 +++++++ .../Flints.ocd/Bouncy.ocd/StringTblDE.txt | 2 + .../Flints.ocd/Bouncy.ocd/StringTblUS.txt | 2 + .../Flints.ocd/ChippyFlint.ocd/DefCore.txt | 15 ++ .../Flints.ocd/ChippyFlint.ocd/Graphics.8.png | Bin 0 -> 10613 bytes .../Flints.ocd/ChippyFlint.ocd/Script.c | 49 +++++ .../ChippyFlint.ocd/StringTblDE.txt | 2 + .../ChippyFlint.ocd/StringTblUS.txt | 2 + .../Flints.ocd/QuickSandBomb.ocd/DefCore.txt | 15 ++ .../QuickSandBomb.ocd/Graphics.8.png | Bin 0 -> 9188 bytes .../Flints.ocd/QuickSandBomb.ocd/Script.c | 47 +++++ .../QuickSandBomb.ocd/StringTblDE.txt | 2 + .../QuickSandBomb.ocd/StringTblUS.txt | 2 + planet/Arena.ocf/FlintBrawl.ocs/Map.c | 183 ++++++++++++++++++ .../FlintBrawl.ocs/ParameterDefs.txt | 63 ++++++ planet/Arena.ocf/FlintBrawl.ocs/Scenario.txt | 24 +++ planet/Arena.ocf/FlintBrawl.ocs/Script.c | 172 ++++++++++++++++ .../Arena.ocf/FlintBrawl.ocs/StringTblDE.txt | 10 + .../Arena.ocf/FlintBrawl.ocs/StringTblUS.txt | 10 + .../FlintBrawl.ocs/System.ocg/Chippie_Egg.c | 6 + planet/Arena.ocf/FlintBrawl.ocs/Teams.txt | 2 + planet/Arena.ocf/FlintBrawl.ocs/Title.txt | 2 + .../Materials.ocg/Glass.ocg/GlassHit3.ogg | Bin 0 -> 11432 bytes .../Materials.ocg/Glass.ocg/GlassHit4.ogg | Bin 0 -> 14190 bytes planet/Sound.ocg/authors.txt | 2 +- 29 files changed, 719 insertions(+), 1 deletion(-) create mode 100644 planet/Arena.ocf/FlintBrawl.ocs/DescDE.txt create mode 100644 planet/Arena.ocf/FlintBrawl.ocs/DescUS.txt create mode 100644 planet/Arena.ocf/FlintBrawl.ocs/Flints.ocd/Bouncy.ocd/DefCore.txt create mode 100644 planet/Arena.ocf/FlintBrawl.ocs/Flints.ocd/Bouncy.ocd/Graphics.8.png create mode 100644 planet/Arena.ocf/FlintBrawl.ocs/Flints.ocd/Bouncy.ocd/Script.c create mode 100644 planet/Arena.ocf/FlintBrawl.ocs/Flints.ocd/Bouncy.ocd/StringTblDE.txt create mode 100644 planet/Arena.ocf/FlintBrawl.ocs/Flints.ocd/Bouncy.ocd/StringTblUS.txt create mode 100644 planet/Arena.ocf/FlintBrawl.ocs/Flints.ocd/ChippyFlint.ocd/DefCore.txt create mode 100644 planet/Arena.ocf/FlintBrawl.ocs/Flints.ocd/ChippyFlint.ocd/Graphics.8.png create mode 100644 planet/Arena.ocf/FlintBrawl.ocs/Flints.ocd/ChippyFlint.ocd/Script.c create mode 100644 planet/Arena.ocf/FlintBrawl.ocs/Flints.ocd/ChippyFlint.ocd/StringTblDE.txt create mode 100644 planet/Arena.ocf/FlintBrawl.ocs/Flints.ocd/ChippyFlint.ocd/StringTblUS.txt create mode 100644 planet/Arena.ocf/FlintBrawl.ocs/Flints.ocd/QuickSandBomb.ocd/DefCore.txt create mode 100644 planet/Arena.ocf/FlintBrawl.ocs/Flints.ocd/QuickSandBomb.ocd/Graphics.8.png create mode 100644 planet/Arena.ocf/FlintBrawl.ocs/Flints.ocd/QuickSandBomb.ocd/Script.c create mode 100644 planet/Arena.ocf/FlintBrawl.ocs/Flints.ocd/QuickSandBomb.ocd/StringTblDE.txt create mode 100644 planet/Arena.ocf/FlintBrawl.ocs/Flints.ocd/QuickSandBomb.ocd/StringTblUS.txt create mode 100644 planet/Arena.ocf/FlintBrawl.ocs/Map.c create mode 100644 planet/Arena.ocf/FlintBrawl.ocs/ParameterDefs.txt create mode 100644 planet/Arena.ocf/FlintBrawl.ocs/Scenario.txt create mode 100644 planet/Arena.ocf/FlintBrawl.ocs/Script.c create mode 100644 planet/Arena.ocf/FlintBrawl.ocs/StringTblDE.txt create mode 100644 planet/Arena.ocf/FlintBrawl.ocs/StringTblUS.txt create mode 100644 planet/Arena.ocf/FlintBrawl.ocs/System.ocg/Chippie_Egg.c create mode 100644 planet/Arena.ocf/FlintBrawl.ocs/Teams.txt create mode 100644 planet/Arena.ocf/FlintBrawl.ocs/Title.txt create mode 100644 planet/Sound.ocg/Hits.ocg/Materials.ocg/Glass.ocg/GlassHit3.ogg create mode 100644 planet/Sound.ocg/Hits.ocg/Materials.ocg/Glass.ocg/GlassHit4.ogg diff --git a/planet/Arena.ocf/FlintBrawl.ocs/DescDE.txt b/planet/Arena.ocf/FlintBrawl.ocs/DescDE.txt new file mode 100644 index 000000000..90157deea --- /dev/null +++ b/planet/Arena.ocf/FlintBrawl.ocs/DescDE.txt @@ -0,0 +1,10 @@ + Flintgemenge + +Ein Kampf ohne klassische Waffen: In diesem Szenario bewirft man sich stattdessen mit einer großen Auswahl an Flints. + +Ziel: Last Man Standing mit mehreren Runden (Bleibe als Letzter am Leben und gewinne die meisten Runden) + +- Der Windbeutel eignet sich nicht nur für große Sprünge, sondern erlaubt es auch, geworfenen Flints einen extra Schub zu geben. +- Die Kanone ist bereits mit Schießpulver geladen und schussbereit. +- Vorsicht, es regnet Chippiemeteoriten und der Boden ist offen. +- Je länger eine Runde dauert, umso stärkere Flints erscheinen im Untergrund. diff --git a/planet/Arena.ocf/FlintBrawl.ocs/DescUS.txt b/planet/Arena.ocf/FlintBrawl.ocs/DescUS.txt new file mode 100644 index 000000000..1646d5e82 --- /dev/null +++ b/planet/Arena.ocf/FlintBrawl.ocs/DescUS.txt @@ -0,0 +1,10 @@ + Flint Brawl + +Fight without the usual weapons: In this scenario, everyone throws flints instead. + +Goal: Last Man Standing with multiple rounds (Be the one to stay alive longest and win most rounds) + +- The wind bag isn't only for getting to the high ground, but can also give an extra push to flying flints. +- The cannon is loaded with gunpowder and ready to shoot. +- Be careful, it's raining chippies and you can fall out of the bottom. +- The longer the round, the stronger the flints that spawn underground. diff --git a/planet/Arena.ocf/FlintBrawl.ocs/Flints.ocd/Bouncy.ocd/DefCore.txt b/planet/Arena.ocf/FlintBrawl.ocs/Flints.ocd/Bouncy.ocd/DefCore.txt new file mode 100644 index 000000000..b427208e6 --- /dev/null +++ b/planet/Arena.ocf/FlintBrawl.ocs/Flints.ocd/Bouncy.ocd/DefCore.txt @@ -0,0 +1,15 @@ +[DefCore] +id=Bouncy +Version=6,0 +Category=C4D_Object +Width=8 +Height=8 +Offset=-4,-4 +Vertices=1 +VertexX=0 +VertexY=0 +VertexFriction=20 +Value=5 +Mass=10 +Projectile=1 +Fragile=1 \ No newline at end of file diff --git a/planet/Arena.ocf/FlintBrawl.ocs/Flints.ocd/Bouncy.ocd/Graphics.8.png b/planet/Arena.ocf/FlintBrawl.ocs/Flints.ocd/Bouncy.ocd/Graphics.8.png new file mode 100644 index 0000000000000000000000000000000000000000..44529e1ea68043058114fe21929c7decc9635186 GIT binary patch literal 9488 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 SCGd(9f|8uNY?ZWm$o~Pp*@XW9 literal 0 HcmV?d00001 diff --git a/planet/Arena.ocf/FlintBrawl.ocs/Flints.ocd/Bouncy.ocd/Script.c b/planet/Arena.ocf/FlintBrawl.ocs/Flints.ocd/Bouncy.ocd/Script.c new file mode 100644 index 000000000..118e2db62 --- /dev/null +++ b/planet/Arena.ocf/FlintBrawl.ocs/Flints.ocd/Bouncy.ocd/Script.c @@ -0,0 +1,73 @@ +/*--- Flint ---*/ + +local counter = 0; + +public func IsGrenadeLauncherAmmo() { return true; } + +protected func Construction() +{ + return true; +} + +func HitEffect() +{ + var smoke = + { + Alpha = PV_Linear(255, 0), + Size = 15, + DampingX = 900, DampingY = 900, + R = 100, G = 100, B = 100, + Phase = PV_Random(0, 15) + }; + CreateParticle("Smoke", 0, 0, PV_Random(-5,5), PV_Random(-5,5), 20, smoke, 25); +} + +func Hit(int xdir, int ydir) +{ + if (counter < 2 + Random(10)) + { + Bounce(xdir, ydir); + Sound("Hits::Materials::Glass::GlassHit[34]", {pitch = 100 + 10 * counter}); + counter++; + HitEffect(); + return; + } + + // Cast lots of shrapnel. + var shrapnel_count = 40; + var offset = GetSurfaceVector(0, 0); + for (var cnt = 0; cnt < shrapnel_count; cnt++) + { + var shrapnel = CreateObject(Shrapnel, offset[0], offset[1]); + shrapnel->SetVelocity(Random(359), RandomX(100, 140)); + shrapnel->SetRDir(-30 + Random(61)); + shrapnel->Launch(GetController()); + CreateObjectAbove(BulletTrail)->Set(shrapnel, 2, 30); + } + Sound("Hits::Materials::Glass::GlassShatter", {volume = 20}); + Fireworks(RGB(150, 115, 200)); + RemoveObject(); +} + +func Bounce(int xdir, int ydir) +{ + var angle = Angle(0, 0, xdir, ydir); + + var surface = GetSurfaceVector(0, 0); + var surface_angle = Angle(0, 0, surface[0], surface[1]); + var angle_diff = GetTurnDirection(angle - 180, surface_angle); + var new_angle = surface_angle + angle_diff + RandomX(-10, 10); + + var speed = Distance(0, 0, xdir, ydir); + speed = 4 * speed / 4; + SetXDir(Sin(new_angle, speed), 100); + SetYDir(-Cos(new_angle, speed), 100); +} + + +public func HasExplosionOnImpact() { return true; } + +local Collectible = 1; +local Name = "$Name$"; +local Description = "$Description$"; +local Plane = 530; // cause it's explosive, players should see it in a pile of stuff diff --git a/planet/Arena.ocf/FlintBrawl.ocs/Flints.ocd/Bouncy.ocd/StringTblDE.txt b/planet/Arena.ocf/FlintBrawl.ocs/Flints.ocd/Bouncy.ocd/StringTblDE.txt new file mode 100644 index 000000000..599eb0de5 --- /dev/null +++ b/planet/Arena.ocf/FlintBrawl.ocs/Flints.ocd/Bouncy.ocd/StringTblDE.txt @@ -0,0 +1,2 @@ +Name=Flummy +Description=Springt rum. diff --git a/planet/Arena.ocf/FlintBrawl.ocs/Flints.ocd/Bouncy.ocd/StringTblUS.txt b/planet/Arena.ocf/FlintBrawl.ocs/Flints.ocd/Bouncy.ocd/StringTblUS.txt new file mode 100644 index 000000000..8e0ea5e2c --- /dev/null +++ b/planet/Arena.ocf/FlintBrawl.ocs/Flints.ocd/Bouncy.ocd/StringTblUS.txt @@ -0,0 +1,2 @@ +Name=Bouncy +Description=Bounces around. diff --git a/planet/Arena.ocf/FlintBrawl.ocs/Flints.ocd/ChippyFlint.ocd/DefCore.txt b/planet/Arena.ocf/FlintBrawl.ocs/Flints.ocd/ChippyFlint.ocd/DefCore.txt new file mode 100644 index 000000000..e497fcc20 --- /dev/null +++ b/planet/Arena.ocf/FlintBrawl.ocs/Flints.ocd/ChippyFlint.ocd/DefCore.txt @@ -0,0 +1,15 @@ +[DefCore] +id=ChippyFlint +Version=6,0 +Category=C4D_Object +Width=8 +Height=8 +Offset=-4,-4 +Vertices=4 +VertexX=-5,5, 0, 0 +VertexY=0,0, -5, 5, +VertexFriction=20 +Value=5 +Mass=10 +Projectile=1 +Fragile=1 \ No newline at end of file diff --git a/planet/Arena.ocf/FlintBrawl.ocs/Flints.ocd/ChippyFlint.ocd/Graphics.8.png b/planet/Arena.ocf/FlintBrawl.ocs/Flints.ocd/ChippyFlint.ocd/Graphics.8.png new file mode 100644 index 0000000000000000000000000000000000000000..182fe07a19652f9b4e24ca85fb99c92fd0015099 GIT binary patch literal 10613 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 P00000NkvXXu0mjfzZ_$H literal 0 HcmV?d00001 diff --git a/planet/Arena.ocf/FlintBrawl.ocs/Flints.ocd/ChippyFlint.ocd/Script.c b/planet/Arena.ocf/FlintBrawl.ocs/Flints.ocd/ChippyFlint.ocd/Script.c new file mode 100644 index 000000000..e980a3596 --- /dev/null +++ b/planet/Arena.ocf/FlintBrawl.ocs/Flints.ocd/ChippyFlint.ocd/Script.c @@ -0,0 +1,49 @@ +/*--- Flint ---*/ + +public func IsGrenadeLauncherAmmo() { return true; } + +protected func Construction() +{ + return true; +} + +func Hit() +{ + ScheduleCall(this, this.Fuse, 1, 1); + return true; +} + +func Fuse() +{ + Sound("Fire::Spark*"); + CreateParticle("Fire", 0, 0, PV_Random(-5, 5), PV_Random(-15, 5), PV_Random(10, 40), Particles_Glimmer(), 5); + return true; +} + +func Hit2() +{ + for (var i = 0; i < 10; ++i) + { + var egg = CreateObject(Chippie_Egg, 0, 0, GetController()); + egg.age = -5000; + egg->SetVelocity(Random(360), RandomX(20, 40)); + } + + var particles = + { + Prototype = Particles_Material(RGB(100, 255, 50)), + DampingX = 800, DampingY = 800, + ForceY = -GetGravity() / 10, + }; + CreateParticle("SmokeDirty", PV_Random(-5, 5), PV_Random(-5, 5), + PV_Random(-10, 10), PV_Random(-10, 10), + PV_Random(10, 20), particles, 60); + RemoveObject(); +} + +public func HasExplosionOnImpact() { return true; } + +local Collectible = 1; +local Name = "$Name$"; +local Description = "$Description$"; +local Plane = 530; // cause it's explosive, players should see it in a pile of stuff \ No newline at end of file diff --git a/planet/Arena.ocf/FlintBrawl.ocs/Flints.ocd/ChippyFlint.ocd/StringTblDE.txt b/planet/Arena.ocf/FlintBrawl.ocs/Flints.ocd/ChippyFlint.ocd/StringTblDE.txt new file mode 100644 index 000000000..ec21d1d79 --- /dev/null +++ b/planet/Arena.ocf/FlintBrawl.ocs/Flints.ocd/ChippyFlint.ocd/StringTblDE.txt @@ -0,0 +1,2 @@ +Name=Chippyflint +Description=Spawnt Chippies. diff --git a/planet/Arena.ocf/FlintBrawl.ocs/Flints.ocd/ChippyFlint.ocd/StringTblUS.txt b/planet/Arena.ocf/FlintBrawl.ocs/Flints.ocd/ChippyFlint.ocd/StringTblUS.txt new file mode 100644 index 000000000..c26919e10 --- /dev/null +++ b/planet/Arena.ocf/FlintBrawl.ocs/Flints.ocd/ChippyFlint.ocd/StringTblUS.txt @@ -0,0 +1,2 @@ +Name=Chippy Flint +Description=Spawns chippies. diff --git a/planet/Arena.ocf/FlintBrawl.ocs/Flints.ocd/QuickSandBomb.ocd/DefCore.txt b/planet/Arena.ocf/FlintBrawl.ocs/Flints.ocd/QuickSandBomb.ocd/DefCore.txt new file mode 100644 index 000000000..2a3a049af --- /dev/null +++ b/planet/Arena.ocf/FlintBrawl.ocs/Flints.ocd/QuickSandBomb.ocd/DefCore.txt @@ -0,0 +1,15 @@ +[DefCore] +id=QuickSandBomb +Version=6,0 +Category=C4D_Object +Width=8 +Height=8 +Offset=-4,-4 +Vertices=1 +VertexX=0 +VertexY=0 +VertexFriction=20 +Value=5 +Mass=10 +Projectile=1 +Fragile=1 \ No newline at end of file diff --git a/planet/Arena.ocf/FlintBrawl.ocs/Flints.ocd/QuickSandBomb.ocd/Graphics.8.png b/planet/Arena.ocf/FlintBrawl.ocs/Flints.ocd/QuickSandBomb.ocd/Graphics.8.png new file mode 100644 index 0000000000000000000000000000000000000000..2a4a9eebd297037f47530f8e0b508dc6299cf6f0 GIT binary patch literal 9188 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 + } +}; + +func Hit(int xdir, int ydir) +{ + if (!fused_fx) + fused_fx = CreateEffect(FusedEffect, 1, 30); + ShakeFree(GetX(), GetY(), 10); + SetSpeed(xdir, ydir, 100); + Sound("Environment::Disasters::EarthquakeEnd"); +} + +public func HasExplosionOnImpact() { return true; } + +local Collectible = 1; +local Name = "$Name$"; +local Description = "$Description$"; +local Plane = 530; // cause it's explosive, players should see it in a pile of stuff \ No newline at end of file diff --git a/planet/Arena.ocf/FlintBrawl.ocs/Flints.ocd/QuickSandBomb.ocd/StringTblDE.txt b/planet/Arena.ocf/FlintBrawl.ocs/Flints.ocd/QuickSandBomb.ocd/StringTblDE.txt new file mode 100644 index 000000000..ac7732589 --- /dev/null +++ b/planet/Arena.ocf/FlintBrawl.ocs/Flints.ocd/QuickSandBomb.ocd/StringTblDE.txt @@ -0,0 +1,2 @@ +Name=Treibsandflint +Description=Fällt durch Erde. diff --git a/planet/Arena.ocf/FlintBrawl.ocs/Flints.ocd/QuickSandBomb.ocd/StringTblUS.txt b/planet/Arena.ocf/FlintBrawl.ocs/Flints.ocd/QuickSandBomb.ocd/StringTblUS.txt new file mode 100644 index 000000000..0af22bea2 --- /dev/null +++ b/planet/Arena.ocf/FlintBrawl.ocs/Flints.ocd/QuickSandBomb.ocd/StringTblUS.txt @@ -0,0 +1,2 @@ +Name=Quicksand Bomb +Description=Falls through earth. diff --git a/planet/Arena.ocf/FlintBrawl.ocs/Map.c b/planet/Arena.ocf/FlintBrawl.ocs/Map.c new file mode 100644 index 000000000..2382afeff --- /dev/null +++ b/planet/Arena.ocf/FlintBrawl.ocs/Map.c @@ -0,0 +1,183 @@ +/** + Flint Brawl + + @author Zapper +*/ + +#include Library_Map + + +// Called be the engine: draw the complete map here. +protected func InitializeMap(proplist map) +{ + // Retrieve the settings according to the MapSize setting. + var map_size = [50, 25]; + + // Set the map size. + map->Resize(map_size[0], map_size[1]); + + // Draw the main surface: a rectangle with some turbulence on top makes. + var rect = {X = 0, Y = 4 * map.Hgt / 10, Wdt = map.Wdt, Hgt = 6 * map.Hgt / 10}; + var surface = {Algo = MAPALGO_Rect, X = rect.X, Y = rect.Y, Wdt = rect.Wdt, Hgt = 8 * rect.Hgt / 6}; + surface = {Algo = MAPALGO_Turbulence, Iterations = 4, Amplitude = [0, 12], Seed = Random(65536), Op = surface}; + Draw("Earth", surface); + + // Draw materials inside the main surface. + DrawMaterials(rect, surface); + + for (var i = 0; i < 3; ++i) + DrawCave(RandomX(5, map_size[0] - 10), RandomX(5, map_size[1] - 10), 10, 5); + + // Return true to tell the engine a map has been successfully created. + return true; +} + +// Draws materials on the given surface. +public func DrawMaterials(proplist rect, proplist surface) +{ + var mask; + var x = rect.X; + var y = rect.Y; + var wdt = rect.Wdt; + var hgt = rect.Hgt; + + // A bit of different types of earth all around the surface. + mask = {Algo = MAPALGO_Rect, X = x, Y = y, Wdt = wdt, Hgt = hgt}; + mask = {Algo = MAPALGO_And, Op = [surface, mask]}; + DrawMaterial("Earth-earth", mask, 4, 12); + DrawMaterial("Earth-earth_root", mask, 2, 16); + DrawMaterial("Earth-earth_spongy", mask, 2, 16); + DrawMaterial("Earth-earth", mask, 4, 12); + + // Coal and surface in the first layer. + mask = {Algo = MAPALGO_Rect, X = x, Y = y, Wdt = wdt, Hgt = hgt}; + mask = {Algo = MAPALGO_Turbulence, Iterations = 4, Op = mask}; + mask = {Algo = MAPALGO_And, Op = [surface, mask]}; + DrawMaterial("Firestone", mask, 4, 5); + DrawMaterial("Firestone", mask); + + // Some small lakes as well in a second layer . + mask = {Algo = MAPALGO_Rect, X = x, Y = y + 1 * hgt / 4, Wdt = wdt, Hgt = hgt / 4}; + mask = {Algo = MAPALGO_Turbulence, Iterations = 4, Op = mask}; + mask = {Algo = MAPALGO_And, Op = [surface, mask]}; + DrawMaterial("Firestone", mask, 4, 5); + DrawMaterial("Water", mask, 4, 10); + DrawMaterial("Ashes", mask, 4, 10); + + // The top border consists of top soil and dry earth and a bit of sand. + var border = {Algo = MAPALGO_Border, Top = 4, Op = surface}; + Draw("Earth", border); + var rnd_checker = {Algo = MAPALGO_RndChecker, Ratio = 30, Wdt = 2, Hgt = 2}; + var rnd_border = {Algo = MAPALGO_And, Op = [border, rnd_checker]}; + Draw("Ashes", rnd_border); + Draw("Earth-earth_root", rnd_border); + return; +} + +public func DrawCave(int x, int y, int wdt, int hgt) +{ + var cave_layer = CreateLayer("Gold", wdt, hgt); + var dug_out = cave_layer->DigOutCave(); + + cave_layer = {Algo = MAPALGO_Filter, Op = cave_layer, Filter="~Gold"}; + cave_layer = {Algo = MAPALGO_Scale, X = 200, Y = 150, Op = cave_layer, OffX = cave_layer.Wdt/2, OffY = cave_layer.Hgt/2}; + cave_layer = {Algo = MAPALGO_Offset, Op=cave_layer, OffX = x, OffY = y}; + + Blit(cave_layer); + //cave_layer = {Algo = MAPALGO_Border, Op = cave_layer, Left=2, Right=2, Top=2, Bottom=2}; + //Draw("Tunnel", cave_layer); + return dug_out; +} + +public func DigOutCave() +{ + var center_x = this.Wdt / 2; + var center_y = this.Hgt / 2; + var runners = [[center_x, center_y]]; + var runner_count = 1; + + var dug_out = 0; + var possible_x_dirs = [-1, 1, -1, 1, 0, 0]; + var possible_y_dirs = [0, 0, 0, 0, -1, 1]; + var possible_dir_count = 6; + var tunnel = GetMaterialTextureIndex("Tunnel"); + var iterations = 5 * Max(this.Wdt, this.Hgt); + for (var i = 0; i < iterations; ++i) + { + for (var r = 0; r < GetLength(runners); ++r) + { + var runner = runners[r]; + if (!runner) continue; + + // Get direction. + var x_dir = 0, y_dir = 0; + var r_dir = 0; + if (!Random(9)) r_dir = r % possible_dir_count; + else r_dir = Random(possible_dir_count); + x_dir = possible_x_dirs[r_dir]; + y_dir = possible_y_dirs[r_dir]; + + var x = runner[0] + x_dir; + var y = runner[1] + y_dir; + var solid = GetPixel(x, y) != tunnel; + var out_of_bounds = (x < 0) || (x > this.Wdt) || (y < 0) || (y > this.Hgt); + var destroy = out_of_bounds; + + runners[r] = [x, y]; + + if (solid) + { + ++dug_out; + this->SetPixel(x, y, tunnel); + if (!Random(1 + 1 * runner_count) && (runner_count < 4)) + { + var pos = -1; + for (var c = 0; c < GetLength(runners); ++c) + { + if (runners[c]) continue; + pos = c; + break; + } + if (pos == -1) PushBack(runners, [x, y]); + else runners[pos] = [x, y]; + + runner_count += 1; + } + } + else + { + destroy = destroy || !Random(10); + } + + if (destroy) + { + if (runner_count <= 1) + { + runners[r] = [center_x, center_y]; + } + else + { + runners[r] = nil; + runner_count -= 1; + } + } + } + } + + // Now perform a smoothing step. Just do it in place, meh. + for (var smooth = 0; smooth < 1; ++smooth) + { + for (var x = 1; x < this.Wdt - 1; ++x) + for (var y = 1; y < this.Hgt - 1; ++y) + { + var free_count = 0; + if (GetPixel(x - 1, y) == tunnel) ++free_count; + if (GetPixel(x + 1, y) == tunnel) ++free_count; + if (GetPixel(x, y - 1) == tunnel) ++free_count; + if (GetPixel(x, y + 1) == tunnel) ++free_count; + + if (free_count >= 3) SetPixel(x, y, tunnel); + } + } + return dug_out; +} diff --git a/planet/Arena.ocf/FlintBrawl.ocs/ParameterDefs.txt b/planet/Arena.ocf/FlintBrawl.ocs/ParameterDefs.txt new file mode 100644 index 000000000..5a910c251 --- /dev/null +++ b/planet/Arena.ocf/FlintBrawl.ocs/ParameterDefs.txt @@ -0,0 +1,63 @@ +[ParameterDef] +Name=$Rounds$ +Description=$DescRounds$ +ID=Rounds +Default=4 + + [Options] + + [Option] + Name=1 + Value=1 + + [Option] + Name=2 + Value=2 + + [Option] + Name=3 + Value=3 + + [Option] + Name=5 + Value=5 + + [Option] + Name=7 + Value=7 + + [Option] + Name=11 + Value=11 + +[ParameterDef] +Name=Items +Description=$DescItems$ +ID=ItemAmount +Default=1 + + [Options] + + [Option] + Name=$ItemsNormal$ + Value=1 + + [Option] + Name=$ItemsMany$ + Value=3 + +[ParameterDef] +Name=$TeamsTogether$ +Description=$DescTeamsTogether$ +ID=TeamsTogether +Default=1 + + [Options] + + [Option] + Name=$Yes$ + Value=1 + + [Option] + Name=$No$ + Value=0 diff --git a/planet/Arena.ocf/FlintBrawl.ocs/Scenario.txt b/planet/Arena.ocf/FlintBrawl.ocs/Scenario.txt new file mode 100644 index 000000000..1cd04889c --- /dev/null +++ b/planet/Arena.ocf/FlintBrawl.ocs/Scenario.txt @@ -0,0 +1,24 @@ +[Head] +Title=Flint Brawl +Version=9,0 +MinPlayer=2 +MaxPlayer=20 +Icon=40 + +[Game] +Mode=Melee +Goals=Goal_MultiRoundMelee=1; +Rules=Rule_KillLogs=1;Rule_Gravestones=1; + +[Landscape] +MapWidth=64 +MapHeight=40 +TopOpen=1 +BottomOpen=1 +LeftOpen=10000 +RightOpen=10000 +AutoScanSideOpen=0 +MapZoom=18,0,0,18 + +[Weather] +Climate=0 diff --git a/planet/Arena.ocf/FlintBrawl.ocs/Script.c b/planet/Arena.ocf/FlintBrawl.ocs/Script.c new file mode 100644 index 000000000..3a663ba14 --- /dev/null +++ b/planet/Arena.ocf/FlintBrawl.ocs/Script.c @@ -0,0 +1,172 @@ +/* Flint Brawl */ + +local team_spawn_positions = nil; +local spawn_item_particles; +func Initialize() +{ + spawn_item_particles = + { + Size = PV_Linear(2, 0), + Alpha = PV_KeyFrames(0, 0, 0, 300, 255, 1000, 0), + Rotation = PV_Random(0, 360), + R = 255, G = 200, B = 50, + Stretch = PV_Random(10000, 15000), + BlitMode = GFX_BLIT_Additive + }; + +} + +local SpawnItem = new Effect +{ + Timer = func(int time) + { + if (Random(time / 38)) + { + CreateParticle("StarSpark", this.x + RandomX(-2, 2), this.y + RandomX(-2, 2), 0, 0, PV_Random(1, 7), Scenario.spawn_item_particles, 10); + } + + if (time > 38 * 4) + { + var obj = CreateObject(this.ID, this.x, this.y, NO_OWNER); + obj->SetR(Random(360)); + return FX_Execute_Kill; + } + return FX_OK; + } +}; + +local SpawnEffect = new Effect +{ + Timer = func(int time) + { + var location = FindLocation(Loc_Material("Earth")); + if (!location) return FX_OK; + var fx = Scenario->CreateEffect(Scenario.SpawnItem, 1, 2); + fx.x = location.x; + fx.y = location.y; + + var items = [Dynamite, Firestone, Bouncy, QuickSandBomb, IronBomb]; + + if (!Random(4) && ((FrameCounter() - this.round_start_time) > 38 * 60)) + items = [Lantern, ChippyFlint, Boompack, SmokeBomb, GrenadeLauncher]; + var item = items[Random(GetLength(items))]; + fx.ID = item; + } +}; + +func GetTeamSpawnPosition(int team_id) +{ + if ((team_id >= GetLength(team_spawn_positions)) || (team_spawn_positions[team_id] == nil)) + { + var location = FindLocation(Loc_Wall(CNAT_Bottom), Loc_Space(25, CNAT_Top)); + team_spawn_positions[team_id] = location; + if (location) + Fireworks(GetTeamColor(team_id), location.x, location.y - 20); + } + + return team_spawn_positions[team_id]; +} + +func InitializeRound() +{ + team_spawn_positions = []; // reset team spawns. + + var i, pos; + var ls_wdt = LandscapeWidth(), ls_hgt = LandscapeHeight(); + // Materials: Firestones + for (i=0; i<30; ++i) + { + var pos = FindLocation(Loc_InRect(0,ls_hgt/2,ls_wdt,ls_hgt/3), Loc_Solid()); + if (pos && IsFirestoneSpot(pos.x,pos.y)) + CreateObjectAbove(Firestone,pos.x,pos.y-1); + } + // Some firestones and bombs in lower half. For ap type 1, more firestones in lower than upper half. + var items = [Firestone,IronBomb, Dynamite, Loam, PowderKeg]; + var item_count = GetLength(items); + for (i=0; i<30; ++i) + { + var pos = FindLocation(Loc_InRect(0,0,ls_wdt,ls_hgt), Loc_Solid()); + if (pos && IsFirestoneSpot(pos.x,pos.y)) + { + var item_idx = Random(item_count); + if (Random(3)) item_idx = Random(item_idx); + CreateObjectAbove(items[item_idx],pos.x,pos.y-1); + } + } + + var trees = []; + for (var ID in [Tree_Coniferous, Tree_Coniferous2, Tree_Coniferous3, Tree_Coniferous4]) + for (var tree in ID->Place(Random(3))) PushBack(trees, tree); + + + for (var tree in trees) + { + tree->CreateObjectInTreetop(Zaphive); + } + Mushroom->Place(10); + Stalactite->Place(5, Shape->Rectangle(0, 0, ls_wdt, ls_hgt/2)); + LargeCaveMushroom->Place(2); + Bat->Place(2); + + var location = FindLocation(Loc_Tunnel(), Loc_Wall(CNAT_Bottom), Loc_Space(20, CNAT_Top)); + if (location) + { + var obj = CreateObjectAbove(Cannon, location.x, location.y, NO_OWNER); + obj->CreateContents(PowderKeg); + } + + if (!FindObject(Find_ID(Time))) + CreateObject(Time); + Time->SetTime(24 * 60); + Meteor->SetChance(10, Chippie_Egg, 10); + + var spawn_fx = CreateEffect(this.SpawnEffect, 1, (38 * 3) / SCENPAR_ItemAmount); + spawn_fx.round_start_time = FrameCounter(); + return true; +} + +func InitPlayerRound(int plr, object crew) +{ + // everything visible + SetFoW(false, plr); + // Player positioning. + var ls_wdt = LandscapeWidth(), ls_hgt = LandscapeHeight(); + var start_pos = nil; + if (SCENPAR_TeamsTogether == 1) + { + start_pos = GetTeamSpawnPosition(GetPlayerTeam(plr)); + } + if (start_pos == nil) + { + // Start positions not defined or exhausted: Spawn in lower area for both maps becuase starting high is an an advantage. + start_pos = FindLocation(Loc_InRect(ls_wdt/5,ls_hgt/2,ls_wdt*3/5,ls_hgt/3), Loc_Wall(CNAT_Bottom), Loc_Func(Scenario.IsStartSpot)); + if (!start_pos) start_pos = FindLocation(Loc_InRect(ls_wdt/10,0,ls_wdt*8/10,ls_hgt*4/5), Loc_Wall(CNAT_Bottom), Loc_Func(Scenario.IsStartSpot)); + if (!start_pos) start_pos = {x=Random(ls_wdt*6/10)+ls_wdt*2/10, y=ls_hgt*58/100}; + } + + crew->SetPosition(start_pos.x, start_pos.y-10); + + // initial material + crew->CreateContents(WindBag); + crew->CreateContents(Shovel); + + crew.MaxEnergy = 50000; + crew->DoEnergy(1000); +} + +// Horizontal Loc_Space doesn't work with Loc_Wall because it checks inside the ground. +func IsStartSpot(int x, int y) +{ + // Don't spawn just at the border of an island. + if (!GBackSolid(x-3,y+2)) return false; + if (!GBackSolid(x+3,y+2)) return false; + if (GBackSemiSolid(x, y)) return false; + // Spawn with some space. + return PathFree(x-5, y, x+5, y) && PathFree(x, y-21, x, y-1); +} + +func IsFirestoneSpot(int x, int y) +{ + // Very thorough material surrounding check so they don't explode right away or when the first layer of ice melts + return GBackSolid(x,y-1) && GBackSolid(x,y+4) && GBackSolid(x-2,y) && GBackSolid(x+2,y); +} diff --git a/planet/Arena.ocf/FlintBrawl.ocs/StringTblDE.txt b/planet/Arena.ocf/FlintBrawl.ocs/StringTblDE.txt new file mode 100644 index 000000000..4ac48d087 --- /dev/null +++ b/planet/Arena.ocf/FlintBrawl.ocs/StringTblDE.txt @@ -0,0 +1,10 @@ +DescItems=Anzahl der neuen Items. +ItemsNormal=Normal +ItemsMany=Viele +TeamsTogether=Teams vereint +DescTeamsTogether=Die Spieler eines Teams starten zusammen. +Yes=Ja +No=Nein + +Rounds=Rundenzahl +DescRounds=Mehrere Runden spielen diff --git a/planet/Arena.ocf/FlintBrawl.ocs/StringTblUS.txt b/planet/Arena.ocf/FlintBrawl.ocs/StringTblUS.txt new file mode 100644 index 000000000..5f29025c6 --- /dev/null +++ b/planet/Arena.ocf/FlintBrawl.ocs/StringTblUS.txt @@ -0,0 +1,10 @@ +DescItems=Amount of items to spawn. +ItemsNormal=Normal +ItemsMany=Many +TeamsTogether=Teams together +DescTeamsTogether=The players of a team start together. +Yes=Yes +No=No + +Rounds=Number of rounds +DescRounds=Play for multiple rounds diff --git a/planet/Arena.ocf/FlintBrawl.ocs/System.ocg/Chippie_Egg.c b/planet/Arena.ocf/FlintBrawl.ocs/System.ocg/Chippie_Egg.c new file mode 100644 index 000000000..b7c6c9eba --- /dev/null +++ b/planet/Arena.ocf/FlintBrawl.ocs/System.ocg/Chippie_Egg.c @@ -0,0 +1,6 @@ +#appendto Chippie_Egg + +public func GetLifeTime() +{ + return 10000; +} diff --git a/planet/Arena.ocf/FlintBrawl.ocs/Teams.txt b/planet/Arena.ocf/FlintBrawl.ocs/Teams.txt new file mode 100644 index 000000000..808ec034d --- /dev/null +++ b/planet/Arena.ocf/FlintBrawl.ocs/Teams.txt @@ -0,0 +1,2 @@ +[Teams] +TeamDistribution=Free \ No newline at end of file diff --git a/planet/Arena.ocf/FlintBrawl.ocs/Title.txt b/planet/Arena.ocf/FlintBrawl.ocs/Title.txt new file mode 100644 index 000000000..8771af1da --- /dev/null +++ b/planet/Arena.ocf/FlintBrawl.ocs/Title.txt @@ -0,0 +1,2 @@ +DE:Flintgemenge +US:Flint Brawl diff --git a/planet/Sound.ocg/Hits.ocg/Materials.ocg/Glass.ocg/GlassHit3.ogg b/planet/Sound.ocg/Hits.ocg/Materials.ocg/Glass.ocg/GlassHit3.ogg new file mode 100644 index 0000000000000000000000000000000000000000..f0e566d3135ae51836bd1be011b5a01f610eef02 GIT binary patch literal 11432 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 FzW}`v;u!z{ literal 0 HcmV?d00001 diff --git a/planet/Sound.ocg/Hits.ocg/Materials.ocg/Glass.ocg/GlassHit4.ogg b/planet/Sound.ocg/Hits.ocg/Materials.ocg/Glass.ocg/GlassHit4.ogg new file mode 100644 index 0000000000000000000000000000000000000000..f697d4881090a00d99097f4924e139548a9d317c GIT binary patch literal 14190 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 literal 0 HcmV?d00001 diff --git a/planet/Sound.ocg/authors.txt b/planet/Sound.ocg/authors.txt index 62ffcde7e..4494c7171 100644 --- a/planet/Sound.ocg/authors.txt +++ b/planet/Sound.ocg/authors.txt @@ -19,7 +19,7 @@ ala - Fire/Spark1&2&3, Objects/Weapons/Musket/Click1&2&3, Clonk/Acti Chirp, Flutter1&2&3, Noise1&2&3 Animals/Mooq: Die1-5, DieFat, Hurt1-2, Munch1-4, Snort1-3, Snorting1-2, Spit1-2 -K-Pone - Objects/Pickaxe/ClangHard1 Fire/Blast3alt Fire/BlastLiquid3alt +K-Pone - Objects/Pickaxe/ClangHard1 Fire/Blast3alt Fire/BlastLiquid3alt GlassHit3-4 Ringwaul - Monster/Growl1-3, Monster/Die, Wipf/Snuff1-2, Wipf/Aroof, Wipf/Whine, Chest/Open, Chest/Close Winbag/Charge, Winbag/ChargeStop, Winbag/Gust, Pickaxe/Clang1-3