diff --git a/code/modules/hydroponics/beekeeping/beebox.dm b/code/modules/hydroponics/beekeeping/beebox.dm
index e4646e3fe86..f1d934e82af 100644
--- a/code/modules/hydroponics/beekeeping/beebox.dm
+++ b/code/modules/hydroponics/beekeeping/beebox.dm
@@ -16,6 +16,8 @@
/mob/living/carbon/human/bee_friendly()
+ if(dna && dna.species && dna.species.id == "pod") //bees pollinate plants, duh.
+ return 1
if((wear_suit && (wear_suit.flags & THICKMATERIAL)) && (head && (head.flags & THICKMATERIAL)))
return 1
return 0
@@ -123,11 +125,12 @@
if(!queen_bee)
user << "There is no queen bee!"
- if(bees.len >= get_max_bees()*0.5)
+ var/half_bee = get_max_bees()*0.5
+ if(half_bee && (bees.len >= half_bee))
user << "This place is a BUZZ with activity..."
if(bee_resources)
- user << "[bee_resources]/100 honey supply."
+ user << "[bee_resources]/100 resource supply."
user << "[bee_resources]% towards a new honeycomb."
user << "[bee_resources*2]% towards a new bee."
@@ -159,7 +162,7 @@
queen_bee = qb.queen
qb.queen = null
- if(qb.queen)
+ if(queen_bee)
visible_message("[user] sets [qb] down inside the apiary, making it their new home.")
var/relocated = 0
for(var/b in bees)
@@ -196,6 +199,8 @@
visible_message("[user] disturbs the bees!")
else
var/option = alert(user, "What Action do you wish to perform?","Apiary","Remove a Honey Frame","Remove the Queen Bee")
+ if(!Adjacent(user))
+ return
switch(option)
if("Remove a Honey Frame")
if(!honey_frames.len)
@@ -208,13 +213,11 @@
HF.loc = get_turf(src)
visible_message("[user] removes a frame from the apiary.")
- var/amtH = honeycombs.len
- var/maxH = get_max_honeycomb()
+ var/amtH = HF.honeycomb_capacity
var/fallen = 0
- while(amtH > maxH) //let's pretend you always grab the frame with the most honeycomb on it
+ while(honeycombs.len && amtH) //let's pretend you always grab the frame with the most honeycomb on it
var/obj/item/weapon/reagent_containers/honeycomb/HC = pick_n_take(honeycombs)
if(HC)
- honeycombs -= HC
HC.loc = get_turf(user)
amtH--
fallen++
diff --git a/code/modules/mob/living/simple_animal/hostile/bees.dm b/code/modules/mob/living/simple_animal/hostile/bees.dm
index 96b768aa6cf..d07bb4d49be 100644
--- a/code/modules/mob/living/simple_animal/hostile/bees.dm
+++ b/code/modules/mob/living/simple_animal/hostile/bees.dm
@@ -135,6 +135,7 @@
if(beegent && isliving(target))
var/mob/living/L = target
beegent.reaction_mob(L, TOUCH)
+ L.reagents.add_reagent(beegent.id, rand(1,5))
target.attack_animal(src)
@@ -208,6 +209,7 @@
if(beegent && isliving(target))
var/mob/living/L = target
beegent.reaction_mob(L, TOUCH)
+ L.reagents.add_reagent(beegent.id, rand(1,5))
target.attack_animal(src)
@@ -218,7 +220,7 @@
/mob/living/simple_animal/hostile/poison/bees/proc/reagent_incompatible(mob/living/simple_animal/hostile/poison/bees/B)
if(!B)
- return 1
+ return 0
if(B.beegent && beegent && B.beegent.id != beegent.id || B.beegent && beegent || !B.beegent && beegent)
return 1
return 0
diff --git a/code/modules/reagents/chemistry/reagents/food_reagents.dm b/code/modules/reagents/chemistry/reagents/food_reagents.dm
index 65d5c446d62..41aac8a352a 100644
--- a/code/modules/reagents/chemistry/reagents/food_reagents.dm
+++ b/code/modules/reagents/chemistry/reagents/food_reagents.dm
@@ -433,7 +433,6 @@
/datum/reagent/consumable/honey/on_mob_life(mob/living/M)
M.reagents.add_reagent("sugar",3)
- M.reagents.remove_reagent("honey", 1)
if(prob(20))
M.heal_organ_damage(3,1)
..()