From 3bd437193ceed59255e6b82c1ebf682e973bb456 Mon Sep 17 00:00:00 2001 From: SilverSokolova Date: Tue, 27 Feb 2024 14:47:40 -0600 Subject: [PATCH] v12e --- .../randomencounter/sb_shop/starpawnL.json | 2 +- .../randomencounter/sb_shop/starpawnR.json | 2 +- interface/cockpit/cockpit.config.patch | 25 +++- interface/cockpit/sb_cockpit.lua | 14 ++- .../flamethrower/flamethrower.activeitem | 56 +++++++-- .../flamethrower/flamethrowernames.config | 2 +- .../starbound/weapons/shortsword2/crayon.png | Bin 0 -> 345 bytes .../weapons/shortsword2/crayonblue.activeitem | 11 ++ .../shortsword2/mushroomsword2.activeitem | 2 +- .../weapons/shortsword2/swoosh1/crayon.png | Bin 0 -> 251 bytes .../weapons/spears/teslaspear.activeitem | 3 +- .../starbound/buildabilitymod.lua | 2 +- items/buildscripts/starbound/buildweapon.lua | 36 +++--- items/buildscripts/starbound/updateweapon.lua | 40 +++++++ .../sb_revoltingstew.consumable | 0 .../{unsorted => food}/sb_revoltingstew.png | Bin .../sb_rottenapple.consumable | 0 .../{unsorted => food}/sb_rottenapple.png | Bin items/materials/sb_smoothconcrete.matitem | 22 ++-- items/tools/miningtools/sb_beamaxe.activeitem | 19 +-- items/tools/miningtools/sb_beamaxe2.lua | 108 ++++++++++++------ .../tools/miningtools/sb_beamaxeanimation.lua | 36 +++--- items/tools/miningtools/sb_miningtool.lua | 2 +- .../lightningthrower.projectile.patch | 18 +++ .../consumables/drinks/dirtea.recipe | 2 +- sb_definitions/crayon.config | 9 +- sb_definitions/crayon2.config | 53 +++++++++ tiled/betabound/materials/sb_brains.png | Bin 0 -> 110 bytes tiled/betabound/materials/sb_chain.png | Bin 0 -> 126 bytes tiled/betabound/materials/sb_concrete.png | Bin 0 -> 101 bytes tiles/materials/sb_concrete.material | 42 +++---- treasure/largedungeons.treasurepools.patch | 3 +- 32 files changed, 366 insertions(+), 143 deletions(-) create mode 100644 items/active/starbound/weapons/shortsword2/crayon.png create mode 100644 items/active/starbound/weapons/shortsword2/crayonblue.activeitem create mode 100644 items/active/starbound/weapons/shortsword2/swoosh1/crayon.png create mode 100644 items/buildscripts/starbound/updateweapon.lua rename items/generic/{unsorted => food}/sb_revoltingstew.consumable (100%) rename items/generic/{unsorted => food}/sb_revoltingstew.png (100%) rename items/generic/{unsorted => food}/sb_rottenapple.consumable (100%) rename items/generic/{unsorted => food}/sb_rottenapple.png (100%) create mode 100644 projectiles/guns/unsorted/lightningthrower/lightningthrower.projectile.patch create mode 100644 sb_definitions/crayon2.config create mode 100644 tiled/betabound/materials/sb_brains.png create mode 100644 tiled/betabound/materials/sb_chain.png create mode 100644 tiled/betabound/materials/sb_concrete.png diff --git a/dungeons/microdungeons/randomencounter/sb_shop/starpawnL.json b/dungeons/microdungeons/randomencounter/sb_shop/starpawnL.json index 4fe1b14d..035dbb77 100644 --- a/dungeons/microdungeons/randomencounter/sb_shop/starpawnL.json +++ b/dungeons/microdungeons/randomencounter/sb_shop/starpawnL.json @@ -1 +1 @@ -{"backgroundcolor":"#000000","compressionlevel":-1,"height":15,"infinite":false,"layers":[{"compression":"zlib","data":"eJx7w8DA8GYUj+JRPGTxZyTcCsR9ZOJWJHOwmU1NTC\/zh6odMHMBNtxIew==","encoding":"base64","height":15,"id":1,"name":"back","opacity":0.5,"type":"tilelayer","visible":true,"width":24,"x":0,"y":0},{"compression":"zlib","data":"eJxjYBgFo2AUDGXwGQm3AnEfmbgVzSx0s4cipqUfcMUBNc0GANsxY+8=","encoding":"base64","height":15,"id":2,"name":"front","opacity":1,"type":"tilelayer","visible":true,"width":24,"x":0,"y":0},{"color":"#5555ff","draworder":"topdown","id":3,"name":"mods","objects":[{"height":8,"id":1640,"name":"","properties":[{"name":"back","type":"string","value":"lunarbaseblock"},{"name":"colorVariant","type":"string","value":"7"},{"name":"front","type":"string","value":"lunarbaseblock"}],"rotation":0,"type":"","visible":true,"width":8,"x":32,"y":80},{"height":8,"id":1641,"name":"","properties":[{"name":"back","type":"string","value":"lunarbaseblock"},{"name":"colorVariant","type":"string","value":"7"},{"name":"front","type":"string","value":"lunarbaseblock"}],"rotation":0,"type":"","visible":true,"width":8,"x":152,"y":80},{"height":8,"id":1643,"name":"","properties":[{"name":"back","type":"string","value":"outpostwall2"},{"name":"colorVariant","type":"string","value":"7"},{"name":"front","type":"string","value":"outpostwall2"}],"rotation":0,"type":"","visible":true,"width":112,"x":40,"y":80}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0},{"color":"#ff0000","draworder":"topdown","id":4,"name":"objects","objects":[{"gid":251,"height":8,"id":1635,"name":"","rotation":0,"type":"","visible":true,"width":8,"x":176,"y":80},{"gid":251,"height":8,"id":1636,"name":"","rotation":0,"type":"","visible":true,"width":8,"x":8,"y":80},{"gid":251,"height":8,"id":1637,"name":"","rotation":0,"type":"","visible":true,"width":8,"x":16,"y":8},{"gid":251,"height":8,"id":1638,"name":"","rotation":0,"type":"","visible":true,"width":8,"x":168,"y":8},{"gid":2147488879,"height":48,"id":1639,"name":"","properties":[{"name":"object","type":"string","value":"sb_starpawn"}],"rotation":0,"type":"","visible":true,"width":120,"x":-16,"y":80}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0},{"color":"#ffff00","draworder":"topdown","id":5,"name":"wiring-lights&guns","objects":[],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0},{"color":"#ff0000","draworder":"topdown","id":6,"name":"monsters&npcs","objects":[],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0},{"color":"#00ffff","draworder":"topdown","id":7,"name":"wiring-lockeddoor","objects":[],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0},{"draworder":"topdown","id":8,"name":"outsidethemap","objects":[],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0},{"draworder":"topdown","id":9,"name":"anchorsetc","objects":[{"gid":240,"height":8,"id":1626,"name":"","rotation":0,"type":"","visible":true,"width":8,"x":88,"y":96},{"gid":240,"height":8,"id":1630,"name":"","rotation":0,"type":"","visible":true,"width":8,"x":8,"y":112},{"gid":240,"height":8,"id":1631,"name":"","rotation":0,"type":"","visible":true,"width":8,"x":176,"y":112},{"gid":251,"height":8,"id":1632,"name":"","rotation":0,"type":"","visible":true,"width":8,"x":88,"y":80}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0},{"draworder":"topdown","id":10,"name":"items","objects":[],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}],"nextlayerid":11,"nextobjectid":1644,"orientation":"orthogonal","renderorder":"right-down","tiledversion":"1.10.1","tileheight":8,"tilesets":[{"firstgid":1,"source":"..\/..\/..\/tilesets\/packed\/materials.json"},{"firstgid":198,"source":"..\/..\/..\/tilesets\/packed\/supports.json"},{"firstgid":235,"source":"..\/..\/..\/tilesets\/packed\/miscellaneous.json"},{"firstgid":259,"source":"..\/..\/..\/tilesets\/packed\/liquids.json"},{"firstgid":287,"source":"..\/..\/..\/tilesets\/packed\/objects-by-race\/generic.json"},{"firstgid":2271,"source":"..\/..\/..\/tilesets\/packed\/objects-by-category\/breakable.json"},{"firstgid":2581,"source":"..\/..\/..\/tilesets\/packed\/objects-by-category\/crafting.json"},{"firstgid":2661,"source":"..\/..\/..\/tilesets\/packed\/objects-by-category\/decorative.json"},{"firstgid":4102,"source":"..\/..\/..\/tilesets\/packed\/objects-by-category\/door.json"},{"firstgid":4234,"source":"..\/..\/..\/tilesets\/packed\/objects-by-category\/light.json"},{"firstgid":4692,"source":"..\/..\/..\/tilesets\/packed\/objects-by-category\/pot.json"},{"firstgid":4989,"source":"..\/..\/..\/tilesets\/packed\/objects-by-category\/railpoint.json"},{"firstgid":4994,"source":"..\/..\/..\/tilesets\/packed\/objects-by-category\/seed.json"},{"firstgid":5070,"source":"..\/..\/..\/tilesets\/packed\/objects-by-category\/storage.json"},{"firstgid":5304,"source":"..\/..\/..\/tilesets\/packed\/objects-by-category\/teleportmarker.json"},{"firstgid":5318,"source":"..\/..\/..\/tilesets\/packed\/objects-by-category\/trap.json"},{"firstgid":5522,"source":"..\/..\/..\/tilesets\/packed\/objects-by-category\/wire.json"},{"firstgid":5744,"source":"..\/..\/..\/tilesets\/packed\/objects-by-race\/glitch.json"},{"firstgid":5970,"source":"..\/..\/..\/tilesets\/packed\/objects-by-race\/novakid.json"},{"firstgid":6034,"source":"..\/..\/..\/tilesets\/packed\/objects-by-colonytag\/commerce.json"},{"firstgid":6192,"source":"..\/..\/..\/tilesets\/packed\/objects-by-colonytag\/saloon.json"},{"firstgid":6213,"source":"..\/..\/..\/tilesets\/packed\/objects-by-type\/loungeable.json"},{"firstgid":6494,"source":"..\/..\/..\/tilesets\/packed\/objects-by-category\/furniture.json"},{"firstgid":6848,"source":"..\/..\/..\/tilesets\/packed\/objects-by-colonytag\/pretty.json"},{"firstgid":7327,"source":"..\/..\/..\/tilesets\/packed\/objects-by-race\/human.json"},{"firstgid":7615,"source":"..\/..\/..\/tilesets\/packed\/objects-by-type\/container.json"},{"firstgid":7900,"source":"..\/..\/..\/tilesets\/packed\/sb_materials.json"},{"firstgid":7902,"source":"..\/..\/..\/tilesets\/packed\/objects-by-category\/spawner.json"}],"tilewidth":8,"type":"map","version":"1.10","width":24} \ No newline at end of file +{"backgroundcolor":"#000000","compressionlevel":-1,"height":15,"infinite":false,"layers":[{"compression":"zlib","data":"eJx7w8DA8AYJv6YQvyGAR80fNX\/UfOqa\/xkJtwJxH5m4FckcbGZTE9PL\/KFqB8xcAN1vR9s=","encoding":"base64","height":15,"id":1,"name":"back","opacity":0.5,"type":"tilelayer","visible":true,"width":24,"x":0,"y":0},{"compression":"zlib","data":"eJxjYBgFo2AUDGXwGQm3AnEfmbgVzSx0s4cipqUfcMUBNc0GANsxY+8=","encoding":"base64","height":15,"id":2,"name":"front","opacity":1,"type":"tilelayer","visible":true,"width":24,"x":0,"y":0},{"color":"#5555ff","draworder":"topdown","id":3,"name":"mods","objects":[{"height":8,"id":1640,"name":"","properties":[{"name":"back","type":"string","value":"lunarbaseblock"},{"name":"colorVariant","type":"string","value":"7"},{"name":"front","type":"string","value":"lunarbaseblock"}],"rotation":0,"type":"","visible":true,"width":8,"x":32,"y":80},{"height":8,"id":1641,"name":"","properties":[{"name":"back","type":"string","value":"lunarbaseblock"},{"name":"colorVariant","type":"string","value":"7"},{"name":"front","type":"string","value":"lunarbaseblock"}],"rotation":0,"type":"","visible":true,"width":8,"x":152,"y":80},{"height":8,"id":1643,"name":"","properties":[{"name":"back","type":"string","value":"outpostwall2"},{"name":"colorVariant","type":"string","value":"7"},{"name":"front","type":"string","value":"outpostwall2"}],"rotation":0,"type":"","visible":true,"width":112,"x":40,"y":80}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0},{"color":"#ff0000","draworder":"topdown","id":4,"name":"objects","objects":[{"gid":251,"height":8,"id":1635,"name":"","rotation":0,"type":"","visible":true,"width":8,"x":176,"y":80},{"gid":251,"height":8,"id":1636,"name":"","rotation":0,"type":"","visible":true,"width":8,"x":8,"y":80},{"gid":251,"height":8,"id":1637,"name":"","rotation":0,"type":"","visible":true,"width":8,"x":16,"y":8},{"gid":251,"height":8,"id":1638,"name":"","rotation":0,"type":"","visible":true,"width":8,"x":168,"y":8},{"gid":2147488879,"height":48,"id":1639,"name":"","properties":[{"name":"object","type":"string","value":"sb_starpawn"}],"rotation":0,"type":"","visible":true,"width":120,"x":-16,"y":80}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0},{"color":"#ffff00","draworder":"topdown","id":5,"name":"wiring-lights&guns","objects":[],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0},{"color":"#ff0000","draworder":"topdown","id":6,"name":"monsters&npcs","objects":[],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0},{"color":"#00ffff","draworder":"topdown","id":7,"name":"wiring-lockeddoor","objects":[],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0},{"draworder":"topdown","id":8,"name":"outsidethemap","objects":[],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0},{"draworder":"topdown","id":9,"name":"anchorsetc","objects":[{"gid":240,"height":8,"id":1626,"name":"","rotation":0,"type":"","visible":true,"width":8,"x":88,"y":96},{"gid":240,"height":8,"id":1630,"name":"","rotation":0,"type":"","visible":true,"width":8,"x":8,"y":112},{"gid":240,"height":8,"id":1631,"name":"","rotation":0,"type":"","visible":true,"width":8,"x":176,"y":112},{"gid":251,"height":8,"id":1632,"name":"","rotation":0,"type":"","visible":true,"width":8,"x":88,"y":80}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0},{"draworder":"topdown","id":10,"name":"items","objects":[],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}],"nextlayerid":11,"nextobjectid":1644,"orientation":"orthogonal","renderorder":"right-down","tiledversion":"1.10.1","tileheight":8,"tilesets":[{"firstgid":1,"source":"..\/..\/..\/tilesets\/packed\/materials.json"},{"firstgid":198,"source":"..\/..\/..\/tilesets\/packed\/supports.json"},{"firstgid":235,"source":"..\/..\/..\/tilesets\/packed\/miscellaneous.json"},{"firstgid":259,"source":"..\/..\/..\/tilesets\/packed\/liquids.json"},{"firstgid":287,"source":"..\/..\/..\/tilesets\/packed\/objects-by-race\/generic.json"},{"firstgid":2271,"source":"..\/..\/..\/tilesets\/packed\/objects-by-category\/breakable.json"},{"firstgid":2581,"source":"..\/..\/..\/tilesets\/packed\/objects-by-category\/crafting.json"},{"firstgid":2661,"source":"..\/..\/..\/tilesets\/packed\/objects-by-category\/decorative.json"},{"firstgid":4102,"source":"..\/..\/..\/tilesets\/packed\/objects-by-category\/door.json"},{"firstgid":4234,"source":"..\/..\/..\/tilesets\/packed\/objects-by-category\/light.json"},{"firstgid":4692,"source":"..\/..\/..\/tilesets\/packed\/objects-by-category\/pot.json"},{"firstgid":4989,"source":"..\/..\/..\/tilesets\/packed\/objects-by-category\/railpoint.json"},{"firstgid":4994,"source":"..\/..\/..\/tilesets\/packed\/objects-by-category\/seed.json"},{"firstgid":5070,"source":"..\/..\/..\/tilesets\/packed\/objects-by-category\/storage.json"},{"firstgid":5304,"source":"..\/..\/..\/tilesets\/packed\/objects-by-category\/teleportmarker.json"},{"firstgid":5318,"source":"..\/..\/..\/tilesets\/packed\/objects-by-category\/trap.json"},{"firstgid":5522,"source":"..\/..\/..\/tilesets\/packed\/objects-by-category\/wire.json"},{"firstgid":5744,"source":"..\/..\/..\/tilesets\/packed\/objects-by-race\/glitch.json"},{"firstgid":5970,"source":"..\/..\/..\/tilesets\/packed\/objects-by-race\/novakid.json"},{"firstgid":6034,"source":"..\/..\/..\/tilesets\/packed\/objects-by-colonytag\/commerce.json"},{"firstgid":6192,"source":"..\/..\/..\/tilesets\/packed\/objects-by-colonytag\/saloon.json"},{"firstgid":6213,"source":"..\/..\/..\/tilesets\/packed\/objects-by-type\/loungeable.json"},{"firstgid":6494,"source":"..\/..\/..\/tilesets\/packed\/objects-by-category\/furniture.json"},{"firstgid":6848,"source":"..\/..\/..\/tilesets\/packed\/objects-by-colonytag\/pretty.json"},{"firstgid":7327,"source":"..\/..\/..\/tilesets\/packed\/objects-by-race\/human.json"},{"firstgid":7615,"source":"..\/..\/..\/tilesets\/packed\/objects-by-type\/container.json"},{"firstgid":7900,"source":"..\/..\/..\/tilesets\/packed\/sb_materials.json"},{"firstgid":7902,"source":"..\/..\/..\/tilesets\/packed\/objects-by-category\/spawner.json"}],"tilewidth":8,"type":"map","version":"1.10","width":24} \ No newline at end of file diff --git a/dungeons/microdungeons/randomencounter/sb_shop/starpawnR.json b/dungeons/microdungeons/randomencounter/sb_shop/starpawnR.json index 89895865..c34fada3 100644 --- a/dungeons/microdungeons/randomencounter/sb_shop/starpawnR.json +++ b/dungeons/microdungeons/randomencounter/sb_shop/starpawnR.json @@ -1 +1 @@ -{"backgroundcolor":"#000000","compressionlevel":-1,"height":15,"infinite":false,"layers":[{"compression":"zlib","data":"eJx7w8DA8GYUj+JRPGTxZyTcCsR9ZOJWJHOwmU1NTC\/zh6odMHMBNtxIew==","encoding":"base64","height":15,"id":1,"name":"back","opacity":0.5,"type":"tilelayer","visible":true,"width":24,"x":0,"y":0},{"compression":"zlib","data":"eJxjYBgFo2AUDGXwGQm3AnEfmbgVzSx0s4cipqUfcMUBNc0GANsxY+8=","encoding":"base64","height":15,"id":2,"name":"front","opacity":1,"type":"tilelayer","visible":true,"width":24,"x":0,"y":0},{"color":"#5555ff","draworder":"topdown","id":3,"name":"mods","objects":[{"height":8,"id":1640,"name":"","properties":[{"name":"back","type":"string","value":"lunarbaseblock"},{"name":"colorVariant","type":"string","value":"7"},{"name":"front","type":"string","value":"lunarbaseblock"}],"rotation":0,"type":"","visible":true,"width":8,"x":32,"y":80},{"height":8,"id":1641,"name":"","properties":[{"name":"back","type":"string","value":"lunarbaseblock"},{"name":"colorVariant","type":"string","value":"7"},{"name":"front","type":"string","value":"lunarbaseblock"}],"rotation":0,"type":"","visible":true,"width":8,"x":152,"y":80},{"height":8,"id":1643,"name":"","properties":[{"name":"back","type":"string","value":"outpostwall2"},{"name":"colorVariant","type":"string","value":"7"},{"name":"front","type":"string","value":"outpostwall2"}],"rotation":0,"type":"","visible":true,"width":112,"x":40,"y":80}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0},{"color":"#ff0000","draworder":"topdown","id":4,"name":"objects","objects":[{"gid":251,"height":8,"id":1635,"name":"","rotation":0,"type":"","visible":true,"width":8,"x":176,"y":80},{"gid":251,"height":8,"id":1636,"name":"","rotation":0,"type":"","visible":true,"width":8,"x":8,"y":80},{"gid":251,"height":8,"id":1637,"name":"","rotation":0,"type":"","visible":true,"width":8,"x":16,"y":8},{"gid":251,"height":8,"id":1638,"name":"","rotation":0,"type":"","visible":true,"width":8,"x":168,"y":8},{"gid":5231,"height":48,"id":1639,"name":"","properties":[{"name":"object","type":"string","value":"sb_starpawn"}],"rotation":0,"type":"","visible":true,"width":120,"x":-16,"y":80}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0},{"color":"#ffff00","draworder":"topdown","id":5,"name":"wiring-lights&guns","objects":[],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0},{"color":"#ff0000","draworder":"topdown","id":6,"name":"monsters&npcs","objects":[],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0},{"color":"#00ffff","draworder":"topdown","id":7,"name":"wiring-lockeddoor","objects":[],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0},{"draworder":"topdown","id":8,"name":"outsidethemap","objects":[],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0},{"draworder":"topdown","id":9,"name":"anchorsetc","objects":[{"gid":240,"height":8,"id":1626,"name":"","rotation":0,"type":"","visible":true,"width":8,"x":88,"y":96},{"gid":240,"height":8,"id":1630,"name":"","rotation":0,"type":"","visible":true,"width":8,"x":8,"y":112},{"gid":240,"height":8,"id":1631,"name":"","rotation":0,"type":"","visible":true,"width":8,"x":176,"y":112},{"gid":251,"height":8,"id":1632,"name":"","rotation":0,"type":"","visible":true,"width":8,"x":88,"y":80}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0},{"draworder":"topdown","id":10,"name":"items","objects":[],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}],"nextlayerid":11,"nextobjectid":1644,"orientation":"orthogonal","renderorder":"right-down","tiledversion":"1.10.1","tileheight":8,"tilesets":[{"firstgid":1,"source":"..\/..\/..\/tilesets\/packed\/materials.json"},{"firstgid":198,"source":"..\/..\/..\/tilesets\/packed\/supports.json"},{"firstgid":235,"source":"..\/..\/..\/tilesets\/packed\/miscellaneous.json"},{"firstgid":259,"source":"..\/..\/..\/tilesets\/packed\/liquids.json"},{"firstgid":287,"source":"..\/..\/..\/tilesets\/packed\/objects-by-race\/generic.json"},{"firstgid":2271,"source":"..\/..\/..\/tilesets\/packed\/objects-by-category\/breakable.json"},{"firstgid":2581,"source":"..\/..\/..\/tilesets\/packed\/objects-by-category\/crafting.json"},{"firstgid":2661,"source":"..\/..\/..\/tilesets\/packed\/objects-by-category\/decorative.json"},{"firstgid":4102,"source":"..\/..\/..\/tilesets\/packed\/objects-by-category\/door.json"},{"firstgid":4234,"source":"..\/..\/..\/tilesets\/packed\/objects-by-category\/light.json"},{"firstgid":4692,"source":"..\/..\/..\/tilesets\/packed\/objects-by-category\/pot.json"},{"firstgid":4989,"source":"..\/..\/..\/tilesets\/packed\/objects-by-category\/railpoint.json"},{"firstgid":4994,"source":"..\/..\/..\/tilesets\/packed\/objects-by-category\/seed.json"},{"firstgid":5070,"source":"..\/..\/..\/tilesets\/packed\/objects-by-category\/storage.json"},{"firstgid":5304,"source":"..\/..\/..\/tilesets\/packed\/objects-by-category\/teleportmarker.json"},{"firstgid":5318,"source":"..\/..\/..\/tilesets\/packed\/objects-by-category\/trap.json"},{"firstgid":5522,"source":"..\/..\/..\/tilesets\/packed\/objects-by-category\/wire.json"},{"firstgid":5744,"source":"..\/..\/..\/tilesets\/packed\/objects-by-race\/glitch.json"},{"firstgid":5970,"source":"..\/..\/..\/tilesets\/packed\/objects-by-race\/novakid.json"},{"firstgid":6034,"source":"..\/..\/..\/tilesets\/packed\/objects-by-colonytag\/commerce.json"},{"firstgid":6192,"source":"..\/..\/..\/tilesets\/packed\/objects-by-colonytag\/saloon.json"},{"firstgid":6213,"source":"..\/..\/..\/tilesets\/packed\/objects-by-type\/loungeable.json"},{"firstgid":6494,"source":"..\/..\/..\/tilesets\/packed\/objects-by-category\/furniture.json"},{"firstgid":6848,"source":"..\/..\/..\/tilesets\/packed\/objects-by-colonytag\/pretty.json"},{"firstgid":7327,"source":"..\/..\/..\/tilesets\/packed\/objects-by-race\/human.json"},{"firstgid":7615,"source":"..\/..\/..\/tilesets\/packed\/objects-by-type\/container.json"},{"firstgid":7900,"source":"..\/..\/..\/tilesets\/packed\/sb_materials.json"},{"firstgid":7902,"source":"..\/..\/..\/tilesets\/packed\/objects-by-category\/spawner.json"}],"tilewidth":8,"type":"map","version":"1.10","width":24} \ No newline at end of file +{"backgroundcolor":"#000000","compressionlevel":-1,"height":15,"infinite":false,"layers":[{"compression":"zlib","data":"eJx7w8DA8AYJv6YQvyGAR80fNX\/UfOqa\/xkJtwJxH5m4FckcbGZTE9PL\/KFqB8xcAN1vR9s=","encoding":"base64","height":15,"id":1,"name":"back","opacity":0.5,"type":"tilelayer","visible":true,"width":24,"x":0,"y":0},{"compression":"zlib","data":"eJxjYBgFo2AUDGXwGQm3AnEfmbgVzSx0s4cipqUfcMUBNc0GANsxY+8=","encoding":"base64","height":15,"id":2,"name":"front","opacity":1,"type":"tilelayer","visible":true,"width":24,"x":0,"y":0},{"color":"#5555ff","draworder":"topdown","id":3,"name":"mods","objects":[{"height":8,"id":1640,"name":"","properties":[{"name":"back","type":"string","value":"lunarbaseblock"},{"name":"colorVariant","type":"string","value":"7"},{"name":"front","type":"string","value":"lunarbaseblock"}],"rotation":0,"type":"","visible":true,"width":8,"x":32,"y":80},{"height":8,"id":1641,"name":"","properties":[{"name":"back","type":"string","value":"lunarbaseblock"},{"name":"colorVariant","type":"string","value":"7"},{"name":"front","type":"string","value":"lunarbaseblock"}],"rotation":0,"type":"","visible":true,"width":8,"x":152,"y":80},{"height":8,"id":1643,"name":"","properties":[{"name":"back","type":"string","value":"outpostwall2"},{"name":"colorVariant","type":"string","value":"7"},{"name":"front","type":"string","value":"outpostwall2"}],"rotation":0,"type":"","visible":true,"width":112,"x":40,"y":80}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0},{"color":"#ff0000","draworder":"topdown","id":4,"name":"objects","objects":[{"gid":251,"height":8,"id":1635,"name":"","rotation":0,"type":"","visible":true,"width":8,"x":176,"y":80},{"gid":251,"height":8,"id":1636,"name":"","rotation":0,"type":"","visible":true,"width":8,"x":8,"y":80},{"gid":251,"height":8,"id":1637,"name":"","rotation":0,"type":"","visible":true,"width":8,"x":16,"y":8},{"gid":251,"height":8,"id":1638,"name":"","rotation":0,"type":"","visible":true,"width":8,"x":168,"y":8},{"gid":5231,"height":48,"id":1639,"name":"","properties":[{"name":"object","type":"string","value":"sb_starpawn"}],"rotation":0,"type":"","visible":true,"width":120,"x":-16,"y":80}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0},{"color":"#ffff00","draworder":"topdown","id":5,"name":"wiring-lights&guns","objects":[],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0},{"color":"#ff0000","draworder":"topdown","id":6,"name":"monsters&npcs","objects":[],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0},{"color":"#00ffff","draworder":"topdown","id":7,"name":"wiring-lockeddoor","objects":[],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0},{"draworder":"topdown","id":8,"name":"outsidethemap","objects":[],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0},{"draworder":"topdown","id":9,"name":"anchorsetc","objects":[{"gid":240,"height":8,"id":1626,"name":"","rotation":0,"type":"","visible":true,"width":8,"x":88,"y":96},{"gid":240,"height":8,"id":1630,"name":"","rotation":0,"type":"","visible":true,"width":8,"x":8,"y":112},{"gid":240,"height":8,"id":1631,"name":"","rotation":0,"type":"","visible":true,"width":8,"x":176,"y":112},{"gid":251,"height":8,"id":1632,"name":"","rotation":0,"type":"","visible":true,"width":8,"x":88,"y":80}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0},{"draworder":"topdown","id":10,"name":"items","objects":[],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}],"nextlayerid":11,"nextobjectid":1644,"orientation":"orthogonal","renderorder":"right-down","tiledversion":"1.10.1","tileheight":8,"tilesets":[{"firstgid":1,"source":"..\/..\/..\/tilesets\/packed\/materials.json"},{"firstgid":198,"source":"..\/..\/..\/tilesets\/packed\/supports.json"},{"firstgid":235,"source":"..\/..\/..\/tilesets\/packed\/miscellaneous.json"},{"firstgid":259,"source":"..\/..\/..\/tilesets\/packed\/liquids.json"},{"firstgid":287,"source":"..\/..\/..\/tilesets\/packed\/objects-by-race\/generic.json"},{"firstgid":2271,"source":"..\/..\/..\/tilesets\/packed\/objects-by-category\/breakable.json"},{"firstgid":2581,"source":"..\/..\/..\/tilesets\/packed\/objects-by-category\/crafting.json"},{"firstgid":2661,"source":"..\/..\/..\/tilesets\/packed\/objects-by-category\/decorative.json"},{"firstgid":4102,"source":"..\/..\/..\/tilesets\/packed\/objects-by-category\/door.json"},{"firstgid":4234,"source":"..\/..\/..\/tilesets\/packed\/objects-by-category\/light.json"},{"firstgid":4692,"source":"..\/..\/..\/tilesets\/packed\/objects-by-category\/pot.json"},{"firstgid":4989,"source":"..\/..\/..\/tilesets\/packed\/objects-by-category\/railpoint.json"},{"firstgid":4994,"source":"..\/..\/..\/tilesets\/packed\/objects-by-category\/seed.json"},{"firstgid":5070,"source":"..\/..\/..\/tilesets\/packed\/objects-by-category\/storage.json"},{"firstgid":5304,"source":"..\/..\/..\/tilesets\/packed\/objects-by-category\/teleportmarker.json"},{"firstgid":5318,"source":"..\/..\/..\/tilesets\/packed\/objects-by-category\/trap.json"},{"firstgid":5522,"source":"..\/..\/..\/tilesets\/packed\/objects-by-category\/wire.json"},{"firstgid":5744,"source":"..\/..\/..\/tilesets\/packed\/objects-by-race\/glitch.json"},{"firstgid":5970,"source":"..\/..\/..\/tilesets\/packed\/objects-by-race\/novakid.json"},{"firstgid":6034,"source":"..\/..\/..\/tilesets\/packed\/objects-by-colonytag\/commerce.json"},{"firstgid":6192,"source":"..\/..\/..\/tilesets\/packed\/objects-by-colonytag\/saloon.json"},{"firstgid":6213,"source":"..\/..\/..\/tilesets\/packed\/objects-by-type\/loungeable.json"},{"firstgid":6494,"source":"..\/..\/..\/tilesets\/packed\/objects-by-category\/furniture.json"},{"firstgid":6848,"source":"..\/..\/..\/tilesets\/packed\/objects-by-colonytag\/pretty.json"},{"firstgid":7327,"source":"..\/..\/..\/tilesets\/packed\/objects-by-race\/human.json"},{"firstgid":7615,"source":"..\/..\/..\/tilesets\/packed\/objects-by-type\/container.json"},{"firstgid":7900,"source":"..\/..\/..\/tilesets\/packed\/sb_materials.json"},{"firstgid":7902,"source":"..\/..\/..\/tilesets\/packed\/objects-by-category\/spawner.json"}],"tilewidth":8,"type":"map","version":"1.10","width":24} \ No newline at end of file diff --git a/interface/cockpit/cockpit.config.patch b/interface/cockpit/cockpit.config.patch index 58353927..11045747 100644 --- a/interface/cockpit/cockpit.config.patch +++ b/interface/cockpit/cockpit.config.patch @@ -8,7 +8,7 @@ [{ "op": "add", "path": "/sb_jumpFuelCostCap", - "value": 1000 + "value": 300 } ], [{ @@ -18,6 +18,29 @@ } ], + [{ + "op": "test", + "path": "/sb_fuelScalingModItems", + "inverse": true + }, { + "op": "add", + "path": "/sb_fuelScalingModItems", + "value": [] + } + ], + [{ + "op": "add", + "path": "/sb_fuelScalingModItems/-", + "value": "ceftlthruster" + } + ], + [{ + "op": "add", + "path": "/sb_fuelScalingModItems/-", + "value": "fu_carbon" + } + ], + [{ "op": "test", "path": "/displayOres/platinum", diff --git a/interface/cockpit/sb_cockpit.lua b/interface/cockpit/sb_cockpit.lua index 0e1f58d7..26585d2c 100644 --- a/interface/cockpit/sb_cockpit.lua +++ b/interface/cockpit/sb_cockpit.lua @@ -2,7 +2,7 @@ require "/scripts/sb_assetmissing.lua" local ini = init function init() ini() - if root.assetJson("/betabound.config:fuelScaling") and not sb_itemExists("ceftlthruster") and not sb_itemExists("fu_carbon") then + if root.assetJson("/betabound.config:fuelScaling") and not sb_hasOtherFuelScalingMod() then sb_jumpFuelCostCap = config.getParameter("sb_jumpFuelCostCap") --sb_fuelJumpCostDivision = config.getParameter("sb_fuelJumpCostDivision") config.sb_getParameter = config.getParameter @@ -19,4 +19,16 @@ function init() ini() end end end +end + +function sb_hasOtherFuelScalingMod() + local items = config.getParameter("sb_fuelScalingModItems") + local valid = false + for i = 1, #items do + if sb_itemExists(items[i]) then + valid = true + break + end + end + return valid end \ No newline at end of file diff --git a/items/active/starbound/guns/randomgenerated/flamethrower/flamethrower.activeitem b/items/active/starbound/guns/randomgenerated/flamethrower/flamethrower.activeitem index 3fd41b3c..712e4257 100644 --- a/items/active/starbound/guns/randomgenerated/flamethrower/flamethrower.activeitem +++ b/items/active/starbound/guns/randomgenerated/flamethrower/flamethrower.activeitem @@ -14,22 +14,16 @@ "level": 1, "itemTags": ["weapon", "ranged", "upgradeableWeapon"], "tooltipFields": { - "subtitle": "Flamethrower" + "subtitle": "thrower" }, "scripts": ["/items/active/weapons/ranged/gun.lua"], "animation": "/items/active/starbound/guns/randomgenerated/gun.animation", "animationParts": { "muzzleFlash": "" }, - "animationCustom": { - "sounds": { - "fire": ["/sfx/gun/fireblast.ogg", "/sfx/gun/flamethrower_stop.ogg"] - } - }, "primaryAbilityType": "sb_gun2", "primaryAbility": { - "projectileType": ["flamethrower", "icethrower", "lightningthrower", "poisonthrower"], "projectileParameters": { "knockback": 0 }, @@ -69,6 +63,54 @@ "builderConfig": [{ "nameGenerator": "flamethrowernames.config:nameGen", + "elementalType": [ + "fire", + "ice", + "electric", + "poison" + ], + "elementalConfig": { + "fire": { + "animationCustom": { + "sounds": { + "fire": ["/sfx/gun/fireblast.ogg", "/sfx/gun/flamethrower_stop.ogg", "/sfx/melee/rocketspear_stop_fire.ogg"] + } + }, + "primaryAbility": { + "projectileType": ["flamethrower"] + } + }, + "ice": { + "animationCustom": { + "sounds": { + "fire": ["/sfx/melee/rocketspear_stop_ice.ogg"] + } + }, + "primaryAbility": { + "projectileType": ["icethrower"] + } + }, + "electric": { + "animationCustom": { + "sounds": { + "fire": ["/sfx/gun/lightningcoil1.ogg", "/sfx/gun/lightningcoil2.ogg", "/sfx/gun/lightningcoil3.ogg"] + } + }, + "primaryAbility": { + "projectileType": ["lightningthrower"] + } + }, + "poison": { + "animationCustom": { + "sounds": { + "fire": ["/sfx/melee/rocketspear_stop_poison.ogg"] + } + }, + "primaryAbility": { + "projectileType": ["poisonthrower"] + } + } + }, "animationParts": { "barrel": { "path": "barrel/.png", diff --git a/items/active/starbound/guns/randomgenerated/flamethrower/flamethrowernames.config b/items/active/starbound/guns/randomgenerated/flamethrower/flamethrowernames.config index f0ffdf5c..150361f9 100644 --- a/items/active/starbound/guns/randomgenerated/flamethrower/flamethrowernames.config +++ b/items/active/starbound/guns/randomgenerated/flamethrower/flamethrowernames.config @@ -4,7 +4,7 @@ [ { "mode" : "serie" }, [ { "mode" : "alts" }, "Furious ", "Vicious ", "Almighty ", "Wild ", "Savage ", "Deadly ", "Ruinous ", "Fatal ", "Baleful " ], - [ { "mode" : "alts" }, "Firebolt", "Flamespitter", "Afterburner", "Scorcher", "Blaster", "Combustor", "Smiter", "Incinerator", "Pyre" ] + [ { "mode" : "alts" }, "Deathbolt", "Killspitter", "Afterburner", "Scorcher", "Blaster", "Combustor", "Smiter", "Incinerator", "Pyre" ] ] ] } diff --git a/items/active/starbound/weapons/shortsword2/crayon.png b/items/active/starbound/weapons/shortsword2/crayon.png new file mode 100644 index 0000000000000000000000000000000000000000..79f4822e3d45ef2d907664ce2573f9bc3d884b46 GIT binary patch literal 345 zcmeAS@N?(olHy`uVBq!ia0vp^5zkU`|pR>$o}?!5yA Pn5V0s%Q~loCI$uo0X2aP literal 0 HcmV?d00001 diff --git a/items/active/starbound/weapons/shortsword2/crayonblue.activeitem b/items/active/starbound/weapons/shortsword2/crayonblue.activeitem new file mode 100644 index 00000000..1e34d178 --- /dev/null +++ b/items/active/starbound/weapons/shortsword2/crayonblue.activeitem @@ -0,0 +1,11 @@ +{ + "itemName" : "sb_testshortsword3", + "definition" : "crayon2", + "shortdescription" : "Striking Blue Crayon", + "tags" : { + "" : "blue", + "" : "?replace;ffca8a=99afff;eb9550=658cfa;b55f30=3367c4;843114=184c8b" + }, + "itemTags" : ["weapon","melee","shortsword","upgradeableWeapon"], + "builder" : "/items/buildscripts/starbound/buildunrandweapon.lua" +} \ No newline at end of file diff --git a/items/active/starbound/weapons/shortsword2/mushroomsword2.activeitem b/items/active/starbound/weapons/shortsword2/mushroomsword2.activeitem index 659c956d..1eee4336 100644 --- a/items/active/starbound/weapons/shortsword2/mushroomsword2.activeitem +++ b/items/active/starbound/weapons/shortsword2/mushroomsword2.activeitem @@ -15,7 +15,7 @@ "handle": "" }, "tags": { - "": "mushshroom" + "": "mushsroom" }, "elementalType": "poison", "primaryAbility": { diff --git a/items/active/starbound/weapons/shortsword2/swoosh1/crayon.png b/items/active/starbound/weapons/shortsword2/swoosh1/crayon.png new file mode 100644 index 0000000000000000000000000000000000000000..146e0ac3c152d0d75fc81eec7071b3bdb506ed78 GIT binary patch literal 251 zcmV7E}0000CP)t-s|NsB% zl~Di6inU)b8L$p~00001bW%=J06^y0W&i*Hok>JNRCwCO(oqTmF$@Oboyq<0?2DRh zwU}a{|C=!6bD`HbRP{PER5^%q3NP5_X|!9e(=@|+Kz2vAPsSbDE*ac`>45=r)Ldyo z>n{G~LYja|;U4I|8?S+;`D9Vy*6}e_9lMG", config.elementalNameDescription) - config.description = string.format(config.description, config[(config.slot and "primary" or "alt").."Description"]) + config.description = string.format(config.description, config[(config.slot and "primary" or "alt").."Description" or "???"]) config.tooltipFields = parameters.tooltipFields or config.tooltipFields or {} local weaponName = abilities[parameters.ability].weaponName diff --git a/items/buildscripts/starbound/buildweapon.lua b/items/buildscripts/starbound/buildweapon.lua index ad611fb5..a0e1e8e3 100644 --- a/items/buildscripts/starbound/buildweapon.lua +++ b/items/buildscripts/starbound/buildweapon.lua @@ -7,8 +7,11 @@ require "/items/buildscripts/starbound/definition.lua" require "/scripts/sb_assetmissing.lua" function build(directory, config, parameters, level, seed) + require "/items/buildscripts/starbound/updateweapon.lua" + config, parameters = build(directory, config, parameters, level, seed) + local configParameter = function(keyName, defaultValue) return parameters[keyName] or config[keyName] or defaultValue end - local definition = configParameter("definition",configParameter("sb_definition")) + local definition = configParameter("definition", configParameter("sb_definition")) if definition then config = applyDefinition(config, definition, configParameter("configOverrides")) end @@ -35,7 +38,17 @@ function build(directory, config, parameters, level, seed) -- elemental type if not parameters.elementalType and builderConfig.elementalType then - parameters.elementalType = randomFromList(builderConfig.elementalType, seed, "elementalType") + if config.itemName == "sb_flamethrower" then + local projectileMap = { + flamethrower = "fire", + icethrower = "ice", + poisonthrower = "poison", + lightningthrower = "electric" + } + parameters.elementalType = projectileMap[parameters.primaryAbility and parameters.primaryAbility.projectileType or "flamethrower"] + else + parameters.elementalType = randomFromList(builderConfig.elementalType, seed, "elementalType") + end end local elementalType = configParameter("elementalType", "physical") @@ -293,25 +306,6 @@ function build(directory, config, parameters, level, seed) end if config.rarity == "essential" then config.tooltipFields.rarityLabel = "Epic" end - --logic for outdated weapons - if not parameters.customItem then - if config.itemName == "sb_bonehammer" and parameters.primaryAbilityType == "axecleave" then - parameters.primaryAbilityType = "sb_hammer" - end - - if parameters.primaryAbilityType == "axecleave" then - parameters.primaryAbilityType = "sb_axe" - end - - if parameters.primaryAbilityType == "sb_starcleaver" then - parameters.primaryAbilityType = "sb_meleeslash" - end - - if parameters.animation == "/items/active/starbound/weapons/broadswords/starcleaversword.animation" then - parameters.animation = "/items/active/starbound/weapons/broadsword.animation" - end - end - local tags = configParameter("tags") if tags then for k, v in pairs(tags) do replacePatternInData(config, nil, k, v) end end diff --git a/items/buildscripts/starbound/updateweapon.lua b/items/buildscripts/starbound/updateweapon.lua new file mode 100644 index 00000000..e3394c05 --- /dev/null +++ b/items/buildscripts/starbound/updateweapon.lua @@ -0,0 +1,40 @@ +function build(directory, config, parameters, level, seed) + local configParameter = function(keyName, defaultValue) return parameters[keyName] or config[keyName] or defaultValue end + + if not parameters.customItem then + if config.itemName == "sb_bonehammer" and parameters.primaryAbilityType == "axecleave" then + parameters.primaryAbilityType = "sb_hammer" + end + + if parameters.primaryAbilityType == "axecleave" then + parameters.primaryAbilityType = "sb_axe" + end + + if parameters.primaryAbilityType == "sb_starcleaver" then + parameters.primaryAbilityType = "sb_meleeslash" + end + + if parameters.animation == "/items/active/starbound/weapons/broadswords/starcleaversword.animation" then + parameters.animation = "/items/active/starbound/weapons/broadsword.animation" + end + + if config.itemName == "sb_flamethrower" then + if not parameters.elementalType then + if config.itemName == "sb_flamethrower" then + local projectile = parameters.primaryAbility and parameters.primaryAbility.projectileType + if type(projectile) == "string" then + local projectileMap = { + flamethrower = "fire", + icethrower = "ice", + poisonthrower = "poison", + lightningthrower = "electric" + } + parameters.elementalType = projectileMap[projectile] + end + end + end + end + end + + return config, parameters +end \ No newline at end of file diff --git a/items/generic/unsorted/sb_revoltingstew.consumable b/items/generic/food/sb_revoltingstew.consumable similarity index 100% rename from items/generic/unsorted/sb_revoltingstew.consumable rename to items/generic/food/sb_revoltingstew.consumable diff --git a/items/generic/unsorted/sb_revoltingstew.png b/items/generic/food/sb_revoltingstew.png similarity index 100% rename from items/generic/unsorted/sb_revoltingstew.png rename to items/generic/food/sb_revoltingstew.png diff --git a/items/generic/unsorted/sb_rottenapple.consumable b/items/generic/food/sb_rottenapple.consumable similarity index 100% rename from items/generic/unsorted/sb_rottenapple.consumable rename to items/generic/food/sb_rottenapple.consumable diff --git a/items/generic/unsorted/sb_rottenapple.png b/items/generic/food/sb_rottenapple.png similarity index 100% rename from items/generic/unsorted/sb_rottenapple.png rename to items/generic/food/sb_rottenapple.png diff --git a/items/materials/sb_smoothconcrete.matitem b/items/materials/sb_smoothconcrete.matitem index 6f1d849f..59cd728f 100644 --- a/items/materials/sb_smoothconcrete.matitem +++ b/items/materials/sb_smoothconcrete.matitem @@ -1,14 +1,14 @@ { - "itemName" : "sb_smoothconcrete", - "rarity" : "Common", - "inventoryIcon" : "sb_smoothconcreteicon.png", - "category" : "block", - "tooltipKind" : "sb_object", - "description" : "Smooth, solid concrete.", - "shortdescription" : "Smooth Concrete", - "glitchDescription" : "Aquatinted. Concrete is a commonly used construction material.", - "floranDescription" : "Floran disslike smooth concrete.", - "novakidDescription" : "Concrete makes a mighty sturdy block.", + "itemName": "sb_smoothconcrete", + "rarity": "Common", + "inventoryIcon": "sb_smoothconcreteicon.png", + "category": "block", + "tooltipKind": "sb_object", + "description": "Solid, weathered concrete.", + "shortdescription": "Weathered Concrete", + "glitchDescription": "Aquatinted. Concrete is a commonly used construction material.", + "floranDescription": "Floran disslike concrete.", + "novakidDescription": "Concrete makes a mighty sturdy block.", - "materialId" : 6961 + "materialId": 6961 } diff --git a/items/tools/miningtools/sb_beamaxe.activeitem b/items/tools/miningtools/sb_beamaxe.activeitem index 5f8f46c0..1159155b 100644 --- a/items/tools/miningtools/sb_beamaxe.activeitem +++ b/items/tools/miningtools/sb_beamaxe.activeitem @@ -19,7 +19,7 @@ "tileDamage": 1.2, "harvestLevel": 99, "canCollectLiquid": false, - "storedLiquids": [], + "storedLiquids": {}, "twoHanded": true, "critical": true, "upgrades": [], @@ -29,27 +29,10 @@ "manipulator": "/items/tools/miningtools/sb_mastermanipulator.png", "manipulatorOptics": "/items/tools/miningtools/sb_mastermanipulatorfb.png" }, - //"image" : "/items/tools/miningtools/sb_gravgun2.png", "endImages": ["/humanoid/any/ball2.png", "/humanoid/any/sb_tileglow.png?setcolor=66a0bb?multiply=ffffff40"], //No, this isn't a leftover, it NEEDS those directives "handPosition": [-2, 0], "firePosition": [5, 0], "animationScripts": ["sb_beamaxeanimation.lua"], - "segmentsPerUnit": 1, - "nearControlPointElasticity": 0.1, - "farControlPointElasticity": 0.9, - "nearControlPointDistance": 0.9, - "targetSegmentRun": 1, - "innerBrightnessScale": 20, - "firstStripeThickness": 0.2, - "secondStripeThickness": 0.5, - "minBeamWidth": 1, - "maxBeamWidth": 5, - "maxBeamJitter": 0.06, - "minBeamJitter": 0.0, - "minBeamTrans": 0.1, - "maxBeamTrans": 0.4, - "minBeamLines": 1, - "maxBeamLines": 5, //"bonusRadius" : 6, "animation": "/items/tools/miningtools/sb_beamaxe.animation", "scripts": ["/items/tools/miningtools/sb_beamaxe2.lua"], diff --git a/items/tools/miningtools/sb_beamaxe2.lua b/items/tools/miningtools/sb_beamaxe2.lua index 7786ac59..1a7d919d 100644 --- a/items/tools/miningtools/sb_beamaxe2.lua +++ b/items/tools/miningtools/sb_beamaxe2.lua @@ -3,19 +3,23 @@ function init() id = activeItem.ownerEntityId() radius = config.getParameter("blockRadius") altRadius = config.getParameter("altBlockRadius") - harvestLevel = config.getParameter("harvestLevel",99) + harvestLevel = config.getParameter("harvestLevel", 99) + storedLiquids = config.getParameter("storedLiquids") --range = config.getParameter("interactRadius",root.assetJson("/player.config:interactRadius") or 5) + status.statusProperty("bonusBeamGunRadius",0) --inRange = false - magnetEnabled = config.getParameter("magnetEnabled",true) - liquidEnabled = config.getParameter("canCollectLiquid",false) + magnetEnabled = config.getParameter("magnetEnabled", true) + liquidEnabled = config.getParameter("canCollectLiquid", false) --lightEnabled = config.getParameter("lightEnabled",true) - firePosition = config.getParameter("firePosition",{0,0}) + firePosition = config.getParameter("firePosition", {0, 0}) notifyTime = config.getParameter("notifyEntityTime") notifyTimer = 0 - notifyDamage = ((config.getParameter("tileDamage") / config.getParameter("fireTime") * notifyTime)+0.5)*1.1 - notifyQueryParams = {includedTypes={"vehicle"},boundMode="position"} + notifyDamage = ((config.getParameter("tileDamage") / config.getParameter("fireTime") * notifyTime) + 0.5) * 1.1 + notifyQueryParams = { + includedTypes = {"vehicle"}, + boundMode = "position" + } if magnetEnabled then magnet = config.getParameter("magnet") @@ -45,34 +49,36 @@ function update(dt, fireMode, shifting) activeItem.setFacingDirection(aimDirection or 0) activeItem.setScriptedAnimationParameter("radius", shifting and altRadius or radius) ---inRange = world.magnitude(mcontroller.position(),activeItem.ownerAimPosition()) <= range ---activeItem.setScriptedAnimationParameter("inRange",inRange) +--inRange = world.magnitude(mcontroller.position(), activeItem.ownerAimPosition()) <= range +--activeItem.setScriptedAnimationParameter("inRange", inRange) --if inRange then if fireMode ~= "none" then - world.damageTiles(shifting and fillRadius(altRadius) or fillRadius(radius), - fireMode=="alt" and "background" or "foreground", - activeItem.ownerAimPosition(), - "beamish", - notifyDamage * ((shifting and 1+radius-altRadius) or 1), --this would be fine if a radius of 2 meant 2 blocks, but it means 4 blocks - harvestLevel, - id) + world.damageTiles(shifting and fillRadius(altRadius) or fillRadius(radius), + fireMode == "alt" and "background" or "foreground", + activeItem.ownerAimPosition(), + "beamish", + notifyDamage * ((shifting and 1 + radius - altRadius) or 1), --this would be fine if a radius of 2 meant 2 blocks, but it means 4 blocks + harvestLevel, + id + ) end - if fireMode == "primary" and liquidEnabled then - local area = shifting and fillRadius(altRadius) or fillRadius(radius) - for n = 1, #area do - local liq = world.destroyLiquid(area[n]) --activeItem.ownerAimPosition()) - if liq then - if root.liquidConfig(liq[1]) ~= nil and liq[2] >= 1 then - local i = root.liquidConfig(liq[1]).config and root.liquidConfig(liq[1]).config.itemDrop or nil - if i ~= nil then player.giveItem(i) end + if fireMode == "primary" then + if liquidEnabled then + local area = shifting and fillRadius(altRadius) or fillRadius(radius) + for n = 1, #area do + local liquid = world.destroyLiquid(area[n]) + if liquid then + if root.liquidConfig(liquid[1]) then + if liquid[2] == 1 then + giveLiquid(liquid[1]) + else + updateStoredLiquids(liquid) + end + end end - --sb.logInfo(sb.print(liq)) end end - end - - if fireMode == "primary" then notifyTimer = math.max(0, notifyTimer - dt) if notifyTimer == 0 then notifyTimer = notifyTime @@ -81,7 +87,6 @@ function update(dt, fireMode, shifting) else notifyTimer = 0 end ---end end function notifyEntities(shifting) @@ -93,11 +98,44 @@ end function fillRadius(radius) local base = activeItem.ownerAimPosition() - base[1] = math.floor(math.floor(base[1])) - base[2] = math.floor(math.floor(base[2])) - if radius % 2 == 0 then base = {base[1]+0.4,base[2]+0.4} end - if radius == 1 then return {base} end - local t = {} - for x = 1, radius do for y = 1, radius do t[#t+1] = {base[1]-(radius/2)+x,base[2]-(radius/2)+y} end end - return t + base[1] = math.floor(base[1]) + base[2] = math.floor(base[2]) + + if radius == 1 then + return {base} + end + + if radius % 2 == 0 then + base = {base[1] + 0.4, base[2] + 0.4} + end + + local tiles = {} + for x = 1, radius do + for y = 1, radius do + tiles[#tiles + 1] = {base[1] - (radius / 2) + x, base[2] - (radius / 2) + y} + end + end + return tiles +end + +function giveLiquid(id, quantity) + local itemDrop = root.liquidConfig(id).config + if itemDrop then + itemDrop = itemDrop.itemDrop + if itemDrop then + player.giveItem({name=itemDrop, count=quantity}) + end + end +end + +function updateStoredLiquids(liquid) + storedLiquids[liquid[1]] = (storedLiquids[liquid[1]] or 0) + liquid[2] + local liquidQuantity = storedLiquids[liquid[1]] + if liquidQuantity >= 1 then + local integerQuantity = math.floor(liquidQuantity) + giveLiquid(liquid[1], integerQuantity) + liquidQuantity = liquidQuantity - integerQuantity + storedLiquids[liquid[1]] = liquidQuantity + end + activeItem.setInstanceValue("storedLiquids", storedLiquids) end \ No newline at end of file diff --git a/items/tools/miningtools/sb_beamaxeanimation.lua b/items/tools/miningtools/sb_beamaxeanimation.lua index f1074242..44801a6b 100644 --- a/items/tools/miningtools/sb_beamaxeanimation.lua +++ b/items/tools/miningtools/sb_beamaxeanimation.lua @@ -1,32 +1,42 @@ function init() - radius = animationConfig.animationParameter("radius",config.getParameter("blockRadius")) + radius = animationConfig.animationParameter("radius", config.getParameter("blockRadius")) endImages = config.getParameter("endImages") end function update(dt) - radius = animationConfig.animationParameter("radius",config.getParameter("blockRadius")) --- inRange = animationConfig.animationParameter("inRange",false) --- if inRange then end + radius = animationConfig.animationParameter("radius", config.getParameter("blockRadius")) +--inRange = animationConfig.animationParameter("inRange", false) +--if inRange then end fillRadius(radius) end function fillRadius(radius) local layer = "overlay" - localAnimator.clearDrawables() localAnimator.clearLightSources() local base = activeItemAnimation.ownerAimPosition() - localAnimator.addDrawable({image = endImages[1],fullbright=true,position = base},layer) - base[1] = math.floor(math.floor(base[1])) base[2] = math.floor(math.floor(base[2])) - if radius % 2 == 0 then base = {base[1]+0.4,base[2]+0.4} end - if radius == 1 then addLight({base[1]+0.4,base[2]+0.4},layer) return end - local t = {} + localAnimator.clearDrawables() + localAnimator.clearLightSources() + localAnimator.addDrawable({image = endImages[1], fullbright = true, position = base}, layer) + base = {math.floor(base[1]), math.floor(base[2])} + + if radius == 1 then + addLight({base[1] + 0.4, base[2] + 0.4}, layer) + return + end + + if radius % 2 == 0 then + base = {base[1] + 0.4, base[2] + 0.4} + end + + local tiles = {} for x = 1, radius do for y = 1, radius do - t[#t+1] = {base[1]-(radius/2)+x,base[2]-(radius/2)+y} addLight(t[#t],layer) --if #t>1 then addLight(t[#t],layer) end + tiles[#tiles+1] = {base[1] - (radius / 2) + x, base[2] - (radius / 2) + y} + addLight(tiles[#tiles], layer) --if #t>1 then addLight(t[#t],layer) end end end end function addLight(pos,layer) - localAnimator.addDrawable({image = endImages[2],fullbright=true,position = pos},layer) - localAnimator.addLightSource({position = pos, color = {25.5, 40, 46.75},pointLight=false,beamAmbience=0.00002}) + localAnimator.addDrawable({image = endImages[2], fullbright = true, position = pos}, layer) + localAnimator.addLightSource({position = pos, color = {25.5, 40, 46.75}, pointLight = false, beamAmbience = 0.00002}) end diff --git a/items/tools/miningtools/sb_miningtool.lua b/items/tools/miningtools/sb_miningtool.lua index 04dafc63..f444e53f 100644 --- a/items/tools/miningtools/sb_miningtool.lua +++ b/items/tools/miningtools/sb_miningtool.lua @@ -106,7 +106,7 @@ end function MiningTool:till(brushArea) for i = 1, #brushArea do - if not world.material({brushArea[1][1], brushArea[1][2]+1}, self.layer) then + if not world.material({brushArea[1][1], brushArea[1][2] + 1}, self.layer) then local target = world.material(brushArea[i], self.layer) if target and target:sub(1, 13) ~= "metamaterial:" then target = root.materialConfig(target).config diff --git a/projectiles/guns/unsorted/lightningthrower/lightningthrower.projectile.patch b/projectiles/guns/unsorted/lightningthrower/lightningthrower.projectile.patch new file mode 100644 index 00000000..b997c382 --- /dev/null +++ b/projectiles/guns/unsorted/lightningthrower/lightningthrower.projectile.patch @@ -0,0 +1,18 @@ +[ + [{ + "op": "test", + "path": "/statusEffects", + "inverse": true + }, { + "op": "add", + "path": "/statusEffects", + "value": [] + } + ], + [{ + "op": "add", + "path": "/statusEffects/-", + "value": "electrified" + } + ] +] diff --git a/recipes/starbound/consumables/drinks/dirtea.recipe b/recipes/starbound/consumables/drinks/dirtea.recipe index 7fcefce8..fdcb5fb8 100644 --- a/recipes/starbound/consumables/drinks/dirtea.recipe +++ b/recipes/starbound/consumables/drinks/dirtea.recipe @@ -1,6 +1,6 @@ { "input" : ["dirturchin"], "output" : "sb_dirtea", - "groups" : ["craftingfood","drinks","sb_health","sb_healing","sb_t1food","all"], + "groups" : ["campfire","craftingfood","drinks","sb_health","sb_healing","sb_t1food","all"], "collectables" : {"cooking":"sb_dirtea"} } diff --git a/sb_definitions/crayon.config b/sb_definitions/crayon.config index accc1aa5..b15b7347 100644 --- a/sb_definitions/crayon.config +++ b/sb_definitions/crayon.config @@ -54,22 +54,19 @@ "duration": 0.1, "armRotation": -90, "weaponRotation": -10, - "weaponOffset": [0, 0.5], - "allowRotate": false + "weaponOffset": [0, 0.5] }, "windup": { "duration": 0.05, "armRotation": -20, "weaponRotation": -20, - "weaponOffset": [0, 0.5], - "allowRotate": false + "weaponOffset": [0, 0.5] }, "fire": { "duration": 0.62, "armRotation": -135, "weaponRotation": 40, - "weaponOffset": [0, 0.5], - "allowRotate": false + "weaponOffset": [0, 0.5] } } }, diff --git a/sb_definitions/crayon2.config b/sb_definitions/crayon2.config new file mode 100644 index 00000000..0dead008 --- /dev/null +++ b/sb_definitions/crayon2.config @@ -0,0 +1,53 @@ +{ + "description": "An oversized crayon. Unleash your artistic talent on the world!", + "rarity": "uncommon", + "elementalType": "physical", + "price": 200, + "level": 3, + "tooltipKind": "sb_sword2", + + "animation": "/items/active/starbound/weapons/comboshortsword.animation", + "scripts": ["/items/active/weapons/melee/meleeweapon.lua"], + "category": "shortsword", + "primaryAbilityType": "sb_shortswordcombo", + "twoHanded": false, + "maxStack": 1, + "inventoryIcon": "crayon.png", + "animationParts": { + "handle": "", + "blade": "crayon.png" + }, + "primaryAbility": { + "fireTime": 0.44, + "baseDps": 12, + "damageConfig": { + "damageSourceKind": "slash", + "statusEffects": ["color"], + "knockback": 0.4 + } + }, + "animationCustom": { + "animatedParts": { + "parts": { + "swoosh": { + "partStates": { + "swoosh": { + "fire": { + "properties": { + //"offset": [1.5, 0.75], + "image": "swoosh1/crayon.png:" + } + }, + "fire2": { + "properties": { + //"offset": [1.5, 0.75], + "image": "swoosh2/crayon.png:" + } + } + } + } + } + } + } + } +} diff --git a/tiled/betabound/materials/sb_brains.png b/tiled/betabound/materials/sb_brains.png new file mode 100644 index 0000000000000000000000000000000000000000..bcd83b443f687b2da7aff3da5c0e6a14764b917c GIT binary patch literal 110 zcmeAS@N?(olHy`uVBq!ia0vp^93afZ3?z3ZhDiV^&H$ef*M*JAWzp^jR!x&t)@TL_ zDtNj$hE&{24tSK5!J8x?kXTTXC@?WaAS*FLG&ulhhI$}#wa4Wvmw;*+JYD@<);T3K F0RT5294Y_+ literal 0 HcmV?d00001 diff --git a/tiled/betabound/materials/sb_chain.png b/tiled/betabound/materials/sb_chain.png new file mode 100644 index 0000000000000000000000000000000000000000..1e983abc929e67bedf41080c31829cf62d09bac8 GIT binary patch literal 126 zcmeAS@N?(olHy`uVBq!ia0vp^93afW1|*O0@9PFquAVNAAr-fh11?_q+0WlBxP wcv!0!Y5h}X>d_0kBoazopr0OV{P)c^nh literal 0 HcmV?d00001 diff --git a/tiles/materials/sb_concrete.material b/tiles/materials/sb_concrete.material index 0022295f..5a1d0d19 100644 --- a/tiles/materials/sb_concrete.material +++ b/tiles/materials/sb_concrete.material @@ -1,24 +1,24 @@ { - "materialId" : 6961, - "materialName" : "sb_concrete", - "particleColor" : [149, 149, 149, 255], - "itemDrop" : "sb_smoothconcrete", - "description" : "Smooth, solid concrete.", - "shortdescription" : "Smooth Concrete", - "glitchDescription" : "Aquatinted. Concrete is a commonly used construction material.", - "floranDescription" : "Floran disslike smooth concrete.", - "novakidDescription" : "Concrete makes a mighty sturdy block.", - "footstepSound" : "/sfx/blocks/footstep_stone.ogg", - "health" : 8, - "category" : "materials", + "materialId": 6961, + "materialName": "sb_concrete", + "particleColor": [149, 149, 149, 255], + "itemDrop": "sb_smoothconcrete", + "description": "Solid, weathered concrete.", + "shortdescription": "Weathered Concrete", + "glitchDescription": "Aquatinted. Concrete is a commonly used construction material.", + "floranDescription": "Floran disslike concrete.", + "novakidDescription": "Concrete makes a mighty sturdy block.", + "footstepSound": "/sfx/blocks/footstep_stone.ogg", + "health": 8, + "category": "materials", - "renderTemplate" : "/tiles/classicmaterialtemplate.config", - "renderParameters" : { - "texture" : "sb_concrete.png", - "variants" : 5, - "lightTransparent" : false, - "multiColored" : true, - "occludesBelow" : true, - "zLevel" : 3130 + "renderTemplate": "/tiles/classicmaterialtemplate.config", + "renderParameters": { + "texture": "sb_concrete.png", + "variants": 5, + "lightTransparent": false, + "multiColored": true, + "occludesBelow": true, + "zLevel": 3130 } -} \ No newline at end of file +} diff --git a/treasure/largedungeons.treasurepools.patch b/treasure/largedungeons.treasurepools.patch index 8568542d..905ef53b 100644 --- a/treasure/largedungeons.treasurepools.patch +++ b/treasure/largedungeons.treasurepools.patch @@ -27,7 +27,7 @@ [{"op":"add","path":"/apexcityRareTreasure/0/1/fill/-","value":{"item":"sb_townproblems-codex"}}], [{"op":"add","path":"/apexcityLore/0/1/pool/-","value":{"weight":0.2,"item":"sb_townadvert-codex"}}], [{"op":"add","path":"/apexcityLore/0/1/pool/-","value":{"weight":0.2,"item":"sb_apexorigins-codex"}}], -[{"op":"add","path":"/apexcityLore/0/1/pool/-","value":{"weight":0.2,"item":"sb_townheadline-codex"}}], +[{"op":"add","path":"/apexcityLore/0/1/pool/-","value":{"weight":0.2,"item":"sb_townheadline"}}], [{"op":"add","path":"/apexcityRareTreasure/0/1/pool/-","value":{"weight":0.2,"item":"sb_townproblems-codex"}}], @@ -106,6 +106,7 @@ [{"op":"add","path":"/humanprisonLore/0/1/pool/-","value":{"weight":0.2,"item":"sb_prisoncasebook3-codex"}}], [{"op":"add","path":"/humanprisonLore/0/1/pool/-","value":{"weight":0.2,"item":"sb_prisoncasebook4-codex"}}], [{"op":"add","path":"/humanprisonLore/0/1/pool/-","value":{"weight":0.2,"item":"sb_prisoncasebook5-codex"}}], +[{"op":"add","path":"/humanprisonLore/0/1/pool/-","value":{"weight":0.2,"item":"sb_prisonghosts-codex"}}], // ================================ // Human Campsite