From 3d68f0fd18f9f1203210cd3ba7b1dbf9a6748ad3 Mon Sep 17 00:00:00 2001 From: FluffMedic <109300046+FluffMedic@users.noreply.github.com> Date: Tue, 31 Oct 2023 16:54:09 -0400 Subject: [PATCH] PLONTS (#7143) --- modular_chomp/code/modules/hydro/plants.dm | 52 +++++++++ .../code/modules/hydro/plantsstorage.dm | 110 ++++++++++++++++++ modular_chomp/game/machinery/traptiles.dm | 33 ++++++ modular_chomp/icons/obj/machines/defense.dmi | Bin 0 -> 322 bytes vorestation.dme | 3 + 5 files changed, 198 insertions(+) create mode 100644 modular_chomp/code/modules/hydro/plants.dm create mode 100644 modular_chomp/code/modules/hydro/plantsstorage.dm create mode 100644 modular_chomp/game/machinery/traptiles.dm create mode 100644 modular_chomp/icons/obj/machines/defense.dmi diff --git a/modular_chomp/code/modules/hydro/plants.dm b/modular_chomp/code/modules/hydro/plants.dm new file mode 100644 index 0000000000..7d3d5263e3 --- /dev/null +++ b/modular_chomp/code/modules/hydro/plants.dm @@ -0,0 +1,52 @@ +/datum/seed/flower/sunflower + mutants = list("solarflower", "soulflower") + +/datum/seed/cherries + mutants = list("cherrybomb") + +/datum/seed/citrus/orange + mutants = list("nuclearorange", "livewireorange" ) + +/datum/seed/flower/sunflower/soulflower + name = "soulflower" + seed_name = "soulflower" + display_name = "soulflowers" + chems = list("nutriment" = list(1,10), "souldew" = list(1,13)) + mutants = null + +/datum/seed/flower/sunflower/soulflower/New() + ..() + set_trait(TRAIT_PRODUCT_COLOUR,"#00FFFF") + set_trait(TRAIT_BIOLUM,1) + set_trait(TRAIT_BIOLUM_COLOUR,"#00FFFF") + set_trait(TRAIT_POTENCY,25) + set_trait(TRAIT_MATURATION,10) + set_trait(TRAIT_YIELD,1) + set_trait(TRAIT_SPREAD,1) + +/datum/seed/cherries/cherrybomb + name = "cherrybomb" + seed_name = "cherrybomb" + seed_noun = "pits" + display_name = "cherry bomb tree" + chems = list("nutriment" = list(1,15), "neoliquidfire" = list(1,15), "cherryjelly" = list(10,15)) + +/datum/seed/cherries/cherrybomb/New() + ..() + set_trait(TRAIT_PRODUCT_COLOUR,"#993399") + set_trait(TRAIT_BIOLUM,1) + set_trait(TRAIT_BIOLUM_COLOUR,"#993399") + +/datum/seed/citrus/orange/livewireorange + name = "livewireorange" + seed_name = "livewireorange" + seed_noun = "livewireorange" + display_name = "livewire orange tree" + chems = list("nutriment" = list(1,15), "liquidlife" = list(1,15), "orangejuice" = list(10,15)) + +/datum/seed/citrus/orange/nuclearorange + name = "nuclearorange" + seed_name = "nuclearorange" + seed_noun = "nuclearorange" + display_name = "nuclear orange tree" + chems = list("nutriment" = list(1,15), "deathblood" = list(1,15), "lemonjuice" = list(10,15)) \ No newline at end of file diff --git a/modular_chomp/code/modules/hydro/plantsstorage.dm b/modular_chomp/code/modules/hydro/plantsstorage.dm new file mode 100644 index 0000000000..ae4ed9ed0b --- /dev/null +++ b/modular_chomp/code/modules/hydro/plantsstorage.dm @@ -0,0 +1,110 @@ +/obj/machinery/seed_storage/garden + name = "Garden seed storage" + scanner = list("stats") + starting_seeds = list( + /obj/item/seeds/appleseed = 3, + /obj/item/seeds/bananaseed = 3, + /obj/item/seeds/berryseed = 3, + /obj/item/seeds/cabbageseed = 3, + /obj/item/seeds/carrotseed = 3, + /obj/item/seeds/celery = 3, + /obj/item/seeds/chantermycelium = 3, + /obj/item/seeds/cherryseed = 3, + /obj/item/seeds/chiliseed = 3, + /obj/item/seeds/cocoapodseed = 3, + /obj/item/seeds/cinnamon = 3, + /obj/item/seeds/cornseed = 3, + /obj/item/seeds/durian = 3, + /obj/item/seeds/eggplantseed = 3, + /obj/item/seeds/grapeseed = 3, + /obj/item/seeds/grassseed = 3, + /obj/item/seeds/replicapod = 3, + /obj/item/seeds/lavenderseed = 3, + /obj/item/seeds/lemonseed = 3, + /obj/item/seeds/lettuce = 3, + /obj/item/seeds/limeseed = 3, + /obj/item/seeds/mtearseed = 2, + /obj/item/seeds/orangeseed = 3, + /obj/item/seeds/onionseed = 3, + /obj/item/seeds/peanutseed = 3, + /obj/item/seeds/plumpmycelium = 3, + /obj/item/seeds/poppyseed = 3, + /obj/item/seeds/potatoseed = 3, + /obj/item/seeds/pumpkinseed = 3, + /obj/item/seeds/rhubarb = 3, + /obj/item/seeds/riceseed = 3, + /obj/item/seeds/rose = 3, + /obj/item/seeds/soyaseed = 3, + /obj/item/seeds/pineapple = 3, + /obj/item/seeds/sugarcaneseed = 3, + /obj/item/seeds/sunflowerseed = 3, + /obj/item/seeds/shandseed = 2, + /obj/item/seeds/tobaccoseed = 3, + /obj/item/seeds/tomatoseed = 3, + /obj/item/seeds/towermycelium = 3, + /obj/item/seeds/vanilla = 3, + /obj/item/seeds/wabback = 2, + /obj/item/seeds/watermelonseed = 3, + /obj/item/seeds/wheatseed = 3, + /obj/item/seeds/whitebeetseed = 3, + /obj/item/seeds/wurmwoad = 3 + ) + +/obj/machinery/seed_storage/xenobotany + name = "Xenobotany seed storage" + scanner = list("stats", "produce", "soil", "temperature", "light", "pressure") + smart = 1 + starting_seeds = list( + /obj/item/seeds/ambrosiavulgarisseed = 3, + /obj/item/seeds/appleseed = 3, + /obj/item/seeds/amanitamycelium = 2, + /obj/item/seeds/bananaseed = 3, + /obj/item/seeds/berryseed = 3, + /obj/item/seeds/cabbageseed = 3, + /obj/item/seeds/carrotseed = 3, + /obj/item/seeds/celery = 3, + /obj/item/seeds/chantermycelium = 3, + /obj/item/seeds/cherryseed = 3, + /obj/item/seeds/chiliseed = 3, + /obj/item/seeds/cocoapodseed = 3, + /obj/item/seeds/cinnamon = 3, + /obj/item/seeds/cornseed = 3, + /obj/item/seeds/durian = 3, + /obj/item/seeds/replicapod = 3, + /obj/item/seeds/eggplantseed = 3, + /obj/item/seeds/glowshroom = 2, + /obj/item/seeds/grapeseed = 3, + /obj/item/seeds/grassseed = 3, + /obj/item/seeds/lavenderseed = 3, + /obj/item/seeds/lemonseed = 3, + /obj/item/seeds/lettuce = 3, + /obj/item/seeds/libertymycelium = 2, + /obj/item/seeds/limeseed = 3, + /obj/item/seeds/mtearseed = 2, + /obj/item/seeds/nettleseed = 2, + /obj/item/seeds/orangeseed = 3, + /obj/item/seeds/peanutseed = 3, + /obj/item/seeds/plastiseed = 3, + /obj/item/seeds/plumpmycelium = 3, + /obj/item/seeds/poppyseed = 3, + /obj/item/seeds/potatoseed = 3, + /obj/item/seeds/pumpkinseed = 3, + /obj/item/seeds/reishimycelium = 2, + /obj/item/seeds/rhubarb = 3, + /obj/item/seeds/riceseed = 3, + /obj/item/seeds/rose = 3, + /obj/item/seeds/soyaseed = 3, + /obj/item/seeds/pineapple = 3, + /obj/item/seeds/sugarcaneseed = 3, + /obj/item/seeds/sunflowerseed = 3, + /obj/item/seeds/shandseed = 2, + /obj/item/seeds/tobaccoseed = 3, + /obj/item/seeds/tomatoseed = 3, + /obj/item/seeds/towermycelium = 3, + /obj/item/seeds/vanilla = 3, + /obj/item/seeds/wabback = 2, + /obj/item/seeds/watermelonseed = 3, + /obj/item/seeds/wheatseed = 3, + /obj/item/seeds/whitebeetseed = 3, + /obj/item/seeds/wurmwoad = 3 + ) \ No newline at end of file diff --git a/modular_chomp/game/machinery/traptiles.dm b/modular_chomp/game/machinery/traptiles.dm new file mode 100644 index 0000000000..98921216b5 --- /dev/null +++ b/modular_chomp/game/machinery/traptiles.dm @@ -0,0 +1,33 @@ +/obj/machinery/traptile + icon = 'modular_chomp/icons/obj/machines/defense.dmi' + icon_state = "traptile" + anchored = 1 + use_power = USE_POWER_IDLE + idle_power_usage = 200 + +/obj/machinery/traptile/proc/attack_mob(mob/living/L) + var/target_zone + if(L.lying) + target_zone = ran_zone() + else + target_zone = pick("l_foot", "r_foot", "l_leg", "r_leg") + + //armour + var/blocked = L.run_armor_check(target_zone, "melee") + var/soaked = L.get_armor_soak(target_zone, "melee") + + if(blocked >= 100) + return + + if(soaked >= 30) + return + + if(L.buckled) //wheelchairs, office chairs, rollerbeds + return + + if(!L.apply_damage(30, BURN, target_zone, blocked, soaked, used_weapon=src)) + return 0 + + shock(L, 100, target_zone) + + L.add_modifier(/datum/modifier/entangled, 3 SECONDS) \ No newline at end of file diff --git a/modular_chomp/icons/obj/machines/defense.dmi b/modular_chomp/icons/obj/machines/defense.dmi new file mode 100644 index 0000000000000000000000000000000000000000..150c69271bbf00fe1be311267777cbc2bfa22404 GIT binary patch literal 322 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnF3?v&v(vJfv(Ey(i*8>L*=xZAX28O4mX8$)f z{_*2SZB0$~iaA?=3K&a*{DK)Ap4~_Ta*C@$B1&9Ri<65o3raHc^B5Q^<^+co6qSDe z5?t`{>k}<+U9EFx&IfM@HMnT};E~RGAI*~tMLoScER2JUFB^L)%y~5F$fOX3;FU`> zHZD*xRuAp$HdfudLP8_u#L<~yQ)bNON)=x^E&bWjhMT9j*461HL^H4#%kA3oU+ELj z`WR0a#}JK)$q5eZJxxwdUS3|ujyX651_m@VUQ`v4OcHi@xH~~G!RhLv23LkqZZpP9 zXC-vr9Vn5g5=ffiXyMb@A@1nt8WF<9*|g}A1ka^Q3ML+{0#2+Nn=Udktj(%WYMl8Y Q6KD^Er>mdKI;Vst0IeN(bN~PV literal 0 HcmV?d00001 diff --git a/vorestation.dme b/vorestation.dme index 72e02430db..6e1ac581af 100644 --- a/vorestation.dme +++ b/vorestation.dme @@ -4677,6 +4677,8 @@ #include "modular_chomp\code\modules\food\drinkgglass\metaglass.dm" #include "modular_chomp\code\modules\food\food\drinks\bottle.dm" #include "modular_chomp\code\modules\food\food\snacks\meat.dm" +#include "modular_chomp\code\modules\hydro\plants.dm" +#include "modular_chomp\code\modules\hydro\plantsstorage.dm" #include "modular_chomp\code\modules\living\carbon\human\ai_controlled\ai_controlled.dm" #include "modular_chomp\code\modules\lore_codex\codex.dm" #include "modular_chomp\code\modules\lore_codex\codex_tree.dm" @@ -4845,6 +4847,7 @@ #include "modular_chomp\code\modules\xenobio\machinery\monkey_processor.dm" #include "modular_chomp\game\effects\spawner.dm" #include "modular_chomp\game\machinery\buttons.dm" +#include "modular_chomp\game\machinery\traptiles.dm" #include "modular_chomp\game\machinery\turrets.dm" #include "modular_chomp\game\objects\effects\spiders.dm" #include "modular_chomp\game\turfs\shuttlewall_types.dm"