Files
Paradise/code/modules/hydroponics/growninedible.dm
T
8ef4aa727e Adds Shadow demons (#19732)
* reshuffle

* shared base type

* moves this to the base type

* the monster

* event

* FUCK

* better sprites

* refactors bloodcrawl, more nice sprites

* review stuff

* Apply suggestions from code review

Co-authored-by: Sirryan2002 <80364400+Sirryan2002@users.noreply.github.com>

* heart of darkness

* pre TM tweaks

* ARGH

* hopefully fixes double hits

* tweaks

* derp

* tweaks

* TEMP RUNTIME REMOVE LATER

* fixes

* runtime fixes

* cig runtime fix

* review + another runtime fix

* re adds sprite

* removes runtime

* oop I forgor

* DRUNK CODING

* SPRITES

Co-authored-by: Sirryan2002 <80364400+Sirryan2002@users.noreply.github.com>
2022-12-29 11:26:37 -06:00

71 lines
1.8 KiB
Plaintext

// **********************
// Other harvested materials from plants (that are not food)
// **********************
/obj/item/grown // Grown weapons
name = "grown_weapon"
icon = 'icons/obj/hydroponics/harvest.dmi'
resistance_flags = FLAMMABLE
var/obj/item/seeds/seed = null // type path, gets converted to item on New(). It's safe to assume it's always a seed item.
/obj/item/grown/New(newloc, obj/item/seeds/new_seed = null)
..()
create_reagents(50)
if(new_seed)
seed = new_seed.Copy()
else if(ispath(seed))
// This is for adminspawn or map-placed growns. They get the default stats of their seed type.
seed = new seed()
seed.adjust_potency(50-seed.potency)
pixel_x = rand(-5, 5)
pixel_y = rand(-5, 5)
if(seed)
for(var/datum/plant_gene/trait/T in seed.genes)
T.on_new(src, newloc)
if(istype(src, seed.product)) // no adding reagents if it is just a trash item
seed.prepare_result(src)
transform *= TRANSFORM_USING_VARIABLE(seed.potency, 100) + 0.5
add_juice()
/obj/item/grown/Destroy()
QDEL_NULL(seed)
return ..()
/obj/item/grown/attackby(obj/item/O, mob/user, params)
..()
if (istype(O, /obj/item/plant_analyzer))
var/msg = "<span class='info'>*---------*\n This is \a <span class='name'>[src]</span>\n"
if(seed)
msg += seed.get_analyzer_text()
msg += "</span>"
to_chat(usr, msg)
return
/obj/item/grown/proc/add_juice()
if(reagents)
return 1
return 0
/obj/item/grown/after_slip(mob/living/carbon/human/H)
if(!seed)
return
for(var/datum/plant_gene/trait/T in seed.genes)
T.on_slip(src, H)
/obj/item/grown/throw_impact(atom/hit_atom)
if(!..()) //was it caught by a mob?
if(seed)
for(var/datum/plant_gene/trait/T in seed.genes)
T.on_throw_impact(src, hit_atom)
/obj/item/grown/extinguish_light(force = FALSE)
if(!force)
return
if(seed.get_gene(/datum/plant_gene/trait/glow/shadow))
return
set_light(0)