diff --git a/_maps/map_files/RandomZLevels/spacehotel.dmm b/_maps/map_files/RandomZLevels/spacehotel.dmm index c09808a51f8..84a4b089ea2 100644 --- a/_maps/map_files/RandomZLevels/spacehotel.dmm +++ b/_maps/map_files/RandomZLevels/spacehotel.dmm @@ -483,7 +483,7 @@ "jo" = (/obj/effect/decal/remains/human,/obj/item/clothing/head/soft/red,/turf/unsimulated/floor/carpet,/area/awaymission/spacehotel) "jp" = (/obj/item/toy/prize/honk,/turf/unsimulated/floor/carpet,/area/awaymission/spacehotel) "jq" = (/obj/item/toy/spinningtoy,/turf/unsimulated/floor/carpet,/area/awaymission/spacehotel) -"jr" = (/obj/item/weapon/bananapeel,/obj/item/toy/spinningtoy,/turf/unsimulated/floor/carpet,/area/awaymission/spacehotel) +"jr" = (/obj/item/weapon/grown/bananapeel,/obj/item/toy/spinningtoy,/turf/unsimulated/floor/carpet,/area/awaymission/spacehotel) "js" = (/obj/structure/barricade/wooden,/turf/unsimulated/floor/carpet,/area/awaymission/spacehotel) "jt" = (/obj/machinery/door/airlock/glass,/obj/item/tape/engineering{icon_state = "engineering_door"; layer = 3.2},/turf/unsimulated/floor/carpet,/area/awaymission/spacehotel) "ju" = (/obj/machinery/gateway{dir = 10},/turf/unsimulated/floor{icon_state = "warning"; dir = 10},/area/awaymission/spacehotel) diff --git a/_maps/map_files/templates/spacehotel/n_02.dmm b/_maps/map_files/templates/spacehotel/n_02.dmm index 9555b7a80e5..cda6eb42b4e 100644 --- a/_maps/map_files/templates/spacehotel/n_02.dmm +++ b/_maps/map_files/templates/spacehotel/n_02.dmm @@ -1,12 +1,12 @@ "a" = (/turf/template_noop,/area/template_noop) "b" = (/obj/effect/decal/cleanable/flour{desc = "Probably."},/obj/effect/decal/cleanable/pie_smudge,/turf/template_noop,/area/template_noop) -"c" = (/obj/effect/decal/cleanable/pie_smudge,/obj/effect/decal/cleanable/flour,/obj/item/weapon/bananapeel{layer = 2.6},/turf/template_noop,/area/template_noop) +"c" = (/obj/effect/decal/cleanable/pie_smudge,/obj/effect/decal/cleanable/flour,/obj/item/weapon/grown/bananapeel{layer = 2.6},/turf/template_noop,/area/template_noop) "d" = (/obj/structure/sign/poster{dir = 8; pixel_x = -32},/turf/unsimulated/floor/carpet,/area/template_noop) "e" = (/turf/unsimulated/floor/carpet,/area/template_noop) "f" = (/obj/effect/decal/cleanable/pie_smudge,/obj/effect/decal/cleanable/flour,/turf/unsimulated/floor/carpet,/area/template_noop) "g" = (/obj/structure/dresser,/turf/unsimulated/floor/carpet,/area/template_noop) -"h" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/orange,/obj/effect/decal/cleanable/pie_smudge,/obj/effect/decal/cleanable/flour,/obj/item/weapon/bananapeel/clownfish,/turf/unsimulated/floor/carpet,/area/template_noop) -"i" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/orange,/obj/effect/decal/cleanable/flour{desc = "Rather caked in there."},/obj/effect/decal/cleanable/pie_smudge,/obj/item/weapon/bananapeel/clownfish,/turf/unsimulated/floor/carpet,/area/template_noop) +"h" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/orange,/obj/effect/decal/cleanable/pie_smudge,/obj/effect/decal/cleanable/flour,/obj/item/weapon/grown/bananapeel/clownfish,/turf/unsimulated/floor/carpet,/area/template_noop) +"i" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/orange,/obj/effect/decal/cleanable/flour{desc = "Rather caked in there."},/obj/effect/decal/cleanable/pie_smudge,/obj/item/weapon/grown/bananapeel/clownfish,/turf/unsimulated/floor/carpet,/area/template_noop) "j" = (/obj/structure/window/reinforced/polarized{id = "room_n"},/turf/unsimulated/floor/carpet,/area/template_noop) "k" = (/obj/machinery/door/window/southright,/obj/effect/decal/cleanable/pie_smudge,/obj/effect/decal/cleanable/flour,/turf/unsimulated/floor/carpet,/area/template_noop) "l" = (/obj/effect/decal/cleanable/pie_smudge,/obj/effect/decal/cleanable/flour,/obj/structure/window/reinforced/polarized{id = "room_n"},/turf/unsimulated/floor/carpet,/area/template_noop) @@ -28,3 +28,4 @@ anopqra aaaaaaa aaaaaaa "} + diff --git a/code/datums/cargoprofile.dm b/code/datums/cargoprofile.dm index df415c81e66..becb3ccee56 100644 --- a/code/datums/cargoprofile.dm +++ b/code/datums/cargoprofile.dm @@ -245,7 +245,7 @@ id = "trash" //Note that this filters out blueprints because they are a paper item. Do NOT throw out the station blueprints unless you be trollin'. blacklist = null - whitelist = list(/obj/item/trash,/obj/item/toy,/obj/item/weapon/reagent_containers/food/snacks/ectoplasm,/obj/item/weapon/bananapeel,/obj/item/weapon/broken_bottle,/obj/item/weapon/bikehorn, + whitelist = list(/obj/item/trash,/obj/item/toy,/obj/item/weapon/reagent_containers/food/snacks/ectoplasm,/obj/item/weapon/grown/bananapeel,/obj/item/weapon/broken_bottle,/obj/item/weapon/bikehorn, /obj/item/weapon/cigbutt,/obj/item/weapon/contraband,/obj/item/weapon/grown/corncob,/obj/item/weapon/paper,/obj/item/weapon/shard, /obj/item/weapon/sord,/obj/item/weapon/photo,/obj/item/weapon/folder, /obj/item/areaeditor/blueprints,/obj/item/weapon/contraband,/obj/item/weapon/kitchen,/obj/item/weapon/book,/obj/item/clothing/mask/facehugger) diff --git a/code/game/gamemodes/cult/cult_structures.dm b/code/game/gamemodes/cult/cult_structures.dm index 72b5bfa292b..1f35890373c 100644 --- a/code/game/gamemodes/cult/cult_structures.dm +++ b/code/game/gamemodes/cult/cult_structures.dm @@ -38,7 +38,7 @@ var/selection_prompt = "Choose your weapon, nerdwad" var/creation_delay = 2400 var/list/choosable_items = list( - "A coder forgot to set this" = /obj/item/weapon/bananapeel + "A coder forgot to set this" = /obj/item/weapon/grown/bananapeel ) var/creation_message = "A dank smoke comes out, and you pass out. When you come to, you notice a %ITEM%!" diff --git a/code/game/mecha/equipment/weapons/weapons.dm b/code/game/mecha/equipment/weapons/weapons.dm index f9ad5b48f85..93a86fbe956 100644 --- a/code/game/mecha/equipment/weapons/weapons.dm +++ b/code/game/mecha/equipment/weapons/weapons.dm @@ -358,7 +358,7 @@ /obj/item/mecha_parts/mecha_equipment/weapon/ballistic/missile_rack/banana_mortar name = "Banana Mortar" icon_state = "mecha_bananamrtr" - projectile = /obj/item/weapon/bananapeel + projectile = /obj/item/weapon/grown/bananapeel fire_sound = 'sound/items/bikehorn.ogg' projectiles = 15 missile_speed = 1.5 @@ -375,7 +375,7 @@ if(!action_checks(target)) return set_ready_state(0) - var/obj/item/weapon/bananapeel/B = new projectile(chassis.loc) + var/obj/item/weapon/grown/bananapeel/B = new projectile(chassis.loc) playsound(chassis, fire_sound, 60, 1) B.throw_at(target, missile_range, missile_speed, chassis) projectiles-- diff --git a/code/game/objects/items/stacks/medical.dm b/code/game/objects/items/stacks/medical.dm index 0bfb45e1151..1555e9a697f 100644 --- a/code/game/objects/items/stacks/medical.dm +++ b/code/game/objects/items/stacks/medical.dm @@ -152,6 +152,29 @@ icon_state = "burnkit" heal_burn = 25 +//Medical Herbs// + + +/obj/item/stack/medical/bruise_pack/comfrey + name = "\improper Comfrey leaf" + singular_name = "Comfrey leaf" + desc = "A soft leaf that is rubbed on bruises." + icon = 'icons/obj/hydroponics/harvest.dmi' + icon_state = "tea_aspera_leaves" + color = "#378C61" + heal_brute = 12 + + +/obj/item/stack/medical/ointment/aloe + name = "\improper Aloe Vera leaf" + singular_name = "Aloe Vera leaf" + desc = "A cold leaf that is rubbed on burns." + icon = 'icons/obj/hydroponics/harvest.dmi' + icon_state = "ambrosiavulgaris" + color = "#4CC5C7" + heal_burn = 12 + + //Splits// diff --git a/code/game/objects/items/weapons/clown_items.dm b/code/game/objects/items/weapons/clown_items.dm index aea1ebd3e1b..db6035bddbe 100644 --- a/code/game/objects/items/weapons/clown_items.dm +++ b/code/game/objects/items/weapons/clown_items.dm @@ -5,26 +5,6 @@ * Bike Horns */ -/* - * Banana Peals - */ - -/obj/item/weapon/bananapeel - name = "banana peel" - desc = "A peel from a banana." - icon = 'icons/obj/items.dmi' - icon_state = "banana_peel" - item_state = "banana_peel" - w_class = 1 - throwforce = 0 - throw_speed = 4 - throw_range = 20 - -/obj/item/weapon/bananapeel/Crossed(AM as mob|obj) - if(istype(AM, /mob/living/carbon)) - var/mob/living/carbon/M = AM - M.slip("banana peel", 4, 2) - /* * Soap */ diff --git a/code/game/objects/items/weapons/grenades/bananade.dm b/code/game/objects/items/weapons/grenades/bananade.dm index 189b4eb77c0..580cb993a63 100644 --- a/code/game/objects/items/weapons/grenades/bananade.dm +++ b/code/game/objects/items/weapons/grenades/bananade.dm @@ -9,7 +9,7 @@ var/turf/T icon_state = "banana" item_state = "flashbang" var/deliveryamt = 8 - var/spawner_type = /obj/item/weapon/bananapeel + var/spawner_type = /obj/item/weapon/grown/bananapeel /obj/item/weapon/grenade/bananade/prime() if(spawner_type && deliveryamt) @@ -38,7 +38,7 @@ var/turf/T /obj/item/weapon/grenade/bananade/casing/attackby(var/obj/item/I, mob/user as mob, params) - if(istype(I, /obj/item/weapon/bananapeel)) + if(istype(I, /obj/item/weapon/grown/bananapeel)) if(fillamt < 9) to_chat(usr, "You add another banana peel to the assembly.") fillamt += 1 diff --git a/code/game/objects/items/weapons/grenades/clowngrenade.dm b/code/game/objects/items/weapons/grenades/clowngrenade.dm index 1ce46b44957..80121cc8292 100644 --- a/code/game/objects/items/weapons/grenades/clowngrenade.dm +++ b/code/game/objects/items/weapons/grenades/clowngrenade.dm @@ -23,7 +23,7 @@ for(var/direction in alldirs) for(i = 0; i < 2; i++) number++ - var/obj/item/weapon/bananapeel/traitorpeel/peel = new /obj/item/weapon/bananapeel/traitorpeel(get_turf(src.loc)) + var/obj/item/weapon/grown/bananapeel/traitorpeel/peel = new /obj/item/weapon/grown/bananapeel/traitorpeel(get_turf(src.loc)) /* var/direction = pick(alldirs) var/spaces = pick(1;150, 2) var/a = 0 @@ -35,7 +35,7 @@ step(peel,direction) else step(peel,direction) - new /obj/item/weapon/bananapeel/traitorpeel(get_turf(src.loc)) + new /obj/item/weapon/grown/bananapeel/traitorpeel(get_turf(src.loc)) qdel(src) return /* @@ -46,10 +46,10 @@ return if(locate(/obj/structure/window) in T) return - new /obj/item/weapon/bananapeel/traitorpeel(T) + new /obj/item/weapon/grown/bananapeel/traitorpeel(T) */ -/obj/item/weapon/bananapeel/traitorpeel +/obj/item/weapon/grown/bananapeel/traitorpeel name = "banana peel" desc = "A peel from a banana." icon = 'icons/obj/items.dmi' diff --git a/code/game/objects/items/weapons/grenades/clusterbuster.dm b/code/game/objects/items/weapons/grenades/clusterbuster.dm index 851c625b765..e238e3bda25 100644 --- a/code/game/objects/items/weapons/grenades/clusterbuster.dm +++ b/code/game/objects/items/weapons/grenades/clusterbuster.dm @@ -170,7 +170,7 @@ /obj/item/weapon/grenade/clusterbuster/honk name = "Mega Honk Grenade" - payload = /obj/item/weapon/bananapeel + payload = /obj/item/weapon/grown/bananapeel /obj/item/weapon/grenade/clusterbuster/honk_evil name = "Evil Mega Honk Grenade" diff --git a/code/modules/fish/fish_items.dm b/code/modules/fish/fish_items.dm index 0266f06df90..7d5d3bf20ce 100644 --- a/code/modules/fish/fish_items.dm +++ b/code/modules/fish/fish_items.dm @@ -1,6 +1,6 @@ var/global/list/fish_items_list = list("goldfish" = /obj/item/weapon/fish/goldfish, - "clownfish" = /obj/item/weapon/bananapeel/clownfish, + "clownfish" = /obj/item/weapon/grown/bananapeel/clownfish, "shark" = /obj/item/weapon/fish/shark, "baby space carp" = /obj/item/weapon/fish/babycarp, "catfish" = /obj/item/weapon/fish/catfish, @@ -208,7 +208,7 @@ var/global/list/fish_items_list = list("goldfish" = /obj/item/weapon/fish/goldfi ..() -/obj/item/weapon/bananapeel/clownfish +/obj/item/weapon/grown/bananapeel/clownfish name = "clown fish" desc = "Even underwater, you cannot escape HONKing." icon = 'icons/obj/fish_items.dmi' diff --git a/code/modules/hydroponics/grown/banana.dm b/code/modules/hydroponics/grown/banana.dm index 2bbac360b09..b59eeb42e53 100644 --- a/code/modules/hydroponics/grown/banana.dm +++ b/code/modules/hydroponics/grown/banana.dm @@ -117,5 +117,5 @@ /obj/item/weapon/grown/bananapeel/specialpeel/Crossed(AM) if(iscarbon(AM)) var/mob/living/carbon/carbon = AM - if(carbon.slip(2, 2, src, FALSE)) + if(carbon.slip("[src]", 2, 2)) qdel(src) diff --git a/code/modules/hydroponics/grown/herbals.dm b/code/modules/hydroponics/grown/herbals.dm new file mode 100644 index 00000000000..74a54ab2752 --- /dev/null +++ b/code/modules/hydroponics/grown/herbals.dm @@ -0,0 +1,34 @@ +/obj/item/seeds/comfrey + name = "pack of comfrey seeds" + desc = "These seeds grow into comfrey." + icon_state = "seed-cabbage" + species = "cabbage" + plantname = "comfrey" + product = /obj/item/weapon/grown/holder_spawner/comfrey + yield = 4 + maturation = 3 + growthstages = 1 + growing_icon = 'icons/obj/hydroponics/growing_vegetables.dmi' + +/obj/item/weapon/grown/holder_spawner/comfrey + spawned_thing = /obj/item/stack/medical/bruise_pack/comfrey + +/obj/item/weapon/grown/holder_spawner/comfrey/alter_stats(obj/item/stack/medical/bruise_pack/comfrey/C) + C.heal_brute = seed.potency + + +/obj/item/seeds/aloe + name = "pack of aloe seeds" + desc = "These seeds grow into aloe vera plant." + icon_state = "seed-ambrosiavulgaris" + species = "ambrosiavulgaris" + plantname = "Aloe Vera Plant" + product = /obj/item/weapon/grown/holder_spawner/aloe + yield = 4 + icon_dead = "ambrosia-dead" + +/obj/item/weapon/grown/holder_spawner/aloe + spawned_thing = /obj/item/stack/medical/ointment/aloe + +/obj/item/weapon/grown/holder_spawner/aloe/alter_stats(obj/item/stack/medical/ointment/aloe/A) + A.heal_burn = seed.potency \ No newline at end of file diff --git a/code/modules/hydroponics/growninedible.dm b/code/modules/hydroponics/growninedible.dm index 64d2eff90b7..d1cb0a30d57 100644 --- a/code/modules/hydroponics/growninedible.dm +++ b/code/modules/hydroponics/growninedible.dm @@ -58,4 +58,19 @@ 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) \ No newline at end of file + T.on_throw_impact(src, hit_atom) + + +//For if You want to spawn something that is a non-grown and alter it stats + +/obj/item/weapon/grown/holder_spawner + var/obj/item/spawned_thing = null + +/obj/item/weapon/grown/holder_spawner/proc/alter_stats(obj/item/I) + return + +/obj/item/weapon/grown/holder_spawner/New() + ..() + new spawned_thing(loc) + alter_stats(spawned_thing) + qdel(src) \ No newline at end of file diff --git a/code/modules/hydroponics/plant_genes.dm b/code/modules/hydroponics/plant_genes.dm index b8b1e2346cc..e8bae4ad454 100644 --- a/code/modules/hydroponics/plant_genes.dm +++ b/code/modules/hydroponics/plant_genes.dm @@ -219,7 +219,7 @@ var/stun = min(stun_len, 7) var/weaken = min(stun_len, 7) - if(M.slip(stun, weaken, G)) + if(M.slip("[G]", stun, weaken)) for(var/datum/plant_gene/trait/T in seed.genes) T.on_slip(G, M) @@ -386,10 +386,10 @@ /datum/plant_gene/trait/smoke/on_squash(obj/item/weapon/reagent_containers/food/snacks/grown/G, atom/target) var/datum/effect/system/chem_smoke_spread/S = new var/splat_location = get_turf(target) - var/smoke_amount = round(sqrt(G.seed.potency * 0.1), 1) //FOX CHANGE THIS FORMULA FOR PARA. + var/smoke_amount = round(sqrt(G.seed.potency * 0.1), 1) S.attach(splat_location) - S.set_up(G.reagents, smoke_amount, splat_location, 0) - S.start() + S.set_up(G.reagents, 2, 0, splat_location) + S.start(smoke_amount) G.reagents.clear_reagents() /datum/plant_gene/trait/plant_type // Parent type diff --git a/code/modules/mob/living/carbon/carbon.dm b/code/modules/mob/living/carbon/carbon.dm index ebe6445121c..07ba42b69d7 100644 --- a/code/modules/mob/living/carbon/carbon.dm +++ b/code/modules/mob/living/carbon/carbon.dm @@ -914,14 +914,14 @@ var/list/ventcrawl_machinery = list(/obj/machinery/atmospherics/unary/vent_pump, /mob/living/carbon/proc/slip(var/description, var/stun, var/weaken, var/tilesSlipped, var/walkSafely, var/slipAny) if(flying || buckled || (walkSafely && m_intent == "walk")) - return + return 0 if((lying) && (!(tilesSlipped))) - return + return 0 if(!(slipAny)) if(istype(src, /mob/living/carbon/human)) var/mob/living/carbon/human/H = src if((isobj(H.shoes) && H.shoes.flags & NOSLIP) || H.species.bodyflags & FEET_NOSLIP) - return + return 0 if(tilesSlipped) for(var/t = 0, t<=tilesSlipped, t++) spawn (t) step(src, src.dir) diff --git a/code/modules/mob/living/carbon/human/interactive/functions.dm b/code/modules/mob/living/carbon/human/interactive/functions.dm index 8b4a619b740..92747b54f91 100644 --- a/code/modules/mob/living/carbon/human/interactive/functions.dm +++ b/code/modules/mob/living/carbon/human/interactive/functions.dm @@ -261,7 +261,7 @@ var/pranksNearby = 100 for(var/turf/simulated/T in orange(1, C)) for(var/obj/item/A in T) - if(istype(A,/obj/item/weapon/soap) || istype(A,/obj/item/weapon/reagent_containers/food/snacks/grown/banana) || istype(A,/obj/item/weapon/bananapeel)) + if(istype(A,/obj/item/weapon/soap) || istype(A,/obj/item/weapon/reagent_containers/food/snacks/grown/banana) || istype(A,/obj/item/weapon/grown/bananapeel)) pranksNearby-- if(T.wet) pranksNearby -= 10 @@ -287,7 +287,7 @@ if(istype(A,/obj/item/weapon/reagent_containers/food/snacks/grown/banana)) var/obj/item/weapon/reagent_containers/food/snacks/B = A B.attack(src, src) - if(istype(A,/obj/item/weapon/bananapeel)) + if(istype(A,/obj/item/weapon/grown/bananapeel)) npcDrop(A) hasPranked = 1 if(!hasPranked) diff --git a/code/modules/mob/living/carbon/human/interactive/interactive.dm b/code/modules/mob/living/carbon/human/interactive/interactive.dm index 3ab53896b3a..fa8de8e2b87 100644 --- a/code/modules/mob/living/carbon/human/interactive/interactive.dm +++ b/code/modules/mob/living/carbon/human/interactive/interactive.dm @@ -349,7 +349,7 @@ favoured_types = list(/obj/item/weapon/mop, /obj/item/weapon/reagent_containers/glass/bucket, /obj/item/weapon/reagent_containers/spray/cleaner, /obj/effect/decal/cleanable) functions += "dojanitor" if("Clown") - favoured_types = list(/obj/item/weapon/soap, /obj/item/weapon/reagent_containers/food/snacks/grown/banana, /obj/item/weapon/bananapeel) + favoured_types = list(/obj/item/weapon/soap, /obj/item/weapon/reagent_containers/food/snacks/grown/banana, /obj/item/weapon/grown/bananapeel) functions += "clowning" if("Botanist") favoured_types = list(/obj/machinery/hydroponics, /obj/item/weapon/reagent_containers, /obj/item/weapon) diff --git a/code/modules/surgery/organs/organ_internal.dm b/code/modules/surgery/organs/organ_internal.dm index 5dd4d570ee2..8a5a6a6b158 100644 --- a/code/modules/surgery/organs/organ_internal.dm +++ b/code/modules/surgery/organs/organ_internal.dm @@ -526,7 +526,7 @@ /obj/item/organ/internal/honktumor/process() if(isturf(loc)) visible_message("[src] honks in on itself!") - new /obj/item/weapon/bananapeel(get_turf(loc)) + new /obj/item/weapon/grown/bananapeel(get_turf(loc)) qdel(src) diff --git a/icons/mob/head.dmi b/icons/mob/head.dmi index 8e851a7c26c..1156fd33a6c 100644 Binary files a/icons/mob/head.dmi and b/icons/mob/head.dmi differ diff --git a/icons/obj/items.dmi b/icons/obj/items.dmi index dc64a49dab9..65ac4ba2e40 100644 Binary files a/icons/obj/items.dmi and b/icons/obj/items.dmi differ diff --git a/paradise.dme b/paradise.dme index e3c9124dc75..11fa3cc7e9a 100644 --- a/paradise.dme +++ b/paradise.dme @@ -1388,6 +1388,7 @@ #include "code\modules\hydroponics\grown\eggplant.dm" #include "code\modules\hydroponics\grown\flowers.dm" #include "code\modules\hydroponics\grown\grass_carpet.dm" +#include "code\modules\hydroponics\grown\herbals.dm" #include "code\modules\hydroponics\grown\kudzu.dm" #include "code\modules\hydroponics\grown\melon.dm" #include "code\modules\hydroponics\grown\misc.dm"