Wanted to fix one bug, but couldn't stop.

- Farmbot now have harvesting animation. 

- Farmbots no longer have two water tanks inside of them, that was causing them to use hidden water tank and not let it be refilled. Fixes #5677 

- Farmbots now will wait for weedlevel to be 5 or higher, that is when the alarm is triggered. And call `update_icon()` when it is done. Otherwise people wouldn't notice if they were killing weeds

- Vending machine now accept only items of the same type as defined in their product list. So you can no longer insert cult's ritual knife into Dinnerware. Fixes #5671 

- Merchants cannot by generic mech's weapon, it was replaced with UT AC 2 and Scatterbox. Fixes #5675 

- Ghosts cannot be teleported by telescience. Fixes #5688
This commit is contained in:
Mykhailo Bykhovtsev
2018-12-04 19:48:59 +01:00
committed by Werner
parent 4bfe5d1de1
commit a43e3fc66e
6 changed files with 50 additions and 12 deletions
+3 -10
View File
@@ -187,7 +187,7 @@
if(0)
return
if(FARMBOT_COLLECT)
action = "water" // Needs a better one
action = "collect"
update_icons()
visible_message("<span class='notice'>[src] starts [T.dead? "removing the plant from" : "harvesting"] \the [A].</span>")
attacking = 1
@@ -211,6 +211,7 @@
if(do_after(src, 30))
visible_message("<span class='notice'>[src] uproots the weeds in \the [A].</span>")
T.weedlevel = 0
T.update_icon()
if(FARMBOT_NUTRIMENT)
action = "fertile"
update_icons()
@@ -288,7 +289,7 @@
else if(refills_water && tray.waterlevel < 40 && !tray.reagents.has_reagent("water"))
return FARMBOT_WATER
else if(uproots_weeds && tray.weedlevel > 3)
else if(uproots_weeds && tray.weedlevel >= 5)
return FARMBOT_UPROOT
else if(replaces_nutriment && tray.nutrilevel < 1 && tray.reagents.total_volume < 1)
@@ -307,14 +308,6 @@
var/created_name = "Farmbot"
w_class = 3.0
New()
..()
spawn(4) // If an admin spawned it, it won't have a watertank it, so lets make one for em!
var tank = locate(/obj/structure/reagent_dispensers/watertank) in contents
if(!tank)
new /obj/structure/reagent_dispensers/watertank(src)
/obj/structure/reagent_dispensers/watertank/attackby(var/obj/item/robot_parts/S, mob/user as mob)
if ((!istype(S, /obj/item/robot_parts/l_arm)) && (!istype(S, /obj/item/robot_parts/r_arm)))
..()