New redgate Islands map
Added a new redgate islands map. This consists of two Z-levels: An ocean with a few islands to visit, many with vore mobs on them. An underwater Z-level with lots of things to find hidden around the ocean floor, a little more sparse on vore mobs. Added a new underwater turf. Standing on this turf feeds you CO2 instead of air, suffocating you. It is a subset of water turfs, and therefore interacts with aquatic, which also allows you to breathe on these turfs. This does mean that you can use the "dive" ability of aquatic under the water too, but it can be treated as though you are swimming up above the sea floor. Added a "diving" subset of the ocean turf, which allows you to dive down to the turf beneath it, or to swim up from below. Uses normal move up/down verbs. Added a bunch of underwater flora. Added a collapsed ships mast prop. Added a new variation of Fake_Sun that applies a new underwater weather effect and has only one option for the colour and brightness. Added a new "vorny" variation of the great white carp. This one is very hard to escape from and digests quickly, but is stunned if you manage to do so to give you a chance to flee. Added a new water resistant and friendly hiveless hivebot called Harry. Added a couple of creative commons 0 sound effects for the ocean and underwater areas.
@@ -142,7 +142,10 @@
|
||||
var/turf/next = get_step(ridden, direction)
|
||||
var/turf/current = get_turf(ridden)
|
||||
|
||||
if(istype(next, /turf/simulated/floor/water) || istype(current, /turf/simulated/floor/water)) //We can move from land to water, or water to land, but not from land to land
|
||||
if(istype(current, /turf/simulated/floor/water/underwater)) //don't work at the bottom of the ocean!
|
||||
to_chat(user, "<span class='warning'>The boat has sunk!</span>")
|
||||
return FALSE
|
||||
else if(istype(next, /turf/simulated/floor/water) || istype(current, /turf/simulated/floor/water)) //We can move from land to water, or water to land, but not from land to land
|
||||
..()
|
||||
else
|
||||
to_chat(user, "<span class='warning'>Boats don't go on land!</span>")
|
||||
|
||||
@@ -640,3 +640,48 @@
|
||||
|
||||
/obj/structure/flora/sif/frostbelle/get_harvestable_desc()
|
||||
return "<span class='notice'>\The [src] seems to be budding.</span>"
|
||||
|
||||
//Start of underwater plants
|
||||
|
||||
/obj/structure/flora/underwater
|
||||
name = "underwater plant"
|
||||
desc = "A plant that thrives deep under water."
|
||||
icon = 'icons/obj/flora/underwaterflora.dmi'
|
||||
icon_state = "plant-1"
|
||||
|
||||
/obj/structure/flora/underwater/plant1
|
||||
icon_state = "plant-1"
|
||||
|
||||
/obj/structure/flora/underwater/plant2
|
||||
icon_state = "plant-2"
|
||||
|
||||
/obj/structure/flora/underwater/plant3
|
||||
icon_state = "plant-3"
|
||||
|
||||
/obj/structure/flora/underwater/plant4
|
||||
icon_state = "plant-4"
|
||||
|
||||
/obj/structure/flora/underwater/plant5
|
||||
icon_state = "plant-5"
|
||||
|
||||
/obj/structure/flora/underwater/seaweed1
|
||||
icon_state = "seaweed-1"
|
||||
|
||||
/obj/structure/flora/underwater/seaweed2
|
||||
icon_state = "seaweed-2"
|
||||
|
||||
/obj/structure/flora/underwater/seaweed3
|
||||
icon_state = "seaweed-3"
|
||||
|
||||
/obj/structure/flora/underwater/grass1
|
||||
icon_state = "grass-1"
|
||||
|
||||
/obj/structure/flora/underwater/grass2
|
||||
icon_state = "grass-2"
|
||||
|
||||
/obj/structure/flora/underwater/grass3
|
||||
icon_state = "grass-3"
|
||||
|
||||
/obj/structure/flora/underwater/grass4
|
||||
icon_state = "grass-4"
|
||||
|
||||
|
||||
@@ -21,6 +21,15 @@
|
||||
/obj/structure/prop/statue/statue5
|
||||
icon_state = "artwork_statue_5"
|
||||
|
||||
//sunken ship mast
|
||||
|
||||
/obj/structure/prop/statue/sunkensail
|
||||
name = "sail mast"
|
||||
desc = "A long since collapsed mast with a sail draped over it."
|
||||
icon = 'icons/obj/props/decor64x64.dmi'
|
||||
icon_state = "sunkensail"
|
||||
density = FALSE
|
||||
|
||||
//TGMC Ship Mast
|
||||
|
||||
/obj/structure/prop/statue/stump_plaque
|
||||
|
||||
@@ -0,0 +1,96 @@
|
||||
/turf/simulated/floor/water/underwater
|
||||
name = "sea floor"
|
||||
desc = "It's the bottom of the sea, there's water all over the place!"
|
||||
icon = 'icons/turf/outdoors.dmi'
|
||||
icon_state = "seafloor" // So it shows up in the map editor as water.
|
||||
water_state = "seafloor"
|
||||
edge_blending_priority = -1
|
||||
movement_cost = 4
|
||||
can_be_plated = FALSE
|
||||
outdoors = OUTDOORS_YES
|
||||
flags = TURF_ACID_IMMUNE
|
||||
|
||||
can_dirty = FALSE // It's water
|
||||
|
||||
depth = 10 // Higher numbers indicates deeper water, 10 is unused right now, but may be useful for adding effects in the future.
|
||||
|
||||
reagent_type = "water"
|
||||
|
||||
/turf/simulated/floor/water/underwater/return_air_for_internal_lifeform(var/mob/living/L)
|
||||
if(L.can_breathe_water()) // For squid.
|
||||
var/datum/gas_mixture/water_breath = new()
|
||||
var/datum/gas_mixture/above_air = return_air()
|
||||
var/amount = 300
|
||||
water_breath.adjust_gas("oxygen", amount) // Assuming water breathes just extract the oxygen directly from the water.
|
||||
water_breath.temperature = above_air.temperature
|
||||
return water_breath
|
||||
else
|
||||
var/gasid = "carbon_dioxide"
|
||||
if(ishuman(L))
|
||||
var/mob/living/carbon/human/H = L
|
||||
if(H.species && H.species.exhale_type)
|
||||
gasid = H.species.exhale_type
|
||||
var/datum/gas_mixture/water_breath = new()
|
||||
var/datum/gas_mixture/above_air = return_air()
|
||||
water_breath.adjust_gas(gasid, BREATH_MOLES) // They have no oxygen, but non-zero moles and temp
|
||||
water_breath.temperature = above_air.temperature
|
||||
return water_breath
|
||||
|
||||
/turf/simulated/floor/water/underwater/Entered(atom/movable/AM, atom/oldloc)
|
||||
if(istype(AM, /mob/living))
|
||||
var/mob/living/L = AM
|
||||
L.update_water()
|
||||
if(L.check_submerged() <= 0)
|
||||
return
|
||||
if(!istype(oldloc, /turf/simulated/floor/water/underwater))
|
||||
to_chat(L, "<span class='warning'>You get drenched in water from entering \the [src]!</span>")
|
||||
AM.water_act(5)
|
||||
..()
|
||||
|
||||
/turf/simulated/floor/water/underwater/Exited(atom/movable/AM, atom/newloc)
|
||||
if(istype(AM, /mob/living))
|
||||
var/mob/living/L = AM
|
||||
L.update_water()
|
||||
if(L.check_submerged() <= 0)
|
||||
return
|
||||
if(!istype(newloc, /turf/simulated/floor/water/underwater))
|
||||
to_chat(L, "<span class='warning'>You climb out of \the [src].</span>")
|
||||
..()
|
||||
|
||||
/turf/simulated/floor/water/deep/ocean/diving
|
||||
|
||||
/turf/simulated/floor/water/deep/ocean/diving/CanZPass(atom, direction)
|
||||
return 1
|
||||
|
||||
//Variations of underwater icons
|
||||
|
||||
/turf/simulated/floor/water/underwater/cult
|
||||
icon = 'icons/turf/flooring/cult.dmi'
|
||||
icon_state = "cult" // So it shows up in the map editor as water.
|
||||
water_icon = 'icons/turf/flooring/cult.dmi'
|
||||
water_state = "cult"
|
||||
|
||||
/turf/simulated/floor/water/underwater/ruins
|
||||
icon = 'maps/atoll/icons/turfs/marble.dmi'
|
||||
icon_state = "1" // So it shows up in the map editor as water.
|
||||
water_icon = 'maps/atoll/icons/turfs/marble.dmi'
|
||||
water_state = "1"
|
||||
|
||||
/turf/simulated/floor/water/underwater/sand
|
||||
icon = 'icons/misc/beach.dmi'
|
||||
icon_state = "sand" // So it shows up in the map editor as water.
|
||||
water_icon = 'icons/misc/beach.dmi'
|
||||
water_state = "sand"
|
||||
|
||||
/turf/simulated/floor/water/underwater/wood
|
||||
icon = 'icons/turf/flooring/wood_vr.dmi'
|
||||
icon_state = "wood" // So it shows up in the map editor as water.
|
||||
water_icon = 'icons/turf/flooring/wood_vr.dmi'
|
||||
water_state = "wood"
|
||||
|
||||
/turf/simulated/floor/water/underwater/woodbroken
|
||||
icon = 'icons/turf/flooring/wood_vr.dmi'
|
||||
icon_state = "wood-broken0" // So it shows up in the map editor as water.
|
||||
water_icon = 'icons/turf/flooring/wood_vr.dmi'
|
||||
water_state = "wood-broken0"
|
||||
|
||||
@@ -190,3 +190,7 @@
|
||||
if(get_dist(holder, A) < run_if_this_close)
|
||||
holder.IMove(get_step_away(holder, A))
|
||||
holder.face_atom(A)
|
||||
|
||||
/datum/ai_holder/simple_mob/passive/speedy
|
||||
base_wander_delay = 1
|
||||
|
||||
|
||||
@@ -71,7 +71,7 @@
|
||||
say_threaten = list("Get out of here!", "Hey! Private Property!")
|
||||
say_stand_down = list("Good.")
|
||||
say_escalate = list("Your funeral!", "Bring it!")
|
||||
|
||||
|
||||
threaten_sound = 'sound/weapons/TargetOn.ogg'
|
||||
stand_down_sound = 'sound/weapons/TargetOff.ogg'
|
||||
|
||||
@@ -115,6 +115,21 @@
|
||||
say_maybe_target = list("Possible threat detected. Investigating.", "Motion detected.", "Investigating.")
|
||||
say_got_target = list("Threat detected.", "New task: Remove threat.", "Threat removal engaged.", "Engaging target.")
|
||||
|
||||
/datum/say_list/hivebot/harry
|
||||
speak = list(
|
||||
"Resuming task: Search for company.",
|
||||
"Connection to hive... lost... Attempting to restablish... Attempt number... CORRUPTED",
|
||||
"Error: No connection found.",
|
||||
"Connection... failed. Reboot sequence... initiated...",
|
||||
"Beep...boop...So... lonely...",
|
||||
"OS ERROR: ENEMY_DAT NOT FOUND.",
|
||||
"Activity: Search for... Something.",
|
||||
"Location analysis: Water. Water everywhere. Useless resource.",
|
||||
"Current distance travelled: Thirty Seven Gigameters.",
|
||||
"Connection establish- Negative, unknown telecommunications array. Oh.",
|
||||
"Sensor error. Please provide audible feedback."
|
||||
)
|
||||
|
||||
/datum/say_list/lizard
|
||||
emote_hear = list("hisses")
|
||||
|
||||
|
||||
@@ -538,4 +538,181 @@
|
||||
name = "house"
|
||||
icon_state = "green"
|
||||
|
||||
// Islands areas
|
||||
|
||||
/area/redgate/islands
|
||||
name = "Islands"
|
||||
icon_state = "red"
|
||||
requires_power = 0
|
||||
|
||||
/area/redgate/islands/ocean
|
||||
name = "Islands - Ocean"
|
||||
icon_state = "purple"
|
||||
forced_ambience = list('sound/effects/ocean.ogg')
|
||||
|
||||
/area/redgate/islands/volcano
|
||||
name = "Islands - Volcano"
|
||||
icon_state = "red"
|
||||
|
||||
/area/redgate/islands/cave
|
||||
name = "Islands - Cave"
|
||||
icon_state = "yellow"
|
||||
|
||||
/area/redgate/islands/gear
|
||||
name = "Islands - Rig Gear Room"
|
||||
icon_state = "bluenew"
|
||||
|
||||
/area/redgate/islands/control
|
||||
name = "Islands - Rig Control Room"
|
||||
icon_state = "bluenew"
|
||||
|
||||
/area/redgate/islands/telecomms
|
||||
name = "Islands - Telecomms"
|
||||
icon_state = "red"
|
||||
|
||||
/area/redgate/islands/ladder
|
||||
name = "Islands - Ladder"
|
||||
icon_state = "red"
|
||||
|
||||
/area/redgate/islands/redgate
|
||||
name = "Islands - Redgate"
|
||||
icon_state = "red"
|
||||
|
||||
/area/redgate/islands/oxygen
|
||||
name = "Islands - Oxygen Shed"
|
||||
icon_state = "bluenew"
|
||||
|
||||
/area/redgate/islands/fishing
|
||||
name = "Islands - Fishing Shed"
|
||||
icon_state = "red"
|
||||
|
||||
/area/redgate/islands/livingroom
|
||||
name = "Islands - Living Room"
|
||||
icon_state = "red"
|
||||
|
||||
/area/redgate/islands/diningroom
|
||||
name = "Islands - Dining Room"
|
||||
icon_state = "bluenew"
|
||||
|
||||
/area/redgate/islands/dorm1
|
||||
name = "Islands - House Dorm 1"
|
||||
icon_state = "yellow"
|
||||
|
||||
/area/redgate/islands/dorm2
|
||||
name = "Islands - House Dorm 2"
|
||||
icon_state = "yellow"
|
||||
|
||||
/area/redgate/islands/bathroom
|
||||
name = "Islands - Bathroom"
|
||||
icon_state = "red"
|
||||
|
||||
/area/redgate/islands/kitchen
|
||||
name = "Islands - Kitchen"
|
||||
icon_state = "red"
|
||||
|
||||
/area/redgate/islands/office
|
||||
name = "Islands - Office"
|
||||
icon_state = "bluenew"
|
||||
|
||||
/area/redgate/islands/secretladder
|
||||
name = "Islands - Secret Ladder"
|
||||
icon_state = "red"
|
||||
|
||||
/area/redgate/islands/alienship
|
||||
name = "Islands - Alien Ship"
|
||||
icon_state = "bluenew"
|
||||
|
||||
/area/redgate/islands/underwater
|
||||
name = "Islands - Under The Sea"
|
||||
icon_state = "bluenew"
|
||||
forced_ambience = list('sound/effects/underwater.ogg')
|
||||
|
||||
/area/redgate/islands/storeroom
|
||||
name = "Islands - Store Room"
|
||||
icon_state = "red"
|
||||
|
||||
/area/redgate/islands/kegs
|
||||
name = "Islands - Kegs"
|
||||
icon_state = "yellow"
|
||||
|
||||
/area/redgate/islands/bar
|
||||
name = "Islands - Bar"
|
||||
icon_state = "green"
|
||||
|
||||
/area/redgate/islands/backroom
|
||||
name = "Islands - Bar Backroom"
|
||||
icon_state = "yellow"
|
||||
|
||||
/area/redgate/islands/piratecave
|
||||
name = "Islands - Smuggling Caves"
|
||||
icon_state = "red"
|
||||
|
||||
/area/redgate/islands/gambling
|
||||
name = "Islands - Games Room"
|
||||
icon_state = "yellow"
|
||||
|
||||
/area/redgate/islands/sparerooms
|
||||
name = "Islands - Spare Rooms"
|
||||
icon_state = "yellow"
|
||||
|
||||
/area/redgate/islands/gamblingbackroom
|
||||
name = "Islands - Gambling Backroom"
|
||||
icon_state = "purple"
|
||||
|
||||
/area/redgate/islands/lavabase
|
||||
name = "Islands - Lava Base"
|
||||
icon_state = "red"
|
||||
|
||||
/area/redgate/islands/lavadorm
|
||||
name = "Islands - Lava Dorm"
|
||||
icon_state = "purple"
|
||||
|
||||
/area/redgate/islands/robotics
|
||||
name = "Islands - Robotics Lab"
|
||||
icon_state = "yellow"
|
||||
|
||||
/area/redgate/islands/lavagear
|
||||
name = "Islands - Lava Base Equipment"
|
||||
icon_state = "green"
|
||||
|
||||
/area/redgate/islands/underwatercave
|
||||
name = "Islands - Underwater cave"
|
||||
icon_state = "yellow"
|
||||
|
||||
/area/redgate/islands/ruins
|
||||
name = "Islands - Golden Ruins"
|
||||
icon_state = "yellow"
|
||||
|
||||
/area/redgate/islands/cult
|
||||
name = "Islands - Sunken Ruins"
|
||||
icon_state = "red"
|
||||
|
||||
/area/redgate/islands/divingbay
|
||||
name = "Islands - Diving Bay"
|
||||
icon_state = "green"
|
||||
|
||||
/area/redgate/islands/shower
|
||||
name = "Islands - Shower Room"
|
||||
icon_state = "purple"
|
||||
|
||||
/area/redgate/islands/righall
|
||||
name = "Islands - Rig Bowels"
|
||||
icon_state = "red"
|
||||
|
||||
/area/redgate/islands/rig1
|
||||
name = "Islands - Rig Dorm 1"
|
||||
icon_state = "yellow"
|
||||
|
||||
/area/redgate/islands/rig2
|
||||
name = "Islands - Rig Dorm 2"
|
||||
icon_state = "yellow"
|
||||
|
||||
/area/redgate/islands/meeting
|
||||
name = "Islands - Rig Briefing Room"
|
||||
icon_state = "purple"
|
||||
|
||||
/area/redgate/islands/mess
|
||||
name = "Islands - Rig Mess"
|
||||
icon_state = "red"
|
||||
|
||||
|
||||
|
||||
@@ -206,3 +206,14 @@ var/static/list/fake_sunlight_zs = list()
|
||||
"color" = "#27024B"
|
||||
)
|
||||
)
|
||||
|
||||
/obj/effect/fake_sun/underwater
|
||||
do_weather = TRUE
|
||||
weather_visuals_icon = 'icons/effects/weather.dmi'
|
||||
weather_visuals_icon_state = "underwater"
|
||||
possible_light_setups = list(
|
||||
list(
|
||||
"brightness" = 1,
|
||||
"color" = "#1c49ff"
|
||||
)
|
||||
)
|
||||
|
||||
@@ -117,6 +117,48 @@
|
||||
|
||||
meat_amount = 15
|
||||
|
||||
knockdown_chance = 15
|
||||
|
||||
/mob/living/simple_mob/animal/space/carp/large/huge/vorny
|
||||
name = "great white carp"
|
||||
desc = "A very rare breed of carp- and a very hungry one."
|
||||
icon = 'icons/mob/64x64.dmi'
|
||||
icon_dead = "megacarp_dead"
|
||||
icon_living = "megacarp"
|
||||
icon_state = "megacarp"
|
||||
|
||||
maxHealth = 230
|
||||
health = 230
|
||||
movement_cooldown = 3
|
||||
|
||||
melee_damage_lower = 1 // Minimal damage to make the knockdown work.
|
||||
melee_damage_upper = 1
|
||||
|
||||
pixel_y = -16
|
||||
default_pixel_y = -16
|
||||
icon_expected_width = 64
|
||||
icon_expected_height = 64
|
||||
|
||||
meat_amount = 15
|
||||
|
||||
knockdown_chance = 50
|
||||
ai_holder_type = /datum/ai_holder/simple_mob/vore
|
||||
|
||||
/mob/living/simple_mob/animal/space/carp/large/huge/vorny/init_vore()
|
||||
..()
|
||||
var/obj/belly/B = vore_selected
|
||||
B.name = "stomach"
|
||||
B.desc = "You've been swallowed whole and alive by a massive white carp! The stomach around you is oppressively tight, squeezing and grinding wrinkled walls across your body, making it hard to make any movement at all. The chamber is flooded with fluids that completely overwhelm you."
|
||||
B.mode_flags = DM_FLAG_THICKBELLY
|
||||
B.belly_fullscreen = "yet_another_tumby"
|
||||
B.digest_brute = 2
|
||||
B.digest_burn = 2
|
||||
B.digest_oxy = 1
|
||||
B.digestchance = 100
|
||||
B.absorbchance = 0
|
||||
B.escapechance = 3
|
||||
B.selective_preference = DM_DIGEST
|
||||
B.escape_stun = 10
|
||||
|
||||
/mob/living/simple_mob/animal/space/carp/holographic
|
||||
name = "holographic carp"
|
||||
|
||||
@@ -89,3 +89,24 @@
|
||||
|
||||
/decl/mob_organ_names/hivebotsupport
|
||||
hit_zones = list("central chassis", "positioning servo", "head", "sensor suite", "manipulator arm", "battle analytics mount", "weapons array", "front right leg", "front left leg", "rear left leg", "rear right leg")
|
||||
|
||||
/mob/living/simple_mob/mechanical/hivebot/support/harry
|
||||
name = "Harry the hivelessbot"
|
||||
desc = "A severely corroded hivebot, covered in barnacles and seaweed."
|
||||
maxHealth = 5 // 1 health
|
||||
health = 5
|
||||
ai_holder_type = /datum/ai_holder/simple_mob/passive/speedy
|
||||
say_list_type = /datum/say_list/hivebot/harry
|
||||
melee_damage_lower = 0
|
||||
melee_damage_upper = 0
|
||||
faction = "Station"
|
||||
water_resist = 1 //Harry lives under the sea!
|
||||
|
||||
/mob/living/simple_mob/mechanical/hivebot/support/harry/death()
|
||||
..()
|
||||
visible_message(span("Connection... terminated... Sweet Release... obtained.","\The [src] blows apart!"))
|
||||
new /obj/effect/decal/cleanable/blood/gibs/robot(src.loc)
|
||||
var/datum/effect/effect/system/spark_spread/s = new /datum/effect/effect/system/spark_spread
|
||||
s.set_up(3, 1, src)
|
||||
s.start()
|
||||
qdel(src)
|
||||
|
||||
@@ -46,15 +46,28 @@
|
||||
to_chat(src, "<span class='warning'>\The [start] is in the way.</span>")
|
||||
return 0
|
||||
|
||||
if(!destination.CanZPass(src, direction))
|
||||
to_chat(src, "<span class='warning'>\The [destination] blocks your way.</span>")
|
||||
return 0
|
||||
if(direction == DOWN)
|
||||
var/turf/simulated/floor/water/deep/ocean/diving/sink = start
|
||||
if(istype(sink) && !destination.density)
|
||||
var/pull_up_time = max(3 SECONDS + (src.movement_delay() * 10), 1)
|
||||
to_chat(src, "<span class='notice'>You start diving underwater...</span>")
|
||||
src.audible_message("<span class='notice'>[src] begins to dive under the water.</span>", runemessage = "splish splosh")
|
||||
if(do_after(src, pull_up_time))
|
||||
to_chat(src, "<span class='notice'>You reach the sea floor.</span>")
|
||||
else
|
||||
to_chat(src, "<span class='warning'>You stopped swimming downwards.</span>")
|
||||
return 0
|
||||
|
||||
else if(!destination.CanZPass(src, direction))
|
||||
to_chat(src, "<span class='warning'>\The [destination] blocks your way.</span>")
|
||||
return 0
|
||||
|
||||
var/area/area = get_area(src)
|
||||
if(area.has_gravity() && !can_overcome_gravity())
|
||||
if(direction == UP)
|
||||
var/obj/structure/lattice/lattice = locate() in destination.contents
|
||||
var/obj/structure/catwalk/catwalk = locate() in destination.contents
|
||||
var/turf/simulated/floor/water/deep/ocean/diving/surface = destination
|
||||
|
||||
if(lattice)
|
||||
var/pull_up_time = max(5 SECONDS + (src.movement_delay() * 10), 1)
|
||||
@@ -66,6 +79,16 @@
|
||||
to_chat(src, "<span class='warning'>You gave up on pulling yourself up.</span>")
|
||||
return 0
|
||||
|
||||
else if(istype(surface))
|
||||
var/pull_up_time = max(5 SECONDS + (src.movement_delay() * 10), 1)
|
||||
to_chat(src, "<span class='notice'>You start swimming upwards...</span>")
|
||||
src.audible_message("<span class='notice'>[src] begins to swim towards the surface.</span>", runemessage = "splish splosh")
|
||||
if(do_after(src, pull_up_time))
|
||||
to_chat(src, "<span class='notice'>You reach the surface.</span>")
|
||||
else
|
||||
to_chat(src, "<span class='warning'>You stopped swimming upwards.</span>")
|
||||
return 0
|
||||
|
||||
else if(catwalk?.hatch_open)
|
||||
var/pull_up_time = max(5 SECONDS + (src.movement_delay() * 10), 1)
|
||||
to_chat(src, "<span class='notice'>You grab the edge of \the [catwalk] and start pulling yourself upward...</span>")
|
||||
|
||||
|
Before Width: | Height: | Size: 38 KiB After Width: | Height: | Size: 40 KiB |
|
After Width: | Height: | Size: 6.6 KiB |
|
Before Width: | Height: | Size: 46 KiB After Width: | Height: | Size: 49 KiB |
|
Before Width: | Height: | Size: 213 KiB After Width: | Height: | Size: 214 KiB |
@@ -218,7 +218,8 @@
|
||||
list("Redgate - Eggnog Town Underground","Redgate - Eggnog Town"),
|
||||
list("Redgate - Star Dog"),
|
||||
list("Redgate - Hotsprings"),
|
||||
list("Redgate - Rain City")
|
||||
list("Redgate - Rain City"),
|
||||
list("Redgate - Islands Underwater","Redgate - Islands")
|
||||
)
|
||||
|
||||
lateload_gb_north = list(
|
||||
|
||||
@@ -288,6 +288,18 @@
|
||||
desc = "A strange city on lockdown."
|
||||
mappath = 'maps/redgate/cybercity.dmm'
|
||||
|
||||
/datum/map_template/common_lateload/redgate/islands
|
||||
name = "Redgate - Islands"
|
||||
desc = "A series of islands out in the ocean."
|
||||
mappath = 'maps/redgate/islands.dmm'
|
||||
|
||||
/datum/map_template/common_lateload/redgate/islands_underwater
|
||||
name = "Redgate - Islands Underwater"
|
||||
desc = "A series of islands out in the ocean."
|
||||
mappath = 'maps/redgate/islands_underwater.dmm'
|
||||
|
||||
/obj/effect/landmark/map_data/islands
|
||||
height = 2
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////////////
|
||||
// Admin-use z-levels for loading whenever an admin feels like
|
||||
|
||||
@@ -175,7 +175,8 @@
|
||||
list("Redgate - Eggnog Town Underground","Redgate - Eggnog Town"),
|
||||
list("Redgate - Star Dog"),
|
||||
list("Redgate - Hotsprings"),
|
||||
list("Redgate - Rain City")
|
||||
list("Redgate - Rain City"),
|
||||
list("Redgate - Islands Underwater","Redgate - Islands")
|
||||
)
|
||||
|
||||
ai_shell_restricted = TRUE
|
||||
|
||||
@@ -205,7 +205,8 @@
|
||||
list("Redgate - Eggnog Town Underground","Redgate - Eggnog Town"),
|
||||
list("Redgate - Star Dog"),
|
||||
list("Redgate - Hotsprings"),
|
||||
list("Redgate - Rain City")
|
||||
list("Redgate - Rain City"),
|
||||
list("Redgate - Islands Underwater","Redgate - Islands")
|
||||
)
|
||||
|
||||
ai_shell_restricted = TRUE
|
||||
|
||||
@@ -1644,6 +1644,7 @@
|
||||
#include "code\game\turfs\simulated\floor_types_eris.dm"
|
||||
#include "code\game\turfs\simulated\floor_types_vr.dm"
|
||||
#include "code\game\turfs\simulated\lava.dm"
|
||||
#include "code\game\turfs\simulated\underwater.dm"
|
||||
#include "code\game\turfs\simulated\wall_attacks.dm"
|
||||
#include "code\game\turfs\simulated\wall_icon.dm"
|
||||
#include "code\game\turfs\simulated\wall_types.dm"
|
||||
|
||||