Skip to content

Commit

Permalink
Merge pull request #3619 from edwardspec/aftermite-fixes
Browse files Browse the repository at this point in the history
Additional changes after removing the mites
  • Loading branch information
sayterdarkwynd authored Jan 4, 2025
2 parents 1ad3e24 + 0b79fc7 commit da88766
Show file tree
Hide file tree
Showing 10 changed files with 14 additions and 35 deletions.
2 changes: 1 addition & 1 deletion bees/apiary.lua
Original file line number Diff line number Diff line change
Expand Up @@ -521,7 +521,7 @@ function getFrames(dt)
local consumed = world.containerTakeNumItemsAt(entity.id(), frameSlot-1, 1)
if consumed then
contents[frameSlot].count = contents[frameSlot].count - consumed.count
end
end
end
self.frameTakeTimers[frameCounter]=0.0
end
Expand Down
2 changes: 1 addition & 1 deletion bees/beeBuilder.lua
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ function build(directory, config, parameters, level, seed)
config.tooltipFields[stat.."Label"] = "Day & Night"
end

else
elseif stat ~= "miteResistance" then
config.tooltipFields[stat.."Label"] = tostring(value)
end
end
Expand Down
2 changes: 1 addition & 1 deletion bees/beeData.config
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
// Stats:
// baseProduction : Base drone production at 100% hive efficiency
// droneToughness : Number of mites required to kill a drone. Also used in bee on bee fights
// droneToughness : How well do the drones resist anything that tries to kills them.
// droneBreedRate : Base drone breeding rate
// queenBreedRate : Base queen breeding rate
// queenLifespan : How many bee production ticks before the queen dies (up to 1295)
Expand Down
5 changes: 2 additions & 3 deletions codex/documents/bees/bees1.codex
Original file line number Diff line number Diff line change
Expand Up @@ -10,18 +10,17 @@ A string composed of numbers and characters similar to hexidecimal, but going up
A genome is composed of (number of stats * 2) characters, where every two characters store the value of a stat. Each such pair is called a gene. The way a stat is translated from stat to string varies, but here's the general idea:\n
Value * 100 -> char (0 = 00, 12.95 = ZZ, 2 = 5J)\n
Here is an example set of stats and their genome:\n
Base Production: 3, Drone Toughness: 1, Drone Breed Rate: 1, Queen Breed Rate: 5, Queen Lifespan: 3, Mutation Chance: 1 (out of 100), Mite Resistance: 0\n
Base Production: 3, Drone Toughness: 1, Drone Breed Rate: 1, Queen Breed Rate: 5, Queen Lifespan: 3, Mutation Chance: 1 (out of 100)\n
Final Genome: 030101050301HZ\n\n

^orange;Stats^reset;\n
-Subtype: A bee's strain within its given breed. These typically have different production output or behaviors.
-Base Production: Resource production at 100% hive efficiency, excluding other modifiers.
-Drone Toughness: Number of mites required to kill a drone. Also used in bee rivalries.
-Drone Toughness: How well do the drones resist anything that tries to kills them: different queen, lack of queen, rivalry fights, etc.
-Drone Breed Rate: Base drone breeding rate.
-Queen Breed Rate: Base queen breeding rate.
-Queen Lifespan: How many bee production ticks before the queen dies (up to 1295).
-Mutation Chance: Chance for a drastic mutation to occur. Jumps by (math.floor(100/1295*100*n)*0.01) each increment. (As example: '00': 0 | '01': 0.07 | 'HZ': 49.96 | 'ZZ': 100)
-Mite Resistance: Mite birth rate modifier. (Represented in the genome with values of this range: 'ZZ': 64.7, 'HZ': 0, '00': -64.7).
-Work Time: Some bees are diurnal, some are nocturnal, some are both.
"
],
Expand Down
7 changes: 2 additions & 5 deletions codex/documents/bees/bees2.codex
Original file line number Diff line number Diff line change
Expand Up @@ -28,13 +28,10 @@ Checking in a microscope can identify the subspecies of any bee, allowing you to

^orange;Bee Breeding and Production^reset;\n\n
Place your Queen in the first slot of the apiary. That's where she goes. The Drone goes in the second slot. Note that in a large apiary, you'll have two slots for drones. This allows you to put in two *different* drones, adding genetic variation towards the queens mate selection process. The other slot on the left side is for your frame (two, if using a large apiary). Once these slots are full, so long as the bees living there have their needs met, they will begin production. When those needs are not met, your bees will be incapable of mating. So, if you have added all that should be required and nothing is happening, it's time to check what might be up.\n
The first thing to check is if other bee types produce in the exact same situation. If honey bees work fine and orchid bees do not, then it could either be the time of day, or the biome, or nearby rivals that stop your 'broken' bees from thriving. Once the needs are met, your bees will start producing resources! This will happen gradually, over time, whether or not you are present. If you are off-world, the apiary will 'simulate' the work your bees would have done while away and apply it upon your return. This is both a benefit and a penalty, however, as it also applies the same data to queen age and Mites (more on this later), and both of those can kill a hive if not paying attention. Queens have a limited lifespan, and will die at the end of that time. When a queen dies, the drones have approximately 60 seconds of safety after which point they will begin to slowly die without her there to guide them. This leads to the inevitable collapse of the entire hive. Thus, the importance of breeding becomes clear.\n\n
The first thing to check is if other bee types produce in the exact same situation. If honey bees work fine and orchid bees do not, then it could either be the time of day, or the biome, or nearby rivals that stop your 'broken' bees from thriving. Once the needs are met, your bees will start producing resources! This will happen gradually, over time, whether or not you are present. If you are off-world, the apiary will 'simulate' the work your bees would have done while away and apply it upon your return. This is both a benefit and a penalty, however, as it also applies the same data to queen age, which can kill a hive if not paying attention. Queens have a limited lifespan, and will die at the end of that time. When a queen dies, the drones have approximately 60 seconds of safety after which point they will begin to slowly die without her there to guide them. This leads to the inevitable collapse of the entire hive. Thus, the importance of breeding becomes clear.\n\n

To breed bees you will need: A queen, a drone, an apiary and patience. There are some peculiarities to keep in mind when breeding: If a brand new queen and drone are placed in an empty apiary with a frame, the queen will only mate with the FIRST drone added into the apiary. This is a selective breeding process. Once she has mated with the drone, she will then begin to produce her own stock of drones that will become her brood. The old drone(s) will be killed, being of now inferior stock. This new stock of drones will mimic the queens genome identically, producing constantly. Occasionally, a queen will birth a Young Queen. These are your goldmine, as it were. Scan the young queens in a microscope, and keep your best stock for breeding. The rest, sell at the Bee Refuge for easy profit.\n
Each new generation of bees has a chance to mutate into a superior breed. The chance to mutate is influenced by their species, biome, frames and luck. When a mutation occurs, the benefit is a random bonus to at least one stat. This bonus is usually significant. Through selective breeding, you can guide your bees into a highly mutative form capable of passing on to new generations. With careful planning, that could lead to enormous profits.\n\n

^orange;Mites^reset;\n\n
The bane of bee and beekeeper is the threat of Mites. These nasty little bastards infest hives, slowing production and eventually killing drones. Should all drones be eradicated by a Mite infection, the queen will be killed soon after. Mites infest gradually, causing slight slowdowns in production until such time as their population gets out of hand. At this point they will quickly begin preying on your drone stock. When this happens, your apiary will change color to a red-roofed, brown-sided version that displays an insect icon so there is no mistaking what has happened. Mites may be a threat, but they are thankfully quite simple to deal with. Anti-Mite frames will make short work of them (especially the higher tier versions), and since frames can be stacked you can improve the resistance to these pests directly. Once the mites are dealt with, your apiary will revert to its previous appearance and your bees will resume working.
Each new generation of bees has a chance to mutate into a superior breed. The chance to mutate is influenced by their species, biome, frames and luck. When a mutation occurs, the benefit is a random bonus to at least one stat. This bonus is usually significant. Through selective breeding, you can guide your bees into a highly mutative form capable of passing on to new generations. With careful planning, that could lead to enormous profits.
"
],

Expand Down
18 changes: 3 additions & 15 deletions interface/tooltips/bee.tooltip
Original file line number Diff line number Diff line change
Expand Up @@ -87,27 +87,15 @@
"hAnchor" : "right"
},

"miteResistance" : {
"type" : "label",
"position" : [11, 30],
"hAnchor" : "left",
"value" : "Mite Resistance:"
},
"miteResistanceLabel" : {
"type" : "label",
"position" : [128, 30],
"hAnchor" : "right"
},

"workTime" : {
"type" : "label",
"position" : [11, 19],
"position" : [11, 30],
"hAnchor" : "left",
"value" : "Work Time:"
},
"workTimeLabel" : {
"type" : "label",
"position" : [128, 19],
"position" : [128, 30],
"hAnchor" : "right"
},
"genomeLabel" : {
Expand All @@ -122,4 +110,4 @@
"file" : "",
"centered" : true
}
}
}
2 changes: 0 additions & 2 deletions items/buildscripts/buildbeeframe.lua
Original file line number Diff line number Diff line change
Expand Up @@ -19,15 +19,13 @@ function build(directory, config, parameters, level, seed)
droneBreedRate="Drone Breed Rate",
queenBreedRate="Queen Breed Rate",
queenLifespan="Queen Lifespan",
miteResistance="Mite Resistance",
}
local intStats={
baseProduction = configParameter("baseProduction",0),
droneToughness = configParameter("droneToughness",0),
droneBreedRate = configParameter("droneBreedRate",0),
queenBreedRate = configParameter("queenBreedRate",0),
queenLifespan = configParameter("queenLifespan",0),
miteResistance = configParameter("miteResistance",0), -- Note that (currently) the normal range is -6.48 to 6.48, so use values smaller than 1 for balanced frames
}

local percentStatsStrings={
Expand Down
2 changes: 1 addition & 1 deletion npcs/merchantpools.config.patch
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@
{"item": {"name": "protectoratebroadsword"}, "prerequisiteQuest": "protectoratesword"},
{"item": {"name": "esthersjournal-codex"}, "prerequisiteQuest": "glitch_mission2"},
{"item": {"name": "vina_plush"}, "prerequisiteQuest": "9merrymead"},
{"item": {"name": "meadbottle"}, "prerequisiteQuest": "13mites"},
{"item": {"name": "meadbottle"}, "prerequisiteQuest": "12breeding"},
{"item": {"name": "finalpostcard-codex"}, "prerequisiteQuest": "destroyruin"},
{"item": {"name": "stormwarden"}, "prerequisiteQuest": "fuquest_titan"},
{"item": {"name": "websnapper"}, "prerequisiteQuest": "fuquest_megarachnid"},
Expand Down
6 changes: 2 additions & 4 deletions quests/fu_questlines/outpost/bees/12breeding.questtemplate
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
"text" : "So, you've got apiaries and honey bees. Now, I wonder: what would happen if you put a ^orange;Orchid Queen^reset; and some ^orange;Honey Drones^reset; into that ^orange;Giant Apiary^reset;? And what about if you added a ^orange;Tungsten Frame^reset;?",
"completionText" : "You can create countless bee variants by selectively choosing traits in queens and drones to influence their offspring. ^red;Not all bees^reset; can be bred with every family-type. You'll need to experiment yourself to find out what works.",
"moneyRange" : [120, 220],
"rewards" : [ ],
"rewards" : [ [ [ "crewcontract_fubees", 1 ] ] ],
"speaker" : "questGiver",

"updateDelta" : 10,
Expand All @@ -17,8 +17,6 @@
"questComplete" : "questGiver"
},

"followUp" : "13mites",

"requireTurnIn" : false,

"conditions" : [
Expand All @@ -30,4 +28,4 @@
}
]
}
}
}
3 changes: 1 addition & 2 deletions zb/questList/data.config
Original file line number Diff line number Diff line change
Expand Up @@ -194,8 +194,7 @@
"9alveary",
"10industrialcentrifuge",
"11honeyjarrer",
"12breeding",
"13mites"
"12breeding"
],

//BYOS
Expand Down

0 comments on commit da88766

Please sign in to comment.