mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2026-08-28 23:51:17 +01:00
Assunzione & Port Volturno (#22258)
Contains assets, code, maps, etc. for Assunzione and Port Volturno. This is something like v0.9 for live unit testing, etc. Do not merge yet. ### Asset Licenses The following assets that **have not** been created by myself are included in this PR: | Path | Original Author | License | | --- | --- | --- | | icons/obj/structure/urban/arches.dmi | [Fyni](https://github.com/Fyniiy) | CC-BY-SA | | icons/obj/structure/urban/assunzione_neon.dmi | [Fyni](https://github.com/Fyniiy) | CC-BY-SA | | icons/obj/structure/urban/assunzione_signs.dmi (stafylia_sign) | [Fyni](https://github.com/Fyniiy) | CC-BY-SA | | icons/obj/structure/urban/billboard.dmi (sign_assunzione1 & 2) | [Fyni](https://github.com/Fyniiy) | CC-BY-SA | | icons/obj/structure/urban/poles.dmi (radial_floodlight) | [Fyni](https://github.com/Fyniiy) | CC-BY-SA | | icons/obj/structure/urban/restaurant.dmi (menu_gyro) | [Fyni](https://github.com/Fyniiy) | CC-BY-SA | | icons/obj/structure/urban/statues.dmi (aec_small) | [Fyni](https://github.com/Fyniiy) | CC-BY-SA | | icons/obj/pottedplants_big.dmi (luce-vine-plant) | [Fyni](https://github.com/Fyniiy) | CC-BY-SA | | icons/obj/pottedplants_small.dmi (luce-vine-plant) | [Fyni](https://github.com/Fyniiy) | CC-BY-SA | | icons/obj/structure/urban/billboard.dmi (sign_assunzione3) | Minzeyes | CC-BY-SA | | icons/obj/structure/urban/assunzione_96x110.dmi | Minzeyes | CC-BY-SA | | icons/turf/smooth/composite_brick.dmi | [nauticall](https://github.com/nauticall) | CC-BY-SA | --------- Signed-off-by: Batrachophreno <Batrochophreno@gmail.com> Co-authored-by: Kano <89972582+kano-dot@users.noreply.github.com>
This commit is contained in:
@@ -285,6 +285,31 @@ ABSTRACT_TYPE(/obj/structure/stairs/urban/road_ramp)
|
||||
dir = SOUTH
|
||||
bound_height = 64
|
||||
|
||||
ABSTRACT_TYPE(/obj/structure/stairs/urban/road_ramp_assun)
|
||||
icon = 'icons/obj/structure/urban/ledges_assun.dmi'
|
||||
name = "inclined asphalt ramp"
|
||||
desc = "A solid asphalt ramp to allow your vehicle to traverse inclines with ease."
|
||||
icon_state = "road-ramp-center"
|
||||
layer = 2.02
|
||||
|
||||
/obj/structure/stairs/urban/road_ramp_assun/right
|
||||
dir = EAST
|
||||
bound_width = 64
|
||||
bound_x = -32
|
||||
|
||||
/obj/structure/stairs/urban/road_ramp_assun/left
|
||||
dir = WEST
|
||||
bound_width = 64
|
||||
|
||||
/obj/structure/stairs/urban/road_ramp_assun/north
|
||||
dir = NORTH
|
||||
bound_height = 64
|
||||
bound_y = -32
|
||||
|
||||
/obj/structure/stairs/urban/road_ramp_assun/south
|
||||
dir = SOUTH
|
||||
bound_height = 64
|
||||
|
||||
/obj/structure/closet/crate/bin/urban
|
||||
name = "tall garbage can"
|
||||
desc = "Garbage day!"
|
||||
@@ -407,6 +432,65 @@ ABSTRACT_TYPE(/obj/structure/stairs/urban/road_ramp)
|
||||
anchored = TRUE
|
||||
layer = ABOVE_HUMAN_LAYER
|
||||
|
||||
/obj/structure/neon_sign/assunzione/music_shop
|
||||
name = "\improper PV AV"
|
||||
desc = "The PV AV (Port Volturno Audio / Visual), a trendy hang-out spot for the music-conscious. Local radio DJ, Livia Sabatino, is said to be a regular."
|
||||
icon = 'icons/obj/structure/urban/assunzione_neon.dmi'
|
||||
icon_state = "PV_AV"
|
||||
layer = 5.16 // in the biz, we call this the above above ABOVE human layer
|
||||
|
||||
/obj/structure/neon_sign/assunzione/music_shop/Initialize()
|
||||
. = ..()
|
||||
AddComponent(/datum/component/large_transparency)
|
||||
|
||||
/obj/structure/neon_sign/assunzione/liquor_shop
|
||||
name = "\improper Assunzione Duty-Free Libations"
|
||||
desc = "Spaceports are fine places to make a tidy profit selling alcohol. Don't drink and pilot."
|
||||
icon = 'icons/obj/structure/urban/assunzione_neon.dmi'
|
||||
icon_state = "duty_free"
|
||||
layer = 5.16 // in the biz, we call this the above above ABOVE human layer
|
||||
|
||||
/obj/structure/neon_sign/assunzione/repair_shop
|
||||
name = "\improper Sybdari Electromechanics"
|
||||
desc = "A hybrid mechanics' bay and electronics shop that will fix just anything, from mopeds to laptops. Though not built for serious IPC work, they can help out in a pinch. A subsidiary of Iraklio Shipworks, as it happens."
|
||||
icon = 'icons/obj/structure/urban/assunzione_neon.dmi'
|
||||
icon_state = "repair_shop_r"
|
||||
layer = 5.16 // in the biz, we call this the above above ABOVE human layer
|
||||
|
||||
/obj/structure/neon_sign/assunzione/hotel
|
||||
name = "\improper H O T E L sign"
|
||||
desc = "A design five-hundred years old and still seen all across human space."
|
||||
icon = 'icons/obj/structure/urban/assunzione_neon.dmi'
|
||||
icon_state = "hotel"
|
||||
|
||||
/obj/structure/neon_sign/assunzione/chapel
|
||||
name = "\improper Saint Alvisiol Chapel"
|
||||
desc = "A local chapel consecrated by the Luceist Church, dedicated to spreading the Light of Ennoia."
|
||||
icon = 'icons/obj/structure/urban/assunzione_neon.dmi'
|
||||
icon_state = "assunzione"
|
||||
|
||||
/obj/structure/neon_sign/assunzione/witch_hand
|
||||
name = "\improper WITCH HAND"
|
||||
desc = "A massive neon sign for Port Volturno's best underground nightclub. Not for the pious, and <i>especially</i> not for the photosensitive. Like, seriously. They make you sign a waiver."
|
||||
icon = 'icons/obj/structure/urban/assunzione_96x160.dmi'
|
||||
icon_state = "wh_sign"
|
||||
layer = 5.16 // in the biz, we call this the above above ABOVE human layer
|
||||
pixel_x = -32
|
||||
pixel_y = -32
|
||||
light_range = 3.8
|
||||
light_power = 0.5
|
||||
light_color = LIGHT_COLOR_VIOLET
|
||||
|
||||
/obj/structure/neon_sign/assunzione/witch_hand/Initialize()
|
||||
. = ..()
|
||||
AddComponent(/datum/component/large_transparency)
|
||||
AddOverlays(emissive_appearance(icon, "[icon_state]-em", src, alpha = src.alpha))
|
||||
set_light_range_power_color(light_range, light_power, light_color)
|
||||
set_light_on(TRUE)
|
||||
bound_width = 96
|
||||
bound_height = 96
|
||||
return INITIALIZE_HINT_NORMAL
|
||||
|
||||
/obj/structure/shipping_container_old
|
||||
name = "freight container"
|
||||
desc = "A hulking industrial shipping container, bound for who knows where."
|
||||
@@ -627,7 +711,6 @@ ABSTRACT_TYPE(/obj/structure/stairs/urban/road_ramp)
|
||||
density = TRUE
|
||||
anchored = TRUE
|
||||
|
||||
|
||||
/obj/structure/statue/buddha
|
||||
name = "buddha statue"
|
||||
desc = "A bronze statue of the Amitabha Buddha, the Buddha of Limitless Light."
|
||||
@@ -638,6 +721,38 @@ ABSTRACT_TYPE(/obj/structure/stairs/urban/road_ramp)
|
||||
desc = "A set of armor modelled after historical designs. Pieces replicating ancient artifacts are common on Konyang and viewed as favored pieces of art."
|
||||
icon_state = "gusoku"
|
||||
|
||||
/obj/structure/statue/aec/small
|
||||
name = "\improper AEC memorial statue"
|
||||
desc = "A bronze statue of the Amitabha Buddha, the Buddha of Limitless Light."
|
||||
icon_state = "aec_small"
|
||||
|
||||
/obj/structure/statue/aec/large
|
||||
name = "\improper AEC memorial statue"
|
||||
desc = "A towering memorial to all the fatalities incurred over the AEC's operations. Beneath the towering ranger in bronze, a plaque reads:<br>\
|
||||
<b>FOR ALL HEROES FALLEN;</b><br>\
|
||||
<b>INTREPID AND PIOUS,</b><br>\
|
||||
<b>IN THAT HOLIEST OF MISSIONS:</b><br>\
|
||||
<b>THE SEARCH OF LIGHT IN DARKNESS.</b><br>\
|
||||
The list of names below is terribly long, the font so small as to be barely readable at all."
|
||||
icon = 'icons/obj/structure/urban/assunzione_96x160.dmi'
|
||||
icon_state = "aec_large"
|
||||
layer = 5.16 // in the biz, we call this the above above ABOVE human layer
|
||||
pixel_x = -32
|
||||
pixel_y = -32
|
||||
light_range = 3.8
|
||||
light_power = 0.7
|
||||
light_color = LIGHT_COLOR_VIOLET
|
||||
|
||||
/obj/structure/statue/aec/large/Initialize()
|
||||
. = ..()
|
||||
AddComponent(/datum/component/large_transparency)
|
||||
AddOverlays(emissive_appearance(icon, "[icon_state]-em", src, alpha = src.alpha))
|
||||
set_light_range_power_color(light_range, light_power, light_color)
|
||||
set_light_on(TRUE)
|
||||
bound_width = 32
|
||||
bound_height = 64
|
||||
return INITIALIZE_HINT_NORMAL
|
||||
|
||||
/obj/structure/sign/urban
|
||||
name = "exit sign"
|
||||
desc = "A sign indicating where you should probably go in a hurry."
|
||||
@@ -653,16 +768,58 @@ ABSTRACT_TYPE(/obj/structure/stairs/urban/road_ramp)
|
||||
density = TRUE
|
||||
layer = ABOVE_HUMAN_LAYER
|
||||
|
||||
/obj/structure/sign/billboard/Initialize()
|
||||
. = ..()
|
||||
AddComponent(/datum/component/large_transparency)
|
||||
|
||||
/obj/structure/sign/billboard/nolegs
|
||||
name = "commercial billboard"
|
||||
desc = "A large billboard rented out for advertisement space."
|
||||
icon = 'icons/obj/structure/urban/billboard.dmi'
|
||||
icon_state = "board_nolegs-l"
|
||||
density = TRUE
|
||||
layer = ABOVE_HUMAN_LAYER
|
||||
|
||||
/obj/structure/sign/billboard/advert
|
||||
name = "billboard advertisement"
|
||||
desc = null
|
||||
icon_state = "sign"
|
||||
density = TRUE
|
||||
/**
|
||||
* Billboard adverts have icon_states named for whether they're generic or location-specific. These variable records the # of a given type for the purpose of populating appropriate adverts.
|
||||
* When new adverts are added to a pool, or a new pool is added, the XYZ_adverts variables should be updated so that billboards at a given location populate their adverts randomly.
|
||||
*/
|
||||
var/list/advert_pool = list()
|
||||
var/generic_adverts = 8
|
||||
var/konyang_adverts = 11
|
||||
var/assunzione_adverts = 3
|
||||
|
||||
/obj/structure/sign/billboard/advert/random/Initialize(mapload)
|
||||
/obj/structure/sign/billboard/advert/random/generic/Initialize(mapload)
|
||||
. = ..()
|
||||
ClearOverlays()
|
||||
icon_state = "sign[rand(1, 14)]"
|
||||
for(var/x = 1 to generic_adverts)
|
||||
advert_pool += "sign_generic[x]"
|
||||
icon_state = pick(advert_pool)
|
||||
return
|
||||
|
||||
/obj/structure/sign/billboard/advert/random/konyang/Initialize(mapload)
|
||||
. = ..()
|
||||
ClearOverlays()
|
||||
for(var/x = 1 to generic_adverts)
|
||||
advert_pool += "sign_generic[x]"
|
||||
for(var/y = 1 to konyang_adverts)
|
||||
advert_pool += "sign_konyang[y]"
|
||||
icon_state = pick(advert_pool)
|
||||
return
|
||||
|
||||
/obj/structure/sign/billboard/advert/random/assunzione/Initialize(mapload)
|
||||
. = ..()
|
||||
ClearOverlays()
|
||||
for(var/x = 1 to generic_adverts)
|
||||
advert_pool += "sign_generic[x]"
|
||||
for(var/y = 1 to assunzione_adverts)
|
||||
advert_pool += "sign_assunzione[y]"
|
||||
icon_state = pick(advert_pool)
|
||||
return
|
||||
|
||||
/obj/structure/sign/urban/drive_thru
|
||||
@@ -691,14 +848,21 @@ ABSTRACT_TYPE(/obj/structure/stairs/urban/road_ramp)
|
||||
light_color = LIGHT_COLOR_CYAN
|
||||
light_range = 1.8
|
||||
var/menu_text = ""
|
||||
/// Whether or not the menu text can be updated.
|
||||
var/static_menu = FALSE
|
||||
|
||||
/obj/structure/restaurant_menu/attack_hand(mob/user)
|
||||
if(static_menu)
|
||||
to_chat(user, SPAN_WARNING("This menu sign's text is not configurable."))
|
||||
var/new_text = sanitize(input(user, "Enter new text for the hologram to display.", "Hologram Display", html2pencode(menu_text, TRUE)) as null|message)
|
||||
if(!isnull(new_text))
|
||||
menu_text = pencode2html(new_text)
|
||||
update_icon()
|
||||
|
||||
/obj/structure/restaurant_menu/attackby(obj/item/attacking_item, mob/user)
|
||||
if(static_menu)
|
||||
to_chat(user, SPAN_WARNING("This menu sign's text is not configurable."))
|
||||
return ..()
|
||||
if(istype(attacking_item, /obj/item/paper))
|
||||
var/obj/item/paper/P = attacking_item
|
||||
to_chat(user, SPAN_NOTICE("You scan \the [attacking_item.name] into \the [name]."))
|
||||
@@ -709,6 +873,30 @@ ABSTRACT_TYPE(/obj/structure/stairs/urban/road_ramp)
|
||||
return TRUE
|
||||
return ..()
|
||||
|
||||
/obj/structure/restaurant_menu/stafylia
|
||||
name = "\improper Stafýlia menu"
|
||||
icon_state = "menu_gyro"
|
||||
desc = "Welcome to Stafýlia! The real taste of Assunzione!\
|
||||
<br><br>\
|
||||
<br><b>Mains</b>\
|
||||
<br>Signature Stafýlia Gyro - 6电\
|
||||
<br>Doner Kebab - 6电\
|
||||
<br>Falafel Pita - 6电\
|
||||
<br><br>\
|
||||
<br><b>Sides</b>\
|
||||
<br>Salad - 3电\
|
||||
<br>Fries - 3电\
|
||||
<br>Chocolate Pita - 4电\
|
||||
<br><br>\
|
||||
<br><b>Drinks</b>\
|
||||
<br>Drosiá Grape - 2电\
|
||||
<br>Drosiá Cherry - 2电\
|
||||
<br>Comet Cola - 2电\
|
||||
<br>Xanu Rush - 2电\
|
||||
<br><br>\
|
||||
<br>Get the Stafýlia meal combo! Your choice of main, side and drink for only 9.50电!"
|
||||
static_menu = TRUE
|
||||
|
||||
/obj/structure/sign/urban/konyang
|
||||
name = "convenience store sign"
|
||||
desc = "A sign labeling the structure as a 24-7 MINI MART. Convenient!"
|
||||
@@ -740,6 +928,22 @@ ABSTRACT_TYPE(/obj/structure/stairs/urban/road_ramp)
|
||||
desc = "A sign labeling the structure as a Konyang health and supply pharmacy."
|
||||
icon_state = "pharmacy_sign"
|
||||
|
||||
/obj/structure/sign/urban/assunzione
|
||||
name = "convenience store sign"
|
||||
desc = "A sign labeling the structure as a 24-7 MINI MART. Convenient!"
|
||||
icon = 'icons/obj/structure/urban/assunzione_signs.dmi'
|
||||
icon_state = "shop_sign"
|
||||
|
||||
/obj/structure/sign/urban/assunzione/police
|
||||
name = "police station sign"
|
||||
desc = "A sign labeling the structure as an Volturno Spaceport security facility; while the spaceport is administered by the government of Triesto, internal security is Zeng-Hu corporate."
|
||||
icon_state = "police_sign"
|
||||
|
||||
/obj/structure/sign/urban/assunzione/pharmacy
|
||||
name = "pharmacy & clinic sign"
|
||||
desc = "A sign labeling the structure as a Zeng-Hu pharmaceutical distributor and medical clinic."
|
||||
icon_state = "pharmacy_sign"
|
||||
|
||||
/obj/structure/window/urban
|
||||
icon = 'icons/obj/structure/urban/windows_tall.dmi'
|
||||
icon_state = "wood"
|
||||
@@ -909,6 +1113,7 @@ ABSTRACT_TYPE(/obj/structure/stairs/urban/road_ramp)
|
||||
balloon_alert_to_viewers("*unlocks*")
|
||||
to_chat(user, SPAN_NOTICE("You unlock \the [src]."))
|
||||
|
||||
playsound(src.loc, hatch_open_sound, 40, TRUE, extrarange = SILENCED_SOUND_EXTRARANGE)
|
||||
open()
|
||||
|
||||
//Save the list of accesses and empty them up
|
||||
@@ -927,6 +1132,7 @@ ABSTRACT_TYPE(/obj/structure/stairs/urban/road_ramp)
|
||||
balloon_alert_to_viewers("*locks*")
|
||||
to_chat(user, SPAN_NOTICE("You lock \the [src]."))
|
||||
|
||||
playsound(src.loc, hatch_close_sound, 30, TRUE, extrarange = SILENCED_SOUND_EXTRARANGE)
|
||||
close()
|
||||
|
||||
//Readd the list of accesses, and empty up the previous access lists
|
||||
@@ -1006,3 +1212,39 @@ ABSTRACT_TYPE(/obj/structure/stairs/urban/road_ramp)
|
||||
|
||||
/obj/item/key/door_key/GetAccess()
|
||||
return access_list
|
||||
|
||||
// Overhead structural arches. Cool as hell.
|
||||
ABSTRACT_TYPE(/obj/structure/arch)
|
||||
icon = 'icons/obj/structure/urban/arches.dmi'
|
||||
icon_state = "gothic_arch_single"
|
||||
layer = ABOVE_ABOVE_HUMAN_LAYER
|
||||
name = "arch"
|
||||
anchored = TRUE
|
||||
|
||||
/obj/structure/arch/Initialize()
|
||||
. = ..()
|
||||
AddComponent(/datum/component/large_transparency, 0, 0, 0, 0)
|
||||
|
||||
// East/west arch pieces
|
||||
/obj/structure/arch/gothic/eastwest/_single
|
||||
dir = 4
|
||||
/obj/structure/arch/gothic/eastwest/left
|
||||
icon_state = "gothic_arch_end"
|
||||
dir = 4
|
||||
/obj/structure/arch/gothic/eastwest/middle
|
||||
icon_state = "gothic_arch_middle"
|
||||
dir = 4
|
||||
/obj/structure/arch/gothic/eastwest/right
|
||||
icon_state = "gothic_arch_end"
|
||||
dir = 8
|
||||
|
||||
// North/south arch pieces
|
||||
/obj/structure/arch/gothic/northsouth/_single
|
||||
/obj/structure/arch/gothic/northsouth/upper
|
||||
icon_state = "gothic_arch_end"
|
||||
/obj/structure/arch/gothic/northsouth/center
|
||||
icon_state = "gothic_arch_middle"
|
||||
/obj/structure/arch/gothic/northsouth/lower
|
||||
icon_state = "gothic_arch_end"
|
||||
dir = 1
|
||||
|
||||
|
||||
Reference in New Issue
Block a user