mirror of
https://github.com/goonstation/goonstation-2020.git
synced 2026-07-13 08:02:19 +01:00
46 lines
1.5 KiB
Plaintext
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))
|