Files
2020-02-16 19:40:21 -08:00

46 lines
1.5 KiB
Plaintext

/datum/buildmode/reagents
name = "Reagents (expose or add)"
desc = {"***********************************************************<br>
Left Mouse Button on mob/obj/turf = Expose target to reagent<br>
Right Mouse Button on mob/obj/turf = Add 5 units of reagent to target<br>
Right Mouse Button on buildmode = Select reagent<br>
***********************************************************"}
icon_state = "buildmode6"
var/reagent_id
var/datum/reagents/reagent_holder
New()
..()
reagent_holder = new(20)
reagent_holder.my_atom = new /obj()
click_mode_right(var/ctrl, var/alt, var/shift)
var/nrid = get_one_match_string(input("Enter full (or part of) reagent ID", "Reagent ID", reagent_id), reagents_cache)
if (nrid)
reagent_id = nrid
reagent_holder.clear_reagents()
reagent_holder.add_reagent(reagent_id, 20)
update_button_text(reagent_id)
click_left(atom/object, var/ctrl, var/alt, var/shift)
if (!reagent_id)
return
if (!(reagent_id in reagent_holder.reagent_list))
return
var/datum/reagent/reagent = reagent_holder.reagent_list[reagent_id]
blink(get_turf(object))
if(ismob(object)) reagent.reaction_mob(object, 1, 20)
if(isobj(object)) reagent.reaction_obj(object, 20)
if(isturf(object)) reagent.reaction_turf(object, 20)
click_right(atom/object, var/ctrl, var/alt, var/shift)
if (!object.reagents)
var/datum/reagents/RE = new /datum/reagents(50)
object.reagents = RE
RE.my_atom = object
if (!reagent_id)
return
if (object.reagents)
object.reagents.add_reagent(reagent_id, 5)
blink(get_turf(object))