12/21 modernizations from TG live (#103)
* sync (#3) * shuttle auto call * Merge /vore into /master (#39) * progress * Compile errors fixed No idea if it's test worthy tho as conflicts with race overhaul and narky removal. * Update admins.txt * efforts continue Fuck grab code, seriously * grab code is cancer * Execute the Narkism Do not hesitate. Show no mercy. * holy shit grab code is awful * have I bitched about grab code My bitching, let me show you it * código de agarre es una mierda No really it is * yeah I don't even know anymore. * Lolnope. Fuck grab code * I'm not even sure what to fix anymore * Self eating is not an acceptable fate * Taste the void, son. * My code doesn't pass it's own sanity check. Maybe it's a sign of things to come. * uncommented and notes * It Works and I Don't Know Why (#38) * shuttle auto call * it works and I don't know why * Subsystem 12/21 Most Recent TG subsystem folder * globalvars 12/21 Tossed out the flavor_misc and parallax files * Onclick 12/21 as well as .dme updates * _defines 12/21 ommited old _MC.dm * _HELPERS 12/21 Preserved snowflake placement of furry sprites * _defeines/genetics reapplied narkism holdover for snowflake races. * Oops forgot mutant colors * modules porting 12/21 + Sounds/icons Admin, Client and most of mob life files ommitted * enviroment file * Admin optimizations ahelp log system kept * Mob ports 12/21 Flavor text preserved * datums ported 12/21 * Game ported 12/21 * batch of duplicate fixes/dogborg work Dogborgs need to be modernized to refractored borg standards. * moar fixes * Maps and futher compile fixes
This commit is contained in:
@@ -21,6 +21,7 @@
|
||||
yield = 6
|
||||
potency = 5
|
||||
icon_dead = "ambrosia-dead"
|
||||
genes = list(/datum/plant_gene/trait/repeated_harvest)
|
||||
mutatelist = list(/obj/item/seeds/ambrosia/deus)
|
||||
reagents_add = list("space_drugs" = 0.15, "bicaridine" = 0.1, "kelotane" = 0.1, "vitamin" = 0.04, "nutriment" = 0.05, "toxin" = 0.1)
|
||||
|
||||
@@ -61,7 +62,7 @@
|
||||
mutatelist = list()
|
||||
reagents_add = list("earthsblood" = 0.05, "nutriment" = 0.06, "vitamin" = 0.05)
|
||||
rarity = 30 //These are some pretty good plants right here
|
||||
oneharvest = TRUE
|
||||
genes = list()
|
||||
weed_rate = 4
|
||||
weed_chance = 100
|
||||
|
||||
|
||||
@@ -12,6 +12,7 @@
|
||||
growing_icon = 'icons/obj/hydroponics/growing_fruits.dmi'
|
||||
icon_grow = "apple-grow"
|
||||
icon_dead = "apple-dead"
|
||||
genes = list(/datum/plant_gene/trait/repeated_harvest)
|
||||
mutatelist = list(/obj/item/seeds/apple/gold)
|
||||
reagents_add = list("vitamin" = 0.04, "nutriment" = 0.1)
|
||||
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
endurance = 30
|
||||
growing_icon = 'icons/obj/hydroponics/growing_fruits.dmi'
|
||||
icon_dead = "banana-dead"
|
||||
genes = list(/datum/plant_gene/trait/slip)
|
||||
genes = list(/datum/plant_gene/trait/slip, /datum/plant_gene/trait/repeated_harvest)
|
||||
mutatelist = list(/obj/item/seeds/banana/mime, /obj/item/seeds/banana/bluespace)
|
||||
reagents_add = list("banana" = 0.1, "potassium" = 0.1, "vitamin" = 0.04, "nutriment" = 0.02)
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
bitesize = 5
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/grown/banana/suicide_act(mob/user)
|
||||
user.visible_message("<span class='suicide'>[user] is aiming the [src.name] at themself! It looks like \he's trying to commit suicide.</span>")
|
||||
user.visible_message("<span class='suicide'>[user] is aiming [src] at [user.p_them()]self! It looks like [user.p_theyre()] trying to commit suicide!</span>")
|
||||
playsound(loc, 'sound/items/bikehorn.ogg', 50, 1, -1)
|
||||
sleep(25)
|
||||
if(!user)
|
||||
@@ -43,13 +43,13 @@
|
||||
desc = "A peel from a banana."
|
||||
icon_state = "banana_peel"
|
||||
item_state = "banana_peel"
|
||||
w_class = 1
|
||||
w_class = WEIGHT_CLASS_TINY
|
||||
throwforce = 0
|
||||
throw_speed = 3
|
||||
throw_range = 7
|
||||
|
||||
/obj/item/weapon/grown/bananapeel/suicide_act(mob/user)
|
||||
user.visible_message("<span class='suicide'>[user] is deliberately slipping on the [src.name]! It looks like \he's trying to commit suicide.</span>")
|
||||
user.visible_message("<span class='suicide'>[user] is deliberately slipping on [src]! It looks like [user.p_theyre()] trying to commit suicide!</span>")
|
||||
playsound(loc, 'sound/misc/slip.ogg', 50, 1, -1)
|
||||
return (BRUTELOSS)
|
||||
|
||||
@@ -91,7 +91,7 @@
|
||||
plantname = "Bluespace Banana Tree"
|
||||
product = /obj/item/weapon/reagent_containers/food/snacks/grown/banana/bluespace
|
||||
mutatelist = list()
|
||||
genes = list(/datum/plant_gene/trait/slip, /datum/plant_gene/trait/teleport)
|
||||
genes = list(/datum/plant_gene/trait/slip, /datum/plant_gene/trait/teleport, /datum/plant_gene/trait/repeated_harvest)
|
||||
reagents_add = list("singulo" = 0.2, "banana" = 0.1, "vitamin" = 0.04, "nutriment" = 0.02)
|
||||
rarity = 30
|
||||
|
||||
|
||||
@@ -13,6 +13,7 @@
|
||||
growing_icon = 'icons/obj/hydroponics/growing_vegetables.dmi'
|
||||
icon_grow = "soybean-grow"
|
||||
icon_dead = "soybean-dead"
|
||||
genes = list(/datum/plant_gene/trait/repeated_harvest)
|
||||
mutatelist = list(/obj/item/seeds/soya/koi)
|
||||
reagents_add = list("vitamin" = 0.04, "nutriment" = 0.05)
|
||||
|
||||
|
||||
@@ -13,6 +13,7 @@
|
||||
growing_icon = 'icons/obj/hydroponics/growing_fruits.dmi'
|
||||
icon_grow = "berry-grow" // Uses one growth icons set for all the subtypes
|
||||
icon_dead = "berry-dead" // Same for the dead icon
|
||||
genes = list(/datum/plant_gene/trait/repeated_harvest)
|
||||
mutatelist = list(/obj/item/seeds/berry/glow, /obj/item/seeds/berry/poison)
|
||||
reagents_add = list("vitamin" = 0.04, "nutriment" = 0.1)
|
||||
|
||||
@@ -76,7 +77,7 @@
|
||||
lifespan = 30
|
||||
endurance = 25
|
||||
mutatelist = list()
|
||||
genes = list(/datum/plant_gene/trait/glow/berry)
|
||||
genes = list(/datum/plant_gene/trait/glow/berry , /datum/plant_gene/trait/noreact, /datum/plant_gene/trait/repeated_harvest)
|
||||
reagents_add = list("uranium" = 0.25, "iodine" = 0.2, "vitamin" = 0.04, "nutriment" = 0.1)
|
||||
rarity = 20
|
||||
|
||||
@@ -104,6 +105,7 @@
|
||||
growing_icon = 'icons/obj/hydroponics/growing_fruits.dmi'
|
||||
icon_grow = "cherry-grow"
|
||||
icon_dead = "cherry-dead"
|
||||
genes = list(/datum/plant_gene/trait/repeated_harvest)
|
||||
mutatelist = list(/obj/item/seeds/cherry/blue)
|
||||
reagents_add = list("nutriment" = 0.07, "sugar" = 0.07)
|
||||
|
||||
@@ -153,6 +155,7 @@
|
||||
growing_icon = 'icons/obj/hydroponics/growing_fruits.dmi'
|
||||
icon_grow = "grape-grow"
|
||||
icon_dead = "grape-dead"
|
||||
genes = list(/datum/plant_gene/trait/repeated_harvest)
|
||||
mutatelist = list(/obj/item/seeds/grape/green)
|
||||
reagents_add = list("vitamin" = 0.04, "nutriment" = 0.1, "sugar" = 0.1)
|
||||
|
||||
|
||||
@@ -0,0 +1,118 @@
|
||||
// Cannabis
|
||||
/obj/item/seeds/cannabis
|
||||
name = "pack of cannabis seeds"
|
||||
desc = "Taxable."
|
||||
icon_state = "seed-cannabis"
|
||||
species = "cannabis"
|
||||
plantname = "Cannabis Plant"
|
||||
product = /obj/item/weapon/reagent_containers/food/snacks/grown/cannabis
|
||||
maturation = 8
|
||||
potency = 20
|
||||
growthstages = 1
|
||||
growing_icon = 'goon/icons/obj/hydroponics.dmi'
|
||||
icon_grow = "cannabis-grow" // Uses one growth icons set for all the subtypes
|
||||
icon_dead = "cannabis-dead" // Same for the dead icon
|
||||
genes = list(/datum/plant_gene/trait/repeated_harvest)
|
||||
mutatelist = list(/obj/item/seeds/cannabis/rainbow,
|
||||
/obj/item/seeds/cannabis/death,
|
||||
/obj/item/seeds/cannabis/white,
|
||||
/obj/item/seeds/cannabis/ultimate)
|
||||
reagents_add = list("space_drugs" = 0.15, "lipolicide" = 0.35) // gives u the munchies
|
||||
|
||||
|
||||
/obj/item/seeds/cannabis/rainbow
|
||||
name = "pack of rainbow weed seeds"
|
||||
desc = "These seeds grow into rainbow weed. Groovy."
|
||||
icon_state = "seed-megacannabis"
|
||||
species = "megacannabis"
|
||||
plantname = "Rainbow Weed"
|
||||
product = /obj/item/weapon/reagent_containers/food/snacks/grown/cannabis/rainbow
|
||||
mutatelist = list()
|
||||
reagents_add = list("mindbreaker" = 0.15, "lipolicide" = 0.35)
|
||||
rarity = 40
|
||||
|
||||
/obj/item/seeds/cannabis/death
|
||||
name = "pack of deathweed seeds"
|
||||
desc = "These seeds grow into deathweed. Not groovy."
|
||||
icon_state = "seed-blackcannabis"
|
||||
species = "blackcannabis"
|
||||
plantname = "Deathweed"
|
||||
product = /obj/item/weapon/reagent_containers/food/snacks/grown/cannabis/death
|
||||
mutatelist = list()
|
||||
reagents_add = list("cyanide" = 0.35, "space_drugs" = 0.15, "lipolicide" = 0.15)
|
||||
rarity = 40
|
||||
|
||||
/obj/item/seeds/cannabis/white
|
||||
name = "pack of lifeweed seeds"
|
||||
desc = "I will give unto him that is munchies of the fountain of the cravings of life, freely."
|
||||
icon_state = "seed-whitecannabis"
|
||||
species = "whitecannabis"
|
||||
plantname = "Lifeweed"
|
||||
product = /obj/item/weapon/reagent_containers/food/snacks/grown/cannabis/white
|
||||
mutatelist = list()
|
||||
reagents_add = list("omnizine" = 0.35, "space_drugs" = 0.15, "lipolicide" = 0.15)
|
||||
rarity = 40
|
||||
|
||||
|
||||
/obj/item/seeds/cannabis/ultimate
|
||||
name = "pack of omega weed seeds"
|
||||
desc = "These seeds grow into omega weed."
|
||||
icon_state = "seed-ocannabis"
|
||||
species = "ocannabis"
|
||||
plantname = "Omega Weed"
|
||||
product = /obj/item/weapon/reagent_containers/food/snacks/grown/cannabis/ultimate
|
||||
mutatelist = list()
|
||||
reagents_add = list("space_drugs" = 0.3,
|
||||
"mindbreaker" = 0.3,
|
||||
"mercury" = 0.15,
|
||||
"lithium" = 0.15,
|
||||
"atropine" = 0.15,
|
||||
"haloperidol" = 0.15,
|
||||
"methamphetamine" = 0.15,
|
||||
"capsaicin" = 0.15,
|
||||
"barbers_aid" = 0.15,
|
||||
"bath_salts" = 0.15,
|
||||
"itching_powder" = 0.15,
|
||||
"crank" = 0.15,
|
||||
"krokodil" = 0.15,
|
||||
"histamine" = 0.15,
|
||||
"lipolicide" = 0.15)
|
||||
rarity = 69
|
||||
|
||||
|
||||
// ---------------------------------------------------------------
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/grown/cannabis
|
||||
seed = /obj/item/seeds/cannabis
|
||||
icon = 'goon/icons/obj/hydroponics.dmi'
|
||||
name = "cannabis leaf"
|
||||
desc = "Recently legalized in most galaxies."
|
||||
icon_state = "cannabis"
|
||||
filling_color = "#00FF00"
|
||||
bitesize_mod = 2
|
||||
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/grown/cannabis/rainbow
|
||||
seed = /obj/item/seeds/cannabis/rainbow
|
||||
name = "rainbow cannabis leaf"
|
||||
desc = "Is it supposed to be glowing like that...?"
|
||||
icon_state = "megacannabis"
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/grown/cannabis/death
|
||||
seed = /obj/item/seeds/cannabis/death
|
||||
name = "death cannabis leaf"
|
||||
desc = "Looks a bit dark. Oh well."
|
||||
icon_state = "blackcannabis"
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/grown/cannabis/white
|
||||
seed = /obj/item/seeds/cannabis/white
|
||||
name = "white cannabis leaf"
|
||||
desc = "It feels smooth and nice to the touch."
|
||||
icon_state = "whitecannabis"
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/grown/cannabis/ultimate
|
||||
seed = /obj/item/seeds/cannabis/ultimate
|
||||
name = "omega cannibas leaf"
|
||||
desc = "You feel dizzy looking at it. What the fuck?"
|
||||
icon_state = "ocannabis"
|
||||
volume = 420
|
||||
@@ -9,7 +9,6 @@
|
||||
production = 1
|
||||
yield = 4
|
||||
potency = 15
|
||||
oneharvest = 1
|
||||
icon_dead = "wheat-dead"
|
||||
mutatelist = list(/obj/item/seeds/wheat/oat, /obj/item/seeds/wheat/meat)
|
||||
reagents_add = list("nutriment" = 0.04)
|
||||
|
||||
@@ -14,6 +14,7 @@
|
||||
growing_icon = 'icons/obj/hydroponics/growing_vegetables.dmi'
|
||||
icon_grow = "chili-grow" // Uses one growth icons set for all the subtypes
|
||||
icon_dead = "chili-dead" // Same for the dead icon
|
||||
genes = list(/datum/plant_gene/trait/repeated_harvest)
|
||||
mutatelist = list(/obj/item/seeds/chili/ice, /obj/item/seeds/chili/ghost)
|
||||
reagents_add = list("capsaicin" = 0.25, "vitamin" = 0.04, "nutriment" = 0.04)
|
||||
|
||||
@@ -55,7 +56,7 @@
|
||||
desc = "These seeds grow into a chili said to be the hottest in the galaxy."
|
||||
icon_state = "seed-chilighost"
|
||||
species = "chilighost"
|
||||
plantname = "chilighost"
|
||||
plantname = "Ghost Chili Plants"
|
||||
product = /obj/item/weapon/reagent_containers/food/snacks/grown/ghost_chili
|
||||
endurance = 10
|
||||
maturation = 10
|
||||
@@ -83,7 +84,7 @@
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/grown/ghost_chili/process()
|
||||
if(held_mob && src.loc == held_mob)
|
||||
if( (held_mob.l_hand == src) || (held_mob.r_hand == src))
|
||||
if(held_mob.is_holding(src))
|
||||
if(hasvar(held_mob,"gloves") && held_mob:gloves)
|
||||
return
|
||||
held_mob.bodytemperature += 15 * TEMPERATURE_DAMAGE_COEFFICIENT
|
||||
|
||||
@@ -19,6 +19,7 @@
|
||||
yield = 4
|
||||
potency = 15
|
||||
growing_icon = 'icons/obj/hydroponics/growing_fruits.dmi'
|
||||
genes = list(/datum/plant_gene/trait/repeated_harvest)
|
||||
mutatelist = list(/obj/item/seeds/orange)
|
||||
reagents_add = list("vitamin" = 0.04, "nutriment" = 0.05)
|
||||
|
||||
@@ -44,6 +45,7 @@
|
||||
growing_icon = 'icons/obj/hydroponics/growing_fruits.dmi'
|
||||
icon_grow = "lime-grow"
|
||||
icon_dead = "lime-dead"
|
||||
genes = list(/datum/plant_gene/trait/repeated_harvest)
|
||||
mutatelist = list(/obj/item/seeds/lime)
|
||||
reagents_add = list("vitamin" = 0.04, "nutriment" = 0.05)
|
||||
|
||||
@@ -68,56 +70,86 @@
|
||||
growing_icon = 'icons/obj/hydroponics/growing_fruits.dmi'
|
||||
icon_grow = "lime-grow"
|
||||
icon_dead = "lime-dead"
|
||||
mutatelist = list(/obj/item/seeds/cash)
|
||||
genes = list(/datum/plant_gene/trait/repeated_harvest)
|
||||
mutatelist = list(/obj/item/seeds/firelemon)
|
||||
reagents_add = list("vitamin" = 0.04, "nutriment" = 0.05)
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/grown/citrus/lemon
|
||||
seed = /obj/item/seeds/lemon
|
||||
name = "lemon"
|
||||
desc = "When life gives you lemons, be grateful they aren't limes."
|
||||
desc = "When life gives you lemons, make lemonade."
|
||||
icon_state = "lemon"
|
||||
filling_color = "#FFD700"
|
||||
|
||||
// Money Lemon
|
||||
/obj/item/seeds/cash
|
||||
name = "pack of money seeds"
|
||||
desc = "When life gives you lemons, mutate them into cash."
|
||||
icon_state = "seed-cash"
|
||||
species = "cashtree"
|
||||
plantname = "Money Tree"
|
||||
product = /obj/item/weapon/reagent_containers/food/snacks/grown/shell/moneyfruit
|
||||
// Combustible lemon
|
||||
/obj/item/seeds/firelemon //combustible lemon is too long so firelemon
|
||||
name = "pack of combustible lemon seeds"
|
||||
desc = "When life gives you lemons, don't make lemonade. Make life take the lemons back! Get mad! I don't want your damn lemons!"
|
||||
icon_state = "seed-firelemon"
|
||||
species = "firelemon"
|
||||
plantname = "Combustible Lemon Tree"
|
||||
product = /obj/item/weapon/reagent_containers/food/snacks/grown/firelemon
|
||||
growing_icon = 'icons/obj/hydroponics/growing_fruits.dmi'
|
||||
icon_grow = "lime-grow"
|
||||
icon_dead = "lime-dead"
|
||||
genes = list(/datum/plant_gene/trait/repeated_harvest)
|
||||
lifespan = 55
|
||||
endurance = 45
|
||||
yield = 4
|
||||
reagents_add = list("nutriment" = 0.05)
|
||||
rarity = 50 // Nanotrasen approves...
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/grown/shell/moneyfruit
|
||||
seed = /obj/item/seeds/cash
|
||||
name = "Money Fruit"
|
||||
desc = "Looks like a lemon with something bulging from the inside."
|
||||
icon_state = "moneyfruit"
|
||||
/obj/item/weapon/reagent_containers/food/snacks/grown/firelemon
|
||||
seed = /obj/item/seeds/firelemon
|
||||
name = "Combustible Lemon"
|
||||
desc = "Made for burning houses down."
|
||||
icon_state = "firelemon"
|
||||
bitesize_mod = 2
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/grown/shell/moneyfruit/add_juice()
|
||||
/obj/item/weapon/reagent_containers/food/snacks/grown/firelemon/attack_self(mob/living/user)
|
||||
var/area/A = get_area(user)
|
||||
user.visible_message("<span class='warning'>[user] primes the [src]!</span>", "<span class='userdanger'>You prime the [src]!</span>")
|
||||
var/message = "[ADMIN_LOOKUPFLW(user)] primed a combustible lemon for detonation at [A] [ADMIN_COORDJMP(user)]"
|
||||
bombers += message
|
||||
message_admins(message)
|
||||
log_game("[key_name(user)] primed a combustible lemon for detonation at [A] [COORD(user)].")
|
||||
if(iscarbon(user))
|
||||
var/mob/living/carbon/C = user
|
||||
C.throw_mode_on()
|
||||
icon_state = "firelemon_active"
|
||||
playsound(loc, 'sound/weapons/armbomb.ogg', 75, 1, -3)
|
||||
addtimer(src, "prime", rand(10, 60))
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/grown/firelemon/burn()
|
||||
prime()
|
||||
..()
|
||||
switch(seed.potency)
|
||||
if(0 to 10)
|
||||
trash = /obj/item/stack/spacecash
|
||||
if(11 to 20)
|
||||
trash = /obj/item/stack/spacecash/c10
|
||||
if(21 to 30)
|
||||
trash = /obj/item/stack/spacecash/c20
|
||||
if(31 to 40)
|
||||
trash = /obj/item/stack/spacecash/c50
|
||||
if(41 to 50)
|
||||
trash = /obj/item/stack/spacecash/c100
|
||||
if(51 to 60)
|
||||
trash = /obj/item/stack/spacecash/c200
|
||||
if(61 to 80)
|
||||
trash = /obj/item/stack/spacecash/c500
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/grown/firelemon/proc/update_mob()
|
||||
if(ismob(loc))
|
||||
var/mob/M = loc
|
||||
M.unEquip(src)
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/grown/firelemon/ex_act(severity)
|
||||
qdel(src) //Ensuring that it's deleted by its own explosion
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/grown/firelemon/proc/prime()
|
||||
switch(seed.potency) //Combustible lemons are alot like IEDs, lots of flame, very little bang.
|
||||
if(0 to 30)
|
||||
update_mob()
|
||||
explosion(src.loc,-1,-1,2, flame_range = 1)
|
||||
qdel(src)
|
||||
if(31 to 50)
|
||||
update_mob()
|
||||
explosion(src.loc,-1,-1,2, flame_range = 2)
|
||||
qdel(src)
|
||||
if(51 to 70)
|
||||
update_mob()
|
||||
explosion(src.loc,-1,-1,2, flame_range = 3)
|
||||
qdel(src)
|
||||
if(71 to 90)
|
||||
update_mob()
|
||||
explosion(src.loc,-1,-1,2, flame_range = 4)
|
||||
qdel(src)
|
||||
else
|
||||
trash = /obj/item/stack/spacecash/c1000
|
||||
update_mob()
|
||||
explosion(src.loc,-1,-1,2, flame_range = 5)
|
||||
qdel(src)
|
||||
|
||||
@@ -14,6 +14,7 @@
|
||||
growing_icon = 'icons/obj/hydroponics/growing_fruits.dmi'
|
||||
icon_grow = "cocoapod-grow"
|
||||
icon_dead = "cocoapod-dead"
|
||||
genes = list(/datum/plant_gene/trait/repeated_harvest)
|
||||
mutatelist = list(/obj/item/seeds/cocoapod/vanillapod)
|
||||
reagents_add = list("cocoa" = 0.25, "nutriment" = 0.1)
|
||||
|
||||
@@ -33,6 +34,7 @@
|
||||
species = "vanillapod"
|
||||
plantname = "Vanilla Tree"
|
||||
product = /obj/item/weapon/reagent_containers/food/snacks/grown/vanillapod
|
||||
genes = list(/datum/plant_gene/trait/repeated_harvest)
|
||||
mutatelist = list()
|
||||
reagents_add = list("vanilla" = 0.25, "nutriment" = 0.1)
|
||||
|
||||
|
||||
@@ -7,7 +7,6 @@
|
||||
plantname = "Corn Stalks"
|
||||
product = /obj/item/weapon/reagent_containers/food/snacks/grown/corn
|
||||
maturation = 8
|
||||
oneharvest = 1
|
||||
potency = 20
|
||||
growthstages = 3
|
||||
growing_icon = 'icons/obj/hydroponics/growing_vegetables.dmi'
|
||||
@@ -31,19 +30,20 @@
|
||||
desc = "A reminder of meals gone by."
|
||||
icon_state = "corncob"
|
||||
item_state = "corncob"
|
||||
w_class = 1
|
||||
w_class = WEIGHT_CLASS_TINY
|
||||
throwforce = 0
|
||||
throw_speed = 3
|
||||
throw_range = 7
|
||||
|
||||
/obj/item/weapon/grown/corncob/attackby(obj/item/weapon/grown/W, mob/user, params)
|
||||
..()
|
||||
if(W.is_sharp())
|
||||
user << "<span class='notice'>You use [W] to fashion a pipe out of the corn cob!</span>"
|
||||
new /obj/item/clothing/mask/cigarette/pipe/cobpipe (user.loc)
|
||||
user.unEquip(src)
|
||||
qdel(src)
|
||||
return
|
||||
else
|
||||
return ..()
|
||||
|
||||
// Snapcorn
|
||||
/obj/item/seeds/corn/snapcorn
|
||||
@@ -62,7 +62,7 @@
|
||||
desc = "A cob with snap pops"
|
||||
icon_state = "snapcorn"
|
||||
item_state = "corncob"
|
||||
w_class = 1
|
||||
w_class = WEIGHT_CLASS_TINY
|
||||
throwforce = 0
|
||||
throw_speed = 3
|
||||
throw_range = 7
|
||||
|
||||
@@ -11,6 +11,7 @@
|
||||
growing_icon = 'icons/obj/hydroponics/growing_vegetables.dmi'
|
||||
icon_grow = "eggplant-grow"
|
||||
icon_dead = "eggplant-dead"
|
||||
genes = list(/datum/plant_gene/trait/repeated_harvest)
|
||||
mutatelist = list(/obj/item/seeds/eggplant/eggy)
|
||||
reagents_add = list("vitamin" = 0.04, "nutriment" = 0.1)
|
||||
|
||||
|
||||
@@ -10,7 +10,6 @@
|
||||
maturation = 8
|
||||
yield = 6
|
||||
potency = 20
|
||||
oneharvest = 1
|
||||
growthstages = 3
|
||||
growing_icon = 'icons/obj/hydroponics/growing_flowers.dmi'
|
||||
icon_grow = "poppy-grow"
|
||||
@@ -76,9 +75,8 @@
|
||||
production = 1
|
||||
yield = 2
|
||||
potency = 30
|
||||
oneharvest = 1
|
||||
growthstages = 4
|
||||
plant_type = PLANT_WEED
|
||||
genes = list(/datum/plant_gene/trait/plant_type/weed_hardy)
|
||||
growing_icon = 'icons/obj/hydroponics/growing_flowers.dmi'
|
||||
reagents_add = list("nutriment" = 0.04)
|
||||
|
||||
@@ -103,7 +101,6 @@
|
||||
endurance = 20
|
||||
production = 2
|
||||
yield = 2
|
||||
oneharvest = 1
|
||||
growthstages = 3
|
||||
growing_icon = 'icons/obj/hydroponics/growing_flowers.dmi'
|
||||
icon_grow = "sunflower-grow"
|
||||
@@ -120,7 +117,7 @@
|
||||
force = 0
|
||||
slot_flags = SLOT_HEAD
|
||||
throwforce = 0
|
||||
w_class = 1
|
||||
w_class = WEIGHT_CLASS_TINY
|
||||
throw_speed = 1
|
||||
throw_range = 3
|
||||
|
||||
@@ -170,7 +167,7 @@
|
||||
force = 0
|
||||
slot_flags = SLOT_HEAD
|
||||
throwforce = 0
|
||||
w_class = 1
|
||||
w_class = WEIGHT_CLASS_TINY
|
||||
throw_speed = 1
|
||||
throw_range = 3
|
||||
attack_verb = list("roasted", "scorched", "burned")
|
||||
@@ -180,8 +177,9 @@
|
||||
force = round((5 + seed.potency / 5), 1)
|
||||
|
||||
/obj/item/weapon/grown/novaflower/attack(mob/living/carbon/M, mob/user)
|
||||
if(!..()) return
|
||||
if(istype(M, /mob/living))
|
||||
if(!..())
|
||||
return
|
||||
if(isliving(M))
|
||||
M << "<span class='danger'>You are lit on fire from the intense heat of the [name]!</span>"
|
||||
M.adjust_fire_stacks(seed.potency / 20)
|
||||
if(M.IgniteMob())
|
||||
|
||||
@@ -14,6 +14,7 @@
|
||||
growthstages = 2
|
||||
icon_grow = "grass-grow"
|
||||
icon_dead = "grass-dead"
|
||||
genes = list(/datum/plant_gene/trait/repeated_harvest)
|
||||
mutatelist = list(/obj/item/seeds/grass/carpet)
|
||||
reagents_add = list("nutriment" = 0.02, "hydrogen" = 0.05)
|
||||
|
||||
@@ -24,23 +25,28 @@
|
||||
icon_state = "grassclump"
|
||||
filling_color = "#32CD32"
|
||||
bitesize_mod = 2
|
||||
var/stacktype = /obj/item/stack/tile/grass
|
||||
var/tile_coefficient = 0.02 // 1/50
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/grown/grass/attack_self(mob/user)
|
||||
user << "<span class='notice'>You prepare the astroturf.</span>"
|
||||
var/grassAmt = 1 + round(seed.potency / 50) // The grass we're holding
|
||||
var/grassAmt = 1 + round(seed.potency * tile_coefficient) // The grass we're holding
|
||||
for(var/obj/item/weapon/reagent_containers/food/snacks/grown/grass/G in user.loc) // The grass on the floor
|
||||
grassAmt += 1 + round(G.seed.potency)
|
||||
if(G.type != type)
|
||||
continue
|
||||
grassAmt += 1 + round(G.seed.potency * tile_coefficient)
|
||||
qdel(G)
|
||||
while(grassAmt > 0)
|
||||
var/obj/item/stack/tile/GT = new /obj/item/stack/tile/grass(user.loc)
|
||||
if(grassAmt >= GT.max_amount)
|
||||
GT.amount = GT.max_amount
|
||||
else
|
||||
GT.amount = grassAmt
|
||||
for(var/obj/item/stack/tile/grass/GR in user.loc)
|
||||
if(GR != GT && GR.amount < GR.max_amount)
|
||||
GR.attackby(GT, user) //we try to transfer all old unfinished stacks to the new stack we created.
|
||||
var/obj/item/stack/tile/GT = new stacktype(user.loc)
|
||||
while(grassAmt > GT.max_amount)
|
||||
GT.amount = GT.max_amount
|
||||
grassAmt -= GT.max_amount
|
||||
GT = new stacktype(user.loc)
|
||||
GT.amount = grassAmt
|
||||
for(var/obj/item/stack/tile/T in user.loc)
|
||||
if((T.type == stacktype) && (T.amount < T.max_amount))
|
||||
GT.merge(T)
|
||||
if(GT.amount <= 0)
|
||||
break
|
||||
qdel(src)
|
||||
return
|
||||
|
||||
@@ -51,31 +57,13 @@
|
||||
icon_state = "seed-carpet"
|
||||
species = "carpet"
|
||||
plantname = "Carpet"
|
||||
product = /obj/item/weapon/reagent_containers/food/snacks/grown/carpet
|
||||
mutatelist = list(/obj/item/seeds/grass/carpet)
|
||||
product = /obj/item/weapon/reagent_containers/food/snacks/grown/grass/carpet
|
||||
mutatelist = list()
|
||||
rarity = 10
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/grown/carpet
|
||||
/obj/item/weapon/reagent_containers/food/snacks/grown/grass/carpet
|
||||
seed = /obj/item/seeds/grass/carpet
|
||||
name = "carpet"
|
||||
desc = "The textile industry's dark secret."
|
||||
icon_state = "carpetclump"
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/grown/carpet/attack_self(mob/user)
|
||||
user << "<span class='notice'>You roll out the red carpet.</span>"
|
||||
var/carpetAmt = 1 + round(seed.potency / 50) // The carpet we're holding
|
||||
for(var/obj/item/weapon/reagent_containers/food/snacks/grown/carpet/C in user.loc) // The carpet on the floor
|
||||
carpetAmt += 1 + round(C.seed.potency / 50)
|
||||
qdel(C)
|
||||
while(carpetAmt > 0)
|
||||
var/obj/item/stack/tile/CT = new /obj/item/stack/tile/carpet(user.loc)
|
||||
if(carpetAmt >= CT.max_amount)
|
||||
CT.amount = CT.max_amount
|
||||
else
|
||||
CT.amount = carpetAmt
|
||||
for(var/obj/item/stack/tile/carpet/CA in user.loc)
|
||||
if(CA != CT && CA.amount < CA.max_amount)
|
||||
CA.attackby(CT, user) //we try to transfer all old unfinished stacks to the new stack we created.
|
||||
carpetAmt -= CT.max_amount
|
||||
qdel(src)
|
||||
return
|
||||
stacktype = /obj/item/stack/tile/carpet
|
||||
|
||||
@@ -7,11 +7,11 @@
|
||||
species = "kudzu"
|
||||
plantname = "Kudzu"
|
||||
product = /obj/item/weapon/reagent_containers/food/snacks/grown/kudzupod
|
||||
genes = list(/datum/plant_gene/trait/repeated_harvest, /datum/plant_gene/trait/plant_type/weed_hardy)
|
||||
lifespan = 20
|
||||
endurance = 10
|
||||
yield = 4
|
||||
growthstages = 4
|
||||
plant_type = PLANT_WEED
|
||||
rarity = 30
|
||||
var/list/mutations = list()
|
||||
reagents_add = list("charcoal" = 0.04, "nutriment" = 0.02)
|
||||
@@ -22,12 +22,12 @@
|
||||
return S
|
||||
|
||||
/obj/item/seeds/kudzu/suicide_act(mob/user)
|
||||
user.visible_message("<span class='suicide'>[user] swallows the pack of kudzu seeds! It looks like \he's trying to commit suicide..</span>")
|
||||
user.visible_message("<span class='suicide'>[user] swallows the pack of kudzu seeds! It looks like [user.p_theyre()] trying to commit suicide!</span>")
|
||||
plant(user)
|
||||
return (BRUTELOSS)
|
||||
|
||||
/obj/item/seeds/kudzu/proc/plant(mob/user)
|
||||
if(istype(user.loc,/turf/open/space))
|
||||
if(isspaceturf(user.loc))
|
||||
return
|
||||
var/turf/T = get_turf(src)
|
||||
message_admins("Kudzu planted by [key_name_admin(user)](<A HREF='?_src_=holder;adminmoreinfo=\ref[user]'>?</A>) (<A HREF='?_src_=holder;adminplayerobservefollow=\ref[user]'>FLW</A>) at ([T.x],[T.y],[T.z] - <A HREF='?_src_=holder;adminplayerobservecoodjump=1;X=[T.x];Y=[T.y];Z=[T.z]'>(JMP)</a>)",0,1)
|
||||
@@ -57,6 +57,7 @@
|
||||
if(prob(20))
|
||||
mutations.Remove(pick(temp_mut_list))
|
||||
temp_mut_list.Cut()
|
||||
|
||||
if(S.has_reagent("welding_fuel", 5))
|
||||
for(var/datum/spacevine_mutation/SM in mutations)
|
||||
if(SM.quality == POSITIVE)
|
||||
@@ -64,20 +65,26 @@
|
||||
if(prob(20))
|
||||
mutations.Remove(pick(temp_mut_list))
|
||||
temp_mut_list.Cut()
|
||||
|
||||
if(S.has_reagent("phenol", 5))
|
||||
for(var/datum/spacevine_mutation/SM in mutations)
|
||||
if(SM.quality == MINOR_NEGATIVE)
|
||||
temp_mut_list += SM
|
||||
if(prob(20))
|
||||
mutations.Remove(pick(temp_mut_list))
|
||||
temp_mut_list.Cut()
|
||||
|
||||
if(S.has_reagent("blood", 15))
|
||||
production += rand(15, -5)
|
||||
production = Clamp(production + rand(15, -5),1,10)
|
||||
|
||||
if(S.has_reagent("amatoxin", 5))
|
||||
production += rand(5, -15)
|
||||
production = Clamp(production + rand(5, -15),1,10)
|
||||
|
||||
if(S.has_reagent("plasma", 5))
|
||||
potency += rand(5, -15)
|
||||
potency = Clamp(potency + rand(5, -15),0,100)
|
||||
|
||||
if(S.has_reagent("holywater", 10))
|
||||
potency += rand(15, -5)
|
||||
potency = Clamp(potency + rand(15, -5),0,100)
|
||||
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/grown/kudzupod
|
||||
|
||||
@@ -10,8 +10,9 @@
|
||||
endurance = 40
|
||||
growing_icon = 'icons/obj/hydroponics/growing_fruits.dmi'
|
||||
icon_dead = "watermelon-dead"
|
||||
genes = list(/datum/plant_gene/trait/repeated_harvest)
|
||||
mutatelist = list(/obj/item/seeds/watermelon/holy)
|
||||
reagents_add = list("vitamin" = 0.04, "nutriment" = 0.2)
|
||||
reagents_add = list("water" = 0.2, "vitamin" = 0.04, "nutriment" = 0.2)
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/grown/watermelon
|
||||
seed = /obj/item/seeds/watermelon
|
||||
@@ -21,7 +22,7 @@
|
||||
slice_path = /obj/item/weapon/reagent_containers/food/snacks/watermelonslice
|
||||
slices_num = 5
|
||||
dried_type = null
|
||||
w_class = 3
|
||||
w_class = WEIGHT_CLASS_NORMAL
|
||||
filling_color = "#008000"
|
||||
bitesize_mod = 3
|
||||
|
||||
@@ -43,4 +44,4 @@
|
||||
desc = "The water within this melon has been blessed by some deity that's particularly fond of watermelon."
|
||||
icon_state = "holymelon"
|
||||
filling_color = "#FFD700"
|
||||
dried_type = null
|
||||
dried_type = null
|
||||
|
||||
@@ -11,9 +11,8 @@
|
||||
production = 1
|
||||
yield = -1
|
||||
potency = -1
|
||||
oneharvest = 1
|
||||
growthstages = 4
|
||||
plant_type = PLANT_WEED
|
||||
genes = list(/datum/plant_gene/trait/plant_type/weed_hardy)
|
||||
|
||||
|
||||
// Cabbage
|
||||
@@ -31,6 +30,7 @@
|
||||
yield = 4
|
||||
growthstages = 1
|
||||
growing_icon = 'icons/obj/hydroponics/growing_vegetables.dmi'
|
||||
genes = list(/datum/plant_gene/trait/repeated_harvest)
|
||||
mutatelist = list(/obj/item/seeds/replicapod)
|
||||
reagents_add = list("vitamin" = 0.04, "nutriment" = 0.1)
|
||||
|
||||
@@ -51,6 +51,7 @@
|
||||
species = "sugarcane"
|
||||
plantname = "Sugarcane"
|
||||
product = /obj/item/weapon/reagent_containers/food/snacks/grown/sugarcane
|
||||
genes = list(/datum/plant_gene/trait/repeated_harvest)
|
||||
lifespan = 60
|
||||
endurance = 50
|
||||
maturation = 3
|
||||
@@ -73,8 +74,9 @@
|
||||
desc = "These seeds grow into .357 revolvers."
|
||||
icon_state = "seed-gatfruit"
|
||||
species = "gatfruit"
|
||||
plantname = "gatfruit"
|
||||
plantname = "Gatfruit Tree"
|
||||
product = /obj/item/weapon/reagent_containers/food/snacks/grown/shell/gatfruit
|
||||
genes = list(/datum/plant_gene/trait/repeated_harvest)
|
||||
lifespan = 20
|
||||
endurance = 20
|
||||
maturation = 40
|
||||
@@ -92,7 +94,7 @@
|
||||
desc = "It smells like burning."
|
||||
icon_state = "gatfruit"
|
||||
origin_tech = "combat=6"
|
||||
trash = /obj/item/weapon/gun/projectile/revolver
|
||||
trash = /obj/item/weapon/gun/ballistic/revolver
|
||||
bitesize_mod = 2
|
||||
|
||||
//Cherry Bombs
|
||||
@@ -115,6 +117,8 @@
|
||||
seed = /obj/item/seeds/cherry/bomb
|
||||
bitesize_mod = 2
|
||||
volume = 125 //Gives enough room for the black powder at max potency
|
||||
obj_integrity = 40
|
||||
max_integrity = 40
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/grown/cherry_bomb/attack_self(mob/living/user)
|
||||
var/area/A = get_area(user)
|
||||
@@ -123,12 +127,14 @@
|
||||
log_game("[user] ([user.key ? user.key : "no key"]) primed a cherry bomb for detonation at [A] ([user.x],[user.y],[user.z]).")
|
||||
prime()
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/grown/cherry_bomb/burn()
|
||||
prime()
|
||||
..()
|
||||
/obj/item/weapon/reagent_containers/food/snacks/grown/cherry_bomb/deconstruct(disassembled = TRUE)
|
||||
if(!disassembled)
|
||||
prime()
|
||||
if(!qdeleted(src))
|
||||
qdel(src)
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/grown/cherry_bomb/ex_act(severity)
|
||||
qdel(src) //Ensuring that it's deleted by its own explosion
|
||||
qdel(src) //Ensuring that it's deleted by its own explosion. Also prevents mass chain reaction with piles of cherry bombs
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/grown/cherry_bomb/proc/prime()
|
||||
icon_state = "cherry_bomb_lit"
|
||||
|
||||
@@ -17,9 +17,8 @@
|
||||
production = 5
|
||||
yield = 4
|
||||
potency = 15
|
||||
oneharvest = 1
|
||||
growthstages = 4
|
||||
plant_type = PLANT_MUSHROOM
|
||||
genes = list(/datum/plant_gene/trait/plant_type/fungal_metabolism)
|
||||
growing_icon = 'icons/obj/hydroponics/growing_mushrooms.dmi'
|
||||
reagents_add = list("morphine" = 0.35, "charcoal" = 0.35, "nutriment" = 0)
|
||||
|
||||
@@ -44,12 +43,11 @@
|
||||
maturation = 10
|
||||
production = 5
|
||||
yield = 4
|
||||
oneharvest = 1
|
||||
growthstages = 3
|
||||
plant_type = PLANT_MUSHROOM
|
||||
genes = list(/datum/plant_gene/trait/plant_type/fungal_metabolism)
|
||||
growing_icon = 'icons/obj/hydroponics/growing_mushrooms.dmi'
|
||||
mutatelist = list(/obj/item/seeds/angel)
|
||||
reagents_add = list("mushroomhallucinogen" = 0.04, "amatoxin" = 0.35, "nutriment" = 0)
|
||||
reagents_add = list("mushroomhallucinogen" = 0.04, "amatoxin" = 0.35, "nutriment" = 0, "growthserum" = 0.1)
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/amanita
|
||||
seed = /obj/item/seeds/amanita
|
||||
@@ -73,9 +71,8 @@
|
||||
production = 5
|
||||
yield = 2
|
||||
potency = 35
|
||||
oneharvest = 1
|
||||
growthstages = 3
|
||||
plant_type = PLANT_MUSHROOM
|
||||
genes = list(/datum/plant_gene/trait/plant_type/fungal_metabolism)
|
||||
growing_icon = 'icons/obj/hydroponics/growing_mushrooms.dmi'
|
||||
reagents_add = list("mushroomhallucinogen" = 0.04, "amatoxin" = 0.1, "nutriment" = 0, "amanitin" = 0.2)
|
||||
rarity = 30
|
||||
@@ -101,9 +98,8 @@
|
||||
production = 1
|
||||
yield = 5
|
||||
potency = 15
|
||||
oneharvest = 1
|
||||
growthstages = 3
|
||||
plant_type = PLANT_MUSHROOM
|
||||
genes = list(/datum/plant_gene/trait/plant_type/fungal_metabolism)
|
||||
growing_icon = 'icons/obj/hydroponics/growing_mushrooms.dmi'
|
||||
reagents_add = list("mushroomhallucinogen" = 0.25, "nutriment" = 0.02)
|
||||
|
||||
@@ -127,9 +123,8 @@
|
||||
production = 1
|
||||
yield = 4
|
||||
potency = 15
|
||||
oneharvest = 1
|
||||
growthstages = 3
|
||||
plant_type = PLANT_MUSHROOM
|
||||
genes = list(/datum/plant_gene/trait/plant_type/fungal_metabolism)
|
||||
growing_icon = 'icons/obj/hydroponics/growing_mushrooms.dmi'
|
||||
mutatelist = list(/obj/item/seeds/plump/walkingmushroom)
|
||||
reagents_add = list("vitamin" = 0.04, "nutriment" = 0.1)
|
||||
@@ -168,7 +163,7 @@
|
||||
origin_tech = "biotech=4;programming=5"
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/walkingmushroom/attack_self(mob/user)
|
||||
if(istype(user.loc,/turf/open/space))
|
||||
if(isspaceturf(user.loc))
|
||||
return
|
||||
var/mob/living/simple_animal/hostile/mushroom/M = new /mob/living/simple_animal/hostile/mushroom(user.loc)
|
||||
M.maxHealth += round(seed.endurance / 4)
|
||||
@@ -194,9 +189,8 @@
|
||||
production = 1
|
||||
yield = 5
|
||||
potency = 15
|
||||
oneharvest = 1
|
||||
growthstages = 3
|
||||
plant_type = PLANT_MUSHROOM
|
||||
genes = list(/datum/plant_gene/trait/plant_type/fungal_metabolism)
|
||||
growing_icon = 'icons/obj/hydroponics/growing_mushrooms.dmi'
|
||||
reagents_add = list("nutriment" = 0.1)
|
||||
|
||||
@@ -222,11 +216,9 @@
|
||||
production = 1
|
||||
yield = 3 //-> spread
|
||||
potency = 30 //-> brightness
|
||||
oneharvest = 1
|
||||
growthstages = 4
|
||||
plant_type = PLANT_MUSHROOM
|
||||
rarity = 20
|
||||
genes = list(/datum/plant_gene/trait/glow)
|
||||
genes = list(/datum/plant_gene/trait/glow, /datum/plant_gene/trait/plant_type/fungal_metabolism)
|
||||
growing_icon = 'icons/obj/hydroponics/growing_mushrooms.dmi'
|
||||
mutatelist = list(/obj/item/seeds/glowshroom/glowcap)
|
||||
reagents_add = list("radium" = 0.1, "phosphorus" = 0.1, "nutriment" = 0.04)
|
||||
@@ -237,15 +229,16 @@
|
||||
desc = "<I>Mycena Bregprox</I>: This species of mushroom glows in the dark."
|
||||
icon_state = "glowshroom"
|
||||
filling_color = "#00FA9A"
|
||||
var/effect_path = /obj/effect/glowshroom
|
||||
var/effect_path = /obj/structure/glowshroom
|
||||
origin_tech = "biotech=4;plasmatech=6"
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/glowshroom/attack_self(mob/user)
|
||||
if(istype(user.loc,/turf/open/space))
|
||||
if(isspaceturf(user.loc))
|
||||
return
|
||||
var/obj/effect/glowshroom/planted = new effect_path(user.loc)
|
||||
var/obj/structure/glowshroom/planted = new effect_path(user.loc)
|
||||
planted.delay = planted.delay - seed.production * 100 //So the delay goes DOWN with better stats instead of up. :I
|
||||
planted.endurance = seed.endurance
|
||||
planted.obj_integrity = seed.endurance
|
||||
planted.max_integrity = seed.endurance
|
||||
planted.yield = seed.yield
|
||||
planted.potency = seed.potency
|
||||
user << "<span class='notice'>You plant [src].</span>"
|
||||
@@ -261,9 +254,8 @@
|
||||
icon_grow = "glowshroom-grow"
|
||||
icon_dead = "glowshroom-dead"
|
||||
plantname = "Glowcaps"
|
||||
plant_type = PLANT_MUSHROOM
|
||||
product = /obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/glowshroom/glowcap
|
||||
genes = list(/datum/plant_gene/trait/glow, /datum/plant_gene/trait/cell_charge)
|
||||
genes = list(/datum/plant_gene/trait/glow, /datum/plant_gene/trait/cell_charge, /datum/plant_gene/trait/plant_type/fungal_metabolism)
|
||||
mutatelist = list()
|
||||
reagents_add = list("teslium" = 0.1, "nutriment" = 0.04)
|
||||
rarity = 30
|
||||
@@ -274,5 +266,5 @@
|
||||
desc = "<I>Mycena Ruthenia</I>: This species of mushroom glows in the dark, but aren't bioluminescent. They're warm to the touch..."
|
||||
icon_state = "glowcap"
|
||||
filling_color = "#00FA9A"
|
||||
effect_path = /obj/effect/glowshroom/glowcap
|
||||
effect_path = /obj/structure/glowshroom/glowcap
|
||||
origin_tech = "biotech=4;powerstorage=6;plasmatech=4"
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
endurance = 40 // tuff like a toiger
|
||||
yield = 4
|
||||
growthstages = 5
|
||||
plant_type = PLANT_WEED
|
||||
genes = list(/datum/plant_gene/trait/repeated_harvest, /datum/plant_gene/trait/plant_type/weed_hardy)
|
||||
mutatelist = list(/obj/item/seeds/nettle/death)
|
||||
reagents_add = list("sacid" = 0.5)
|
||||
|
||||
@@ -23,6 +23,7 @@
|
||||
endurance = 25
|
||||
maturation = 8
|
||||
yield = 2
|
||||
genes = list(/datum/plant_gene/trait/repeated_harvest, /datum/plant_gene/trait/plant_type/weed_hardy, /datum/plant_gene/trait/stinging)
|
||||
mutatelist = list()
|
||||
reagents_add = list("facid" = 0.5, "sacid" = 0.5)
|
||||
rarity = 20
|
||||
@@ -36,14 +37,14 @@
|
||||
force = 15
|
||||
hitsound = 'sound/weapons/bladeslice.ogg'
|
||||
throwforce = 5
|
||||
w_class = 1
|
||||
w_class = WEIGHT_CLASS_TINY
|
||||
throw_speed = 1
|
||||
throw_range = 3
|
||||
origin_tech = "combat=3"
|
||||
attack_verb = list("stung")
|
||||
|
||||
/obj/item/weapon/grown/nettle/suicide_act(mob/user)
|
||||
user.visible_message("<span class='suicide'>[user] is eating some of the [src.name]! It looks like \he's trying to commit suicide.</span>")
|
||||
user.visible_message("<span class='suicide'>[user] is eating some of [src]! It looks like [user.p_theyre()] trying to commit suicide!</span>")
|
||||
return (BRUTELOSS|TOXLOSS)
|
||||
|
||||
/obj/item/weapon/grown/nettle/pickup(mob/living/user)
|
||||
@@ -51,16 +52,13 @@
|
||||
if(!iscarbon(user))
|
||||
return 0
|
||||
var/mob/living/carbon/C = user
|
||||
if(ishuman(user))
|
||||
var/mob/living/carbon/human/H = C
|
||||
if(H.gloves)
|
||||
return 0
|
||||
var/organ = ((H.hand ? "l_":"r_") + "arm")
|
||||
var/obj/item/bodypart/affecting = H.get_bodypart(organ)
|
||||
if(affecting && affecting.take_damage(0, force))
|
||||
H.update_damage_overlays(0)
|
||||
else
|
||||
C.take_organ_damage(0,force)
|
||||
if(C.gloves)
|
||||
return 0
|
||||
var/hit_zone = (C.held_index_to_dir(C.active_hand_index) == "l" ? "l_":"r_") + "arm"
|
||||
var/obj/item/bodypart/affecting = C.get_bodypart(hit_zone)
|
||||
if(affecting)
|
||||
if(affecting.receive_damage(0, force))
|
||||
C.update_damage_overlays()
|
||||
C << "<span class='userdanger'>The nettle burns your bare hand!</span>"
|
||||
return 1
|
||||
|
||||
@@ -94,15 +92,15 @@
|
||||
force = round((5 + seed.potency / 2.5), 1)
|
||||
|
||||
/obj/item/weapon/grown/nettle/death/pickup(mob/living/carbon/user)
|
||||
..()
|
||||
if(..())
|
||||
if(prob(50))
|
||||
user.Paralyse(5)
|
||||
user << "<span class='userdanger'>You are stunned by the Deathnettle when you try picking it up!</span>"
|
||||
|
||||
/obj/item/weapon/grown/nettle/death/attack(mob/living/carbon/M, mob/user)
|
||||
if(!..()) return
|
||||
if(istype(M, /mob/living))
|
||||
if(!..())
|
||||
return
|
||||
if(isliving(M))
|
||||
M << "<span class='danger'>You are stunned by the powerful acid of the Deathnettle!</span>"
|
||||
add_logs(user, M, "attacked", src)
|
||||
|
||||
|
||||
@@ -10,11 +10,11 @@
|
||||
maturation = 10
|
||||
production = 1
|
||||
yield = 4
|
||||
oneharvest = 1
|
||||
growthstages = 4
|
||||
growing_icon = 'icons/obj/hydroponics/growing_vegetables.dmi'
|
||||
icon_grow = "potato-grow"
|
||||
icon_dead = "potato-dead"
|
||||
genes = list(/datum/plant_gene/trait/battery)
|
||||
mutatelist = list(/obj/item/seeds/potato/sweet)
|
||||
reagents_add = list("vitamin" = 0.04, "nutriment" = 0.1)
|
||||
|
||||
@@ -26,30 +26,26 @@
|
||||
filling_color = "#E9967A"
|
||||
bitesize = 100
|
||||
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/grown/potato/wedges
|
||||
name = "potato wedges"
|
||||
desc = "a potato cut up into wedges"
|
||||
icon_state = "potato_wedge"
|
||||
filling_color = "#E9967A"
|
||||
bitesize = 100
|
||||
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/grown/potato/attackby(obj/item/weapon/W, mob/user, params)
|
||||
..()
|
||||
if(istype(W, /obj/item/stack/cable_coil))
|
||||
var/obj/item/stack/cable_coil/C = W
|
||||
if (C.use(5))
|
||||
user << "<span class='notice'>You add some cable to the potato and slide it inside the battery encasing.</span>"
|
||||
var/obj/item/weapon/stock_parts/cell/potato/pocell = new /obj/item/weapon/stock_parts/cell/potato(user.loc)
|
||||
pocell.maxcharge = seed.potency * 20
|
||||
if(W.is_sharp())
|
||||
user << "<span class='notice'>You cut the potato into wedges with [W].</span>"
|
||||
var/obj/item/weapon/reagent_containers/food/snacks/grown/potato/wedges/Wedges = new /obj/item/weapon/reagent_containers/food/snacks/grown/potato/wedges
|
||||
if(!remove_item_from_storage(user))
|
||||
user.unEquip(src)
|
||||
user.put_in_hands(Wedges)
|
||||
qdel(src)
|
||||
else
|
||||
return ..()
|
||||
|
||||
// The secret of potato supercells!
|
||||
var/datum/plant_gene/trait/cell_charge/G = seed.get_gene(/datum/plant_gene/trait/cell_charge)
|
||||
if(G) // 10x charge for deafult cell charge gene - 20 000 with 100 potency.
|
||||
pocell.maxcharge *= G.rate*1000
|
||||
pocell.charge = pocell.maxcharge
|
||||
pocell.desc = "A rechargable starch based power cell. This one has a power rating of [pocell.maxcharge], and you should not swallow it."
|
||||
|
||||
if(reagents.has_reagent("plasma", 2))
|
||||
pocell.rigged = 1
|
||||
|
||||
qdel(src)
|
||||
return
|
||||
else
|
||||
user << "<span class='warning'>You need five lengths of cable to make a potato battery!</span>"
|
||||
return
|
||||
|
||||
// Sweet Potato
|
||||
/obj/item/seeds/potato/sweet
|
||||
|
||||
@@ -12,6 +12,7 @@
|
||||
growing_icon = 'icons/obj/hydroponics/growing_fruits.dmi'
|
||||
icon_grow = "pumpkin-grow"
|
||||
icon_dead = "pumpkin-dead"
|
||||
genes = list(/datum/plant_gene/trait/repeated_harvest)
|
||||
mutatelist = list(/obj/item/seeds/pumpkin/blumpkin)
|
||||
reagents_add = list("vitamin" = 0.04, "nutriment" = 0.2)
|
||||
|
||||
@@ -24,12 +25,13 @@
|
||||
bitesize_mod = 2
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/grown/pumpkin/attackby(obj/item/weapon/W as obj, mob/user as mob, params)
|
||||
..()
|
||||
if(W.is_sharp())
|
||||
user.show_message("<span class='notice'>You carve a face into [src]!</span>", 1)
|
||||
new /obj/item/clothing/head/hardhat/pumpkinhead(user.loc)
|
||||
qdel(src)
|
||||
return
|
||||
else
|
||||
return ..()
|
||||
|
||||
// Blumpkin
|
||||
/obj/item/seeds/pumpkin/blumpkin
|
||||
@@ -40,7 +42,7 @@
|
||||
plantname = "Blumpkin Vines"
|
||||
product = /obj/item/weapon/reagent_containers/food/snacks/grown/blumpkin
|
||||
mutatelist = list()
|
||||
reagents_add = list("ammonia" = 0.2, "chlorine" = 0.2, "nutriment" = 0.2)
|
||||
reagents_add = list("ammonia" = 0.2, "chlorine" = 0.1, "nutriment" = 0.2)
|
||||
rarity = 20
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/grown/blumpkin
|
||||
@@ -49,4 +51,4 @@
|
||||
desc = "The pumpkin's toxic sibling."
|
||||
icon_state = "blumpkin"
|
||||
filling_color = "#87CEFA"
|
||||
bitesize_mod = 2
|
||||
bitesize_mod = 2
|
||||
|
||||
@@ -0,0 +1,29 @@
|
||||
//Random seeds; stats, traits, and plant type are randomized for each seed.
|
||||
|
||||
/obj/item/seeds/random
|
||||
name = "pack of strange seeds"
|
||||
desc = "Mysterious seeds as strange as their name implies. Spooky"
|
||||
icon_state = "seed-x"
|
||||
species = "?????"
|
||||
plantname = "strange plant"
|
||||
product = /obj/item/weapon/reagent_containers/food/snacks/grown/random
|
||||
icon_grow = "xpod-grow"
|
||||
icon_dead = "xpod-dead"
|
||||
icon_harvest = "xpod-harvest"
|
||||
growthstages = 4
|
||||
|
||||
/obj/item/seeds/random/New()
|
||||
randomize_stats()
|
||||
..()
|
||||
if(prob(60))
|
||||
add_random_reagents()
|
||||
if(prob(50))
|
||||
add_random_traits()
|
||||
add_random_plant_type(35)
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/grown/random
|
||||
seed = /obj/item/seeds/random
|
||||
name = "strange plant"
|
||||
desc = "What could this even be?"
|
||||
icon_state = "crunchy"
|
||||
bitesize_mod = 2
|
||||
@@ -12,7 +12,6 @@
|
||||
maturation = 10
|
||||
production = 1
|
||||
yield = 1 //seeds if there isn't a dna inside
|
||||
oneharvest = 1
|
||||
potency = 30
|
||||
var/ckey = null
|
||||
var/realName = null
|
||||
@@ -42,7 +41,8 @@
|
||||
user << "<span class='warning'>The seeds reject the sample!</span>"
|
||||
else
|
||||
user << "<span class='warning'>The seeds already contain a genetic sample!</span>"
|
||||
..()
|
||||
else
|
||||
return ..()
|
||||
|
||||
/obj/item/seeds/replicapod/get_analyzer_text()
|
||||
var/text = ..()
|
||||
@@ -58,7 +58,7 @@
|
||||
if(config.revival_pod_plants)
|
||||
if(ckey)
|
||||
for(var/mob/M in player_list)
|
||||
if(istype(M, /mob/dead/observer))
|
||||
if(isobserver(M))
|
||||
var/mob/dead/observer/O = M
|
||||
if(O.ckey == ckey && O.can_reenter_corpse)
|
||||
make_podman = 1
|
||||
@@ -66,19 +66,19 @@
|
||||
else
|
||||
if(M.ckey == ckey && M.stat == DEAD && !M.suiciding)
|
||||
make_podman = 1
|
||||
if(istype(M, /mob/living))
|
||||
if(isliving(M))
|
||||
var/mob/living/L = M
|
||||
make_podman = !L.hellbound
|
||||
break
|
||||
else //If the player has ghosted from his corpse before blood was drawn, his ckey is no longer attached to the mob, so we need to match up the cloned player through the mind key
|
||||
for(var/mob/M in player_list)
|
||||
if(mind && M.mind && ckey(M.mind.key) == ckey(mind.key) && M.ckey && M.client && M.stat == 2 && !M.suiciding)
|
||||
if(istype(M, /mob/dead/observer))
|
||||
if(isobserver(M))
|
||||
var/mob/dead/observer/O = M
|
||||
if(!O.can_reenter_corpse)
|
||||
break
|
||||
make_podman = 1
|
||||
if(istype(M, /mob/living))
|
||||
if(isliving(M))
|
||||
var/mob/living/L = M
|
||||
make_podman = !L.hellbound
|
||||
ckey_holder = M.ckey
|
||||
@@ -106,8 +106,9 @@
|
||||
var/seed_count = 1
|
||||
if(prob(getYield() * 20))
|
||||
seed_count++
|
||||
var/output_loc = parent.Adjacent(user) ? user.loc : parent.loc //needed for TK
|
||||
for(var/i=0,i<seed_count,i++)
|
||||
var/obj/item/seeds/replicapod/harvestseeds = src.Copy()
|
||||
harvestseeds.forceMove(parent.loc)
|
||||
harvestseeds.forceMove(output_loc)
|
||||
|
||||
parent.update_tray()
|
||||
|
||||
@@ -9,7 +9,6 @@
|
||||
maturation = 10
|
||||
production = 1
|
||||
yield = 5
|
||||
oneharvest = 1
|
||||
growthstages = 3
|
||||
growing_icon = 'icons/obj/hydroponics/growing_vegetables.dmi'
|
||||
mutatelist = list(/obj/item/seeds/carrot/parsnip)
|
||||
@@ -24,7 +23,7 @@
|
||||
bitesize_mod = 2
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/grown/carrot/attackby(obj/item/I, mob/user, params)
|
||||
if(istype(I, /obj/item/weapon/kitchen/knife) || istype(I, /obj/item/weapon/hatchet))
|
||||
if(I.is_sharp())
|
||||
user << "<span class='notice'>You sharpen the carrot into a shiv with [I].</span>"
|
||||
var/obj/item/weapon/kitchen/knife/carrotshiv/Shiv = new /obj/item/weapon/kitchen/knife/carrotshiv
|
||||
if(!remove_item_from_storage(user))
|
||||
@@ -65,7 +64,6 @@
|
||||
lifespan = 60
|
||||
endurance = 50
|
||||
yield = 6
|
||||
oneharvest = 1
|
||||
growing_icon = 'icons/obj/hydroponics/growing_vegetables.dmi'
|
||||
icon_dead = "whitebeet-dead"
|
||||
mutatelist = list(/obj/item/seeds/redbeet)
|
||||
@@ -90,9 +88,9 @@
|
||||
lifespan = 60
|
||||
endurance = 50
|
||||
yield = 6
|
||||
oneharvest = 1
|
||||
growing_icon = 'icons/obj/hydroponics/growing_vegetables.dmi'
|
||||
icon_dead = "whitebeet-dead"
|
||||
genes = list(/datum/plant_gene/trait/maxchem)
|
||||
reagents_add = list("vitamin" = 0.05, "nutriment" = 0.05)
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/grown/redbeet
|
||||
@@ -100,4 +98,4 @@
|
||||
name = "red beet"
|
||||
desc = "You can't beat red beet."
|
||||
icon_state = "redbeet"
|
||||
bitesize_mod = 2
|
||||
bitesize_mod = 2
|
||||
|
||||
@@ -12,6 +12,7 @@
|
||||
yield = 5
|
||||
growthstages = 5
|
||||
icon_dead = "tea-dead"
|
||||
genes = list(/datum/plant_gene/trait/repeated_harvest)
|
||||
mutatelist = list(/obj/item/seeds/tea/astra)
|
||||
reagents_add = list("vitamin" = 0.04, "teapowder" = 0.1)
|
||||
|
||||
@@ -55,6 +56,7 @@
|
||||
yield = 5
|
||||
growthstages = 5
|
||||
icon_dead = "coffee-dead"
|
||||
genes = list(/datum/plant_gene/trait/repeated_harvest)
|
||||
mutatelist = list(/obj/item/seeds/coffee/robusta)
|
||||
reagents_add = list("vitamin" = 0.04, "coffeepowder" = 0.1)
|
||||
|
||||
|
||||
@@ -9,7 +9,6 @@
|
||||
lifespan = 20
|
||||
maturation = 5
|
||||
production = 5
|
||||
oneharvest = 1
|
||||
yield = 10
|
||||
growthstages = 3
|
||||
icon_dead = "tobacco-dead"
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
growing_icon = 'icons/obj/hydroponics/growing_fruits.dmi'
|
||||
icon_grow = "tomato-grow"
|
||||
icon_dead = "tomato-dead"
|
||||
genes = list(/datum/plant_gene/trait/squash)
|
||||
genes = list(/datum/plant_gene/trait/squash, /datum/plant_gene/trait/repeated_harvest)
|
||||
mutatelist = list(/obj/item/seeds/tomato/blue, /obj/item/seeds/tomato/blood, /obj/item/seeds/tomato/killer)
|
||||
reagents_add = list("vitamin" = 0.04, "nutriment" = 0.1)
|
||||
|
||||
@@ -56,7 +56,7 @@
|
||||
yield = 2
|
||||
icon_grow = "bluetomato-grow"
|
||||
mutatelist = list(/obj/item/seeds/tomato/blue/bluespace)
|
||||
genes = list(/datum/plant_gene/trait/slip)
|
||||
genes = list(/datum/plant_gene/trait/slip, /datum/plant_gene/trait/repeated_harvest)
|
||||
reagents_add = list("lube" = 0.2, "vitamin" = 0.04, "nutriment" = 0.1)
|
||||
rarity = 20
|
||||
|
||||
@@ -79,7 +79,7 @@
|
||||
product = /obj/item/weapon/reagent_containers/food/snacks/grown/tomato/blue/bluespace
|
||||
yield = 2
|
||||
mutatelist = list()
|
||||
genes = list(/datum/plant_gene/trait/squash, /datum/plant_gene/trait/slip, /datum/plant_gene/trait/teleport)
|
||||
genes = list(/datum/plant_gene/trait/squash, /datum/plant_gene/trait/slip, /datum/plant_gene/trait/teleport, /datum/plant_gene/trait/repeated_harvest)
|
||||
reagents_add = list("lube" = 0.2, "singulo" = 0.2, "vitamin" = 0.04, "nutriment" = 0.1)
|
||||
rarity = 50
|
||||
|
||||
@@ -100,7 +100,7 @@
|
||||
plantname = "Killer-Tomato Plants"
|
||||
product = /obj/item/weapon/reagent_containers/food/snacks/grown/tomato/killer
|
||||
yield = 2
|
||||
oneharvest = 1
|
||||
genes = list(/datum/plant_gene/trait/squash)
|
||||
growthstages = 2
|
||||
icon_grow = "killertomato-grow"
|
||||
icon_harvest = "killertomato-harvest"
|
||||
@@ -124,7 +124,7 @@
|
||||
..()
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/grown/tomato/killer/attack_self(mob/user)
|
||||
if(awakening || istype(user.loc,/turf/open/space))
|
||||
if(awakening || isspaceturf(user.loc))
|
||||
return
|
||||
user << "<span class='notice'>You begin to awaken the Killer Tomato...</span>"
|
||||
awakening = 1
|
||||
|
||||
@@ -11,11 +11,10 @@
|
||||
production = 1
|
||||
yield = 5
|
||||
potency = 50
|
||||
oneharvest = 1
|
||||
growthstages = 3
|
||||
growing_icon = 'icons/obj/hydroponics/growing_mushrooms.dmi'
|
||||
icon_dead = "towercap-dead"
|
||||
plant_type = PLANT_MUSHROOM
|
||||
genes = list(/datum/plant_gene/trait/plant_type/fungal_metabolism)
|
||||
mutatelist = list(/obj/item/seeds/tower/steel)
|
||||
|
||||
/obj/item/seeds/tower/steel
|
||||
@@ -38,7 +37,7 @@
|
||||
icon_state = "logs"
|
||||
force = 5
|
||||
throwforce = 5
|
||||
w_class = 3
|
||||
w_class = WEIGHT_CLASS_NORMAL
|
||||
throw_speed = 2
|
||||
throw_range = 3
|
||||
origin_tech = "materials=1"
|
||||
@@ -53,7 +52,6 @@
|
||||
|
||||
|
||||
/obj/item/weapon/grown/log/attackby(obj/item/weapon/W, mob/user, params)
|
||||
..()
|
||||
if(W.sharpness)
|
||||
user.show_message("<span class='notice'>You make [plank_name] out of \the [src]!</span>", 1)
|
||||
var/obj/item/stack/plank = new plank_type(user.loc, 1 + round(seed.potency / 25))
|
||||
@@ -77,6 +75,8 @@
|
||||
return
|
||||
else
|
||||
usr << "<span class ='warning'>You must dry this first!</span>"
|
||||
else
|
||||
return ..()
|
||||
|
||||
/obj/item/weapon/grown/log/tree
|
||||
seed = null
|
||||
@@ -90,4 +90,104 @@
|
||||
icon_state = "steellogs"
|
||||
accepted = list()
|
||||
plank_type = /obj/item/stack/rods
|
||||
plank_name = "rods"
|
||||
plank_name = "rods"
|
||||
|
||||
|
||||
/////////BONFIRES//////////
|
||||
|
||||
/obj/structure/bonfire
|
||||
name = "bonfire"
|
||||
desc = "For grilling, broiling, charring, smoking, heating, roasting, toasting, simmering, searing, melting, and occasionally burning things."
|
||||
icon = 'icons/obj/hydroponics/equipment.dmi'
|
||||
icon_state = "bonfire"
|
||||
density = FALSE
|
||||
anchored = TRUE
|
||||
buckle_lying = 0
|
||||
var/burning = 0
|
||||
var/fire_stack_strength = 5
|
||||
|
||||
/obj/structure/bonfire/attackby(obj/item/W, mob/user, params)
|
||||
if(istype(W, /obj/item/stack/rods) && !can_buckle)
|
||||
var/obj/item/stack/rods/R = W
|
||||
R.use(1)
|
||||
can_buckle = 1
|
||||
buckle_requires_restraints = 1
|
||||
user << "<span class='italics'>You add a rod to [src]."
|
||||
var/image/U = image(icon='icons/obj/hydroponics/equipment.dmi',icon_state="bonfire_rod",pixel_y=16)
|
||||
underlays += U
|
||||
if(W.is_hot())
|
||||
StartBurning()
|
||||
|
||||
|
||||
/obj/structure/bonfire/attack_hand(mob/user)
|
||||
if(burning)
|
||||
user << "<span class='warning'>You need to extinguish [src] before removing the logs!"
|
||||
return
|
||||
if(!has_buckled_mobs() && do_after(user, 50, target = src))
|
||||
for(var/I in 1 to 5)
|
||||
var/obj/item/weapon/grown/log/L = new /obj/item/weapon/grown/log(src.loc)
|
||||
L.pixel_x += rand(1,4)
|
||||
L.pixel_y += rand(1,4)
|
||||
qdel(src)
|
||||
return
|
||||
..()
|
||||
|
||||
|
||||
/obj/structure/bonfire/proc/CheckOxygen()
|
||||
if(isopenturf(loc))
|
||||
var/turf/open/O = loc
|
||||
if(O.air)
|
||||
var/G = O.air.gases
|
||||
if(G["o2"][MOLES] > 16)
|
||||
return 1
|
||||
return 0
|
||||
|
||||
/obj/structure/bonfire/proc/StartBurning()
|
||||
if(!burning && CheckOxygen())
|
||||
icon_state = "bonfire_on_fire"
|
||||
burning = 1
|
||||
SetLuminosity(6)
|
||||
Burn()
|
||||
START_PROCESSING(SSobj, src)
|
||||
|
||||
/obj/structure/bonfire/fire_act(exposed_temperature, exposed_volume)
|
||||
StartBurning()
|
||||
|
||||
/obj/structure/bonfire/Crossed(atom/movable/AM)
|
||||
if(burning)
|
||||
Burn()
|
||||
|
||||
/obj/structure/bonfire/proc/Burn()
|
||||
var/turf/current_location = get_turf(src)
|
||||
current_location.hotspot_expose(1000,500,1)
|
||||
for(var/A in current_location)
|
||||
if(A == src)
|
||||
continue
|
||||
if(isobj(A))
|
||||
var/obj/O = A
|
||||
O.fire_act(1000, 500)
|
||||
else if(isliving(A))
|
||||
var/mob/living/L = A
|
||||
L.adjust_fire_stacks(fire_stack_strength)
|
||||
L.IgniteMob()
|
||||
|
||||
/obj/structure/bonfire/process()
|
||||
if(!CheckOxygen())
|
||||
extinguish()
|
||||
return
|
||||
Burn()
|
||||
|
||||
/obj/structure/bonfire/extinguish()
|
||||
if(burning)
|
||||
icon_state = "bonfire"
|
||||
burning = 0
|
||||
SetLuminosity(0)
|
||||
STOP_PROCESSING(SSobj, src)
|
||||
|
||||
/obj/structure/bonfire/buckle_mob(mob/living/M, force = 0)
|
||||
if(..())
|
||||
M.pixel_y += 13
|
||||
|
||||
/obj/structure/bonfire/unbuckle_mob(mob/living/buckled_mob, force=0)
|
||||
if(..())
|
||||
buckled_mob.pixel_y -= 13
|
||||
Reference in New Issue
Block a user