mirror of
https://github.com/VOREStation/VOREStation.git
synced 2026-08-23 20:17:15 +01:00
Merge pull request #8705 from Zuhayr/dev-freeze
Fixes, adds weedkiller smoke checks to plants.
This commit is contained in:
@@ -134,18 +134,18 @@
|
||||
verbs |= /obj/item/weapon/rig/proc/toggle_chest
|
||||
|
||||
for(var/obj/item/piece in list(gloves,helmet,boots,chest))
|
||||
if(!piece)
|
||||
if(!istype(piece))
|
||||
continue
|
||||
piece.canremove = 0
|
||||
piece.name = "[suit_type] [initial(piece.name)]"
|
||||
piece.desc = "It seems to be part of a [src.name]."
|
||||
piece.icon_state = "[initial(icon_state)]"
|
||||
piece.armor = armor.Copy()
|
||||
piece.min_cold_protection_temperature = min_cold_protection_temperature
|
||||
piece.max_heat_protection_temperature = max_heat_protection_temperature
|
||||
piece.siemens_coefficient = siemens_coefficient
|
||||
piece.permeability_coefficient = permeability_coefficient
|
||||
piece.unacidable = unacidable
|
||||
if(islist(armor)) piece.armor = armor.Copy()
|
||||
|
||||
update_icon(1)
|
||||
|
||||
@@ -631,14 +631,15 @@
|
||||
use_obj.loc = src
|
||||
|
||||
else if (deploy_mode != ONLY_RETRACT)
|
||||
if(check_slot)
|
||||
if(check_slot != use_obj)
|
||||
H << "<span class='danger'>You are unable to deploy \the [piece] as \the [check_slot] [check_slot.gender == PLURAL ? "are" : "is"] in the way.</span>"
|
||||
return
|
||||
if(check_slot && check_slot != use_obj)
|
||||
H << "<span class='danger'>You are unable to deploy \the [piece] as \the [check_slot] [check_slot.gender == PLURAL ? "are" : "is"] in the way.</span>"
|
||||
return
|
||||
else
|
||||
H << "<font color='blue'><b>Your [use_obj.name] [use_obj.gender == PLURAL ? "deploy" : "deploys"] swiftly.</b></span>"
|
||||
use_obj.loc = H
|
||||
H.equip_to_slot(use_obj, equip_to)
|
||||
if(!H.equip_to_slot_if_possible(use_obj, equip_to, 0))
|
||||
use_obj.loc = src
|
||||
else
|
||||
H << "<font color='blue'><b>Your [use_obj.name] [use_obj.gender == PLURAL ? "deploy" : "deploys"] swiftly.</b></span>"
|
||||
|
||||
if(piece == "helmet" && helmet)
|
||||
helmet.update_light(H)
|
||||
|
||||
@@ -35,6 +35,11 @@
|
||||
die_off()
|
||||
return 0
|
||||
|
||||
for(var/obj/effect/effect/smoke/chem/smoke in view(1, src))
|
||||
if(smoke.reagents.has_reagent("plantbgone"))
|
||||
die_off()
|
||||
return
|
||||
|
||||
// Handle life.
|
||||
var/turf/simulated/T = get_turf(src)
|
||||
if(istype(T))
|
||||
|
||||
@@ -98,22 +98,22 @@
|
||||
|
||||
// Beneficial reagents also have values for modifying yield_mod and mut_mod (in that order).
|
||||
var/global/list/beneficial_reagents = list(
|
||||
"beer" = list( -0.05, 0, 0 ),
|
||||
"fluorine" = list( -2, 0, 0 ),
|
||||
"chlorine" = list( -1, 0, 0 ),
|
||||
"phosphorus" = list( -0.75, 0, 0 ),
|
||||
"sodawater" = list( 0.1, 0, 0 ),
|
||||
"sacid" = list( -1, 0, 0 ),
|
||||
"pacid" = list( -2, 0, 0 ),
|
||||
"plantbgone" = list( -2, 0, 0.2 ),
|
||||
"cryoxadone" = list( 3, 0, 0 ),
|
||||
"ammonia" = list( 0.5, 0, 0 ),
|
||||
"diethylamine" = list( 1, 0, 0 ),
|
||||
"nutriment" = list( 0.5, 0.1, 0 ),
|
||||
"radium" = list( -1.5, 0, 0.2 ),
|
||||
"adminordrazine" = list( 1, 1, 1 ),
|
||||
"robustharvest" = list( 0, 0.2, 0 ),
|
||||
"left4zed" = list( 0, 0, 0.2 )
|
||||
"beer" = list( -0.05, 0, 0 ),
|
||||
"fluorine" = list( -2, 0, 0 ),
|
||||
"chlorine" = list( -1, 0, 0 ),
|
||||
"phosphorus" = list( -0.75, 0, 0 ),
|
||||
"sodawater" = list( 0.1, 0, 0 ),
|
||||
"sacid" = list( -1, 0, 0 ),
|
||||
"pacid" = list( -2, 0, 0 ),
|
||||
"plantbgone" = list( -2, 0, 0.2),
|
||||
"cryoxadone" = list( 3, 0, 0 ),
|
||||
"ammonia" = list( 0.5, 0, 0 ),
|
||||
"diethylamine" = list( 1, 0, 0 ),
|
||||
"nutriment" = list( 0.5, 0.1, 0 ),
|
||||
"radium" = list( -1.5, 0, 0.2),
|
||||
"adminordrazine" = list( 1, 1, 1 ),
|
||||
"robustharvest" = list( 0, 0.2, 0 ),
|
||||
"left4zed" = list( 0, 0, 0.2)
|
||||
)
|
||||
|
||||
// Mutagen list specifies minimum value for the mutation to take place, rather
|
||||
|
||||
@@ -1,5 +1,10 @@
|
||||
/obj/machinery/portable_atmospherics/hydroponics/process()
|
||||
|
||||
// Handle nearby smoke if any.
|
||||
for(var/obj/effect/effect/smoke/chem/smoke in view(1, src))
|
||||
if(smoke.reagents.total_volume)
|
||||
smoke.reagents.copy_to(src, 5)
|
||||
|
||||
//Do this even if we're not ready for a plant cycle.
|
||||
process_reagents()
|
||||
|
||||
|
||||
@@ -215,10 +215,11 @@ This saves us from having to call add_fingerprint() any time something is put in
|
||||
//This is an UNSAFE proc. Use mob_can_equip() before calling this one! Or rather use equip_to_slot_if_possible() or advanced_equip_to_slot_if_possible()
|
||||
//set redraw_mob to 0 if you don't wish the hud to be updated - if you're doing it manually in your own proc.
|
||||
/mob/living/carbon/human/equip_to_slot(obj/item/W as obj, slot, redraw_mob = 1)
|
||||
|
||||
if(!slot) return
|
||||
if(!istype(W)) return
|
||||
if(!has_organ_for_slot(slot)) return
|
||||
|
||||
if(!species || !species.hud || !(slot in species.hud.equip_slots)) return
|
||||
W.loc = src
|
||||
switch(slot)
|
||||
if(slot_back)
|
||||
@@ -337,7 +338,7 @@ This saves us from having to call add_fingerprint() any time something is put in
|
||||
|
||||
W.layer = 20
|
||||
|
||||
return
|
||||
return 1
|
||||
|
||||
/obj/effect/equip_e
|
||||
name = "equip e"
|
||||
|
||||
@@ -142,7 +142,7 @@
|
||||
del(W)
|
||||
else
|
||||
if(!disable_warning)
|
||||
src << "\red You are unable to equip that." //Only print if del_on_fail is false
|
||||
src << "\red You are unable to equip \the [W]." //Only print if del_on_fail is false
|
||||
return 0
|
||||
|
||||
equip_to_slot(W, slot, redraw_mob) //This proc should not ever fail.
|
||||
|
||||
@@ -1020,6 +1020,9 @@
|
||||
continue
|
||||
|
||||
var/remaining_volume = beaker.reagents.maximum_volume - beaker.reagents.total_volume
|
||||
if(remaining_volume <= 0)
|
||||
break
|
||||
|
||||
if(sheet_reagents[O.type])
|
||||
var/obj/item/stack/stack = O
|
||||
if(istype(stack))
|
||||
@@ -1029,10 +1032,11 @@
|
||||
beaker.reagents.add_reagent(sheet_reagents[stack.type], (amount_to_take*REAGENTS_PER_SHEET))
|
||||
continue
|
||||
|
||||
O.reagents.trans_to(beaker, min(O.reagents.total_volume, remaining_volume))
|
||||
if(O.reagents.total_volume == 0)
|
||||
remove_object(O)
|
||||
if (beaker.reagents.total_volume >= beaker.reagents.maximum_volume)
|
||||
break
|
||||
if(O.reagents)
|
||||
O.reagents.trans_to(beaker, min(O.reagents.total_volume, remaining_volume))
|
||||
if(O.reagents.total_volume == 0)
|
||||
remove_object(O)
|
||||
if (beaker.reagents.total_volume >= beaker.reagents.maximum_volume)
|
||||
break
|
||||
|
||||
#undef REAGENTS_PER_SHEET
|
||||
@@ -1855,12 +1855,9 @@ datum
|
||||
var/obj/effect/alien/weeds/alien_weeds = O
|
||||
alien_weeds.health -= rand(15,35) // Kills alien weeds pretty fast
|
||||
alien_weeds.healthcheck()
|
||||
else if(istype(O,/obj/effect/plant)) //even a small amount is enough to kill it
|
||||
del(O)
|
||||
else if(istype(O,/obj/effect/plant))
|
||||
if(prob(50))
|
||||
var/obj/effect/plant/plant = O
|
||||
plant.die_off()
|
||||
var/obj/effect/plant/plant = O
|
||||
plant.die_off()
|
||||
else if(istype(O,/obj/machinery/portable_atmospherics/hydroponics))
|
||||
var/obj/machinery/portable_atmospherics/hydroponics/tray = O
|
||||
|
||||
|
||||
Reference in New Issue
Block a user