FILES ----- versioning.config items\throwables\capturepod.thrownitem items\throwables\filledcapturepod.thrownitem leveling\levelingmultipliers.functions monsters\monster.lua objects\biome\icesphere\icespherechest\icespherechest.object objects\biome\jungle\beanstalk\beanstalk.object objects\biome\jungle\junglebush1\junglebush1.object objects\biome\jungle\junglebush10\junglebush10.object objects\biome\jungle\junglebush11\junglebush11.object objects\biome\jungle\junglebush12\junglebush12.object objects\biome\jungle\junglebush13\junglebush13.object objects\biome\jungle\junglebush14\junglebush14.object objects\biome\jungle\junglebush15\junglebush15.object objects\biome\jungle\junglebush16\junglebush16.object objects\biome\jungle\junglebush17\junglebush17.object objects\biome\jungle\junglebush18\junglebush18.object objects\biome\jungle\junglebush2\junglebush2.object objects\biome\jungle\junglebush3\junglebush3.object objects\biome\jungle\junglebush4\junglebush4.object objects\biome\jungle\junglebush5\junglebush5.object objects\biome\jungle\junglebush6\junglebush6.object objects\biome\jungle\junglebush7\junglebush7.object objects\biome\jungle\junglebush8\junglebush8.object objects\biome\jungle\junglebush9\junglebush9.object objects\biome\jungle\junglechest\junglechest.object objects\biome\mushroom\shroombed\shroombed.object objects\biome\mushroom\shroomchair\shroomchair.object objects\biome\mushroom\shroomchest\shroomchest.object objects\biome\mushroom\shroomdoor\shroomdoor.object objects\biome\mushroom\shroomlamp\shroomlamp.object objects\biome\mushroom\shroomtable\shroomtable.object objects\biome\mushroom\shroomwardrobe\shroomwardrobe.object projectiles\guns\unsorted\flamethrower\flamethrower.projectile [NEW] projectiles\throwable\capturepod\capturepod.lua projectiles\throwable\capturepod\capturepod.projectile scripts\util.lua scripts\actions\entities.lua scripts\actions\quests.lua scripts\quest\manager.lua scripts\quest\participant.lua [NEW] scripts\quest\serialize.lua stagehands\questmanager.lua treasure\dungeon.treasurepools [NEW] versioning\playerentity_11_12.lua DIFFS ----- versioning.config 8c8 < "PlayerEntity" : 11, --- > "PlayerEntity" : 12, 17c17,20 < "Item" : 7 --- > "Item" : 7, > "Quest" : 1, > "QuestArcDescriptor" : 1, > "QuestDescriptor" : 1 items\throwables\capturepod.thrownitem 6,7c6,7 < "shortdescription" : "Capture Pod", < "description" : "Throw it at a small grounded monster below 50% health. Maybe you'll get lucky.", --- > "shortdescription" : "Critter Capture Pod", > "description" : "Throw it at a critter to gently entrap it and bring it to a new home.", 21d20 < items\throwables\filledcapturepod.thrownitem 7c7 < "description" : "Throw it... Who knows what'll happen?", --- > "description" : "Throw it down to release the critter captured inside!", leveling\levelingmultipliers.functions 62c62 < // this is goddamn ridiculous, but it translates to a stat value modifier --- > // this name is slightly ridiculous, but it results in a StatValueModifier 95a96 > // Caveat: there's another healthMultiplier in the monsterVariant by which this multiplier is multiplied 110,111c111,112 < // Yes, there *is* another touchDamageMultiplier by which this multiplier is multiplied < "monsterLevelTouchDamageMultiplierMultiplier" : [ "linear", "clamp", --- > // Caveat: there's another touchDamageMultiplier in the monsterVariant by which this multiplier is multiplied > "monsterLevelTouchDamageMultiplier" : [ "linear", "clamp", monsters\monster.lua 42c42,48 < --Listen to damage taken --- > -- Listen to capture pods > message.setHandler("capture", function() > status.setResource("health", 0) > spawnCapturePod() > end) > > -- Listen to damage taken 164a171,187 > end > > function spawnCapturePod() > world.spawnItem("filledcapturepod", mcontroller.position(), 1, { > projectileConfig = { > speed = 40, > level = 1, > actionOnReap = { > { > action = "spawnmonster", > offset = {0, 0}, > type = entity.type(); > arguments = { persistent = true, seed = entity.seed() } > } > } > } > }) objects\biome\icesphere\icespherechest\icespherechest.object 20a21 > "novakidDescription" : "This icy chest has been keepin' my loot nice and fresh.", objects\biome\jungle\beanstalk\beanstalk.object 14c14 < "floranDescription" : "Beastalk grow big, Floran reach sssssky.", --- > "floranDescription" : "Beanstalk grow big, Floran reach sssssky.", 18c18 < "novakidDescription" : "A beanstalk, it grows up to the sky.", --- > "novakidDescription" : "A beanstalk, it grows right up to the sky.", objects\biome\jungle\junglebush1\junglebush1.object 14c14 < "floranDescription" : "A colourful bush.", --- > "floranDescription" : "Pretty busssh.", 17a18 > "novakidDescription" : "This bush sure is colourful.", objects\biome\jungle\junglebush10\junglebush10.object 14c14 < "floranDescription" : "A colourful bush.", --- > "floranDescription" : "Pretty busssh.", 17a18 > "novakidDescription" : "This bush sure is colourful.", objects\biome\jungle\junglebush11\junglebush11.object 14c14 < "floranDescription" : "A colourful bush.", --- > "floranDescription" : "Pretty busssh.", 17a18 > "novakidDescription" : "This bush sure is colourful.", objects\biome\jungle\junglebush12\junglebush12.object 14c14 < "floranDescription" : "A colourful bush.", --- > "floranDescription" : "Pretty busssh.", 17a18 > "novakidDescription" : "This bush sure is colourful.", objects\biome\jungle\junglebush13\junglebush13.object 8,9c8,9 < "description" : "A colourful bush.", < "shortdescription" : "Colourful Bush", --- > "description" : "A leafy plant.", > "shortdescription" : "Leafy Plant", 12,17c12,18 < "apexDescription" : "A colourful bush.", < "avianDescription" : "A colourful bush.", < "floranDescription" : "A colourful bush.", < "glitchDescription" : "Statement. A colourful bush.", < "humanDescription" : "A colourful bush.", < "hylotlDescription" : "A colourful bush.", --- > "apexDescription" : "A leafy plant.", > "avianDescription" : "A leafy plant.", > "floranDescription" : "Leafy plantsss.", > "glitchDescription" : "Observant. A leafy plant.", > "humanDescription" : "A leafy plant.", > "hylotlDescription" : "This plant has lovely leaves.", > "novakidDescription" : "It's a plant with big leaves.", objects\biome\jungle\junglebush14\junglebush14.object 8,9c8,9 < "description" : "A colourful bush.", < "shortdescription" : "Colourful Bush", --- > "description" : "A leafy plant.", > "shortdescription" : "Leafy Plant", 12,17c12,18 < "apexDescription" : "A colourful bush.", < "avianDescription" : "A colourful bush.", < "floranDescription" : "A colourful bush.", < "glitchDescription" : "Statement. A colourful bush.", < "humanDescription" : "A colourful bush.", < "hylotlDescription" : "A colourful bush.", --- > "apexDescription" : "A leafy plant.", > "avianDescription" : "A leafy plant.", > "floranDescription" : "Leafy plantsss.", > "glitchDescription" : "Observant. A leafy plant.", > "humanDescription" : "A leafy plant.", > "hylotlDescription" : "This plant has lovely leaves.", > "novakidDescription" : "It's a plant with big leaves.", objects\biome\jungle\junglebush15\junglebush15.object 8,9c8,9 < "description" : "A colourful bush.", < "shortdescription" : "Colourful Bush", --- > "description" : "A leafy plant.", > "shortdescription" : "Leafy Plant", 12,17c12,18 < "apexDescription" : "A colourful bush.", < "avianDescription" : "A colourful bush.", < "floranDescription" : "A colourful bush.", < "glitchDescription" : "Statement. A colourful bush.", < "humanDescription" : "A colourful bush.", < "hylotlDescription" : "A colourful bush.", --- > "apexDescription" : "A leafy plant.", > "avianDescription" : "A leafy plant.", > "floranDescription" : "Leafy plantsss.", > "glitchDescription" : "Observant. A leafy plant.", > "humanDescription" : "A leafy plant.", > "hylotlDescription" : "This plant has lovely leaves.", > "novakidDescription" : "It's a plant with big leaves.", objects\biome\jungle\junglebush16\junglebush16.object 8,9c8,9 < "description" : "A colourful bush.", < "shortdescription" : "Colourful Bush", --- > "description" : "A leafy plant.", > "shortdescription" : "Leafy Plant", 12,17c12,18 < "apexDescription" : "A colourful bush.", < "avianDescription" : "A colourful bush.", < "floranDescription" : "A colourful bush.", < "glitchDescription" : "Statement. A colourful bush.", < "humanDescription" : "A colourful bush.", < "hylotlDescription" : "A colourful bush.", --- > "apexDescription" : "A leafy plant.", > "avianDescription" : "A leafy plant.", > "floranDescription" : "Leafy plantsss.", > "glitchDescription" : "Observant. A leafy plant.", > "humanDescription" : "A leafy plant.", > "hylotlDescription" : "This plant has lovely leaves.", > "novakidDescription" : "It's a plant with big leaves.", objects\biome\jungle\junglebush17\junglebush17.object 8,9c8,9 < "description" : "A colourful bush.", < "shortdescription" : "Colourful Bush", --- > "description" : "A putrid, horrible flower.", > "shortdescription" : "Putrid Flower", 12,17c12,18 < "apexDescription" : "A colourful bush.", < "avianDescription" : "A colourful bush.", < "floranDescription" : "A colourful bush.", < "glitchDescription" : "Statement. A colourful bush.", < "humanDescription" : "A colourful bush.", < "hylotlDescription" : "A colourful bush.", --- > "apexDescription" : "Something smells horrid. Is it this flower?", > "avianDescription" : "This flower smells terrible.", > "floranDescription" : "Ssstinky flower.", > "glitchDescription" : "Observant. This flower smells horrible", > "humanDescription" : "This flower smells awful!", > "hylotlDescription" : "An altogether awful flower. It smells putrid.", > "novakidDescription" : "Whoa! That is one smelly flower.", objects\biome\jungle\junglebush18\junglebush18.object 8,9c8,9 < "description" : "A colourful bush.", < "shortdescription" : "Colourful Bush", --- > "description" : "A putrid, horrible flower.", > "shortdescription" : "Putrid Flower", 12,17c12,18 < "apexDescription" : "A colourful bush.", < "avianDescription" : "A colourful bush.", < "floranDescription" : "A colourful bush.", < "glitchDescription" : "Statement. A colourful bush.", < "humanDescription" : "A colourful bush.", < "hylotlDescription" : "A colourful bush.", --- > "apexDescription" : "Something smells horrid. Is it this flower?", > "avianDescription" : "This flower smells terrible.", > "floranDescription" : "Ssstinky flower.", > "glitchDescription" : "Observant. This flower smells horrible", > "humanDescription" : "This flower smells awful!", > "hylotlDescription" : "An altogether awful flower. It smells putrid.", > "novakidDescription" : "Whoa! That is one smelly flower.", objects\biome\jungle\junglebush2\junglebush2.object 14c14 < "floranDescription" : "A colourful bush.", --- > "floranDescription" : "Pretty busssh.", 17a18 > "novakidDescription" : "This bush sure is colourful.", objects\biome\jungle\junglebush3\junglebush3.object 14c14 < "floranDescription" : "A colourful bush.", --- > "floranDescription" : "Pretty busssh.", 17a18 > "novakidDescription" : "This bush sure is colourful.", objects\biome\jungle\junglebush4\junglebush4.object 14c14 < "floranDescription" : "A colourful bush.", --- > "floranDescription" : "Pretty busssh.", 17a18 > "novakidDescription" : "This bush sure is colourful.", objects\biome\jungle\junglebush5\junglebush5.object 14c14 < "floranDescription" : "A colourful bush.", --- > "floranDescription" : "Pretty busssh.", 17a18 > "novakidDescription" : "This bush sure is colourful.", objects\biome\jungle\junglebush6\junglebush6.object 14c14 < "floranDescription" : "A colourful bush.", --- > "floranDescription" : "Pretty busssh.", 17a18 > "novakidDescription" : "This bush sure is colourful.", objects\biome\jungle\junglebush7\junglebush7.object 14c14 < "floranDescription" : "A colourful bush.", --- > "floranDescription" : "Pretty busssh.", 17a18 > "novakidDescription" : "This bush sure is colourful.", objects\biome\jungle\junglebush8\junglebush8.object 14c14 < "floranDescription" : "A colourful bush.", --- > "floranDescription" : "Pretty busssh.", 17a18 > "novakidDescription" : "This bush sure is colourful.", objects\biome\jungle\junglebush9\junglebush9.object 14c14 < "floranDescription" : "A colourful bush.", --- > "floranDescription" : "Pretty busssh.", 17a18 > "novakidDescription" : "This bush sure is colourful.", objects\biome\jungle\junglechest\junglechest.object 20a21 > "novakidDescription" : "Looks like this chest grew right outta the ground!", objects\biome\mushroom\shroombed\shroombed.object 17a18 > "novakidDescription" : "Not sure this mushroom bed is all that stable...", objects\biome\mushroom\shroomchair\shroomchair.object 17a18 > "novakidDescription" : "This chair is real spongey.", objects\biome\mushroom\shroomchest\shroomchest.object 20a21 > "novakidDescription" : "This chest looks just like a cute little mushroom.", objects\biome\mushroom\shroomdoor\shroomdoor.object 18a19 > "novakidDescription" : "A squishy mushroom door. It's cute!.", objects\biome\mushroom\shroomlamp\shroomlamp.object 18a19 > "novakidDescription" : "It's a glowin' mushroom! It's makin' the room all cozy.", objects\biome\mushroom\shroomtable\shroomtable.object 14c14 < "floranDescription" : "Floran rock table when ssslicing meat.", --- > "floranDescription" : "Floran need better table when ssslicing meat.", 17a18 > "novakidDescription" : "It's not a real sturdy table, but it's cute!", objects\biome\mushroom\shroomwardrobe\shroomwardrobe.object 15c15 < "avianDescription" : "My clothes will smell like mushroom.", --- > "avianDescription" : "If I store things inside this wardrobe, will they smell like mushrooms?", 19a20 > "novakidDescription" : "It's a wardrobe that looks like a big ol' mushroom!", projectiles\guns\unsorted\flamethrower\flamethrower.projectile 20,22c20 < "hydrophobic" : true, < < "clientEntityMode" : "ClientSlaveOnly" --- > "hydrophobic" : true projectiles\throwable\capturepod\capturepod.projectile 9c9 < "power" : 0.1, --- > "power" : 0.0, 13,15c13 < "emitters" : [ "daggerblue" ] < } < --- > "emitters" : [ "daggerblue" ], 16a15,19 > "scripts" : [ "capturepod.lua" ], > "capturableTypes" : [ > ".*critter" > ] > } \ No newline at end of file scripts\util.lua 140,141c140,141 < function util.map(t, func) < local newTable = {} --- > function util.map(t, func, newTable) > newTable = newTable or {} 627c627 < end \ No newline at end of file --- > end scripts\actions\entities.lua 361c361 < projectileConfig.power = root.evalFunction("npcLevelPowerMultiplier", entity.level()) * (projectileConfig.power or 10) --- > projectileConfig.power = (1.0 + root.evalFunction("npcLevelPowerMultiplierModifier", entity.level())) * (projectileConfig.power or 10) scripts\actions\quests.lua 170c170 < arc = arc.questArc, --- > arc = storeQuestArcDescriptor(arc.questArc), scripts\quest\manager.lua 0a1 > require("/scripts/quest/serialize.lua") 49c50,51 < self.data.arc = arc --- > self.data.arc = storeQuestArcDescriptor(arc) > self._arc = arc 59a62,68 > function QuestManager:arc() > if not self._arc then > self._arc = loadQuestArcDescriptor(self.data.arc) > end > return self._arc > end > 61c70 < for _,questDesc in pairs(self.data.arc.quests) do --- > for _,questDesc in pairs(self:arc().quests) do 97c106 < for i,questDesc in ipairs(self.data.arc.quests) do --- > for i,questDesc in ipairs(self:arc().quests) do 107,108c116,117 < if arcPos <= #self.data.arc.quests then < return self.data.arc.quests[arcPos].questId --- > if arcPos <= #self:arc().quests then > return self:arc().quests[arcPos].questId 138c147 < self.outbox:sendMessage(participant, "reserve", self.uniqueId, self.data.arc, role) --- > self.outbox:sendMessage(participant, "reserve", self.uniqueId, self:arc(), role) 188,189c197,198 < for i = #self.data.arc.quests, 1, -1 do < local questDesc = self.data.arc.quests[i] --- > for i = #self:arc().quests, 1, -1 do > local questDesc = self:arc().quests[i] 232c241 < self.outbox:sendMessage(uniqueId, "reserve", self.uniqueId, self.data.arc, role) --- > self.outbox:sendMessage(uniqueId, "reserve", self.uniqueId, self:arc(), role) 271c280 < self:sendToParticipants("unreserve", self.data.arc) --- > self:sendToParticipants("unreserve", self:arc()) scripts\quest\participant.lua 0a1 > require("/scripts/quest/serialize.lua") 119c120 < offeredQuests[#offeredQuests+1] = role.offerQuest --- > offeredQuests[#offeredQuests+1] = loadQuestArcDescriptor(role.offerQuest) 158c159 < self.data.quests[questDesc.questId] = questDesc --- > self.data.quests[questDesc.questId] = storeQuestDescriptor(questDesc) 166,168c167 < local questDesc = self.data.quests[questId] < if not questDesc then return nil end < return questDesc.parameters[paramName] --- > return self:questParameters(questId)[paramName] 172c171 < local questDesc = self.data.quests[questId] --- > local questDesc = loadQuestDescriptor(self.data.quests[questId]) stagehands\questmanager.lua 15c15 < local arc = entity.configParameter("quest.arc") --- > local arc = loadQuestArcDescriptor(entity.configParameter("quest.arc")) treasure\dungeon.treasurepools 196c196 < {"weight" : 0.009, "item" : [ "generatedsword", 1, { "definition" : "nightstick" } ]}, // TODO: replace old sword --- > {"weight" : 0.009, "item" : "commonshortsword"},