X-Git-Url: https://git.dogcows.com/gitweb?p=chaz%2Fyoink;a=blobdiff_plain;f=data%2Fscenes%2FClassic.lua;h=c2ca18387f1ecf01ae9d73b921faf6d522896da9;hp=62b8a97045b047790e913392fefe46572e3c3143;hb=e9a16d767785b1a903a4466ff26265a5f7dae9e5;hpb=542e50a284c7f5b144a5c97c17f6d89b2af0175c diff --git a/data/scenes/Classic.lua b/data/scenes/Classic.lua index 62b8a97..c2ca183 100644 --- a/data/scenes/Classic.lua +++ b/data/scenes/Classic.lua @@ -1,974 +1,152 @@ --- Scene: Classic Yoink --- created by Neil Carter --- converted to Lua by Charles McGarvey +LogInfo("-----", + "Scene: Classic", + "Created by Neil Carter", + "Converted to Lua by Charles McGarvey", + "-----") -- Scene API: -- -- Functions: --- SetPlayfieldBounds(point1, point2) --- SetMaximumBounds(point1, point2) +-- SetBounds(point1, point2) -- ResetTransform() -- Translate(x, y, z) -- Scale(x, y, z) or Scale(xyz) -- Rotate(axis, degree) or Rotate(x, y, z) -- SetTexture(name) --- MakeTilemap({width = ..., surface_type = ..., tiles = {}}) --- MakeBillboard({tile = ..., u_scale = ...}) +-- DrawTilemap({width = $num, [surface = TOP | LEFT | RIGHT], tiles}) +-- DrawTile(tile, [u_scale]) -- -- Globals: --- detail - level of detail of the scene - - -SetPlayfieldBounds({0, 0, -100}, {1280, 500, 100}) -SetMaximumBounds({-160, 0, -192}, {1440, 480, 224}) - - --- Left end tower block --- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - --- Front - -ResetTransform() -Translate(-5, 0, 5) -Scale(32) -SetTexture("TowerBlock1") -MakeTilemap({ - width = 5, - tiles = { - 2, 2, 2, 2, 2, - 1, 0, 0, 1, 0, - 1, 0, 0, 1, 0, - 1, 0, 0, 1, 0, - 1, 0, 0, 1, 0, - 1, 0, 0, 1, 0, - 1, 0, 0, 1, 0, - 1, 0, 0, 1, 0, - 1, 0, 0, 1, 0, - 1, 0, 0, 1, 0, - 1, 0, 0, 1, 0, - 1, 0, 0, 1, 0, - 1, 0, 0, 1, 0, - 1, 0, 0, 1, 0, - 4, 4, 4, 4, 4 - } -}) - --- Right side - -ResetTransform() -Rotate('y', 90) -Translate(0, 0, 5) -Scale(32) -MakeTilemap({ - width = 5, - surface_type = 'right', - tiles = { - 2, 2, 2, 2, 2, - 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, - 0, 0, 0, 0, 6, - 4, 5, 5, 5, 4 - } -}) - --- Top - -ResetTransform() -Rotate('x', 90) -Translate(-5, 15, 0) -Scale(32) -MakeTilemap({ - width = 5, - surface_type = 'top', - tiles = { - 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3 - } -}) - --- Leftmost background tower block --- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - --- Front - -if detail > 1 then - ResetTransform() - Scale(32) - MakeTilemap({ - width = 7, - tiles = { - 2, 2, 2, 2, 2, 2, 2, - 0, 1, 0, 0, 0, 1, 0, - 0, 1, 0, 0, 0, 1, 0, - 0, 1, 0, 0, 6, 1, 0, - 0, 1, 0, 0, 0, 1, 0, - 0, 1, 0, 0, 0, 1, 0, - 0, 1, 0, 0, 0, 1, 0, - 4, 4, 5, 5, 5, 4, 4 - } - }) - - -- Right side - - ResetTransform() - Rotate('y', 90) - Translate(7, 0, 0) - Scale(32) - MakeTilemap({ - width = 6, - tiles = { - 2, 2, 2, 2, 2, 2, - 0, 1, 0, 0, 1, 0, - 0, 1, 0, 0, 1, 0, - 0, 1, 0, 0, 1, 0, - 0, 1, 0, 0, 1, 0, - 0, 1, 0, 0, 1, 0, - 0, 1, 0, 0, 1, 0, - 4, 4, 4, 4, 4, 4 - } - }) - - -- Top - - ResetTransform() - Rotate('x', 90) - Translate(-2, 8, -6) - Scale(32) - MakeTilemap({ - width = 9, - tiles = { - 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3 - } - }) -end +-- detail - level of detail of the scene (HIGH, MEDIUM, or LOW) + + +SetBounds({-5, 0, -6}, {45, 15, 4}) + + +--geometry = yoink.mesh("classic.ac") +--geometry:draw() +--geometry = yoink.mesh.fromstring([[ +--AC3Db +--OBJECT poly +--name "Hello World" +--... +--]] + + +-- Functions: +-- DisplayText(text, seconds) +-- Yield(seconds) +-- SpawnItem(what, coords, timeout) +-- SpawnRandomItem(coords, timeout) +-- SpawnCharacter(what, coords, ai level) +-- SpawnHeroine(coords) +-- PlaySound(name) +-- PlayMusic(name) +-- BeginNewWave() + +-- Events: +-- Think() is called periodically +-- BadGuyDied(enemy) +-- HeroineDied(player) + +-- Globals: +-- numberOfBadGuys + + +--do + --SpawnHeroine({5, 5}) + --local waveNum = BeginNewWave() + --PopulateScene(waveNum) +--end --- Foreground building with pitched roof --- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - --- Left wall - -ResetTransform() -Rotate('y', -90) -Translate(10, 0, 1) -Scale(32) -SetTexture("Building") -MakeTilemap({ - width = 4, - surface_type = 'left', - tiles = { - -1, 9, 11, -1, - 9, 10, 12, 11, - 15, 7, 7, 16, - 3, 5, 6, 4, - 3, 6, 5, 4 - } -}) - --- Right wall - -ResetTransform() -Rotate('y', -90) -Translate(13, 0, 1) -Scale(32) -MakeTilemap({ - width = 4, - surface_type = 'right', - tiles = { - -1, 9, 11, -1, - 9, 10, 12, 11, - 15, 7, 7, 16, - 3, 5, 6, 4, - 3, 8, 5, 4 - } -}) - --- Front wall - -ResetTransform() -Translate(10, 0, 5) -Scale(32) -MakeTilemap({ - width = 3, - tiles = { - 15, 7, 16, - 3, 5, 4, - 3, 6, 4 - } -}) - --- Pitched roof - -ResetTransform() -Rotate('x', 135) -Scale(1, 1.5, 1.5) -Translate(10, 5, 3) -Scale(32) -MakeTilemap({ - width = 3, - tiles = { - 13, 13, 13, - 13, 13, 13 - } -}) - --- Finial - -ResetTransform() -Translate(10, 5, 3) -Scale(32) -MakeTilemap({ - width = 3, - tiles = { - 18, 18, 18 - } -}) - --- Cheaty invisible platform - -ResetTransform() -Translate(10, 4, 3) -Scale(32) -MakeTilemap({ - width = 3, - surface_type = 'top', - tiles = { - -1, -1, -1 - } -}) - --- The ground --- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - --- Courtyard - -ResetTransform() -Rotate('x', 90) -Translate(-3, 0, 0) -Scale(32) -SetTexture("Scenery") -MakeTilemap({ - width = 13, - surface_type = 'top', - tiles = { - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - -1, -1, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, - -1, -1, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, - -1, -1, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, - -1, -1, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, - -1, -1, -1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 - } -}) - --- Front grass - -if detail > 2 then - ResetTransform() - Scale(8, 1, 1) - Translate(1, -0.5, 5) - Scale(32) - MakeBillboard({ - tile = 2, - u_scale = 8 - }) - - -- Back grass - - ResetTransform() - Scale(8, 1, 1) - Translate(1, -0.5, 1) - Scale(32) - MakeBillboard({ - tile = 2, - u_scale = 8 - }) - - -- Left grass - - ResetTransform() - Scale(4, 1, 1) - Rotate('y', -90) - Translate(1, -0.5, 1) - Scale(32) - MakeBillboard({ - tile = 2, - u_scale = 4 - }) - - -- Right grass - - ResetTransform() - Scale(4, 1, 1) - Rotate('y', -90) - Translate(9, -0.5, 1) - Scale(32) - MakeBillboard({ - tile = 2, - u_scale = 4 - }) - - -- Fence behind house - - ResetTransform() - Scale(11, 1, 1) - Translate(7, 0, 0) - Scale(32) - MakeBillboard({ - tile = 4, - u_scale = 11 - }) + +-- Events +--------- + +Event = {} + +do + local mysound = yoink.sound("Explosion") + --local mysound = yoink.sound() + --mysound:sample("Explosion") + local count = 0 + function Event.Think() + if count % 300 == 0 then + --mysound:play() + end + count = count + 1 + end end --- Background building with pitched roof --- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - --- Front wall - -if detail > 1 then - ResetTransform() - Translate(19, 0, 0) - Scale(32) - SetTexture("Building") - MakeTilemap({ - width = 4, - tiles = { - -1, 9, 11, -1, - 9, 10, 12, 11, - 15, 7, 7, 16, - 3, 6, 5, 4, - 3, 5, 6, 4, - 3, 8, 5, 4 - } - }) - - -- Left wall - - ResetTransform() - Rotate('y', -90) - Translate(19, 0, -3) - Scale(32) - MakeTilemap({ - width = 3, - tiles = { - 15, 1, 16, - 3, 7, 4, - 3, 5, 4, - 3, 0, 4 - } - }) - - -- Right wall - - ResetTransform() - Rotate('y', -90) - Translate(23, 0, -3) - Scale(32) - MakeTilemap({ - width = 3, - tiles = { - 15, 0, 16, - 3, 7, 4, - 3, 6, 4, - 3, 2, 4 - } - }) - - -- Left pitched roof - - ResetTransform() - Rotate('x', 135) - Scale(1, 1.5, 1.5) - Rotate('y', -90) - Translate(21, 6, -3) - Scale(32) - MakeTilemap({ - width = 3, - tiles = { - 13, 13, 13, - 13, 13, 13 - } - }) - - -- Right pitched roof - - ResetTransform() - Rotate('x', -135) - Scale(1, 1.5, 1.5) - Rotate('y', -90) - Translate(21, 6, -3) - Scale(32) - MakeTilemap({ - width = 3, - tiles = { - 13, 13, 13, - 13, 13, 13 - } - }) - - -- Finial - - ResetTransform() - Rotate('y', -90) - Translate(21, 6, -3) - Scale(32) - MakeTilemap({ - width = 3, - tiles = { - 18, 18, 18 - } - }) + +classic_mesh = yoink.mesh("classic") + +--drawme = {} + +--world = classic_mesh:object(1) +--for i = 1, 19 do + --local object = world:kid(i) + --if object then table.insert(drawme, object) end +--end + +--lawn = classic_mesh:object(1):kid("M-Lawn") + +--Event.Draw = function() tower:draw(false) end +Event.Draw = function() + --for i,object in ipairs(drawme) do + --object:draw() + --end + --lawn:draw() + classic_mesh:draw() end --- More ground to the right --- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - --- Ground under house - -ResetTransform() -Rotate('x', 90) -Translate(10, 0, 0) -Scale(32) -SetTexture("Scenery") -MakeTilemap({ - width = 3, - surface_type = 'top', - tiles = { - 1, 1, 1, - 1, 1, 1, - -1, -1, -1, - -1, -1, -1, - -1, -1, -1, - -1, -1, -1, - 1, 1, 1 - } -}) - --- Left part of center courtyard - -ResetTransform() -Rotate('x', 90) -Translate(13, 0, 0) -Scale(32) -MakeTilemap({ - width = 8, - surface_type = 'top', - tiles = { - 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, - 1, 0, 0, 0, 0, 0, 0, 0, - 1, 0, 0, 0, 0, 0, 1, 1, - 0, 0, 0, 0, 0, 0, 1, 1, - 1, 0, 0, 0, 0, 0, 0, 0, - 1, 1, 1, 1, 1, 0, 0, 0 - } -}) - --- Front grass - -if detail > 2 then - ResetTransform() - Scale(12, 1, 1) - Translate(14, -0.5, 5) - Scale(32) - MakeBillboard({ - tile = 2, - u_scale = 12 - }) - - -- Back grass - - ResetTransform() - Scale(4, 1, 1) - Translate(14, -0.5, 1) - Scale(32) - MakeBillboard({ - tile = 2, - u_scale = 4 - }) - - -- Front grass next to door - - ResetTransform() - Translate(13, -0.5, 3) - Scale(32) - MakeBillboard({ - tile = 2, - u_scale = 1 - }) - - -- Back grass next to door - - ResetTransform() - Translate(13, -0.5, 2) - Scale(32) - MakeBillboard({ - tile = 2, - u_scale = 1 - }) - - -- Left grass - - ResetTransform() - Rotate('y', -90) - Translate(14, -0.5, 1) - Scale(32) - MakeTilemap({ - width = 4, - tiles = { - 2, -1, 2, 2 - } - }) - - -- Grass left of house - - ResetTransform() - Rotate('y', -90) - Translate(18, -0.5, 0) - Scale(32) - MakeBillboard({ - tile = 2, - u_scale = 1 - }) - - -- Grass right of house - - ResetTransform() - Rotate('y', -90) - Translate(24, -0.5, 0) - Scale(32) - MakeBillboard({ - tile = 2, - u_scale = 1 - }) - - -- Front grass in center - - ResetTransform() - Scale(4, 1, 1) - Translate(19, -0.5, 4) - Scale(32) - MakeBillboard({ - tile = 2, - u_scale = 4 - }) - - -- Back grass in center - - ResetTransform() - Scale(4, 1, 1) - Translate(19, -0.5, 2) - Scale(32) - MakeBillboard({ - tile = 2, - u_scale = 4 - }) - - -- Left grass in center - - ResetTransform() - Scale(2, 1, 1) - Rotate('y', -90) - Translate(19, -0.5, 2) - Scale(32) - MakeBillboard({ - tile = 2, - u_scale = 2 - }) - - -- Right grass in center - - ResetTransform() - Scale(2, 1, 1) - Rotate('y', -90) - Translate(23, -0.5, 2) - Scale(32) - MakeBillboard({ - tile = 2, - u_scale = 2 - }) +function Event:BadGuyDied(enemy) + if numberOfBadGuys == 0 then + local waveNum = BeginNewWave() + PopulateScene(waveNum) + end + if math.random() <= 0.2 then + SpawnRandomItem(enemy.position) + end end --- Right part of center courtyard - -ResetTransform() -Rotate('x', 90) -Translate(21, 0, 0) -Scale(32) -MakeTilemap({ - width = 7, - surface_type = 'top', - tiles = { - 1, 1, 1, 1, 1, 0, 0, - 1, 1, 1, 1, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, - 1, 1, 0, 0, 0, 0, 0, - 1, 1, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 1, 1, 1, 1 - } -}) - --- Fence to right of back house - -if detail > 2 then - ResetTransform() - Scale(4, 1, 1) - Translate(24, 0, 0) - Scale(32) - MakeBillboard({ - tile = 4, - u_scale = 4 - }) - - -- Grass in front of fence - - ResetTransform() - Scale(4, 1, 1) - Translate(24, -0.5, 1) - Scale(32) - MakeBillboard({ - tile = 2, - u_scale = 4 - }) - - -- Grass to left of tower block - - ResetTransform() - Scale(2, 1, 1) - Rotate('y', -90) - Translate(26, -0.5, 5) - Scale(32) - MakeBillboard({ - tile = 2, - u_scale = 2 - }) - - -- Grass to right of tower block - - ResetTransform() - Scale(2, 1, 1) - Rotate('y', -90) - Translate(35, -0.5, 5) - Scale(32) - MakeBillboard({ - tile = 2, - u_scale = 2 - }) - - -- Next bit of grass - - ResetTransform() - Scale(5, 1, 1) - Translate(35, -0.5, 5) - Scale(32) - MakeBillboard({ - tile = 2, - u_scale = 5 - }) - - -- Back grass - - ResetTransform() - Scale(6, 1, 1) - Translate(34, -0.5, 1) - Scale(32) - MakeBillboard({ - tile = 2, - u_scale = 6 - }) - - -- Extra bit of back grass - - ResetTransform() - Rotate('y', -90) - Translate(34, -0.5, 0) - Scale(32) - MakeBillboard({ - tile = 2, - u_scale = 1 - }) + +-- Helper functions +------------------- + +function PopulateScene(waveNum) + -- spawn some robot troopers + local numBadGuys = math.random(3, 2 * waveNum) + for i = 0, numBadGuys do + SpawnCharacter("RobotTrooper", RandomSpawnPlace(), RandomSkillLevel()) + end + + -- spawn some alien warriors + if waveNum >= 10 then + numBadGuys = math.random(3, 2 * waveNum) + for i = 0, numBadGuys do + SpawnCharacter("AlienWarrior", RandomSpawnPlace(), RandomSkillLevel()) + end + end + + -- spawn some jetbots + if waveNum >= 20 then + numBadGuys = math.random(3, 2 * waveNum) + for i = 0, numBadGuys do + SpawnCharacter("Jetbot", RandomSpawnPlace(), RandomSkillLevel()) + end + end end --- Ground around tower block - -ResetTransform() -Rotate('x', 90) -Translate(28, 0, 4) -Scale(32) -MakeTilemap({ - width = 5, - surface_type = 'top', - tiles = { - 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0 - } -}) - --- Rightmost ground - -ResetTransform() -Rotate('x', 90) -Translate(33, 0, 0) -Scale(32) -MakeTilemap({ - width = 10, - surface_type = 'top', - tiles = { - 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, - 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, - 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, - 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, - 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, - 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, - 0, 1, 1, 1, 1, 1, 1, -1, -1, -1 - } -}) - --- Right foreground tower block --- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - --- Front - -ResetTransform() -Translate(28, 0, 4) -Scale(32) -SetTexture("TowerBlock1") -MakeTilemap({ - width = 5, - tiles = { - 2, 2, 2, 2, 2, - 0, 0, 0, 0, 0, - 0, 0, 0, 0, 6, - 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, - 0, 0, 0, 6, 0, - 4, 4, 4, 4, 4 - } -}) - --- Right side - -ResetTransform() -Rotate('y', 90) -Translate(33, 0, 4) -Scale(32) -MakeTilemap({ - width = 6, - surface_type = 'right', - tiles = { - 2, 2, 2, 2, 2, 2, - 0, 1, 0, 0, 1, 0, - 0, 1, 0, 0, 1, 0, - 0, 1, 0, 0, 1, 0, - 0, 1, 0, 0, 1, 0, - 0, 1, 0, 0, 1, 0, - 5, 4, 5, 5, 4, 5 - } -}) - --- Left side - -ResetTransform() -Rotate('y', 90) -Translate(28, 0, 4) -Scale(32) -MakeTilemap({ - width = 6, - surface_type = 'left', - tiles = { - 2, 2, 2, 2, 2, 2, - 0, 1, 6, 0, 1, 0, - 0, 1, 0, 0, 1, 0, - 0, 1, 0, 0, 1, 0, - 0, 1, 0, 0, 1, 0, - 0, 1, 0, 0, 1, 0, - 5, 4, 5, 5, 4, 5 - } -}) - --- Top - -ResetTransform() -Rotate('x', 90) -Translate(28, 7, -2) -Scale(32) -MakeTilemap({ - width = 5, - surface_type = 'top', - tiles = { - 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3 - } -}) - --- Right end tower block --- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - --- Front - -ResetTransform() -Translate(40, 0, 5) -Scale(32) -MakeTilemap({ - width = 5, - tiles = { - 2, 2, 2, 2, 2, - 0, 1, 0, 0, 1, - 0, 1, 0, 0, 1, - 0, 1, 0, 0, 1, - 0, 1, 0, 0, 1, - 6, 1, 0, 0, 1, - 0, 1, 0, 0, 1, - 0, 1, 0, 0, 1, - 0, 1, 0, 0, 1, - 0, 1, 0, 0, 1, - 0, 1, 0, 0, 1, - 6, 1, 0, 0, 1, - 0, 1, 0, 0, 1, - 0, 1, 0, 0, 1, - 4, 4, 4, 4, 4 - } -}) - --- Left side - -ResetTransform() -Rotate('y', 90) -Translate(40, 0, 5) -Scale(32) -MakeTilemap({ - width = 5, - surface_type = 'left', - tiles = { - 2, 2, 2, 2, 2, - 6, 0, 0, 0, 0, - 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, - 0, 0, 0, 6, 0, - 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, - 0, 0, 6, 0, 0, - 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, - 4, 5, 5, 5, 4 - } -}) - --- Top - -ResetTransform() -Rotate('x', 90) -Translate(40, 15, 0) -Scale(32) -MakeTilemap({ - width = 5, - surface_type = 'top', - tiles = { - 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3 - } -}) - --- Background --- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -ResetTransform() -Translate(-0.3, -0.17, -900) -Scale(3200, 1600, 1) -SetTexture("BackgroundFar") -MakeBillboard() - -Translate(0, 0, 300) -SetTexture("BackgroundNear") -MakeBillboard({ - blend = detail > 1 and true or false -}) - --- Trees --- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -SetTexture("Trees") - --- Left courtyard - -if detail > 1 then - ResetTransform() - Scale(96) - Translate(250, -2.5, 16) - MakeBillboard({ - tile = 1 - }) +function RandomSpawnPlace() + return {5, 5} end --- Center courtyard - -ResetTransform() -Scale(96) -Translate(610, -2.5, 85) -MakeBillboard({ - tile = 0 -}) - -ResetTransform() -Scale(96) -Translate(650, -2.5, 115) -MakeBillboard({ - tile = 1 -}) - --- Right courtyard - -if detail > 1 then - ResetTransform() - Scale(96) - Translate(1080, -2.5, 10) - MakeBillboard({ - tile = 1 - }) - - ResetTransform() - Scale(96) - Translate(1120, -2.5, -15) - MakeBillboard({ - tile = 0 - }) - - ResetTransform() - Scale(96) - Translate(1220, -2.5, -30) - MakeBillboard({ - tile = 1 - }) +function RandomSkillLevel() + return "dumb" end + +-- vim: ts=4 sw=4 tw=80 +