diff --git a/IFD_statuseffects.config.patch b/IFD_statuseffects.config.patch index 933d2340..c321928c 100644 --- a/IFD_statuseffects.config.patch +++ b/IFD_statuseffects.config.patch @@ -67,7 +67,10 @@ ,[{"op":"add","path":"/effectNames/sb_maxenergyboost5","value":{"path":"/stats/effects/maxenergyboost/sb_maxenergyboost5.statuseffect","customLabels":["^#0f0;+ 5 Max Energy^reset;"]}}] ,[{"op":"add","path":"/effectNames/sb_maxenergyboost10","value":{"path":"/stats/effects/maxenergyboost/sb_maxenergyboost10.statuseffect","customLabels":["^#0f0;+ 10 Max Energy^reset;"]}}] +,[{"op":"add","path":"/effectNames/sb_maxenergyboost15","value":{"path":"/stats/effects/maxenergyboost/sb_maxenergyboost15.statuseffect","customLabels":["^#0f0;+ 15 Max Energy^reset;"]}}] +,[{"op":"add","path":"/effectNames/sb_maxenergyboost20","value":{"path":"/stats/effects/maxenergyboost/sb_maxenergyboost20.statuseffect","customLabels":["^#0f0;+ 20 Max Energy^reset;"]}}] ,[{"op":"add","path":"/effectNames/sb_maxenergyboost30","value":{"path":"/stats/effects/maxenergyboost/sb_maxenergyboost30.statuseffect","customLabels":["^#0f0;+ 30 Max Energy^reset;"]}}] +,[{"op":"add","path":"/effectNames/sb_maxenergyboost40","value":{"path":"/stats/effects/maxenergyboost/sb_maxenergyboost40.statuseffect","customLabels":["^#0f0;+ 40 Max Energy^reset;"]}}] ,[{"op":"add","path":"/effectNames/sb_berserk","value":{"path":"/tech/starbound/unscripted/berserk.statuseffect","customLabels":["^#0f0;+ Berserk^reset;"]}}] diff --git a/betabound.config b/betabound.config index 3c8c951c..6220650c 100644 --- a/betabound.config +++ b/betabound.config @@ -6,9 +6,12 @@ [3, 57], //manipulator [3, 39], //paint [21, 57], //wire - [21, 39] //scan + [21, 39]//scan ], + //the one in player.config isn't read by the game + "defaultItems": ["sb_inspect", "sb_survivalguide-codex", "sb_gunguide-codex"], + "rotFood": true, "hungerPopups": true, diff --git a/betabound.macros b/betabound.macros index 32335e95..18ee714c 100644 --- a/betabound.macros +++ b/betabound.macros @@ -21,6 +21,7 @@ for n=1,#i do world.spawnItem(i[n]..'dye',entity.position(),30,{sb_reusable=false,rarity='rare'}) end" ], "sb_beamaxe": ["/spawnitem sb_beamaxe2 1 '{\"upgrades\":[\"size1\",\"size2\",\"size3\",\"range1\",\"range2\",\"range3\",\"power1\",\"power2\",\"power3\",\"liquidcollection\",\"paintmode\",\"wiremode\"],\"canCollectLiquid\":true,\"blockRadius\":5,\"tileDamage\":4.8,\"minBeamWidth\":8,\"minBeamJitter\":0.2}"], + "sb_repeatversioning": ["/run status.setStatusProperty('xrc_0018z',status.statusProperty('xrc_0018z')-1)"], //Completion "sb_tech": ["/entityeval if not world then return end local t=root.assetJson('/tech/starbound/tech.config') for i=1,#t do world.spawnItem('sb_tech',entity.position(),1,{techModule=t[i]}) end"], diff --git a/biomes/surface/forest.biome.patch b/biomes/surface/forest.biome.patch index 87ee2ced..4fbbe36c 100644 --- a/biomes/surface/forest.biome.patch +++ b/biomes/surface/forest.biome.patch @@ -1,23 +1,64 @@ [ - [ - {"op":"test","path":"/undergroundPlaceables/items"}, - {"op":"add","path":"/undergroundPlaceables/items/-","value":{"mode":"floor","priority":0,"variants":1,"distribution":"/biomes/distributions.config:undergroundweaponChests","type":"treasureBox","treasureBoxSets":["sb_gunChest"]}} + [{ + "op": "test", + "path": "/undergroundPlaceables/items" + }, { + "op": "add", + "path": "/undergroundPlaceables/items/-", + "value": { + "mode": "floor", + "priority": 0, + "variants": 1, + "distribution": "/biomes/distributions.config:undergroundweaponChests", + "type": "treasureBox", + "treasureBoxSets": ["sb_gunChest"] + } + } ], - [ - {"op":"add","path":"/musicTrack/night/tracks/-","value":"/music/sb_forest-exploration1.ogg"}, - {"op":"add","path":"/musicTrack/night/tracks/-","value":"/music/sb_forest-exploration2.ogg"}, - {"op":"add","path":"/musicTrack/day/tracks/-","value":"/music/forest-loop.ogg"} + [{ + "op": "add", + "path": "/musicTrack/night/tracks/-", + "value": "/music/sb_forest-exploration1.ogg" + }, { + "op": "add", + "path": "/musicTrack/night/tracks/-", + "value": "/music/sb_forest-exploration2.ogg" + }, { + "op": "add", + "path": "/musicTrack/day/tracks/-", + "value": "/music/forest-loop.ogg" + } ], - [ - {"op":"add","path":"/surfacePlaceables/items/-","value":{ - "mode":"floor", - "priority":1, - "variants":1, - "distribution":"/biomes/distributions.config:mainBiomeEncounterDungeon", - "type":"microdungeon", - "microdungeons":["sb_glitchencounter","sb_randomencounter","sb_miniboss"]} - } + [{ + "op": "add", + "path": "/surfacePlaceables/items/-", + "value": { + "mode": "floor", + "priority": 1, + "variants": 1, + "distribution": "/biomes/distributions.config:mainBiomeEncounterDungeon", + "type": "microdungeon", + "microdungeons": ["sb_glitchencounter", "sb_randomencounter", "sb_miniboss"] + } + } + ], + + [{ + "op": "add", + "path": "/surfacePlaceables/items/-", + "value": { + "mode": "floor", + "priority": 1, + "variants": 1, + "distribution": "/biomes/distributions.config:denseLarge", + "type": "tree", + "treeFoliageHueShiftMax" : 180, + "treeStemHueShiftMax" : 15, + "treeStemList": ["wood"], + "treeFoliageList": ["greenleaves"] + } + } ] -] \ No newline at end of file +] diff --git a/codex/sb_gun.png b/codex/sb_gun.png new file mode 100644 index 00000000..1ea1c911 Binary files /dev/null and b/codex/sb_gun.png differ diff --git a/codex/sb_gunguide.codex b/codex/sb_gunguide.codex new file mode 100644 index 00000000..0ca74892 --- /dev/null +++ b/codex/sb_gunguide.codex @@ -0,0 +1,19 @@ +{ + "id": "sb_gunguide", + "title": "All About Ammo", + "description": "An informational leaflet about ammunition for guns.", + "icon": "sb_gun.png", + "contentPages": [ + "While most guns solely use energy reserves, certain firearms can still use traditional ammunition. They will plainly state 'This weapon can use ammo'. + * 20% damage boost when using any ammo + * Uses energy when ammo is depleted or when ^#71f2f6;SHIFT^reset; is held + * Ammo is automatically used when in the inventory + * Craft ammo at an anvil + * All types of ammo are universally accepted" + ], + "itemConfig": { + "rarity": "common", + "tooltipKind": "sb_object", + "price": 25 + } +} diff --git a/effects/eating.effectsource.patch b/effects/eating.effectsource.patch new file mode 100644 index 00000000..d348e989 --- /dev/null +++ b/effects/eating.effectsource.patch @@ -0,0 +1,23 @@ +[ + [{ + "op": "test", + "path": "/definition/start/sounds/0" + }, { + "op": "add", + "path": "/definition/start/sounds/-", + "value": "/sfx/humanoid/eat1.ogg" + }, { + "op": "add", + "path": "/definition/start/sounds/-", + "value": [ + "/sfx/humanoid/eat2.ogg" + ] + }, { + "op": "add", + "path": "/definition/start/sounds/-", + "value": [ + "/sfx/humanoid/eat4.ogg" + ] + } + ] +] diff --git a/interface/itemdescriptions/sb_gun4.itemdescription b/interface/itemdescriptions/sb_gun4.itemdescription index 5836f7a4..237e49e6 100644 --- a/interface/itemdescriptions/sb_gun4.itemdescription +++ b/interface/itemdescriptions/sb_gun4.itemdescription @@ -54,6 +54,13 @@ "centered": true, "wrapWidth": 126 }, + "ammoLabel": { + "type": "label", + "position": [16, 51], + "hAnchor": "left", + "wrapWidth": 126, + "value": "^green;This weapon can use ammo" + }, "altAbilityLabel": { "type": "label", "position": [13.4, 142], diff --git a/interface/tooltips/sb_gun4.tooltip b/interface/tooltips/sb_gun4.tooltip index 83177d44..ea664d62 100644 --- a/interface/tooltips/sb_gun4.tooltip +++ b/interface/tooltips/sb_gun4.tooltip @@ -29,7 +29,7 @@ "hAnchor": "left", "vAnchor": "top", "wrapWidth": 126, - "value": "^gray;Craft ammo at an anvil!" + "value": "^green;This weapon can use ammo" }, "altAbilityTitleLabel": { "type": "label", diff --git a/items/active/starbound/feed/electric.activeitem b/items/active/starbound/feed/electric.activeitem index 17cfc884..13cc4e35 100644 --- a/items/active/starbound/feed/electric.activeitem +++ b/items/active/starbound/feed/electric.activeitem @@ -1,13 +1,14 @@ { - "itemName" : "sb_electricfluffalofeed", - "rarity" : "uncommon", - "category" : "farmBeastFeed", - "price" : 250, - "inventoryIcon" : "electric.png", - "description" : "Feed this to a fluffalo calf to raise an Electric Fluffalo - a good source of static cells.", - "tooltipKind" : "sb_object", - "shortdescription" : "Electric Eggplant", - "feedType" : "electric", - "radioMessagesOnPickup" : ["sb_pickupfarmbeastfeed"], - "scripts" : ["feed.lua"] -} \ No newline at end of file + "itemName": "sb_electricfluffalofeed", + "rarity": "uncommon", + "category": "farmBeastFeed", + "price": 250, + "inventoryIcon": "electric.png", + "description": "Feed this to an electric fluffalo calf to accelerate its growth, or to any other calf to change its element.", + "tooltipKind": "sb_object4", + "shortdescription": "Electric Eggplant", + "feedType": "electric", + "radioMessagesOnPickup": ["sb_pickupfarmbeastfeed"], + "animation": "feed.animation", + "scripts": ["feed.lua"] +} diff --git a/items/active/starbound/feed/electric.png b/items/active/starbound/feed/electric.png index 2f264389..b5e6e9ac 100644 Binary files a/items/active/starbound/feed/electric.png and b/items/active/starbound/feed/electric.png differ diff --git a/items/active/starbound/feed/feed.activeitem b/items/active/starbound/feed/feed.activeitem index 78e3069e..e14ec6ac 100644 --- a/items/active/starbound/feed/feed.activeitem +++ b/items/active/starbound/feed/feed.activeitem @@ -1,12 +1,13 @@ { - "itemName" : "sb_fluffalofeed", - "rarity" : "uncommon", - "category" : "farmBeastFeed", - "price" : 250, - "inventoryIcon" : "feed.png", - "description" : "Feed this to a fluffalo calf to raise a common Fluffalo - a good source of plant fibre.", //"Feed this to a fluffalo calf to help it mature.", - "tooltipKind" : "sb_object", - "shortdescription" : "Ordinary Acorn", - "radioMessagesOnPickup" : ["sb_pickupfarmbeastfeed"], - "scripts" : ["feed.lua"] -} \ No newline at end of file + "itemName": "sb_fluffalofeed", + "rarity": "uncommon", + "category": "farmBeastFeed", + "price": 250, + "inventoryIcon": "feed.png", + "description": "Feed this to an unattuned fluffalo calf to accelerate its growth, or to any other calf to remove its element.", + "tooltipKind": "sb_object4", + "shortdescription": "Ordinary Acorn", + "radioMessagesOnPickup": ["sb_pickupfarmbeastfeed"], + "animation": "feed.animation", + "scripts": ["feed.lua"] +} diff --git a/items/active/starbound/feed/feed.animation b/items/active/starbound/feed/feed.animation new file mode 100644 index 00000000..dea13237 --- /dev/null +++ b/items/active/starbound/feed/feed.animation @@ -0,0 +1 @@ +{"sounds":{"eat":["/sfx/humanoid/eat1.ogg","/sfx/humanoid/eat2.ogg","/sfx/humanoid/eat3.ogg","/sfx/humanoid/eat4.ogg"]}} diff --git a/items/active/starbound/feed/feed.lua b/items/active/starbound/feed/feed.lua index 55457110..5d318bce 100644 --- a/items/active/starbound/feed/feed.lua +++ b/items/active/starbound/feed/feed.lua @@ -1,23 +1,32 @@ -function init() - feed = config.getParameter("feedType","") +require "/scripts/activeitem/sb_swing.lua" +local updat = update +function init() swingInit() + feed = config.getParameter("feedType", "") range = config.getParameter("interactRadius", root.assetJson("/player.config:interactRadius")) - promised = false end -function activate() +function swingAction() local target = world.monsterQuery(activeItem.ownerAimPosition(), 0)[1] - if checkTargetRadius(target) then - i = world.sendEntityMessage(target,"sb_feedFluffalo",feed) + if checkTargetRadius(target) and not promised then + i = world.sendEntityMessage(target, "sb_feedFluffalo", feed) promised = true end end -function update() if promised then if i:finished() and i:result() == true then item.consume(1) promised = false end end end +function update(dt, fireMode, shiftHeld) updat(dt, fireMode, shiftHeld) + if promised then + if i:finished() and i:result() == true then + item.consume(1) + animator.playSound("eat") + promised = nil + end + end +end function checkTargetRadius(target) if target and world.entityExists(target) then local pos = mcontroller.position() local targetPosition = world.entityPosition(target) - return (world.magnitude(pos, targetPosition) <= range and not world.lineCollision(pos, targetPosition)) + return player.isAdmin() or (world.magnitude(pos, targetPosition) <= range and not world.lineCollision(pos, targetPosition)) end end \ No newline at end of file diff --git a/items/active/starbound/feed/feed.png b/items/active/starbound/feed/feed.png index 3a977dd4..357b65f9 100644 Binary files a/items/active/starbound/feed/feed.png and b/items/active/starbound/feed/feed.png differ diff --git a/items/active/starbound/feed/fire.activeitem b/items/active/starbound/feed/fire.activeitem index 344b730b..bdbee895 100644 --- a/items/active/starbound/feed/fire.activeitem +++ b/items/active/starbound/feed/fire.activeitem @@ -1,13 +1,14 @@ { - "itemName" : "sb_firefluffalofeed", - "rarity" : "uncommon", - "category" : "farmBeastFeed", - "price" : 250, - "inventoryIcon" : "fire.png", - "description" : "Feed this to a fluffalo calf to raise a Fire Fluffalo - a good source of scorched cores.", - "tooltipKind" : "sb_object", - "shortdescription" : "Blazing Berry", - "feedType" : "fire", - "radioMessagesOnPickup" : ["sb_pickupfarmbeastfeed"], - "scripts" : ["feed.lua"] -} \ No newline at end of file + "itemName": "sb_firefluffalofeed", + "rarity": "uncommon", + "category": "farmBeastFeed", + "price": 250, + "inventoryIcon": "fire.png", + "description": "Feed this to a fire fluffalo calf to accelerate its growth, or to any other calf to change its element.", + "tooltipKind": "sb_object4", + "shortdescription": "Blazing Berry", + "feedType": "fire", + "radioMessagesOnPickup": ["sb_pickupfarmbeastfeed"], + "animation": "feed.animation", + "scripts": ["feed.lua"] +} diff --git a/items/active/starbound/feed/fire.png b/items/active/starbound/feed/fire.png index 7219acd4..109ca47f 100644 Binary files a/items/active/starbound/feed/fire.png and b/items/active/starbound/feed/fire.png differ diff --git a/items/active/starbound/feed/ice.activeitem b/items/active/starbound/feed/ice.activeitem index a9a41623..b9793ae8 100644 --- a/items/active/starbound/feed/ice.activeitem +++ b/items/active/starbound/feed/ice.activeitem @@ -1,13 +1,14 @@ { - "itemName" : "sb_icefluffalofeed", - "rarity" : "uncommon", - "category" : "farmBeastFeed", - "price" : 250, - "inventoryIcon" : "ice.png", - "description" : "Feed this to a fluffalo calf to raise an Ice Fluffalo - a good source of cryonic extract.", - "tooltipKind" : "sb_object", - "shortdescription" : "Frosty Fig", - "feedType" : "ice", - "radioMessagesOnPickup" : ["sb_pickupfarmbeastfeed"], - "scripts" : ["feed.lua"] -} \ No newline at end of file + "itemName": "sb_icefluffalofeed", + "rarity": "uncommon", + "category": "farmBeastFeed", + "price": 250, + "inventoryIcon": "ice.png", + "description": "Feed this to an ice fluffalo calf to accelerate its growth, or to any other calf to change its element.", + "tooltipKind": "sb_object4", + "shortdescription": "Frosty Fig", + "feedType": "ice", + "radioMessagesOnPickup": ["sb_pickupfarmbeastfeed"], + "animation": "feed.animation", + "scripts": ["feed.lua"] +} diff --git a/items/active/starbound/feed/ice.png b/items/active/starbound/feed/ice.png index 7ff0913d..820216ed 100644 Binary files a/items/active/starbound/feed/ice.png and b/items/active/starbound/feed/ice.png differ diff --git a/items/active/starbound/feed/poison.activeitem b/items/active/starbound/feed/poison.activeitem index 789a6c98..daf2a994 100644 --- a/items/active/starbound/feed/poison.activeitem +++ b/items/active/starbound/feed/poison.activeitem @@ -1,13 +1,14 @@ { - "itemName" : "sb_poisonfluffalofeed", - "rarity" : "uncommon", - "category" : "farmBeastFeed", - "price" : 250, - "inventoryIcon" : "poison.png", - "description" : "Feed this to a fluffalo calf to raise a Poison Fluffalo - a source of venom samples.", - "tooltipKind" : "sb_object", - "shortdescription" : "Poison Pear", - "feedType" : "poison", - "radioMessagesOnPickup" : ["sb_pickupfarmbeastfeed"], - "scripts" : ["feed.lua"] -} \ No newline at end of file + "itemName": "sb_poisonfluffalofeed", + "rarity": "uncommon", + "category": "farmBeastFeed", + "price": 250, + "inventoryIcon": "poison.png", + "description": "Feed this to a poison fluffalo calf to accelerate its growth, or to any other calf to change its element.", + "tooltipKind": "sb_object4", + "shortdescription": "Poison Pear", + "feedType": "poison", + "radioMessagesOnPickup": ["sb_pickupfarmbeastfeed"], + "animation": "feed.animation", + "scripts": ["feed.lua"] +} diff --git a/items/active/starbound/feed/poison.png b/items/active/starbound/feed/poison.png index a0220d5e..142266c0 100644 Binary files a/items/active/starbound/feed/poison.png and b/items/active/starbound/feed/poison.png differ diff --git a/items/buildscripts/starbound/randomdrop.lua b/items/buildscripts/starbound/randomdrop.lua index 7e50976a..5bdf4cfb 100644 --- a/items/buildscripts/starbound/randomdrop.lua +++ b/items/buildscripts/starbound/randomdrop.lua @@ -1,4 +1,4 @@ function build(_, config, parameters, level) - config.itemName = root.createTreasure(parameters.pool or config.pool, level or 0, math.random(1, 4294967295))[1].name + config.itemName = root.createTreasure(parameters.pool or config.pool, level or 0)[1].name return config, {} end \ No newline at end of file diff --git a/items/generic/food/sb_drinks/orangejuice.consumable b/items/generic/food/sb_drinks/orangejuice.consumable index cd1fd2a8..214cccfc 100644 --- a/items/generic/food/sb_drinks/orangejuice.consumable +++ b/items/generic/food/sb_drinks/orangejuice.consumable @@ -1,20 +1,24 @@ { - "itemName" : "sb_orangejuice", - "price" : 25, - "foodValue" : 15, - "effects" : [[ - {"effect":"maxhealthscalingboostfood","duration":135}, - {"effect":"sb_health","duration":10}, - "sb_foodheal35" - ]], - "tooltipKind" : "sb_object", - "rarity" : "Common", - "inventoryIcon" : "orangejuice.png", - "category" : "drink", - "description" : "A carton full of sweet orange juice.", - "shortdescription" : "Orange Juice", - "emitters" : ["drinking"], - "builder" : "/items/buildscripts/starbound/buildfood.lua", - "itemAgingScripts" : ["/scripts/items/rotting.lua"], - "rottingMultiplier" : 2.5 -} \ No newline at end of file + "itemName": "sb_orangejuice", + "price": 25, + "foodValue": 15, + "effects": [[{ + "effect": "maxhealthscalingboostfood", + "duration": 135 + }, { + "effect": "sb_health", + "duration": 10 + }, + "sb_foodheal35" + ]], + "tooltipKind": "sb_object", + "rarity": "Common", + "inventoryIcon": "orangejuice.png", + "category": "drink", + "description": "A carton full of sweet orange juice.", + "shortdescription": "Orange Juice", + "emitters": ["drinking"], + "builder": "/items/buildscripts/starbound/buildfood.lua", + "itemAgingScripts": ["/scripts/items/rotting.lua"], + "rottingMultiplier": 2.5 +} diff --git a/items/generic/food/sb_sides/roastbanana.consumable b/items/generic/food/sb_sides/roastbanana.consumable index 5c66511a..f5252bd2 100644 --- a/items/generic/food/sb_sides/roastbanana.consumable +++ b/items/generic/food/sb_sides/roastbanana.consumable @@ -7,11 +7,11 @@ "shortdescription": "Roasted Banana", "price": 150, "effects": [[{ - "effect": "maxenergyscalingboostfood", - "duration": 60 + "effect": "sb_maxenergyboost20", + "duration": 135 },{ "effect": "sb_energyregen", - "duration": 60 + "duration": 135 }, "sb_foodheal35" ]], diff --git a/items/generic/food/tier1/bakedpotato.consumable.patch b/items/generic/food/tier1/bakedpotato.consumable.patch index 69c47dff..fa21f3f7 100644 --- a/items/generic/food/tier1/bakedpotato.consumable.patch +++ b/items/generic/food/tier1/bakedpotato.consumable.patch @@ -4,6 +4,7 @@ [{"op":"test","path":"/rottingMultiplier","value":1.0},{"op":"replace","path":"/rottingMultiplier","value":4}], [{"op":"test","path":"/effects","inverse":true},{"op":"add","path":"/effects","value":[[]]}], -[{"op":"add","path":"/effects/0/0","value":"sb_foodheal50"}], +[{"op":"add","path":"/effects/0/-","value":{"effect":"maxhealthboost10","duration":180}}], +[{"op":"add","path":"/effects/0/-","value":"sb_foodheal50"}], [{"op":"add","path":"/effects/0/-","value":{"effect":"sb_health","duration":10}}] ] \ No newline at end of file diff --git a/items/generic/food/tier1/boiledrice.consumable.patch b/items/generic/food/tier1/boiledrice.consumable.patch index d11730cc..2604a722 100644 --- a/items/generic/food/tier1/boiledrice.consumable.patch +++ b/items/generic/food/tier1/boiledrice.consumable.patch @@ -5,5 +5,6 @@ [{"op":"test","path":"/rottingMultiplier","value":1.0},{"op":"replace","path":"/rottingMultiplier","value":2}], [{"op":"test","path":"/effects","inverse":true},{"op":"add","path":"/effects","value":[[]]}], +[{"op":"add","path":"/effects/0/-","value":{"effect":"maxhealthboost10","duration":135}}], [{"op":"add","path":"/effects/0/-","value":"sb_foodheal35"}] ] \ No newline at end of file diff --git a/items/generic/food/tier1/popcorn.consumable.patch b/items/generic/food/tier1/popcorn.consumable.patch index edacb9d8..72c67d27 100644 --- a/items/generic/food/tier1/popcorn.consumable.patch +++ b/items/generic/food/tier1/popcorn.consumable.patch @@ -4,6 +4,7 @@ [{"op":"test","path":"/rottingMultiplier","value":1.0},{"op":"replace","path":"/rottingMultiplier","value":3}], [{"op":"test","path":"/effects","inverse":true},{"op":"add","path":"/effects","value":[[]]}], +[{"op":"add","path":"/effects/0/-","value":{"effect":"maxhealthboost10","duration":135}}], [{"op":"add","path":"/effects/0/-","value":"sb_foodheal35"}], [{"op":"add","path":"/effects/0/-","value":{"effect":"sb_health","duration":10}}] ] \ No newline at end of file diff --git a/items/generic/other/sb_ammo.item b/items/generic/other/sb_ammo.item index 2c9049a4..a925cd4a 100644 --- a/items/generic/other/sb_ammo.item +++ b/items/generic/other/sb_ammo.item @@ -2,13 +2,13 @@ "itemName" : "sb_ammo", "rarity" : "common", "price" : 1, - "tooltipKind" : "sb_object", + "tooltipKind" : "sb_object4", "inventoryIcon" : "sb_ammo.png", "category" : "pistol", "tooltipFields" : {"subtitle" : "Other"}, "radioMessagesOnPickup" : ["sb_pickupammo"], //"itemTags" : ["weapon","ranged","revolver","pistol","gun"], Uncrafter will see it as a weapon - "description" : "This type of ammo can be used with certain firearms.", + "description" : "This type of ammo will automatically be used with certain firearms. They will state if they can use ammo.", "shortdescription" : "Ammunition", "projectileTypes" : ["standardbullet","fast","bouncybullet"], "builder" : "/items/buildscripts/starbound/buildammo.lua" diff --git a/items/generic/other/sb_timecapsule.item b/items/generic/other/sb_timecapsule.item deleted file mode 100644 index 104b0319..00000000 --- a/items/generic/other/sb_timecapsule.item +++ /dev/null @@ -1,6 +0,0 @@ -{ - "itemName" : "sb_timecapsule", - "rarity" : "Rare", - "sb_timecapsuleConfig" : ["sb_goldcoin",[0,0,0,0,0,0,0,0,0,0,0,"holidayspirit"]], - "builder" : "/items/buildscripts/starbound/buildtimecapsule.lua" -} \ No newline at end of file diff --git a/items/generic/other/sb_treeHarvest.item b/items/generic/other/sb_treeHarvest.item deleted file mode 100644 index bdff3f88..00000000 --- a/items/generic/other/sb_treeHarvest.item +++ /dev/null @@ -1,6 +0,0 @@ -{ - "itemName" : "sb_treeHarvest", - "rarity" : "rare", - "pool" : "sb_treeHarvest", - "builder" : "/items/buildscripts/starbound/randomdrop.lua" -} \ No newline at end of file diff --git a/items/generic/produce/alienfruit.consumable.patch b/items/generic/produce/alienfruit.consumable.patch index a5794f7a..a53c40f5 100644 --- a/items/generic/produce/alienfruit.consumable.patch +++ b/items/generic/produce/alienfruit.consumable.patch @@ -2,5 +2,5 @@ [{"op":"test","path":"/maxStack"},{"op":"remove","path":"/maxStack"}], [{"op":"test","path":"/effects","inverse":true},{"op":"add","path":"/effects","value":[[]]}], -[{"op":"add","path":"/effects/0/-","value":{"effect":"lowgrav","duration":30}}] +[{"op":"add","path":"/effects/0/-","value":{"effect":"lowgrav","duration":90}}] ] \ No newline at end of file diff --git a/items/generic/produce/automato.consumable.patch b/items/generic/produce/automato.consumable.patch index 749513c8..6168a6e3 100644 --- a/items/generic/produce/automato.consumable.patch +++ b/items/generic/produce/automato.consumable.patch @@ -4,5 +4,9 @@ [{"op":"test","path":"/learnBlueprintsOnPickup","inverse":true},{"op":"add","path":"/learnBlueprintsOnPickup","value":[]}], [{"op":"add","path":"/learnBlueprintsOnPickup/-","value":"sb_automatostew"}], -[{"op":"test","path":"/rottingMultiplier","value":1.0},{"op":"replace","path":"/rottingMultiplier","value":5}] +[{"op":"test","path":"/rottingMultiplier","value":1.0},{"op":"replace","path":"/rottingMultiplier","value":5}], + +[{"op":"test","path":"/effects","inverse":true},{"op":"add","path":"/effects","value":[[]]}], +[{"op":"add","path":"/effects/0/-","value":{"effect":"sb_maxenergyboost15","duration":12}}], +[{"op":"add","path":"/effects/0/-","value":{"effect":"electrified","duration":12}}] ] \ No newline at end of file diff --git a/items/generic/produce/avesmingo.consumable.patch b/items/generic/produce/avesmingo.consumable.patch index bf520f13..5ad2dff0 100644 --- a/items/generic/produce/avesmingo.consumable.patch +++ b/items/generic/produce/avesmingo.consumable.patch @@ -2,8 +2,7 @@ [{"op":"test","path":"/maxStack"},{"op":"remove","path":"/maxStack"}], [{"op":"test","path":"/effects","inverse":true},{"op":"add","path":"/effects","value":[[]]}], -[{"op":"add","path":"/effects/0/-","value":{"effect":"runboostfood","duration":25}}], -[{"op":"add","path":"/effects/0/-","value":{"effect":"jumpboostfood","duration":25}}], +[{"op":"add","path":"/effects/0/-","value":{"effect":"runboostfood","duration":34}}], [{"op":"test","path":"/rottingMultiplier","value":1.0},{"op":"replace","path":"/rottingMultiplier","value":2}] ] \ No newline at end of file diff --git a/items/generic/produce/banana.consumable.patch b/items/generic/produce/banana.consumable.patch index 823baca1..bdcc86f1 100644 --- a/items/generic/produce/banana.consumable.patch +++ b/items/generic/produce/banana.consumable.patch @@ -5,8 +5,8 @@ {"op":"replace","path":"/description","value":"A genetically enhanced banana, could make anyone but an Apex sick."}], [{"op":"test","path":"/effects","inverse":true},{"op":"add","path":"/effects","value":[[]]}], -[{"op":"add","path":"/effects/0/-","value":"sb_energyregen192"}], -[{"op":"add","path":"/effects/0/-","value":"sb_maxenergyboost10"}], +[{"op":"add","path":"/effects/0/-","value":{"effect":"sb_maxenergyboost15","duration":34}}], +[{"op":"add","path":"/effects/0/-","value":{"effect":"sb_energyregen192","duration":34}}], [{"op":"test","path":"/learnBlueprintsOnPickup","inverse":true},{"op":"add","path":"/learnBlueprintsOnPickup","value":[]}], [{"op":"add","path":"/learnBlueprintsOnPickup/-","value":"sb_roastbanana"}], diff --git a/items/generic/produce/beakseed.consumable.patch b/items/generic/produce/beakseed.consumable.patch index 99fe901e..892d79f1 100644 --- a/items/generic/produce/beakseed.consumable.patch +++ b/items/generic/produce/beakseed.consumable.patch @@ -2,7 +2,7 @@ [{"op":"test","path":"/maxStack"},{"op":"remove","path":"/maxStack"}], [{"op":"test","path":"/effects","inverse":true},{"op":"add","path":"/effects","value":[[]]}], -[{"op":"add","path":"/effects/0/-","value":"jumpboostfood"}], +[{"op":"add","path":"/effects/0/-","value":{"effect":"jumpboostfood","duration":34}}], [{"op":"test","path":"/rottingMultiplier","value":1.0},{"op":"replace","path":"/rottingMultiplier","value":1.5}] ] \ No newline at end of file diff --git a/items/generic/produce/boltbulb.consumable.patch b/items/generic/produce/boltbulb.consumable.patch index 37a6f0ba..5366efea 100644 --- a/items/generic/produce/boltbulb.consumable.patch +++ b/items/generic/produce/boltbulb.consumable.patch @@ -1,8 +1,9 @@ [ [{"op":"test","path":"/maxStack"},{"op":"remove","path":"/maxStack"}], -[{"op":"test","path":"/effects","inverse":true},{"op":"add","path":"/effects","value":[[]]}], -[{"op":"add","path":"/effects/0/-","value":"sb_maxenergyboost10"}], +[{"op":"test","path":"/rottingMultiplier","value":1.0},{"op":"replace","path":"/rottingMultiplier","value":5}], -[{"op":"test","path":"/rottingMultiplier","value":1.0},{"op":"replace","path":"/rottingMultiplier","value":5}] +[{"op":"test","path":"/effects","inverse":true},{"op":"add","path":"/effects","value":[[]]}], +[{"op":"add","path":"/effects/0/-","value":{"effect":"sb_maxenergyboost30","duration":23}}], +[{"op":"add","path":"/effects/0/-","value":{"effect":"electrified","duration":23}}] ] \ No newline at end of file diff --git a/items/generic/produce/boneboo.consumable.patch b/items/generic/produce/boneboo.consumable.patch index 1be9dadc..963d9e68 100644 --- a/items/generic/produce/boneboo.consumable.patch +++ b/items/generic/produce/boneboo.consumable.patch @@ -6,5 +6,5 @@ [{"op":"test","path":"/rottingMultiplier","value":1.0},{"op":"replace","path":"/rottingMultiplier","value":3}], [{"op":"test","path":"/effects","inverse":true},{"op":"add","path":"/effects","value":[[]]}], -[{"op":"add","path":"/effects/0/-","value":{"effect":"ragefood","duration":30}}] +[{"op":"add","path":"/effects/0/-","value":{"effect":"ragefood","duration":45}}] ] \ No newline at end of file diff --git a/items/generic/produce/chili.consumable.patch b/items/generic/produce/chili.consumable.patch index 4f6a3e3d..ae2bda22 100644 --- a/items/generic/produce/chili.consumable.patch +++ b/items/generic/produce/chili.consumable.patch @@ -4,5 +4,5 @@ [{"op":"test","path":"/rottingMultiplier","value":1.0},{"op":"replace","path":"/rottingMultiplier","value":1.5}], [{"op":"test","path":"/effects","inverse":true},{"op":"add","path":"/effects","value":[[]]}], -[{"op":"add","path":"/effects/0/-","value":{"effect":"nova","duration":30}}] +[{"op":"add","path":"/effects/0/-","value":{"effect":"nova","duration":34}}] ] \ No newline at end of file diff --git a/items/generic/produce/coffeebeans.consumable.patch b/items/generic/produce/coffeebeans.consumable.patch index 7ff0f818..694ee14e 100644 --- a/items/generic/produce/coffeebeans.consumable.patch +++ b/items/generic/produce/coffeebeans.consumable.patch @@ -2,8 +2,8 @@ [{"op":"test","path":"/maxStack"},{"op":"remove","path":"/maxStack"}], [{"op":"test","path":"/effects","inverse":true},{"op":"add","path":"/effects","value":[[]]}], -[{"op":"add","path":"/effects/0/-","value":"sb_energyregen96"}], -[{"op":"add","path":"/effects/0/-","value":{"effect":"sb_maxenergyboost10","duration":90}}], +[{"op":"add","path":"/effects/0/-","value":{"effect":"sb_maxenergyboost10","duration":34}}], +[{"op":"add","path":"/effects/0/-","value":{"effect":"sb_energyregen96","duration":34}}], [{"op":"test","path":"/learnBlueprintsOnPickup","inverse":true},{"op":"add","path":"/learnBlueprintsOnPickup","value":[]}], [{"op":"add","path":"/learnBlueprintsOnPickup/-","value":"sb_chocolatecoffeebeans"}] diff --git a/items/generic/produce/corn.consumable.patch b/items/generic/produce/corn.consumable.patch index 112a9bdb..6de59370 100644 --- a/items/generic/produce/corn.consumable.patch +++ b/items/generic/produce/corn.consumable.patch @@ -1,5 +1,8 @@ [ [{"op":"test","path":"/maxStack"},{"op":"remove","path":"/maxStack"}], -[{"op":"test","path":"/rottingMultiplier","value":1.0},{"op":"replace","path":"/rottingMultiplier","value":2}] +[{"op":"test","path":"/rottingMultiplier","value":1.0},{"op":"replace","path":"/rottingMultiplier","value":2}], + +[{"op":"test","path":"/effects","inverse":true},{"op":"add","path":"/effects","value":[[]]}], +[{"op":"add","path":"/effects/0/-","value":{"effect":"maxhealthboost5","duration":34}}] ] \ No newline at end of file diff --git a/items/generic/produce/crystalplant.item.patch b/items/generic/produce/crystalplant.item.patch index 1f2ef01d..91ba825e 100644 --- a/items/generic/produce/crystalplant.item.patch +++ b/items/generic/produce/crystalplant.item.patch @@ -7,6 +7,10 @@ [{"op":"add","path":"/learnBlueprintsOnPickup/-","value":"sb_liquifiedcrystal"}], [{"op":"add","path":"/learnBlueprintsOnPickup/-","value":"sb_crystalcandy"}], [{"op":"add","path":"/learnBlueprintsOnPickup/-","value":"sb_crystaljam"}], + [{"op":"test","path":"/builder","value":"/items/buildscripts/buildfood.lua"},{"op":"replace","path":"/builder","value":"/items/buildscripts/starbound/buildfood.lua"}], -[{"op":"test","path":"/builder","inverse":true},{"op":"add","path":"/builder","value":"/items/buildscripts/starbound/buildfood.lua"}] +[{"op":"test","path":"/builder","inverse":true},{"op":"add","path":"/builder","value":"/items/buildscripts/starbound/buildfood.lua"}], + +[{"op":"test","path":"/effects","inverse":true},{"op":"add","path":"/effects","value":[[]]}], +[{"op":"add","path":"/effects/0/-","value":{"effect":"glow","duration":23}}] ] \ No newline at end of file diff --git a/items/generic/produce/currentcorn.consumable.patch b/items/generic/produce/currentcorn.consumable.patch index 6e60a38c..0ea802b0 100644 --- a/items/generic/produce/currentcorn.consumable.patch +++ b/items/generic/produce/currentcorn.consumable.patch @@ -3,5 +3,9 @@ [{"op":"test","path":"/description","value":"Grows currentcorn, full of acid. Not good for fleshy creatures."}, {"op":"replace","path":"/description","value":"Currentcorn, full of acid. Not good for fleshy creatures."}], -[{"op":"test","path":"/rottingMultiplier","value":1.0},{"op":"replace","path":"/rottingMultiplier","value":5}] +[{"op":"test","path":"/rottingMultiplier","value":1.0},{"op":"replace","path":"/rottingMultiplier","value":5}], + +[{"op":"test","path":"/effects","inverse":true},{"op":"add","path":"/effects","value":[[]]}], +[{"op":"add","path":"/effects/0/-","value":{"effect":"sb_maxenergyboost15","duration":23}}], +[{"op":"add","path":"/effects/0/-","value":{"effect":"electrified","duration":23}}] ] \ No newline at end of file diff --git a/items/generic/produce/diodia.consumable.patch b/items/generic/produce/diodia.consumable.patch index 80968f5d..bf544010 100644 --- a/items/generic/produce/diodia.consumable.patch +++ b/items/generic/produce/diodia.consumable.patch @@ -4,5 +4,6 @@ [{"op":"test","path":"/rottingMultiplier","value":1.0},{"op":"replace","path":"/rottingMultiplier","value":5}], [{"op":"test","path":"/effects","inverse":true},{"op":"add","path":"/effects","value":[[]]}], -[{"op":"add","path":"/effects/0/-","value":{"effect":"sb_maxenergyboost5","duration":90}}] +[{"op":"add","path":"/effects/0/-","value":{"effect":"sb_maxenergyboost30","duration":34}}], +[{"op":"add","path":"/effects/0/-","value":{"effect":"electrified","duration":34}}] ] \ No newline at end of file diff --git a/items/generic/produce/dirturchin.consumable.patch b/items/generic/produce/dirturchin.consumable.patch index eaa05ef4..a67bd9ce 100644 --- a/items/generic/produce/dirturchin.consumable.patch +++ b/items/generic/produce/dirturchin.consumable.patch @@ -1,5 +1,8 @@ [ [{"op":"test","path":"/maxStack"},{"op":"remove","path":"/maxStack"}], -[{"op":"test","path":"/rottingMultiplier","value":1.0},{"op":"replace","path":"/rottingMultiplier","value":1.5}] +[{"op":"test","path":"/rottingMultiplier","value":1.0},{"op":"replace","path":"/rottingMultiplier","value":1.5}], + +[{"op":"test","path":"/effects","inverse":true},{"op":"add","path":"/effects","value":[[]]}], +[{"op":"add","path":"/effects/0/-","value":{"effect":"maxhealthboost20","duration":45}}] ] \ No newline at end of file diff --git a/items/generic/produce/feathercrown.consumable.patch b/items/generic/produce/feathercrown.consumable.patch index 70777321..dee0352a 100644 --- a/items/generic/produce/feathercrown.consumable.patch +++ b/items/generic/produce/feathercrown.consumable.patch @@ -4,6 +4,6 @@ [{"op":"test","path":"/rottingMultiplier","value":1.0},{"op":"replace","path":"/rottingMultiplier","value":2}], [{"op":"test","path":"/effects","inverse":true},{"op":"add","path":"/effects","value":[[]]}], -[{"op":"add","path":"/effects/0/-","value":{"effect":"jumpboostfood","duration":30}}], -[{"op":"add","path":"/effects/0/-","value":{"effect":"maxhealthboost10","duration":105}}] +[{"op":"add","path":"/effects/0/-","value":{"effect":"maxhealthboost10","duration":45}}], +[{"op":"add","path":"/effects/0/-","value":{"effect":"jumpboostfood","duration":45}}] ] \ No newline at end of file diff --git a/items/generic/produce/grapes.consumable.patch b/items/generic/produce/grapes.consumable.patch index add7e10c..fecf15d7 100644 --- a/items/generic/produce/grapes.consumable.patch +++ b/items/generic/produce/grapes.consumable.patch @@ -4,5 +4,5 @@ [{"op":"test","path":"/rottingMultiplier","value":1.0},{"op":"replace","path":"/rottingMultiplier","value":1.5}], [{"op":"test","path":"/effects","inverse":true},{"op":"add","path":"/effects","value":[[]]}], -[{"op":"add","path":"/effects/0/-","value":{"effect":"sb_maxenergyboost10","duration":90}}] +[{"op":"add","path":"/effects/0/-","value":{"effect":"runboostfood","duration":3.75}}] ] \ No newline at end of file diff --git a/items/generic/produce/kiwi.consumable.patch b/items/generic/produce/kiwi.consumable.patch index 4e7d3de0..6b18e872 100644 --- a/items/generic/produce/kiwi.consumable.patch +++ b/items/generic/produce/kiwi.consumable.patch @@ -4,5 +4,5 @@ [{"op":"test","path":"/rottingMultiplier","value":1.0},{"op":"replace","path":"/rottingMultiplier","value":2}], [{"op":"test","path":"/effects","inverse":true},{"op":"add","path":"/effects","value":[[]]}], -[{"op":"add","path":"/effects/0/-","value":{"effect":"jumpboostfood","duration":60}}] +[{"op":"add","path":"/effects/0/-","value":{"effect":"jumpboostfood","duration":90}}] ] \ No newline at end of file diff --git a/items/generic/produce/neonmelon.consumable.patch b/items/generic/produce/neonmelon.consumable.patch index e79e0bf4..88e3eed7 100644 --- a/items/generic/produce/neonmelon.consumable.patch +++ b/items/generic/produce/neonmelon.consumable.patch @@ -7,6 +7,5 @@ [{"op":"test","path":"/rottingMultiplier","value":1.0},{"op":"replace","path":"/rottingMultiplier","value":2}], [{"op":"test","path":"/effects","inverse":true},{"op":"add","path":"/effects","value":[[]]}], -[{"op":"add","path":"/effects/0/-","value":{"effect":"jumpboostfood","duration":30}}], -[{"op":"add","path":"/effects/0/-","value":{"effect":"sb_maxenergyboost30","duration":30}}] +[{"op":"add","path":"/effects/0/-","value":{"effect":"runboostfood","duration":90}}] ] \ No newline at end of file diff --git a/items/generic/produce/oculemon.consumable.patch b/items/generic/produce/oculemon.consumable.patch index 7ee4829d..1c9ae16d 100644 --- a/items/generic/produce/oculemon.consumable.patch +++ b/items/generic/produce/oculemon.consumable.patch @@ -5,7 +5,7 @@ {"op":"replace","path":"/description","value":"Sour but so worth it. The iris is the best part. Could be poisonous to anyone but a Floran."}], [{"op":"test","path":"/effects","inverse":true},{"op":"add","path":"/effects","value":[[]]}], -[{"op":"add","path":"/effects/0/-","value":{"effect":"maxhealthboost20","duration":105}}], +[{"op":"add","path":"/effects/0/-","value":{"effect":"maxhealthboost20","duration":90}}], [{"op":"test","path":"/learnBlueprintsOnPickup","inverse":true},{"op":"add","path":"/learnBlueprintsOnPickup","value":[]}], [{"op":"add","path":"/learnBlueprintsOnPickup/-","value":"sb_oculemonade"}], diff --git a/items/generic/produce/orange.consumable.patch b/items/generic/produce/orange.consumable.patch index cb96b126..69ec1673 100644 --- a/items/generic/produce/orange.consumable.patch +++ b/items/generic/produce/orange.consumable.patch @@ -1,12 +1,17 @@ [ [{"op":"test","path":"/maxStack"},{"op":"remove","path":"/maxStack"}], [{"op":"test","path":"/tooltipKind","value":"food"},{"op":"replace","path":"/tooltipKind","value":"sb_object"}], -//[{"op":"test","path":"/description","value":"It's an orange."},{"op":"replace","path":"/description","value":"The colour is named after the fruit."}], +//[{"op":"test","path":"/description","value":"It's an orange."},{"op":"replace","path":"/description","value":"Earth produce was so replete with citric acids that humanity produced relatively few drinks with them."}],//The colour is named after the fruit. //requires object4b tooltip +[{"op":"test","path":"/description","value":"It's an orange."},{"op":"replace","path":"/description","value":"An orange. The colour is named after the fruit."}], +[{"op":"add","path":"/sb_plateOffset","value":0.075}], [{"op":"test","path":"/learnBlueprintsOnPickup","inverse":true},{"op":"add","path":"/learnBlueprintsOnPickup","value":[]}], [{"op":"add","path":"/learnBlueprintsOnPickup/-","value":"sb_orangejuice"}], [{"op":"add","path":"/learnBlueprintsOnPickup/-","value":"sb_orangejam"}], [{"op":"test","path":"/rottingMultiplier","value":1.0},{"op":"replace","path":"/rottingMultiplier","value":1.5}], -[{"op":"test","path":"/builder","value":"/items/buildscripts/buildfood.lua"},{"op":"replace","path":"/builder","value":"/items/buildscripts/starbound/buildfood.lua"}] +[{"op":"test","path":"/builder","value":"/items/buildscripts/buildfood.lua"},{"op":"replace","path":"/builder","value":"/items/buildscripts/starbound/buildfood.lua"}], + +[{"op":"test","path":"/effects","inverse":true},{"op":"add","path":"/effects","value":[[]]}], +[{"op":"add","path":"/effects/0/-","value":{"effect":"maxhealthboost10","duration":45}}] ] \ No newline at end of file diff --git a/items/generic/produce/orange.png b/items/generic/produce/orange.png new file mode 100644 index 00000000..34177f3e Binary files /dev/null and b/items/generic/produce/orange.png differ diff --git a/items/generic/produce/pearlpea.consumable.patch b/items/generic/produce/pearlpea.consumable.patch index 525cb588..70decad0 100644 --- a/items/generic/produce/pearlpea.consumable.patch +++ b/items/generic/produce/pearlpea.consumable.patch @@ -2,7 +2,7 @@ [{"op":"test","path":"/maxStack"},{"op":"remove","path":"/maxStack"}], [{"op":"test","path":"/effects","inverse":true},{"op":"add","path":"/effects","value":[[]]}], -[{"op":"add","path":"/effects/0/-","value":"sb_protectionboost5"}], +[{"op":"add","path":"/effects/0/-","value":{"effect":"sb_protectionboost5","duration":23}}], [{"op":"test","path":"/rottingMultiplier","value":1.0},{"op":"replace","path":"/rottingMultiplier","value":1.5}] ] \ No newline at end of file diff --git a/items/generic/produce/pineapple.consumable.patch b/items/generic/produce/pineapple.consumable.patch index 5773a83d..1ee53a90 100644 --- a/items/generic/produce/pineapple.consumable.patch +++ b/items/generic/produce/pineapple.consumable.patch @@ -7,5 +7,5 @@ [{"op":"test","path":"/rottingMultiplier","value":1.0},{"op":"replace","path":"/rottingMultiplier","value":2}], [{"op":"test","path":"/effects","inverse":true},{"op":"add","path":"/effects","value":[[]]}], -[{"op":"add","path":"/effects/0/-","value":{"effect":"runboostfood","duration":60}}] +[{"op":"add","path":"/effects/0/-","value":{"effect":"runboostfood","duration":90}}] ] \ No newline at end of file diff --git a/items/generic/produce/potato.consumable.patch b/items/generic/produce/potato.consumable.patch index b4e1d1c5..9f96f1b3 100644 --- a/items/generic/produce/potato.consumable.patch +++ b/items/generic/produce/potato.consumable.patch @@ -2,5 +2,5 @@ [{"op":"test","path":"/maxStack"},{"op":"remove","path":"/maxStack"}], [{"op":"test","path":"/effects","inverse":true},{"op":"add","path":"/effects","value":[[]]}], -[{"op":"add","path":"/effects/0/-","value":{"effect":"maxhealthboost10","duration":105}}] +[{"op":"add","path":"/effects/0/-","value":{"effect":"maxhealthboost5","duration":90}}] ] \ No newline at end of file diff --git a/items/generic/produce/pussplum.consumable.patch b/items/generic/produce/pussplum.consumable.patch index 1cb019ce..333d4c18 100644 --- a/items/generic/produce/pussplum.consumable.patch +++ b/items/generic/produce/pussplum.consumable.patch @@ -5,7 +5,8 @@ {"op":"replace","path":"/description","value":"Pussplum! Some claim this juicy fruit is delicious!"}], [{"op":"test","path":"/effects","inverse":true},{"op":"add","path":"/effects","value":[[]]}], -[{"op":"add","path":"/effects/0/-","value":{"effect":"jumpboostfood","duration":25}}], +[{"op":"add","path":"/effects/0/-","value":{"effect":"ragefood","duration":68}}], +[{"op":"add","path":"/effects/0/-","value":{"effect":"bouncy","duration":7.5}}], [{"op":"test","path":"/rottingMultiplier","value":1.0},{"op":"replace","path":"/rottingMultiplier","value":1.5}] ] \ No newline at end of file diff --git a/items/generic/produce/reefpod.consumable.patch b/items/generic/produce/reefpod.consumable.patch index d47de457..941fbacb 100644 --- a/items/generic/produce/reefpod.consumable.patch +++ b/items/generic/produce/reefpod.consumable.patch @@ -7,6 +7,6 @@ [{"op":"test","path":"/rottingMultiplier","value":1.0},{"op":"replace","path":"/rottingMultiplier","value":1.5}], [{"op":"test","path":"/effects","inverse":true},{"op":"add","path":"/effects","value":[[]]}], -[{"op":"add","path":"/effects/0/-","value":{"effect":"maxhealthboost5","duration":90}}], -[{"op":"add","path":"/effects/0/-","value":{"effect":"sb_maxenergyboost5","duration":90}}] +[{"op":"add","path":"/effects/0/-","value":{"effect":"maxhealthboost20","duration":68}}], +[{"op":"add","path":"/effects/0/-","value":{"effect":"swimboostcola","duration":68}}] ] \ No newline at end of file diff --git a/items/generic/produce/rice.item.patch b/items/generic/produce/rice.item.patch index 971e64cc..94dc0f16 100644 --- a/items/generic/produce/rice.item.patch +++ b/items/generic/produce/rice.item.patch @@ -8,5 +8,8 @@ [{"op":"test","path":"/tooltipKind","inverse":true},{"op":"add","path":"/tooltipKind","value":""}],[{"op":"replace","path":"/tooltipKind","value":"fossil"}], [{"op":"test","path":"/builder","value":"/items/buildscripts/buildfood.lua"},{"op":"replace","path":"/builder","value":"/items/buildscripts/starbound/buildfood.lua"}], -[{"op":"test","path":"/builder","inverse":true},{"op":"add","path":"/builder","value":"/items/buildscripts/starbound/buildfood.lua"}] +[{"op":"test","path":"/builder","inverse":true},{"op":"add","path":"/builder","value":"/items/buildscripts/starbound/buildfood.lua"}], + +[{"op":"test","path":"/effects","inverse":true},{"op":"add","path":"/effects","value":[[]]}], +[{"op":"add","path":"/effects/0/-","value":{"effect":"maxhealthboost5","duration":23}}] ] \ No newline at end of file diff --git a/items/generic/produce/toxictop.consumable.patch b/items/generic/produce/toxictop.consumable.patch index 62e92b9b..3e31973c 100644 --- a/items/generic/produce/toxictop.consumable.patch +++ b/items/generic/produce/toxictop.consumable.patch @@ -4,5 +4,5 @@ [{"op":"test","path":"/rottingMultiplier","value":1.0},{"op":"replace","path":"/rottingMultiplier","value":1.5}], [{"op":"test","path":"/effects","inverse":true},{"op":"add","path":"/effects","value":[[]]}], -[{"op":"add","path":"/effects/0/-","value":{"effect":"sb_maxenergyboost30","duration":105}}] +[{"op":"add","path":"/effects/0/-","value":{"effect":"sb_maxenergyboost20","duration":90}}] ] \ No newline at end of file diff --git a/npcs/crew/sb_crewmemberchemistgrey.npctype b/npcs/crew/sb_crewmemberchemistgrey.npctype index 9f62eba9..3dc60041 100644 --- a/npcs/crew/sb_crewmemberchemistgrey.npctype +++ b/npcs/crew/sb_crewmemberchemistgrey.npctype @@ -1,37 +1,38 @@ { - "type" : "sb_crewmemberchemistgrey", - "baseType" : "crewmemberchemist", + "type": "sb_crewmemberchemistgrey", + "baseType": "crewmemberchemist", - "scriptConfig" : { - "crew" : { - "role" : { - "benefits" : [ - { - // Ephemeral effects gained upon leaving the ship - "type" : "EphemeralEffect", - "effect" : "sb_greystim", - "duration" : 30 - }, - { - // Persistent effects are active while on the ship - "type" : "PersistentEffect", - "effect" : "sb_shipgreystim" + "scriptConfig": { + "crew": { + "role": { + "benefits": [{ + "type": "EphemeralEffect", + "effect": "sb_greystim", + "duration": 30 + }, { + "type": "PersistentEffect", + "effect": "sb_shipgreystim" } ] } } }, - "items" : { - "default" : [ - [0, [ - { - "chest" : [{"name" : "protectoratechest"}], - "legs" : [{"name" : "protectoratepants"}], - "primary" : ["sb_greystim"], - "sheathedprimary" : ["npcpistol", "npcshortsword"] + "items": { + "default": [ + [0, [{ + "chest": [{ + "name": "protectoratechest" + } + ], + "legs": [{ + "name": "protectoratepants" + } + ], + "primary": ["sb_greystim"], + "sheathedprimary": ["npcpistol", "npcshortsword"] } - ] ] + ]] ] } -} \ No newline at end of file +} diff --git a/npcs/merchantpools.config.patch b/npcs/merchantpools.config.patch index 12fc681f..70a5540c 100644 --- a/npcs/merchantpools.config.patch +++ b/npcs/merchantpools.config.patch @@ -15,7 +15,7 @@ // ================ [{"op":"add","path":"/basicmerchant/0/1/-","value":{"item":{"name":"bandage"},"rarity":0.3}}], [{"op":"add","path":"/basicmerchant/0/1/-","value":{"item":{"name":"medkit"},"rarity":0.3}}], -[{"op":"add","path":"/basicmerchant/0/1/-","value":{"item":{"name":"sb_preservatives"},"rarity":0.3,"price":150}}], +[{"op":"add","path":"/basicmerchant/0/1/-","value":{"item":{"name":"sb_preservatives"},"rarity":0.3}}], // ================ // Bartender diff --git a/objects/cultist/cultistairlockdoor/cultistairlockbossdoor.object.patch b/objects/cultist/cultistairlockdoor/cultistairlockbossdoor.object.patch index 4fb58fd6..93af3b1b 100644 --- a/objects/cultist/cultistairlockdoor/cultistairlockbossdoor.object.patch +++ b/objects/cultist/cultistairlockdoor/cultistairlockbossdoor.object.patch @@ -1,4 +1,5 @@ [ +[{"op":"test","path":"/printable","inverse":true},{"op":"add","path":"/printable","value":false}],//it only works from one side... [{"op":"test","path":"/shortdescription","value":"Cultist Airlock Door"}, {"op":"replace","path":"/shortdescription","value":"One-way Cultist Airlock"}], [{"op":"test","path":"/rarity","value":"Common"}, diff --git a/objects/farmables/sb_poisoncreep/poisoncreepseedicon.png b/objects/farmables/sb_poisoncreep/poisoncreepseedicon.png index 900cccce..7b1ffe4b 100644 Binary files a/objects/farmables/sb_poisoncreep/poisoncreepseedicon.png and b/objects/farmables/sb_poisoncreep/poisoncreepseedicon.png differ diff --git a/objects/mission/bossdoor/bossdoor.object.patch b/objects/mission/bossdoor/bossdoor.object.patch new file mode 100644 index 00000000..26ce1f78 --- /dev/null +++ b/objects/mission/bossdoor/bossdoor.object.patch @@ -0,0 +1,5 @@ +[ +[{"op":"test","path":"/printable","value":false},{"op":"replace","path":"/printable","value":true}], +[{"op":"test","path":"/rarity","value":"Common"},{"op":"replace","path":"/rarity","value":"Rare"}], +[{"op":"test","path":"/shortdescription","value":"Force Field"},{"op":"replace","path":"/description","value":"One-way Door"}] +] \ No newline at end of file diff --git a/objects/wired/keypad/keypad.object.patch b/objects/wired/keypad/keypad.object.patch index 7a219b21..f93c3a5a 100644 --- a/objects/wired/keypad/keypad.object.patch +++ b/objects/wired/keypad/keypad.object.patch @@ -1 +1,4 @@ -[[{"op":"test","path":"/price","inverse":true},{"op":"add","path":"/price","value":30}]] \ No newline at end of file +[ +[{"op":"test","path":"/price","inverse":true},{"op":"add","path":"/price","value":30}], +[{"op":"test","path":"/category","inverse":true},{"op":"add","path":"/category","value":"wire"}] +] \ No newline at end of file diff --git a/objects/wired/sb_forcepad/forcepad.animation b/objects/wired/sb_forcepad/forcepad.animation index 27514feb..e145594a 100644 --- a/objects/wired/sb_forcepad/forcepad.animation +++ b/objects/wired/sb_forcepad/forcepad.animation @@ -56,7 +56,7 @@ "finalVelocity": [0, 0], "destructionTime": 0, "approach": [0, 10], - "timeToLive": 0.5, + "timeToLive": 0.25, "length": 2, "variance": { "initialVelocity": [3, 1] @@ -80,7 +80,7 @@ "finalVelocity": [0, 0], "destructionTime": 0, "approach": [0, 10], - "timeToLive": 0.5, + "timeToLive": 0.25, "length": 2, "variance": { "initialVelocity": [3, 1] @@ -104,7 +104,7 @@ "finalVelocity": [0, 0], "destructionTime": 0, "approach": [0, -10], - "timeToLive": 0.5, + "timeToLive": 0.25, "length": 2, "variance": { "initialVelocity": [1, -3] @@ -128,7 +128,7 @@ "finalVelocity": [0, 0], "destructionTime": 0, "approach": [0, 10], - "timeToLive": 0.5, + "timeToLive": 0.25, "length": 2, "variance": { "initialVelocity": [1, 3] diff --git a/plants/trees/forest/foliage/greenleaves/greenleaves.modularfoliage.patch b/plants/trees/forest/foliage/greenleaves/greenleaves.modularfoliage.patch new file mode 100644 index 00000000..36340bde --- /dev/null +++ b/plants/trees/forest/foliage/greenleaves/greenleaves.modularfoliage.patch @@ -0,0 +1 @@ +[[{"op":"test","path":"/dropConfig","inverse":true},{"op":"add","path":"/dropConfig","value":{"drops":[[]]}}],[{"op":"add","path":"/dropConfig/drops/0/-","value":{"item":"sb_fruitTreeHarvest","count":1}}],[{"op":"add","path":"/dropConfig/drops/0/-","value":{"item":"sb_fruitTreeHarvest","count":2}}]] \ No newline at end of file diff --git a/player.config.patch b/player.config.patch index e3af1202..7b98159b 100644 --- a/player.config.patch +++ b/player.config.patch @@ -1,5 +1,4 @@ [ - //stats [{"op":"test","path":"/statusControllerSettings/stats/foodDelta/baseValue","value":-0.0583},{"op":"replace","path":"/statusControllerSettings/stats/foodDelta/baseValue","value":-0.0425}], //-51 food over 20 minutes [{"op":"test","path":"/statusControllerSettings/resources/food/maxValue","value":70},{"op":"replace","path":"/statusControllerSettings/resources/food/maxValue","value":100}], @@ -384,7 +383,6 @@ //end [{"op":"add","path":"/genericScriptContexts/sb_main","value":"/scripts/player/sb_main.lua"}], -[{"op":"add","path":"/deploymentConfig/scripts/-","value":"/xrc/deployment/unlock/0018.lua"}], [{"op":"add","path":"/deploymentConfig/scripts/-","value":"/xrc/deployment/versioning/tech.lua"}], [{"op":"add","path":"/deploymentConfig/scripts/-","value":"/xrc/deployment/versioning/0018z.lua"}], [{"op":"add","path":"/genericScriptContexts/sb_blueprints","value":"/scripts/player/sb_blueprints.lua"}], diff --git a/scripts/actions/monsters/sb_farmable.lua b/scripts/actions/monsters/sb_farmable.lua index 89642ce8..d357bc5d 100644 --- a/scripts/actions/monsters/sb_farmable.lua +++ b/scripts/actions/monsters/sb_farmable.lua @@ -4,7 +4,10 @@ function init() ini() message.setHandler("sb_feedFluffalo",function(_,_,feed) local spawnPosition = vec2.add(mcontroller.position(), vec2.mul({0,0}, {mcontroller.facingDirection(), 1})) local s = feed.."fluffalo"..(config.getParameter("behavior","") == "farmablebaby" and "baby" or "") - if s == monster.type() then s = feed.."fluffalo" spawnPosition[2] = spawnPosition[2]+1 end + if s == monster.type() then + s = feed.."fluffalo" + spawnPosition[2] = spawnPosition[2]+1 + end world.spawnMonster(s, spawnPosition, {level = monster.level() or 1, aggressive = false, evolveTime = config.getParameter("evolveTime",-1)}) --monster.seed monster.uniqueParameters monster.setDropPool(nil) monster.setDeathParticleBurst(nil) diff --git a/scripts/augments/sb_flashfreeze.lua b/scripts/augments/sb_flashfreeze.lua index 188357cb..e2277aec 100644 --- a/scripts/augments/sb_flashfreeze.lua +++ b/scripts/augments/sb_flashfreeze.lua @@ -33,7 +33,7 @@ function apply(input) if item.foodValue then local foodValue = config.getParameter("foodValueReduction") - foodValue = item.foodValue * foodValue + foodValue = math.floor(item.foodValue * foodValue) output:setInstanceValue("foodValue", foodValue) local fields = output:instanceValue("tooltipFields",{}) diff --git a/scripts/augments/sb_module.lua b/scripts/augments/sb_module.lua index 03f9cf76..c5e41c72 100644 --- a/scripts/augments/sb_module.lua +++ b/scripts/augments/sb_module.lua @@ -1,8 +1,23 @@ require "/scripts/augments/item.lua" require "/scripts/sb_assetmissing.lua" - +sb_conditions={} +sb_conditions["not"] = function(data) + return output:instanceValue(data[2], data[3]) == data[3] +end function apply(input) - local output = Item.new(input) + output = Item.new(input) + + local current = config.getParameter("sb_moduleConditions") + if current then + for i = 1, #current do + if sb_conditions[current[i][1]](current[i]) then + sb.logInfo("Stopping") + return + end + end + end + sb.logInfo("Going") + if output.name == config.getParameter("sb_moduleDont",{}) then return output:descriptor(), 0 end if output and config.getParameter("sb_module") then local p = config.getParameter("sb_module") for i, v in pairs(p) do output:setInstanceValue(i,v) end end if config.getParameter("sb_moduleFind") then if not string.find(output.name,config.getParameter("sb_moduleFind")) then return output:descriptor(), 0 end end @@ -13,7 +28,14 @@ function apply(input) if config.getParameter("sb_moduleItemStack") then output.count=output.count+config.getParameter("price",0)+1 end if config.getParameter("sb_modulePreserveIcon") then output:setInstanceValue("inventoryIcon",output.config.codexIcon or sb_assetmissing(sb_pathToImage(output.config.inventoryIcon,root.itemConfig(output.name).directory))) end if config.getParameter("sb_level") then output:setInstanceValue("level",output:instanceValue("level",0)+config.getParameter("price",0)) end - if config.getParameter("sb_moduleItemAppend") then output.name = sb_itemExists(output.name..config.getParameter("sb_moduleItemAppend")) and output.name..config.getParameter("sb_moduleItemAppend") or output.name end + if config.getParameter("sb_moduleAppend") then + local a = config.getParameter("sb_moduleAppend") + for k, v in pairs(a) do + if output:instanceValue(k) then + output:setInstanceValue(k, output:instanceValue(k)..v) + end + end + end if config.getParameter("sb_moduleLog") then sb.logInfo(sb.printJson(output,1)) end if config.getParameter("sb_moduleItem") then output.name=config.getParameter("sb_moduleItem") output:setInstanceValue("itemName",config.getParameter("sb_moduleItem")) end if config.getParameter("sb_moduleNoParams") then local c = config.getParameter("sb_moduleForceCount",output.count) output = Item.new(root.createItem(output.name)) output.count = c output:setInstanceValue("itemName",config.getParameter("sb_moduleItem")) end diff --git a/stats/effects/maxenergyboost/sb_maxenergyboost15.statuseffect b/stats/effects/maxenergyboost/sb_maxenergyboost15.statuseffect new file mode 100644 index 00000000..226d637c --- /dev/null +++ b/stats/effects/maxenergyboost/sb_maxenergyboost15.statuseffect @@ -0,0 +1,8 @@ +{ + "name" : "sb_maxenergyboost15", + "effectConfig" : {"energyAmount":15}, + "defaultDuration" : 60, + "scripts" : ["maxenergyboost.lua"], + "label" : "Bonus Energy", + "icon" : "/interface/statuses/maxenergy.png" +} \ No newline at end of file diff --git a/stats/effects/maxenergyboost/sb_maxenergyboost20.statuseffect b/stats/effects/maxenergyboost/sb_maxenergyboost20.statuseffect new file mode 100644 index 00000000..5a981dc7 --- /dev/null +++ b/stats/effects/maxenergyboost/sb_maxenergyboost20.statuseffect @@ -0,0 +1,8 @@ +{ + "name" : "sb_maxenergyboost20", + "effectConfig" : {"energyAmount":20}, + "defaultDuration" : 60, + "scripts" : ["maxenergyboost.lua"], + "label" : "Bonus Energy", + "icon" : "/interface/statuses/maxenergy.png" +} \ No newline at end of file diff --git a/stats/effects/maxenergyboost/sb_maxenergyboost40.statuseffect b/stats/effects/maxenergyboost/sb_maxenergyboost40.statuseffect new file mode 100644 index 00000000..8b9f46b5 --- /dev/null +++ b/stats/effects/maxenergyboost/sb_maxenergyboost40.statuseffect @@ -0,0 +1,8 @@ +{ + "name" : "sb_maxenergyboost40", + "effectConfig" : {"energyAmount":40}, + "defaultDuration" : 60, + "scripts" : ["maxenergyboost.lua"], + "label" : "Bonus Energy", + "icon" : "/interface/statuses/maxenergy.png" +} \ No newline at end of file diff --git a/tech/starbound/bounce/bounce.tech b/tech/starbound/bounce/bounce.tech index c0b4e5ad..b79b10d6 100644 --- a/tech/starbound/bounce/bounce.tech +++ b/tech/starbound/bounce/bounce.tech @@ -1,19 +1,19 @@ { - "name" : "sb_bounce", - "type" : "head", + "name": "sb_bounce", + "type": "head", - "rarity" : "Legendary", - "icon" : "/tech/starbound/bounce.png", - "description" : "Generates a kinetic reversal field that reflects the ground. ^#0f0;[F]", - "sb_briefDescription" : "Generates a kinetic reversal field. ^#0f0;[F]", - "shortDescription" : "Bouncy", - "chipCost" : 3, + "rarity": "Legendary", + "icon": "/tech/starbound/bounce.png", + "description": "Generates a kinetic reversal field that reflects the ground. ^#0f0;[F]", + "sb_briefDescription": "Generates a kinetic reversal field. ^#0f0;[F]", + "shortDescription": "Bouncy", + "chipCost": 3, - "scripts" : ["bounce.lua"], - "scriptDelta" : 1, - "animator" : "bounce.animation", + "scripts": ["bounce.lua"], + "scriptDelta": 1, + "animator": "bounce.animation", - "energyUsageRate" : 8, - "bounceCollisionPoly" : [[-1.25, 2.5], [1.25, 2.5], [2.5, 1.25], [2.5, -1.25], [1.25, -2.5], [-1.25, -2.5], [-2.5, -1.25], [-2.5, 1.25]], - "bounceFactor" : 0.9 -} \ No newline at end of file + "energyUsageRate": 16, + "bounceCollisionPoly": [[-1.25, 2.5], [1.25, 2.5], [2.5, 1.25], [2.5, -1.25], [1.25, -2.5], [-1.25, -2.5], [-2.5, -1.25], [-2.5, 1.25]], + "bounceFactor": 0.9 +} diff --git a/tech/starbound/dash/dash.tech b/tech/starbound/dash/dash.tech index d13e90cf..a12d343f 100644 --- a/tech/starbound/dash/dash.tech +++ b/tech/starbound/dash/dash.tech @@ -1,23 +1,23 @@ { - "name" : "sb_dash", - "type" : "body", + "name": "sb_dash", + "type": "body", - "rarity" : "Legendary", - "icon" : "/tech/starbound/dash.png", - "description" : "A dash which uses energy and has no cooldown! ^green;[A]^reset;/^green;[D]^reset;", - "sb_longDescription" : "You can dash while crouching.", - "shortDescription" : "Energy Dash", - "chipCost" : 10, + "rarity": "Legendary", + "icon": "/tech/starbound/dash.png", + "description": "A dash which uses energy and has no cooldown! ^green;[A]^reset;/^green;[D]^reset;", + "sb_longDescription": "You can dash while crouching.", + "shortDescription": "Energy Dash", + "chipCost": 10, - "scripts" : ["dash.lua"], - "animator" : "dash.animation", + "scripts": ["dash.lua"], + "animator": "dash.animation", - "maximumDoubleTapTime" : 0.2, - "dashControlForce" : 2000,//600, - "dashSpeed" : 40, - "dashDuration" : 0.3, - "energyUsage" : 35, - "stopAfterDash" : false, - "groundOnly" : false, - "canCrouchDash" : true -} \ No newline at end of file + "maximumDoubleTapTime": 0.2, + "dashControlForce": 2000, //600, + "dashSpeed": 40, + "dashDuration": 0.3, + "energyUsage": 35, + "stopAfterDash": false, + "groundOnly": false, + "canCrouchDash": true +} diff --git a/tech/starbound/jetpack/rocketboots.tech b/tech/starbound/jetpack/rocketboots.tech index e781d428..57a770f9 100644 --- a/tech/starbound/jetpack/rocketboots.tech +++ b/tech/starbound/jetpack/rocketboots.tech @@ -1,18 +1,18 @@ { - "name" : "sb_rocketboots", - "type" : "legs", + "name": "sb_rocketboots", + "type": "legs", - "rarity" : "Legendary", - "icon" : "/tech/starbound/rocketboots.png", - "description" : "Press and hold ^#0f0;[SPACE]^reset; midair to activate the rocket boots!", - "sb_briefDescription" : "Press and hold ^#0f0;[SPACE]^reset; midair to fly!", - "shortDescription" : "Rocket Boots", - "chipCost" : 6, + "rarity": "Legendary", + "icon": "/tech/starbound/rocketboots.png", + "description": "Press and hold ^#0f0;[SPACE]^reset; midair to activate the rocket boots!", + "sb_briefDescription": "Press and hold ^#0f0;[SPACE]^reset; midair to fly!", + "shortDescription": "Rocket Boots", + "chipCost": 6, - "scripts" : ["jetpack.lua"], - "animator" : "rocketboots.animation", + "scripts": ["jetpack.lua"], + "animator": "rocketboots.animation", - "jetpackSpeed" : 20, - "jetpackControlForce" : 250, - "energyUsagePerSecond" : 43 -} \ No newline at end of file + "jetpackSpeed": 20, + "jetpackControlForce": 250, + "energyUsagePerSecond": 43 +} diff --git a/treasure/sb_cropharvest.treasurepools b/treasure/sb_cropharvest.treasurepools index f4e0b1e0..5d271e10 100644 --- a/treasure/sb_cropharvest.treasurepools +++ b/treasure/sb_cropharvest.treasurepools @@ -121,6 +121,22 @@ ] } ] ], + "sb_fruitTreeHarvest" : [ + [0, { + "pool" : [ + {"weight" : 0.9, "item" : "plantfibre"}, + {"weight" : 0.1, "pool" : "sb_fruitTreeHarvestFruit"} + ] + } ] + ], + "sb_fruitTreeHarvestFruit" : [ + [0, { + "pool" : [ + {"weight" : 1, "item" : "redapple"}, + {"weight" : 1, "item" : "orange"} + ] + } ] + ], "sb_eyefoliageHarvest" : [ [0, { "pool" : [ diff --git a/items/generic/other/sb_eyefoliageHarvest.item b/treasure/sb_randomdrops/eyefoliageHarvest.item similarity index 100% rename from items/generic/other/sb_eyefoliageHarvest.item rename to treasure/sb_randomdrops/eyefoliageHarvest.item diff --git a/treasure/sb_randomdrops/fruitTreeHarvest.item b/treasure/sb_randomdrops/fruitTreeHarvest.item new file mode 100644 index 00000000..b537beee --- /dev/null +++ b/treasure/sb_randomdrops/fruitTreeHarvest.item @@ -0,0 +1,6 @@ +{ + "itemName": "sb_fruitTreeHarvest", + "rarity": "rare", + "pool": "sb_fruitTreeHarvest", + "builder": "/items/buildscripts/starbound/randomdrop.lua" +} diff --git a/treasure/sb_randomdrops/timecapsule.item b/treasure/sb_randomdrops/timecapsule.item new file mode 100644 index 00000000..b9e8ce94 --- /dev/null +++ b/treasure/sb_randomdrops/timecapsule.item @@ -0,0 +1,6 @@ +{ + "itemName": "sb_timecapsule", + "rarity": "Rare", + "sb_timecapsuleConfig": ["sb_goldcoin", [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, "holidayspirit"]], + "builder": "/items/buildscripts/starbound/buildtimecapsule.lua" +} diff --git a/treasure/sb_randomdrops/treeHarvest.item b/treasure/sb_randomdrops/treeHarvest.item new file mode 100644 index 00000000..52c3fe8d --- /dev/null +++ b/treasure/sb_randomdrops/treeHarvest.item @@ -0,0 +1,6 @@ +{ + "itemName": "sb_treeHarvest", + "rarity": "rare", + "pool": "sb_treeHarvest", + "builder": "/items/buildscripts/starbound/randomdrop.lua" +} diff --git a/xrc/deployment/unlock/0018.lua b/xrc/deployment/unlock/0018.lua deleted file mode 100644 index 7a0e699d..00000000 --- a/xrc/deployment/unlock/0018.lua +++ /dev/null @@ -1,13 +0,0 @@ -local ini = init or function() end -function init() ini() -if not status.statusProperty("xrc_0018") then status.setStatusProperty("xrc_0018",0) end -local cv, pv = 4, status.statusProperty("xrc_0018") - if player.introComplete() and cv > pv then - if pv == 0 then player.giveItem("sb_inspect") player.giveItem("sb_survivalguide-codex") elseif - pv == 1 and player.hasActiveQuest("sb_avianrefugeeE2.gearup") then player.giveBlueprint("paperwingsback") player.giveItem("voxel5k") elseif - pv == 2 and #player.shipUpgrades().capabilities > 0 then require("/scripts/sb_assetmissing.lua") local i = "sb_"..(player.species()=="novakid" and "nova" or player.species()).."starter" if sb_itemExists(i) then player.giveItem(i) end elseif - pv == 3 and #player.shipUpgrades().capabilities > 0 then require("/scripts/sb_assetmissing.lua") local i = "sb_"..player.species().."tier0shortsword" if sb_itemExists(i) then player.giveItem(i) end - end - status.setStatusProperty("xrc_0018",cv) - end -end \ No newline at end of file diff --git a/xrc/deployment/versioning/0018z.lua b/xrc/deployment/versioning/0018z.lua index 399c3791..3a4c6f24 100644 --- a/xrc/deployment/versioning/0018z.lua +++ b/xrc/deployment/versioning/0018z.lua @@ -1,11 +1,13 @@ local ini = init or function() end function init() ini() local currentVersion = 27 - if status.statusProperty("xrc_0018z") == nil then status.setStatusProperty("xrc_0018z",0) end - local yv = status.statusProperty("xrc_0018z") - if yv < currentVersion then - require("/xrc/deployment/versioning/0018z_2.lua") - xrc0018z_2(currentVersion,yv) - status.setStatusProperty("xrc_0018z",currentVersion) + if player.introComplete() then + if status.statusProperty("xrc_0018z") == nil then status.setStatusProperty("xrc_0018z",0) end + local yv = status.statusProperty("xrc_0018z") + if yv < currentVersion then + require("/xrc/deployment/versioning/0018z_2.lua") + status.setStatusProperty("xrc_0018z",currentVersion) + xrc0018z_2(currentVersion,yv) + end end end \ No newline at end of file diff --git a/xrc/deployment/versioning/0018z_2.lua b/xrc/deployment/versioning/0018z_2.lua index eb6731ee..eebdc7fa 100644 --- a/xrc/deployment/versioning/0018z_2.lua +++ b/xrc/deployment/versioning/0018z_2.lua @@ -11,7 +11,8 @@ local function updateNote(a) i.parameters.shortdescription = a[1].." "..b.updateNote player.giveItem(i) end -xrc0018[1]=function() end + +xrc0018[1]=function() local b = root.assetJson("/betabound.config:defaultItems") for i = 1, #b do player.giveItem(b[i]) end end xrc0018[2]=function() end xrc0018[3]=function() end xrc0018[4]=function() quest("sb_kelpquest.gearup","refinery") end @@ -172,6 +173,25 @@ xrc0018[26]=function() end end end -xrc0018[27]=function() quest("sb_outpostSkin.gearup","techconsole") end -function xrc0018z_2(cv,yv) for i = yv, cv-1 do xrc0018[i+1]() end end \ No newline at end of file +--The tech binding stations no longer allow players to equip techs. Give them a techconsole so they have one +--Give players an ammo guide if they missed it (returning player) +--We use to have two scripts like this. One was shitty, so I'm ditching it completely now. If there are returning players from when that script was still used, run its code before deleting the version tracker +xrc0018[27]=function() + quest("sb_outpostSkin.gearup","techconsole") + if not newPlayer then player.giveItem("sb_gunguide-codex") end + local a = status.statusProperty("xrc_0018") + if a then + if pv == 0 then player.giveItem("sb_inspect") player.giveItem("sb_survivalguide-codex") elseif + pv == 1 and player.hasActiveQuest("sb_avianrefugeeE2.gearup") then player.giveBlueprint("paperwingsback") player.giveItem("voxel5k") elseif + pv == 2 and #player.shipUpgrades().capabilities > 0 then require("/scripts/sb_assetmissing.lua") local i = "sb_"..(player.species()=="novakid" and "nova" or player.species()).."starter" if sb_itemExists(i) then player.giveItem(i) end elseif + pv == 3 and #player.shipUpgrades().capabilities > 0 then require("/scripts/sb_assetmissing.lua") local i = "sb_"..player.species().."tier0shortsword" if sb_itemExists(i) then player.giveItem(i) end + end + status.setStatusProperty("xrc_0018",nil) + end +end + +function xrc0018z_2(cv,yv) + newPlayer = yv == 0 + for i = yv, cv-1 do xrc0018[i+1]() end +end \ No newline at end of file