From 17defb66d4e569c99c45d544de283b5f3dff48c8 Mon Sep 17 00:00:00 2001 From: Remie Richards Date: Sun, 27 Mar 2016 21:07:53 +0100 Subject: [PATCH] Bee fixes and updates! * Added the ability to make Apiaries and Honey frames with wood * Added the ability to make Royal Bee Jelly from 10 Mutagen and 40 Honey * Added the ability to make more Queen Bees from Royal Bee Jelly by using it on an existing Queen, to split her into two Queens * Made homeless bees more obvious * Fixed a typo that made almost all bees homeless, severely reducing the odds of getting honeycomb * Made bee progress reports (50% towards new honeycomb, etc.) always show, even if it's 0% * Made some feedback text more obvious * Fixed being able to duplicate the bee holder object, this was not exploity, just weird * Fixed being able to put two (or more) queens in the same apiary * Fixed some runtimes from hydro code assuming a plant gene exists * Fixed runtime when you use a honeycomb in your hand * It now takes and uses 5u of a reagent to give a bee that reagent * Removed unused icon file --- .../items/stacks/sheets/sheet_types.dm | 2 + code/modules/hydroponics/beekeeping/BEES.dmi | Bin 8458 -> 0 bytes code/modules/hydroponics/beekeeping/beebox.dm | 26 +++++++----- .../hydroponics/beekeeping/honeycomb.dm | 2 +- code/modules/hydroponics/seeds.dm | 15 ++++--- .../mob/living/simple_animal/hostile/bees.dm | 37 ++++++++++++++---- .../chemistry/reagents/other_reagents.dm | 13 ++++++ .../reagents/chemistry/recipes/others.dm | 7 ++++ 8 files changed, 80 insertions(+), 22 deletions(-) delete mode 100644 code/modules/hydroponics/beekeeping/BEES.dmi diff --git a/code/game/objects/items/stacks/sheets/sheet_types.dm b/code/game/objects/items/stacks/sheets/sheet_types.dm index c6d7f9de008..d228525bb8a 100644 --- a/code/game/objects/items/stacks/sheets/sheet_types.dm +++ b/code/game/objects/items/stacks/sheets/sheet_types.dm @@ -114,6 +114,8 @@ var/global/list/datum/stack_recipe/wood_recipes = list ( \ new/datum/stack_recipe("dog bed", /obj/structure/bed/dogbed, 10, time = 10, one_per_turf = 1, on_floor = 1), \ new/datum/stack_recipe("display case chassis", /obj/structure/displaycase_chassis, 5, one_per_turf = 1, on_floor = 1), \ new/datum/stack_recipe("wooden buckler", /obj/item/weapon/shield/riot/buckler, 20, time = 40), \ + new/datum/stack_recipe("apiary", /obj/structure/beebox, 40, time = 50),\ + new/datum/stack_recipe("honey frame", /obj/item/honey_frame, 5, time = 10),\ ) /obj/item/stack/sheet/mineral/wood diff --git a/code/modules/hydroponics/beekeeping/BEES.dmi b/code/modules/hydroponics/beekeeping/BEES.dmi deleted file mode 100644 index dbd866368316ed49493f8c6a2681540ab777a69d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8458 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 g?wAjR!ZCk$@keNj@opLT9|z#}OThere is no queen bee!" + user << "There is no queen bee! There won't bee any honeycomb without a queen!" var/half_bee = get_max_bees()*0.5 if(half_bee && (bees.len >= half_bee)) - user << "This place is a BUZZ with activity..." + user << "This place is a BUZZ with activity... there are lots of bees!" - if(bee_resources) - user << "[bee_resources]/100 resource supply." - user << "[bee_resources]% towards a new honeycomb." - user << "[bee_resources*2]% towards a new bee." + user << "[bee_resources]/100 resource supply." + user << "[bee_resources]% towards a new honeycomb." + user << "[bee_resources*2]% towards a new bee." + + if(honeycombs.len) + var/plural = honeycombs.len > 1 + user << "There [plural? "are" : "is"] [honeycombs.len] uncollected honeycomb[plural ? "s":""] in the apiary." if(honeycombs.len >= get_max_honeycomb()) - user << "there's no room for more honeycomb!" + user << "there's no room for more honeycomb!" /obj/structure/beebox/attackby(obj/item/I, mob/user, params) @@ -154,6 +157,10 @@ return if(istype(I, /obj/item/queen_bee)) + if(queen_bee) + user << "This hive already has a queen!" + return + var/obj/item/queen_bee/qb = I user.unEquip(qb) @@ -223,10 +230,10 @@ fallen++ if(fallen) var/multiple = fallen > 1 - visible_message("[user] scapes [multiple ? "[fallen]" : "a"] honeycomb[multiple ? "s" : ""] off of the frame.") + visible_message("[user] scrapes [multiple ? "[fallen]" : "a"] honeycomb[multiple ? "s" : ""] off of the frame.") if("Remove the Queen Bee") - if(!queen_bee) + if(!queen_bee || queen_bee.loc != src) user << "There is no queen bee to remove!" return var/obj/item/queen_bee/QB = new() @@ -237,3 +244,4 @@ if(!user.put_in_active_hand(QB)) QB.loc = get_turf(src) visible_message("[user] removes the queen from the apiary.") + queen_bee = null diff --git a/code/modules/hydroponics/beekeeping/honeycomb.dm b/code/modules/hydroponics/beekeeping/honeycomb.dm index fb56fe1b804..70b60669a1f 100644 --- a/code/modules/hydroponics/beekeeping/honeycomb.dm +++ b/code/modules/hydroponics/beekeeping/honeycomb.dm @@ -4,7 +4,7 @@ desc = "a hexagonal mesh of honeycomb" icon = 'icons/obj/hydroponics/harvest.dmi' icon_state = "honeycomb" - possible_transfer_amounts = null + possible_transfer_amounts = list() spillable = 0 disease_amount = 0 volume = 10 diff --git a/code/modules/hydroponics/seeds.dm b/code/modules/hydroponics/seeds.dm index 2daf7c40508..a919c48406b 100644 --- a/code/modules/hydroponics/seeds.dm +++ b/code/modules/hydroponics/seeds.dm @@ -166,29 +166,34 @@ if(yield <= 0 && plant_type == PLANT_MUSHROOM) yield = 1 // Mushrooms always have a minimum yield of 1. var/datum/plant_gene/core/C = get_gene(/datum/plant_gene/core/yield) - C.value = yield + if(C) + C.value = yield /obj/item/seeds/proc/adjust_lifespan(adjustamt) lifespan = Clamp(lifespan + adjustamt, 10, 100) var/datum/plant_gene/core/C = get_gene(/datum/plant_gene/core/lifespan) - C.value = lifespan + if(C) + C.value = lifespan /obj/item/seeds/proc/adjust_endurance(adjustamt) endurance = Clamp(endurance + adjustamt, 10, 100) var/datum/plant_gene/core/C = get_gene(/datum/plant_gene/core/endurance) - C.value = endurance + if(C) + C.value = endurance /obj/item/seeds/proc/adjust_production(adjustamt) if(yield != -1) production = Clamp(production + adjustamt, 2, 10) var/datum/plant_gene/core/C = get_gene(/datum/plant_gene/core/production) - C.value = production + if(C) + C.value = production /obj/item/seeds/proc/adjust_potency(adjustamt) if(potency != -1) potency = Clamp(potency + adjustamt, 0, 100) var/datum/plant_gene/core/C = get_gene(/datum/plant_gene/core/potency) - C.value = potency + if(C) + C.value = potency /obj/item/seeds/proc/get_analyzer_text() //in case seeds have something special to tell to the analyzer diff --git a/code/modules/mob/living/simple_animal/hostile/bees.dm b/code/modules/mob/living/simple_animal/hostile/bees.dm index 51262083000..5ee56ae2339 100644 --- a/code/modules/mob/living/simple_animal/hostile/bees.dm +++ b/code/modules/mob/living/simple_animal/hostile/bees.dm @@ -75,6 +75,13 @@ ..() +/mob/living/simple_animal/hostile/poison/bees/examine(mob/user) + ..() + + if(!beehome) + user << "This bee is homeless!" + + /mob/living/simple_animal/hostile/poison/bees/proc/generate_bee_visuals() overlays.Cut() @@ -228,7 +235,7 @@ /mob/living/simple_animal/hostile/poison/bees/proc/reagent_incompatible(mob/living/simple_animal/hostile/poison/bees/B) if(!B) return 0 - if(B.beegent && beegent && B.beegent.id != beegent.id || B.beegent && beegent || !B.beegent && beegent) + if(B.beegent && beegent && B.beegent.id != beegent.id || B.beegent && !beegent || !B.beegent && beegent) return 1 return 0 @@ -245,11 +252,26 @@ /obj/item/queen_bee/attackby(obj/item/I, mob/user, params) if(istype(I,/obj/item/weapon/reagent_containers/syringe)) var/obj/item/weapon/reagent_containers/syringe/S = I - var/datum/reagent/R = chemical_reagents_list[S.reagents.get_master_reagent_id()] - if(R) - queen.assign_reagent(R) - user.visible_message("[user] injects [src]'s genome with [R.name], mutating it's DNA!","You inject [src]'s genome with [R.name], mutating it's DNA!") - name = queen.name + if(S.reagents.has_reagent("royal_bee_jelly")) //checked twice, because I really don't want royal bee jelly to be duped + if(S.reagents.has_reagent("royal_bee_jelly",5)) + S.reagents.remove_reagent("royal_bee_jelly", 5) + var/obj/item/queen_bee/qb = new(get_turf(user)) + qb.queen = new(qb) + if(queen && queen.beegent) + qb.queen.assign_reagent(queen.beegent) //Bees use the global singleton instances of reagents, so we don't need to worry about one bee being deleted and her copies losing their reagents. + user.put_in_active_hand(qb) + user.visible_message("[user] injects [src] with royal bee jelly, causing it to split into two bees, MORE BEES!","You inject [src] with royal bee jelly, causing it to split into two bees, MORE BEES!") + else + user << "You don't have enough royal bee jelly to split a bee in two!" + else + var/datum/reagent/R = chemical_reagents_list[S.reagents.get_master_reagent_id()] + if(R && S.reagents.has_reagent(R.id, 5)) + S.reagents.remove_reagent(R.id,5) + queen.assign_reagent(R) + user.visible_message("[user] injects [src]'s genome with [R.name], mutating it's DNA!","You inject [src]'s genome with [R.name], mutating it's DNA!") + name = queen.name + else + user << "You don't have enough units of that chemical to modify the bee's DNA!" ..() @@ -260,4 +282,5 @@ /obj/item/queen_bee/Destroy() qdel(queen) - return ..() \ No newline at end of file + return ..() + diff --git a/code/modules/reagents/chemistry/reagents/other_reagents.dm b/code/modules/reagents/chemistry/reagents/other_reagents.dm index c390dbb48a0..b1eee61a396 100644 --- a/code/modules/reagents/chemistry/reagents/other_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/other_reagents.dm @@ -1187,3 +1187,16 @@ datum/reagent/shadowling_blindness_smoke M.adjustToxLoss(-2, 0) . = 1 return ..() || . + + + +/datum/reagent/royal_bee_jelly + name = "royal bee jelly" + id = "royal_bee_jelly" + description = "Royal Bee Jelly, if injected into a Queen Space Bee said bee will split into two bees." + color = "#00ff80" + +/datum/reagent/royal_bee_jelly/on_mob_life(mob/living/M) + if(prob(2)) + M.say(pick("Bzzz...","BZZ BZZ","Bzzzzzzzzzzz...")) + ..() \ No newline at end of file diff --git a/code/modules/reagents/chemistry/recipes/others.dm b/code/modules/reagents/chemistry/recipes/others.dm index 2170753cede..65867e3f5b1 100644 --- a/code/modules/reagents/chemistry/recipes/others.dm +++ b/code/modules/reagents/chemistry/recipes/others.dm @@ -510,3 +510,10 @@ result = "lye" required_reagents = list("ash" = 1, "water" = 1) result_amount = 2 + +/datum/chemical_reaction/royal_bee_jelly + name = "royal bee jelly" + id = "royal_bee_jelly" + result = "royal_bee_jelly" + required_reagents = list("mutagen" = 10, "honey" = 40) + result_amount = 5