This commit is contained in:
Neerti
2017-11-26 03:48:22 -05:00
parent 54f4ad7198
commit 7497aef295
36 changed files with 509 additions and 16 deletions

View File

@@ -21,9 +21,14 @@
return 0
/obj/item/weapon/spell/proc/allowed_to_teleport()
if(owner && owner.z in using_map.admin_levels)
return 0
return 1
if(owner)
if(owner.z in using_map.admin_levels)
return FALSE
var/turf/T = get_turf(owner)
if(T.block_tele)
return FALSE
return TRUE
/obj/item/weapon/spell/proc/within_range(var/atom/target, var/max_range = 7) // Beyond 7 is off the screen.
if(range(get_dist(owner, target) <= max_range))

View File

@@ -23,9 +23,12 @@
var/turf/starting = get_turf(AM)
var/list/targets = list()
if(starting.block_tele)
return
valid_turfs:
for(var/turf/simulated/T in range(AM, range))
if(T.density || istype(T, /turf/simulated/mineral)) //Don't blink to vacuum or a wall
if(T.density || T.block_tele || istype(T, /turf/simulated/mineral)) //Don't blink to vacuum or a wall
continue
for(var/atom/movable/stuff in T.contents)
if(stuff.density)
@@ -54,7 +57,10 @@
if(istype(hit_atom, /atom/movable))
var/atom/movable/AM = hit_atom
if(!within_range(AM))
user << "<span class='warning'>\The [AM] is too far away to blink.</span>"
to_chat(user, "<span class='warning'>\The [AM] is too far away to blink.</span>")
return
if(!allowed_to_teleport())
to_chat(user, "<span class='warning'>Teleportation doesn't seem to work here.</span>")
return
if(pay_energy(400))
if(check_for_scepter())
@@ -67,6 +73,9 @@
to_chat(user, "<span class='warning'>You need more energy to blink [AM] away!</span>")
/obj/item/weapon/spell/blink/on_use_cast(mob/user)
if(!allowed_to_teleport())
to_chat(user, "<span class='warning'>Teleportation doesn't seem to work here.</span>")
return
if(pay_energy(200))
if(check_for_scepter())
safe_blink(user, calculate_spell_power(10))
@@ -80,6 +89,9 @@
/obj/item/weapon/spell/blink/on_melee_cast(atom/hit_atom, mob/living/user, def_zone)
if(istype(hit_atom, /atom/movable))
var/atom/movable/AM = hit_atom
if(!allowed_to_teleport())
to_chat(user, "<span class='warning'>Teleportation doesn't seem to work here.</span>")
return
if(pay_energy(300))
visible_message("<span class='danger'>\The [user] reaches out towards \the [AM] with a glowing hand.</span>")
if(check_for_scepter())

View File

@@ -68,6 +68,9 @@
user << "<span class='danger'>There's no Mark!</span>"
return 0
else
if(!allowed_to_teleport())
to_chat(user, "<span class='warning'>Teleportation doesn't seem to work here.</span>")
return
visible_message("<span class='warning'>\The [user] starts glowing!</span>")
var/light_intensity = 2
var/time_left = 3

View File

@@ -46,6 +46,9 @@
checked_turf = get_step(checked_turf, direction) //Advance in the given direction
total_cost += check_for_scepter() ? 400 : 800 //Phasing through matter's expensive, you know.
i--
if(checked_turf.block_tele) // The fun ends here.
break
if(!checked_turf.density) //If we found a destination (a non-dense turf), then we can stop.
var/dense_objs_on_turf = 0
for(var/atom/movable/stuff in checked_turf.contents) //Make sure nothing dense is where we want to go, like an airlock or window.

View File

@@ -462,3 +462,9 @@
/datum/access/trader
id = access_trader
access_type = ACCESS_TYPE_PRIVATE
/var/const/access_alien = 300 // For things like crashed ships.
/datum/access/alien
id = access_alien
desc = "#%_^&*@!"
access_type = ACCESS_TYPE_PRIVATE

View File

@@ -416,6 +416,24 @@
icon = 'icons/obj/doors/shuttledoors_vertical.dmi'
assembly_type = /obj/structure/door_assembly/door_assembly_voidcraft/vertical
/obj/machinery/door/airlock/alien
name = "alien airlock"
desc = "You're fairly sure this is a door."
icon = 'icons/obj/doors/Dooralien.dmi'
explosion_resistance = 20
secured_wires = TRUE
hackProof = TRUE
assembly_type = /obj/structure/door_assembly/door_assembly_alien
req_one_access = list(access_alien)
/obj/machinery/door/airlock/alien/locked
icon_state = "door_locked"
locked = TRUE
/obj/machinery/door/airlock/alien/public // Entry to UFO.
req_one_access = list()
normalspeed = FALSE // So it closes faster and hopefully keeps the warm air inside.
/*
About the new airlock wires panel:
* An airlock wire dialog can be accessed by the normal way or by using wirecutters or a multitool on the door while the wire-panel is open. This would show the following wires, which you can either wirecut/mend or send a multitool pulse through. There are 9 wires.

View File

@@ -86,6 +86,23 @@
health = 250 // Since lasers do 40 each.
maxhealth = 250
/obj/machinery/porta_turret/alien // The kind used on the UFO submap.
name = "interior anti-boarding turret"
desc = "A very tough looking turret made by alien hands."
installation = /obj/item/weapon/gun/energy/laser
enabled = TRUE
lethal = TRUE
ailock = TRUE
check_all = TRUE
health = 250 // Similar to the AI turrets.
maxhealth = 250
/obj/machinery/porta_turret/alien/destroyed // Turrets that are already dead, to act as a warning of what the rest of the submap contains.
name = "broken interior anti-boarding turret"
desc = "A very tough looking turret made by alien hands. This one looks destroyed, thankfully."
icon_state = "destroyed_target_prism"
stat = BROKEN
/obj/machinery/porta_turret/New()
..()
req_access.Cut()
@@ -103,6 +120,11 @@
req_one_access.Cut()
req_access = list(access_cent_specops)
/obj/machinery/porta_turret/alien/New()
..()
req_one_access.Cut()
req_access = list(access_alien)
/obj/machinery/porta_turret/Destroy()
qdel(spark_system)
spark_system = null
@@ -436,6 +458,14 @@ var/list/turret_icons
return
..()
/obj/machinery/porta_turret/alien/emp_act(severity) // This is overrided to give an EMP resistance as well as avoid scambling the turret settings.
if(prob(75)) // Superior alien technology, I guess.
return
enabled = FALSE
spawn(rand(1 MINUTE, 2 MINUTES))
if(!enabled)
enabled = TRUE
/obj/machinery/porta_turret/ex_act(severity)
switch (severity)
if(1)

View File

@@ -247,6 +247,7 @@
icon = 'icons/obj/abductor.dmi'
icon_state = "belt"
item_state = "security"
storage_slots = 8
can_hold = list(
/obj/item/device/healthanalyzer,
/obj/item/weapon/dnainjector,
@@ -284,6 +285,7 @@
new /obj/item/weapon/surgical/FixOVein/alien(src)
new /obj/item/weapon/surgical/bone_clamp/alien(src)
new /obj/item/weapon/surgical/cautery/alien(src)
new /obj/item/weapon/surgical/surgicaldrill/alien(src)
/obj/item/weapon/storage/belt/champion
name = "championship belt"

View File

@@ -0,0 +1,79 @@
// These contain structures to make certain 'alien' (as in the ayyy ones, not xenomorphs) submaps more filled, and don't really do anything.
/obj/structure/prop/alien
name = "some alien thing"
desc = "My description is broken, bug a developer."
icon = 'icons/obj/abductor.dmi'
density = TRUE
anchored = TRUE
var/interaction_message = null
/obj/structure/prop/alien/attack_hand(mob/living/user) // Used to tell the player that this isn't useful for anything.
if(!istype(user))
return FALSE
if(!interaction_message)
return ..()
else
to_chat(user, interaction_message)
/obj/structure/prop/alien/computer
name = "alien console"
desc = "The console flashes what appear to be symbols you've never seen before."
icon_state = "console-c"
interaction_message = "<span class='warning'>The console flashes a series of unknown symbols as you press a button on what is presumably a keyboard. It probably some sort of \
authentication error. Since you're not an alien, you should probably leave it alone.</span>"
/obj/structure/prop/alien/computer/camera
desc = "This console is briefly flashing video feeds of various locations close by."
icon_state = "camera"
/obj/structure/prop/alien/computer/camera/flipped
icon_state = "camera_flipped"
/obj/structure/prop/alien/dispenser
name = "alien dispenser"
desc = "This looks like it dispenses... something?"
icon_state = "dispenser"
interaction_message = "<span class='warning'>You don't see any mechanism to operate this. Probably for the best.</span>"
/obj/structure/prop/alien/pod
name = "alien pod"
desc = "This seems to be a container for something."
icon_state = "experiment"
interaction_message = "<span class='warning'>You don't see any mechanism to open this thing. Probably for the best.</span>"
/obj/structure/prop/alien/pod/open
name = "opened alien pod"
desc = "At one point, this probably contained something interesting..."
icon_state = "experiment-open"
interaction_message = "<span class='warning'>You don't see any mechanism to close this thing.</span>"
/obj/structure/prop/alien/power
name = "void core"
icon_state = "core"
desc = "An alien machine that seems to be producing energy seemingly out of nowhere."
interaction_message = "<span class='warning'>Messing with something that makes energy out of nowhere seems very unwise.</span>"
/obj/item/prop/alien
name = "some alien item"
desc = "My description is broken, bug a developer."
icon = 'icons/obj/abductor.dmi'
// Mostly useless. Research might like it, however.
/obj/item/prop/alien/junk
name = "alien object"
desc = "You have no idea what this thing does."
icon_state = "health"
w_class = ITEMSIZE_SMALL
var/static/list/possible_states = list("health", "spider", "slime", "emp", "species", "egg", "vent", "mindshock", "viral", "gland")
var/static/list/possible_tech = list(TECH_MATERIAL, TECH_ENGINEERING, TECH_PHORON, TECH_POWER, TECH_BIO, TECH_COMBAT, TECH_MAGNET, TECH_DATA)
/obj/item/prop/alien/junk/initialize()
..()
icon_state = pick(possible_states)
var/list/techs = possible_tech.Copy()
origin_tech = list()
for(var/i = 1 to rand(1, 4))
var/new_tech = pick(techs)
techs -= new_tech
origin_tech[new_tech] = rand(5, 9)

View File

@@ -134,3 +134,12 @@
new /obj/item/clothing/head/helmet/thunderdome(src)
new /obj/item/clothing/head/helmet/thunderdome(src)
new /obj/item/clothing/head/helmet/thunderdome(src)
/obj/structure/closet/alien
name = "alien container"
desc = "Contains secrets of the universe."
icon = 'icons/obj/abductor.dmi'
icon_state = "alien_locker"
icon_closed = "alien_locker"
icon_opened = "alien_locker_open"
anchored = TRUE

View File

@@ -117,6 +117,12 @@
base_icon_state = "voidcraft_vertical"
airlock_type = "/voidcraft/vertical"
/obj/structure/door_assembly/door_assembly_alien
base_icon_state = "alien"
base_name = "alien airlock"
airlock_type = "/alien"
glass = -1
/obj/structure/door_assembly/multi_tile
icon = 'icons/obj/doors/door_assembly2x1.dmi'
dir = EAST

View File

@@ -435,3 +435,77 @@ Loot piles can be depleted, if loot_depleted is turned on. Note that players wh
loot_depletion = TRUE
loot_left = 5 // This is to prevent people from asking the whole station to go down to some alien ruin to get massive amounts of phat lewt.
// Base type for alien piles.
/obj/structure/loot_pile/surface/alien
name = "alien pod"
desc = "A pod which looks bigger on the inside. Something quiet shiny might be inside?"
icon_state = "alien_pile1"
/obj/structure/loot_pile/surface/alien
common_loot = list(
/obj/item/prop/alien/junk
)
// May contain alien tools.
/obj/structure/loot_pile/surface/alien/engineering
uncommon_loot = list(
/obj/item/device/multitool/alien,
/obj/item/stack/cable_coil/alien,
/obj/item/weapon/crowbar/alien,
/obj/item/weapon/screwdriver/alien,
/obj/item/weapon/weldingtool/alien,
/obj/item/weapon/wirecutters/alien,
/obj/item/weapon/wrench/alien
)
rare_loot = list(
/obj/item/weapon/storage/belt/utility/alien/full
)
// May contain alien surgery equipment or powerful medication.
/obj/structure/loot_pile/surface/alien/medical
uncommon_loot = list(
/obj/item/weapon/surgical/FixOVein/alien,
/obj/item/weapon/surgical/bone_clamp/alien,
/obj/item/weapon/surgical/cautery/alien,
/obj/item/weapon/surgical/circular_saw/alien,
/obj/item/weapon/surgical/hemostat/alien,
/obj/item/weapon/surgical/retractor/alien,
/obj/item/weapon/surgical/scalpel/alien,
/obj/item/weapon/surgical/surgicaldrill/alien
)
rare_loot = list(
/obj/item/weapon/storage/belt/medical/alien
)
// May contain powercells or alien weaponry.
/obj/structure/loot_pile/surface/alien/security
uncommon_loot = list(
/obj/item/weapon/cell/device/weapon/recharge/alien
)
// The pile found at the very end, and as such has the best loot.
/obj/structure/loot_pile/surface/alien/end
common_loot = list(
/obj/item/device/multitool/alien,
/obj/item/stack/cable_coil/alien,
/obj/item/weapon/crowbar/alien,
/obj/item/weapon/screwdriver/alien,
/obj/item/weapon/weldingtool/alien,
/obj/item/weapon/wirecutters/alien,
/obj/item/weapon/wrench/alien,
/obj/item/weapon/surgical/FixOVein/alien,
/obj/item/weapon/surgical/bone_clamp/alien,
/obj/item/weapon/surgical/cautery/alien,
/obj/item/weapon/surgical/circular_saw/alien,
/obj/item/weapon/surgical/hemostat/alien,
/obj/item/weapon/surgical/retractor/alien,
/obj/item/weapon/surgical/scalpel/alien,
/obj/item/weapon/surgical/surgicaldrill/alien,
/obj/item/weapon/cell/device/weapon/recharge/alien,
)
uncommon_loot = list(
/obj/item/weapon/storage/belt/medical/alien,
/obj/item/weapon/storage/belt/utility/alien/full
)

View File

@@ -174,13 +174,6 @@
/obj/structure/bed/padded/New(var/newloc)
..(newloc,"plastic","cotton")
/obj/structure/bed/alien
name = "resting contraption"
desc = "This looks similar to contraptions from earth. Could aliens be stealing our technology?"
/obj/structure/bed/alien/New(var/newloc)
..(newloc,"resin")
/obj/structure/bed/double
name = "double bed"
icon_state = "doublebed"
@@ -305,3 +298,15 @@
spawn(0)
qdel(src)
return
/obj/structure/bed/alien
name = "resting contraption"
desc = "Whatever species designed this must've enjoyed relaxation as well. Looks vaguely comfy."
icon = 'icons/obj/abductor.dmi'
icon_state = "bed"
/obj/structure/bed/alien/update_icon()
return // Doesn't care about material or anything else.
/obj/structure/bed/alien/attackby(obj/item/weapon/W, mob/user)
return // No deconning.

View File

@@ -0,0 +1,7 @@
// Special floor type for Point of Interests.
/turf/simulated/floor/dungeon
block_tele = TRUE // Anti-cheese.
/turf/simulated/floor/dungeon/ex_act()
return

View File

@@ -0,0 +1,13 @@
// Special wall type for Point of Interests.
/turf/simulated/wall/dungeon
block_tele = TRUE // Anti-cheese.
/turf/simulated/wall/dungeon/New(var/newloc)
..(newloc,"dungeonium")
/turf/simulated/wall/dungeon/attackby()
return
/turf/simulated/wall/dungeon/ex_act()
return

View File

@@ -166,6 +166,19 @@
icon_state = "floor_glass"
takes_underlays = 1
/turf/simulated/shuttle/floor/alien
icon_state = "alienpod1"
light_range = 3
light_power = 3
light_color = "#66ffff" // Bright cyan.
/turf/simulated/shuttle/floor/alien/initialize()
..()
icon_state = "alienpod[rand(1, 9)]"
/turf/simulated/shuttle/floor/alienplating
icon_state = "alienplating"
/turf/simulated/shuttle/plating
name = "plating"
icon = 'icons/turf/floors.dmi'

View File

@@ -107,6 +107,25 @@
icon_state = "dark-nj"
join_group = null
/turf/simulated/shuttle/wall/alien
icon = 'icons/turf/shuttle_alien.dmi'
icon_state = "alien"
base_state = "alien"
light_range = 3
light_power = 3
light_color = "#ff0066" // Pink-ish
block_tele = TRUE // Will be used for dungeons so this is needed to stop cheesing with handteles.
/turf/simulated/shuttle/wall/alien/hard_corner
name = "hardcorner wall"
icon_state = "alien-hc"
hard_corner = 1
/turf/simulated/shuttle/wall/alien/no_join
name = "nojoin wall"
icon_state = "alien-nj"
join_group = null
/turf/simulated/shuttle/wall/New()
..()
//To allow mappers to rename shuttle walls to like "redfloor interior" or whatever for ease of use.

View File

@@ -28,6 +28,8 @@
var/list/footstep_sounds = null
var/block_tele = FALSE // If true, most forms of teleporting to or from this turf tile will fail.
/turf/New()
..()
for(var/atom/movable/AM as mob|obj in src)

View File

@@ -210,6 +210,16 @@
icon_state = "reactiveoff"
..()
/obj/item/clothing/suit/armor/alien
name = "alien armor"
desc = "It's really resilient yet lightweight, so it's probably meant to be armor. Strangely enough it seems to have been designed for a humanoid shape."
icon_state = "alien"
blood_overlay_type = "armor"
item_state_slots = list(slot_r_hand_str = "armor", slot_l_hand_str = "armor")
slowdown = 0
body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS
armor = list(melee = 65, bullet = 65, laser = 65, energy = 50, bomb = 50, bio = 0, rad = 40)
//Non-hardsuit ERT armor.
/obj/item/clothing/suit/armor/vest/ert
name = "emergency response team armor"

View File

@@ -642,6 +642,19 @@ var/list/name_to_material
display_name = "elevator panelling"
icon_colour = "#666666"
// Ditto.
/material/alienalloy/dungeonium
name = "dungeonium"
display_name = "ultra-durable"
icon_base = "dungeon"
icon_colour = "#FFFFFF"
/material/alienalloy/alium
name = "alium"
display_name = "alien"
icon_base = "alien"
icon_colour = "#FFFFFF"
/material/resin
name = "resin"
icon_colour = "#35343a"

View File

@@ -35,6 +35,24 @@
var/const/signfont = "Times New Roman"
var/const/crayonfont = "Comic Sans MS"
/obj/item/weapon/paper/alien
name = "alien tablet"
desc = "It looks highly advanced"
icon = 'icons/obj/abductor.dmi'
icon_state = "alienpaper"
/obj/item/weapon/paper/alien/update_icon()
if(info)
icon_state = "alienpaper_words"
else
icon_state = "alienpaper"
/obj/item/weapon/paper/alien/burnpaper()
return
/obj/item/weapon/paper/alien/AltClick() // No airplanes for me.
return
//lipstick wiping is in code/game/objects/items/weapons/cosmetics.dm!
/obj/item/weapon/paper/New()

View File

@@ -20,6 +20,11 @@
maxcharge = 2400
charge_amount = 20
/obj/item/weapon/cell/device/weapon/empty/initialize()
..()
charge = 0
update_icon()
/obj/item/weapon/cell/device/weapon/recharge
name = "self-charging weapon power cell"
desc = "A small power cell designed to power handheld weaponry. This one recharges itself."
@@ -30,4 +35,13 @@
/obj/item/weapon/cell/device/weapon/recharge/captain
charge_amount = 160 //Recharges a lot more quickly...
charge_delay = 100 //... but it takes a while to get started
charge_delay = 100 //... but it takes a while to get started
/obj/item/weapon/cell/device/weapon/recharge/alien
name = "void cell"
desc = "An alien technology that produces energy seemingly out of nowhere. Its small, cylinderal shape means it might be able to be used with human technology, perhaps?"
icon = 'icons/obj/abductor.dmi'
icon_state = "cell"
charge_amount = 120 // 5%.
charge_delay = 50 // Every five seconds, bit faster than the default.
origin_tech = list(TECH_POWER = 8, TECH_ENGINEERING = 6)

View File

@@ -7,7 +7,7 @@
var/obj/item/weapon/cell/power_supply //What type of power cell this uses
var/charge_cost = 240 //How much energy is needed to fire.
var/cell_type = null
var/cell_type = /obj/item/weapon/cell/device/weapon
var/projectile_type = /obj/item/projectile/beam/practice
var/modifystate
var/charge_meter = 1 //if set, the icon state will be chosen based on the current charge
@@ -41,7 +41,7 @@
if(cell_type)
power_supply = new cell_type(src)
else
power_supply = new /obj/item/weapon/cell/device/weapon(src)
power_supply = null
update_icon()

View File

@@ -52,6 +52,10 @@
self_recharge = 1
use_external_power = 1
/obj/item/weapon/gun/energy/retro/empty
icon_state = "retro"
cell_type = null
/obj/item/weapon/gun/energy/captain
name = "antique laser gun"
icon_state = "caplaser"

View File

@@ -90,6 +90,23 @@
material = get_material_by_name("holowood")
..()
/obj/structure/table/alien
name = "alien table"
desc = "Advanced flat surface technology at work!"
icon_state = "alien_preview"
can_reinforce = FALSE
can_plate = FALSE
/obj/structure/table/alien/New()
material = get_material_by_name("alium")
verbs -= /obj/structure/table/verb/do_flip
verbs -= /obj/structure/table/proc/do_put
..()
/obj/structure/table/alien/dismantle(obj/item/weapon/wrench/W, mob/user)
to_chat(user, "<span class='warning'>You cannot dismantle \the [src].</span>")
return
//BENCH PRESETS
/obj/structure/table/bench/standard
icon_state = "plain_preview"

Binary file not shown.

Before

Width:  |  Height:  |  Size: 56 KiB

After

Width:  |  Height:  |  Size: 261 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 40 KiB

After

Width:  |  Height:  |  Size: 41 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.1 KiB

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 30 KiB

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.1 KiB

After

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 64 KiB

After

Width:  |  Height:  |  Size: 72 KiB

View File

@@ -9,4 +9,8 @@
name = "Prepper Bunker"
/area/submap/cave/qShuttle
name = "Quarantined Shuttle"
name = "Quarantined Shuttle"
/area/submap/cave/crashed_ufo
name = "Crashed Alien Vessel"
requires_power = FALSE

View File

@@ -0,0 +1,103 @@
"aa" = (/turf/space,/area/space)
"ab" = (/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo)
"ac" = (/turf/simulated/shuttle/wall/alien,/area/submap/cave/crashed_ufo)
"ad" = (/obj/structure/closet/alien,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo)
"ae" = (/obj/machinery/door/airlock/alien/locked,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo)
"af" = (/obj/effect/decal/remains/xeno,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo)
"ag" = (/obj/machinery/porta_turret/alien,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo)
"ah" = (/obj/structure/loot_pile/surface/alien/engineering,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo)
"ai" = (/obj/structure/prop/alien/computer,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo)
"aj" = (/obj/item/weapon/wrench/alien,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo)
"ak" = (/obj/structure/bed/alien,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo)
"al" = (/obj/structure/table/alien,/turf/simulated/shuttle/floor/alien,/area/submap/cave/crashed_ufo)
"am" = (/obj/structure/table/alien,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo)
"an" = (/obj/structure/closet/alien,/obj/item/prop/alien/junk,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo)
"ao" = (/obj/structure/prop/alien/power,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo)
"ap" = (/turf/simulated/shuttle/floor/alien,/area/submap/cave/crashed_ufo)
"aq" = (/obj/structure/table/alien,/obj/item/weapon/paper/alien{icon_state = "alienpaper_words"; info = "\[i]This tablet has a large collection of symbols that you've never seen before outside this ship. You have no hope of figuring out what any of the mean...\[/i]"},/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo)
"ar" = (/turf/simulated/shuttle/wall/alien/hard_corner,/area/submap/cave/crashed_ufo)
"as" = (/obj/structure/prop/alien/computer,/turf/simulated/shuttle/floor/alien,/area/submap/cave/crashed_ufo)
"at" = (/obj/structure/table/alien,/obj/item/prop/alien/junk,/turf/simulated/shuttle/floor/alien,/area/submap/cave/crashed_ufo)
"au" = (/obj/structure/table/alien,/obj/item/weapon/paper/alien{icon_state = "alienpaper_words"; info = "\[i]This tablet has a large collection of symbols that you've never seen before outside this ship. You have no hope of figuring out what any of the mean...\[/i]"},/turf/simulated/shuttle/floor/alien,/area/submap/cave/crashed_ufo)
"av" = (/obj/structure/loot_pile/surface/alien/security,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo)
"aw" = (/obj/structure/prop/alien/computer{dir = 8},/turf/simulated/shuttle/floor/alien,/area/submap/cave/crashed_ufo)
"ax" = (/obj/structure/prop/alien/computer{tag = "icon-console-c (EAST)"; icon_state = "console-c"; dir = 4},/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo)
"ay" = (/obj/machinery/door/airlock/alien/locked{welded = 1},/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo)
"az" = (/obj/structure/bed/alien,/obj/effect/decal/remains/xeno,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo)
"aA" = (/obj/item/weapon/screwdriver/alien,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo)
"aB" = (/obj/item/device/multitool/alien,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo)
"aC" = (/obj/structure/prop/alien/computer/camera/flipped{tag = "icon-camera_flipped (EAST)"; icon_state = "camera_flipped"; dir = 4},/turf/simulated/shuttle/floor/alien,/area/submap/cave/crashed_ufo)
"aD" = (/obj/structure/prop/alien/computer/camera{tag = "icon-camera (WEST)"; icon_state = "camera"; dir = 8},/turf/simulated/shuttle/floor/alien,/area/submap/cave/crashed_ufo)
"aE" = (/obj/machinery/porta_turret/alien,/turf/simulated/shuttle/floor/alien,/area/submap/cave/crashed_ufo)
"aF" = (/obj/machinery/door/airlock/alien/locked{p_open = 1},/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo)
"aG" = (/obj/effect/decal/remains/robot,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo)
"aH" = (/obj/item/stack/cable_coil/alien,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo)
"aI" = (/obj/structure/table/alien,/obj/item/prop/alien/junk,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo)
"aJ" = (/obj/structure/prop/alien/computer{tag = "icon-console-c (EAST)"; icon_state = "console-c"; dir = 4},/turf/simulated/shuttle/floor/alien,/area/submap/cave/crashed_ufo)
"aK" = (/obj/structure/table/alien,/obj/item/weapon/weldingtool/alien,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo)
"aL" = (/obj/structure/bed/alien,/turf/simulated/shuttle/floor/alien,/area/submap/cave/crashed_ufo)
"aM" = (/obj/structure/prop/alien/computer/camera,/turf/simulated/shuttle/floor/alien,/area/submap/cave/crashed_ufo)
"aN" = (/obj/structure/closet/alien,/obj/item/weapon/paper/alien,/turf/simulated/shuttle/floor/alien,/area/submap/cave/crashed_ufo)
"aO" = (/obj/structure/bed/alien,/obj/effect/decal/remains/xeno,/turf/simulated/shuttle/floor/alien,/area/submap/cave/crashed_ufo)
"aP" = (/obj/structure/loot_pile/surface/alien/end,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo)
"aQ" = (/obj/structure/table/alien,/obj/item/weapon/crowbar/alien,/turf/simulated/shuttle/floor/alien,/area/submap/cave/crashed_ufo)
"aR" = (/obj/structure/table/alien,/obj/item/weapon/surgical/FixOVein/alien,/turf/simulated/shuttle/floor/alien,/area/submap/cave/crashed_ufo)
"aS" = (/obj/structure/table/alien,/obj/item/weapon/wirecutters/alien,/turf/simulated/shuttle/floor/alien,/area/submap/cave/crashed_ufo)
"aT" = (/obj/machinery/door/airlock/alien/locked,/turf/simulated/shuttle/floor/alien,/area/submap/cave/crashed_ufo)
"aU" = (/obj/effect/decal/remains/lizard,/turf/simulated/shuttle/floor/alien,/area/submap/cave/crashed_ufo)
"aV" = (/obj/structure/prop/alien/dispenser,/turf/simulated/shuttle/floor/alien,/area/submap/cave/crashed_ufo)
"aW" = (/obj/structure/table/alien,/obj/item/weapon/surgical/bone_clamp/alien,/turf/simulated/shuttle/floor/alien,/area/submap/cave/crashed_ufo)
"aX" = (/obj/structure/loot_pile/surface/alien/medical,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo)
"aY" = (/obj/structure/closet/alien,/turf/simulated/shuttle/floor/alien,/area/submap/cave/crashed_ufo)
"aZ" = (/obj/structure/prop/alien/dispenser,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo)
"ba" = (/obj/effect/decal/remains/mouse,/turf/simulated/shuttle/floor/alien,/area/submap/cave/crashed_ufo)
"bb" = (/obj/structure/closet/alien,/obj/item/prop/alien/junk,/obj/item/prop/alien/junk,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo)
"bc" = (/obj/machinery/porta_turret/alien/destroyed{tag = "icon-destroyed_target_prism (SOUTHEAST)"; icon_state = "destroyed_target_prism"; dir = 6},/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo)
"bd" = (/obj/item/weapon/cell/device/weapon/empty,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo)
"be" = (/obj/machinery/porta_turret/alien/destroyed{tag = "icon-destroyed_target_prism (SOUTHWEST)"; icon_state = "destroyed_target_prism"; dir = 10},/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo)
"bf" = (/obj/item/weapon/gun/energy/retro/empty,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo)
"bg" = (/obj/item/weapon/reagent_containers/hypospray/autoinjector/used,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo)
"bh" = (/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/burn,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo)
"bi" = (/obj/effect/decal/remains/human{desc = "They look like human remains. Based on the equipment you saw nearby when you walked in, they were some kind of command person, and a poor one at that."},/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo)
"bj" = (/obj/item/clothing/gloves/yellow,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo)
"bk" = (/obj/item/weapon/storage/belt/utility/full,/obj/item/device/multitool,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo)
"bl" = (/obj/machinery/door/airlock/alien/public,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo)
"bm" = (/obj/item/clothing/suit/storage/hooded/wintercoat/captain,/obj/item/clothing/shoes/boots/winter/command,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo)
(1,1,1) = {"
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaabababababababababaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaababababacacacacacacacababababaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaabababacacacacadadadadadacacacacabababaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaababacacacabaeabababafabababaeabacacacababaaaaaaaaaaaaaa
aaaaaaaaaaaaababacacabababacabababababababacabababacacababaaaaaaaaaaaa
aaaaaaaaaaababacacababacacacacagabababagacacacacababacacababaaaaaaaaaa
aaaaaaaaababacacababacacahaiacacababajacacakafacacababacacababaaaaaaaa
aaaaaaababacacababacacagababalacacabacacamabafanacacababacacababaaaaaa
aaaaaaabacacababacacaoababapalaqaraearacacaeacacacacacababacacabaaaaaa
aaaaababacababacacaoababapapapabarabaragapapasatatacacacababacababaaaa
aaaaabacacabacacagababapapapababaeabaeababapapapauacanacacabacacabaaaa
aaaaabacababacahababapapapababaharabaravababapapawacabafacababacabaaaa
aaababacaeacacaxabapapapababadacarayaracavababapapaeabazacacaeacababaa
aaabacacababacacalalapaAabadacacasabasacacavababapacamacacababacacabaa
aaabacadababagacacamaBafahacacaCapabapaDacacavabaEacacacagababadacabaa
aaabacadababababacararaFaracapapapaGapapapacaraeararacababababadacabaa
aaabacadabaHabababaeabababacagapaIaqaqapagacabababaeabababababadacabaa
aaabacadababababacararaearacaJapamafaKapawacaraeararacafabababadacabaa
aaabacadababagacacasacapaLacacapapapapapacacaMapapaNacacagababadacabaa
aaabacacababacacapapacapapaOacacagaPagacacaQapapapacacacacababacacabaa
aaababacaeacacaRapaOaracapapaLacacacacacaSaEapaparacapacacacaeacababaa
aaaaabacababacauapapaTapapapapaOarabaraCapapapapaTapaUapacababacabaaaa
aaaaabacacabacacaVaWaragapacapapaeabaeapapapapaparacapacacabacacabaaaa
aaaaababacababacacacacaraearacacarabarapaparaTaracacacacababacababaaaa
aaaaaaabacacababacacacaXabababaXaraearaYacacapacacacacababacacabaaaaaa
aaaaaaababacacababacacaZababaXacacabacacacapbaapacacababacacababaaaaaa
aaaaaaaaababacacababacacbbaXacacabababacacacapacacababacacababaaaaaaaa
aaaaaaaaaaababacacababacacacacbcbdababbeacacacacababacacababaaaaaaaaaa
aaaaaaaaaaaaababacacabababarabababbfabbgbharabababacacababaaaaaaaaaaaa
aaaaaaaaaaaaaaababacacacabaeabbdababbibjbkaeabacacacababaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaabababacacaracabarblarbmacaracacabababaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaababababacararabaracacababababaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaabababarblarabababaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
"}

View File

@@ -988,6 +988,7 @@
#include "code\game\objects\items\weapons\tanks\tank_types.dm"
#include "code\game\objects\items\weapons\tanks\tanks.dm"
#include "code\game\objects\random\random.dm"
#include "code\game\objects\structures\alien_props.dm"
#include "code\game\objects\structures\barsign.dm"
#include "code\game\objects\structures\bedsheet_bin.dm"
#include "code\game\objects\structures\catwalk.dm"
@@ -1083,6 +1084,8 @@
#include "code\game\turfs\simulated\wall_types.dm"
#include "code\game\turfs\simulated\walls.dm"
#include "code\game\turfs\simulated\water.dm"
#include "code\game\turfs\simulated\dungeon\floor.dm"
#include "code\game\turfs\simulated\dungeon\wall.dm"
#include "code\game\turfs\simulated\outdoors\dirt.dm"
#include "code\game\turfs\simulated\outdoors\grass.dm"
#include "code\game\turfs\simulated\outdoors\outdoors.dm"
@@ -2346,6 +2349,7 @@
#include "maps\submaps\_readme.dm"
#include "maps\submaps\cave_submaps\cave.dm"
#include "maps\submaps\cave_submaps\cave_areas.dm"
#include "maps\submaps\cave_submaps\crashed_ufo.dmm"
#include "maps\submaps\space_submaps\space.dm"
#include "maps\submaps\surface_submaps\forest.dm"
#include "maps\submaps\surface_submaps\forest_areas.dm"