mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-22 11:37:40 +01:00
Progress...
This commit is contained in:
@@ -0,0 +1,55 @@
|
||||
"a" = (/turf/template_noop,/area/template_noop)
|
||||
"b" = (/turf/simulated/shuttle/wall,/area/shuttle/freegolem)
|
||||
"c" = (/turf/simulated/shuttle/plating,/area/shuttle/freegolem)
|
||||
"d" = (/obj/structure/shuttle/engine/heater{icon_state = "heater"; dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating/airless,/area/shuttle/freegolem)
|
||||
"e" = (/obj/structure/shuttle/engine/propulsion{dir = 8; icon_state = "burst_l"},/turf/space,/area/shuttle/freegolem)
|
||||
"f" = (/turf/simulated/shuttle/floor{icon_state = "floor5"},/area/shuttle/freegolem)
|
||||
"g" = (/obj/machinery/door/airlock/shuttle,/obj/structure/fans/tiny,/turf/simulated/shuttle/plating,/area/shuttle/freegolem)
|
||||
"h" = (/obj/item/storage/toolbox/mechanical,/turf/simulated/shuttle/plating,/area/shuttle/freegolem)
|
||||
"i" = (/obj/structure/reagent_dispensers/watertank,/turf/simulated/shuttle/plating,/area/shuttle/freegolem)
|
||||
"j" = (/obj/machinery/light/small,/turf/simulated/shuttle/plating,/area/shuttle/freegolem)
|
||||
"k" = (/obj/machinery/door/airlock/shuttle,/turf/simulated/shuttle/floor{icon_state = "floor5"},/area/shuttle/freegolem)
|
||||
"l" = (/obj/machinery/computer/arcade/battle,/turf/simulated/shuttle/floor{icon_state = "floor5"},/area/shuttle/freegolem)
|
||||
"m" = (/obj/machinery/light/small{dir = 1},/turf/simulated/shuttle/floor{icon_state = "floor5"},/area/shuttle/freegolem)
|
||||
"n" = (/obj/machinery/light{dir = 1; on = 1},/turf/simulated/shuttle/floor{icon_state = "floor5"},/area/shuttle/freegolem)
|
||||
"o" = (/obj/structure/fans/tiny,/obj/machinery/door/airlock/shuttle,/turf/simulated/shuttle/floor{icon_state = "floor5"},/area/shuttle/freegolem)
|
||||
"p" = (/obj/item/resonator,/turf/simulated/shuttle/floor{icon_state = "floor5"},/area/shuttle/freegolem)
|
||||
"q" = (/obj/machinery/light{dir = 8},/turf/simulated/shuttle/floor{icon_state = "floor5"},/area/shuttle/freegolem)
|
||||
"r" = (/obj/machinery/mineral/ore_redemption,/turf/simulated/shuttle/floor{icon_state = "floor5"},/area/shuttle/freegolem)
|
||||
"s" = (/obj/structure/statue/gold/rd{name = "statue of the Liberator"},/obj/structure/window/reinforced{dir = 4; pixel_x = 0},/turf/simulated/shuttle/floor{icon_state = "floor5"},/area/shuttle/freegolem)
|
||||
"t" = (/obj/structure/computerframe,/turf/simulated/shuttle/floor{icon_state = "floor5"},/area/shuttle/freegolem)
|
||||
"u" = (/obj/structure/extinguisher_cabinet{pixel_y = 30},/turf/simulated/shuttle/floor{icon_state = "floor5"},/area/shuttle/freegolem)
|
||||
"v" = (/obj/machinery/door/airlock/shuttle,/obj/structure/fans/tiny,/turf/simulated/shuttle/floor{icon_state = "floor5"},/area/shuttle/freegolem)
|
||||
"w" = (/obj/item/book/manual/research_and_development{name = "Sacred Text of the Liberator"; pixel_x = -4; pixel_y = 3},/obj/structure/window/reinforced{dir = 4; pixel_x = 0},/obj/structure/table/wood,/turf/simulated/shuttle/floor{icon_state = "floor5"},/area/shuttle/freegolem)
|
||||
"x" = (/obj/machinery/light/small,/turf/simulated/shuttle/floor{icon_state = "floor5"},/area/shuttle/freegolem)
|
||||
"y" = (/obj/item/resonator/upgraded,/turf/simulated/shuttle/floor{icon_state = "floor5"},/area/shuttle/freegolem)
|
||||
"z" = (/obj/machinery/autolathe,/turf/simulated/shuttle/floor{icon_state = "floor5"},/area/shuttle/freegolem)
|
||||
"A" = (/obj/structure/table/wood,/obj/machinery/reagentgrinder,/turf/simulated/shuttle/floor{icon_state = "floor5"},/area/shuttle/freegolem)
|
||||
"B" = (/obj/machinery/computer/arcade/orion_trail,/turf/simulated/shuttle/floor{icon_state = "floor5"},/area/shuttle/freegolem)
|
||||
"C" = (/obj/structure/extinguisher_cabinet{pixel_y = -30},/turf/simulated/shuttle/floor{icon_state = "floor5"},/area/shuttle/freegolem)
|
||||
"D" = (/obj/structure/table/wood,/obj/item/storage/firstaid/brute,/obj/item/storage/firstaid/brute,/obj/item/storage/firstaid/brute,/turf/simulated/shuttle/floor{icon_state = "floor5"},/area/shuttle/freegolem)
|
||||
"E" = (/obj/structure/table/wood,/obj/structure/table/wood,/obj/item/storage/firstaid/fire,/obj/item/storage/firstaid/fire,/obj/item/storage/firstaid/fire,/obj/machinery/light,/turf/simulated/shuttle/floor{icon_state = "floor5"},/area/shuttle/freegolem)
|
||||
"F" = (/obj/structure/table/wood,/obj/item/storage/firstaid/adv,/obj/item/storage/firstaid/adv,/turf/simulated/shuttle/floor{icon_state = "floor5"},/area/shuttle/freegolem)
|
||||
"G" = (/obj/structure/table/wood,/turf/simulated/shuttle/floor{icon_state = "floor5"},/area/shuttle/freegolem)
|
||||
"H" = (/obj/machinery/light/small{dir = 1},/turf/simulated/shuttle/plating,/area/shuttle/freegolem)
|
||||
"I" = (/obj/structure/reagent_dispensers/fueltank,/turf/simulated/shuttle/plating,/area/shuttle/freegolem)
|
||||
"J" = (/obj/structure/ore_box,/turf/simulated/shuttle/plating,/area/shuttle/freegolem)
|
||||
|
||||
(1,1,1) = {"
|
||||
aaaaabbbbbbbbbbggbbb
|
||||
aaaaabcccccccchccide
|
||||
aaaaabccjccjcccjcide
|
||||
aabbbbkkbbbbkkbbbbbb
|
||||
aablfmffmfbffffnffde
|
||||
aaofffffppkfffffffde
|
||||
bbbkkbbbbbbqffffrbbb
|
||||
bstffffmffkffffffkuv
|
||||
bwfffxffffkffffffkxv
|
||||
bbbkkbbbbbbqfffyzbbb
|
||||
aaofffffppkffffffAde
|
||||
aabBfxffxfbCffDEFGde
|
||||
aabbbbkkbbbbkkbbbbbb
|
||||
aaaaabccHccHcccHcIde
|
||||
aaaaabJJJJJJJJhccIde
|
||||
aaaaabbbbbbbbbbggbbb
|
||||
"}
|
||||
@@ -24,6 +24,7 @@
|
||||
#define SPECIAL_ROLE_CULTIST "Cultist"
|
||||
#define SPECIAL_ROLE_DEATHSQUAD "Death Commando"
|
||||
#define SPECIAL_ROLE_ERT "Response Team"
|
||||
#define SPECIAL_ROLE_FREE_GOLEM "Free Golem"
|
||||
#define SPECIAL_ROLE_GOLEM "Golem"
|
||||
#define SPECIAL_ROLE_HEAD_REV "Head Revolutionary"
|
||||
#define SPECIAL_ROLE_HONKSQUAD "Honksquad"
|
||||
|
||||
@@ -9,6 +9,7 @@ GLOBAL_LIST_INIT(first_names_female, file2list("config/names/first_female.txt"))
|
||||
GLOBAL_LIST_INIT(last_names, file2list("config/names/last.txt"))
|
||||
GLOBAL_LIST_INIT(clown_names, file2list("config/names/clown.txt"))
|
||||
GLOBAL_LIST_INIT(mime_names, file2list("config/names/mime.txt"))
|
||||
GLOBAL_LIST_INIT(golem_names, file2list("config/names/golem.txt"))
|
||||
|
||||
GLOBAL_LIST_INIT(verbs, file2list("config/names/verbs.txt"))
|
||||
GLOBAL_LIST_INIT(adjectives, file2list("config/names/adjectives.txt"))
|
||||
|
||||
@@ -953,6 +953,10 @@ to destroy them and players will be able to make replacements.
|
||||
/obj/item/stock_parts/console_screen = 1,
|
||||
/obj/item/stock_parts/matter_bin = 3)
|
||||
|
||||
/obj/item/circuitboard/machine/mining_equipment_vendor/golem
|
||||
name = "Golem Ship Equipment Vendor (Machine Board)"
|
||||
build_path = /obj/machinery/mineral/equipment_vendor/golem
|
||||
|
||||
/obj/item/circuitboard/clawgame
|
||||
name = "circuit board (Claw Game)"
|
||||
build_path = /obj/machinery/arcade/claw
|
||||
|
||||
@@ -0,0 +1,251 @@
|
||||
//Ancient cryogenic sleepers. Players become NT crewmen from a hundred year old space station, now on the verge of collapse.
|
||||
|
||||
/obj/effect/mob_spawn/human/oldsec
|
||||
name = "old cryogenics pod"
|
||||
desc = "A humming cryo pod. You can barely recognise a security uniform underneath the built up ice. The machine is attempting to wake up its occupant."
|
||||
mob_name = "a security officer"
|
||||
icon = 'icons/obj/cryogenic2.dmi'
|
||||
icon_state = "sleeper"
|
||||
roundstart = FALSE
|
||||
death = FALSE
|
||||
random = TRUE
|
||||
mob_species = /datum/species/human
|
||||
flavour_text = "<span class='big bold'>You are a security officer working for Nanotrasen,</span><b> stationed onboard a state of the art research station. You vaguely recall rushing into a \
|
||||
cryogenics pod due to an oncoming radiation storm. The last thing you remember is the station's Artificial Program telling you that you would only be asleep for eight hours. As you open \
|
||||
your eyes, everything seems rusted and broken, a dark feeling swells in your gut as you climb out of your pod. \
|
||||
Work as a team with your fellow survivors and do not abandon them.</b>"
|
||||
uniform = /obj/item/clothing/under/retro/security
|
||||
shoes = /obj/item/clothing/shoes/jackboots
|
||||
id = /obj/item/card/id/away/old/sec
|
||||
r_pocket = /obj/item/restraints/handcuffs
|
||||
l_pocket = /obj/item/flash
|
||||
assignedrole = "Ancient Crew"
|
||||
|
||||
/obj/effect/mob_spawn/human/oldsec/Destroy()
|
||||
new /obj/structure/showcase/machinery/oldpod/used(drop_location())
|
||||
return ..()
|
||||
|
||||
/obj/effect/mob_spawn/human/oldmed
|
||||
name = "old cryogenics pod"
|
||||
desc = "A humming cryo pod. You can barely recognise a medical uniform underneath the built up ice. The machine is attempting to wake up its occupant."
|
||||
mob_name = "a medical doctor"
|
||||
icon = 'icons/obj/cryogenic2.dmi'
|
||||
icon_state = "sleeper"
|
||||
roundstart = FALSE
|
||||
death = FALSE
|
||||
random = TRUE
|
||||
mob_species = /datum/species/human
|
||||
flavour_text = "<span class='big bold'>You are a medical working for Nanotrasen,</span><b> stationed onboard a state of the art research station. You vaguely recall rushing into a \
|
||||
cryogenics pod due to an oncoming radiation storm. The last thing you remember is the station's Artificial Program telling you that you would only be asleep for eight hours. As you open \
|
||||
your eyes, everything seems rusted and broken, a dark feeling swells in your gut as you climb out of your pod. \
|
||||
Work as a team with your fellow survivors and do not abandon them.</b>"
|
||||
uniform = /obj/item/clothing/under/retro/medical
|
||||
shoes = /obj/item/clothing/shoes/black
|
||||
id = /obj/item/card/id/away/old/med
|
||||
l_pocket = /obj/item/stack/medical/ointment
|
||||
r_pocket = /obj/item/stack/medical/ointment
|
||||
assignedrole = "Ancient Crew"
|
||||
|
||||
/obj/effect/mob_spawn/human/oldmed/Destroy()
|
||||
new /obj/structure/showcase/machinery/oldpod/used(drop_location())
|
||||
return ..()
|
||||
|
||||
/obj/effect/mob_spawn/human/oldeng
|
||||
name = "old cryogenics pod"
|
||||
desc = "A humming cryo pod. You can barely recognise an engineering uniform underneath the built up ice. The machine is attempting to wake up its occupant."
|
||||
mob_name = "an engineer"
|
||||
icon = 'icons/obj/cryogenic2.dmi'
|
||||
icon_state = "sleeper"
|
||||
roundstart = FALSE
|
||||
death = FALSE
|
||||
random = TRUE
|
||||
mob_species = /datum/species/human
|
||||
flavour_text = "<span class='big bold'>You are an engineer working for Nanotrasen,</span><b> stationed onboard a state of the art research station. You vaguely recall rushing into a \
|
||||
cryogenics pod due to an oncoming radiation storm. The last thing you remember is the station's Artificial Program telling you that you would only be asleep for eight hours. As you open \
|
||||
your eyes, everything seems rusted and broken, a dark feeling swells in your gut as you climb out of your pod. \
|
||||
Work as a team with your fellow survivors and do not abandon them.</b>"
|
||||
uniform = /obj/item/clothing/under/retro/engineering
|
||||
shoes = /obj/item/clothing/shoes/workboots
|
||||
id = /obj/item/card/id/away/old/eng
|
||||
gloves = /obj/item/clothing/gloves/color/fyellow/old
|
||||
l_pocket = /obj/item/tank/emergency_oxygen
|
||||
assignedrole = "Ancient Crew"
|
||||
|
||||
/obj/effect/mob_spawn/human/oldeng/Destroy()
|
||||
new /obj/structure/showcase/machinery/oldpod/used(drop_location())
|
||||
return ..()
|
||||
|
||||
/obj/effect/mob_spawn/human/oldsci
|
||||
name = "old cryogenics pod"
|
||||
desc = "A humming cryo pod. You can barely recognise a science uniform underneath the built up ice. The machine is attempting to wake up its occupant."
|
||||
mob_name = "a scientist"
|
||||
icon = 'icons/obj/cryogenic2.dmi'
|
||||
icon_state = "sleeper"
|
||||
roundstart = FALSE
|
||||
death = FALSE
|
||||
random = TRUE
|
||||
mob_species = /datum/species/human
|
||||
flavour_text = "<span class='big bold'>You are a scientist working for Nanotrasen,</span><b> stationed onboard a state of the art research station. You vaguely recall rushing into a \
|
||||
cryogenics pod due to an oncoming radiation storm. The last thing you remember is the station's Artificial Program telling you that you would only be asleep for eight hours. As you open \
|
||||
your eyes, everything seems rusted and broken, a dark feeling swells in your gut as you climb out of your pod. \
|
||||
Work as a team with your fellow survivors and do not abandon them.</b>"
|
||||
uniform = /obj/item/clothing/under/retro/science
|
||||
shoes = /obj/item/clothing/shoes/laceup
|
||||
id = /obj/item/card/id/away/old/sci
|
||||
l_pocket = /obj/item/stack/medical/bruise_pack
|
||||
assignedrole = "Ancient Crew"
|
||||
|
||||
/obj/effect/mob_spawn/human/oldsci/Destroy()
|
||||
new /obj/structure/showcase/machinery/oldpod/used(drop_location())
|
||||
return ..()
|
||||
|
||||
/obj/structure/showcase/machinery/oldpod
|
||||
name = "damaged cryogenic pod"
|
||||
desc = "A damaged cryogenic pod long since lost to time, including its former occupant..."
|
||||
icon = 'icons/obj/cryogenic2.dmi'
|
||||
icon_state = "sleeper-open"
|
||||
|
||||
/obj/structure/showcase/machinery/oldpod/used
|
||||
name = "opened cryogenic pod"
|
||||
desc = "A cryogenic pod that has recently discharged its occupant. The pod appears non-functional."
|
||||
|
||||
//Golem shells: Spawns in Free Golem ships in lavaland. Ghosts become mineral golems and are advised to spread personal freedom.
|
||||
|
||||
/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/tranquillite = /datum/species/golem/tranquillite,
|
||||
/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/plastic = /datum/species/golem/plastic,
|
||||
/obj/item/stack/tile/brass = /datum/species/golem/clockwork,
|
||||
/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)
|
||||
|
||||
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.")
|
||||
|
||||
/obj/effect/mob_spawn/human/golem
|
||||
name = "inert free golem shell"
|
||||
desc = "A humanoid shape, empty, lifeless, and full of potential."
|
||||
mob_name = "a free golem"
|
||||
icon = 'icons/obj/wizard.dmi'
|
||||
icon_state = "construct"
|
||||
mob_species = /datum/species/golem
|
||||
roundstart = FALSE
|
||||
death = FALSE
|
||||
anchored = FALSE
|
||||
move_resist = MOVE_FORCE_NORMAL
|
||||
density = FALSE
|
||||
var/has_owner = FALSE
|
||||
var/can_transfer = TRUE //if golems can switch bodies to this new shell
|
||||
var/mob/living/owner = null //golem's owner if it has one
|
||||
flavour_text = "<span class='big bold'>You are a Free Golem.</span><b> Your family worships <span class='danger'>The Liberator</span>. In his infinite and divine wisdom, he set your clan free to \
|
||||
travel the stars with a single declaration: \"Yeah go do whatever.\" Though you are bound to the one who created you, it is customary in your society to repeat those same words to newborn \
|
||||
golems, so that no golem may ever be forced to serve again.</b>"
|
||||
|
||||
/obj/effect/mob_spawn/human/golem/Initialize(mapload, datum/species/golem/species = null, mob/creator = null)
|
||||
if(species) //spawners list uses object name to register so this goes before ..()
|
||||
name += " ([initial(species.prefix)])"
|
||||
mob_species = species
|
||||
. = ..()
|
||||
var/area/A = get_area(src)
|
||||
if(!mapload && A)
|
||||
notify_ghosts("\A [initial(species.prefix)] golem shell has been completed in \the [A.name].", source = src, action=NOTIFY_ATTACK, flashwindow = FALSE, ignore_key = POLL_IGNORE_GOLEM)
|
||||
if(has_owner && creator)
|
||||
flavour_text = "<span class='big bold'>You are a Golem.</span><b> You move slowly, but are highly resistant to heat and cold as well as blunt trauma. You are unable to wear clothes, but can still use most tools. \
|
||||
Serve [creator], and assist [creator.p_them()] in completing [creator.p_their()] goals at any cost.</b>"
|
||||
owner = creator
|
||||
|
||||
/obj/effect/mob_spawn/human/golem/special(mob/living/new_spawn, name)
|
||||
var/datum/species/golem/X = mob_species
|
||||
to_chat(new_spawn, "[initial(X.info_text)]")
|
||||
if(!owner)
|
||||
to_chat(new_spawn, "Build golem shells in the autolathe, and feed refined mineral sheets to the shells to bring them to life! You are generally a peaceful group unless provoked.")
|
||||
else
|
||||
new_spawn.mind.store_memory("<b>Serve [owner.real_name], your creator.</b>")
|
||||
new_spawn.mind.enslave_mind_to_creator(owner)
|
||||
log_game("[key_name(new_spawn)] possessed a golem shell enslaved to [key_name(owner)].")
|
||||
log_admin("[key_name(new_spawn)] possessed a golem shell enslaved to [key_name(owner)].")
|
||||
if(ishuman(new_spawn))
|
||||
var/mob/living/carbon/human/H = new_spawn
|
||||
if(has_owner)
|
||||
var/datum/species/golem/G = H.dna.species
|
||||
G.owner = owner
|
||||
H.set_cloned_appearance()
|
||||
if(!name)
|
||||
if(has_owner)
|
||||
H.fully_replace_character_name(null, "[initial(X.prefix)] Golem ([rand(1,999)])")
|
||||
else
|
||||
H.fully_replace_character_name(null, H.dna.species.random_name())
|
||||
else
|
||||
H.fully_replace_character_name(null, name)
|
||||
if(has_owner)
|
||||
new_spawn.mind.assigned_role = "Servant Golem"
|
||||
else
|
||||
new_spawn.mind.assigned_role = "Free Golem"
|
||||
|
||||
/obj/effect/mob_spawn/human/golem/attack_hand(mob/user)
|
||||
. = ..()
|
||||
if(.)
|
||||
return
|
||||
if(isgolem(user) && can_transfer)
|
||||
var/transfer_choice = alert("Transfer your soul to [src]? (Warning, your old body will die!)",,"Yes","No")
|
||||
if(transfer_choice != "Yes")
|
||||
return
|
||||
if(QDELETED(src) || uses <= 0)
|
||||
return
|
||||
log_game("[key_name(user)] golem-swapped into [src]")
|
||||
user.visible_message("<span class='notice'>A faint light leaves [user], moving to [src] and animating it!</span>","<span class='notice'>You leave your old body behind, and transfer into [src]!</span>")
|
||||
show_flavour = FALSE
|
||||
create(ckey = user.ckey,name = user.real_name)
|
||||
user.death()
|
||||
return
|
||||
|
||||
/obj/effect/mob_spawn/human/golem/servant
|
||||
has_owner = TRUE
|
||||
name = "inert servant golem shell"
|
||||
mob_name = "a servant golem"
|
||||
|
||||
/obj/effect/mob_spawn/human/golem/adamantine
|
||||
name = "dust-caked free golem shell"
|
||||
desc = "A humanoid shape, empty, lifeless, and full of potential."
|
||||
mob_name = "a free golem"
|
||||
can_transfer = FALSE
|
||||
mob_species = /datum/species/golem/adamantine
|
||||
@@ -0,0 +1,66 @@
|
||||
//Items
|
||||
|
||||
/obj/item/bedsheet/rd/royal_cape
|
||||
name = "Royal Cape of the Liberator"
|
||||
desc = "Majestic."
|
||||
dream_messages = list("mining", "stone", "a golem", "freedom", "doing whatever")
|
||||
|
||||
/obj/item/storage/box/rndboards
|
||||
name = "the Liberator's legacy"
|
||||
desc = "A box containing a gift for worthy golems."
|
||||
|
||||
/obj/item/storage/box/rndboards/New()
|
||||
..()
|
||||
contents = list()
|
||||
new /obj/item/circuitboard/machine/protolathe(src)
|
||||
new /obj/item/circuitboard/machine/destructive_analyzer(src)
|
||||
new /obj/item/circuitboard/machine/circuit_imprinter(src)
|
||||
new /obj/item/circuitboard/computer/rdconsole(src)
|
||||
|
||||
/obj/item/areaeditor/golem
|
||||
name = "golem land claim"
|
||||
desc = "Used to define new areas in space or on an asteroid."
|
||||
fluffnotice = "Praise the Liberator!"
|
||||
|
||||
/obj/item/areaeditor/golem/attack_self(mob/user)
|
||||
. = ..()
|
||||
var/area/A = get_area()
|
||||
if(get_area_type() == AREA_STATION)
|
||||
. += "<p>According to the [src], you are now in <b>\"[sanitize(A.name)]\"</b>.</p>"
|
||||
var/datum/browser/popup = new(user, "blueprints", "[src]", 700, 500)
|
||||
popup.set_content(.)
|
||||
popup.open()
|
||||
onclose(usr, "blueprints")
|
||||
|
||||
/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(MAT_METAL = 40000)
|
||||
build_path = /obj/item/golem_shell
|
||||
category = list("Imported")
|
||||
|
||||
|
||||
//Structures
|
||||
|
||||
//Areas
|
||||
|
||||
/area/shuttle/freegolem
|
||||
name = "Free Golem Ship"
|
||||
icon_state = "purple"
|
||||
|
||||
/area/mine/dangerous/explored/golem
|
||||
name = "Small Asteroid"
|
||||
|
||||
@@ -360,116 +360,4 @@
|
||||
|
||||
/area/ruin/space/ancientstation/hivebot
|
||||
name = "Hivebot Mothership"
|
||||
icon_state = "teleporter"
|
||||
|
||||
// Mob Spawners
|
||||
//Ancient cryogenic sleepers. Players become NT crewmen from a hundred year old space station, now on the verge of collapse.
|
||||
|
||||
/obj/effect/mob_spawn/human/oldsec
|
||||
name = "old cryogenics pod"
|
||||
desc = "A humming cryo pod. You can barely recognise a security uniform underneath the built up ice. The machine is attempting to wake up its occupant."
|
||||
mob_name = "a security officer"
|
||||
icon = 'icons/obj/cryogenic2.dmi'
|
||||
icon_state = "sleeper"
|
||||
roundstart = FALSE
|
||||
death = FALSE
|
||||
random = TRUE
|
||||
mob_species = /datum/species/human
|
||||
flavour_text = "<span class='big bold'>You are a security officer working for Nanotrasen,</span><b> stationed onboard a state of the art research station. You vaguely recall rushing into a \
|
||||
cryogenics pod due to an oncoming radiation storm. The last thing you remember is the station's Artificial Program telling you that you would only be asleep for eight hours. As you open \
|
||||
your eyes, everything seems rusted and broken, a dark feeling swells in your gut as you climb out of your pod. \
|
||||
Work as a team with your fellow survivors and do not abandon them.</b>"
|
||||
uniform = /obj/item/clothing/under/retro/security
|
||||
shoes = /obj/item/clothing/shoes/jackboots
|
||||
id = /obj/item/card/id/away/old/sec
|
||||
r_pocket = /obj/item/restraints/handcuffs
|
||||
l_pocket = /obj/item/flash
|
||||
assignedrole = "Ancient Crew"
|
||||
|
||||
/obj/effect/mob_spawn/human/oldsec/Destroy()
|
||||
new /obj/structure/showcase/machinery/oldpod/used(drop_location())
|
||||
return ..()
|
||||
|
||||
/obj/effect/mob_spawn/human/oldmed
|
||||
name = "old cryogenics pod"
|
||||
desc = "A humming cryo pod. You can barely recognise a medical uniform underneath the built up ice. The machine is attempting to wake up its occupant."
|
||||
mob_name = "a medical doctor"
|
||||
icon = 'icons/obj/cryogenic2.dmi'
|
||||
icon_state = "sleeper"
|
||||
roundstart = FALSE
|
||||
death = FALSE
|
||||
random = TRUE
|
||||
mob_species = /datum/species/human
|
||||
flavour_text = "<span class='big bold'>You are a medical working for Nanotrasen,</span><b> stationed onboard a state of the art research station. You vaguely recall rushing into a \
|
||||
cryogenics pod due to an oncoming radiation storm. The last thing you remember is the station's Artificial Program telling you that you would only be asleep for eight hours. As you open \
|
||||
your eyes, everything seems rusted and broken, a dark feeling swells in your gut as you climb out of your pod. \
|
||||
Work as a team with your fellow survivors and do not abandon them.</b>"
|
||||
uniform = /obj/item/clothing/under/retro/medical
|
||||
shoes = /obj/item/clothing/shoes/black
|
||||
id = /obj/item/card/id/away/old/med
|
||||
l_pocket = /obj/item/stack/medical/ointment
|
||||
r_pocket = /obj/item/stack/medical/ointment
|
||||
assignedrole = "Ancient Crew"
|
||||
|
||||
/obj/effect/mob_spawn/human/oldmed/Destroy()
|
||||
new /obj/structure/showcase/machinery/oldpod/used(drop_location())
|
||||
return ..()
|
||||
|
||||
/obj/effect/mob_spawn/human/oldeng
|
||||
name = "old cryogenics pod"
|
||||
desc = "A humming cryo pod. You can barely recognise an engineering uniform underneath the built up ice. The machine is attempting to wake up its occupant."
|
||||
mob_name = "an engineer"
|
||||
icon = 'icons/obj/cryogenic2.dmi'
|
||||
icon_state = "sleeper"
|
||||
roundstart = FALSE
|
||||
death = FALSE
|
||||
random = TRUE
|
||||
mob_species = /datum/species/human
|
||||
flavour_text = "<span class='big bold'>You are an engineer working for Nanotrasen,</span><b> stationed onboard a state of the art research station. You vaguely recall rushing into a \
|
||||
cryogenics pod due to an oncoming radiation storm. The last thing you remember is the station's Artificial Program telling you that you would only be asleep for eight hours. As you open \
|
||||
your eyes, everything seems rusted and broken, a dark feeling swells in your gut as you climb out of your pod. \
|
||||
Work as a team with your fellow survivors and do not abandon them.</b>"
|
||||
uniform = /obj/item/clothing/under/retro/engineering
|
||||
shoes = /obj/item/clothing/shoes/workboots
|
||||
id = /obj/item/card/id/away/old/eng
|
||||
gloves = /obj/item/clothing/gloves/color/fyellow/old
|
||||
l_pocket = /obj/item/tank/emergency_oxygen
|
||||
assignedrole = "Ancient Crew"
|
||||
|
||||
/obj/effect/mob_spawn/human/oldeng/Destroy()
|
||||
new /obj/structure/showcase/machinery/oldpod/used(drop_location())
|
||||
return ..()
|
||||
|
||||
/obj/effect/mob_spawn/human/oldsci
|
||||
name = "old cryogenics pod"
|
||||
desc = "A humming cryo pod. You can barely recognise a science uniform underneath the built up ice. The machine is attempting to wake up its occupant."
|
||||
mob_name = "a scientist"
|
||||
icon = 'icons/obj/cryogenic2.dmi'
|
||||
icon_state = "sleeper"
|
||||
roundstart = FALSE
|
||||
death = FALSE
|
||||
random = TRUE
|
||||
mob_species = /datum/species/human
|
||||
flavour_text = "<span class='big bold'>You are a scientist working for Nanotrasen,</span><b> stationed onboard a state of the art research station. You vaguely recall rushing into a \
|
||||
cryogenics pod due to an oncoming radiation storm. The last thing you remember is the station's Artificial Program telling you that you would only be asleep for eight hours. As you open \
|
||||
your eyes, everything seems rusted and broken, a dark feeling swells in your gut as you climb out of your pod. \
|
||||
Work as a team with your fellow survivors and do not abandon them.</b>"
|
||||
uniform = /obj/item/clothing/under/retro/science
|
||||
shoes = /obj/item/clothing/shoes/laceup
|
||||
id = /obj/item/card/id/away/old/sci
|
||||
l_pocket = /obj/item/stack/medical/bruise_pack
|
||||
assignedrole = "Ancient Crew"
|
||||
|
||||
/obj/effect/mob_spawn/human/oldsci/Destroy()
|
||||
new /obj/structure/showcase/machinery/oldpod/used(drop_location())
|
||||
return ..()
|
||||
|
||||
/obj/structure/showcase/machinery/oldpod
|
||||
name = "damaged cryogenic pod"
|
||||
desc = "A damaged cryogenic pod long since lost to time, including its former occupant..."
|
||||
icon = 'icons/obj/cryogenic2.dmi'
|
||||
icon_state = "sleeper-open"
|
||||
|
||||
/obj/structure/showcase/machinery/oldpod/used
|
||||
name = "opened cryogenic pod"
|
||||
desc = "A cryogenic pod that has recently discharged its occupant. The pod appears non-functional."
|
||||
icon_state = "teleporter"
|
||||
@@ -426,6 +426,23 @@
|
||||
new /datum/data/mining_equipment("Point Transfer Card", /obj/item/card/mining_point_card, 500),
|
||||
)
|
||||
|
||||
/obj/machinery/mineral/equipment_vendor/golem
|
||||
name = "golem ship equipment vendor"
|
||||
circuit = /obj/item/circuitboard/machine/mining_equipment_vendor/golem
|
||||
|
||||
/obj/machinery/mineral/equipment_vendor/golem/Initialize()
|
||||
. = ..()
|
||||
desc += "\nIt seems a few selections have been added."
|
||||
prize_list += list(
|
||||
new /datum/data/mining_equipment("Extra Id", /obj/item/card/id/mining, 250),
|
||||
new /datum/data/mining_equipment("Science Goggles", /obj/item/clothing/glasses/science, 250),
|
||||
new /datum/data/mining_equipment("Monkey Cube", /obj/item/reagent_containers/food/snacks/monkeycube, 300),
|
||||
new /datum/data/mining_equipment("Toolbelt", /obj/item/storage/belt/utility, 350),
|
||||
new /datum/data/mining_equipment("Royal Cape of the Liberator", /obj/item/bedsheet/rd/royal_cape, 500),
|
||||
new /datum/data/mining_equipment("Grey Slime Extract", /obj/item/slime_extract/grey, 1000),
|
||||
new /datum/data/mining_equipment("KA Trigger Modification Kit", /obj/item/borg/upgrade/modkit/trigger_guard, 1700),
|
||||
new /datum/data/mining_equipment("The Liberator's Legacy", /obj/item/storage/box/rndboards, 2000)
|
||||
)
|
||||
|
||||
/datum/data/mining_equipment/
|
||||
var/equipment_name = "generic"
|
||||
|
||||
@@ -529,6 +529,13 @@
|
||||
return TRUE
|
||||
return FALSE
|
||||
|
||||
/datum/language/abductor/golem
|
||||
name = "Golem Mindlink"
|
||||
desc = "Communicate with other alien alloy golems through a psychic link."
|
||||
|
||||
/datum/language/abductor/golem/check_special_condition(mob/living/carbon/human/other, mob/living/carbon/human/speaker)
|
||||
return TRUE
|
||||
|
||||
/datum/language/corticalborer
|
||||
name = "Cortical Link"
|
||||
desc = "Cortical borers possess a strange link between their tiny minds."
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,157 @@
|
||||
Ablation
|
||||
Alabaster
|
||||
Alunite
|
||||
Andesite
|
||||
Anyhdrite
|
||||
Basalt
|
||||
Basin
|
||||
Bauxite
|
||||
Bedrock
|
||||
Bismuth
|
||||
Bismuthinite
|
||||
Bituminous Coal
|
||||
Borax
|
||||
Boulder
|
||||
Brimstone
|
||||
Brittle
|
||||
Calcite
|
||||
Cassiterite
|
||||
Cenozoic
|
||||
Chalk
|
||||
Chasm
|
||||
Cheridite
|
||||
Chert
|
||||
Chromite
|
||||
Cinnabar
|
||||
Claystone
|
||||
Coast
|
||||
Cobaltite
|
||||
Column
|
||||
Conglomerate
|
||||
Core
|
||||
Crevasse
|
||||
Crust
|
||||
Cryolite
|
||||
Crystal
|
||||
Dacite
|
||||
Diorite
|
||||
Dolomite
|
||||
Dolostone
|
||||
Dragonforce
|
||||
Earthflow
|
||||
Epoch
|
||||
Eutrophication
|
||||
Fault
|
||||
Flint
|
||||
Foliation
|
||||
Foreshock
|
||||
Fossil
|
||||
Gabbro
|
||||
Galena
|
||||
Garnierite
|
||||
Geode
|
||||
Geoge
|
||||
Gneiss
|
||||
Granite
|
||||
Graphite
|
||||
Gravel
|
||||
Groove
|
||||
Grotto
|
||||
Gypsum
|
||||
Hematite
|
||||
Hornblende
|
||||
Humus
|
||||
Igneous
|
||||
Ilmenite
|
||||
Iron
|
||||
Island
|
||||
Jasper
|
||||
Jet
|
||||
Kaolinite
|
||||
Kettle
|
||||
Kimberlite
|
||||
Komatiite
|
||||
Landslide
|
||||
Levee
|
||||
Lignite
|
||||
Limestone
|
||||
Limonite
|
||||
Luster
|
||||
Madidite
|
||||
Magnetite
|
||||
Magnitude
|
||||
Malachite
|
||||
Mantle
|
||||
Marble
|
||||
Marcasite
|
||||
Melange
|
||||
Meme
|
||||
Mica
|
||||
Microcline
|
||||
Migmatite
|
||||
Mineral
|
||||
Mountain
|
||||
Mudstone
|
||||
Obsidian
|
||||
Olivine
|
||||
Ore
|
||||
Orpiment
|
||||
Orthoclase
|
||||
Outwash
|
||||
Oxbow Lake
|
||||
Oynx
|
||||
Pahoehoe
|
||||
Pebble
|
||||
Pegmatite
|
||||
Periclase
|
||||
Petrified Wood
|
||||
Phyllite
|
||||
Pitchblende
|
||||
Plate
|
||||
Pothole
|
||||
Puddingstone
|
||||
Pyrite
|
||||
Pyrolusite
|
||||
Quake
|
||||
Quarry
|
||||
Quartz
|
||||
Quartzite
|
||||
Realgar
|
||||
Reservoir
|
||||
Rhyolite
|
||||
Rock
|
||||
Rock Salt
|
||||
Rockfall
|
||||
Rutile
|
||||
Saltpeter
|
||||
Sand
|
||||
Sandstone
|
||||
Satinspar
|
||||
Schist
|
||||
Sediment
|
||||
Seismic
|
||||
Selenite
|
||||
Serpentine
|
||||
Shale
|
||||
Shore
|
||||
Siltstone
|
||||
Slag
|
||||
Slate
|
||||
Sphalerite
|
||||
Stack
|
||||
Stalactite
|
||||
Stalagmite
|
||||
Stibnite
|
||||
Stone
|
||||
Stress
|
||||
Subduction
|
||||
Sylvite
|
||||
Talc
|
||||
Tetrahedrite
|
||||
Tidal
|
||||
Trench
|
||||
Valley
|
||||
Volcano
|
||||
Xenolith
|
||||
Yardang
|
||||
Zone
|
||||
|
Before Width: | Height: | Size: 9.0 KiB After Width: | Height: | Size: 9.0 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 6.3 KiB |
@@ -12,6 +12,7 @@
|
||||
// BEGIN_INCLUDE
|
||||
#include "_maps\__MAP_DEFINES.dm"
|
||||
#include "_maps\cyberiad.dm"
|
||||
#include "_maps\map_files\RandomRuins\SpaceRuins\freegolems.dmm"
|
||||
#include "code\_compile_options.dm"
|
||||
#include "code\hub.dm"
|
||||
#include "code\world.dm"
|
||||
@@ -1246,6 +1247,7 @@
|
||||
#include "code\modules\awaymissions\mission_code\stationCollision.dm"
|
||||
#include "code\modules\awaymissions\mission_code\UO71-terrorspiders.dm"
|
||||
#include "code\modules\awaymissions\mission_code\wildwest.dm"
|
||||
#include "code\modules\awaymissions\mission_code\ruins\freegolems.dm"
|
||||
#include "code\modules\awaymissions\mission_code\ruins\oldstation.dm"
|
||||
#include "code\modules\buildmode\bm_mode.dm"
|
||||
#include "code\modules\buildmode\buildmode.dm"
|
||||
|
||||
Reference in New Issue
Block a user