mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-28 11:03:19 +00:00
RCD Improvements + Holofans + fixes (#6738)
This commit is contained in:
@@ -15,4 +15,10 @@
|
||||
#define MAT_CARPET_PURPLE "purple carpet"
|
||||
#define MAT_CARPET_ORANGE "orange carpet"
|
||||
|
||||
#define PHASE_SHIELDED 16 // Prevents shadekin phasing in/out in this area
|
||||
#define PHASE_SHIELDED 16 // Prevents shadekin phasing in/out in this area
|
||||
|
||||
#define RCD_FIRELOCK "Firelock" // Builds an emergency glass shutter
|
||||
#define RCD_WINDOOR "Windoor" // Build a window door
|
||||
#define RCD_FRAME "Frame" // Build a Machine or Computer frame
|
||||
#define RCD_WALLFRAME "WallFrame" // Build a selection of wall frames
|
||||
#define RCD_CONVEYOR "Conveyor" // Build direction conveyors
|
||||
@@ -261,6 +261,8 @@ GLOBAL_LIST_EMPTY(radial_menus)
|
||||
current_user = M.client
|
||||
//Blank
|
||||
menu_holder = image(icon='icons/effects/effects.dmi',loc=anchor,icon_state="nothing",layer = LAYER_HUD_ABOVE)
|
||||
menu_holder.plane = PLANE_PLAYER_HUD_ABOVE //CHOMPEdit - fixed plane
|
||||
menu_holder.appearance_flags |= RESET_TRANSFORM //CHOMPEdit - fix radial scaling improperly based on mob size
|
||||
menu_holder.appearance_flags |= KEEP_APART
|
||||
menu_holder.vis_contents += elements + close_button
|
||||
current_user.images += menu_holder
|
||||
|
||||
@@ -134,8 +134,13 @@ GLOBAL_LIST_EMPTY(entertainment_screens)
|
||||
if(isliving(usr) && Adjacent(usr) && !usr.incapacitated())
|
||||
toggle()
|
||||
visible_message("<b>[usr]</b> toggles [src] [enabled ? "on" : "off"].","You toggle [src] [enabled ? "on" : "off"].", runemessage = "click")
|
||||
else
|
||||
//CHOMPEdit start - Changing click to only come into play when shift or alt clicking. These things are ANNOYING.
|
||||
return
|
||||
if(modifiers["shift"])
|
||||
attack_hand(usr)
|
||||
return
|
||||
..()
|
||||
//CHOMPEdit end
|
||||
|
||||
/obj/machinery/computer/security/telescreen/entertainment/update_icon()
|
||||
return // NUH
|
||||
|
||||
@@ -13,10 +13,10 @@
|
||||
power_channel = ENVIRON
|
||||
|
||||
explosion_resistance = 10
|
||||
|
||||
|
||||
// Doors do their own stuff
|
||||
bullet_vulnerability = 0
|
||||
|
||||
|
||||
blocks_emissive = EMISSIVE_BLOCK_GENERIC // Not quite as nice as /tg/'s custom masks. We should make those sometime
|
||||
|
||||
var/aiControlDisabled = 0 //If 1, AI control is disabled until the AI hacks back in and disables the lock. If 2, the AI has bypassed the lock. If -1, the control is enabled but the AI had bypassed it earlier, so if it is disabled again the AI would have no trouble getting back in.
|
||||
@@ -1004,7 +1004,7 @@ About the new airlock wires panel:
|
||||
|
||||
/* // CHOMPEDIT: disabling becaue alt-clicking to view a turf is pretty important.
|
||||
/obj/machinery/door/airlock/AltClick(mob/user as mob)
|
||||
|
||||
|
||||
user.setClickCooldown(DEFAULT_ATTACK_COOLDOWN)
|
||||
if(!Adjacent(user))
|
||||
return
|
||||
@@ -1563,7 +1563,7 @@ About the new airlock wires panel:
|
||||
src.lock()
|
||||
return
|
||||
|
||||
|
||||
/* CHOMPEdit - moved this block to modular_chomp\code\game\objects\items\weapons\rcd.dm
|
||||
/obj/machinery/door/airlock/rcd_values(mob/living/user, obj/item/weapon/rcd/the_rcd, passed_mode)
|
||||
switch(passed_mode)
|
||||
if(RCD_DECONSTRUCT)
|
||||
@@ -1583,3 +1583,4 @@ About the new airlock wires panel:
|
||||
qdel(src)
|
||||
return TRUE
|
||||
return FALSE
|
||||
*/
|
||||
@@ -31,7 +31,7 @@
|
||||
var/make_rwalls = FALSE // If true, when building walls, they will be reinforced.
|
||||
/* VOREStation Removal - Unused
|
||||
/obj/item/weapon/rcd/Initialize()
|
||||
|
||||
|
||||
src.spark_system = new /datum/effect/effect/system/spark_spread
|
||||
spark_system.set_up(5, 0, src)
|
||||
spark_system.attach(src)
|
||||
@@ -103,6 +103,10 @@
|
||||
return FALSE
|
||||
|
||||
var/list/rcd_results = A.rcd_values(user, src, modes[mode_index])
|
||||
//CHOMPEdit start
|
||||
if(rcd_results == 1)
|
||||
return FALSE
|
||||
//CHOMPEdit end
|
||||
if(!rcd_results)
|
||||
to_chat(user, span("warning", "\The [src] blinks a red light as you point it towards \the [A], indicating \
|
||||
that it won't work. Try changing the mode, or use it on something else."))
|
||||
|
||||
@@ -64,6 +64,7 @@
|
||||
qdel(effects[A])
|
||||
effects -= A
|
||||
|
||||
/* CHOMPEdit - moved this block to modular_chomp\code\game\objects\items\weapons\rcd.dm
|
||||
/obj/item/weapon/rcd/attackby(obj/item/weapon/W, mob/user)
|
||||
if(istype(W, /obj/item/weapon/rcd_ammo))
|
||||
var/obj/item/weapon/rcd_ammo/cartridge = W
|
||||
@@ -82,6 +83,7 @@
|
||||
update_icon()
|
||||
return TRUE
|
||||
return ..()
|
||||
*/
|
||||
|
||||
/obj/item/weapon/rcd/proc/check_menu(mob/living/user)
|
||||
if(!istype(user))
|
||||
@@ -106,6 +108,7 @@
|
||||
|
||||
return TRUE
|
||||
|
||||
/* CHOMPEdit - moved this block to modular_chomp\code\game\objects\items\weapons\rcd.dm
|
||||
/obj/item/weapon/rcd/attack_self(mob/living/user)
|
||||
..()
|
||||
var/list/choices = list(
|
||||
@@ -170,6 +173,7 @@
|
||||
return
|
||||
playsound(src, 'sound/effects/pop.ogg', 50, FALSE)
|
||||
to_chat(user, "<span class='notice'>You change RCD's mode to '[choice]'.</span>")
|
||||
*/
|
||||
|
||||
//////////////////
|
||||
/obj/item/weapon/rcd/electric/update_icon()
|
||||
|
||||
@@ -73,6 +73,8 @@
|
||||
/obj/item/weapon/extinguisher/mini,
|
||||
/obj/item/weapon/tape_roll,
|
||||
/obj/item/device/integrated_electronics/wirer,
|
||||
/obj/item/weapon/pipe_dispenser, //CHOMPAdd
|
||||
/obj/item/weapon/holosign_creator/combifan, //CHOMPAdd
|
||||
/obj/item/device/integrated_electronics/debugger, //Vorestation edit adding debugger to toolbelt can hold list
|
||||
/obj/item/weapon/shovel/spade, //VOREStation edit. If it can hold minihoes and hatchers, why not the gardening spade?
|
||||
/obj/item/stack/nanopaste, //VOREStation edit. Think of it as a tube of superglue. Belts hold that all the time.
|
||||
@@ -479,6 +481,7 @@
|
||||
/obj/item/taperoll,
|
||||
/obj/item/weapon/reagent_containers/spray,
|
||||
/obj/item/weapon/soap,
|
||||
/obj/item/weapon/holosign_creator, //CHOMPAdd
|
||||
/obj/item/device/lightreplacer //VOREStation edit
|
||||
)
|
||||
|
||||
|
||||
@@ -81,6 +81,7 @@
|
||||
/obj/item/weapon/storage/bag/trash,
|
||||
/obj/item/weapon/storage/belt/janitor,
|
||||
/obj/item/device/vac_attachment, //CHOMPAdd
|
||||
/obj/item/weapon/holosign_creator, //CHOMPAdd
|
||||
/obj/item/clothing/shoes/galoshes
|
||||
)
|
||||
|
||||
|
||||
@@ -37,6 +37,7 @@
|
||||
/obj/item/clothing/head/beret/engineering/ce/white,
|
||||
/obj/item/weapon/tank/emergency/oxygen/double, //VOREStation Edit: chief gets the good shit
|
||||
/obj/item/weapon/reagent_containers/spray/windowsealant, //VOREStation Add,
|
||||
/obj/item/weapon/rcd/advanced/loaded, //CHOMPAdd
|
||||
/obj/item/weapon/pipe_dispenser) //YW Add
|
||||
|
||||
/obj/structure/closet/secure_closet/engineering_chief/Initialize()
|
||||
@@ -138,6 +139,7 @@
|
||||
/obj/item/clothing/suit/storage/hooded/wintercoat/engineering/atmos,
|
||||
/obj/item/clothing/shoes/boots/winter/atmos,
|
||||
/obj/item/weapon/tank/emergency/oxygen/engi,
|
||||
/obj/item/weapon/holosign_creator/combifan, //CHOMPAdd
|
||||
/obj/item/weapon/storage/belt/utility/atmostech) //VOREStation edit. They don't get a toolbox to fill it from, so why not give a spare one that's full already?
|
||||
|
||||
/obj/structure/closet/secure_closet/atmos_personal/Initialize()
|
||||
|
||||
@@ -365,6 +365,7 @@
|
||||
cover = 60
|
||||
girder_material = "resin"
|
||||
|
||||
/* CHOMPEdit - moved this block to modular_chomp\code\game\objects\items\weapons\rcd.dm
|
||||
/obj/structure/girder/rcd_values(mob/living/user, obj/item/weapon/rcd/the_rcd, passed_mode)
|
||||
var/turf/simulated/T = get_turf(src)
|
||||
if(!istype(T) || T.density)
|
||||
@@ -413,6 +414,7 @@
|
||||
to_chat(user, span("notice", "You deconstruct \the [src]."))
|
||||
qdel(src)
|
||||
return TRUE
|
||||
*/
|
||||
|
||||
/obj/structure/girder/bay
|
||||
wall_type = /turf/simulated/wall/bay
|
||||
|
||||
@@ -248,7 +248,7 @@
|
||||
/obj/structure/grille/broken/rustic
|
||||
icon_state = "grillerustic-b"
|
||||
|
||||
|
||||
/* CHOMPEdit - moved this block to modular_chomp\code\game\objects\items\weapons\rcd.dm
|
||||
/obj/structure/grille/rcd_values(mob/living/user, obj/item/weapon/rcd/the_rcd, passed_mode)
|
||||
switch(passed_mode)
|
||||
if(RCD_WINDOWGRILLE)
|
||||
@@ -281,6 +281,7 @@
|
||||
WD.anchored = TRUE
|
||||
return TRUE
|
||||
return FALSE
|
||||
*/
|
||||
|
||||
/obj/structure/grille/take_damage(var/damage)
|
||||
health -= damage
|
||||
|
||||
@@ -686,6 +686,7 @@
|
||||
return TRUE
|
||||
. = ..()
|
||||
|
||||
/* CHOMPEdit - moved this block to modular_chomp\code\game\objects\items\weapons\rcd.dm
|
||||
/obj/structure/window/rcd_values(mob/living/user, obj/item/weapon/rcd/the_rcd, passed_mode)
|
||||
switch(passed_mode)
|
||||
if(RCD_DECONSTRUCT)
|
||||
@@ -702,3 +703,4 @@
|
||||
qdel(src)
|
||||
return TRUE
|
||||
return FALSE
|
||||
*/
|
||||
@@ -112,6 +112,7 @@
|
||||
/turf/simulated/floor/can_engrave()
|
||||
return (!flooring || flooring.can_engrave)
|
||||
|
||||
/* CHOMPEdit - moved this block to modular_chomp\code\game\objects\items\weapons\rcd.dm
|
||||
/turf/simulated/floor/rcd_values(mob/living/user, obj/item/weapon/rcd/the_rcd, passed_mode)
|
||||
switch(passed_mode)
|
||||
if(RCD_FLOORWALL)
|
||||
@@ -179,10 +180,10 @@
|
||||
to_chat(user, span("notice", "You deconstruct \the [src]."))
|
||||
ChangeTurf(get_base_turf_by_area(src), preserve_outdoors = TRUE)
|
||||
return TRUE
|
||||
|
||||
*/
|
||||
/turf/simulated/floor/AltClick(mob/user)
|
||||
if(isliving(user))
|
||||
var/mob/living/livingUser = user
|
||||
if(try_graffiti(livingUser, livingUser.get_active_hand()))
|
||||
return
|
||||
. = ..()
|
||||
. = ..()
|
||||
|
||||
@@ -309,6 +309,7 @@
|
||||
/turf/simulated/wall/can_engrave()
|
||||
return (material && material.hardness >= 10 && material.hardness <= 100)
|
||||
|
||||
/* CHOMPEdit - moved this block to modular_chomp\code\game\objects\items\weapons\rcd.dm
|
||||
/turf/simulated/wall/rcd_values(mob/living/user, obj/item/weapon/rcd/the_rcd, passed_mode)
|
||||
if(material.integrity > 1000) // Don't decon things like elevatorium.
|
||||
return FALSE
|
||||
@@ -332,6 +333,7 @@
|
||||
ChangeTurf(/turf/simulated/floor/airless, preserve_outdoors = TRUE)
|
||||
return TRUE
|
||||
return FALSE
|
||||
*/
|
||||
|
||||
/turf/simulated/wall/AltClick(mob/user)
|
||||
if(isliving(user))
|
||||
|
||||
@@ -44,7 +44,7 @@
|
||||
|
||||
//Lighting related
|
||||
set_luminosity(!(dynamic_lighting))
|
||||
|
||||
|
||||
if(opacity)
|
||||
directional_opacity = ALL_CARDINALS
|
||||
|
||||
@@ -377,6 +377,7 @@
|
||||
UNSETEMPTY(dangerous_objects) // This nulls the list var if it's empty.
|
||||
// color = "#00FF00"
|
||||
|
||||
/* CHOMPEdit - moved this block to modular_chomp\code\game\objects\items\weapons\rcd.dm
|
||||
// This is all the way up here since its the common ancestor for things that need to get replaced with a floor when an RCD is used on them.
|
||||
// More specialized turfs like walls should instead override this.
|
||||
// The code for applying lattices/floor tiles onto lattices could also utilize something similar in the future.
|
||||
@@ -401,7 +402,7 @@
|
||||
ChangeTurf(/turf/simulated/floor/airless, preserve_outdoors = TRUE)
|
||||
return TRUE
|
||||
return FALSE
|
||||
|
||||
*/
|
||||
|
||||
// We're about to be the A-side in a turf translation
|
||||
/turf/proc/pre_translate_A(var/turf/B)
|
||||
|
||||
@@ -118,7 +118,7 @@ GLOBAL_LIST_EMPTY(unique_deployable)
|
||||
template_id = "shelter_epsilon"
|
||||
unique_id = "shelter_5"
|
||||
is_ship = TRUE
|
||||
|
||||
|
||||
/obj/item/device/survivalcapsule/popcabin
|
||||
name = "pop-out cabin shelter capsule"
|
||||
desc = "A cozy cabin; crammed into a survival capsule."
|
||||
@@ -295,6 +295,15 @@ GLOBAL_LIST_EMPTY(unique_deployable)
|
||||
var/buildstacktype = /obj/item/stack/material/steel
|
||||
var/buildstackamount = 5
|
||||
|
||||
//CHOMPAdd start - fans weren't updating atmos when destroyed or placed
|
||||
/obj/structure/fans/Destroy()
|
||||
update_nearby_tiles()
|
||||
return ..()
|
||||
|
||||
/obj/structure/fans/Initialize(mapload)
|
||||
.=..()
|
||||
update_nearby_tiles()
|
||||
//CHOMPAdd end
|
||||
/*
|
||||
/obj/structure/fans/proc/deconstruct()
|
||||
new buildstacktype(loc,buildstackamount)
|
||||
|
||||
Reference in New Issue
Block a user