Buffs the Pirate Ship to be bomb proof

Title, also makes a few computers/machines indestructible and buffs turret health.  It also allows turrets to be repairable now.
This commit is contained in:
keronshb
2020-02-05 18:28:00 -05:00
parent 0c57a78851
commit 5d1d652ea4
6 changed files with 134 additions and 13 deletions
+16 -12
View File
@@ -89,7 +89,7 @@
/turf/open/floor/pod/dark,
/area/shuttle/pirate)
"aj" = (
/turf/closed/wall/mineral/plastitanium/nodiagonal,
/turf/closed/wall/mineral/plastitaniumpirate/nodiagonal,
/area/shuttle/pirate)
"ak" = (
/obj/machinery/airalarm/all_access{
@@ -469,7 +469,7 @@
icon_state = "standard_lethal";
mode = 1
},
/turf/closed/wall/mineral/plastitanium/nodiagonal,
/turf/closed/wall/mineral/plastitaniumpirate/nodiagonal,
/area/shuttle/pirate)
"aR" = (
/obj/machinery/porta_turret/syndicate/energy{
@@ -477,7 +477,7 @@
icon_state = "standard_lethal";
mode = 1
},
/turf/closed/wall/mineral/plastitanium,
/turf/closed/wall/mineral/plastitaniumpirate,
/area/shuttle/pirate)
"aS" = (
/obj/effect/turf_decal/stripes/line,
@@ -486,7 +486,7 @@
/area/shuttle/pirate)
"aU" = (
/obj/structure/sign/departments/engineering,
/turf/closed/wall/mineral/plastitanium/nodiagonal,
/turf/closed/wall/mineral/plastitaniumpirate/nodiagonal,
/area/shuttle/pirate)
"aV" = (
/obj/effect/mob_spawn/human/pirate{
@@ -897,7 +897,7 @@
icon_state = "standard_lethal";
mode = 1
},
/turf/closed/wall/mineral/plastitanium,
/turf/closed/wall/mineral/plastitaniumpirate,
/area/shuttle/pirate)
"dy" = (
/obj/structure/chair/wood/normal,
@@ -948,7 +948,8 @@
/turf/open/floor/pod/light,
/area/shuttle/pirate)
"ep" = (
/obj/structure/window/reinforced{
/obj/structure/window/plastitaniumpirate{
//obj/structure/window/reinforced{
dir = 1;
pixel_y = 1
},
@@ -978,7 +979,8 @@
/turf/open/floor/plating/airless,
/area/shuttle/pirate)
"ex" = (
/obj/structure/window/reinforced,
/obj/structure/window/plastitaniumpirate
//obj/structure/window/reinforced,
/obj/structure/frame/machine,
/obj/item/wrench,
/turf/open/floor/plating/airless,
@@ -988,17 +990,19 @@
id = "piratebridge"
},
/obj/structure/grille,
/obj/structure/window/plastitanium,
/obj/structure/window/plastitaniumpirate,
/turf/open/floor/plating,
/area/shuttle/pirate)
"ez" = (
/obj/structure/window/reinforced,
/obj/structure/window/plastitaniumpirate
//obj/structure/window/reinforced,
/obj/structure/frame/machine,
/obj/item/stack/cable_coil/cut/red,
/turf/open/floor/plating/airless,
/area/shuttle/pirate)
"eA" = (
/obj/structure/window/reinforced{
/obj/structure/window/plastitaniumpirate
//obj/structure/window/reinforced{
dir = 1;
pixel_y = 1
},
@@ -1016,7 +1020,7 @@
/turf/open/floor/plasteel,
/area/shuttle/pirate)
"fW" = (
/turf/closed/wall/mineral/plastitanium,
/turf/closed/wall/mineral/plastitaniumpirate,
/area/shuttle/pirate)
"fY" = (
/obj/machinery/atmospherics/pipe/manifold/supply/hidden{
@@ -1090,7 +1094,7 @@
icon_state = "standard_lethal";
mode = 1
},
/turf/closed/wall/mineral/plastitanium,
/turf/closed/wall/mineral/plastitaniumpirate,
/area/shuttle/pirate)
"yi" = (
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
@@ -348,6 +348,22 @@
spark_system.start() //creates some sparks because they look cool
qdel(cover) //deletes the cover - no need on keeping it there!
//turret healing
/obj/machinery/porta_turret/attackby(obj/item/I, mob/living/user, params)
if(istype(I, /obj/item/weldingtool) && user.a_intent == INTENT_HELP)
if(obj_integrity < max_integrity)
if(!I.tool_start_check(user, amount=0))
return
user.visible_message("[user] is welding the turret.", \
"<span class='notice'>You begin repairing the turret...</span>", \
"<span class='italics'>You hear welding.</span>")
if(I.use_tool(src, user, 40, volume=50))
obj_integrity = max_integrity
user.visible_message("[user.name] has repaired [src].", \
"<span class='notice'>You finish repairing the turret.</span>")
else
to_chat(user, "<span class='notice'>The turret doesn't need repairing.</span>")
return
/obj/machinery/porta_turret/process()
@@ -670,7 +686,11 @@
nonlethal_projectile_sound = 'sound/weapons/taser2.ogg'
lethal_projectile = /obj/item/projectile/beam/laser
lethal_projectile_sound = 'sound/weapons/laser.ogg'
desc = "An energy blaster auto-turret."
desc = "An energy blaster auto-turret. Use a welder to fix."
explosion_block = 50
max_integrity = 350
integrity_failure = 20
/obj/machinery/porta_turret/syndicate/energy/heavy
icon_state = "standard_stun"
@@ -163,6 +163,13 @@ again.
icon_state = "plastitaniumwindow_spawner"
spawn_list = list(/obj/structure/grille, /obj/structure/window/plastitanium)
//plastitaniumpirate window
/obj/effect/spawner/structure/window/plastitaniumpirate
name = "plastitanium window spawner"
icon_state = "plastitaniumwindow_spawner"
explosion_block = 50
spawn_list = list(/obj/structure/grille, /obj/structure/window/plastitaniumpirate)
//ice window
+24
View File
@@ -595,6 +595,30 @@
/obj/structure/window/plastitanium/unanchored
anchored = FALSE
//pirate ship windows
/obj/structure/window/plastitaniumpirate
name = "plastitanium window"
desc = "Yarr this window be explosion proof!"
icon = 'icons/obj/smooth_structures/plastitanium_window.dmi'
icon_state = "plastitanium_window"
dir = FULLTILE_WINDOW_DIR
max_integrity = 100
wtype = "shuttle"
fulltile = TRUE
flags_1 = PREVENT_CLICK_UNDER_1
reinf = TRUE
heat_resistance = 1600
armor = list("melee" = 50, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 50, "bio" = 100, "rad" = 100, "fire" = 80, "acid" = 100)
smooth = SMOOTH_TRUE
canSmoothWith = null
explosion_block = 50
level = 3
glass_type = /obj/item/stack/sheet/plastitaniumglass
glass_amount = 2
/obj/structure/window/plastitaniumpirate/unanchored
anchored = FALSE
/obj/structure/window/reinforced/clockwork
name = "brass window"
desc = "A paper-thin pane of translucent yet reinforced brass."
@@ -303,3 +303,64 @@
/turf/closed/wall/mineral/plastitanium/copyTurf(turf/T)
. = ..()
T.transform = transform
/////////////////////Pirate Plastitanium walls/////////////////////
/turf/closed/wall/mineral/plastitaniumpirate
name = "wall"
desc = "Yarr just try to blow this to smithereens!"
icon = 'icons/turf/walls/plastitanium_wall.dmi'
icon_state = "map-shuttle"
explosion_block = 50
sheet_type = /obj/item/stack/sheet/mineral/plastitanium
smooth = SMOOTH_MORE|SMOOTH_DIAGONAL
canSmoothWith = list(/turf/closed/wall/mineral/plastitaniumpirate, /obj/machinery/door/airlock/shuttle, /obj/machinery/door/airlock, /obj/structure/window/plastitaniumpirate, /obj/structure/shuttle/engine, /obj/structure/falsewall/plastitanium)
/turf/closed/wall/mineral/plastitaniumpirate/nodiagonal
smooth = SMOOTH_MORE
icon_state = "map-shuttle_nd"
explosion_block = 50
/turf/closed/wall/mineral/plastitaniumpirate/nosmooth
icon = 'icons/turf/shuttle.dmi'
icon_state = "wall"
smooth = SMOOTH_FALSE
explosion_block = 50
/turf/closed/wall/mineral/plastitaniumpirate/overspace
icon_state = "map-overspace"
fixed_underlay = list("space"=1)
explosion_block = 50
/turf/closed/wall/mineral/plastitaniumpirate/explosive/ex_act(severity)
var/datum/explosion/acted_explosion = null
for(var/datum/explosion/E in GLOB.explosions)
if(E.explosion_id == explosion_id)
acted_explosion = E
break
if(acted_explosion && istype(acted_explosion.explosion_source, /obj/item/bombcore))
var/obj/item/bombcore/large/bombcore = new(get_turf(src))
bombcore.detonate()
..()
//have to copypaste this code
/turf/closed/wall/mineral/plastitaniumpirate/interior/copyTurf(turf/T)
if(T.type != type)
T.ChangeTurf(type)
if(underlays.len)
T.underlays = underlays
if(T.icon_state != icon_state)
T.icon_state = icon_state
if(T.icon != icon)
T.icon = icon
if(color)
T.atom_colours = atom_colours.Copy()
T.update_atom_colour()
if(T.dir != dir)
T.setDir(dir)
T.transform = transform
return T
/turf/closed/wall/mineral/plastitaniumpirate/copyTurf(turf/T)
. = ..()
T.transform = transform
+5
View File
@@ -177,6 +177,7 @@
shuttleId = "pirateship"
icon_screen = "syndishuttle"
icon_keyboard = "syndie_key"
resistance_flags = INDESTRUCTIBLE
light_color = LIGHT_COLOR_RED
possible_destinations = "pirateship_away;pirateship_home;pirateship_custom"
@@ -184,6 +185,7 @@
name = "pirate shuttle navigation computer"
desc = "Used to designate a precise transit location for the pirate shuttle."
shuttleId = "pirateship"
resistance_flags = INDESTRUCTIBLE
lock_override = CAMERA_LOCK_STATION
shuttlePortId = "pirateship_custom"
x_offset = 9
@@ -226,6 +228,7 @@
desc = "This sophisticated machine scans the nearby space for items of value."
icon = 'icons/obj/machines/research.dmi'
icon_state = "tdoppler"
resistance_flags = INDESTRUCTIBLE
density = TRUE
var/cooldown = 300
var/next_use = 0
@@ -259,6 +262,7 @@
name = "cargo hold pad"
icon = 'icons/obj/telescience.dmi'
icon_state = "lpad-idle-o"
resistance_flags = INDESTRUCTIBLE
var/idle_state = "lpad-idle-o"
var/warmup_state = "lpad-idle"
var/sending_state = "lpad-beam"
@@ -272,6 +276,7 @@
/obj/machinery/computer/piratepad_control
name = "cargo hold control terminal"
resistance_flags = INDESTRUCTIBLE
var/status_report = "Idle"
var/obj/machinery/piratepad/pad
var/warmup_time = 100