//If you're looking for spawners like ash walker eggs, check ghost_role_spawners.dm /obj/structure/fans/tiny/invisible //For blocking air in ruin doorways invisibility = INVISIBILITY_ABSTRACT //lavaland_surface_seed_vault.dmm //Seed Vault /obj/effect/spawner/lootdrop/seed_vault name = "seed vault seeds" lootcount = 1 loot = list(/obj/item/seeds/cherry/bomb = 10, /obj/item/seeds/berry/glow = 10, /obj/item/seeds/sunflower/moonflower = 8 ) //Free Golems /obj/item/disk/design_disk/golem_shell name = "Golem Creation Disk" desc = "A gift from the Liberator." icon_state = "datadisk1" max_blueprints = 1 /obj/item/disk/design_disk/golem_shell/Initialize() . = ..() var/datum/design/golem_shell/G = new blueprints[1] = G /datum/design/golem_shell name = "Golem Shell Construction" desc = "Allows for the construction of a Golem Shell." id = "golem" build_type = AUTOLATHE materials = list(/datum/material/iron = 40000) build_path = /obj/item/golem_shell category = list("Imported") /obj/item/golem_shell name = "incomplete free golem shell" icon = 'icons/obj/wizard.dmi' icon_state = "construct" desc = "The incomplete body of a golem. Add ten sheets of any mineral to finish." var/shell_type = /obj/effect/mob_spawn/human/golem var/has_owner = FALSE //if the resulting golem obeys someone w_class = WEIGHT_CLASS_BULKY /obj/item/golem_shell/attackby(obj/item/I, mob/user, params) ..() var/static/list/golem_shell_species_types = list( /obj/item/stack/sheet/metal = /datum/species/golem, /obj/item/stack/sheet/glass = /datum/species/golem/glass, /obj/item/stack/sheet/plasteel = /datum/species/golem/plasteel, /obj/item/stack/sheet/mineral/sandstone = /datum/species/golem/sand, /obj/item/stack/sheet/mineral/plasma = /datum/species/golem/plasma, /obj/item/stack/sheet/mineral/diamond = /datum/species/golem/diamond, /obj/item/stack/sheet/mineral/gold = /datum/species/golem/gold, /obj/item/stack/sheet/mineral/silver = /datum/species/golem/silver, /obj/item/stack/sheet/mineral/uranium = /datum/species/golem/uranium, /obj/item/stack/sheet/mineral/bananium = /datum/species/golem/bananium, /obj/item/stack/sheet/mineral/titanium = /datum/species/golem/titanium, /obj/item/stack/sheet/mineral/plastitanium = /datum/species/golem/plastitanium, /obj/item/stack/sheet/mineral/metal_hydrogen= /datum/species/golem/mhydrogen, /obj/item/stack/sheet/mineral/abductor = /datum/species/golem/alloy, /obj/item/stack/sheet/mineral/wood = /datum/species/golem/wood, /obj/item/stack/sheet/bluespace_crystal = /datum/species/golem/bluespace, /obj/item/stack/sheet/runed_metal = /datum/species/golem/runic, /obj/item/stack/medical/gauze = /datum/species/golem/cloth, /obj/item/stack/sheet/cloth = /datum/species/golem/cloth, /obj/item/stack/sheet/mineral/adamantine = /datum/species/golem/adamantine, /obj/item/stack/sheet/plastic = /datum/species/golem/plastic, /obj/item/stack/tile/brass = /datum/species/golem/clockwork, /obj/item/stack/tile/bronze = /datum/species/golem/bronze, /obj/item/stack/sheet/cardboard = /datum/species/golem/cardboard, /obj/item/stack/sheet/leather = /datum/species/golem/leather, /obj/item/stack/sheet/bone = /datum/species/golem/bone, /obj/item/stack/sheet/cloth/durathread = /datum/species/golem/durathread, /obj/item/stack/sheet/cotton/durathread = /datum/species/golem/durathread, /obj/item/stack/sheet/mineral/snow = /datum/species/golem/snow, /obj/item/stack/sheet/capitalisium = /datum/species/golem/capitalist, /obj/item/stack/sheet/stalinium = /datum/species/golem/soviet, /obj/item/stack/sheet/cheese = /datum/species/golem/cheese, /obj/item/stack/telecrystal = /datum/species/golem/telecrystal, /obj/item/stack/telecrystal/five = /datum/species/golem/telecrystal, /obj/item/stack/telecrystal/twenty = /datum/species/golem/telecrystal, /obj/item/stack/sheet/ruinous_metal = /datum/species/golem/ruinous) if(istype(I, /obj/item/stack)) var/obj/item/stack/O = I var/species = golem_shell_species_types[O.merge_type] if(species) if(O.use(10)) to_chat(user, "You finish up the golem shell with ten sheets of [O].") new shell_type(get_turf(src), species, user) qdel(src) else to_chat(user, "You need at least ten sheets to finish a golem.") else to_chat(user, "You can't build a golem out of this kind of material.") //made with xenobiology, the golem obeys its creator /obj/item/golem_shell/servant name = "incomplete servant golem shell" shell_type = /obj/effect/mob_spawn/human/golem/servant ///Syndicate Listening Post /obj/effect/mob_spawn/human/lavaland_syndicate name = "Syndicate Bioweapon Scientist" roundstart = FALSE death = FALSE icon = 'icons/obj/machines/sleeper.dmi' icon_state = "sleeper_s" short_desc = "You are a syndicate science technician, employed in a top secret research facility developing biological weapons." flavour_text = "Unfortunately, your hated enemy, Nanotrasen, has begun mining in this sector. Continue your research as best you can, and try to keep a low profile." important_info = "The base is rigged with explosives, DO NOT abandon it or let it fall into enemy hands!" outfit = /datum/outfit/lavaland_syndicate assignedrole = "Lavaland Syndicate" /obj/effect/mob_spawn/human/lavaland_syndicate/special(mob/living/new_spawn) new_spawn.grant_language(/datum/language/codespeak, TRUE, TRUE, LANGUAGE_MIND) /datum/outfit/lavaland_syndicate name = "Lavaland Syndicate Agent" r_hand = /obj/item/gun/ballistic/automatic/sniper_rifle/ultrasecure uniform = /obj/item/clothing/under/syndicate suit = /obj/item/clothing/suit/toggle/labcoat shoes = /obj/item/clothing/shoes/combat gloves = /obj/item/clothing/gloves/combat ears = /obj/item/radio/headset/syndicate/alt back = /obj/item/storage/backpack r_pocket = /obj/item/gun/ballistic/automatic/pistol id = /obj/item/card/id/syndicate/anyone implants = list(/obj/item/implant/weapons_auth) /datum/outfit/lavaland_syndicate/post_equip(mob/living/carbon/human/H) H.faction |= ROLE_SYNDICATE /obj/effect/mob_spawn/human/lavaland_syndicate/comms name = "Syndicate Comms Agent" short_desc = "You are a syndicate comms agent, employed in a top secret research facility developing biological weapons." flavour_text = "Unfortunately, your hated enemy, Nanotrasen, has begun mining in this sector. Monitor enemy activity as best you can, and try to keep a low profile. Use the communication equipment to provide support to any field agents, and sow disinformation to throw Nanotrasen off your trail. Do not let the base fall into enemy hands!" important_info = "DO NOT abandon the base." outfit = /datum/outfit/lavaland_syndicate/comms /obj/effect/mob_spawn/human/lavaland_syndicate/comms/space short_desc = "You are a syndicate agent, assigned to a small listening post station situated near your hated enemy's top secret research facility: Space Station 13." flavour_text = "Monitor enemy activity as best you can, and try to keep a low profile. Monitor enemy activity as best you can, and try to keep a low profile. Use the communication equipment to provide support to any field agents, and sow disinformation to throw Nanotrasen off your trail. Do not let the base fall into enemy hands!" important_info = "DO NOT abandon the base." /obj/effect/mob_spawn/human/lavaland_syndicate/comms/space/Initialize() . = ..() if(prob(90)) //only has a 10% chance of existing, otherwise it'll just be a NPC syndie. new /mob/living/simple_animal/hostile/syndicate/ranged(get_turf(src)) return INITIALIZE_HINT_QDEL /datum/outfit/lavaland_syndicate/comms name = "Lavaland Syndicate Comms Agent" r_hand = /obj/item/melee/transforming/energy/sword/saber mask = /obj/item/clothing/mask/chameleon/gps suit = /obj/item/clothing/suit/armor/vest backpack_contents = list(/obj/item/modular_computer/tablet/preset/syndicate=1) /obj/item/clothing/mask/chameleon/gps/Initialize() . = ..() new /obj/item/gps/internal/lavaland_syndicate_base(src) /obj/item/gps/internal/lavaland_syndicate_base gpstag = "Encrypted Signal"