[FUCK][NO CI] Rust Component Fixes (#60252)

Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
This commit is contained in:
Matthew J
2021-07-27 01:43:17 -07:00
committed by GitHub
co-authored by Mothblocks MrMelbert
parent 418e94f551
commit b19e1785dc
9 changed files with 35 additions and 31 deletions
+6 -6
View File
@@ -42015,7 +42015,7 @@
/obj/effect/turf_decal/trimline/purple/filled/corner{
dir = 1
},
/turf/open/floor/plating/rust/plasma,
/turf/open/floor/plating/plasma/rust,
/area/maintenance/space_hut/plasmaman)
"dyu" = (
/obj/structure/flora/grass/jungle{
@@ -69101,7 +69101,7 @@
"pqf" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/turf_decal/trimline/purple/filled/line,
/turf/open/floor/plating/rust/plasma,
/turf/open/floor/plating/plasma/rust,
/area/maintenance/space_hut/plasmaman)
"pqg" = (
/obj/effect/turf_decal/tile/neutral{
@@ -72095,7 +72095,7 @@
/obj/item/toy/plush/plasmamanplushie{
name = "Lithium II"
},
/turf/open/floor/plating/rust/plasma,
/turf/open/floor/plating/plasma/rust,
/area/maintenance/space_hut/plasmaman)
"qCn" = (
/obj/effect/turf_decal/tile/neutral{
@@ -83661,7 +83661,7 @@
/obj/effect/turf_decal/trimline/purple/filled/line{
dir = 1
},
/turf/open/floor/plating/rust/plasma,
/turf/open/floor/plating/plasma/rust,
/area/maintenance/space_hut/plasmaman)
"vzr" = (
/obj/effect/turf_decal/stripes/line{
@@ -85185,7 +85185,7 @@
},
/obj/effect/turf_decal/trimline/purple/filled/corner,
/obj/item/flashlight/lamp,
/turf/open/floor/plating/rust/plasma,
/turf/open/floor/plating/plasma/rust,
/area/maintenance/space_hut/plasmaman)
"wje" = (
/obj/structure/table/glass,
@@ -89394,7 +89394,7 @@
/obj/item/toy/plush/plasmamanplushie{
name = "Dianion XV"
},
/turf/open/floor/plating/rust/plasma,
/turf/open/floor/plating/plasma/rust,
/area/maintenance/space_hut/plasmaman)
"xUW" = (
/obj/effect/turf_decal/tile/neutral{
+6 -7
View File
@@ -1,6 +1,6 @@
/**
* Adding this component to an Atom will have it automatically render an overlay.
* The overlay can be specified in new as the first and only parameter; it defaults to "rust" if not included.
* The overlay can be specified in new as the first paramter; if not set it defaults to rust_overlay's rust_default
*/
/datum/component/rust
dupe_mode = COMPONENT_DUPE_UNIQUE
@@ -19,22 +19,21 @@
var/atom/wall_new = new /turf/open/floor/plating(src)
wall_new.AddComponent(/datum/component/rust)
/datum/component/rust/Initialize(rust_iconstate = "rust")
/datum/component/rust/Initialize(mutable_appearance/overlay)
. = ..()
if(!isatom(parent))
return COMPONENT_INCOMPATIBLE
rust_overlay = overlay || mutable_appearance('icons/effects/rust_overlay.dmi', "rust_default")
// Unfortunately registering with parent sometimes doesn't cause an overlay update
ADD_TRAIT(parent, TRAIT_RUSTY, src)
var/atom/parent_atom = parent
if(!(rust_iconstate in icon_states(parent_atom.icon)))
return COMPONENT_INCOMPATIBLE
rust_overlay = mutable_appearance(parent_atom.icon, rust_iconstate)
parent_atom.update_icon(UPDATE_OVERLAYS)
/datum/component/rust/RegisterWithParent()
RegisterSignal(parent, COMSIG_ATOM_UPDATE_OVERLAYS, .proc/apply_rust_overlay)
RegisterSignal(parent, list(COMSIG_ATOM_SECONDARY_TOOL_ACT(TOOL_WELDER), COMSIG_ATOM_SECONDARY_TOOL_ACT(TOOL_RUSTSCRAPER)), .proc/secondary_tool_act)
RegisterSignal(parent, COMSIG_PARENT_PREQDELETED, .proc/parent_del)
RegisterSignal(parent, COMSIG_PARENT_EXAMINE, .proc/handle_examine)
ADD_TRAIT(parent, TRAIT_RUSTY, src)
/datum/component/rust/UnregisterFromParent()
UnregisterSignal(parent,\
+2 -1
View File
@@ -17,7 +17,8 @@
/turf/open/floor/iron/rust_heretic_act()
if(prob(70))
new /obj/effect/temp_visual/glowing_rune(src)
ChangeTurf(/turf/open/floor/plating)
var/atom/changed_turf = ChangeTurf(/turf/open/floor/plating)
changed_turf.AddComponent(/datum/component/rust)
return ..()
+7 -2
View File
@@ -204,8 +204,13 @@
desc = "Corrupted steel."
icon_state = "plating_rust"
/turf/open/floor/plating/rust/plasma
initial_gas_mix = "plasma=104;TEMP=293.15"
/turf/open/floor/plating/plasma
initial_gas_mix = ATMOS_TANK_PLASMA
/turf/open/floor/plating/plasma/rust/Initialize(mapload)
. = ..()
// Because this is a fluff turf explicitly for KiloStation it doesn't make sense to ChangeTurf like usual
// Especially since it looks like we don't even change the default icon/iconstate???
AddComponent(/datum/component/rust)
/turf/open/floor/stone
name = "stone brick floor"
@@ -21,7 +21,6 @@
/turf/open/space,
/turf/open/lava,
/turf/open/chasm,
/turf/open/floor/plating/rust
))
route = PATH_RUST
@@ -68,7 +67,7 @@
next_knowledge = list(
/datum/eldritch_knowledge/rust_mark,
/datum/eldritch_knowledge/armor,
/datum/eldritch_knowledge/essence
/datum/eldritch_knowledge/essence,
)
route = PATH_RUST
@@ -79,16 +78,15 @@
/datum/eldritch_knowledge/rust_regen/proc/on_move(mob/mover)
SIGNAL_HANDLER
if(istype(get_turf(mover),/turf/open/floor/plating/rust))
var/atom/mover_turf = get_turf(mover)
if(HAS_TRAIT(mover_turf, TRAIT_RUSTY))
ADD_TRAIT(mover,TRAIT_STUNRESISTANCE,type)
else
REMOVE_TRAIT(mover,TRAIT_STUNRESISTANCE,type)
return
REMOVE_TRAIT(mover,TRAIT_STUNRESISTANCE,type)
/datum/eldritch_knowledge/rust_regen/on_life(mob/user)
. = ..()
var/turf/user_loc_turf = get_turf(user)
if(!istype(user_loc_turf, /turf/open/floor/plating/rust) || !isliving(user))
return
var/mob/living/living_user = user
living_user.adjustBruteLoss(-2, FALSE)
living_user.adjustFireLoss(-2, FALSE)
@@ -178,7 +176,8 @@
/datum/eldritch_knowledge/final/rust_final/proc/on_move(mob/mover)
SIGNAL_HANDLER
var/mover_on_rust = istype(get_turf(mover),/turf/open/floor/plating/rust)
var/atom/mover_turf = get_turf(mover)
var/mover_on_rust = HAS_TRAIT(mover_turf, TRAIT_RUSTY)
//We check if we are currently standing on a rust tile, but the immunities are not active, if so apply immunities, set immunities_active to TRUE
if(mover_on_rust && !immunities_active)
@@ -197,7 +196,7 @@
/datum/eldritch_knowledge/final/rust_final/on_life(mob/user)
. = ..()
var/turf/user_loc_turf = get_turf(user)
if(!istype(user_loc_turf, /turf/open/floor/plating/rust) || !isliving(user) || !finished)
if(!HAS_TRAIT(user_loc_turf, TRAIT_RUSTY) || !isliving(user) || !finished)
return
var/mob/living/carbon/human/human_user = user
human_user.adjustBruteLoss(-4, FALSE)
@@ -262,12 +262,12 @@
floor.broken = 0
floor.burnt = 0
floor.make_plating(TRUE)
if(T.type == /turf/closed/wall && prob(15))
if(T.type == /turf/closed/wall && prob(15) && !HAS_TRAIT(T, TRAIT_RUSTY))
new /obj/effect/temp_visual/revenant(T)
T.ChangeTurf(/turf/closed/wall/rust)
if(T.type == /turf/closed/wall/r_wall && prob(10))
T.AddComponent(/datum/component/rust)
if(T.type == /turf/closed/wall/r_wall && prob(10) && !HAS_TRAIT(T, TRAIT_RUSTY))
new /obj/effect/temp_visual/revenant(T)
T.ChangeTurf(/turf/closed/wall/r_wall/rust)
T.AddComponent(/datum/component/rust)
for(var/obj/effect/decal/cleanable/food/salt/salt in T)
new /obj/effect/temp_visual/revenant(T)
qdel(salt)
@@ -332,7 +332,7 @@
if(stat == DEAD)
return ..()
var/turf/T = get_turf(src)
if(istype(T,/turf/open/floor/plating/rust))
if(HAS_TRAIT(T, TRAIT_RUSTY))
adjustBruteLoss(-1.5 * delta_time, FALSE)
adjustFireLoss(-1.5 * delta_time, FALSE)
return ..()
Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.4 KiB

After

Width:  |  Height:  |  Size: 2.8 KiB