Files
Bubberstation/code/modules/ruins/lavaland_ruin_code.dm
Ashe Higgs b7e7779c19 (Ready) Clockwork Cult Rework: Proof-of-concept (#29741)
* Starting on the rework

* Reworks the Ark

* Work on Reebe

* More Ark stuff

* this too

* Removes ark silliness, remaps Reebe a tad

* Spawning mechanics

* Work on gamemode code

* Finishes up ark stuff

* Removes Judgement, and lots of other changes

* New Ark activation sounds, Ratvar text

* Spawn protection!

* Adds the abscondence bijou

* Bijou stuff

* well, this is it

* somewhat absentminded coder

* Remaps the Reebe z

* replica fabricators now work!

* Guide paper!

* Now they're clockwork floors

* Infirmary, tweaks, numbers

* A new thing!

* this is ok for now

* I was gonna whine but it's actually necessary

* Adds damage scaling to ocular wardens

* I missed a thing

* you can go back too

* New clockwork armor sprites

* Weapons, scripture, oh my!

* no! shoo!

* hey, I forgot about you!

* this looks much better, I'll give you that

* no teleporting into the void!

* we have no need of you anymore

* Conflicteroos

* AUTOMATIC SPINNING CHAIRS

* how many times do we have to teach you this LESSON OLD MAN

* flagged!

* last time, meesa promise

* Conflicts 1

* wood filling

* Kindle is a projectile, and other stuff

* Chameleon jumpsuit, some small changes

* 150 hours of testing

* Curious is the trapmaker's art

* Conflicts 1

* naaah

* Fixes an ark sound

* Removes the prolonging prism

* Adds a delay to warping in

* First steps towards changing the power system

* Removes power from sigils, moves to global

* Conflicts 1

* zoom zoom

* Adds the stargazer, re-adds conversion

* conflicts? more like CLOCK-flicts

* get it? clockflicts?

* Daemon tuning

* Scraps components, 1/?

* A grace period, among other things

* You can't get to reebe from space no stop bad

* Adds some cogscarab shells to Reebe - yes, I get the sounds

* FUCK

* Chairs are very important.

* Clock golems, sound improvement, intercoms

* Sounds, floor fixes, conflicts

* Fixes the conflicts

* Prevents intercom use during non-clock rounds

* Wiki, HUD timer, tweaks, golems

* Components, removes unused structures, rep. fab power

* go-time

* Ending the round is not a good idea

* whoops, forgot about you

* ssh is ok

* this works too
2017-09-27 09:21:26 +13:00

134 lines
6.0 KiB
Plaintext

//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/gatfruit = 10,
/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"
req_tech = list("materials" = 12)
build_type = AUTOLATHE
materials = list(MAT_METAL = 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/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)
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/Cryogenic2.dmi'
icon_state = "sleeper_s"
flavour_text = "<font size=3>You are a syndicate agent, employed in a top secret research facility developing biological weapons. Unfortunately, your hated enemy, Nanotrasen, has begun mining in this sector. <b>Continue your research as best you can, and try to keep a low profile. <font size=6><b>DON'T</b></font> abandon the base without good cause.</b> The base is rigged with explosives should the worst happen, do not let the base fall into enemy hands!</b>"
id_access_list = list(ACCESS_SYNDICATE)
outfit = /datum/outfit/lavaland_syndicate
assignedrole = "Lavaland Syndicate"
/datum/outfit/lavaland_syndicate
name = "Lavaland Syndicate Agent"
r_hand = /obj/item/gun/ballistic/automatic/sniper_rifle
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/device/radio/headset/syndicate/alt
back = /obj/item/storage/backpack
r_pocket = /obj/item/gun/ballistic/automatic/pistol
id = /obj/item/card/id
implants = list(/obj/item/implant/weapons_auth)
/datum/outfit/lavaland_syndicate/post_equip(mob/living/carbon/human/H)
H.faction |= "syndicate"
/obj/effect/mob_spawn/human/lavaland_syndicate/comms
name = "Syndicate Comms Agent"
flavour_text = "<font size=3>You are a syndicate agent, employed in a top secret research facility developing biological weapons. Unfortunately, your hated enemy, Nanotrasen, has begun mining in this sector. <b>Monitor enemy activity as best you can, and try to keep a low profile. <font size=6><b>DON'T</b></font> abandon the base without good cause.</b> 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!</b>"
outfit = /datum/outfit/lavaland_syndicate/comms
/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
suit = /obj/item/clothing/suit/armor/vest
l_pocket = /obj/item/card/id/syndicate/anyone