From 0b276488ff7c200f26a417b9cb2975f9a522a427 Mon Sep 17 00:00:00 2001 From: SilverSokolova Date: Fri, 20 Oct 2023 02:35:30 -0500 Subject: [PATCH] continue food fixes + misc --- IFD_statuseffects.config.patch | 3 + betabound.config | 5 +- betabound.macros | 1 + biomes/surface/forest.biome.patch | 75 ++++++++++++++---- codex/sb_gun.png | Bin 0 -> 238 bytes codex/sb_gunguide.codex | 19 +++++ effects/eating.effectsource.patch | 23 ++++++ .../itemdescriptions/sb_gun4.itemdescription | 7 ++ interface/tooltips/sb_gun4.tooltip | 2 +- .../active/starbound/feed/electric.activeitem | 25 +++--- items/active/starbound/feed/electric.png | Bin 190 -> 204 bytes items/active/starbound/feed/feed.activeitem | 23 +++--- items/active/starbound/feed/feed.animation | 1 + items/active/starbound/feed/feed.lua | 25 ++++-- items/active/starbound/feed/feed.png | Bin 180 -> 198 bytes items/active/starbound/feed/fire.activeitem | 25 +++--- items/active/starbound/feed/fire.png | Bin 187 -> 202 bytes items/active/starbound/feed/ice.activeitem | 25 +++--- items/active/starbound/feed/ice.png | Bin 163 -> 180 bytes items/active/starbound/feed/poison.activeitem | 25 +++--- items/active/starbound/feed/poison.png | Bin 184 -> 196 bytes items/buildscripts/starbound/randomdrop.lua | 2 +- .../food/sb_drinks/orangejuice.consumable | 42 +++++----- .../food/sb_sides/roastbanana.consumable | 6 +- .../food/tier1/bakedpotato.consumable.patch | 3 +- .../food/tier1/boiledrice.consumable.patch | 1 + .../food/tier1/popcorn.consumable.patch | 1 + items/generic/other/sb_ammo.item | 4 +- items/generic/other/sb_timecapsule.item | 6 -- items/generic/other/sb_treeHarvest.item | 6 -- .../produce/alienfruit.consumable.patch | 2 +- .../generic/produce/automato.consumable.patch | 6 +- .../produce/avesmingo.consumable.patch | 3 +- items/generic/produce/banana.consumable.patch | 4 +- .../generic/produce/beakseed.consumable.patch | 2 +- .../generic/produce/boltbulb.consumable.patch | 7 +- .../generic/produce/boneboo.consumable.patch | 2 +- items/generic/produce/chili.consumable.patch | 2 +- .../produce/coffeebeans.consumable.patch | 4 +- items/generic/produce/corn.consumable.patch | 5 +- items/generic/produce/crystalplant.item.patch | 6 +- .../produce/currentcorn.consumable.patch | 6 +- items/generic/produce/diodia.consumable.patch | 3 +- .../produce/dirturchin.consumable.patch | 5 +- .../produce/feathercrown.consumable.patch | 4 +- items/generic/produce/grapes.consumable.patch | 2 +- items/generic/produce/kiwi.consumable.patch | 2 +- .../produce/neonmelon.consumable.patch | 3 +- .../generic/produce/oculemon.consumable.patch | 2 +- items/generic/produce/orange.consumable.patch | 9 ++- items/generic/produce/orange.png | Bin 0 -> 180 bytes .../generic/produce/pearlpea.consumable.patch | 2 +- .../produce/pineapple.consumable.patch | 2 +- items/generic/produce/potato.consumable.patch | 2 +- .../generic/produce/pussplum.consumable.patch | 3 +- .../generic/produce/reefpod.consumable.patch | 4 +- items/generic/produce/rice.item.patch | 5 +- .../generic/produce/toxictop.consumable.patch | 2 +- npcs/crew/sb_crewmemberchemistgrey.npctype | 53 +++++++------ npcs/merchantpools.config.patch | 2 +- .../cultistairlockbossdoor.object.patch | 1 + .../sb_poisoncreep/poisoncreepseedicon.png | Bin 175 -> 172 bytes .../mission/bossdoor/bossdoor.object.patch | 5 ++ objects/wired/keypad/keypad.object.patch | 5 +- objects/wired/sb_forcepad/forcepad.animation | 8 +- .../greenleaves.modularfoliage.patch | 1 + player.config.patch | 2 - scripts/actions/monsters/sb_farmable.lua | 5 +- scripts/augments/sb_flashfreeze.lua | 2 +- scripts/augments/sb_module.lua | 28 ++++++- .../sb_maxenergyboost15.statuseffect | 8 ++ .../sb_maxenergyboost20.statuseffect | 8 ++ .../sb_maxenergyboost40.statuseffect | 8 ++ tech/starbound/bounce/bounce.tech | 30 +++---- tech/starbound/dash/dash.tech | 38 ++++----- tech/starbound/jetpack/rocketboots.tech | 28 +++---- treasure/sb_cropharvest.treasurepools | 16 ++++ .../sb_randomdrops/eyefoliageHarvest.item | 0 treasure/sb_randomdrops/fruitTreeHarvest.item | 6 ++ treasure/sb_randomdrops/timecapsule.item | 6 ++ treasure/sb_randomdrops/treeHarvest.item | 6 ++ xrc/deployment/unlock/0018.lua | 13 --- xrc/deployment/versioning/0018z.lua | 14 ++-- xrc/deployment/versioning/0018z_2.lua | 26 +++++- 84 files changed, 504 insertions(+), 269 deletions(-) create mode 100644 codex/sb_gun.png create mode 100644 codex/sb_gunguide.codex create mode 100644 effects/eating.effectsource.patch create mode 100644 items/active/starbound/feed/feed.animation delete mode 100644 items/generic/other/sb_timecapsule.item delete mode 100644 items/generic/other/sb_treeHarvest.item create mode 100644 items/generic/produce/orange.png create mode 100644 objects/mission/bossdoor/bossdoor.object.patch create mode 100644 plants/trees/forest/foliage/greenleaves/greenleaves.modularfoliage.patch create mode 100644 stats/effects/maxenergyboost/sb_maxenergyboost15.statuseffect create mode 100644 stats/effects/maxenergyboost/sb_maxenergyboost20.statuseffect create mode 100644 stats/effects/maxenergyboost/sb_maxenergyboost40.statuseffect rename items/generic/other/sb_eyefoliageHarvest.item => treasure/sb_randomdrops/eyefoliageHarvest.item (100%) create mode 100644 treasure/sb_randomdrops/fruitTreeHarvest.item create mode 100644 treasure/sb_randomdrops/timecapsule.item create mode 100644 treasure/sb_randomdrops/treeHarvest.item delete mode 100644 xrc/deployment/unlock/0018.lua 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 0000000000000000000000000000000000000000..1ea1c9119eff53f51e74f34c2c1724ec8ce8efc6 GIT binary patch literal 238 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbL!aez;VDK!&0_tHb3GxeOaCmkj z4amv#ba4!kkYqi;$aTnphvmS{>=x$#{{va0GJIJW9GDn11edh>Oiw6m2upKyI#y-m z8aMCg7B|lAKQH>|+|k`7*tPA|%elp;RV_Q%&Zuy{xq4mtep9EhbHJvxkEa!X2#mSp h_@jq~fsKKoo+(`WbNTnT{6I??JYD@<);T3K0RTU{QU(A3 literal 0 HcmV?d00001 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 2f264389b4b2039a9f3352ddc5f4306170828800..b5e6e9ac39a57ecffd2bfaa01cb2ae57362bfd4e 100644 GIT binary patch delta 153 zcmV;K0A~Nb0n7oABnTc*OjJby005CG8-Hg+GPD2y00DGTPE!Ct=GbNc003M`L_t(| z+I5Tp3WNX<0?%^I{{P{V5~3mjVFvW~72v_kf;+G4Wq>dl(;WhwNwGqs*|wA_EQ(AS z=izQzO6|unr0`6PbO;a64^B6hnONbzT8YaEqJrhB;yZs1GXhB{)koF<0000-B!3%FOjJbx004GN9^sf=|I3S|c|sp~A4Mk%P`)?}Kn|S@=I^1`t+S#M($rO=x;qMgCR^Evo?mwmzUjBW9MF{kzpB3r%m4rY07*qoLXu6O2gv pB5hh{on(FF*yNKEQW;(tmwbqK0W&jm3q1e;002ovPDHLkV1i&7GiLw* 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 7ff0913d3d38af8d3b66558139cf3feb8ccaf233..820216edd326e3bdb02ebfd1298e4a2e4f4da617 100644 GIT binary patch delta 152 zcmV;J0B8TB0ki>-B!7EJL_t(|0kw|-2E^ARp`dOXG86E?~eqTBDKQ9&Fcbq}qU7lM30LKhMD7)mj`iEIT5a3&lC3m00005Nm48|b!B2|zg36HY$mPQ~$vMIb& vVoBKu=L4mV*^Q6LJ7*YyEb}j8NZ)my2%Bp?fmSt>= hngh=)OX2;k3XFHiXYKYdlB!5IOLUIPvn z;cI{Xdl&;bZW2w`e;SFVdQ&MBb@0K7myk^lez literal 0 HcmV?d00001 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 900ccccebad28268d2f2ca0799b7bd3c32a1e4c6..7b1ffe4b6798b890434f45830bf8f5a26bd9b831 100644 GIT binary patch delta 144 zcmV;B0B`@V0jvR#B!6>BL_t(|0b@V||4}d*;J;BFc*+z z2v{-HAebR!dIez!+yHV7A=d!PqxJuCR_6Z?lodfV7=y$})eOe}i`+n%Btu{tkzE1i ygXD;H0ZbFjC1kk(rV+*_HyjYQQx=W1003DLiw(`~K2QJv00{s|MNUMnLSTYQus65> delta 147 zcmV;E0BrxP0j~j&B!6~EL_t(|0b@V||4}d*;J;B02#rK3e=jGdkg>o002ovPDHLkV1nq^ BI?Mn7 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