//*********************//
// Generic undergrowth //
//*********************//
/obj/structure/bush
name = "foliage"
desc = "Pretty thick scrub, it'll take something sharp and a lot of determination to clear away."
icon = 'code/WorkInProgress/Cael_Aislinn/Jungle/jungle.dmi'
icon_state = "bush1"
density = 1
anchored = 1
layer = 3.2
var/indestructable = 0
var/stump = 0
/obj/structure/bush/New()
if(prob(20))
opacity = 1
/obj/structure/bush/Bumped(M as mob)
if (istype(M, /mob/living/simple_animal))
var/mob/living/simple_animal/A = M
A.loc = get_turf(src)
else if (istype(M, /mob/living/carbon/monkey))
var/mob/living/carbon/monkey/A = M
A.loc = get_turf(src)
/obj/structure/bush/attackby(var/obj/I as obj, var/mob/user as mob)
//hatchets can clear away undergrowth
if(istype(I, /obj/item/weapon/hatchet) && !stump)
if(indestructable)
//this bush marks the edge of the map, you can't destroy it
user << "You flail away at the undergrowth, but it's too thick here."
else
user.visible_message("[user] begins clearing away [src].","You begin clearing away [src].")
spawn(rand(15,30))
if(get_dist(user,src) < 2)
user << "You clear away [src]."
var/obj/item/stack/sheet/wood/W = new(src.loc)
W.amount = rand(3,15)
if(prob(50))
icon_state = "stump[rand(1,2)]"
name = "cleared foliage"
desc = "There used to be dense undergrowth here."
density = 0
stump = 1
pixel_x = rand(-6,6)
pixel_y = rand(-6,6)
else
del(src)
else
return ..()
//*******************************//
// Strange, fruit-bearing plants //
//*******************************//
var/list/fruit_icon_states = list("badrecipe","kudzupod","reishi","lime","grapes","boiledrorocore","chocolateegg")
var/list/reagent_effects = list("toxin","anti_toxin","stoxin","space_drugs","mindbreaker","zombiepowder","impedrezene")
var/jungle_plants_init = 0
/proc/init_jungle_plants()
writepanic("[__FILE__].[__LINE__] ([src.type])([usr ? usr.ckey : ""]) \\/proc/init_jungle_plants() called tick#: [world.time]")
jungle_plants_init = 1
fruit_icon_states = shuffle(fruit_icon_states)
reagent_effects = shuffle(reagent_effects)
/obj/item/weapon/reagent_containers/food/snacks/grown/jungle_fruit
name = "jungle fruit"
desc = "It smells weird and looks off."
icon = 'code/WorkInProgress/Cael_Aislinn/Jungle/jungle.dmi'
icon_state = "orange"
potency = 1
/obj/structure/jungle_plant
icon = 'code/WorkInProgress/Cael_Aislinn/Jungle/jungle.dmi'
icon_state = "plant1"
desc = "Looks like some of that fruit might be edible."
var/fruits_left = 3
var/fruit_type = -1
var/icon/fruit_overlay
var/plant_strength = 1
var/fruit_r
var/fruit_g
var/fruit_b
/obj/structure/jungle_plant/New()
if(!jungle_plants_init)
init_jungle_plants()
fruit_type = rand(1,7)
icon_state = "plant[fruit_type]"
fruits_left = rand(1,5)
fruit_overlay = icon('code/WorkInProgress/Cael_Aislinn/Jungle/jungle.dmi',"fruit[fruits_left]")
fruit_r = 255 - fruit_type * 36
fruit_g = rand(1,255)
fruit_b = fruit_type * 36
fruit_overlay.Blend(rgb(fruit_r, fruit_g, fruit_b), ICON_ADD)
overlays += fruit_overlay
plant_strength = rand(20,200)
/obj/structure/jungle_plant/attack_hand(var/mob/user as mob)
if(fruits_left > 0)
fruits_left--
user << "You pick a fruit off [src]."
var/obj/item/weapon/reagent_containers/food/snacks/grown/jungle_fruit/J = new (src.loc)
J.potency = plant_strength
J.icon_state = fruit_icon_states[fruit_type]
J.reagents.add_reagent(reagent_effects[fruit_type], 1+round((plant_strength / 20), 1))
J.bitesize = 1+round(J.reagents.total_volume / 2, 1)
J.attack_hand(user)
overlays -= fruit_overlay
fruit_overlay = icon('code/WorkInProgress/Cael_Aislinn/Jungle/jungle.dmi',"fruit[fruits_left]")
fruit_overlay.Blend(rgb(fruit_r, fruit_g, fruit_b), ICON_ADD)
overlays += fruit_overlay
else
user << "There are no fruit left on [src]."