Port over remaining Lavaland ruins

This commit is contained in:
Mark van Alphen
2019-06-07 01:19:55 +02:00
parent 10ef2311ab
commit ba3f65049d
89 changed files with 10091 additions and 275 deletions
+10 -2
View File
@@ -235,14 +235,22 @@
var/status = GROWING //can be GROWING, GROWN or BURST; all mutually exclusive
layer = MOB_LAYER
/obj/structure/alien/egg/grown
status = GROWN
icon_state = "egg"
/obj/structure/alien/egg/burst
status = BURST
icon_state = "egg_hatched"
/obj/structure/alien/egg/New()
new /obj/item/clothing/mask/facehugger(src)
..()
spawn(rand(MIN_GROWTH_TIME, MAX_GROWTH_TIME))
Grow()
if(status == BURST)
obj_integrity = integrity_failure
else if(status != GROWN)
spawn(rand(MIN_GROWTH_TIME, MAX_GROWTH_TIME))
Grow()
/obj/structure/alien/egg/attack_alien(mob/living/carbon/alien/user)
return attack_hand(user)
+71 -45
View File
@@ -9,19 +9,26 @@
/obj/structure/falsewall
name = "wall"
desc = "A huge chunk of metal used to seperate rooms."
anchored = 1
anchored = TRUE
icon = 'icons/turf/walls/wall.dmi'
icon_state = "wall"
var/mineral = "metal"
var/walltype = "metal"
var/opening = 0
density = 1
opacity = 1
var/mineral = /obj/item/stack/sheet/metal
var/mineral_amount = 2
var/walltype = /turf/simulated/wall
var/girder_type = /obj/structure/girder/displaced
var/opening = FALSE
density = TRUE
opacity = TRUE
can_deconstruct = TRUE
canSmoothWith = list(
/turf/simulated/wall,
/turf/simulated/wall/r_wall,
/obj/structure/falsewall,
/obj/structure/falsewall/brass,
/obj/structure/falsewall/reinforced, // WHY DO WE SMOOTH WITH FALSE R-WALLS WHEN WE DON'T SMOOTH WITH REAL R-WALLS. //because we do smooth with real r-walls now
/turf/simulated/wall/rust,
/turf/simulated/wall/r_wall/rust)
@@ -31,6 +38,10 @@
..()
air_update_turf(1)
/obj/structure/falsewall/ratvar_act()
new /obj/structure/falsewall/brass(loc)
qdel(src)
/obj/structure/falsewall/Destroy()
density = 0
air_update_turf(1)
@@ -124,18 +135,11 @@
/obj/structure/falsewall/proc/dismantle(mob/user)
user.visible_message("<span class='notice'>[user] dismantles the false wall.</span>", "<span class='warning'>You dismantle the false wall.</span>")
new /obj/structure/girder/displaced(loc)
if(mineral == "metal")
if(istype(src, /obj/structure/falsewall/reinforced))
new /obj/item/stack/sheet/plasteel(loc, 2)
else
new /obj/item/stack/sheet/metal(loc, 2)
else if(mineral == "wood")
new/obj/item/stack/sheet/wood(loc, 2)
else
var/P = text2path("/obj/item/stack/sheet/mineral/[mineral]")
new P(loc)
new P(loc)
if(can_deconstruct)
new girder_type(loc)
if(mineral_amount)
for(var/i in 1 to mineral_amount)
new mineral(loc)
playsound(src, 'sound/items/welder.ogg', 100, 1)
qdel(src)
@@ -148,7 +152,8 @@
desc = "A huge chunk of reinforced metal used to seperate rooms."
icon = 'icons/turf/walls/reinforced_wall.dmi'
icon_state = "r_wall"
walltype = "rwall"
walltype = /turf/simulated/wall/r_wall
mineral = /obj/item/stack/sheet/plasteel
/obj/structure/falsewall/reinforced/ChangeToWall(delete = 1)
var/turf/T = get_turf(src)
@@ -166,8 +171,8 @@
desc = "A wall with uranium plating. This is probably a bad idea."
icon = 'icons/turf/walls/uranium_wall.dmi'
icon_state = "uranium"
mineral = "uranium"
walltype = "uranium"
mineral = /obj/item/stack/sheet/mineral/uranium
walltype = /turf/simulated/wall/mineral/uranium
var/active = null
var/last_event = 0
canSmoothWith = list(/obj/structure/falsewall/uranium, /turf/simulated/wall/mineral/uranium)
@@ -201,8 +206,8 @@
desc = "A wall with gold plating. Swag!"
icon = 'icons/turf/walls/gold_wall.dmi'
icon_state = "gold"
mineral = "gold"
walltype = "gold"
mineral = /obj/item/stack/sheet/mineral/gold
walltype = /turf/simulated/wall/mineral/gold
canSmoothWith = list(/obj/structure/falsewall/gold, /turf/simulated/wall/mineral/gold)
/obj/structure/falsewall/silver
@@ -210,8 +215,8 @@
desc = "A wall with silver plating. Shiny."
icon = 'icons/turf/walls/silver_wall.dmi'
icon_state = "silver"
mineral = "silver"
walltype = "silver"
mineral = /obj/item/stack/sheet/mineral/silver
walltype = /turf/simulated/wall/mineral/silver
canSmoothWith = list(/obj/structure/falsewall/silver, /turf/simulated/wall/mineral/silver)
/obj/structure/falsewall/diamond
@@ -219,8 +224,8 @@
desc = "A wall with diamond plating. You monster."
icon = 'icons/turf/walls/diamond_wall.dmi'
icon_state = "diamond"
mineral = "diamond"
walltype = "diamond"
mineral = /obj/item/stack/sheet/mineral/diamond
walltype = /turf/simulated/wall/mineral/diamond
canSmoothWith = list(/obj/structure/falsewall/diamond, /turf/simulated/wall/mineral/diamond)
@@ -229,18 +234,18 @@
desc = "A wall with plasma plating. This is definately a bad idea."
icon = 'icons/turf/walls/plasma_wall.dmi'
icon_state = "plasma"
mineral = "plasma"
walltype = "plasma"
mineral = /obj/item/stack/sheet/mineral/plasma
walltype = /turf/simulated/wall/mineral/plasma
canSmoothWith = list(/obj/structure/falsewall/plasma, /turf/simulated/wall/mineral/plasma, /turf/simulated/wall/mineral/alien)
/obj/structure/falsewall/plasma/attackby(obj/item/W, mob/user, params)
if(is_hot(W) > 300)
message_admins("Plasma falsewall ignited by [key_name_admin(user)] in ([x],[y],[z] - <A HREF='?_src_=holder;adminplayerobservecoodjump=1;X=[x];Y=[y];Z=[z]'>JMP</a>)",0,1)
log_game("Plasma falsewall ignited by [key_name(user)] in ([x],[y],[z])")
message_admins("Plasma falsewall ignited by [key_name_admin(user)] in [ADMIN_VERBOSEJMP(T)]")
log_game("Plasma falsewall ignited by [key_name(user)] in [AREACOORD(T)]")
investigate_log("was <font color='red'><b>ignited</b></font> by [key_name(user)]","atmos")
burnbabyburn()
return
..()
else
return ..()
/obj/structure/falsewall/plasma/proc/burnbabyburn(user)
playsound(src, 'sound/items/welder.ogg', 100, 1)
@@ -258,8 +263,8 @@
desc = "A strange-looking alien wall."
icon = 'icons/turf/walls/plasma_wall.dmi'
icon_state = "plasma"
mineral = "alien"
walltype = "alien"
mineral = /obj/item/stack/sheet/mineral/abductor
walltype = /turf/simulated/wall/mineral/abductor
canSmoothWith = list(/obj/structure/falsewall/alien, /turf/simulated/wall/mineral/alien)
@@ -268,16 +273,16 @@
desc = "A wall with bananium plating. Honk!"
icon = 'icons/turf/walls/bananium_wall.dmi'
icon_state = "bananium"
mineral = "clown"
walltype = "clown"
mineral = /obj/item/stack/sheet/mineral/bananium
walltype = /turf/simulated/wall/mineral/bananium
canSmoothWith = list(/obj/structure/falsewall/bananium, /turf/simulated/wall/mineral/bananium)
/obj/structure/falsewall/sandstone
name = "sandstone wall"
desc = "A wall with sandstone plating."
icon_state = "sandstone"
mineral = "sandstone"
walltype = "sandstone"
mineral = /obj/item/stack/sheet/mineral/sandstone
walltype = /turf/simulated/wall/mineral/sandstone
canSmoothWith = list(/obj/structure/falsewall/sandstone, /turf/simulated/wall/mineral/sandstone)
/obj/structure/falsewall/wood
@@ -285,8 +290,8 @@
desc = "A wall with wooden plating. Stiff."
icon = 'icons/turf/walls/wood_wall.dmi'
icon_state = "wood"
mineral = "wood"
walltype = "wood"
mineral = /obj/item/stack/sheet/wood
walltype = /turf/simulated/wall/mineral/wood
canSmoothWith = list(/obj/structure/falsewall/wood, /turf/simulated/wall/mineral/wood)
/obj/structure/falsewall/iron
@@ -294,8 +299,9 @@
desc = "A wall with rough metal plating."
icon = 'icons/turf/walls/iron_wall.dmi'
icon_state = "iron"
mineral = "metal"
walltype = "iron"
mineral = /obj/item/stack/rods
mineral_amount = 5
walltype = /turf/simulated/wall/mineral/iron
canSmoothWith = list(/obj/structure/falsewall/iron, /turf/simulated/wall/mineral/iron)
/obj/structure/falsewall/abductor
@@ -303,8 +309,8 @@
desc = "A wall with alien alloy plating."
icon = 'icons/turf/walls/abductor_wall.dmi'
icon_state = "abductor"
mineral = "abductor"
walltype = "abductor"
mineral = /obj/item/stack/sheet/mineral/abductor
walltype = /turf/simulated/wall/mineral/abductor
canSmoothWith = list(/obj/structure/falsewall/abductor, /turf/simulated/wall/mineral/abductor)
/obj/structure/falsewall/titanium
@@ -324,3 +330,23 @@
walltype = /turf/simulated/wall/mineral/plastitanium
smooth = SMOOTH_MORE
canSmoothWith = list(/turf/simulated/wall/mineral/plastitanium, /obj/machinery/door/airlock/shuttle, /obj/machinery/door/airlock, /obj/structure/window/full/shuttle, /obj/structure/shuttle/engine/heater)
/obj/structure/falsewall/brass
name = "clockwork wall"
desc = "A huge chunk of warm metal. The clanging of machinery emanates from within."
icon = 'icons/turf/walls/clockwork_wall.dmi'
icon_state = "clockwork_wall"
resistance_flags = FIRE_PROOF
unacidable = TRUE
mineral_amount = 1
canSmoothWith = list(/obj/effect/clockwork/overlay/wall, /obj/structure/falsewall/brass)
girder_type = /obj/structure/clockwork/wall_gear/displaced
walltype = /turf/simulated/wall/clockwork
mineral = /obj/item/stack/tile/brass
/obj/structure/falsewall/brass/New(loc)
..()
var/turf/T = get_turf(src)
new /obj/effect/temp_visual/ratvar/wall/false(T)
new /obj/effect/temp_visual/ratvar/beam/falsewall(T)
+16
View File
@@ -63,3 +63,19 @@
/obj/structure/fluff/drake_statue/falling //A variety of statue in disrepair; parts are broken off and a gemstone is missing
desc = "A towering basalt sculpture of a drake. Cracks run down its surface and parts of it have fallen off."
icon_state = "drake_statue_falling"
/obj/structure/fluff/divine
name = "Miracle"
icon = 'icons/obj/hand_of_god_structures.dmi'
anchored = TRUE
density = TRUE
/obj/structure/fluff/divine/nexus
name = "nexus"
desc = "It anchors a deity to this world. It radiates an unusual aura. It looks well protected from explosive shock."
icon_state = "nexus"
/obj/structure/fluff/divine/conduit
name = "conduit"
desc = "It allows a deity to extend their reach. Their powers are just as potent near a conduit as a nexus."
icon_state = "conduit"
+47
View File
@@ -59,6 +59,26 @@
if(current_size >= STAGE_FOUR)
qdel(src)
/obj/structure/lattice/clockwork
name = "cog lattice"
desc = "A lightweight support lattice. These hold the Justicar's station together."
icon = 'icons/obj/smooth_structures/lattice_clockwork.dmi'
/obj/structure/lattice/clockwork/Initialize(mapload)
. = ..()
ratvar_act()
/obj/structure/lattice/clockwork/ratvar_act()
if((x + y) % 2 != 0)
icon = 'icons/obj/smooth_structures/lattice_clockwork_large.dmi'
pixel_x = -9
pixel_y = -9
else
icon = 'icons/obj/smooth_structures/lattice_clockwork.dmi'
pixel_x = 0
pixel_y = 0
return TRUE
/obj/structure/lattice/catwalk
name = "catwalk"
desc = "A catwalk for easier EVA maneuvering and cable placement."
@@ -82,3 +102,30 @@
for(var/obj/structure/cable/C in T)
C.deconstruct()
..()
/obj/structure/lattice/catwalk/clockwork
name = "clockwork catwalk"
icon = 'icons/obj/smooth_structures/catwalk_clockwork.dmi'
canSmoothWith = list(/obj/structure/lattice,
/turf/simulated/floor,
/turf/simulated/wall,
/obj/structure/falsewall)
smooth = SMOOTH_MORE
/obj/structure/lattice/catwalk/clockwork/Initialize(mapload)
. = ..()
ratvar_act()
if(!mapload)
new /obj/effect/temp_visual/ratvar/floor/catwalk(loc)
new /obj/effect/temp_visual/ratvar/beam/catwalk(loc)
/obj/structure/lattice/catwalk/clockwork/ratvar_act()
if((x + y) % 2 != 0)
icon = 'icons/obj/smooth_structures/catwalk_clockwork_large.dmi'
pixel_x = -9
pixel_y = -9
else
icon = 'icons/obj/smooth_structures/catwalk_clockwork.dmi'
pixel_x = 0
pixel_y = 0
return TRUE
+24 -12
View File
@@ -6,7 +6,6 @@
icon_state = "mirror"
density = 0
anchored = 1
var/shattered = 0
var/list/ui_users = list()
/obj/structure/mirror/New(turf/T, newdir = SOUTH, building = FALSE)
@@ -23,7 +22,7 @@
pixel_x = 32
/obj/structure/mirror/attack_hand(mob/user)
if(shattered)
if(broken)
return
if(ishuman(user))
@@ -36,9 +35,9 @@
AC.ui_interact(user)
/obj/structure/mirror/proc/shatter()
if(shattered)
if(broken)
return
shattered = 1
broken = TRUE
icon_state = "mirror_broke"
playsound(src, "shatter", 70, 1)
desc = "Oh no, seven years of bad luck!"
@@ -46,7 +45,7 @@
/obj/structure/mirror/bullet_act(obj/item/projectile/Proj)
if(prob(Proj.damage * 2))
if(!shattered)
if(!broken)
shatter()
else
playsound(src, 'sound/effects/hit_on_shattered_glass.ogg', 70, 1)
@@ -58,7 +57,7 @@
if(isscrewdriver(I))
user.visible_message("<span class='notice'>[user] begins to unfasten [src].</span>", "<span class='notice'>You begin to unfasten [src].</span>")
if(do_after(user, 30 * I.toolspeed, target = src))
if(shattered)
if(broken)
user.visible_message("<span class='notice'>[user] drops the broken shards to the floor.</span>", "<span class='notice'>You drop the broken shards on the floor.</span>")
new /obj/item/shard(get_turf(user))
else
@@ -68,7 +67,7 @@
return
user.do_attack_animation(src)
if(shattered)
if(broken)
playsound(src.loc, 'sound/effects/hit_on_shattered_glass.ogg', 70, 1)
return
@@ -85,7 +84,7 @@
if(islarva(user))
return
user.do_attack_animation(src)
if(shattered)
if(broken)
playsound(src.loc, 'sound/effects/hit_on_shattered_glass.ogg', 70, 1)
return
user.visible_message("<span class='danger'>[user] smashes [src]!</span>")
@@ -100,7 +99,7 @@
if(M.melee_damage_upper <= 0)
return
M.do_attack_animation(src)
if(shattered)
if(broken)
playsound(src.loc, 'sound/effects/hit_on_shattered_glass.ogg', 70, 1)
return
user.visible_message("<span class='danger'>[user] smashes [src]!</span>")
@@ -113,7 +112,7 @@
if(!S.is_adult)
return
user.do_attack_animation(src)
if(shattered)
if(broken)
playsound(src.loc, 'sound/effects/hit_on_shattered_glass.ogg', 70, 1)
return
user.visible_message("<span class='danger'>[user] smashes [src]!</span>")
@@ -136,7 +135,7 @@
icon_state = "magic_mirror"
/obj/structure/mirror/magic/attack_hand(mob/user)
if(!ishuman(user))
if(!ishuman(user) || broken)
return
var/mob/living/carbon/human/H = user
@@ -154,6 +153,9 @@
H.dna.real_name = newname
if(H.mind)
H.mind.name = newname
if(newname)
curse(user)
if("Body")
var/list/race_list = list("Human", "Tajaran", "Skrell", "Unathi", "Diona", "Vulpkanin")
@@ -172,6 +174,7 @@
AC.whitelist = race_list
ui_users[user] = AC
AC.ui_interact(user)
if("Voice")
var/voice_choice = input(user, "Perhaps...", "Voice effects") as null|anything in list("Comic Sans", "Wingdings", "Swedish", "Chav")
var/voice_mutation
@@ -192,8 +195,17 @@
H.dna.SetSEState(voice_mutation, TRUE)
genemutcheck(H, voice_mutation, null, MUTCHK_FORCED)
if(voice_choice)
curse(user)
/obj/structure/mirror/magic/on_ui_close(mob/user)
curse(user)
/obj/structure/mirror/magic/attackby(obj/item/I, mob/living/user, params)
return
/obj/structure/mirror/magic/shatter()
return //can't be broken. it's magic, i ain't gotta explain shit
return //can't be broken. it's magic, i ain't gotta explain shit
/obj/structure/mirror/magic/proc/curse(mob/living/user)
return
@@ -28,6 +28,11 @@
W.setDir(dir)
qdel(src)
/obj/structure/chair/ratvar_act()
var/obj/structure/chair/brass/B = new(get_turf(src))
B.setDir(dir)
qdel(src)
/obj/structure/chair/Move(atom/newloc, direct)
..()
handle_rotation()
@@ -416,3 +421,41 @@
desc = "You sit in this. Either by will or force. Looks REALLY uncomfortable."
icon_state = "chairold"
item_chair = null
// Brass chair
/obj/structure/chair/brass
name = "brass chair"
desc = "A spinny chair made of brass. It looks uncomfortable."
icon_state = "brass_chair"
max_integrity = 150
buildstacktype = /obj/item/stack/tile/brass
buildstackamount = 1
item_chair = null
var/turns = 0
/obj/structure/chair/brass/Destroy()
STOP_PROCESSING(SSfastprocess, src)
. = ..()
/obj/structure/chair/brass/process()
setDir(turn(dir,-90))
playsound(src, 'sound/effects/servostep.ogg', 50, FALSE)
turns++
if(turns >= 8)
STOP_PROCESSING(SSfastprocess, src)
/obj/structure/chair/brass/ratvar_act()
return
/obj/structure/chair/brass/AltClick(mob/living/user)
turns = 0
if(!istype(user) || user.incapacitated() || !in_range(src, user))
return
if(!isprocessing)
user.visible_message("<span class='notice'>[user] spins [src] around, and Ratvarian technology keeps it spinning FOREVER.</span>", \
"<span class='notice'>Automated spinny chairs. The pinnacle of Ratvarian technology.</span>")
START_PROCESSING(SSfastprocess, src)
else
user.visible_message("<span class='notice'>[user] stops [src]'s uncontrollable spinning.</span>", \
"<span class='notice'>You grab [src] and stop its wild spinning.</span>")
STOP_PROCESSING(SSfastprocess, src)