Skip to content

Commit

Permalink
Project ARES: AI Core Makeover (#5821)
Browse files Browse the repository at this point in the history
# About the pull request
With fantastic sprites from Zenith, and some additions by myself, the AI
core is getting a visual overhaul!

# Explain why it's good for the game

Adds to the feel of the AI core, making it much more like the one it is
supposed to be imitating.

# Testing Photographs and Procedure
<details>
<summary>Screenshots & Videos</summary>


![image](https://github.com/cmss13-devs/cmss13/assets/41653574/7ccd34a9-3942-4634-b65e-b2bbdb24d3a7)

![image](https://github.com/cmss13-devs/cmss13/assets/41653574/54cbedf1-39d6-490c-9493-fc17e6650092)
Lights in the above have been removed in favour of the glowing floor
tiles.

![image](https://github.com/cmss13-devs/cmss13/assets/41653574/b45f9571-3841-4f5c-8ad5-4b213bedf293)


</details>


# Changelog

:cl:
imageadd: Added AI Core themed walls, windows and floors from Zenith.
imageadd: Added AI Core themed blast doors from Zenith.
imageadd: Added a few additional AI Core themed floors from myself.
maptweak: Remapped the AI core to use the new walls/floors.
add: Added a subtype of AI Core floor that glows orange for thematic
lighting.
/:cl:
  • Loading branch information
realforest2001 committed Mar 4, 2024
1 parent 322eb35 commit 29bfb85
Show file tree
Hide file tree
Showing 13 changed files with 339 additions and 463 deletions.
1 change: 1 addition & 0 deletions code/__DEFINES/__game.dm
Original file line number Diff line number Diff line change
Expand Up @@ -373,6 +373,7 @@
#define WALL_DEVWALL "devwall"
#define WALL_DEVWALL_R "devwall_r"
#define WALL_HUNTERSHIP "metal"//DMI specific name
#define WALL_AICORE "aiwall"

//Defines for dropship weapon gimbals
#define GIMBAL_LEFT -1
Expand Down
24 changes: 21 additions & 3 deletions code/game/machinery/doors/poddoor.dm
Original file line number Diff line number Diff line change
Expand Up @@ -283,22 +283,40 @@
/obj/structure/machinery/door/airlock,
)

/obj/structure/machinery/door/poddoor/almayer/LateInitialize()
. = ..()
relativewall_neighbours()

/obj/structure/machinery/door/poddoor/almayer/open
density = FALSE

/obj/structure/machinery/door/poddoor/almayer/blended
icon_state = "almayer_pdoor1"
base_icon_state = "almayer_pdoor"

/obj/structure/machinery/door/poddoor/almayer/blended/open
density = FALSE

/obj/structure/machinery/door/poddoor/almayer/blended/white
icon_state = "w_almayer_pdoor1"
base_icon_state = "w_almayer_pdoor"

/obj/structure/machinery/door/poddoor/almayer/blended/white/open
density = FALSE

/obj/structure/machinery/door/poddoor/almayer/Initialize()
. = ..()
addtimer(CALLBACK(src, TYPE_PROC_REF(/atom, relativewall_neighbours)), 10)
/obj/structure/machinery/door/poddoor/almayer/blended/aicore
icon_state = "aidoor1"
base_icon_state = "aidoor"

/obj/structure/machinery/door/poddoor/almayer/blended/aicore/open
density = FALSE

/obj/structure/machinery/door/poddoor/almayer/blended/white_aicore
icon_state = "w_aidoor1"
base_icon_state = "w_aidoor"

/obj/structure/machinery/door/poddoor/almayer/blended/white_aicore/open
density = FALSE

/obj/structure/machinery/door/poddoor/almayer/locked
unslashable = TRUE
Expand Down
28 changes: 28 additions & 0 deletions code/game/objects/structures/window.dm
Original file line number Diff line number Diff line change
Expand Up @@ -599,6 +599,34 @@
unacidable = TRUE
health = 1000000 //Failsafe, shouldn't matter

/obj/structure/window/framed/almayer/aicore
icon_state = "ai_rwindow0"
basestate = "ai_rwindow"
window_frame = /obj/structure/window_frame/almayer/aicore

/obj/structure/window/framed/almayer/aicore/hull
name = "hull window"
desc = "An ultra-reinforced window designed to protect the AI Core. Made out of exotic materials to prevent hull breaches, nothing will get through here."
not_damageable = TRUE
not_deconstructable = TRUE
unslashable = TRUE
unacidable = TRUE
health = 1000000 //Failsafe, shouldn't matter

/obj/structure/window/framed/almayer/aicore/white
icon_state = "w_ai_rwindow0"
basestate = "w_ai_rwindow"
window_frame = /obj/structure/window_frame/almayer/aicore/white

/obj/structure/window/framed/almayer/aicore/white/hull
name = "hull window"
desc = "An ultra-reinforced window designed to protect the AI Core. Made out of exotic materials to prevent hull breaches, nothing will get through here."
not_damageable = TRUE
not_deconstructable = TRUE
unslashable = TRUE
unacidable = TRUE
health = 1000000 //Failsafe, shouldn't matter

/obj/structure/window/framed/colony
name = "window"
icon_state = "col_window0"
Expand Down
10 changes: 10 additions & 0 deletions code/game/objects/structures/window_frame.dm
Original file line number Diff line number Diff line change
Expand Up @@ -174,6 +174,16 @@
basestate = "white_window"
window_type = /obj/structure/window/framed/almayer/white

/obj/structure/window_frame/almayer/aicore
icon_state = "ai_window0_frame"
basestate = "ai_window"
window_type = /obj/structure/window/framed/almayer/aicore

/obj/structure/window_frame/almayer/aicore/white
icon_state = "w_ai_window0_frame"
basestate = "w_ai_window"
window_type = /obj/structure/window/framed/almayer/aicore/white

/obj/structure/window_frame/almayer/requisitions/attackby(obj/item/W, mob/living/user)
if(istype(W, sheet_type))
to_chat(user, SPAN_WARNING("You can't repair this window."))
Expand Down
36 changes: 36 additions & 0 deletions code/game/turfs/floor_types.dm
Original file line number Diff line number Diff line change
Expand Up @@ -180,7 +180,22 @@
/turf/open/floor/plating/plating_catwalk/shiva
icon = 'icons/turf/floors/ice_colony/shiva_floor.dmi'

/turf/open/floor/plating/plating_catwalk/aicore
icon = 'icons/turf/floors/aicore.dmi'
icon_state = "ai_plating_catwalk"

/turf/open/floor/plating/plating_catwalk/aicore/update_icon()
. = ..()
if(covered)
overlays += image(icon, src, "ai_catwalk", CATWALK_LAYER)

/turf/open/floor/plating/plating_catwalk/aicore/white
icon_state = "w_ai_plating_catwalk"

/turf/open/floor/plating/plating_catwalk/aicore/white/update_icon()
. = ..()
if(covered)
overlays += image(icon, src, "w_ai_catwalk", CATWALK_LAYER)

/turf/open/floor/plating/ironsand
name = "Iron Sand"
Expand Down Expand Up @@ -303,6 +318,27 @@
allow_construction = FALSE
hull_floor = TRUE

/turf/open/floor/almayer/aicore
icon = 'icons/turf/floors/aicore.dmi'
icon_state = "ai_floor1"

/turf/open/floor/almayer/aicore/glowing
icon_state = "ai_floor2"
light_color = "#d69c46"
light_range = 2

/turf/open/floor/almayer/aicore/glowing/Initialize(mapload, ...)
. = ..()
set_light_on(TRUE)

/turf/open/floor/almayer/aicore/no_build
allow_construction = FALSE
hull_floor = TRUE

/turf/open/floor/almayer/aicore/glowing/no_build
allow_construction = FALSE
hull_floor = TRUE

// RESEARCH STUFF
/turf/open/floor/almayer/research/containment/entrance
icon_state = "containment_entrance"
Expand Down
32 changes: 32 additions & 0 deletions code/game/turfs/walls/wall_types.dm
Original file line number Diff line number Diff line change
Expand Up @@ -211,7 +211,39 @@
icon_state = "containment_window"
opacity = FALSE

//AI Core

/turf/closed/wall/almayer/aicore
walltype = WALL_AICORE
icon = 'icons/turf/walls/almayer_aicore.dmi'
icon_state = "aiwall"

/turf/closed/wall/almayer/aicore/reinforced
name = "reinforced hull"
damage_cap = HEALTH_WALL_REINFORCED
icon_state = "reinforced"

/turf/closed/wall/almayer/aicore/hull
name = "ultra reinforced hull"
desc = "An extremely reinforced metal wall used to isolate potentially dangerous areas"
hull = TRUE
icon_state = "hull"

/turf/closed/wall/almayer/aicore/white
walltype = WALL_AICORE
icon = 'icons/turf/walls/almayer_aicore_white.dmi'
icon_state = "aiwall"

/turf/closed/wall/almayer/aicore/white/reinforced
name = "reinforced hull"
damage_cap = HEALTH_WALL_REINFORCED
icon_state = "reinforced"

/turf/closed/wall/almayer/aicore/white/hull
name = "ultra reinforced hull"
desc = "An extremely reinforced metal wall used to isolate potentially dangerous areas"
hull = TRUE
icon_state = "hull"


//Sulaco walls.
Expand Down
Binary file modified icons/obj/structures/doors/blastdoors_shutters.dmi
Binary file not shown.
Binary file added icons/turf/floors/aicore.dmi
Binary file not shown.
Binary file added icons/turf/walls/almayer_aicore.dmi
Binary file not shown.
Binary file added icons/turf/walls/almayer_aicore_white.dmi
Binary file not shown.
Binary file modified icons/turf/walls/window_frames.dmi
Binary file not shown.
Binary file modified icons/turf/walls/windows.dmi
Binary file not shown.
Loading

0 comments on commit 29bfb85

Please sign in to comment.