mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2026-08-18 02:19:30 +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:
@@ -53,7 +53,7 @@ GLOBAL_LIST_INIT(tape_roll_applications, list())
|
||||
/obj/item/tape/police
|
||||
name = "police tape"
|
||||
desc = "A length of police tape. Do not cross."
|
||||
req_one_access = list(ACCESS_SECURITY, ACCESS_KONYANG_POLICE) // Any role that is considered 'police' and gets this item should also have it's access added to this variable. If this list gets too long we may need to make subtypes.
|
||||
req_one_access = list(ACCESS_SECURITY, ACCESS_PORTOFCALL_POLICE) // Any role that is considered 'police' and gets this item should also have it's access added to this variable. If this list gets too long we may need to make subtypes.
|
||||
icon_base = "police"
|
||||
|
||||
/obj/item/taperoll/medical
|
||||
|
||||
@@ -241,7 +241,7 @@
|
||||
/obj/item/clothing/under/syndicate/tacticool = 7,
|
||||
/obj/item/toy/sword = 22,
|
||||
/obj/item/gun/projectile/revolver/capgun = 11,
|
||||
/obj/item/gun/bang = 22,
|
||||
/obj/item/gun/bang/deagle = 22,
|
||||
/obj/item/toy/crossbow = 11,
|
||||
/obj/random/action_figure = 11,
|
||||
/obj/item/toy/cultsword = 7,
|
||||
|
||||
@@ -14,6 +14,8 @@ GLOBAL_LIST_EMPTY(marketsign_overlay_cache)
|
||||
var/currently_on = FALSE
|
||||
var/on_icon_state
|
||||
var/off_icon_state = "off"
|
||||
/// Whether or not the sign settings can be modified.
|
||||
var/sign_change_allowed = TRUE
|
||||
/// Local reference of the global list associated with this object's singletons.
|
||||
var/list/target_cache = list()
|
||||
|
||||
@@ -47,6 +49,9 @@ GLOBAL_LIST_EMPTY(marketsign_overlay_cache)
|
||||
/obj/structure/sign/double/barsign/attackby(obj/item/attacking_item, mob/user)
|
||||
if(cult)
|
||||
return ..()
|
||||
if(!sign_change_allowed)
|
||||
balloon_alert("access denied")
|
||||
return
|
||||
var/obj/item/card/id/card = attacking_item.GetID()
|
||||
if(istype(card))
|
||||
if(!check_access(card))
|
||||
@@ -83,6 +88,21 @@ GLOBAL_LIST_EMPTY(marketsign_overlay_cache)
|
||||
|
||||
. = TRUE
|
||||
|
||||
/obj/structure/sign/double/barsign/AltClick(mob/user) // Alt-click a sign with an empty hand to power or depower it, if it has the associated "[name]-off" state in the .dmi file.
|
||||
if(!on_icon_state)
|
||||
to_chat(user, SPAN_WARNING("The sign is already off!"))
|
||||
return
|
||||
if(!currently_on)
|
||||
currently_on = TRUE
|
||||
icon_state = on_icon_state
|
||||
return
|
||||
icon_state = off_icon_state
|
||||
currently_on = FALSE
|
||||
|
||||
/obj/structure/sign/double/barsign/proc/get_sign_choices()
|
||||
var/list/sign_choices = GET_SINGLETON_SUBTYPE_MAP(choice_types)
|
||||
return sign_choices
|
||||
|
||||
/obj/structure/sign/double/barsign/proc/set_sign(choice)
|
||||
var/singleton/sign/double/chosen_singleton = text2path(choice)
|
||||
|
||||
@@ -94,16 +114,6 @@ GLOBAL_LIST_EMPTY(marketsign_overlay_cache)
|
||||
on_icon_state = icon_state
|
||||
update_icon()
|
||||
|
||||
/obj/structure/sign/double/barsign/AltClick(mob/user) // Alt-click a sign with an empty hand to power or depower it, if it has the associated "[name]-off" state in the .dmi file.
|
||||
if(!on_icon_state)
|
||||
to_chat(user, SPAN_WARNING("The sign is already off!"))
|
||||
return
|
||||
if(!currently_on)
|
||||
currently_on = TRUE
|
||||
icon_state = on_icon_state
|
||||
return
|
||||
icon_state = off_icon_state
|
||||
currently_on = FALSE
|
||||
|
||||
// ---- Kitchen sign
|
||||
|
||||
@@ -134,6 +144,24 @@ GLOBAL_LIST_EMPTY(marketsign_overlay_cache)
|
||||
/obj/structure/sign/double/barsign/marketsign/mirrored // Visible from the other end of the sign.
|
||||
pixel_x = -32
|
||||
|
||||
/// Static signs can be toggled on and off, but have no alternative icons to set. Used for mapping.
|
||||
/obj/structure/sign/double/barsign/marketsign/staticsign
|
||||
sign_change_allowed = FALSE
|
||||
|
||||
/obj/structure/sign/double/barsign/marketsign/staticsign/quikstop
|
||||
|
||||
/obj/structure/sign/double/barsign/marketsign/staticsign/quikstop/Initialize()
|
||||
..()
|
||||
var/singleton/sign/double/market/signselect = /singleton/sign/double/market/quikstop
|
||||
name = signselect.name
|
||||
desc = signselect.desc
|
||||
desc_extended = signselect.desc_extended
|
||||
icon_state = signselect.icon_state
|
||||
currently_on = TRUE
|
||||
on_icon_state = icon_state
|
||||
update_icon()
|
||||
return INITIALIZE_HINT_NORMAL
|
||||
|
||||
/singleton/sign/double
|
||||
var/name = "Holographic Projector"
|
||||
var/icon_state = "off"
|
||||
|
||||
@@ -2058,6 +2058,17 @@
|
||||
/obj/structure/sign/flag/assunzione/large/west/Initialize(mapload)
|
||||
. = ..(mapload, WEST)
|
||||
|
||||
/obj/item/flag/luceist/l
|
||||
name = "large Luceian flag"
|
||||
flag_size = TRUE
|
||||
flag_structure = /obj/structure/sign/flag/luceist/large
|
||||
|
||||
/obj/structure/sign/flag/luceist/large
|
||||
icon_state = "luceist_l"
|
||||
flag_path = "luceist"
|
||||
flag_size = TRUE
|
||||
flag_item = /obj/item/flag/luceist/l
|
||||
|
||||
// Port Antillia
|
||||
|
||||
/obj/item/flag/portantillia
|
||||
|
||||
@@ -19,6 +19,7 @@
|
||||
/turf/unsimulated/wall/steel, // Centcomm wall.
|
||||
/turf/unsimulated/wall/darkshuttlewall, // Centcomm wall.
|
||||
/turf/unsimulated/wall/riveted, // Centcomm wall.
|
||||
/turf/unsimulated/wall/fakepdoor,
|
||||
/obj/structure/window_frame,
|
||||
/obj/structure/window_frame/unanchored,
|
||||
/obj/structure/window_frame/empty,
|
||||
|
||||
@@ -56,6 +56,7 @@
|
||||
/turf/unsimulated/wall/steel,
|
||||
/turf/unsimulated/wall/darkshuttlewall,
|
||||
/turf/unsimulated/wall/riveted,
|
||||
/turf/unsimulated/wall/fakepdoor,
|
||||
/obj/structure/window_frame,
|
||||
/obj/structure/window_frame/unanchored,
|
||||
/obj/structure/window_frame/empty,
|
||||
|
||||
@@ -53,6 +53,11 @@
|
||||
icon = 'icons/obj/structure/urban/poles.dmi'
|
||||
icon_state = "street"
|
||||
|
||||
/obj/structure/utility_pole/street_aszn
|
||||
desc = "A tall light source. This one seems to be off."
|
||||
icon = 'icons/obj/structure/urban/poles.dmi'
|
||||
icon_state = "street_aszn"
|
||||
|
||||
/obj/effect/overlay/street_light
|
||||
icon = 'icons/obj/structure/urban/poles.dmi'
|
||||
icon_state = "street_light"
|
||||
@@ -62,6 +67,14 @@
|
||||
icon_state = "classic_lamp_light"
|
||||
density = 1
|
||||
|
||||
/obj/effect/overlay/street_light/classic/alt
|
||||
icon_state = "classic_lamp_light_alt"
|
||||
|
||||
/obj/effect/overlay/street_aszn_light
|
||||
icon = 'icons/obj/structure/urban/poles.dmi'
|
||||
icon_state = "street_aszn_light"
|
||||
plane = ABOVE_LIGHTING_PLANE
|
||||
|
||||
/obj/structure/utility_pole/street/on
|
||||
desc = "A tall light source. This one shines brightly."
|
||||
light_color = "#e8ffeb"
|
||||
@@ -74,6 +87,35 @@
|
||||
AddOverlays(/obj/effect/overlay/street_light)
|
||||
return
|
||||
|
||||
/obj/structure/utility_pole/street_aszn/on
|
||||
desc = "A tall light source. This one shines painfully brightly in all directions."
|
||||
light_color = LIGHT_COLOR_PALE_PURPLE
|
||||
light_range = 12
|
||||
light_power = 2.0
|
||||
|
||||
/obj/structure/utility_pole/street_aszn/on/Initialize(mapload)
|
||||
. = ..()
|
||||
ClearOverlays()
|
||||
AddOverlays(/obj/effect/overlay/street_aszn_light)
|
||||
return
|
||||
|
||||
/obj/effect/overlay/floodlight
|
||||
icon = 'icons/obj/structure/urban/poles.dmi'
|
||||
icon_state = "radial_floodlight-light"
|
||||
plane = ABOVE_LIGHTING_PLANE
|
||||
|
||||
/obj/structure/utility_pole/floodlight
|
||||
desc = "Most people probably wouldn't go this far to light up public spaces; this fixture shines painfully brightly in all directions."
|
||||
light_color = LIGHT_COLOR_PALE_PURPLE
|
||||
light_range = 8
|
||||
light_power = 1.9
|
||||
|
||||
/obj/structure/utility_pole/floodlight/on/Initialize(mapload)
|
||||
. = ..()
|
||||
ClearOverlays()
|
||||
AddOverlays(/obj/effect/overlay/floodlight)
|
||||
return
|
||||
|
||||
/obj/structure/utility_pole/street/classic
|
||||
icon_state = "classic_lamp"
|
||||
|
||||
@@ -89,6 +131,21 @@
|
||||
AddOverlays(/obj/effect/overlay/street_light/classic)
|
||||
return
|
||||
|
||||
/obj/structure/utility_pole/street/classic/alt
|
||||
icon_state = "classic_lamp"
|
||||
|
||||
/obj/structure/utility_pole/street/classic/alt/on
|
||||
desc = "A tall light source. This one shines brightly."
|
||||
light_color = LIGHT_COLOR_PALE_PURPLE
|
||||
light_range = 8
|
||||
light_power = 2.4
|
||||
|
||||
/obj/structure/utility_pole/street/classic/alt/on/Initialize(mapload)
|
||||
. = ..()
|
||||
ClearOverlays()
|
||||
AddOverlays(/obj/effect/overlay/street_light/classic/alt)
|
||||
return
|
||||
|
||||
/obj/effect/overlay/street_light/crosswalk
|
||||
icon_state = "crosswalk_go"
|
||||
|
||||
|
||||
@@ -207,6 +207,24 @@
|
||||
/obj/structure/bed/stool/chair/sofa/corner/convex/violet/New(var/newloc)
|
||||
..(newloc, MATERIAL_STEEL, MATERIAL_CLOTH, COLOR_VIOLET)
|
||||
|
||||
/obj/structure/bed/stool/chair/sofa/bench
|
||||
name = "bench"
|
||||
desc = "A long, simple bench with a backboard, commonly found in subways, spaceports, and so on. Not known for being particularly comfortable."
|
||||
icon_state = "pewmiddle"
|
||||
base_icon = "pewmiddle"
|
||||
build_amt = 3
|
||||
|
||||
/obj/structure/bed/stool/chair/sofa/bench/New(var/newloc)
|
||||
..(newloc, MATERIAL_STEEL)
|
||||
|
||||
/obj/structure/bed/stool/chair/sofa/bench/left
|
||||
icon_state = "pewend_left"
|
||||
base_icon = "pewend_left"
|
||||
|
||||
/obj/structure/bed/stool/chair/sofa/bench/right
|
||||
icon_state = "pewend_right"
|
||||
base_icon = "pewend_right"
|
||||
|
||||
/obj/structure/bed/stool/chair/sofa/pew
|
||||
name = "pew"
|
||||
desc = "A long, simple bench with a backboard, commonly found in places of worship, courtrooms and so on. Not known for being particularly comfortable."
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -618,6 +618,7 @@
|
||||
/turf/unsimulated/wall/steel,
|
||||
/turf/unsimulated/wall/darkshuttlewall,
|
||||
/turf/unsimulated/wall/riveted,
|
||||
/turf/unsimulated/wall/fakepdoor,
|
||||
/obj/structure/window_frame,
|
||||
/obj/structure/window_frame/unanchored,
|
||||
/obj/structure/window_frame/empty,
|
||||
|
||||
Reference in New Issue
Block a user