diff --git a/code/__DEFINES/camera.dm b/code/__DEFINES/camera.dm index a95112341a..bd5e8f42fb 100644 --- a/code/__DEFINES/camera.dm +++ b/code/__DEFINES/camera.dm @@ -7,6 +7,10 @@ #define CAMERA_NET_ALAMO "Alamo" #define CAMERA_NET_NORMANDY "Normandy" #define CAMERA_NET_MIDWAY "Midway" +#define CAMERA_NET_CYCLONE "Cyclone" +#define CAMERA_NET_TORNADO "Tornado" +#define CAMERA_NET_TYPHOON "Typhoon" +#define CAMERA_NET_TRIPOLI "Tripoli" #define CAMERA_NET_COLONY "Colony" #define CAMERA_NET_ARES "ARES" diff --git a/code/__DEFINES/shuttles.dm b/code/__DEFINES/shuttles.dm index a27c7a5689..3aae19e74d 100644 --- a/code/__DEFINES/shuttles.dm +++ b/code/__DEFINES/shuttles.dm @@ -117,6 +117,9 @@ #define DROPSHIP_NORMANDY "dropship_normandy" #define DROPSHIP_UPP "dropship_upp" #define DROPSHIP_CYCLONE "dropship_cyclone" +#define DROPSHIP_TORNADO "dropship_tornado" +#define DROPSHIP_TYPHOON "dropship_typhoon" +#define DROPSHIP_TRIPOLI "dropship_tripoli" #define ALMAYER_DROPSHIP_LZ1 "almayer-hangar-lz1" #define ALMAYER_DROPSHIP_LZ2 "almayer-hangar-lz2" diff --git a/code/__DEFINES/strippable.dm b/code/__DEFINES/strippable.dm new file mode 100644 index 0000000000..f62c4d6c1b --- /dev/null +++ b/code/__DEFINES/strippable.dm @@ -0,0 +1,30 @@ +// All of these must be matched in StripMenu.js. +#define STRIPPABLE_ITEM_HEAD "head" +#define STRIPPABLE_ITEM_BACK "back" +#define STRIPPABLE_ITEM_MASK "wear_mask" +#define STRIPPABLE_ITEM_EYES "glasses" +#define STRIPPABLE_ITEM_L_EAR "wear_l_ear" +#define STRIPPABLE_ITEM_R_EAR "wear_r_ear" +#define STRIPPABLE_ITEM_JUMPSUIT "w_uniform" +#define STRIPPABLE_ITEM_SUIT "wear_suit" +#define STRIPPABLE_ITEM_GLOVES "gloves" +#define STRIPPABLE_ITEM_FEET "shoes" +#define STRIPPABLE_ITEM_SUIT_STORAGE "j_store" +#define STRIPPABLE_ITEM_ID "id" +#define STRIPPABLE_ITEM_BELT "belt" +#define STRIPPABLE_ITEM_LPOCKET "l_store" +#define STRIPPABLE_ITEM_RPOCKET "r_store" +#define STRIPPABLE_ITEM_LHAND "l_hand" +#define STRIPPABLE_ITEM_RHAND "r_hand" +#define STRIPPABLE_ITEM_HANDCUFFS "handcuffs" +#define STRIPPABLE_ITEM_LEGCUFFS "legcuffs" + + +/// This slot is not obscured. +#define STRIPPABLE_OBSCURING_NONE 0 + +/// This slot is completely obscured, and cannot be accessed. +#define STRIPPABLE_OBSCURING_COMPLETELY 1 + +/// This slot can't be seen, but can be accessed. +#define STRIPPABLE_OBSCURING_HIDDEN 2 diff --git a/code/_macros.dm b/code/_macros.dm index 6c1f37b4bc..0e85827bc0 100644 --- a/code/_macros.dm +++ b/code/_macros.dm @@ -67,6 +67,11 @@ #define LAZYREMOVEASSOC(L, K, V) if(L) { if(L[K]) { L[K] -= V; if(!length(L[K])) L -= K; } if(!length(L)) L = null; } ///Accesses an associative list, returns null if nothing is found #define LAZYACCESSASSOC(L, I, K) L ? L[I] ? L[I][K] ? L[I][K] : null : null : null +///Performs an insertion on the given lazy list with the given key and value. If the value already exists, a new one will not be made. +#define LAZYORASSOCLIST(lazy_list, key, value) \ + LAZYINITLIST(lazy_list); \ + LAZYINITLIST(lazy_list[key]); \ + lazy_list[key] |= value; // Insert an object A into a sorted list using cmp_proc (/code/_helpers/cmp.dm) for comparison. #define ADD_SORTED(list, A, cmp_proc) if(!list.len) {list.Add(A)} else {list.Insert(FindElementIndex(A, list, cmp_proc), A)} diff --git a/code/_onclick/click_hold.dm b/code/_onclick/click_hold.dm index 996f7ed2bf..e972821615 100644 --- a/code/_onclick/click_hold.dm +++ b/code/_onclick/click_hold.dm @@ -97,9 +97,8 @@ /client/MouseDrop(datum/over_object, datum/src_location, over_location, src_control, over_control, params) . = ..() + if(over_object) + SEND_SIGNAL(over_object, COMSIG_ATOM_DROP_ON, src_location, src) if(src_location) SEND_SIGNAL(src_location, COMSIG_ATOM_DROPPED_ON, over_object, src) - - if(over_object) - SEND_SIGNAL(over_object, COMSIG_ATOM_DROP_ON, src_location, src) diff --git a/code/_onclick/drag_drop.dm b/code/_onclick/drag_drop.dm index fff5e9200d..4dcc0d6468 100644 --- a/code/_onclick/drag_drop.dm +++ b/code/_onclick/drag_drop.dm @@ -7,6 +7,7 @@ */ /atom/MouseDrop(atom/over) if(!usr || !over) return + if(!Adjacent(usr) || !over.Adjacent(usr)) return // should stop you from dragging through windows spawn(0) diff --git a/code/datums/elements/strippable.dm b/code/datums/elements/strippable.dm new file mode 100644 index 0000000000..e0daaee74a --- /dev/null +++ b/code/datums/elements/strippable.dm @@ -0,0 +1,536 @@ +/// An element for atoms that, when dragged and dropped onto a mob, opens a strip panel. +/datum/element/strippable + element_flags = ELEMENT_BESPOKE | ELEMENT_DETACH + id_arg_index = 2 + + /// An assoc list of keys to /datum/strippable_item + var/list/items + + /// A proc path that returns TRUE/FALSE if we should show the strip panel for this entity. + /// If it does not exist, the strip menu will always show. + /// Will be called with (mob/user). + var/should_strip_proc_path + + /// An existing strip menus + var/list/strip_menus + +/datum/element/strippable/Attach(datum/target, list/items, should_strip_proc_path) + . = ..() + if (!isatom(target)) + return ELEMENT_INCOMPATIBLE + + RegisterSignal(target, COMSIG_ATOM_DROP_ON, PROC_REF(mouse_drop_onto)) + + src.items = items + src.should_strip_proc_path = should_strip_proc_path + +/datum/element/strippable/Detach(datum/source, force) + . = ..() + + UnregisterSignal(source, COMSIG_ATOM_DROP_ON) + + if (!isnull(strip_menus)) + QDEL_NULL(strip_menus[source]) + +/datum/element/strippable/proc/mouse_drop_onto(datum/source, atom/over, mob/user) + SIGNAL_HANDLER + if (user == source) + return + + if (over == source) + return + + var/mob/overmob = over + if (!ishuman(overmob)) + return + + if (!overmob.Adjacent(source)) + return + + if (!overmob.client) + return + + if (overmob.client != user) + return + + if (!isnull(should_strip_proc_path) && !call(source, should_strip_proc_path)(overmob)) + return + + var/datum/strip_menu/strip_menu + + if (isnull(strip_menu)) + strip_menu = new(source, src) + LAZYSET(strip_menus, source, strip_menu) + + INVOKE_ASYNC(strip_menu, PROC_REF(tgui_interact), overmob) + +/// A representation of an item that can be stripped down +/datum/strippable_item + /// The STRIPPABLE_ITEM_* key + var/key + + /// Should we warn about dangerous clothing? + var/warn_dangerous_clothing = TRUE + +/// Gets the item from the given source. +/datum/strippable_item/proc/get_item(atom/source) + +/// Tries to equip the item onto the given source. +/// Returns TRUE/FALSE depending on if it is allowed. +/// This should be used for checking if an item CAN be equipped. +/// It should not perform the equipping itself. +/datum/strippable_item/proc/try_equip(atom/source, obj/item/equipping, mob/user) + if ((equipping.flags_item & ITEM_ABSTRACT)) + return FALSE + if ((equipping.flags_item & NODROP)) + to_chat(user, SPAN_WARNING("You can't put [equipping] on [source], it's stuck to your hand!")) + return FALSE + if (ishuman(source)) + var/mob/living/carbon/human/sourcehuman = source + if(HAS_TRAIT(sourcehuman, TRAIT_UNSTRIPPABLE) && !sourcehuman.is_mob_incapacitated()) + to_chat(src, SPAN_DANGER("[sourcehuman] is too strong to force [equipping] onto them!")) + return + return TRUE + +/// Start the equipping process. This is the proc you should yield in. +/// Returns TRUE/FALSE depending on if it is allowed. +/datum/strippable_item/proc/start_equip(atom/source, obj/item/equipping, mob/user) + source.visible_message( + SPAN_NOTICE("[user] tries to put [equipping] on [source]."), + SPAN_NOTICE("[user] tries to put [equipping] on you.") + ) + + if (ismob(source)) + var/mob/sourcemob = source + sourcemob.attack_log += text("\[[time_stamp()]\] [key_name(sourcemob)] is having [equipping] put on them by [key_name(user)]") + user.attack_log += text("\[[time_stamp()]\] [key_name(user)] is putting [equipping] on [key_name(sourcemob)]") + + return TRUE + +/// The proc that places the item on the source. This should not yield. +/datum/strippable_item/proc/finish_equip(atom/source, obj/item/equipping, mob/user) + SHOULD_NOT_SLEEP(TRUE) + +/// Tries to unequip the item from the given source. +/// Returns TRUE/FALSE depending on if it is allowed. +/// This should be used for checking if it CAN be unequipped. +/// It should not perform the unequipping itself. +/datum/strippable_item/proc/try_unequip(atom/source, mob/user) + SHOULD_NOT_SLEEP(TRUE) + + var/obj/item/item = get_item(source) + if (isnull(item)) + return FALSE + + if (user.action_busy && !skillcheck(user, SKILL_POLICE, SKILL_POLICE_SKILLED)) + to_chat(user, SPAN_WARNING("You can't do this right now.")) + return FALSE + + if ((item.flags_inventory & CANTSTRIP) || ((item.flags_item & NODROP) && !(item.flags_item & FORCEDROP_CONDITIONAL)) || (item.flags_item & ITEM_ABSTRACT)) + return FALSE + + if (ishuman(source)) + var/mob/living/carbon/human/sourcehuman = source + if(MODE_HAS_TOGGLEABLE_FLAG(MODE_NO_STRIPDRAG_ENEMY) && (sourcehuman.stat == DEAD || sourcehuman.health < HEALTH_THRESHOLD_CRIT) && !sourcehuman.get_target_lock(user.faction_group)) + to_chat(user, SPAN_WARNING("You can't strip items of a crit or dead member of another faction!")) + return FALSE + + if(HAS_TRAIT(sourcehuman, TRAIT_UNSTRIPPABLE) && !sourcehuman.is_mob_incapacitated()) + to_chat(src, SPAN_DANGER("[sourcehuman] has an unbreakable grip on their equipment!")) + return + + return TRUE + +/// Start the unequipping process. This is the proc you should yield in. +/// Returns TRUE/FALSE depending on if it is allowed. +/datum/strippable_item/proc/start_unequip(atom/source, mob/user) + var/obj/item/item = get_item(source) + if (isnull(item)) + return FALSE + + source.visible_message( + SPAN_WARNING("[user] tries to remove [source]'s [item]."), + SPAN_DANGER("[user] tries to remove your [item].") + ) + + if (ismob(source)) + var/mob/sourcemob = source + sourcemob.attack_log += text("\[[time_stamp()]\] [key_name(sourcemob)] is being stripped of [item] by [key_name(user)]") + user.attack_log += text("\[[time_stamp()]\] [key_name(user)] is stripping [key_name(sourcemob)] of [item]") + + item.add_fingerprint(user) + + return TRUE + +/// The proc that unequips the item from the source. This should not yield. +/datum/strippable_item/proc/finish_unequip(atom/source, mob/user) + +/// Returns a STRIPPABLE_OBSCURING_* define to report on whether or not this is obscured. +/datum/strippable_item/proc/get_obscuring(atom/source) + SHOULD_NOT_SLEEP(TRUE) + return STRIPPABLE_OBSCURING_NONE + +/// Returns the ID of this item's strippable action. +/// Return `null` if there is no alternate action. +/// Any return value of this must be in StripMenu. +/datum/strippable_item/proc/get_alternate_action(atom/source, mob/user) + return null + +/// Performs an alternative action on this strippable_item. +/// `has_alternate_action` needs to be TRUE. +/datum/strippable_item/proc/alternate_action(atom/source, mob/user) + +/// Returns whether or not this item should show. +/datum/strippable_item/proc/should_show(atom/source, mob/user) + return TRUE + +/// A preset for equipping items onto mob slots +/datum/strippable_item/mob_item_slot + /// The ITEM_SLOT_* to equip to. + var/item_slot + +/datum/strippable_item/proc/has_no_item_alt_action() + return FALSE + +/datum/strippable_item/mob_item_slot/get_item(atom/source) + if (!ismob(source)) + return null + + var/mob/mob_source = source + return mob_source.get_item_by_slot(key) + +/datum/strippable_item/mob_item_slot/try_equip(atom/source, obj/item/equipping, mob/user) + . = ..() + if (!.) + return + + if (!ismob(source)) + return FALSE + if (user.action_busy) + to_chat(user, SPAN_WARNING("You can't do this right now.")) + return FALSE + if (!equipping.mob_can_equip( + source, + key + )) + to_chat(user, SPAN_WARNING("\The [equipping] doesn't fit in that place!")) + return FALSE + if(equipping.flags_item & WIELDED) + equipping.unwield(user) + return TRUE + +/datum/strippable_item/mob_item_slot/start_equip(atom/source, obj/item/equipping, mob/user) + . = ..() + if (!.) + return + + if (!ismob(source)) + return FALSE + + var/time_to_strip = HUMAN_STRIP_DELAY + var/mob/sourcemob = source + + if (ishuman(sourcemob) && ishuman(user)) + var/mob/living/carbon/human/sourcehuman = sourcemob + var/mob/living/carbon/human/userhuman = user + time_to_strip = userhuman.get_strip_delay(userhuman, sourcehuman) + + if (!do_after(user, time_to_strip, INTERRUPT_ALL, BUSY_ICON_FRIENDLY, source, INTERRUPT_MOVED, BUSY_ICON_FRIENDLY)) + return FALSE + + if (!equipping.mob_can_equip( + sourcemob, + key + )) + return FALSE + + if (!user.temp_drop_inv_item(equipping)) + return FALSE + + return TRUE + +/datum/strippable_item/mob_item_slot/finish_equip(atom/source, obj/item/equipping, mob/user) + if (!ismob(source)) + return FALSE + + var/mob/sourcemob = source + sourcemob.equip_to_slot_if_possible(equipping, key) + +/datum/strippable_item/mob_item_slot/get_obscuring(atom/source) + return FALSE + +/datum/strippable_item/mob_item_slot/start_unequip(atom/source, mob/user) + . = ..() + if (!.) + return + + return start_unequip_mob(get_item(source), source, user) + +/datum/strippable_item/mob_item_slot/finish_unequip(atom/source, mob/user) + var/obj/item/item = get_item(source) + if (isnull(item)) + return FALSE + + if (!ismob(source)) + return FALSE + + return finish_unequip_mob(item, source, user) + +/// A utility function for `/datum/strippable_item`s to start unequipping an item from a mob. +/datum/strippable_item/mob_item_slot/proc/start_unequip_mob(obj/item/item, mob/living/carbon/human/source, mob/living/carbon/human/user) + var/time_to_strip = HUMAN_STRIP_DELAY + + if (istype(source) && istype(user)) + time_to_strip = user.get_strip_delay(user, source) + + if (!do_after(user, time_to_strip, INTERRUPT_ALL, BUSY_ICON_HOSTILE, source, INTERRUPT_MOVED, BUSY_ICON_HOSTILE)) + return FALSE + + return TRUE + +/// A utility function for `/datum/strippable_item`s to finish unequipping an item from a mob. +/datum/strippable_item/mob_item_slot/proc/finish_unequip_mob(obj/item/item, mob/source, mob/user) + if (!source.drop_inv_item_on_ground(item, force = (item.flags_item & FORCEDROP_CONDITIONAL))) //force if we can drop the item in this case + return FALSE + + if (ismob(source)) + var/mob/sourcemob = source + sourcemob.attack_log += text("\[[time_stamp()]\] [key_name(sourcemob)] has been stripped of [item] by [key_name(user)]") + user.attack_log += text("\[[time_stamp()]\] [key_name(user)] has been stripped of [key_name(sourcemob)] of [item]") + + // Updates speed in case stripped speed affecting item + source.recalculate_move_delay = TRUE + +/// A representation of the stripping UI +/datum/strip_menu + /// The owner who has the element /datum/element/strippable + var/atom/movable/owner + + /// The strippable element itself + var/datum/element/strippable/strippable + + /// A lazy list of user mobs to a list of strip menu keys that they're interacting with + var/list/interactions + +/datum/strip_menu/New(atom/movable/owner, datum/element/strippable/strippable) + . = ..() + src.owner = owner + src.strippable = strippable + +/datum/strip_menu/Destroy() + owner = null + strippable = null + + return ..() + +/datum/strip_menu/tgui_interact(mob/user, datum/tgui/ui) + . = ..() + ui = SStgui.try_update_ui(user, src, ui) + if (!ui) + ui = new(user, src, "StripMenu") + ui.open() + + +/datum/strip_menu/ui_assets(mob/user) + return list( + get_asset_datum(/datum/asset/simple/inventory), + ) + +/datum/strip_menu/ui_data(mob/user) + var/list/data = list() + + var/list/items = list() + + for (var/strippable_key in strippable.items) + var/datum/strippable_item/item_data = strippable.items[strippable_key] + + if (!item_data.should_show(owner, user)) + continue + + var/list/result + + if(strippable_key in LAZYACCESS(interactions, user)) + LAZYSET(result, "interacting", TRUE) + + var/obscuring = item_data.get_obscuring(owner) + if (obscuring != STRIPPABLE_OBSCURING_NONE) + LAZYSET(result, "obscured", obscuring) + items[strippable_key] = result + continue + + var/obj/item/item = item_data.get_item(owner) + if (isnull(item)) + if (item_data.has_no_item_alt_action()) + LAZYINITLIST(result) + result["no_item_action"] = item_data.get_alternate_action(owner, user) + items[strippable_key] = result + continue + + LAZYINITLIST(result) + + result["icon"] = icon2base64(icon(item.icon, item.icon_state, frame = 1)) + result["name"] = item.name + result["alternate"] = item_data.get_alternate_action(owner, user) + + items[strippable_key] = result + + data["items"] = items + + // While most `\the`s are implicit, this one is not. + // In this case, `\The` would otherwise be used. + // This doesn't match with what it's used for, which is to say "Stripping the alien drone", + // as opposed to "Stripping The alien drone". + // Human names will still show without "the", as they are proper nouns. + data["name"] = "\the [owner]" + + return data + +/datum/strip_menu/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) + . = ..() + if (.) + return + + . = TRUE + + var/mob/user = ui.user + + switch (action) + if ("equip") + var/key = params["key"] + var/datum/strippable_item/strippable_item = strippable.items[key] + + if (isnull(strippable_item)) + return + + if (!strippable_item.should_show(owner, user)) + return + + if (strippable_item.get_obscuring(owner) == STRIPPABLE_OBSCURING_COMPLETELY) + return + + var/item = strippable_item.get_item(owner) + if (!isnull(item)) + return + + var/obj/item/held_item = user.get_held_item() + if (isnull(held_item)) + return + + if (!strippable_item.try_equip(owner, held_item, user)) + return + + LAZYORASSOCLIST(interactions, user, key) + + // Yielding call + var/should_finish = strippable_item.start_equip(owner, held_item, user) + + LAZYREMOVEASSOC(interactions, user, key) + + if (!should_finish) + return + + if (QDELETED(src) || QDELETED(owner)) + return + + // They equipped an item in the meantime + if (!isnull(strippable_item.get_item(owner))) + return + + if (!user.Adjacent(owner)) + return + + strippable_item.finish_equip(owner, held_item, user) + if ("strip") + var/key = params["key"] + var/datum/strippable_item/strippable_item = strippable.items[key] + + if (isnull(strippable_item)) + return + + if (!strippable_item.should_show(owner, user)) + return + + if (strippable_item.get_obscuring(owner) == STRIPPABLE_OBSCURING_COMPLETELY) + return + + var/item = strippable_item.get_item(owner) + if (isnull(item)) + return + + if (!strippable_item.try_unequip(owner, user)) + return + + LAZYORASSOCLIST(interactions, user, key) + + var/should_unequip = strippable_item.start_unequip(owner, user) + + LAZYREMOVEASSOC(interactions, user, key) + + // Yielding call + if (!should_unequip) + return + + if (QDELETED(src) || QDELETED(owner)) + return + + // They changed the item in the meantime + if (strippable_item.get_item(owner) != item) + return + + if (!user.Adjacent(owner)) + return + + strippable_item.finish_unequip(owner, user) + if ("alt") + var/key = params["key"] + var/datum/strippable_item/strippable_item = strippable.items[key] + + if (isnull(strippable_item)) + return + + if (!strippable_item.should_show(owner, user)) + return + + if (strippable_item.get_obscuring(owner) == STRIPPABLE_OBSCURING_COMPLETELY) + return + + var/item = strippable_item.get_item(owner) + if (isnull(item) && !strippable_item.has_no_item_alt_action()) + return + + if (isnull(strippable_item.get_alternate_action(owner, user))) + return + + LAZYORASSOCLIST(interactions, user, key) + + // Potentially yielding + strippable_item.alternate_action(owner, user) + + LAZYREMOVEASSOC(interactions, user, key) + +/datum/strip_menu/ui_host(mob/user) + return owner + +/datum/strip_menu/ui_status(mob/user, datum/ui_state/state) + . = ..() + + if (isliving(user)) + var/mob/living/living_user = user + + if ( + . == UI_UPDATE \ + && user.stat == CONSCIOUS \ + && living_user.body_position == LYING_DOWN \ + && user.Adjacent(owner) + ) + return UI_INTERACTIVE + +/// Creates an assoc list of keys to /datum/strippable_item +/proc/create_strippable_list(types) + var/list/strippable_items = list() + + for (var/strippable_type in types) + var/datum/strippable_item/strippable_item = new strippable_type + strippable_items[strippable_item.key] = strippable_item + + return strippable_items diff --git a/code/game/area/Sulaco.dm b/code/game/area/Sulaco.dm index d498be21db..a327707541 100644 --- a/code/game/area/Sulaco.dm +++ b/code/game/area/Sulaco.dm @@ -150,6 +150,47 @@ return TRUE +/area/shuttle/tornado + name = "command dropship Tornado" + icon_state = "shuttlered" + base_muffle = MUFFLE_HIGH + soundscape_interval = 30 + is_landing_zone = TRUE + ceiling = CEILING_REINFORCED_METAL + +/area/shuttle/tornado/Enter(atom/movable/O, atom/oldloc) + if(istype(O, /obj/structure/barricade)) + return FALSE + return TRUE + +/area/shuttle/typhoon + name = "heavy-lift dropship Typhoon" + icon_state = "shuttlered" + base_muffle = MUFFLE_HIGH + soundscape_interval = 30 + is_landing_zone = TRUE + ceiling = CEILING_REINFORCED_METAL + +/area/shuttle/typhoon/Enter(atom/movable/O, atom/oldloc) + if(istype(O, /obj/structure/barricade)) + return FALSE + return TRUE + +/area/shuttle/tripoli + name = "dropship Tripoli" + icon_state = "shuttlered" + base_muffle = MUFFLE_HIGH + soundscape_interval = 30 + is_landing_zone = TRUE + ceiling = CEILING_REINFORCED_METAL + +/area/shuttle/tripoli/Enter(atom/movable/O, atom/oldloc) + if(istype(O, /obj/structure/barricade)) + return FALSE + return TRUE + + + //DISTRESS SHUTTLES /area/shuttle/distress diff --git a/code/game/machinery/camera/presets.dm b/code/game/machinery/camera/presets.dm index fc23282581..7af666884b 100644 --- a/code/game/machinery/camera/presets.dm +++ b/code/game/machinery/camera/presets.dm @@ -120,6 +120,18 @@ /obj/structure/machinery/camera/autoname/golden_arrow/midway network = list(CAMERA_NET_GOLDEN_ARROW, CAMERA_NET_MIDWAY) +/obj/structure/machinery/camera/autoname/golden_arrow/cyclone + network = list(CAMERA_NET_GOLDEN_ARROW, CAMERA_NET_CYCLONE) + +/obj/structure/machinery/camera/autoname/golden_arrow/tornado + network = list(CAMERA_NET_GOLDEN_ARROW, CAMERA_NET_TORNADO) + +/obj/structure/machinery/camera/autoname/golden_arrow/typhoon + network = list(CAMERA_NET_GOLDEN_ARROW, CAMERA_NET_TYPHOON) + +/obj/structure/machinery/camera/autoname/golden_arrow/tripoli + network = list(CAMERA_NET_GOLDEN_ARROW, CAMERA_NET_TRIPOLI) + //used by the landing camera dropship equipment. Do not place them right under where the dropship lands. //Should place them near each corner of your LZs. /obj/structure/machinery/camera/autoname/lz_camera diff --git a/code/game/machinery/computer/camera_console.dm b/code/game/machinery/computer/camera_console.dm index a1ea4f9f87..7f60e85919 100644 --- a/code/game/machinery/computer/camera_console.dm +++ b/code/game/machinery/computer/camera_console.dm @@ -313,4 +313,20 @@ name = "\improper 'Midway' camera controls" network = list(CAMERA_NET_MIDWAY, CAMERA_NET_LASER_TARGETS) +/obj/structure/machinery/computer/cameras/dropship/cyclone + name = "\improper 'Cyclone' camera controls" + network = list(CAMERA_NET_CYCLONE, CAMERA_NET_LASER_TARGETS) + +/obj/structure/machinery/computer/cameras/dropship/tornado + name = "\improper 'Tornado' camera controls" + network = list(CAMERA_NET_TORNADO, CAMERA_NET_LASER_TARGETS) + +/obj/structure/machinery/computer/cameras/dropship/typhoon + name = "\improper 'Typhoon' camera controls" + network = list(CAMERA_NET_TYPHOON, CAMERA_NET_LASER_TARGETS) + +/obj/structure/machinery/computer/cameras/dropship/tripoli + name = "\improper 'Tripoli' camera controls" + network = list(CAMERA_NET_TRIPOLI, CAMERA_NET_LASER_TARGETS) + #undef DEFAULT_MAP_SIZE diff --git a/code/game/machinery/computer/dropship_weapons.dm b/code/game/machinery/computer/dropship_weapons.dm index 7aaf2dae49..ab77f35d26 100644 --- a/code/game/machinery/computer/dropship_weapons.dm +++ b/code/game/machinery/computer/dropship_weapons.dm @@ -896,6 +896,63 @@ firemission_envelope = new /datum/cas_fire_envelope/uscm_dropship() shuttle_tag = DROPSHIP_MIDWAY +/obj/structure/machinery/computer/dropship_weapons/midway/small + icon = 'icons/obj/structures/machinery/computer.dmi' + icon_state = "cameras" + density = FALSE + +/obj/structure/machinery/computer/dropship_weapons/cyclone + name = "\improper 'Cyclone' weapons controls" + req_one_access = list(ACCESS_MARINE_LEADER, ACCESS_MARINE_DROPSHIP, ACCESS_WY_FLIGHT) + firemission_envelope = new /datum/cas_fire_envelope/uscm_dropship() + shuttle_tag = DROPSHIP_CYCLONE + +/obj/structure/machinery/computer/dropship_weapons/cyclone/small + icon = 'icons/obj/structures/machinery/computer.dmi' + icon_state = "cameras" + density = FALSE + +/obj/structure/machinery/computer/dropship_weapons/tornado + name = "\improper 'Tornado' weapons controls" + req_one_access = list(ACCESS_MARINE_LEADER, ACCESS_MARINE_DROPSHIP, ACCESS_WY_FLIGHT) + firemission_envelope = new /datum/cas_fire_envelope/uscm_dropship() + shuttle_tag = DROPSHIP_TORNADO + +/obj/structure/machinery/computer/dropship_weapons/tornado/small + icon = 'icons/obj/structures/machinery/computer.dmi' + icon_state = "cameras" + density = FALSE + +/obj/structure/machinery/computer/dropship_weapons/typhoon + name = "\improper 'Typhoon' weapons controls" + req_one_access = list(ACCESS_MARINE_LEADER, ACCESS_MARINE_DROPSHIP, ACCESS_WY_FLIGHT) + firemission_envelope = new /datum/cas_fire_envelope/uscm_dropship() + shuttle_tag = DROPSHIP_TYPHOON + +/obj/structure/machinery/computer/dropship_weapons/typhoon/small + icon = 'icons/obj/structures/machinery/computer.dmi' + icon_state = "cameras" + density = FALSE + +/obj/structure/machinery/computer/dropship_weapons/tripoli + name = "\improper 'Tripoli' weapons controls" + req_one_access = list(ACCESS_MARINE_LEADER, ACCESS_MARINE_DROPSHIP, ACCESS_WY_FLIGHT) + firemission_envelope = new /datum/cas_fire_envelope/uscm_dropship() + shuttle_tag = DROPSHIP_TRIPOLI + +/obj/structure/machinery/computer/dropship_weapons/tripoli/small + icon = 'icons/obj/structures/machinery/computer.dmi' + icon_state = "cameras" + density = FALSE + +/obj/structure/machinery/computer/dropship_weapons/dropship1 + name = "\improper 'Alamo' weapons controls" + shuttle_tag = DROPSHIP_ALAMO + +/obj/structure/machinery/computer/dropship_weapons/dropship2 + name = "\improper 'Normandy' weapons controls" + shuttle_tag = DROPSHIP_NORMANDY + /obj/structure/machinery/computer/dropship_weapons/Destroy() . = ..() QDEL_NULL(firemission_envelope) diff --git a/code/game/machinery/doors/airlock_types.dm b/code/game/machinery/doors/airlock_types.dm index e571b0f30c..968ef59ef3 100644 --- a/code/game/machinery/doors/airlock_types.dm +++ b/code/game/machinery/doors/airlock_types.dm @@ -905,6 +905,9 @@ /obj/structure/machinery/door/airlock/hatch/cockpit/two icon = 'icons/obj/structures/doors/dropship2_pilot.dmi' +/obj/structure/machinery/door/airlock/hatch/cockpit/four + icon = 'icons/obj/structures/doors/dropship4_pilot.dmi' + /obj/structure/machinery/door/airlock/hatch/cockpit/upp icon = 'icons/obj/structures/doors/dropshipupp_pilot.dmi' diff --git a/code/game/machinery/doors/multi_tile.dm b/code/game/machinery/doors/multi_tile.dm index 0712d61f56..3d993ff637 100644 --- a/code/game/machinery/doors/multi_tile.dm +++ b/code/game/machinery/doors/multi_tile.dm @@ -329,6 +329,10 @@ name = "\improper Normandy cargo door" icon = 'icons/obj/structures/doors/dropship2_cargo.dmi' +/obj/structure/machinery/door/airlock/multi_tile/almayer/dropshiprear/ds4 + name = "\improper Midway cargo door" + icon = 'icons/obj/structures/doors/dropship4_cargo.dmi' + /obj/structure/machinery/door/airlock/multi_tile/almayer/dropshiprear/dropshipside width = 2 diff --git a/code/game/machinery/vending/vendor_types/squad_prep/squad_prep.dm b/code/game/machinery/vending/vendor_types/squad_prep/squad_prep.dm index 7ba67133b5..327af25c33 100644 --- a/code/game/machinery/vending/vendor_types/squad_prep/squad_prep.dm +++ b/code/game/machinery/vending/vendor_types/squad_prep/squad_prep.dm @@ -98,7 +98,6 @@ list("USCM Technician Backpack", round(scale * 15), /obj/item/storage/backpack/marine/tech, VENDOR_ITEM_REGULAR), list("USCM Satchel", round(scale * 15), /obj/item/storage/backpack/marine/satchel, VENDOR_ITEM_REGULAR), list("Technician Chestrig", round(scale * 15), /obj/item/storage/backpack/marine/satchel/tech, VENDOR_ITEM_REGULAR), - list("Shotgun Scabbard", round(scale * 5), /obj/item/storage/large_holster/m37, VENDOR_ITEM_REGULAR), list("RESTRICTED BACKPACKS", -1, null, null), list("Radio Telephone Backpack", round(max(1,(scale * 0.5))), /obj/item/storage/backpack/marine/satchel/rto, VENDOR_ITEM_REGULAR), @@ -117,7 +116,6 @@ list("First-Aid Pouch (Injectors)", round(scale * 15), /obj/item/storage/pouch/firstaid/full, VENDOR_ITEM_REGULAR), list("Flare Pouch (Full)", round(scale * 15), /obj/item/storage/pouch/flare/full, VENDOR_ITEM_REGULAR), list("Magazine Pouch", round(scale * 15), /obj/item/storage/pouch/magazine, VENDOR_ITEM_REGULAR), - list("Shotgun Shell Pouch", round(scale * 15), /obj/item/storage/pouch/shotgun, VENDOR_ITEM_REGULAR), list("Medium General Pouch", round(scale * 15), /obj/item/storage/pouch/general/medium, VENDOR_ITEM_REGULAR), list("Pistol Magazine Pouch", round(scale * 15), /obj/item/storage/pouch/magazine/pistol, VENDOR_ITEM_REGULAR), list("Pistol Pouch", round(scale * 15), /obj/item/storage/pouch/pistol, VENDOR_ITEM_REGULAR), @@ -131,7 +129,9 @@ list("Sling Pouch", round(scale * 1.25), /obj/item/storage/pouch/sling, VENDOR_ITEM_REGULAR), list("MASK", -1, null, null, null), - list("Gas Mask", round(scale * 15), /obj/item/clothing/mask/gas, VENDOR_ITEM_REGULAR), + list("M5 Standalone Gas Mask", round(scale * 15), /obj/item/clothing/mask/gas/m5, VENDOR_ITEM_REGULAR), + list("M5 Integrated Gas Mask", round(scale * 10), /obj/item/prop/helmetgarb/helmet_gasmask, VENDOR_ITEM_REGULAR), + list("Tactical Wrap", round(scale * 10), /obj/item/clothing/mask/rebreather/scarf/tacticalmask, VENDOR_ITEM_REGULAR), list("Heat Absorbent Coif", round(scale * 10), /obj/item/clothing/mask/rebreather/scarf, VENDOR_ITEM_REGULAR), list("Rebreather", round(scale * 10), /obj/item/clothing/mask/rebreather, MARINE_CAN_BUY_MASK, VENDOR_ITEM_REGULAR), @@ -215,18 +215,14 @@ list("Sling Pouch", round(scale * 1.25), /obj/item/storage/pouch/sling, VENDOR_ITEM_REGULAR), list("MASK", -1, null, null, null), - list("Gas Mask", round(scale * 15), /obj/item/clothing/mask/gas, VENDOR_ITEM_REGULAR), + list("PMK-63 Gas Mask", round(scale * 15), /obj/item/clothing/mask/gas/upp, VENDOR_ITEM_REGULAR), + list("PMK-63N Integrated Gas Mask", round(scale * 10), /obj/item/prop/helmetgarb/helmet_gasmask/upp, VENDOR_ITEM_REGULAR), list("Heat Absorbent Coif", round(scale * 10), /obj/item/clothing/mask/rebreather/scarf/tan, VENDOR_ITEM_REGULAR), list("Rebreather", round(scale * 10), /obj/item/clothing/mask/rebreather, MARINE_CAN_BUY_MASK, VENDOR_ITEM_REGULAR), list("MISCELLANEOUS", -1, null, null, null), list("Ballistic goggles", round(scale * 10), /obj/item/clothing/glasses/mgoggles, VENDOR_ITEM_REGULAR), - list("M1A1 Ballistic goggles", round(scale * 10), /obj/item/clothing/glasses/mgoggles/v2, VENDOR_ITEM_REGULAR), list("Prescription ballistic goggles", round(scale * 10), /obj/item/clothing/glasses/mgoggles/prescription, VENDOR_ITEM_REGULAR), - list("Marine RPG glasses", round(scale * 10), /obj/item/clothing/glasses/regular, VENDOR_ITEM_REGULAR), - list("M5 Integrated Gas Mask", round(scale * 10), /obj/item/prop/helmetgarb/helmet_gasmask, VENDOR_ITEM_REGULAR), - list("M10 Helmet Netting", round(scale * 10), /obj/item/prop/helmetgarb/netting, VENDOR_ITEM_REGULAR), - list("M10 Helmet Rain Cover", round(scale * 10), /obj/item/prop/helmetgarb/raincover, VENDOR_ITEM_REGULAR), list("Firearm Lubricant", round(scale * 15), /obj/item/prop/helmetgarb/gunoil, VENDOR_ITEM_REGULAR), list("UPP Airborne Reconnaissance Shoulder Patch", round(scale * 15), /obj/item/clothing/accessory/patch/upp/platoon, VENDOR_ITEM_REGULAR), list("UPPA Shoulder Patch", round(scale * 15), /obj/item/clothing/accessory/patch/upp, VENDOR_ITEM_REGULAR), @@ -259,7 +255,6 @@ list("BACKPACK", -1, null, null, null), list("Lightweight IMP Backpack", round(scale * 15), /obj/item/storage/backpack/marine/standard, VENDOR_ITEM_REGULAR), list("USCM Satchel", round(scale * 15), /obj/item/storage/backpack/marine/satchel, VENDOR_ITEM_REGULAR), - list("Shotgun Scabbard", round(scale * 5), /obj/item/storage/large_holster/m37/standard, VENDOR_ITEM_REGULAR), list("BELTS", -1, null, null), list("M276 Pattern Ammo Load Rig", round(scale * 15), /obj/item/storage/belt/marine/standard, VENDOR_ITEM_REGULAR), @@ -275,7 +270,6 @@ list("First-Aid Pouch (Injectors)", round(scale * 15), /obj/item/storage/pouch/firstaid/full, VENDOR_ITEM_REGULAR), list("Flare Pouch (Full)", round(scale * 15), /obj/item/storage/pouch/flare/full, VENDOR_ITEM_REGULAR), list("Magazine Pouch", round(scale * 15), /obj/item/storage/pouch/magazine, VENDOR_ITEM_REGULAR), - list("Shotgun Shell Pouch", round(scale * 15), /obj/item/storage/pouch/shotgun, VENDOR_ITEM_REGULAR), list("Medium General Pouch", round(scale * 15), /obj/item/storage/pouch/general/medium, VENDOR_ITEM_REGULAR), list("Pistol Magazine Pouch", round(scale * 15), /obj/item/storage/pouch/magazine/pistol, VENDOR_ITEM_REGULAR), list("Pistol Pouch", round(scale * 15), /obj/item/storage/pouch/pistol, VENDOR_ITEM_REGULAR), @@ -289,7 +283,7 @@ list("Sling Pouch", round(scale * 1.25), /obj/item/storage/pouch/sling, VENDOR_ITEM_REGULAR), list("MASK", -1, null, null, null), - list("Gas Mask", round(scale * 15), /obj/item/clothing/mask/gas, VENDOR_ITEM_REGULAR), + list("M5 Standalone Gas Mask", round(scale * 15), /obj/item/clothing/mask/gas/m5, VENDOR_ITEM_REGULAR), list("Heat Absorbent Coif", round(scale * 10), /obj/item/clothing/mask/rebreather/scarf, VENDOR_ITEM_REGULAR), list("Rebreather", round(scale * 10), /obj/item/clothing/mask/rebreather, MARINE_CAN_BUY_MASK, VENDOR_ITEM_REGULAR), @@ -298,8 +292,6 @@ list("M1A1 Ballistic goggles", round(scale * 10), /obj/item/clothing/glasses/mgoggles/v2, VENDOR_ITEM_REGULAR), list("Prescription ballistic goggles", round(scale * 10), /obj/item/clothing/glasses/mgoggles/prescription, VENDOR_ITEM_REGULAR), list("Marine RPG glasses", round(scale * 10), /obj/item/clothing/glasses/regular, VENDOR_ITEM_REGULAR), - list("M10 Helmet Netting", round(scale * 10), /obj/item/prop/helmetgarb/netting, VENDOR_ITEM_REGULAR), - list("M10 Helmet Rain Cover", round(scale * 10), /obj/item/prop/helmetgarb/raincover, VENDOR_ITEM_REGULAR), list("Firearm Lubricant", round(scale * 15), /obj/item/prop/helmetgarb/gunoil, VENDOR_ITEM_REGULAR), list("USCM Flair", round(scale * 15), /obj/item/prop/helmetgarb/flair_uscm, VENDOR_ITEM_REGULAR), list("FORECON Shoulder Patch", round(scale * 15), /obj/item/clothing/accessory/patch/forecon, VENDOR_ITEM_REGULAR), diff --git a/code/game/objects/effects/landmarks/item_pool.dm b/code/game/objects/effects/landmarks/item_pool.dm index e01a6bbc3f..9a39a5cf59 100644 --- a/code/game/objects/effects/landmarks/item_pool.dm +++ b/code/game/objects/effects/landmarks/item_pool.dm @@ -41,3 +41,7 @@ /obj/effect/landmark/item_pool_spawner/survivor_ammo/buckshot icon_state = "ipool_bubshot" type_to_spawn = /obj/item/ammo_magazine/shotgun/buckshot + +/obj/effect/landmark/item_pool_spawner/survivor_ammo/buckshot/upp + icon_state = "ipool_bubshot" + type_to_spawn = /obj/item/ammo_magazine/handful/shotgun/heavy/buckshot diff --git a/code/game/objects/items/misc.dm b/code/game/objects/items/misc.dm index 1bdcab2ac6..d4c9c13b58 100644 --- a/code/game/objects/items/misc.dm +++ b/code/game/objects/items/misc.dm @@ -56,13 +56,13 @@ ..() if(!gripped) user.visible_message(SPAN_NOTICE("[user] grips [src] tightly."), SPAN_NOTICE("You grip [src] tightly.")) - flags_item |= NODROP + flags_item |= NODROP|FORCEDROP_CONDITIONAL ADD_TRAIT(user, TRAIT_HOLDS_CANE, TRAIT_SOURCE_ITEM) user.AddComponent(/datum/component/footstep, 6, 35, 4, 1, "cane_step") gripped = TRUE else user.visible_message(SPAN_NOTICE("[user] loosens \his grip on [src]."), SPAN_NOTICE("You loosen your grip on [src].")) - flags_item &= ~NODROP + flags_item &= ~(NODROP|FORCEDROP_CONDITIONAL) REMOVE_TRAIT(user, TRAIT_HOLDS_CANE, TRAIT_SOURCE_ITEM) // Ideally, this would be something like a component added onto every mob that prioritizes certain sounds, such as stomping over canes. var/component = user.GetComponent(/datum/component/footstep) @@ -315,7 +315,7 @@ name = "dual purpose rappel-fulton harness" desc = "A fulton Surface To Air Recovery System (STARS). Special latch/hook assembly allows for aircraft on flyby equipped with a rappel system to pick up the attached item or person. The complex assembly of venlar rigging and secured buckles takes some time to set up though." icon_state = "rappel_harness_adv" - var/shuttle_id = DROPSHIP_MIDWAY + var/shuttle_id actions_types = list(/datum/action/item_action/STARS) /obj/item/rappel_harness/extract/proc/try_extract(mob/living/carbon/human/user) @@ -403,3 +403,24 @@ return harness.try_extract(H) + +/obj/item/rappel_harness/extract/midway + shuttle_id = DROPSHIP_MIDWAY + +/obj/item/rappel_harness/extract/cyclone + shuttle_id = DROPSHIP_CYCLONE + +/obj/item/rappel_harness/extract/typhoon + shuttle_id = DROPSHIP_TYPHOON + +/obj/item/rappel_harness/extract/tornado + shuttle_id = DROPSHIP_TORNADO + +/obj/item/rappel_harness/extract/tripoli + shuttle_id = DROPSHIP_TRIPOLI + +/obj/item/rappel_harness/extract/alamo + shuttle_id = DROPSHIP_ALAMO + +/obj/item/rappel_harness/extract/normandy + shuttle_id = DROPSHIP_NORMANDY diff --git a/code/game/objects/items/props/helmetgarb.dm b/code/game/objects/items/props/helmetgarb.dm index ce63aaa13a..2c83f5beee 100644 --- a/code/game/objects/items/props/helmetgarb.dm +++ b/code/game/objects/items/props/helmetgarb.dm @@ -493,7 +493,7 @@ /obj/item/prop/helmetgarb/helmet_gasmask name = "\improper M5 integrated gasmask" - desc = "The USCM had its funding pulled for these when it became apparent that not every deployed enlisted was wearing a helmet 24/7; much to the bafflement of UA High Command." + desc = "The standard service gas mask of the USCM as part of a modernization program meant to replace the need for MOPP gear. While the program failed, these rarely do." icon_state = "helmet_gasmask" /obj/item/prop/helmetgarb/helmet_gasmask/on_enter_storage(obj/item/storage/internal/helmet_internal_inventory) @@ -520,6 +520,11 @@ helmet_item.flags_inventory &= ~(BLOCKGASEFFECT) helmet_item.flags_inv_hide &= ~(HIDEFACE) +/obj/item/prop/helmetgarb/helmet_gasmask/upp + name = "\improper PMK-63N integrated gasmask" + desc = "The frontline variant of the PMK-63 produced to be compatible with in service helmets." + icon_state = "helmet_uppgasmask" + /obj/item/prop/helmetgarb/trimmed_wire name = "trimmed barbed wire" desc = "It is a length of barbed wire that's had most of the sharp points filed down so that it is safe to handle." diff --git a/code/game/objects/items/reagent_containers/food/condiment.dm b/code/game/objects/items/reagent_containers/food/condiment.dm index a13489f0af..e676b310f1 100644 --- a/code/game/objects/items/reagent_containers/food/condiment.dm +++ b/code/game/objects/items/reagent_containers/food/condiment.dm @@ -86,7 +86,7 @@ to_chat(user, SPAN_NOTICE(" You transfer [trans] units of the condiment to [target].")) /obj/item/reagent_container/food/condiment/on_reagent_change() - if(icon_state == "saltshakersmall" || icon_state == "peppermillsmall" || icon_state == "hotsauce_cholula" || icon_state == "hotsauce_franks" || icon_state == "hotsauce_sriracha" || icon_state == "hotsauce_tabasco" || icon_state == "coldsauce_cole") + if(icon_state == "saltshakersmall" || icon_state == "peppermillsmall" || icon_state == "hotsauce_cholula" || icon_state == "hotsauce_franks" || icon_state == "hotsauce_sriracha" || icon_state == "hotsauce_tabasco" || icon_state == "coldsauce_cole" || icon_state == "eggpowder" || icon_state == "milkpowder" || icon_state == "bjpowder" || icon_state == "ojpowder" || icon_state == "ajpowder" || icon_state == "wjpowder" || icon_state == "gjpowder" || icon_state == "pjpowder") return if(reagents.reagent_list.len > 0) switch(reagents.get_master_reagent_id()) @@ -236,3 +236,79 @@ /obj/item/reagent_container/food/condiment/coldsauce/Initialize() . = ..() reagents.add_reagent("frostoil", 60) + +/obj/item/reagent_container/food/condiment/juice + name = "Juice Packet" + desc = "A small packet of dehydrated fruit-juice powder. Mix with water for a 'tasty' beverage. This one appears to be missing the label indicating what flavor it is however." + w_class = SIZE_TINY + icon_state = "bjpowder" + amount_per_transfer_from_this = 1 + volume = 6 + +/obj/item/reagent_container/food/condiment/juice/orange + name = "Orange Juice Packet" + desc = "A small packet of dehydrated orange-juice powder. Mix with water for a 'tasty' beverage." + icon_state = "ojpowder" + +/obj/item/reagent_container/food/condiment/juice/orange/Initialize() + . = ..() + reagents.add_reagent("dehydrated_orange_juice", 6) + +/obj/item/reagent_container/food/condiment/juice/apple + name = "Apple Juice Packet" + desc = "A small packet of dehydrated apple-juice powder. Mix with water for a 'tasty' beverage." + icon_state = "ajpowder" + +/obj/item/reagent_container/food/condiment/juice/apple/Initialize() + . = ..() + reagents.add_reagent("dehydrated_apple_juice", 6) + +/obj/item/reagent_container/food/condiment/juice/watermelon + name = "Watermelon Juice Packet" + desc = "A small packet of dehydrated watermelon-juice powder. Mix with water for a 'tasty' beverage." + icon_state = "wjpowder" + +/obj/item/reagent_container/food/condiment/juice/watermelon/Initialize() + . = ..() + reagents.add_reagent("dehydrated_watermelon_juice", 6) + +/obj/item/reagent_container/food/condiment/juice/grape + name = "Grape Juice Packet" + desc = "A small packet of dehydrated grape-juice powder. Mix with water for a 'tasty' beverage." + icon_state = "gjpowder" + +/obj/item/reagent_container/food/condiment/juice/grape/Initialize() + . = ..() + reagents.add_reagent("dehydrated_grape_juice", 6) + +/obj/item/reagent_container/food/condiment/juice/pineapple + name = "Pineapple Juice Packet" + desc = "A small packet of dehydrated pineapple-juice powder. Mix with water for a 'tasty' beverage." + icon_state = "pjpowder" + +/obj/item/reagent_container/food/condiment/juice/pineapple/Initialize() + . = ..() + reagents.add_reagent("dehydrated_pineapple_juice", 6) + +/obj/item/reagent_container/food/condiment/juice/egg + name = "Powdered Egg Packet" + desc = "A small packet of dehydrated egg-whites and egg-yolk powder. Mix with water for a passable alternative to the real deal." + icon_state = "eggpowder" + volume = 12 + w_class = SIZE_SMALL + +/obj/item/reagent_container/food/condiment/juice/egg/Initialize() + . = ..() + reagents.add_reagent("dehydrated_egg_powder", 12) + +/obj/item/reagent_container/food/condiment/juice/milk + name = "Dehydrated Milk Packet" + desc = "A small packet of dehydrated milk powder. Mix with water for a passable alternative to actual milk." + icon_state = "milkpowder" + amount_per_transfer_from_this = 1 + volume = 12 + w_class = SIZE_SMALL + +/obj/item/reagent_container/food/condiment/juice/milk/Initialize() + . = ..() + reagents.add_reagent("dehydrated_milk_powder", 12) diff --git a/code/game/objects/items/reagent_containers/food/snacks.dm b/code/game/objects/items/reagent_containers/food/snacks.dm index d27d6adb09..35f34d9d80 100644 --- a/code/game/objects/items/reagent_containers/food/snacks.dm +++ b/code/game/objects/items/reagent_containers/food/snacks.dm @@ -567,6 +567,16 @@ new newegg(loc) qdel(src) +/obj/item/reagent_container/food/snacks/egg/dried + name = "reconstituted egg" + desc = "An egg! Or it was in another life, at least. Now it's just a sad pile of goop that might work in recipes." + icon_state = "honeycomb" + filling_color = "#FDFFD1" + +/obj/item/reagent_container/food/snacks/egg/dried/Initialize() + . = ..() + reagents.add_reagent("egg", 1) + /obj/item/reagent_container/food/snacks/friedegg name = "Fried egg" desc = "A fried egg, with a touch of salt and pepper." diff --git a/code/game/objects/items/storage/boxes.dm b/code/game/objects/items/storage/boxes.dm index d544b5b281..bcfa7ba1fa 100644 --- a/code/game/objects/items/storage/boxes.dm +++ b/code/game/objects/items/storage/boxes.dm @@ -711,7 +711,7 @@ icon_state = "mealpack" w_class = SIZE_SMALL can_hold = list() - storage_slots = 7 + storage_slots = 8 max_w_class = 0 use_sound = "rip" var/isopened = 0 @@ -728,8 +728,9 @@ //1 in 3 chance of getting a fortune cookie var/cookie = rand(1,3) var/matches_type = rand(1, 5) + var/juice_type = rand(1, 5) if(cookie == 1) - storage_slots = 8 + storage_slots = 9 new /obj/item/reagent_container/food/snacks/packaged_meal(src, main) new /obj/item/reagent_container/food/snacks/packaged_meal(src, second) new /obj/item/reagent_container/food/snacks/packaged_meal(src, side) @@ -749,6 +750,17 @@ new /obj/item/storage/fancy/cigar/matchbook/wy_gold(src) if(5) new /obj/item/storage/fancy/cigar/matchbook/brown(src) + switch(juice_type) + if(1) + new /obj/item/reagent_container/food/condiment/juice/orange(src) + if(2) + new /obj/item/reagent_container/food/condiment/juice/apple(src) + if(3) + new /obj/item/reagent_container/food/condiment/juice/watermelon(src) + if(4) + new /obj/item/reagent_container/food/condiment/juice/grape(src) + if(5) + new /obj/item/reagent_container/food/condiment/juice/pineapple(src) /obj/item/storage/box/MRE/Initialize() . = ..() @@ -761,3 +773,14 @@ else if(!isopened) isopened = 1 icon_state = "mealpackopened" + +/obj/item/storage/box/powderedmilk + name = "box of powdered milk packets" + desc = "It has a weird stain on it." + +/obj/item/storage/box/powderedmilk/fill_preset_inventory() + new /obj/item/reagent_container/food/condiment/juice/milk(src) + new /obj/item/reagent_container/food/condiment/juice/milk(src) + new /obj/item/reagent_container/food/condiment/juice/milk(src) + new /obj/item/reagent_container/food/condiment/juice/milk(src) + new /obj/item/reagent_container/food/condiment/juice/milk(src) diff --git a/code/game/objects/items/weapons/twohanded.dm b/code/game/objects/items/weapons/twohanded.dm index be7571fa84..36e0ea702a 100644 --- a/code/game/objects/items/weapons/twohanded.dm +++ b/code/game/objects/items/weapons/twohanded.dm @@ -101,7 +101,7 @@ w_class = SIZE_HUGE icon_state = "offhand" name = "offhand" - flags_item = DELONDROP|TWOHANDED|WIELDED + flags_item = DELONDROP|TWOHANDED|WIELDED|CANTSTRIP /obj/item/weapon/twohanded/offhand/unwield(mob/user) if(flags_item & WIELDED) diff --git a/code/game/objects/structures/stool_bed_chair_nest/chairs.dm b/code/game/objects/structures/stool_bed_chair_nest/chairs.dm index e523906f4c..ace85b2f23 100644 --- a/code/game/objects/structures/stool_bed_chair_nest/chairs.dm +++ b/code/game/objects/structures/stool_bed_chair_nest/chairs.dm @@ -367,6 +367,13 @@ /obj/structure/bed/chair/dropship/passenger/shuttle_chair icon_state = "hotseat" +/obj/structure/bed/chair/dropship/passenger/folded + +/obj/structure/bed/chair/dropship/passenger/folded/Initialize() + . = ..() + fold_down() + + /obj/structure/bed/chair/dropship/passenger/BlockedPassDirs(atom/movable/mover, target_dir, height = 0, air_group = 0) if(chair_state == DROPSHIP_CHAIR_UNFOLDED && istype(mover, /obj/vehicle/multitile) && !is_animating) visible_message(SPAN_DANGER("[mover] slams into [src] and breaks it!")) @@ -413,7 +420,7 @@ chair_state = DROPSHIP_CHAIR_BROKEN else chair_state = DROPSHIP_CHAIR_FOLDED - addtimer(VARSET_CALLBACK(src, icon_state, "hotseat_new_folded"), 5) // animation length + addtimer(VARSET_CALLBACK(src, icon_state, "hotseat_new_folded"), 22) // animation length /obj/structure/bed/chair/dropship/passenger/shuttle_chair/fold_down(break_it = 1) if(chair_state == DROPSHIP_CHAIR_UNFOLDED) diff --git a/code/game/turfs/closed.dm b/code/game/turfs/closed.dm index 7bbcc981de..2551af068d 100644 --- a/code/game/turfs/closed.dm +++ b/code/game/turfs/closed.dm @@ -276,7 +276,7 @@ /turf/closed/shuttle/midway name = "\improper Midway" - icon = 'icons/turf/dropship.dmi' + icon = 'icons/turf/dropship4.dmi' icon_state = "1" /turf/closed/shuttle/midway/transparent @@ -290,6 +290,30 @@ /turf/closed/shuttle/cyclone/transparent opacity = FALSE +/turf/closed/shuttle/typhoon + name = "\improper Typhoon" + icon = 'icons/turf/dropship3.dmi' + icon_state = "1" + +/turf/closed/shuttle/typhoon/transparent + opacity = FALSE + +/turf/closed/shuttle/tornado + name = "\improper Tornado" + icon = 'icons/turf/dropship3.dmi' + icon_state = "1" + +/turf/closed/shuttle/tornado/transparent + opacity = FALSE + +/turf/closed/shuttle/tripoli + name = "\improper Tripoli" + icon = 'icons/turf/dropship.dmi' + icon_state = "1" + +/turf/closed/shuttle/tripoli/transparent + opacity = FALSE + /turf/closed/shuttle/twe_dropship name = "\improper UD4-UK" icon = 'icons/turf/twedropship.dmi' diff --git a/code/game/turfs/transit.dm b/code/game/turfs/transit.dm index d3bad3bf95..2e5396d0b1 100644 --- a/code/game/turfs/transit.dm +++ b/code/game/turfs/transit.dm @@ -249,6 +249,22 @@ shuttle_tag = DROPSHIP_CYCLONE dir = SOUTH +/turf/open/space/transit/dropship/tornado + shuttle_tag = DROPSHIP_TORNADO + dir = SOUTH + +/turf/open/space/transit/dropship/typhoon + shuttle_tag = DROPSHIP_TYPHOON + dir = SOUTH + +/turf/open/space/transit/dropship/tripoli + shuttle_tag = DROPSHIP_TRIPOLI + dir = SOUTH + +/turf/open/space/transit/dropship/upp + shuttle_tag = DROPSHIP_UPP + dir = SOUTH + /turf/open/space/transit/south dir = SOUTH diff --git a/code/modules/asset_cache/asset_list.dm b/code/modules/asset_cache/asset_list.dm index 8e19a19053..b887cff60c 100644 --- a/code/modules/asset_cache/asset_list.dm +++ b/code/modules/asset_cache/asset_list.dm @@ -341,3 +341,24 @@ GLOBAL_LIST_EMPTY(asset_datums) if (!item_filename) return . = list("[item_filename]" = SSassets.transport.get_asset_url(item_filename)) + +/datum/asset/simple/inventory + assets = list( + "inventory-glasses.png" = 'icons/ui_Icons/inventory/glasses.png', + "inventory-head.png" = 'icons/ui_Icons/inventory/head.png', + "inventory-neck.png" = 'icons/ui_Icons/inventory/neck.png', + "inventory-mask.png" = 'icons/ui_Icons/inventory/mask.png', + "inventory-ears.png" = 'icons/ui_Icons/inventory/ears.png', + "inventory-uniform.png" = 'icons/ui_Icons/inventory/uniform.png', + "inventory-suit.png" = 'icons/ui_Icons/inventory/suit.png', + "inventory-gloves.png" = 'icons/ui_Icons/inventory/gloves.png', + "inventory-hand_l.png" = 'icons/ui_Icons/inventory/hand_l.png', + "inventory-hand_r.png" = 'icons/ui_Icons/inventory/hand_r.png', + "inventory-shoes.png" = 'icons/ui_Icons/inventory/shoes.png', + "inventory-suit_storage.png" = 'icons/ui_Icons/inventory/suit_storage.png', + "inventory-id.png" = 'icons/ui_Icons/inventory/id.png', + "inventory-belt.png" = 'icons/ui_Icons/inventory/belt.png', + "inventory-back.png" = 'icons/ui_Icons/inventory/back.png', + "inventory-pocket.png" = 'icons/ui_Icons/inventory/pocket.png', + "inventory-collar.png" = 'icons/ui_Icons/inventory/collar.png', + ) diff --git a/code/modules/client/preferences_gear.dm b/code/modules/client/preferences_gear.dm index 2c9b5ba243..44a9a88a6b 100644 --- a/code/modules/client/preferences_gear.dm +++ b/code/modules/client/preferences_gear.dm @@ -138,6 +138,7 @@ var/global/list/gear_datums_by_name = list() /datum/gear/mask/gas display_name = "Gas mask" path = /obj/item/clothing/mask/gas + cost = 1 /datum/gear/mask/scarf_black display_name = "Scarf, black" @@ -1096,10 +1097,6 @@ var/global/list/gear_datums_by_name = list() display_name = "Solar Devils shoulder patch" path = /obj/item/clothing/accessory/patch/devils -/datum/gear/misc/patch_uscm/falcon - display_name = "Falling Falcons shoulder patch" - path = /obj/item/clothing/accessory/patch/falcon - /datum/gear/misc/family_photo display_name = "Family photo" path = /obj/item/prop/helmetgarb/family_photo diff --git a/code/modules/clothing/head/helmet.dm b/code/modules/clothing/head/helmet.dm index a2366692f9..f3519dbf00 100644 --- a/code/modules/clothing/head/helmet.dm +++ b/code/modules/clothing/head/helmet.dm @@ -294,6 +294,7 @@ GLOBAL_LIST_INIT(allowed_helmet_items, list( /obj/item/prop/helmetgarb/helmet_nvg/cosmetic = HELMET_GARB_RELAY_ICON_STATE, /obj/item/prop/helmetgarb/helmet_nvg/marsoc = HELMET_GARB_RELAY_ICON_STATE, /obj/item/prop/helmetgarb/helmet_gasmask = "helmet_gasmask", + /obj/item/prop/helmetgarb/helmet_gasmask/upp = "helmet_uppgasmask", /obj/item/prop/helmetgarb/flair_initech = "flair_initech", /obj/item/prop/helmetgarb/flair_io = "flair_io", /obj/item/prop/helmetgarb/flair_peace ="flair_peace_smiley", diff --git a/code/modules/clothing/masks/gasmask.dm b/code/modules/clothing/masks/gasmask.dm index 1b1ff8d606..a0a39f136e 100644 --- a/code/modules/clothing/masks/gasmask.dm +++ b/code/modules/clothing/masks/gasmask.dm @@ -1,7 +1,7 @@ /obj/item/clothing/mask/gas name = "gas mask" - desc = "A face-covering mask that can be connected to an air supply. Filters harmful gases from the air." + desc = "A civilian grade, face-covering mask that can be connected to an air supply. Filters harmful gases from the air." icon_state = "gas_alt" flags_inventory = COVERMOUTH | COVEREYES | ALLOWINTERNALS | BLOCKGASEFFECT | ALLOWREBREATH | ALLOWCPR flags_inv_hide = HIDEEARS|HIDEFACE|HIDELOWHAIR @@ -31,6 +31,18 @@ icon_state = "kutjevo_respirator" item_state = "kutjevo_respirator" +/obj/item/clothing/mask/gas/m5 + name = "\improper M5 standalone gasmask" + desc = "The standard service gas mask of the USCM as part of a modernization program meant to replace the need for MOPP gear. This one is the alternative variant meant for Marines not in combat kit." + icon_state = "m5_gasmask" + item_state = "m5_gasmask" + +/obj/item/clothing/mask/gas/upp + name = "\improper PMK-63 gasmask" + desc = "The Union service mask issued to backline troops not prepared for combat." + icon_state = "upp_gasmask" + item_state = "upp_gasmask" + /obj/item/clothing/mask/gas/pve_mopp name = "\improper M2 MOPP mask" desc = "The M2 MOPP mask includes a full covering cowl that securely attaches to the MOPP suit. It is capable of protecting of a variety of radiological and biological threats." diff --git a/code/modules/clothing/suits/storage.dm b/code/modules/clothing/suits/storage.dm index 0d5fc31a25..7ac0ddc018 100644 --- a/code/modules/clothing/suits/storage.dm +++ b/code/modules/clothing/suits/storage.dm @@ -10,6 +10,10 @@ pockets.max_storage_space = 4 flags_atom |= USES_HEARING +/obj/item/clothing/suit/storage/Destroy() + QDEL_NULL(pockets) + return ..() + /obj/item/clothing/suit/storage/get_pockets() if(pockets) return pockets diff --git a/code/modules/cm_marines/equipment/guncases.dm b/code/modules/cm_marines/equipment/guncases.dm index b5c29ef21b..98af79c511 100644 --- a/code/modules/cm_marines/equipment/guncases.dm +++ b/code/modules/cm_marines/equipment/guncases.dm @@ -211,10 +211,12 @@ desc = "A gun case containing the M37A2 Pump Shotgun." icon_state = "guncase_red" storage_slots = 4 - can_hold = list(/obj/item/weapon/gun/shotgun/pump, /obj/item/ammo_magazine/shotgun/buckshot, /obj/item/ammo_magazine/shotgun/flechette, /obj/item/ammo_magazine/shotgun/slugs) + can_hold = list(/obj/item/weapon/gun/shotgun/pump, /obj/item/ammo_magazine/shotgun/buckshot, /obj/item/ammo_magazine/shotgun/flechette, /obj/item/ammo_magazine/shotgun/slugs, /obj/item/storage/pouch/shotgun) /obj/item/storage/box/guncase/pumpshotgun/fill_preset_inventory() new /obj/item/weapon/gun/shotgun/pump(src) + new /obj/item/storage/pouch/shotgun(src) + new /obj/item/storage/large_holster/m37(src) for(var/i = 1 to 3) var/random_pick = rand(1, 3) switch(random_pick) @@ -231,6 +233,8 @@ /obj/item/storage/box/guncase/pumpshotgun/special/fill_preset_inventory() new /obj/item/weapon/gun/shotgun/pump/special(src) new /obj/item/ammo_magazine/shotgun/buckshot/special(src) + new /obj/item/storage/pouch/shotgun(src) + new /obj/item/storage/large_holster/m37(src) /obj/item/storage/box/guncase/mk45_automag name = "\improper MK-45 Automagnum case" diff --git a/code/modules/cm_marines/overwatch.dm b/code/modules/cm_marines/overwatch.dm index 243ecd9342..c29b4ad5b5 100644 --- a/code/modules/cm_marines/overwatch.dm +++ b/code/modules/cm_marines/overwatch.dm @@ -920,6 +920,8 @@ icon_state = "toc" bound_width = 64 bound_height = 32 + layer = ABOVE_TABLE_LAYER + density = TRUE /obj/structure/supply_drop name = "Supply Drop Pad" diff --git a/code/modules/cm_phone/phone_base.dm b/code/modules/cm_phone/phone_base.dm index 7c64fd7ee3..fb05b578a0 100644 --- a/code/modules/cm_phone/phone_base.dm +++ b/code/modules/cm_phone/phone_base.dm @@ -99,3 +99,7 @@ name = "rotary telephone" icon_state = "rotary_phone" desc = "The finger plate is a little stiff." + +/obj/structure/phone_base/toc + name = "telephone receiver" + icon = 'icons/obj/vehicles/interiors/movie.dmi' diff --git a/code/modules/cm_tech/implements/railgun.dm b/code/modules/cm_tech/implements/railgun.dm index f627894bcf..be11259026 100644 --- a/code/modules/cm_tech/implements/railgun.dm +++ b/code/modules/cm_tech/implements/railgun.dm @@ -280,7 +280,7 @@ GLOBAL_DATUM(railgun_eye_location, /datum/coords) desc = "The younger sister to the railgun, this one is way weaker, however, it fires significantly faster. The higher your altitude, the faster your reload, and slower the shots hit." max_ammo = 100 ammo = 100 - ammo_recharge_time = 1 SECONDS + ammo_recharge_time = 2 SECONDS fire_cooldown = 0.1 SECONDS ammo_delay = 3 SECONDS power = 50 @@ -293,13 +293,14 @@ GLOBAL_DATUM(railgun_eye_location, /datum/coords) desc = "An Orbital cannon with a very long recharge time. The higher your altitude, the faster your reload, and slower the shots hit." max_ammo = 1 ammo = 1 - ammo_recharge_time = 1 SECONDS + ammo_recharge_time = 5 SECONDS fire_cooldown = 10 MINUTES //So you know how long it takes betweenS ammo_delay = 30 SECONDS power = 1500 range = 15 warning_color = "#ff0000" + /obj/structure/machinery/computer/railgun/napalm name = "orbital napalm computer" desc = "An Orbital cannon with a very long recharge time. The higher your altitude, the faster your reload, and slower the shots hit." @@ -317,3 +318,11 @@ GLOBAL_DATUM(railgun_eye_location, /datum/coords) firer.images -= to_remove playsound(T, 'sound/machines/railgun/railgun_impact.ogg', sound_range = 75) INVOKE_ASYNC(GLOBAL_PROC, GLOBAL_PROC_REF(flame_radius), create_cause_data("railgun", firer.mob), 5, T, BURN_TIME_TIER_5 + 5, BURN_LEVEL_TIER_2, FLAMESHAPE_DEFAULT, FIRE_VARIANT_TYPE_B) + +/obj/structure/machinery/computer/railgun/toc + name = "railgun computer screen" + icon_state = "toc_railgun" + +/obj/structure/machinery/computer/railgun/gatling/toc + name = "gatling-gun computer screen" + icon_state = "toc_railcannon" diff --git a/code/modules/dropships/attach_points/templates.dm b/code/modules/dropships/attach_points/templates.dm index 1d0fc53d8a..d2b1f55d75 100644 --- a/code/modules/dropships/attach_points/templates.dm +++ b/code/modules/dropships/attach_points/templates.dm @@ -1,3 +1,4 @@ +// ALAMO /obj/effect/attach_point/weapon/dropship1 ship_tag = DROPSHIP_ALAMO @@ -39,6 +40,7 @@ transverse = 3 long = 0 +// NORMANDY /obj/effect/attach_point/weapon/dropship2 ship_tag = DROPSHIP_NORMANDY @@ -80,6 +82,7 @@ transverse = 3 long = 0 +// MIDWAY /obj/effect/attach_point/weapon/midway ship_tag = DROPSHIP_MIDWAY @@ -121,6 +124,176 @@ transverse = 3 long = 0 +// CYCLONE +/obj/effect/attach_point/weapon/cyclone + ship_tag = DROPSHIP_CYCLONE + +/obj/effect/attach_point/weapon/cyclone/left_wing + name = "port wing weapon attach point" + icon_state = "equip_base_l_wing" + attach_id = 1 + dir = WEST + firing_arc_min = -3 + firing_arc_max = 3 + transverse = -3 + long = 0 + +/obj/effect/attach_point/weapon/cyclone/left_fore + name = "port fore weapon attach point" + attach_id = 2 + dir = NORTH + firing_arc_min = -6 + firing_arc_max = 0 + transverse = 0 + long = 0 + +/obj/effect/attach_point/weapon/cyclone/right_fore + name = "starboard fore weapon attach point" + attach_id = 3 + dir = NORTH + firing_arc_min = 0 + firing_arc_max = 6 + transverse = 0 + long = 0 + +/obj/effect/attach_point/weapon/cyclone/right_wing + name = "starboard wing weapon attach point" + icon_state = "equip_base_r_wing"; + attach_id = 4 + dir = EAST + firing_arc_min = -3 + firing_arc_max = 3 + transverse = 3 + long = 0 + +// TORNADO +/obj/effect/attach_point/weapon/tornado + ship_tag = DROPSHIP_TORNADO + +/obj/effect/attach_point/weapon/tornado/left_wing + name = "port wing weapon attach point" + icon_state = "equip_base_l_wing" + attach_id = 1 + dir = WEST + firing_arc_min = -3 + firing_arc_max = 3 + transverse = -3 + long = 0 + +/obj/effect/attach_point/weapon/tornado/left_fore + name = "port fore weapon attach point" + attach_id = 2 + dir = NORTH + firing_arc_min = -6 + firing_arc_max = 0 + transverse = 0 + long = 0 + +/obj/effect/attach_point/weapon/tornado/right_fore + name = "starboard fore weapon attach point" + attach_id = 3 + dir = NORTH + firing_arc_min = 0 + firing_arc_max = 6 + transverse = 0 + long = 0 + +/obj/effect/attach_point/weapon/tornado/right_wing + name = "starboard wing weapon attach point" + icon_state = "equip_base_r_wing"; + attach_id = 4 + dir = EAST + firing_arc_min = -3 + firing_arc_max = 3 + transverse = 3 + long = 0 + +// TYPHOON +/obj/effect/attach_point/weapon/typhoon + ship_tag = DROPSHIP_TYPHOON + +/obj/effect/attach_point/weapon/typhoon/left_wing + name = "port wing weapon attach point" + icon_state = "equip_base_l_wing" + attach_id = 1 + dir = WEST + firing_arc_min = -3 + firing_arc_max = 3 + transverse = -3 + long = 0 + +/obj/effect/attach_point/weapon/typhoon/left_fore + name = "port fore weapon attach point" + attach_id = 2 + dir = NORTH + firing_arc_min = -6 + firing_arc_max = 0 + transverse = 0 + long = 0 + +/obj/effect/attach_point/weapon/typhoon/right_fore + name = "starboard fore weapon attach point" + attach_id = 3 + dir = NORTH + firing_arc_min = 0 + firing_arc_max = 6 + transverse = 0 + long = 0 + +/obj/effect/attach_point/weapon/typhoon/right_wing + name = "starboard wing weapon attach point" + icon_state = "equip_base_r_wing"; + attach_id = 4 + dir = EAST + firing_arc_min = -3 + firing_arc_max = 3 + transverse = 3 + long = 0 + +// TORNADO +/obj/effect/attach_point/weapon/tripoli + ship_tag = DROPSHIP_TRIPOLI + +/obj/effect/attach_point/weapon/tripoli/left_wing + name = "port wing weapon attach point" + icon_state = "equip_base_l_wing" + attach_id = 1 + dir = WEST + firing_arc_min = -3 + firing_arc_max = 3 + transverse = -3 + long = 0 + +/obj/effect/attach_point/weapon/tripoli/left_fore + name = "port fore weapon attach point" + attach_id = 2 + dir = NORTH + firing_arc_min = -6 + firing_arc_max = 0 + transverse = 0 + long = 0 + +/obj/effect/attach_point/weapon/tripoli/right_fore + name = "starboard fore weapon attach point" + attach_id = 3 + dir = NORTH + firing_arc_min = 0 + firing_arc_max = 6 + transverse = 0 + long = 0 + +/obj/effect/attach_point/weapon/tripoli/right_wing + name = "starboard wing weapon attach point" + icon_state = "equip_base_r_wing"; + attach_id = 4 + dir = EAST + firing_arc_min = -3 + firing_arc_max = 3 + transverse = 3 + long = 0 + +//attach points + /obj/effect/attach_point/crew_weapon name = "crew compartment attach point" base_category = DROPSHIP_CREW_WEAPON @@ -134,6 +307,18 @@ /obj/effect/attach_point/crew_weapon/midway ship_tag = DROPSHIP_MIDWAY +/obj/effect/attach_point/crew_weapon/cyclone + ship_tag = DROPSHIP_CYCLONE + +/obj/effect/attach_point/crew_weapon/tornado + ship_tag = DROPSHIP_TORNADO + +/obj/effect/attach_point/crew_weapon/typhoon + ship_tag = DROPSHIP_TYPHOON + +/obj/effect/attach_point/crew_weapon/tripoli + ship_tag = DROPSHIP_TRIPOLI + /obj/effect/attach_point/electronics name = "electronic system attach point" base_category = DROPSHIP_ELECTRONICS @@ -149,6 +334,17 @@ /obj/effect/attach_point/electronics/midway ship_tag = DROPSHIP_MIDWAY +/obj/effect/attach_point/electronics/cyclone + ship_tag = DROPSHIP_CYCLONE + +/obj/effect/attach_point/electronics/tornado + ship_tag = DROPSHIP_TORNADO + +/obj/effect/attach_point/electronics/typhoon + ship_tag = DROPSHIP_TYPHOON + +/obj/effect/attach_point/electronics/tripoli + ship_tag = DROPSHIP_TRIPOLI /obj/effect/attach_point/fuel name = "engine system attach point" icon = 'icons/obj/structures/props/almayer_props64.dmi' @@ -164,6 +360,18 @@ /obj/effect/attach_point/fuel/midway ship_tag = DROPSHIP_MIDWAY +/obj/effect/attach_point/fuel/cyclone + ship_tag = DROPSHIP_CYCLONE + +/obj/effect/attach_point/fuel/tornado + ship_tag = DROPSHIP_TORNADO + +/obj/effect/attach_point/fuel/typhoon + ship_tag = DROPSHIP_TYPHOON + +/obj/effect/attach_point/fuel/tripoli + ship_tag = DROPSHIP_TRIPOLI + /obj/effect/attach_point/computer base_category = DROPSHIP_COMPUTER @@ -175,3 +383,15 @@ /obj/effect/attach_point/computer/midway ship_tag = DROPSHIP_MIDWAY + +/obj/effect/attach_point/computer/cyclone + ship_tag = DROPSHIP_CYCLONE + +/obj/effect/attach_point/computer/tornado + ship_tag = DROPSHIP_TORNADO + +/obj/effect/attach_point/computer/typhoon + ship_tag = DROPSHIP_TYPHOON + +/obj/effect/attach_point/computer/tripoli + ship_tag = DROPSHIP_TYPHOON diff --git a/code/modules/mob/living/carbon/carbon.dm b/code/modules/mob/living/carbon/carbon.dm index 4ea2f35aa6..2a419eddf1 100644 --- a/code/modules/mob/living/carbon/carbon.dm +++ b/code/modules/mob/living/carbon/carbon.dm @@ -399,23 +399,6 @@ bodytemperature = max(bodytemperature, BODYTEMP_HEAT_DAMAGE_LIMIT+10) recalculate_move_delay = TRUE - -/mob/living/carbon/show_inv(mob/living/carbon/user as mob) - user.set_interaction(src) - var/dat = {" -
[name]
-

-
Head(Mask): [(wear_mask ? wear_mask : "Nothing")] -
Left Hand: [(l_hand ? l_hand : "Nothing")] -
Right Hand: [(r_hand ? r_hand : "Nothing")] -
Back: [(back ? back : "Nothing")] [((istype(wear_mask, /obj/item/clothing/mask) && istype(back, /obj/item/tank) && !( internal )) ? " Set Internal" : "")] -
[(handcuffed ? "Handcuffed" : "Not Handcuffed")] -
[(internal ? "Remove Internal" : "")] -
Refresh -
Close -
"} - show_browser(user, dat, name, "mob[name]") - /** * Called by [/mob/dead/observer/proc/do_observe] when a carbon mob is observed by a ghost with [/datum/preferences/var/auto_observe] enabled. * diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index 350bcec3e8..c394431c72 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -13,7 +13,7 @@ create_reagents(1000) if(!real_name || !name) change_real_name(src, "unknown") - + AddElement(/datum/element/strippable, GLOB.strippable_human_items, TYPE_PROC_REF(/mob/living/carbon/human, should_strip)) . = ..() prev_gender = gender // Debug for plural genders @@ -270,49 +270,6 @@ return TRUE return FALSE - - -/mob/living/carbon/human/show_inv(mob/living/user) - if(ismaintdrone(user)) - return - var/obj/item/clothing/under/suit = null - if(istype(w_uniform, /obj/item/clothing/under)) - suit = w_uniform - - user.set_interaction(src) - var/dat = {" -
[name]
-

-
(Exo)Suit: [(wear_suit ? wear_suit : "Nothing")] -
Suit Storage: [(s_store ? s_store : "Nothing")] [((istype(wear_mask, /obj/item/clothing/mask) && istype(s_store, /obj/item/tank) && !( internal )) ? " Set Internal" : "")] -
Back: [(back ? back : "Nothing")] [((istype(wear_mask, /obj/item/clothing/mask) && istype(back, /obj/item/tank) && !( internal )) ? " Set Internal" : "")] -
Head(Mask): [(wear_mask ? wear_mask : "Nothing")] -
Left Hand: [(l_hand ? l_hand : "Nothing")] -
Right Hand: [(r_hand ? r_hand : "Nothing")] -
Gloves: [(gloves ? gloves : "Nothing")] -
Eyes: [(glasses ? glasses : "Nothing")] -
Left Ear: [(wear_l_ear ? wear_l_ear : "Nothing")] -
Right Ear: [(wear_r_ear ? wear_r_ear : "Nothing")] -
Head: [(head ? head : "Nothing")] -
Shoes: [(shoes ? shoes : "Nothing")] -
Belt: [(belt ? belt : "Nothing")] [((istype(wear_mask, /obj/item/clothing/mask) && istype(belt, /obj/item/tank) && !internal) ? " Set Internal" : "")] -
Uniform: [(w_uniform ? w_uniform : "Nothing")] [(suit) ? ((suit.has_sensor == UNIFORM_HAS_SENSORS) ? " Sensors" : "") : null] -
ID: [(wear_id ? wear_id : "Nothing")] -
Left Pocket: [(l_store ? l_store : "Nothing")] -
Right Pocket: [(r_store ? r_store : "Nothing")] -
- [handcuffed ? "
Handcuffed" : ""] - [legcuffed ? "
Legcuffed" : ""] - [suit && LAZYLEN(suit.accessories) ? "
Remove Accessory" : ""] - [internal ? "
Remove Internal" : ""] - [istype(wear_id, /obj/item/card/id/dogtag) ? "
Retrieve Info Tag" : ""] -
Remove Splints -
-
Refresh -
Close -
"} - show_browser(user, dat, name, "mob[name]") - /** * Handles any storage containers that the human is looking inside when auto-observed. */ @@ -428,9 +385,6 @@ /mob/living/carbon/human/Topic(href, href_list) - if(href_list["refresh"]) - if(interactee&&(in_range(src, usr))) - show_inv(interactee) if(href_list["mach_close"]) var/t1 = text("window=[]", href_list["mach_close"]) @@ -475,76 +429,6 @@ what = usr.get_active_hand() usr.stripPanelEquip(what,src,slot) - if(href_list["internal"]) - - if(!usr.action_busy && !usr.is_mob_incapacitated() && Adjacent(usr)) - attack_log += text("\[[time_stamp()]\] Has had their internals toggled by [key_name(usr)]") - usr.attack_log += text("\[[time_stamp()]\] Attempted to toggle [key_name(src)]'s' internals") - if(internal) - usr.visible_message(SPAN_DANGER("[usr] is trying to disable [src]'s internals"), null, null, 3) - else - usr.visible_message(SPAN_DANGER("[usr] is trying to enable [src]'s internals."), null, null, 3) - - if(do_after(usr, POCKET_STRIP_DELAY, INTERRUPT_ALL, BUSY_ICON_GENERIC, src, INTERRUPT_MOVED, BUSY_ICON_GENERIC)) - if(internal) - internal.add_fingerprint(usr) - internal = null - visible_message("[src] is no longer running on internals.", null, null, 1) - else - if(istype(wear_mask, /obj/item/clothing/mask)) - if(istype(back, /obj/item/tank)) - internal = back - else if(istype(s_store, /obj/item/tank)) - internal = s_store - else if(istype(belt, /obj/item/tank)) - internal = belt - if(internal) - visible_message(SPAN_NOTICE("[src] is now running on internals."), null, null, 1) - internal.add_fingerprint(usr) - - // Update strip window - if(usr.interactee == src && Adjacent(usr)) - show_inv(usr) - - - if(href_list["splints"]) - if(!usr.action_busy && !usr.is_mob_incapacitated() && Adjacent(usr)) - if(MODE_HAS_TOGGLEABLE_FLAG(MODE_NO_STRIPDRAG_ENEMY) && (stat == DEAD || health < HEALTH_THRESHOLD_CRIT) && !get_target_lock(usr.faction_group)) - to_chat(usr, SPAN_WARNING("You can't strip a crit or dead member of another faction!")) - return - attack_log += text("\[[time_stamp()]\] Has had their splints removed by [key_name(usr)]") - usr.attack_log += text("\[[time_stamp()]\] Attempted to remove [key_name(src)]'s' splints ") - remove_splints(usr) - - if(href_list["tie"]) - if(!usr.action_busy && !usr.is_mob_incapacitated() && Adjacent(usr)) - if(MODE_HAS_TOGGLEABLE_FLAG(MODE_NO_STRIPDRAG_ENEMY) && (stat == DEAD || health < HEALTH_THRESHOLD_CRIT) && !get_target_lock(usr.faction_group)) - to_chat(usr, SPAN_WARNING("You can't strip a crit or dead member of another faction!")) - return - if(w_uniform && istype(w_uniform, /obj/item/clothing)) - var/obj/item/clothing/under/U = w_uniform - if(!LAZYLEN(U.accessories)) - return FALSE - var/obj/item/clothing/accessory/A = LAZYACCESS(U.accessories, 1) - if(LAZYLEN(U.accessories) > 1) - A = tgui_input_list(usr, "Select an accessory to remove from [U]", "Remove accessory", U.accessories) - if(!istype(A)) - return - attack_log += text("\[[time_stamp()]\] Has had their accessory ([A]) removed by [key_name(usr)]") - usr.attack_log += text("\[[time_stamp()]\] Attempted to remove [key_name(src)]'s' accessory ([A])") - if(istype(A, /obj/item/clothing/accessory/holobadge) || istype(A, /obj/item/clothing/accessory/medal)) - visible_message(SPAN_DANGER("[usr] tears off \the [A] from [src]'s [U]!"), null, null, 5) - if(U == w_uniform) - U.remove_accessory(usr, A) - else - if(HAS_TRAIT(src, TRAIT_UNSTRIPPABLE) && !is_mob_incapacitated()) //Can't strip the unstrippable! - to_chat(usr, SPAN_DANGER("[src] has an unbreakable grip on their equipment!")) - return - visible_message(SPAN_DANGER("[usr] is trying to take off \a [A] from [src]'s [U]!"), null, null, 5) - if(do_after(usr, get_strip_delay(usr, src), INTERRUPT_ALL, BUSY_ICON_GENERIC, src, INTERRUPT_MOVED, BUSY_ICON_GENERIC)) - if(U == w_uniform) - U.remove_accessory(usr, A) - if(href_list["sensor"]) if(!usr.action_busy && !usr.is_mob_incapacitated() && Adjacent(usr)) if(MODE_HAS_TOGGLEABLE_FLAG(MODE_NO_STRIPDRAG_ENEMY) && (stat == DEAD || health < HEALTH_THRESHOLD_CRIT) && !get_target_lock(usr.faction_group)) diff --git a/code/modules/mob/living/carbon/human/human_stripping.dm b/code/modules/mob/living/carbon/human/human_stripping.dm new file mode 100644 index 0000000000..fbf6fb5ce4 --- /dev/null +++ b/code/modules/mob/living/carbon/human/human_stripping.dm @@ -0,0 +1,272 @@ +GLOBAL_LIST_INIT(strippable_human_items, create_strippable_list(list( + /datum/strippable_item/mob_item_slot/head, + /datum/strippable_item/mob_item_slot/back, + /datum/strippable_item/mob_item_slot/mask, + /datum/strippable_item/mob_item_slot/eyes, + /datum/strippable_item/mob_item_slot/r_ear, + /datum/strippable_item/mob_item_slot/l_ear, + /datum/strippable_item/mob_item_slot/jumpsuit, + /datum/strippable_item/mob_item_slot/suit, + /datum/strippable_item/mob_item_slot/gloves, + /datum/strippable_item/mob_item_slot/feet, + /datum/strippable_item/mob_item_slot/suit_storage, + /datum/strippable_item/mob_item_slot/id, + /datum/strippable_item/mob_item_slot/belt, + /datum/strippable_item/mob_item_slot/pocket/left, + /datum/strippable_item/mob_item_slot/pocket/right, + /datum/strippable_item/mob_item_slot/hand/left, + /datum/strippable_item/mob_item_slot/hand/right, + /datum/strippable_item/mob_item_slot/cuffs/handcuffs, + /datum/strippable_item/mob_item_slot/cuffs/legcuffs, +))) + +/mob/living/carbon/human/proc/should_strip(mob/user) + if (user.pulling == src && user.grab_level == GRAB_AGGRESSIVE && (user.a_intent & INTENT_GRAB)) + return FALSE //to not interfere with fireman carry + return TRUE + +/datum/strippable_item/mob_item_slot/head + key = STRIPPABLE_ITEM_HEAD + item_slot = SLOT_HEAD + +/datum/strippable_item/mob_item_slot/back + key = STRIPPABLE_ITEM_BACK + item_slot = SLOT_BACK + +/datum/strippable_item/mob_item_slot/mask + key = STRIPPABLE_ITEM_MASK + item_slot = SLOT_FACE + +/datum/strippable_item/mob_item_slot/mask/get_alternate_action(atom/source, mob/user) + var/obj/item/clothing/mask = get_item(source) + if (!istype(mask)) + return + if (!ishuman(source)) + return + var/mob/living/carbon/human/sourcehuman = source + if (istype(sourcehuman.s_store, /obj/item/tank)) + return "toggle_internals" + if (istype(sourcehuman.back, /obj/item/tank)) + return "toggle_internals" + if (istype(sourcehuman.belt, /obj/item/tank)) + return "toggle_internals" + return + +/datum/strippable_item/mob_item_slot/mask/alternate_action(atom/source, mob/user) + if(!ishuman(source)) + return + var/mob/living/carbon/human/sourcehuman = source + if(user.action_busy || user.is_mob_incapacitated() || !source.Adjacent(user)) + return + if(MODE_HAS_TOGGLEABLE_FLAG(MODE_NO_STRIPDRAG_ENEMY) && (sourcehuman.stat == DEAD || sourcehuman.health < HEALTH_THRESHOLD_CRIT) && !sourcehuman.get_target_lock(user.faction_group)) + to_chat(user, SPAN_WARNING("You can't toggle internals of a crit or dead member of another faction!")) + return + + sourcehuman.attack_log += text("\[[time_stamp()]\] Has had their internals toggled by [key_name(user)]") + user.attack_log += text("\[[time_stamp()]\] Attempted to toggle [key_name(src)]'s' internals") + if(sourcehuman.internal) + user.visible_message(SPAN_DANGER("[user] is trying to disable [sourcehuman]'s internals"), null, null, 3) + else + user.visible_message(SPAN_DANGER("[user] is trying to enable [sourcehuman]'s internals."), null, null, 3) + + if(!do_after(user, POCKET_STRIP_DELAY, INTERRUPT_ALL, BUSY_ICON_GENERIC, sourcehuman, INTERRUPT_MOVED, BUSY_ICON_GENERIC)) + return + + if(sourcehuman.internal) + sourcehuman.internal.add_fingerprint(user) + sourcehuman.internal = null + sourcehuman.visible_message("[sourcehuman] is no longer running on internals.", max_distance = 1) + return + + if(!istype(sourcehuman.wear_mask, /obj/item/clothing/mask)) + return + + if(istype(sourcehuman.back, /obj/item/tank)) + sourcehuman.internal = sourcehuman.back + else if(istype(sourcehuman.s_store, /obj/item/tank)) + sourcehuman.internal = sourcehuman.s_store + else if(istype(sourcehuman.belt, /obj/item/tank)) + sourcehuman.internal = sourcehuman.belt + + if(!sourcehuman.internal) + return + + sourcehuman.visible_message(SPAN_NOTICE("[sourcehuman] is now running on internals."), max_distance = 1) + sourcehuman.internal.add_fingerprint(user) + +/datum/strippable_item/mob_item_slot/eyes + key = STRIPPABLE_ITEM_EYES + item_slot = SLOT_EYES + +/datum/strippable_item/mob_item_slot/r_ear + key = STRIPPABLE_ITEM_R_EAR + item_slot = SLOT_EAR + +/datum/strippable_item/mob_item_slot/l_ear + key = STRIPPABLE_ITEM_L_EAR + item_slot = SLOT_EAR + +/datum/strippable_item/mob_item_slot/jumpsuit + key = STRIPPABLE_ITEM_JUMPSUIT + item_slot = SLOT_ICLOTHING + +/datum/strippable_item/mob_item_slot/jumpsuit/get_alternate_action(atom/source, mob/user) + var/obj/item/clothing/under/uniform = get_item(source) + if (!istype(uniform)) + return null + return uniform?.accessories ? "remove_accessory" : null + +/datum/strippable_item/mob_item_slot/jumpsuit/alternate_action(atom/source, mob/user) + if(!ishuman(source)) + return + var/mob/living/carbon/human/sourcemob = source + if(user.action_busy || user.is_mob_incapacitated() || !source.Adjacent(user)) + return + if(MODE_HAS_TOGGLEABLE_FLAG(MODE_NO_STRIPDRAG_ENEMY) && (sourcemob.stat == DEAD || sourcemob.health < HEALTH_THRESHOLD_CRIT) && !sourcemob.get_target_lock(user.faction_group)) + to_chat(user, SPAN_WARNING("You can't strip a crit or dead member of another faction!")) + return + if(!sourcemob.w_uniform || !istype(sourcemob.w_uniform, /obj/item/clothing)) + return + + var/obj/item/clothing/under/uniform = sourcemob.w_uniform + if(!LAZYLEN(uniform.accessories)) + return FALSE + var/obj/item/clothing/accessory/accessory = LAZYACCESS(uniform.accessories, 1) + if(LAZYLEN(uniform.accessories) > 1) + accessory = tgui_input_list(user, "Select an accessory to remove from [uniform]", "Remove accessory", uniform.accessories) + if(!istype(accessory)) + return + sourcemob.attack_log += text("\[[time_stamp()]\] Has had their accessory ([accessory]) removed by [key_name(user)]") + user.attack_log += text("\[[time_stamp()]\] Attempted to remove [key_name(sourcemob)]'s' accessory ([accessory])") + if(istype(accessory, /obj/item/clothing/accessory/holobadge) || istype(accessory, /obj/item/clothing/accessory/medal)) + sourcemob.visible_message(SPAN_DANGER("[user] tears off [accessory] from [sourcemob]'s [uniform]!"), null, null, 5) + if(uniform == sourcemob.w_uniform) + uniform.remove_accessory(user, accessory) + return + + if(HAS_TRAIT(sourcemob, TRAIT_UNSTRIPPABLE) && !sourcemob.is_mob_incapacitated()) //Can't strip the unstrippable! + to_chat(user, SPAN_DANGER("[sourcemob] has an unbreakable grip on their equipment!")) + return + sourcemob.visible_message(SPAN_DANGER("[user] is trying to take off \a [accessory] from [source]'s [uniform]!"), null, null, 5) + + if(!do_after(user, sourcemob.get_strip_delay(user, sourcemob), INTERRUPT_ALL, BUSY_ICON_GENERIC, sourcemob, INTERRUPT_MOVED, BUSY_ICON_GENERIC)) + return + + if(uniform != sourcemob.w_uniform) + return + + uniform.remove_accessory(user, accessory) + +/datum/strippable_item/mob_item_slot/suit + key = STRIPPABLE_ITEM_SUIT + item_slot = SLOT_OCLOTHING + +/datum/strippable_item/mob_item_slot/suit/has_no_item_alt_action() + return TRUE + +/datum/strippable_item/mob_item_slot/suit/get_alternate_action(atom/source, mob/user) + if(!ishuman(source)) + return + var/mob/living/carbon/human/sourcemob = source + for(var/bodypart in list("l_leg","r_leg","l_arm","r_arm","r_hand","l_hand","r_foot","l_foot","chest","head","groin")) + var/obj/limb/limb = sourcemob.get_limb(bodypart) + if(limb && (limb.status & LIMB_SPLINTED)) + return "remove_splints" + return + +/datum/strippable_item/mob_item_slot/suit/alternate_action(atom/source, mob/user) + if(!ishuman(source)) + return + var/mob/living/carbon/human/sourcemob = source + if(user.action_busy || user.is_mob_incapacitated() || !source.Adjacent(user)) + return + if(MODE_HAS_TOGGLEABLE_FLAG(MODE_NO_STRIPDRAG_ENEMY) && (sourcemob.stat == DEAD || sourcemob.health < HEALTH_THRESHOLD_CRIT) && !sourcemob.get_target_lock(user.faction_group)) + to_chat(user, SPAN_WARNING("You can't remove splints of a crit or dead member of another faction!")) + return + sourcemob.attack_log += text("\[[time_stamp()]\] Has had their splints removed by [key_name(user)]") + user.attack_log += text("\[[time_stamp()]\] Attempted to remove [key_name(sourcemob)]'s' splints ") + sourcemob.remove_splints(user) + +/datum/strippable_item/mob_item_slot/gloves + key = STRIPPABLE_ITEM_GLOVES + item_slot = SLOT_HANDS + +/datum/strippable_item/mob_item_slot/feet + key = STRIPPABLE_ITEM_FEET + item_slot = SLOT_FEET + +/datum/strippable_item/mob_item_slot/suit_storage + key = STRIPPABLE_ITEM_SUIT_STORAGE + item_slot = SLOT_SUIT_STORE + +/datum/strippable_item/mob_item_slot/id + key = STRIPPABLE_ITEM_ID + item_slot = SLOT_ID + +/datum/strippable_item/mob_item_slot/id/get_alternate_action(atom/source, mob/user) + var/obj/item/card/id/dogtag/tag = get_item(source) + if(!ishuman(source)) + return + var/mob/living/carbon/human/sourcemob = source + if (!istype(tag)) + return + if (!sourcemob.undefibbable && (!skillcheck(user, SKILL_POLICE, SKILL_POLICE_SKILLED) || sourcemob.stat != DEAD)) + return + return tag.dogtag_taken ? null : "retrieve_tag" + +/datum/strippable_item/mob_item_slot/id/alternate_action(atom/source, mob/user) + if(!ishuman(source)) + return + var/mob/living/carbon/human/sourcemob = source + if(user.action_busy || user.is_mob_incapacitated() || !source.Adjacent(user)) + return + if(MODE_HAS_TOGGLEABLE_FLAG(MODE_NO_STRIPDRAG_ENEMY) && (sourcemob.stat == DEAD || sourcemob.health < HEALTH_THRESHOLD_CRIT) && !sourcemob.get_target_lock(user.faction_group)) + to_chat(user, SPAN_WARNING("You can't strip a crit or dead member of another faction!")) + return + if(!istype(sourcemob.wear_id, /obj/item/card/id/dogtag)) + return + if (!sourcemob.undefibbable && !skillcheck(user, SKILL_POLICE, SKILL_POLICE_SKILLED)) + return + var/obj/item/card/id/dogtag/tag = sourcemob.wear_id + if(tag.dogtag_taken) + to_chat(user, SPAN_WARNING("Someone's already taken [sourcemob]'s information tag.")) + return + + if(sourcemob.stat != DEAD) + to_chat(user, SPAN_WARNING("You can't take a dogtag's information tag while its owner is alive.")) + return + + to_chat(user, SPAN_NOTICE("You take [sourcemob]'s information tag, leaving the ID tag")) + tag.dogtag_taken = TRUE + tag.icon_state = "dogtag_taken" + var/obj/item/dogtag/newtag = new(sourcemob.loc) + newtag.fallen_names = list(tag.registered_name) + newtag.fallen_assgns = list(tag.assignment) + newtag.fallen_blood_types = list(tag.blood_type) + user.put_in_hands(newtag) + + + +/datum/strippable_item/mob_item_slot/belt + key = STRIPPABLE_ITEM_BELT + item_slot = SLOT_WAIST + +/datum/strippable_item/mob_item_slot/pocket/left + key = STRIPPABLE_ITEM_LPOCKET + item_slot = SLOT_STORE + +/datum/strippable_item/mob_item_slot/pocket/right + key = STRIPPABLE_ITEM_RPOCKET + item_slot = SLOT_STORE + +/datum/strippable_item/mob_item_slot/hand/left + key = STRIPPABLE_ITEM_LHAND + +/datum/strippable_item/mob_item_slot/hand/right + key = STRIPPABLE_ITEM_RHAND + +/datum/strippable_item/mob_item_slot/cuffs/handcuffs + key = STRIPPABLE_ITEM_HANDCUFFS + +/datum/strippable_item/mob_item_slot/cuffs/legcuffs + key = STRIPPABLE_ITEM_LEGCUFFS diff --git a/code/modules/mob/living/carbon/human/inventory.dm b/code/modules/mob/living/carbon/human/inventory.dm index 22deabce45..871a2cd376 100644 --- a/code/modules/mob/living/carbon/human/inventory.dm +++ b/code/modules/mob/living/carbon/human/inventory.dm @@ -504,68 +504,6 @@ /// Final result is overall delay * speed multiplier return target_delay * user_speed -/mob/living/carbon/human/stripPanelUnequip(obj/item/interact_item, mob/target_mob, slot_to_process) - if(HAS_TRAIT(target_mob, TRAIT_UNSTRIPPABLE) && !target_mob.is_mob_incapacitated()) //Can't strip the unstrippable! - to_chat(src, SPAN_DANGER("[target_mob] has an unbreakable grip on their equipment!")) - return - if(interact_item.flags_item & ITEM_ABSTRACT) - return - if(interact_item.flags_item & NODROP) - to_chat(src, SPAN_WARNING("You can't remove \the [interact_item.name], it appears to be stuck!")) - return - if(interact_item.flags_inventory & CANTSTRIP) - to_chat(src, SPAN_WARNING("You're having difficulty removing \the [interact_item.name].")) - return - target_mob.attack_log += "\[[time_stamp()]\] Has had their [interact_item.name] ([slot_to_process]) attempted to be removed by [key_name(src)]" - attack_log += "\[[time_stamp()]\] Attempted to remove [key_name(target_mob)]'s [interact_item.name] ([slot_to_process])" - log_interact(src, target_mob, "[key_name(src)] tried to remove [key_name(target_mob)]'s [interact_item.name] ([slot_to_process]).") - - src.visible_message(SPAN_DANGER("[src] tries to remove [target_mob]'s [interact_item.name]."), \ - SPAN_DANGER("You are trying to remove [target_mob]'s [interact_item.name]."), null, 5) - interact_item.add_fingerprint(src) - if(do_after(src, get_strip_delay(src, target_mob), INTERRUPT_ALL, BUSY_ICON_GENERIC, target_mob, INTERRUPT_MOVED, BUSY_ICON_GENERIC)) - if(interact_item && Adjacent(target_mob) && interact_item == target_mob.get_item_by_slot(slot_to_process)) - target_mob.drop_inv_item_on_ground(interact_item) - log_interact(src, target_mob, "[key_name(src)] removed [key_name(target_mob)]'s [interact_item.name] ([slot_to_process]) successfully.") - - if(target_mob) - if(interactee == target_mob && Adjacent(target_mob)) - target_mob.show_inv(src) - - -/mob/living/carbon/human/stripPanelEquip(obj/item/interact_item, mob/target_mob, slot_to_process) - if(HAS_TRAIT(target_mob, TRAIT_UNSTRIPPABLE) && !target_mob.is_mob_incapacitated()) - to_chat(src, SPAN_DANGER("[target_mob] is too strong to force [interact_item.name] onto them!")) - return - if(interact_item && !(interact_item.flags_item & ITEM_ABSTRACT)) - if(interact_item.flags_item & NODROP) - to_chat(src, SPAN_WARNING("You can't put \the [interact_item.name] on [target_mob], it's stuck to your hand!")) - return - if(interact_item.flags_inventory & CANTSTRIP) - to_chat(src, SPAN_WARNING("You're having difficulty putting \the [interact_item.name] on [target_mob].")) - return - if(interact_item.flags_item & WIELDED) - interact_item.unwield(src) - if(!interact_item.mob_can_equip(target_mob, slot_to_process, TRUE)) - to_chat(src, SPAN_WARNING("You can't put \the [interact_item.name] on [target_mob]!")) - return - visible_message(SPAN_NOTICE("[src] tries to put \the [interact_item.name] on [target_mob]."), null, null, 5) - if(do_after(src, get_strip_delay(src, target_mob), INTERRUPT_ALL, BUSY_ICON_GENERIC, target_mob, INTERRUPT_MOVED, BUSY_ICON_GENERIC)) - if(interact_item == get_active_hand() && !target_mob.get_item_by_slot(slot_to_process) && Adjacent(target_mob)) - if(interact_item.flags_item & WIELDED) //to prevent re-wielding it during the do_after - interact_item.unwield(src) - if(interact_item.mob_can_equip(target_mob, slot_to_process, TRUE))//Placing an item on the mob - drop_inv_item_on_ground(interact_item) - if(interact_item && !QDELETED(interact_item)) //Might be self-deleted? - target_mob.equip_to_slot_if_possible(interact_item, slot_to_process, 1, 0, 1, 1) - if(ishuman(target_mob) && target_mob.stat == DEAD) - var/mob/living/carbon/human/human_target = target_mob - human_target.disable_lights() // take that powergamers -spookydonut - - if(target_mob) - if(interactee == target_mob && Adjacent(target_mob)) - target_mob.show_inv(src) - /mob/living/carbon/human/drop_inv_item_on_ground(obj/item/I, nomoveupdate, force) remember_dropped_object(I) return ..() diff --git a/code/modules/mob/living/carbon/xenomorph/XenoProcs.dm b/code/modules/mob/living/carbon/xenomorph/XenoProcs.dm index 8d3367ee68..d00b08f183 100644 --- a/code/modules/mob/living/carbon/xenomorph/XenoProcs.dm +++ b/code/modules/mob/living/carbon/xenomorph/XenoProcs.dm @@ -261,10 +261,6 @@ move_delay = . - -/mob/living/carbon/xenomorph/show_inv(mob/user) - return - /mob/living/carbon/xenomorph/proc/pounced_mob(mob/living/L) // This should only be called back by a mob that has pounce, so no need to check var/datum/action/xeno_action/activable/pounce/pounceAction = get_xeno_action_by_type(src, /datum/action/xeno_action/activable/pounce) diff --git a/code/modules/mob/living/simple_animal/parrot.dm b/code/modules/mob/living/simple_animal/parrot.dm index f1452d95c2..78c96bbbb7 100644 --- a/code/modules/mob/living/simple_animal/parrot.dm +++ b/code/modules/mob/living/simple_animal/parrot.dm @@ -110,19 +110,6 @@ /* * Inventory */ -/mob/living/simple_animal/parrot/show_inv(mob/user as mob) - user.set_interaction(src) - if(user.stat) return - - var/dat = "
Inventory of [name]

" - if(ears) - dat += "
Headset: [ears] (Remove)" - else - dat += "
Headset: Nothing" - - user << browse(dat, text("window=mob[];size=325x500", name)) - onclose(user, "mob[real_name]") - return /mob/living/simple_animal/parrot/Topic(href, href_list) diff --git a/code/modules/mob/mob.dm b/code/modules/mob/mob.dm index c2cf6402ed..13c47719a7 100644 --- a/code/modules/mob/mob.dm +++ b/code/modules/mob/mob.dm @@ -372,25 +372,6 @@ SIGNAL_HANDLER reset_view(null) -/mob/proc/show_inv(mob/user) - user.set_interaction(src) - var/dat = {" -


[name] -

-
Head(Mask): [(wear_mask ? wear_mask : "Nothing")] -
Left Hand: [(l_hand ? l_hand : "Nothing")] -
Right Hand: [(r_hand ? r_hand : "Nothing")] -
Back: [(back ? back : "Nothing")] [((istype(wear_mask, /obj/item/clothing/mask) && istype(back, /obj/item/tank) && !( internal )) ? text(" Set Internal", src) : "")] -
[(internal ? text("Remove Internal") : "")] -
Empty Pockets -
Refresh -
Close -
"} - show_browser(user, dat, name, "mob[name]") - return - - - /mob/proc/point_to_atom(atom/A, turf/T) //Squad Leaders and above have reduced cooldown and get a bigger arrow if(check_improved_pointing()) @@ -448,21 +429,6 @@ update_flavor_text() return - -/mob/MouseDrop(mob/M) - ..() - if(M != usr) return - if(usr == src) return - if(!Adjacent(usr)) return - if(!ishuman(M) && !ismonkey(M)) return - if(!ishuman(src) && !ismonkey(src)) return - if(M.is_mob_incapacitated()) - return - if(M.pulling == src && (M.a_intent & INTENT_GRAB) && M.grab_level == GRAB_AGGRESSIVE) - return - - show_inv(M) - /mob/proc/swap_hand() hand = !hand diff --git a/code/modules/projectiles/gun_attachables.dm b/code/modules/projectiles/gun_attachables.dm index 0c6da6f973..6f972bdeb8 100644 --- a/code/modules/projectiles/gun_attachables.dm +++ b/code/modules/projectiles/gun_attachables.dm @@ -2445,7 +2445,7 @@ Defined in conflicts.dm of the #defines folder. /obj/item/attachable/stock/smg/collapsible/brace/apply_on_weapon(obj/item/weapon/gun/G) if(stock_activated) - G.flags_item |= NODROP + G.flags_item |= NODROP|FORCEDROP_CONDITIONAL accuracy_mod = -HIT_ACCURACY_MULT_TIER_3 scatter_mod = SCATTER_AMOUNT_TIER_8 recoil_mod = RECOIL_AMOUNT_TIER_2 //Hurts pretty bad if it's wielded. @@ -2456,7 +2456,7 @@ Defined in conflicts.dm of the #defines folder. icon_state = "smg_brace_on" attach_icon = "smg_brace_a_on" else - G.flags_item &= ~NODROP + G.flags_item &= ~(NODROP|FORCEDROP_CONDITIONAL) accuracy_mod = 0 scatter_mod = 0 recoil_mod = 0 diff --git a/code/modules/reagents/chemistry_reactions/food_drink.dm b/code/modules/reagents/chemistry_reactions/food_drink.dm index 7e3fdac324..63c79ea577 100644 --- a/code/modules/reagents/chemistry_reactions/food_drink.dm +++ b/code/modules/reagents/chemistry_reactions/food_drink.dm @@ -186,6 +186,66 @@ required_reagents = list("hot_ramen" = 6, "hotsauce" = 1) result_amount = 6 +/datum/chemical_reaction/banana //WHO DIDN'T MAKE ALL THE JUICES SUBTYPES OF A PARENT ONE AAAAAA + name = "Banana Juice" + id = "banana" + result = "banana" + required_reagents = list("dehydrated_juice" = 1, "water" = 5) + result_amount = 5 + +/datum/chemical_reaction/orangejuice + name = "Orange Juice" + id = "orangejuice" + result = "orangejuice" + required_reagents = list("dehydrated_orange_juice" = 1, "water" = 5) + result_amount = 5 + +/datum/chemical_reaction/applejuice + name = "Apple Juice" + id = "applejuice" + result = "applejuice" + required_reagents = list("dehydrated_apple_juice" = 1, "water" = 5) + result_amount = 5 + +/datum/chemical_reaction/watermelonjuice + name = "Watermelon Juice" + id = "watermelonjuice" + result = "watermelonjuice" + required_reagents = list("dehydrated_watermelon_juice" = 1, "water" = 5) + result_amount = 5 + +/datum/chemical_reaction/grapejuice + name = "Grape Juice" + id = "grapejuice" + result = "grapejuice" + required_reagents = list("dehydrated_grape_juice" = 1, "water" = 5) + result_amount = 5 + +/datum/chemical_reaction/pineapplejuice + name = "Pineapple Juice" + id = "pineapplejuice" + result = "pineapplejuice" + required_reagents = list("dehydrated_pineapple_juice" = 1, "water" = 5) + result_amount = 5 + +/datum/chemical_reaction/egg + name = "Rehydrated Egg Product" + id = "egg" + result = "egg" + required_reagents = list("dehydrated_egg_powder" = 1, "water" = 5) + result_amount = 1 + +/datum/chemical_reaction/egg/on_reaction(datum/reagents/holder, created_volume) + var/location = get_turf(holder.my_atom) + new /obj/item/reagent_container/food/snacks/egg/dried(location) + +/datum/chemical_reaction/milk + name = "Rehydrated Milk" + id = "milk" + result = "milk" + required_reagents = list("dehydrated_milk_powder" = 1, "water" = 5) + result_amount = 5 + //*****************************************************************************************************/ //******************************************Cocktails**************************************************/ diff --git a/code/modules/reagents/chemistry_reagents/drink.dm b/code/modules/reagents/chemistry_reagents/drink.dm index 9739687dec..e06f898be4 100644 --- a/code/modules/reagents/chemistry_reagents/drink.dm +++ b/code/modules/reagents/chemistry_reagents/drink.dm @@ -151,6 +151,17 @@ description = "Made in the modern day with proper pomegranate substitute. Who uses real fruit, anyways?" color = "#FF004F" // rgb: 255, 0, 79 +/datum/reagent/drink/pineapplejuice + name = "Pineapple Juice" + id = "pineapplejuice" + description = "Refreshingly citric, with a pleasant flavor." + color = "#FFC000" // rgb: 255, 192, 0 + +/datum/reagent/drink/applejuice + name = "Apple Juice" + id = "applejuice" + description = "The pleasantly sweet taste of apples, now in liquid form." + color = "#f59a40" // rgb: 245, 154, 64 //MILK// diff --git a/code/modules/reagents/chemistry_reagents/food.dm b/code/modules/reagents/chemistry_reagents/food.dm index 0ec3a22502..8e167908b2 100644 --- a/code/modules/reagents/chemistry_reagents/food.dm +++ b/code/modules/reagents/chemistry_reagents/food.dm @@ -307,3 +307,83 @@ color = "#FFFF00" chemclass = CHEM_CLASS_RARE flags = REAGENT_NO_GENERATION + +/datum/reagent/dehydrated_juice + name = "Mystery Juice Powder" + id = "dehydrated_juice" + description = "Powderized fruit-juice ready to be mixed with water. Smells of artificial bananas." + reagent_state = SOLID + color = "#863333" // rgb: 175, 175, 0 + chemclass = CHEM_CLASS_COMMON + properties = list(PROPERTY_NUTRITIOUS = 2) + flags = REAGENT_NO_GENERATION + +/datum/reagent/dehydrated_orange_juice + name = "Orange Juice Powder" + id = "dehydrated_orange_juice" + description = "Powderized orange-juice ready to be mixed with water. Smells of, surprise surprise, oranges." + reagent_state = SOLID + color = "#E78108" // rgb: 231, 129, 8 + chemclass = CHEM_CLASS_COMMON + properties = list(PROPERTY_NUTRITIOUS = 2) + flags = REAGENT_NO_GENERATION + +/datum/reagent/dehydrated_apple_juice + name = "Apple Juice Powder" + id = "dehydrated_apple_juice" + description = "Powderized apple-juice ready to be mixed with water. Smells of, surprise surprise, apples." + reagent_state = SOLID + color = "#365E30" // rgb: 54, 94, 48 + chemclass = CHEM_CLASS_COMMON + properties = list(PROPERTY_NUTRITIOUS = 2) + flags = REAGENT_NO_GENERATION + +/datum/reagent/dehydrated_watermelon_juice + name = "Watermelon Juice Powder" + id = "dehydrated_watermelon_juice" + description = "Powderized watermelon-juice ready to be mixed with water. Smells of, surprise surprise, watermelons." + reagent_state = SOLID + color = "#863333" // rgb: 134, 51, 51 + chemclass = CHEM_CLASS_COMMON + properties = list(PROPERTY_NUTRITIOUS = 2) + flags = REAGENT_NO_GENERATION + +/datum/reagent/dehydrated_grape_juice + name = "Grape Juice Powder" + id = "dehydrated_grape_juice" + description = "Powderized grape-juice ready to be mixed with water. Smells of, surprise surprise, grapes." + reagent_state = SOLID + color = "#863333" // rgb: 134, 51, 51 + chemclass = CHEM_CLASS_COMMON + properties = list(PROPERTY_NUTRITIOUS = 2) + flags = REAGENT_NO_GENERATION + +/datum/reagent/dehydrated_pineapple_juice + name = "Pineapple Juice Powder" + id = "dehydrated_pineapple_juice" + description = "Powderized pineapple-juice ready to be mixed with water. Smells of, surprise surprise, pineapples." + reagent_state = SOLID + color = "#FFC000" // rgb: 255, 192, 0 + chemclass = CHEM_CLASS_COMMON + properties = list(PROPERTY_NUTRITIOUS = 2) + flags = REAGENT_NO_GENERATION + +/datum/reagent/dehydrated_egg_powder + name = "Powdered Egg" + id = "dehydrated_egg_powder" + description = "Powderized egg-whites and egg-yolk ready to be mixed with water." + reagent_state = SOLID + color = "#FFFFFF" // rgb: 255,255,255 + chemclass = CHEM_CLASS_COMMON + properties = list(PROPERTY_NUTRITIOUS = 2) + flags = REAGENT_NO_GENERATION + +/datum/reagent/dehydrated_milk_powder + name = "Dehydrated Milk Powder" + id = "dehydrated_milk_powder" + description = "Dehydrated milk-product powder waiting to be mixed with water." + reagent_state = SOLID + color = "#DFDFDF" // rgb: 223, 223, 223 + chemclass = CHEM_CLASS_COMMON + properties = list(PROPERTY_NUTRITIOUS = 2) + flags = REAGENT_NO_GENERATION diff --git a/code/modules/shuttle/computers/dropship_computer.dm b/code/modules/shuttle/computers/dropship_computer.dm index 931c4a799c..0024958c8e 100644 --- a/code/modules/shuttle/computers/dropship_computer.dm +++ b/code/modules/shuttle/computers/dropship_computer.dm @@ -502,9 +502,14 @@ needs_power = TRUE /obj/structure/machinery/computer/shuttle/dropship/flight/toc - name = "midway control screen" + name = "dropship control screen" desc = "A screen on the TOC computer for controlling the dropship linked to it." icon = 'icons/obj/structures/machinery/computer.dmi' icon_state = "toc_shuttle" shuttleId = DROPSHIP_MIDWAY is_remote = TRUE + +/obj/structure/machinery/computer/shuttle/dropship/flight/small + icon = 'icons/obj/structures/machinery/computer.dmi' + icon_state = "cameras_old" + diff --git a/code/modules/shuttle/dropship.dm b/code/modules/shuttle/dropship.dm index cbca500f8f..bf38f9fa3b 100644 --- a/code/modules/shuttle/dropship.dm +++ b/code/modules/shuttle/dropship.dm @@ -215,3 +215,47 @@ /obj/structure/shuttle/part/dropship2/transparent/right_outer_bottom_wing icon_state = "6" +/obj/structure/shuttle/part/midway + name = "\improper Midway" + icon = 'icons/turf/dropship4.dmi' + icon_state = "1" + opacity = TRUE + +/obj/structure/shuttle/part/midway/transparent + opacity = FALSE + +/obj/structure/shuttle/part/cyclone + name = "\improper Cyclone" + icon = 'icons/turf/dropship2.dmi' + icon_state = "1" + opacity = TRUE + +/obj/structure/shuttle/part/cyclone/transparent + opacity = FALSE + +/obj/structure/shuttle/part/tornado + name = "\improper Tornado" + icon = 'icons/turf/dropship3.dmi' + icon_state = "1" + opacity = TRUE + +/obj/structure/shuttle/part/tornado/transparent + opacity = FALSE + +/obj/structure/shuttle/part/typhoon + name = "\improper Typhoon" + icon = 'icons/turf/dropship3.dmi' + icon_state = "1" + opacity = TRUE + +/obj/structure/shuttle/part/typhoon/transparent + opacity = FALSE + +/obj/structure/shuttle/part/tripoli + name = "\improper Tripoli" + icon = 'icons/turf/dropship.dmi' + icon_state = "1" + opacity = TRUE + +/obj/structure/shuttle/part/tripoli/transparent + opacity = FALSE diff --git a/code/modules/shuttle/shuttles/dropship.dm b/code/modules/shuttle/shuttles/dropship.dm index 1f2822b353..23bb364e85 100644 --- a/code/modules/shuttle/shuttles/dropship.dm +++ b/code/modules/shuttle/shuttles/dropship.dm @@ -142,6 +142,9 @@ dwidth = 4 dheight = 8 +/obj/docking_port/mobile/marine_dropship/upp/get_transit_path_type() + return /turf/open/space/transit/dropship/upp + /obj/docking_port/mobile/marine_dropship/cyclone name = "Cyclone" id = DROPSHIP_CYCLONE @@ -154,6 +157,42 @@ /obj/docking_port/mobile/marine_dropship/cyclone/get_transit_path_type() return /turf/open/space/transit/dropship/cyclone +/obj/docking_port/mobile/marine_dropship/tornado + name = "HLD-Tornado" + id = DROPSHIP_TORNADO + width = 11 + height = 18 + + dwidth = 5 + dheight = 9 + +/obj/docking_port/mobile/marine_dropship/tornado/get_transit_path_type() + return /turf/open/space/transit/dropship/tornado + +/obj/docking_port/mobile/marine_dropship/typhoon + name = "CMD-Typhoon" + id = DROPSHIP_TYPHOON + width = 11 + height = 18 + + dwidth = 5 + dheight = 9 + +/obj/docking_port/mobile/marine_dropship/typhoon/get_transit_path_type() + return /turf/open/space/transit/dropship/typhoon + +/obj/docking_port/mobile/marine_dropship/tripoli + name = "Tripoli" + id = DROPSHIP_TRIPOLI + width = 9 + height = 18 + + dwidth = 4 + dheight = 8 + +/obj/docking_port/mobile/marine_dropship/tripoli/get_transit_path_type() + return /turf/open/space/transit/dropship/tripoli + /obj/docking_port/mobile/marine_dropship/alamo name = "Alamo" id = DROPSHIP_ALAMO @@ -368,3 +407,15 @@ /datum/map_template/shuttle/cyclone name = "Cyclone" shuttle_id = DROPSHIP_CYCLONE + +/datum/map_template/shuttle/typhoon + name = "CMD-Typhoon" + shuttle_id = DROPSHIP_TYPHOON + +/datum/map_template/shuttle/tornado + name = "HLD-Tornado" + shuttle_id = DROPSHIP_TORNADO + +/datum/map_template/shuttle/tripoli + name = "Tripoli" + shuttle_id = DROPSHIP_TRIPOLI diff --git a/code/modules/vehicles/interior/interactable/seats.dm b/code/modules/vehicles/interior/interactable/seats.dm index 06217d4cc0..be98a91cf7 100644 --- a/code/modules/vehicles/interior/interactable/seats.dm +++ b/code/modules/vehicles/interior/interactable/seats.dm @@ -479,3 +479,53 @@ REMOVE_TRAIT(M, TRAIT_UNDENSE, BUCKLED_TRAIT) handle_rotation() + +/obj/structure/bed/chair/vehicle/dropship_cockpit + name = "cockpit seat" + desc = "A sturdy metal chair with a brace that lowers over your body. Holds you in place during high altitude drops." + icon_state = "vehicle_seat" + can_rotate = FALSE + +/obj/structure/bed/chair/vehicle/dropship_cockpit/afterbuckle(mob/M) + if(buckled_mob) + if(buckled_mob != M) + return + icon_state = initial(icon_state) + "_buckled" + overlays += chairbar + + if(buckle_offset_x != 0) + mob_old_x = M.pixel_x + M.pixel_x = buckle_offset_x + if(buckle_offset_y != 0) + mob_old_y = M.pixel_y + M.pixel_y = buckle_offset_y + + ADD_TRAIT(buckled_mob, TRAIT_UNDENSE, BUCKLED_TRAIT) + else + icon_state = initial(icon_state) + overlays -= chairbar + + if(buckle_offset_x != 0) + M.pixel_x = mob_old_x + mob_old_x = 0 + if(buckle_offset_y != 0) + M.pixel_y = mob_old_y + mob_old_y = 0 + + REMOVE_TRAIT(M, TRAIT_UNDENSE, BUCKLED_TRAIT) + + handle_rotation() + +/obj/structure/bed/chair/vehicle/dropship_cockpit/pilot + name = "pilot seat" + +/obj/structure/bed/chair/vehicle/dropship_cockpit/pilot/handle_rotation() + if(dir == NORTH) + layer = ABOVE_MOB_LAYER + else + layer = BELOW_MOB_LAYER + if(buckled_mob) + buckled_mob.setDir(dir) + +/obj/structure/bed/chair/vehicle/dropship_cockpit/copilot + name = "co-pilot seat" diff --git a/colonialmarines.dme b/colonialmarines.dme index d5e035d6d2..fa6152a276 100644 --- a/colonialmarines.dme +++ b/colonialmarines.dme @@ -101,6 +101,7 @@ #include "code\__DEFINES\stamina.dm" #include "code\__DEFINES\stats.dm" #include "code\__DEFINES\status_effects.dm" +#include "code\__DEFINES\strippable.dm" #include "code\__DEFINES\STUI.dm" #include "code\__DEFINES\subsystems.dm" #include "code\__DEFINES\surgery.dm" @@ -481,6 +482,7 @@ #include "code\datums\elements\light_blocking.dm" #include "code\datums\elements\mouth_drop_item.dm" #include "code\datums\elements\poor_eyesight_correction.dm" +#include "code\datums\elements\strippable.dm" #include "code\datums\elements\suturing.dm" #include "code\datums\elements\yautja_tracked_item.dm" #include "code\datums\elements\bullet_trait\damage_boost.dm" @@ -1911,6 +1913,7 @@ #include "code\modules\mob\living\carbon\human\human_dummy.dm" #include "code\modules\mob\living\carbon\human\human_helpers.dm" #include "code\modules\mob\living\carbon\human\human_movement.dm" +#include "code\modules\mob\living\carbon\human\human_stripping.dm" #include "code\modules\mob\living\carbon\human\inventory.dm" #include "code\modules\mob\living\carbon\human\life.dm" #include "code\modules\mob\living\carbon\human\login.dm" diff --git a/html/changelogs/AutoChangeLog-pr-390.yml b/html/changelogs/AutoChangeLog-pr-390.yml deleted file mode 100644 index 6ac1d031b5..0000000000 --- a/html/changelogs/AutoChangeLog-pr-390.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Doubleumc" -delete-after: True -changes: - - admin: "bitfields for MODE_NO_XENO_EVOLVE, MODE_HARDCORE_PERMA, and MODE_NO_JOIN_AS_XENO now work" \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-391.yml b/html/changelogs/AutoChangeLog-pr-391.yml deleted file mode 100644 index 5cda1f45df..0000000000 --- a/html/changelogs/AutoChangeLog-pr-391.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Doubleumc" -delete-after: True -changes: - - bugfix: "Fixed the 88 Mod 4 pistol's holster sprite." \ No newline at end of file diff --git a/html/changelogs/archive/2024-08.yml b/html/changelogs/archive/2024-08.yml index b8745e8c53..d574881cf2 100644 --- a/html/changelogs/archive/2024-08.yml +++ b/html/changelogs/archive/2024-08.yml @@ -79,3 +79,28 @@ 2024-08-19: Doubleumc: - bugfix: fixed WeaponStats TGUI +2024-08-20: + Doubleumc: + - bugfix: Fixed the 88 Mod 4 pistol's holster sprite. + - admin: bitfields for MODE_NO_XENO_EVOLVE, MODE_HARDCORE_PERMA, and MODE_NO_JOIN_AS_XENO + now work +2024-08-21: + DexterDude: + - rscadd: Added something +2024-08-22: + BonniePandora: + - maptweak: Expanded the galley of the Golden Arrow. +2024-08-24: + BonniePandora: + - rscadd: Added various condiment packets of powedered juices, milk & egg to the + code + - rscadd: Added corresponding reactions for the new powdered substances where needed + - rscadd: Sprites for the condiment packets, some taken from Bay, others edited + by me from Bay sprites + - qol: MRE's now contain a juice packet alongside their typical contents + - maptweak: Replaces the magic freezer and it's perishable contents with a locker + full of the non-perishable replacements + DexterDude: + - rscadd: Added something + private-tristan: + - rscadd: ports TG strip menu diff --git a/icons/mob/humans/onmob/helmet_garb.dmi b/icons/mob/humans/onmob/helmet_garb.dmi index 9ed93efa34..31ce025b09 100644 Binary files a/icons/mob/humans/onmob/helmet_garb.dmi and b/icons/mob/humans/onmob/helmet_garb.dmi differ diff --git a/icons/mob/humans/onmob/mask.dmi b/icons/mob/humans/onmob/mask.dmi index 0c4ac97807..82a5885c87 100644 Binary files a/icons/mob/humans/onmob/mask.dmi and b/icons/mob/humans/onmob/mask.dmi differ diff --git a/icons/obj/items/clothing/masks.dmi b/icons/obj/items/clothing/masks.dmi index 037ee8aba1..f2a3b4ee6d 100644 Binary files a/icons/obj/items/clothing/masks.dmi and b/icons/obj/items/clothing/masks.dmi differ diff --git a/icons/obj/items/clothing/ties.dmi b/icons/obj/items/clothing/ties.dmi index a505b419d7..e509f8f2fa 100644 Binary files a/icons/obj/items/clothing/ties.dmi and b/icons/obj/items/clothing/ties.dmi differ diff --git a/icons/obj/items/clothing/ties_overlay.dmi b/icons/obj/items/clothing/ties_overlay.dmi index fd6c4204ed..66279502f7 100644 Binary files a/icons/obj/items/clothing/ties_overlay.dmi and b/icons/obj/items/clothing/ties_overlay.dmi differ diff --git a/icons/obj/items/food.dmi b/icons/obj/items/food.dmi index 3c2e963e38..5872b7e852 100644 Binary files a/icons/obj/items/food.dmi and b/icons/obj/items/food.dmi differ diff --git a/icons/obj/items/helmet_garb.dmi b/icons/obj/items/helmet_garb.dmi index bbebf822c9..6886ec3556 100644 Binary files a/icons/obj/items/helmet_garb.dmi and b/icons/obj/items/helmet_garb.dmi differ diff --git a/icons/obj/objects.dmi b/icons/obj/objects.dmi index b62860559b..3a7c0226cd 100644 Binary files a/icons/obj/objects.dmi and b/icons/obj/objects.dmi differ diff --git a/icons/obj/structures/doors/dropship4_cargo.dmi b/icons/obj/structures/doors/dropship4_cargo.dmi new file mode 100644 index 0000000000..ccb76504d9 Binary files /dev/null and b/icons/obj/structures/doors/dropship4_cargo.dmi differ diff --git a/icons/obj/structures/doors/dropship4_pilot.dmi b/icons/obj/structures/doors/dropship4_pilot.dmi new file mode 100644 index 0000000000..1bdb60471d Binary files /dev/null and b/icons/obj/structures/doors/dropship4_pilot.dmi differ diff --git a/icons/obj/structures/doors/dropship4_side.dmi b/icons/obj/structures/doors/dropship4_side.dmi new file mode 100644 index 0000000000..7d0d5e5245 Binary files /dev/null and b/icons/obj/structures/doors/dropship4_side.dmi differ diff --git a/icons/obj/structures/doors/dropship4_side2.dmi b/icons/obj/structures/doors/dropship4_side2.dmi new file mode 100644 index 0000000000..f2d96e59af Binary files /dev/null and b/icons/obj/structures/doors/dropship4_side2.dmi differ diff --git a/icons/obj/structures/machinery/computer.dmi b/icons/obj/structures/machinery/computer.dmi index 4224992af2..9e3a24f9cc 100644 Binary files a/icons/obj/structures/machinery/computer.dmi and b/icons/obj/structures/machinery/computer.dmi differ diff --git a/icons/obj/structures/machinery/shuttle-parts.dmi b/icons/obj/structures/machinery/shuttle-parts.dmi index 7db27387e7..6b6323a7b6 100644 Binary files a/icons/obj/structures/machinery/shuttle-parts.dmi and b/icons/obj/structures/machinery/shuttle-parts.dmi differ diff --git a/icons/turf/dropship.dmi b/icons/turf/dropship.dmi index 7e0bfb67b0..ba08ecf600 100644 Binary files a/icons/turf/dropship.dmi and b/icons/turf/dropship.dmi differ diff --git a/icons/turf/dropship2.dmi b/icons/turf/dropship2.dmi index 754c20d9ea..787d72e04f 100644 Binary files a/icons/turf/dropship2.dmi and b/icons/turf/dropship2.dmi differ diff --git a/icons/turf/dropship3.dmi b/icons/turf/dropship3.dmi index a813e18808..bd13e33fbb 100644 Binary files a/icons/turf/dropship3.dmi and b/icons/turf/dropship3.dmi differ diff --git a/icons/turf/dropship4.dmi b/icons/turf/dropship4.dmi new file mode 100644 index 0000000000..db0f58dcee Binary files /dev/null and b/icons/turf/dropship4.dmi differ diff --git a/icons/ui_icons/inventory/back.png b/icons/ui_icons/inventory/back.png new file mode 100644 index 0000000000..736b9d64bf Binary files /dev/null and b/icons/ui_icons/inventory/back.png differ diff --git a/icons/ui_icons/inventory/belt.png b/icons/ui_icons/inventory/belt.png new file mode 100644 index 0000000000..1be89d450a Binary files /dev/null and b/icons/ui_icons/inventory/belt.png differ diff --git a/icons/ui_icons/inventory/collar.png b/icons/ui_icons/inventory/collar.png new file mode 100644 index 0000000000..71803b1b6c Binary files /dev/null and b/icons/ui_icons/inventory/collar.png differ diff --git a/icons/ui_icons/inventory/ears.png b/icons/ui_icons/inventory/ears.png new file mode 100644 index 0000000000..e9a8f3c23c Binary files /dev/null and b/icons/ui_icons/inventory/ears.png differ diff --git a/icons/ui_icons/inventory/glasses.png b/icons/ui_icons/inventory/glasses.png new file mode 100644 index 0000000000..6e6f1ad098 Binary files /dev/null and b/icons/ui_icons/inventory/glasses.png differ diff --git a/icons/ui_icons/inventory/gloves.png b/icons/ui_icons/inventory/gloves.png new file mode 100644 index 0000000000..2c8a16cbdb Binary files /dev/null and b/icons/ui_icons/inventory/gloves.png differ diff --git a/icons/ui_icons/inventory/hand_l.png b/icons/ui_icons/inventory/hand_l.png new file mode 100644 index 0000000000..b09228d65f Binary files /dev/null and b/icons/ui_icons/inventory/hand_l.png differ diff --git a/icons/ui_icons/inventory/hand_r.png b/icons/ui_icons/inventory/hand_r.png new file mode 100644 index 0000000000..0e05a487e0 Binary files /dev/null and b/icons/ui_icons/inventory/hand_r.png differ diff --git a/icons/ui_icons/inventory/head.png b/icons/ui_icons/inventory/head.png new file mode 100644 index 0000000000..11e2d2254c Binary files /dev/null and b/icons/ui_icons/inventory/head.png differ diff --git a/icons/ui_icons/inventory/id.png b/icons/ui_icons/inventory/id.png new file mode 100644 index 0000000000..4469591d36 Binary files /dev/null and b/icons/ui_icons/inventory/id.png differ diff --git a/icons/ui_icons/inventory/mask.png b/icons/ui_icons/inventory/mask.png new file mode 100644 index 0000000000..82e5108937 Binary files /dev/null and b/icons/ui_icons/inventory/mask.png differ diff --git a/icons/ui_icons/inventory/neck.png b/icons/ui_icons/inventory/neck.png new file mode 100644 index 0000000000..78ad3ce3b1 Binary files /dev/null and b/icons/ui_icons/inventory/neck.png differ diff --git a/icons/ui_icons/inventory/pocket.png b/icons/ui_icons/inventory/pocket.png new file mode 100644 index 0000000000..f42399dca0 Binary files /dev/null and b/icons/ui_icons/inventory/pocket.png differ diff --git a/icons/ui_icons/inventory/shoes.png b/icons/ui_icons/inventory/shoes.png new file mode 100644 index 0000000000..d20f7ef4d1 Binary files /dev/null and b/icons/ui_icons/inventory/shoes.png differ diff --git a/icons/ui_icons/inventory/suit.png b/icons/ui_icons/inventory/suit.png new file mode 100644 index 0000000000..e9c48e8069 Binary files /dev/null and b/icons/ui_icons/inventory/suit.png differ diff --git a/icons/ui_icons/inventory/suit_storage.png b/icons/ui_icons/inventory/suit_storage.png new file mode 100644 index 0000000000..9722eb1029 Binary files /dev/null and b/icons/ui_icons/inventory/suit_storage.png differ diff --git a/icons/ui_icons/inventory/uniform.png b/icons/ui_icons/inventory/uniform.png new file mode 100644 index 0000000000..292b3324b5 Binary files /dev/null and b/icons/ui_icons/inventory/uniform.png differ diff --git a/maps/map_files/LV522_Chances_Claim/LV522_Chances_Claim.dmm b/maps/map_files/LV522_Chances_Claim/LV522_Chances_Claim.dmm index a196e2f20c..a92e396785 100644 --- a/maps/map_files/LV522_Chances_Claim/LV522_Chances_Claim.dmm +++ b/maps/map_files/LV522_Chances_Claim/LV522_Chances_Claim.dmm @@ -10,10 +10,11 @@ }, /area/lv522/indoors/c_block/mining) "aaF" = ( -/turf/closed/shuttle/dropship2/tornado{ - icon_state = "15" +/obj/structure/shuttle/part/tornado/transparent{ + icon_state = "20" }, -/area/lv522/landing_zone_forecon/UD6_Tornado) +/turf/open/floor/plating, +/area/lv522/outdoors/colony_streets/north_east_street) "aaI" = ( /obj/item/stack/sheet/metal, /turf/open/floor/prison{ @@ -264,6 +265,12 @@ }, /turf/closed/wall/mineral/bone_resin, /area/lv522/oob) +"afT" = ( +/obj/structure/shuttle/part/tornado/transparent{ + icon_state = "32" + }, +/turf/open/floor/plating, +/area/lv522/outdoors/colony_streets/north_east_street) "afX" = ( /obj/effect/decal/cleanable/dirt, /turf/open/asphalt/cement{ @@ -2464,10 +2471,10 @@ /turf/open/floor/prison, /area/lv522/indoors/b_block/bridge) "bpZ" = ( -/turf/closed/shuttle/dropship2/tornado{ - icon_state = "18" +/turf/closed/shuttle/typhoon{ + icon_state = "64" }, -/area/lv522/landing_zone_forecon/UD6_Tornado) +/area/lv522/landing_zone_forecon/UD6_Typhoon) "bqo" = ( /obj/item/prop/colony/usedbandage{ dir = 5 @@ -3443,11 +3450,11 @@ }, /area/lv522/indoors/a_block/fitness/glass) "bQq" = ( -/obj/structure/cargo_container/wy/mid{ - layer = 5 +/obj/structure/shuttle/part/tornado/transparent{ + icon_state = "17" }, -/turf/open/auto_turf/sand_white/layer0, -/area/lv522/outdoors/w_rockies) +/turf/open/floor/plating, +/area/lv522/outdoors/colony_streets/north_east_street) "bQC" = ( /obj/structure/bed/chair{ dir = 1 @@ -4084,6 +4091,12 @@ }, /turf/open/floor/plating/plating_catwalk/prison, /area/lv522/indoors/b_block/bar) +"cet" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/shuttle/dropship{ + icon_state = "rasputin15" + }, +/area/lv522/landing_zone_forecon/UD6_Typhoon) "cex" = ( /turf/open/auto_turf/shale/layer2, /area/lv522/landing_zone_2) @@ -5362,10 +5375,17 @@ }, /area/lv522/oob) "cJc" = ( -/obj/item/prop/colony/used_flare, -/obj/structure/cargo_container/wy/right, -/turf/open/floor/plating, -/area/lv522/outdoors/colony_streets/north_east_street) +/obj/structure/stairs/perspective{ + icon_state = "p_stair_full"; + can_block_movement = 0 + }, +/obj/structure/platform{ + dir = 8 + }, +/turf/open/shuttle/dropship{ + icon_state = "rasputin15" + }, +/area/lv522/landing_zone_forecon/UD6_Tornado) "cJg" = ( /obj/effect/decal/cleanable/blood/xeno, /turf/open/asphalt/cement{ @@ -6212,6 +6232,15 @@ /obj/structure/machinery/photocopier, /turf/open/floor/plating, /area/lv522/indoors/c_block/cargo) +"dae" = ( +/obj/structure/shuttle/part/tornado/transparent{ + icon_state = "29" + }, +/obj/structure/shuttle/part/typhoon/transparent{ + icon_state = "29" + }, +/turf/open/auto_turf/shale/layer1, +/area/lv522/landing_zone_forecon/UD6_Typhoon) "dah" = ( /obj/structure/filingcabinet{ density = 0; @@ -6724,16 +6753,10 @@ /turf/open/floor/plating, /area/lv522/atmos/east_reactor) "dic" = ( -/obj/structure/platform_decoration{ - dir = 4 - }, -/obj/structure/bed/chair/dropship/passenger{ - dir = 4 +/turf/closed/shuttle/typhoon{ + icon_state = "104" }, -/turf/open/shuttle/dropship{ - icon_state = "rasputin15" - }, -/area/lv522/landing_zone_forecon/UD6_Tornado) +/area/lv522/landing_zone_forecon/UD6_Typhoon) "dio" = ( /obj/structure/pipes/standard/simple/hidden/green{ dir = 4 @@ -6896,13 +6919,10 @@ }, /area/lv522/atmos/east_reactor/south) "dlC" = ( -/obj/structure/prop/invuln/fire{ - pixel_x = 8; - pixel_y = 10 - }, -/turf/closed/shuttle/dropship2/tornado/typhoon{ +/obj/structure/shuttle/part/typhoon/transparent{ icon_state = "22" }, +/turf/open/auto_turf/sand_white/layer0, /area/lv522/landing_zone_forecon/UD6_Typhoon) "dlI" = ( /obj/structure/machinery/door_control/brbutton{ @@ -7175,11 +7195,8 @@ }, /area/lv522/atmos/east_reactor/south) "dqn" = ( -/obj/structure/stairs/perspective{ - icon_state = "p_stair_full" - }, -/obj/structure/platform{ - dir = 8 +/obj/structure/platform_decoration{ + dir = 4 }, /turf/open/shuttle/dropship{ icon_state = "rasputin15" @@ -7994,8 +8011,9 @@ /turf/open/floor/carpet, /area/lv522/indoors/c_block/garage) "dIr" = ( -/turf/closed/shuttle/dropship2/tornado{ - icon_state = "22" +/obj/effect/attach_point/crew_weapon/tornado, +/turf/open/shuttle/dropship{ + icon_state = "rasputin3" }, /area/lv522/landing_zone_forecon/UD6_Tornado) "dIt" = ( @@ -8665,7 +8683,7 @@ /area/lv522/indoors/c_block/cargo) "dWv" = ( /turf/closed/shuttle/dropship2/tornado{ - icon_state = "6" + icon_state = "24" }, /area/lv522/landing_zone_forecon/UD6_Tornado) "dWD" = ( @@ -8707,10 +8725,17 @@ }, /area/lv522/atmos/east_reactor) "dWY" = ( -/turf/closed/shuttle/dropship2/tornado{ - icon_state = "32" +/obj/structure/shuttle/part/tornado/transparent{ + icon_state = "40"; + density = 0; + layer = 4.2 }, -/area/lv522/landing_zone_forecon/UD6_Tornado) +/obj/structure/shuttle/part/tornado/transparent{ + icon_state = "65" + }, +/obj/effect/attach_point/weapon/tornado/right_wing, +/turf/open/floor/plating, +/area/lv522/outdoors/colony_streets/north_east_street) "dXa" = ( /obj/structure/cargo_container/arious/leftmid, /turf/open/auto_turf/shale/layer2, @@ -8971,9 +8996,10 @@ }, /area/lv522/atmos/way_in_command_centre) "ecP" = ( -/turf/closed/shuttle/dropship2/tornado{ - icon_state = "25" +/obj/structure/shuttle/part/tornado/transparent{ + icon_state = "15" }, +/turf/open/floor/plating, /area/lv522/landing_zone_forecon/UD6_Tornado) "ecU" = ( /obj/effect/landmark/structure_spawner/setup/distress/xeno_wall, @@ -9354,6 +9380,11 @@ icon_state = "squares" }, /area/lv522/atmos/east_reactor) +"ejQ" = ( +/turf/closed/shuttle/dropship2/tornado{ + icon_state = "76" + }, +/area/lv522/landing_zone_forecon/UD6_Tornado) "ekf" = ( /obj/structure/curtain/medical, /turf/open/floor/strata{ @@ -10962,8 +10993,8 @@ }, /area/lv522/oob) "eRI" = ( -/obj/structure/barricade/deployable{ - dir = 8 +/obj/structure/shuttle/part/tornado/transparent{ + icon_state = "34" }, /turf/open/floor/plating, /area/lv522/outdoors/colony_streets/north_east_street) @@ -11011,6 +11042,11 @@ icon_state = "platebot" }, /area/lv522/indoors/c_block/cargo) +"eSG" = ( +/turf/closed/shuttle/typhoon{ + icon_state = "36" + }, +/area/lv522/landing_zone_forecon/UD6_Typhoon) "eSM" = ( /obj/effect/spawner/gibspawner/xeno, /turf/open/asphalt/cement{ @@ -11057,11 +11093,10 @@ /turf/open/floor/plating, /area/lv522/landing_zone_1/tunnel) "eTw" = ( -/obj/structure/stairs/perspective{ - icon_state = "p_stair_full" - }, -/obj/structure/platform{ - dir = 8 +/obj/structure/shuttle/part/tornado/transparent{ + icon_state = "40"; + density = 0; + layer = 4.2 }, /turf/open/floor/plating, /area/lv522/landing_zone_forecon/UD6_Tornado) @@ -11120,9 +11155,10 @@ }, /area/lv522/indoors/lone_buildings/outdoor_bot) "eUS" = ( -/turf/closed/shuttle/dropship2/tornado{ - icon_state = "33" +/obj/structure/shuttle/part/tornado/transparent{ + icon_state = "27" }, +/turf/open/floor/plating, /area/lv522/landing_zone_forecon/UD6_Tornado) "eUX" = ( /obj/effect/landmark/survivor_spawner, @@ -11447,11 +11483,18 @@ }, /area/lv522/outdoors/colony_streets/south_east_street) "fbY" = ( -/obj/structure/stairs/perspective{ - icon_state = "p_stair_full" +/obj/effect/decal/warning_stripes{ + icon_state = "S"; + pixel_y = 2 }, -/turf/open/floor/plating, -/area/lv522/landing_zone_forecon/UD6_Tornado) +/obj/effect/decal/warning_stripes{ + icon_state = "N"; + pixel_y = -1 + }, +/turf/open/shuttle/dropship{ + icon_state = "rasputin14" + }, +/area/lv522/outdoors/colony_streets/north_east_street) "fcd" = ( /obj/vehicle/train/cargo/trolley, /turf/open/floor/prison{ @@ -12492,9 +12535,10 @@ }, /area/lv522/atmos/reactor_garage) "fzC" = ( -/turf/closed/shuttle/dropship2/tornado{ - icon_state = "28" +/obj/structure/shuttle/part/tornado/transparent{ + icon_state = "22" }, +/turf/open/floor/plating, /area/lv522/landing_zone_forecon/UD6_Tornado) "fzE" = ( /turf/open/floor/plating/plating_catwalk/prison, @@ -12675,7 +12719,7 @@ }, /area/lv522/indoors/lone_buildings/storage_blocks) "fDg" = ( -/turf/closed/shuttle/dropship2/tornado/typhoon{ +/turf/closed/shuttle/typhoon{ icon_state = "30" }, /area/lv522/landing_zone_forecon/UD6_Typhoon) @@ -13031,10 +13075,9 @@ }, /area/lv522/atmos/cargo_intake) "fLa" = ( -/turf/closed/shuttle/dropship2/tornado{ - icon_state = "47" - }, -/area/lv522/landing_zone_forecon/UD6_Tornado) +/obj/structure/shuttle/part/tornado/transparent, +/turf/open/floor/plating, +/area/lv522/outdoors/colony_streets/north_east_street) "fLc" = ( /obj/structure/bed/bedroll{ dir = 4 @@ -13467,11 +13510,11 @@ /turf/open/auto_turf/shale/layer1, /area/lv522/outdoors/nw_rockies) "fTm" = ( -/obj/structure/stairs/perspective{ - icon_state = "p_stair_full" +/obj/structure/platform_decoration{ + dir = 8 }, /turf/open/shuttle/dropship{ - icon_state = "rasputin3" + icon_state = "rasputin15" }, /area/lv522/landing_zone_forecon/UD6_Tornado) "fTs" = ( @@ -13628,7 +13671,7 @@ /area/lv522/indoors/b_block/bar) "fXn" = ( /turf/closed/shuttle/dropship2/tornado{ - icon_state = "19" + icon_state = "31" }, /area/lv522/landing_zone_forecon/UD6_Tornado) "fXs" = ( @@ -13726,6 +13769,18 @@ }, /turf/open/gm/river, /area/lv522/landing_zone_1/tunnel) +"fYN" = ( +/obj/item/clothing/mask/facehugger{ + desc = "It has some sort of a tube at the end of its tail. What the hell is this thing?"; + icon_state = "facehugger_impregnated"; + layer = 3; + name = "????"; + stat = 2 + }, +/turf/open/shuttle/dropship{ + icon_state = "rasputin3" + }, +/area/lv522/landing_zone_forecon/UD6_Tornado) "fYP" = ( /obj/effect/landmark/structure_spawner/setup/distress/xeno_door, /turf/open/floor/corsat{ @@ -14818,9 +14873,10 @@ }, /area/lv522/indoors/a_block/dorms) "guR" = ( -/turf/closed/shuttle/dropship2/tornado/typhoon{ +/obj/structure/shuttle/part/typhoon/transparent{ icon_state = "26" }, +/turf/open/auto_turf/shale/layer1, /area/lv522/landing_zone_forecon/UD6_Typhoon) "guZ" = ( /obj/structure/machinery/power/apc/weak{ @@ -15915,10 +15971,8 @@ /turf/open/floor/prison, /area/lv522/indoors/c_block/cargo) "gOZ" = ( -/obj/structure/platform_decoration{ - dir = 8 - }, /obj/effect/decal/cleanable/blood, +/obj/structure/cargo_container/lockmart/right, /turf/open/floor/plating, /area/lv522/outdoors/colony_streets/north_east_street) "gPp" = ( @@ -16106,8 +16160,9 @@ }, /area/lv522/atmos/north_command_centre) "gTM" = ( -/obj/structure/girder, -/turf/open/floor/plating, +/turf/closed/shuttle/typhoon/transparent{ + icon_state = "89a" + }, /area/lv522/landing_zone_forecon/UD6_Typhoon) "gTX" = ( /obj/structure/machinery/photocopier, @@ -17708,6 +17763,11 @@ icon_state = "blue" }, /area/lv522/indoors/a_block/hallway) +"hvf" = ( +/turf/closed/shuttle/dropship2/tornado{ + icon_state = "30" + }, +/area/lv522/landing_zone_forecon/UD6_Tornado) "hvh" = ( /obj/structure/platform, /turf/open/gm/river, @@ -19355,9 +19415,10 @@ }, /area/lv522/atmos/reactor_garage) "ibE" = ( -/turf/closed/shuttle/dropship2/tornado{ - icon_state = "23" +/obj/structure/shuttle/part/tornado/transparent{ + icon_state = "21" }, +/turf/open/floor/plating, /area/lv522/landing_zone_forecon/UD6_Tornado) "ibS" = ( /obj/effect/decal/cleanable/blood/drip, @@ -21993,6 +22054,12 @@ icon_state = "marked" }, /area/lv522/indoors/a_block/bridges) +"jcA" = ( +/obj/structure/shuttle/part/typhoon/transparent{ + icon_state = "4" + }, +/turf/open/floor/plating, +/area/lv522/outdoors/colony_streets/north_east_street) "jcH" = ( /obj/effect/spawner/gibspawner/human, /obj/item/clothing/suit/storage/marine/smartgunner, @@ -22222,6 +22289,12 @@ icon_state = "blue_plate" }, /area/lv522/indoors/a_block/admin) +"jgW" = ( +/obj/structure/shuttle/part/tornado/transparent{ + icon_state = "22" + }, +/turf/open/floor/plating, +/area/lv522/outdoors/colony_streets/north_east_street) "jhe" = ( /obj/effect/decal/warning_stripes{ icon_state = "W" @@ -23747,11 +23820,16 @@ /turf/open/auto_turf/shale/layer1, /area/lv522/outdoors/colony_streets/central_streets) "jHa" = ( -/obj/structure/cargo_container/wy/right{ - layer = 5 +/obj/structure/shuttle/part/typhoon/transparent{ + icon_state = "40"; + density = 0; + layer = 4.2 }, -/turf/open/auto_turf/sand_white/layer0, -/area/lv522/outdoors/w_rockies) +/obj/structure/shuttle/part/typhoon/transparent{ + icon_state = "65" + }, +/turf/open/auto_turf/shale/layer1, +/area/lv522/landing_zone_forecon/UD6_Typhoon) "jHb" = ( /turf/open/gm/river, /area/lv522/oob) @@ -26138,7 +26216,7 @@ /area/lv522/indoors/a_block/admin) "kzk" = ( /turf/closed/shuttle/dropship2/tornado{ - icon_state = "17" + icon_state = "47" }, /area/lv522/landing_zone_forecon/UD6_Tornado) "kzl" = ( @@ -26887,11 +26965,10 @@ }, /area/lv522/indoors/a_block/dorm_north) "kNR" = ( -/obj/structure/closet/crate/explosives, -/obj/item/storage/box/explosive_mines, -/turf/open/shuttle/dropship{ - icon_state = "rasputin15" +/obj/structure/shuttle/part/tornado/transparent{ + icon_state = "100" }, +/turf/open/floor/plating, /area/lv522/landing_zone_forecon/UD6_Tornado) "kOa" = ( /obj/structure/pipes/standard/simple/hidden/green{ @@ -27971,13 +28048,8 @@ }, /area/lv522/atmos/cargo_intake) "lgw" = ( -/obj/structure/machinery/door/poddoor/shutters/almayer{ - dir = 4; - id = "UD6 East"; - indestructible = 1 - }, -/turf/open/shuttle/dropship{ - icon_state = "rasputin3" +/turf/closed/shuttle/dropship2/tornado{ + icon_state = "64" }, /area/lv522/landing_zone_forecon/UD6_Tornado) "lgR" = ( @@ -29531,6 +29603,11 @@ }, /turf/open/auto_turf/shale/layer1, /area/lv522/outdoors/nw_rockies) +"lMI" = ( +/turf/closed/shuttle/dropship2/tornado{ + icon_state = "62" + }, +/area/lv522/landing_zone_forecon/UD6_Tornado) "lML" = ( /obj/effect/decal/cleanable/generic, /turf/open/floor/prison{ @@ -29935,11 +30012,11 @@ /turf/closed/wall/strata_outpost, /area/lv522/indoors/a_block/kitchen/glass) "lVs" = ( -/obj/structure/platform_decoration{ - dir = 4 +/obj/structure/shuttle/part/tornado/transparent{ + icon_state = "102" }, /turf/open/floor/plating, -/area/lv522/outdoors/colony_streets/north_east_street) +/area/lv522/landing_zone_forecon/UD6_Tornado) "lVA" = ( /obj/structure/surface/table/almayer, /obj/item/reagent_container/food/drinks/cans/souto{ @@ -31512,6 +31589,18 @@ icon_state = "w-y2" }, /area/lv522/atmos/way_in_command_centre) +"mCl" = ( +/obj/structure/stairs/perspective{ + icon_state = "p_stair_full"; + can_block_movement = 0 + }, +/obj/structure/platform{ + dir = 4 + }, +/turf/open/shuttle/dropship{ + icon_state = "rasputin15" + }, +/area/lv522/landing_zone_forecon/UD6_Tornado) "mCm" = ( /obj/structure/pipes/standard/simple/hidden/green{ dir = 4 @@ -32752,11 +32841,14 @@ /turf/open/floor/prison, /area/lv522/indoors/a_block/dorms) "mZM" = ( -/obj/structure/cargo_container/wy/left{ - layer = 5 +/obj/structure/stairs/perspective{ + icon_state = "p_stair_full"; + can_block_movement = 0 }, -/turf/open/auto_turf/sand_white/layer0, -/area/lv522/outdoors/w_rockies) +/turf/open/shuttle/dropship{ + icon_state = "rasputin3" + }, +/area/lv522/landing_zone_forecon/UD6_Tornado) "mZN" = ( /obj/effect/landmark/structure_spawner/setup/distress/xeno_door, /obj/structure/pipes/standard/simple/hidden/green{ @@ -32949,8 +33041,8 @@ /turf/open/floor/prison, /area/lv522/indoors/c_block/mining) "nbO" = ( -/turf/closed/shuttle/dropship2/tornado/typhoon{ - icon_state = "77" +/turf/closed/shuttle/typhoon/transparent{ + icon_state = "86a" }, /area/lv522/landing_zone_forecon/UD6_Typhoon) "nbT" = ( @@ -33149,8 +33241,8 @@ }, /area/lv522/indoors/a_block/bridges/garden_bridge) "nfq" = ( -/turf/closed/shuttle/dropship2/tornado/typhoon{ - icon_state = "36" +/turf/closed/shuttle/typhoon{ + icon_state = "103" }, /area/lv522/landing_zone_forecon/UD6_Typhoon) "nfP" = ( @@ -34884,6 +34976,12 @@ icon_state = "floor_plate" }, /area/lv522/indoors/a_block/dorms) +"nOm" = ( +/obj/item/clothing/suit/storage/labcoat/officer, +/turf/open/shuttle/dropship{ + icon_state = "rasputin3" + }, +/area/lv522/landing_zone_forecon/UD6_Typhoon) "nOB" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/wood, @@ -34967,8 +35065,11 @@ }, /area/lv522/indoors/a_block/admin) "nPN" = ( -/turf/closed/shuttle/dropship2/tornado, -/area/lv522/landing_zone_forecon/UD6_Tornado) +/obj/structure/shuttle/part/tornado/transparent{ + icon_state = "28" + }, +/turf/open/floor/plating, +/area/lv522/outdoors/colony_streets/north_east_street) "nPV" = ( /obj/structure/bed/chair/comfy, /turf/open/floor/prison, @@ -35050,9 +35151,10 @@ }, /area/lv522/indoors/a_block/security/glass) "nQY" = ( -/turf/closed/shuttle/dropship2/tornado{ - icon_state = "53" +/obj/structure/shuttle/part/tornado/transparent{ + icon_state = "35" }, +/turf/open/floor/plating, /area/lv522/landing_zone_forecon/UD6_Tornado) "nRp" = ( /obj/structure/pipes/vents/pump, @@ -35168,8 +35270,9 @@ /turf/open/floor/prison, /area/lv522/indoors/a_block/admin) "nSN" = ( -/turf/closed/shuttle/dropship2/tornado{ - icon_state = "27" +/obj/effect/attach_point/crew_weapon/tornado, +/turf/open/shuttle/dropship{ + icon_state = "rasputin15" }, /area/lv522/landing_zone_forecon/UD6_Tornado) "nTa" = ( @@ -35587,6 +35690,12 @@ icon_state = "floor_plate" }, /area/lv522/atmos/cargo_intake) +"nZN" = ( +/obj/structure/shuttle/part/tornado/transparent{ + icon_state = "39" + }, +/turf/open/floor/plating, +/area/lv522/outdoors/colony_streets/north_east_street) "oaa" = ( /turf/open/asphalt/cement{ icon_state = "cement14" @@ -35660,10 +35769,11 @@ }, /area/lv522/indoors/a_block/fitness) "obe" = ( -/turf/closed/shuttle/dropship2/tornado/typhoon{ - icon_state = "40" +/obj/vehicle/powerloader{ + dir = 4 }, -/area/lv522/landing_zone_forecon/UD6_Tornado) +/turf/open/floor/plating, +/area/lv522/outdoors/colony_streets/north_east_street) "obt" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/machinery/telecomms/bus/preset_one, @@ -36871,15 +36981,13 @@ }, /area/lv522/indoors/a_block/dorms) "oyR" = ( -/obj/structure/surface/table/almayer, -/obj/item/storage/surgical_tray/empty, -/obj/structure/machinery/light/double{ - dir = 4; - pixel_y = -5 +/obj/structure/bed/portable_surgery{ + pixel_y = 5 }, -/turf/open/floor/strata{ +/obj/structure/curtain/medical, +/turf/open/floor/plating{ dir = 8; - icon_state = "white_cyan2" + icon_state = "platingdmg3" }, /area/lv522/outdoors/w_rockies) "oyY" = ( @@ -38709,8 +38817,12 @@ }, /area/lv522/indoors/c_block/cargo) "pkB" = ( -/turf/closed/shuttle/dropship2/tornado{ - icon_state = "9" +/obj/structure/machinery/light/double{ + dir = 4; + pixel_y = -5 + }, +/turf/open/shuttle/dropship{ + icon_state = "rasputin15" }, /area/lv522/landing_zone_forecon/UD6_Tornado) "pkE" = ( @@ -38858,9 +38970,10 @@ /turf/open/auto_turf/sand_white/layer0, /area/lv522/outdoors/colony_streets/north_east_street) "pps" = ( -/turf/closed/shuttle/dropship2/tornado/typhoon{ +/obj/structure/shuttle/part/typhoon/transparent{ icon_state = "100" }, +/turf/open/auto_turf/shale/layer1, /area/lv522/landing_zone_forecon/UD6_Typhoon) "ppy" = ( /obj/structure/surface/table/almayer{ @@ -38878,9 +38991,10 @@ /turf/open/auto_turf/sand_white/layer0, /area/lv522/outdoors/colony_streets/south_east_street) "ppF" = ( -/turf/closed/shuttle/dropship2/tornado/typhoon{ +/obj/structure/shuttle/part/typhoon/transparent{ icon_state = "101" }, +/turf/open/auto_turf/shale/layer1, /area/lv522/landing_zone_forecon/UD6_Typhoon) "ppK" = ( /obj/structure/surface/table/almayer, @@ -38944,9 +39058,10 @@ /turf/open/auto_turf/sand_white/layer0, /area/lv522/outdoors/colony_streets/north_street) "pqZ" = ( -/turf/closed/shuttle/dropship2/tornado/typhoon{ +/obj/structure/shuttle/part/typhoon/transparent{ icon_state = "102" }, +/turf/open/auto_turf/shale/layer1, /area/lv522/landing_zone_forecon/UD6_Typhoon) "prs" = ( /obj/effect/decal/cleanable/blood/xeno{ @@ -38957,9 +39072,9 @@ /area/lv522/outdoors/colony_streets/north_street) "prD" = ( /turf/closed/shuttle/dropship2/tornado{ - icon_state = "5" + icon_state = "104" }, -/area/lv522/landing_zone_forecon/UD6_Tornado) +/area/lv522/outdoors/colony_streets/north_east_street) "prM" = ( /obj/structure/cargo_container/horizontal/blue/top, /turf/open/floor/prison, @@ -39274,9 +39389,10 @@ }, /area/lv522/indoors/a_block/dorms) "pxY" = ( -/turf/closed/shuttle/dropship2/tornado/typhoon{ - icon_state = "95" +/obj/structure/shuttle/part/typhoon/transparent{ + icon_state = "95a" }, +/turf/open/auto_turf/shale/layer1, /area/lv522/landing_zone_forecon/UD6_Typhoon) "pyc" = ( /obj/effect/decal/cleanable/blood/drip, @@ -39295,8 +39411,8 @@ }, /area/lv522/atmos/cargo_intake) "pys" = ( -/turf/closed/shuttle/dropship2/tornado{ - icon_state = "97" +/turf/closed/shuttle/typhoon/transparent{ + icon_state = "97a" }, /area/lv522/landing_zone_forecon/UD6_Typhoon) "pyA" = ( @@ -39307,13 +39423,11 @@ }, /area/lv522/indoors/a_block/hallway) "pyO" = ( -/obj/structure/prop/invuln/fire{ - pixel_x = -8; - pixel_y = 10 - }, -/turf/closed/shuttle/dropship2/tornado/typhoon{ - icon_state = "99" +/obj/structure/shuttle/part/typhoon/transparent{ + icon_state = "99a"; + layer = 2.97 }, +/turf/open/auto_turf/shale/layer1, /area/lv522/landing_zone_forecon/UD6_Typhoon) "pza" = ( /obj/item/stack/sheet/wood{ @@ -39380,9 +39494,10 @@ }, /area/lv522/indoors/a_block/hallway) "pAd" = ( -/turf/closed/shuttle/dropship2/tornado{ - icon_state = "24" +/obj/structure/shuttle/part/typhoon/transparent{ + icon_state = "9" }, +/turf/open/floor/plating, /area/lv522/landing_zone_forecon/UD6_Tornado) "pAj" = ( /turf/open/asphalt/cement{ @@ -39449,12 +39564,12 @@ /turf/open/floor/carpet, /area/lv522/indoors/c_block/casino) "pBQ" = ( -/obj/structure/stairs/perspective{ - icon_state = "p_stair_full" - }, -/turf/open/shuttle/dropship{ - icon_state = "rasputin3" +/obj/structure/shuttle/part/typhoon/transparent{ + icon_state = "41"; + density = 0; + layer = 4.2 }, +/turf/open/auto_turf/sand_white/layer0, /area/lv522/landing_zone_forecon/UD6_Typhoon) "pBT" = ( /turf/open/floor/prison{ @@ -39827,8 +39942,8 @@ }, /area/lv522/indoors/a_block/bridges/dorms_fitness) "pIu" = ( -/turf/closed/shuttle/dropship2/tornado/typhoon{ - icon_state = "86" +/turf/closed/shuttle/typhoon/transparent{ + icon_state = "86b" }, /area/lv522/landing_zone_forecon/UD6_Typhoon) "pIx" = ( @@ -39838,24 +39953,18 @@ }, /area/lv522/indoors/c_block/mining) "pIO" = ( -/obj/structure/machinery/computer/cameras{ - desc = "The flight controls for a UD6 Dropship. these controls look pretty banged up, and there's some blood covering the screen.."; - name = "\improper 'Typhoon' flight controls"; - network = null; - pixel_y = 21 - }, -/obj/structure/bed/chair/dropship/pilot{ - dir = 1 - }, -/obj/structure/machinery/light/double{ +/obj/structure/bed/chair/vehicle/dropship_cockpit/pilot{ dir = 1; - layer = 2.9; - pixel_y = 9 + pixel_x = 6; + layer = 3.1 }, -/obj/item/prop/almayer/flight_recorder{ - layer = 2.9; - pixel_x = -9; - pixel_y = 4 +/obj/structure/prop{ + desc = "A flight computer that can be used for autopilot or long-range flights."; + icon = 'icons/obj/structures/machinery/computer.dmi'; + icon_state = "camerasb_old"; + name = "dropship navigation computer"; + pixel_x = 5; + pixel_y = 8 }, /turf/open/shuttle/dropship{ icon_state = "rasputin15" @@ -40352,14 +40461,20 @@ /turf/open/floor/prison, /area/lv522/indoors/c_block/garage) "pRK" = ( -/turf/closed/shuttle/dropship2/tornado/typhoon{ - icon_state = "75" +/obj/structure/shuttle/part/typhoon/transparent{ + icon_state = "40"; + density = 0; + layer = 4.2 }, +/turf/open/auto_turf/shale/layer1, /area/lv522/landing_zone_forecon/UD6_Typhoon) "pRM" = ( -/turf/closed/shuttle/dropship2/tornado/typhoon{ - icon_state = "81" +/obj/structure/shuttle/part/typhoon/transparent{ + icon_state = "41"; + density = 0; + layer = 4.2 }, +/turf/open/auto_turf/shale/layer1, /area/lv522/landing_zone_forecon/UD6_Typhoon) "pRR" = ( /obj/effect/spawner/gibspawner/xeno, @@ -40500,8 +40615,11 @@ /turf/open/floor/carpet, /area/lv522/indoors/c_block/casino) "pUc" = ( -/turf/open/floor/plating, -/area/lv522/outdoors/w_rockies) +/obj/structure/shuttle/part/typhoon/transparent{ + icon_state = "38" + }, +/turf/open/auto_turf/shale/layer1, +/area/lv522/landing_zone_forecon/UD6_Typhoon) "pUd" = ( /obj/structure/machinery/light, /obj/effect/decal/cleanable/dirt, @@ -40778,10 +40896,11 @@ }, /area/lv522/indoors/lone_buildings/storage_blocks) "pZb" = ( -/turf/closed/shuttle/dropship2/tornado/typhoon{ - icon_state = "33" +/obj/structure/shuttle/part/tornado/transparent{ + icon_state = "21" }, -/area/lv522/landing_zone_forecon/UD6_Typhoon) +/turf/open/floor/plating, +/area/lv522/outdoors/colony_streets/north_east_street) "pZi" = ( /obj/structure/prop/invuln/ice_prefab, /turf/open/asphalt/cement{ @@ -41281,10 +41400,8 @@ /turf/open/floor/prison, /area/lv522/indoors/a_block/dorm_north) "qjs" = ( -/turf/closed/shuttle/dropship2/tornado/typhoon{ - icon_state = "71" - }, -/area/lv522/landing_zone_forecon/UD6_Typhoon) +/turf/open/auto_turf/shale/layer1, +/area/lv522/oob) "qjt" = ( /obj/structure/pipes/standard/simple/hidden/green{ dir = 4 @@ -41295,19 +41412,11 @@ }, /area/lv522/indoors/a_block/dorms) "qjy" = ( -/obj/structure/machinery/door/poddoor/shutters/almayer{ - dir = 4; - id = "UD6 East"; - indestructible = 1 - }, -/obj/structure/machinery/door/airlock/multi_tile/almayer/dropshiprear/dropshipside/ds2{ - dir = 1; - name = "\improper Tornado crew hatch" - }, -/turf/open/shuttle/dropship{ - icon_state = "rasputin3" +/obj/structure/shuttle/part/typhoon/transparent{ + icon_state = "32" }, -/area/lv522/landing_zone_forecon/UD6_Tornado) +/turf/open/auto_turf/shale/layer1, +/area/lv522/landing_zone_forecon/UD6_Typhoon) "qjC" = ( /obj/item/stack/rods, /turf/open/floor/prison, @@ -41330,16 +41439,13 @@ /turf/open/auto_turf/shale/layer1, /area/lv522/outdoors/colony_streets/south_east_street) "qjX" = ( -/obj/item/clothing/mask/facehugger{ - desc = "It has some sort of a tube at the end of its tail. What the hell is this thing?"; - icon_state = "facehugger_impregnated"; - layer = 3; - name = "????"; - stat = 2 +/obj/structure/shuttle/part/tornado/transparent{ + icon_state = "32" }, -/turf/open/shuttle/dropship{ - icon_state = "rasputin3" +/obj/effect/attach_point/fuel/tornado{ + layer = 3.1 }, +/turf/open/floor/plating, /area/lv522/landing_zone_forecon/UD6_Tornado) "qkw" = ( /obj/structure/prop/invuln/remote_console_pod, @@ -41460,12 +41566,8 @@ }, /area/lv522/indoors/b_block/bar) "qmM" = ( -/obj/structure/prop/invuln/fire{ - pixel_x = -8; - pixel_y = 10 - }, -/turf/closed/shuttle/dropship2/tornado/typhoon{ - icon_state = "72" +/turf/closed/shuttle/typhoon{ + icon_state = "75" }, /area/lv522/landing_zone_forecon/UD6_Typhoon) "qnb" = ( @@ -41479,27 +41581,8 @@ /turf/open/auto_turf/sand_white/layer0, /area/lv522/outdoors/colony_streets/north_east_street) "qnk" = ( -/obj/structure/surface/table/almayer, -/obj/structure/machinery/computer/overwatch/almayer/broken{ - dir = 8; - pixel_x = -12; - pixel_y = 1 - }, -/obj/item/storage/backpack/marine/satchel/rto/small{ - pixel_x = 7; - pixel_y = 19 - }, -/obj/structure/machinery/door_control{ - id = "UD6 East"; - name = "Cargo Shutter Control"; - pixel_y = -4 - }, -/obj/item/clothing/head/headset{ - pixel_x = 4 - }, -/turf/open/floor/strata{ - dir = 8; - icon_state = "white_cyan2" +/turf/closed/shuttle/typhoon{ + icon_state = "77" }, /area/lv522/landing_zone_forecon/UD6_Typhoon) "qnn" = ( @@ -41562,12 +41645,8 @@ }, /area/lv522/indoors/a_block/hallway) "qnV" = ( -/obj/structure/bed/chair/dropship/passenger{ - dir = 8 - }, -/obj/effect/decal/cleanable/blood/splatter, -/turf/open/shuttle/dropship{ - icon_state = "rasputin6" +/turf/closed/shuttle/typhoon{ + icon_state = "82" }, /area/lv522/landing_zone_forecon/UD6_Typhoon) "qnY" = ( @@ -41600,10 +41679,11 @@ }, /area/lv522/atmos/sewer) "qpg" = ( -/turf/open/shuttle/dropship{ - icon_state = "floor8" +/obj/structure/shuttle/part/tornado/transparent{ + icon_state = "16" }, -/area/lv522/landing_zone_forecon/UD6_Typhoon) +/turf/open/floor/plating, +/area/lv522/outdoors/colony_streets/north_east_street) "qpq" = ( /obj/structure/surface/table/almayer, /obj/structure/machinery/prop/almayer/computer/PC{ @@ -41744,11 +41824,10 @@ }, /area/lv522/indoors/c_block/garage) "qqS" = ( -/obj/structure/bed/chair/dropship/passenger{ - dir = 4 - }, -/turf/open/shuttle/dropship{ - icon_state = "rasputin7" +/obj/structure/girder/reinforced, +/turf/open/floor/plating{ + dir = 8; + icon_state = "platingdmg3" }, /area/lv522/outdoors/w_rockies) "qqW" = ( @@ -41777,12 +41856,10 @@ }, /area/lv522/indoors/c_block/mining) "qrj" = ( -/obj/structure/machinery/optable, -/turf/open/floor/strata{ - dir = 8; - icon_state = "white_cyan2" +/turf/closed/shuttle/dropship2/tornado{ + icon_state = "103" }, -/area/lv522/outdoors/w_rockies) +/area/lv522/outdoors/colony_streets/north_east_street) "qro" = ( /obj/effect/landmark/structure_spawner/setup/distress/xeno_door, /turf/open/floor/corsat{ @@ -41817,8 +41894,10 @@ /turf/open/floor/plating, /area/lv522/indoors/c_block/cargo) "qst" = ( -/obj/structure/girder/displaced, -/turf/open/floor/plating, +/turf/open/floor/plating{ + dir = 8; + icon_state = "platingdmg3" + }, /area/lv522/outdoors/w_rockies) "qsC" = ( /obj/structure/surface/table/almayer, @@ -41873,10 +41952,11 @@ /turf/open/gm/river, /area/lv522/atmos/sewer) "qtc" = ( -/turf/closed/shuttle/dropship2/tornado/typhoon{ - icon_state = "74" +/obj/structure/shuttle/part/tornado/transparent{ + icon_state = "29" }, -/area/lv522/landing_zone_forecon/UD6_Typhoon) +/turf/open/floor/plating, +/area/lv522/outdoors/colony_streets/north_east_street) "qtg" = ( /obj/structure/platform_decoration{ dir = 8 @@ -42195,19 +42275,25 @@ }, /turf/open/floor/wood, /area/lv522/indoors/a_block/fitness/glass) -"qzp" = ( -/obj/structure/machinery/door/airlock/multi_tile/almayer/dropshiprear/dropshipside/ds2{ - dir = 1; - name = "\improper Typhoon crew hatch" +"qze" = ( +/obj/item/ammo_magazine/rifle/heap{ + current_rounds = 0 }, +/obj/effect/decal/cleanable/blood, /turf/open/shuttle/dropship{ icon_state = "rasputin3" }, /area/lv522/landing_zone_forecon/UD6_Typhoon) +"qzp" = ( +/turf/closed/shuttle/typhoon{ + icon_state = "62" + }, +/area/lv522/landing_zone_forecon/UD6_Typhoon) "qzw" = ( -/turf/closed/shuttle/dropship2/tornado{ - icon_state = "26" +/obj/structure/shuttle/part/tornado/transparent{ + icon_state = "16" }, +/turf/open/floor/plating, /area/lv522/landing_zone_forecon/UD6_Tornado) "qzy" = ( /obj/structure/largecrate/random/barrel{ @@ -42352,8 +42438,21 @@ /turf/open/floor/prison, /area/lv522/indoors/a_block/dorms) "qBH" = ( -/obj/structure/cargo_container/wy/left, -/turf/open/floor/plating, +/obj/effect/decal/warning_stripes{ + icon_state = "N"; + pixel_y = -1 + }, +/obj/effect/decal/warning_stripes{ + icon_state = "S"; + pixel_y = 2 + }, +/obj/structure/machinery/door/airlock/multi_tile/almayer/dropshiprear/ds2{ + id = "aft_door"; + name = "\improper Tornado cargo door" + }, +/turf/open/shuttle/dropship{ + icon_state = "rasputin14" + }, /area/lv522/outdoors/colony_streets/north_east_street) "qBQ" = ( /obj/structure/prop/invuln/ice_prefab/standalone/trim{ @@ -42570,9 +42669,10 @@ }, /area/lv522/indoors/a_block/dorms) "qFs" = ( -/turf/closed/shuttle/dropship2/tornado/typhoon{ - icon_state = "66" +/obj/structure/shuttle/part/typhoon/transparent{ + icon_state = "71" }, +/turf/open/auto_turf/shale/layer1, /area/lv522/landing_zone_forecon/UD6_Typhoon) "qFE" = ( /turf/open/asphalt/cement{ @@ -42620,8 +42720,8 @@ /turf/open/floor/plating/plating_catwalk/prison, /area/lv522/indoors/a_block/bridges) "qGQ" = ( -/turf/closed/shuttle/dropship2/tornado/typhoon{ - icon_state = "67" +/turf/closed/shuttle/typhoon{ + icon_state = "72" }, /area/lv522/landing_zone_forecon/UD6_Typhoon) "qHa" = ( @@ -42631,10 +42731,13 @@ }, /area/lv522/indoors/a_block/dorms) "qHg" = ( -/turf/closed/shuttle/dropship2/tornado{ - icon_state = "2" +/obj/structure/shuttle/part/typhoon/transparent{ + icon_state = "40"; + density = 0; + layer = 4.2 }, -/area/lv522/landing_zone_forecon/UD6_Tornado) +/turf/open/auto_turf/sand_white/layer0, +/area/lv522/outdoors/w_rockies) "qHj" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/generic, @@ -42661,22 +42764,22 @@ /turf/open/floor/prison, /area/lv522/indoors/c_block/mining) "qHA" = ( -/obj/structure/machinery/prop/almayer/CICmap, -/obj/item/reagent_container/food/drinks/coffee{ - pixel_x = -4; - pixel_y = 2 +/obj/structure/machinery/computer/overwatch/toc{ + pixel_y = 14 }, -/obj/structure/machinery/light/double{ - dir = 8; - pixel_y = -5 +/obj/structure/surface/table/reinforced/toc/west{ + pixel_y = -7 }, -/obj/item/ammo_magazine/rifle/m4ra{ - pixel_x = 5; - pixel_y = 6 +/obj/structure/machinery/prop/almayer/CICmap/arc{ + pixel_y = 9; + pixel_x = -9 }, -/turf/open/floor/strata{ - dir = 8; - icon_state = "white_cyan2" +/obj/structure/machinery/computer/railgun/toc{ + pixel_y = 14; + pixel_x = 7 + }, +/turf/open/shuttle/dropship{ + icon_state = "rasputin15" }, /area/lv522/landing_zone_forecon/UD6_Typhoon) "qHD" = ( @@ -42726,7 +42829,12 @@ }, /area/lv522/indoors/c_block/cargo) "qJl" = ( -/obj/effect/decal/cleanable/blood/splatter, +/obj/structure/bed/chair/dropship/passenger{ + dir = 4 + }, +/obj/structure/barricade/handrail{ + dir = 1 + }, /turf/open/shuttle/dropship{ icon_state = "rasputin15" }, @@ -42755,11 +42863,11 @@ }, /area/lv522/indoors/b_block/bridge) "qJw" = ( -/obj/item/clothing/suit/storage/RO{ - name = "\improper UA jacket" +/obj/structure/bed/chair/dropship/passenger/folded{ + dir = 4 }, /turf/open/shuttle/dropship{ - icon_state = "rasputin3" + icon_state = "rasputin7" }, /area/lv522/landing_zone_forecon/UD6_Typhoon) "qJy" = ( @@ -42866,8 +42974,8 @@ }, /area/lv522/indoors/a_block/dorms) "qLz" = ( -/turf/closed/shuttle/dropship2/tornado/typhoon{ - icon_state = "69" +/turf/closed/shuttle/typhoon{ + icon_state = "73" }, /area/lv522/landing_zone_forecon/UD6_Typhoon) "qLJ" = ( @@ -42909,17 +43017,10 @@ /turf/open/auto_turf/shale/layer1, /area/lv522/outdoors/colony_streets/north_east_street) "qME" = ( -/obj/structure/prop/invuln/fire{ - pixel_x = -7; - pixel_y = 24 - }, -/obj/structure/prop/invuln/fire{ - pixel_x = -8; - pixel_y = 10 - }, -/turf/closed/shuttle/dropship2/tornado/typhoon{ - icon_state = "70" +/obj/structure/shuttle/part/typhoon/transparent{ + icon_state = "74" }, +/turf/open/auto_turf/shale/layer1, /area/lv522/landing_zone_forecon/UD6_Typhoon) "qMJ" = ( /obj/structure/platform{ @@ -43050,13 +43151,10 @@ }, /area/lv522/indoors/lone_buildings/engineering) "qOi" = ( -/obj/structure/prop/invuln/fire{ - pixel_x = -8; - pixel_y = 10 - }, -/turf/closed/shuttle/dropship2/tornado/typhoon{ +/obj/structure/shuttle/part/tornado/transparent{ icon_state = "26" }, +/turf/open/auto_turf/shale/layer1, /area/lv522/landing_zone_forecon/UD6_Typhoon) "qOn" = ( /obj/structure/window/reinforced{ @@ -43340,9 +43438,10 @@ /turf/open/auto_turf/sand_white/layer0, /area/lv522/outdoors/colony_streets/north_east_street) "qSP" = ( -/turf/closed/shuttle/dropship2/tornado/typhoon{ - icon_state = "61" +/obj/structure/shuttle/part/typhoon/transparent{ + icon_state = "66" }, +/turf/open/auto_turf/shale/layer1, /area/lv522/landing_zone_forecon/UD6_Typhoon) "qSS" = ( /obj/structure/prop/ice_colony/dense/planter_box{ @@ -43369,8 +43468,8 @@ }, /area/lv522/indoors/c_block/mining) "qTh" = ( -/turf/closed/shuttle/dropship2/tornado/typhoon{ - icon_state = "62" +/turf/closed/shuttle/typhoon{ + icon_state = "67" }, /area/lv522/landing_zone_forecon/UD6_Typhoon) "qTr" = ( @@ -43445,45 +43544,28 @@ /turf/open/auto_turf/sand_white/layer0, /area/lv522/outdoors/colony_streets/south_east_street) "qTO" = ( -/obj/structure/largecrate/supply/ammo/m41a/half{ - pixel_x = 5 +/obj/structure/machinery/light/double{ + dir = 8; + pixel_y = -5 }, -/obj/item/storage/box/guncase/m41a{ - pixel_x = 2; - pixel_y = 6 +/obj/structure/bed/chair/vehicle/toc{ + dir = 1; + pixel_y = 19; + pixel_x = 16 }, -/obj/item/ammo_box/rounds/empty{ - layer = 3.1; - pixel_y = -15 +/obj/effect/decal/cleanable/dirt, +/obj/item/storage/backpack/marine/satchel/rto{ + pixel_y = 12; + pixel_x = -6 }, /turf/open/shuttle/dropship{ icon_state = "rasputin15" }, /area/lv522/landing_zone_forecon/UD6_Typhoon) "qUf" = ( -/obj/item/ammo_magazine/rifle/m4ra/ext{ - current_rounds = 0 - }, -/obj/item/ammo_magazine/rifle/m4ra/ext{ - current_rounds = 0 - }, -/obj/item/ammo_magazine/rifle/m4ra/ext{ - current_rounds = 0 - }, -/obj/item/ammo_magazine/rifle/m4ra/ext{ - current_rounds = 0 - }, -/obj/structure/closet/crate/ammo, -/obj/structure/barricade/handrail{ - dir = 8 - }, -/obj/structure/barricade/handrail{ - dir = 4 - }, -/turf/open/shuttle/dropship{ - icon_state = "rasputin15" - }, -/area/lv522/landing_zone_forecon/UD6_Typhoon) +/obj/structure/cargo_container/lockmart/left, +/turf/open/floor/plating, +/area/lv522/outdoors/colony_streets/north_east_street) "qUh" = ( /obj/structure/pipes/standard/simple/hidden/green{ dir = 9 @@ -43512,15 +43594,17 @@ }, /area/lv522/atmos/reactor_garage) "qUD" = ( -/obj/structure/machinery/cm_vending/sorted/medical/wall_med/limited{ - pixel_x = 30 +/obj/structure/machinery/light/double{ + dir = 4; + pixel_y = -5 }, -/obj/effect/decal/cleanable/blood/splatter, -/obj/item/ammo_box/rounds/smg{ - layer = 3; - pixel_x = 1; - pixel_y = 4 +/obj/structure/surface/table/almayer, +/obj/item/storage/surgical_tray/empty, +/obj/item/reagent_container/hypospray/autoinjector/oxycodone{ + pixel_y = 9; + pixel_x = -3 }, +/obj/effect/decal/cleanable/dirt, /turf/open/shuttle/dropship{ icon_state = "rasputin15" }, @@ -43556,8 +43640,8 @@ }, /area/lv522/indoors/a_block/dorms) "qVl" = ( -/turf/closed/shuttle/dropship2/tornado/typhoon{ - icon_state = "64" +/turf/closed/shuttle/typhoon{ + icon_state = "69" }, /area/lv522/landing_zone_forecon/UD6_Typhoon) "qVN" = ( @@ -43618,9 +43702,10 @@ }, /area/lv522/indoors/a_block/dorms) "qWZ" = ( -/turf/closed/shuttle/dropship2/tornado/typhoon{ - icon_state = "65" +/obj/structure/shuttle/part/typhoon/transparent{ + icon_state = "70" }, +/turf/open/auto_turf/shale/layer1, /area/lv522/landing_zone_forecon/UD6_Typhoon) "qXs" = ( /obj/structure/closet/firecloset/full, @@ -44193,9 +44278,10 @@ }, /area/lv522/outdoors/colony_streets/east_central_street) "rfi" = ( -/turf/closed/shuttle/dropship2/tornado{ - icon_state = "100" +/obj/structure/shuttle/part/tornado/transparent{ + icon_state = "95a" }, +/turf/open/floor/plating, /area/lv522/landing_zone_forecon/UD6_Tornado) "rfk" = ( /obj/effect/decal/cleanable/dirt, @@ -44237,7 +44323,8 @@ /area/lv522/indoors/c_block/cargo) "rgA" = ( /turf/closed/shuttle/dropship2/tornado{ - icon_state = "101" + icon_state = "97a"; + opacity = 0 }, /area/lv522/landing_zone_forecon/UD6_Tornado) "rgG" = ( @@ -44303,9 +44390,10 @@ }, /area/lv522/landing_zone_forecon/UD6_Typhoon) "rii" = ( -/turf/closed/shuttle/dropship2/tornado{ - icon_state = "102" +/obj/structure/shuttle/part/tornado/transparent{ + icon_state = "99a" }, +/turf/open/floor/plating, /area/lv522/landing_zone_forecon/UD6_Tornado) "ris" = ( /obj/structure/surface/table/reinforced/prison, @@ -44320,10 +44408,9 @@ }, /area/lv522/indoors/a_block/medical/glass) "riE" = ( -/turf/closed/shuttle/dropship2/tornado/typhoon{ - icon_state = "68" - }, -/area/lv522/landing_zone_forecon/UD6_Typhoon) +/obj/item/stack/sheet/metal/med_small_stack, +/turf/open/auto_turf/sand_white/layer0, +/area/lv522/outdoors/w_rockies) "riJ" = ( /obj/structure/surface/table/reinforced/prison, /obj/item/paper_bin{ @@ -44404,8 +44491,11 @@ }, /area/lv522/landing_zone_forecon/UD6_Typhoon) "rkR" = ( -/obj/structure/barricade/deployable{ - dir = 4 +/obj/structure/bed/chair/dropship/passenger{ + dir = 8 + }, +/obj/structure/barricade/handrail{ + dir = 1 }, /turf/open/shuttle/dropship{ icon_state = "rasputin15" @@ -44930,12 +45020,16 @@ /turf/open/floor/prison, /area/lv522/indoors/a_block/dorms) "ruj" = ( -/turf/closed/shuttle/dropship2/tornado/typhoon{ - icon_state = "59" +/obj/structure/shuttle/part/tornado/transparent{ + icon_state = "28" }, -/area/lv522/landing_zone_forecon/UD6_Typhoon) +/obj/effect/attach_point/fuel/tornado{ + layer = 3.1 + }, +/turf/open/floor/plating, +/area/lv522/outdoors/colony_streets/north_east_street) "rus" = ( -/obj/effect/decal/cleanable/blood/splatter, +/obj/effect/attach_point/crew_weapon/typhoon, /turf/open/shuttle/dropship{ icon_state = "rasputin3" }, @@ -45242,7 +45336,8 @@ /area/lv522/indoors/c_block/garage) "rAc" = ( /turf/closed/shuttle/dropship2/tornado{ - icon_state = "95" + icon_state = "86b"; + opacity = 0 }, /area/lv522/landing_zone_forecon/UD6_Tornado) "rAf" = ( @@ -45258,13 +45353,16 @@ }, /area/lv522/indoors/a_block/dorms) "rAt" = ( -/obj/structure/stairs/perspective{ - icon_state = "p_stair_full" +/obj/structure/machinery/light/double{ + dir = 8; + pixel_y = -5 }, -/obj/structure/platform{ +/obj/structure/bed/chair/dropship/passenger{ dir = 4 }, -/turf/open/floor/plating, +/turf/open/shuttle/dropship{ + icon_state = "rasputin15" + }, /area/lv522/landing_zone_forecon/UD6_Tornado) "rAu" = ( /obj/structure/platform_decoration, @@ -45316,13 +45414,27 @@ /turf/open/floor/corsat, /area/lv522/atmos/cargo_intake) "rBU" = ( -/turf/closed/shuttle/dropship2/tornado/typhoon{ - icon_state = "41" +/obj/structure/shuttle/part/typhoon/transparent{ + icon_state = "39" }, +/turf/open/auto_turf/shale/layer1, /area/lv522/landing_zone_forecon/UD6_Typhoon) "rBZ" = ( -/turf/closed/shuttle/dropship2/tornado{ - icon_state = "97" +/obj/structure/bed/chair/vehicle{ + dir = 1; + pixel_x = 6; + layer = 4.1 + }, +/obj/structure/prop{ + desc = "A flight computer that can be used for autopilot or long-range flights."; + icon = 'icons/obj/structures/machinery/computer.dmi'; + icon_state = "camerasb_old"; + name = "dropship navigation computer"; + pixel_x = 5; + pixel_y = 8 + }, +/turf/open/shuttle/dropship{ + icon_state = "rasputin15" }, /area/lv522/landing_zone_forecon/UD6_Tornado) "rCa" = ( @@ -45334,7 +45446,8 @@ /area/lv522/indoors/lone_buildings/engineering) "rCi" = ( /turf/closed/shuttle/dropship2/tornado{ - icon_state = "99" + icon_state = "89b"; + opacity = 0 }, /area/lv522/landing_zone_forecon/UD6_Tornado) "rCp" = ( @@ -45382,14 +45495,11 @@ }, /area/lv522/landing_zone_2/ceiling) "rCI" = ( -/obj/structure/prop/invuln/fire{ - pixel_x = -6; - pixel_y = 32 - }, -/turf/closed/shuttle/dropship2/tornado{ - icon_state = "17" +/obj/structure/shuttle/part/tornado{ + icon_state = "6" }, -/area/lv522/landing_zone_forecon/UD6_Tornado) +/turf/open/floor/plating, +/area/lv522/outdoors/colony_streets/north_east_street) "rCQ" = ( /obj/structure/pipes/standard/simple/hidden/green{ dir = 4 @@ -45399,19 +45509,17 @@ }, /area/lv522/outdoors/colony_streets/south_east_street) "rDb" = ( -/obj/item/device/m56d_post, +/obj/effect/decal/cleanable/dirt, +/obj/effect/landmark/wo_supplies/storage/m56d, /turf/open/shuttle/dropship{ icon_state = "rasputin3" }, /area/lv522/landing_zone_forecon/UD6_Typhoon) "rDu" = ( -/obj/structure/machinery/door_control{ - id = "UD6"; - name = "Cargo Shutter Control" - }, -/turf/closed/shuttle/dropship2/tornado/typhoon{ - icon_state = "53" +/obj/structure/shuttle/part/typhoon/transparent{ + icon_state = "27" }, +/turf/open/auto_turf/shale/layer1, /area/lv522/landing_zone_forecon/UD6_Typhoon) "rDz" = ( /obj/structure/bed/chair/dropship/passenger{ @@ -45480,8 +45588,8 @@ }, /area/lv522/outdoors/colony_streets/east_central_street) "rFp" = ( -/turf/closed/shuttle/dropship2/tornado/typhoon{ - icon_state = "51" +/turf/closed/shuttle/typhoon{ + icon_state = "37" }, /area/lv522/landing_zone_forecon/UD6_Typhoon) "rFw" = ( @@ -45495,9 +45603,10 @@ /turf/open/floor/plating, /area/lv522/landing_zone_2) "rGg" = ( -/turf/closed/shuttle/dropship2/tornado/typhoon{ - icon_state = "40" +/obj/structure/shuttle/part/typhoon/transparent{ + icon_state = "38" }, +/turf/open/auto_turf/sand_white/layer0, /area/lv522/landing_zone_forecon/UD6_Typhoon) "rGi" = ( /obj/effect/landmark/structure_spawner/setup/distress/xeno_weed_node, @@ -45993,10 +46102,13 @@ }, /area/lv522/indoors/a_block/medical) "rOO" = ( -/turf/closed/shuttle/dropship2/tornado{ - icon_state = "4" +/obj/structure/shuttle/part/tornado/transparent{ + icon_state = "40"; + density = 0; + layer = 4.2 }, -/area/lv522/landing_zone_forecon/UD6_Tornado) +/turf/open/floor/plating, +/area/lv522/outdoors/colony_streets/north_east_street) "rOP" = ( /obj/structure/pipes/standard/simple/hidden/green{ dir = 4 @@ -46683,9 +46795,13 @@ }, /area/lv522/indoors/c_block/mining) "sbG" = ( -/turf/closed/shuttle/dropship2/tornado/typhoon{ +/obj/structure/shuttle/part/typhoon/transparent{ icon_state = "28" }, +/obj/effect/attach_point/fuel/typhoon{ + layer = 3.1 + }, +/turf/open/auto_turf/shale/layer1, /area/lv522/landing_zone_forecon/UD6_Typhoon) "sbJ" = ( /obj/structure/closet/wardrobe/medic_white, @@ -46711,43 +46827,45 @@ }, /area/lv522/indoors/a_block/kitchen/damage) "sci" = ( -/turf/closed/shuttle/dropship2/tornado/typhoon{ +/obj/structure/shuttle/part/typhoon/transparent{ icon_state = "29" }, +/turf/open/auto_turf/shale/layer1, /area/lv522/landing_zone_forecon/UD6_Typhoon) "sct" = ( -/turf/closed/shuttle/dropship2/tornado{ - icon_state = "40" +/obj/structure/closet/crate/explosives, +/obj/effect/landmark/wo_supplies/storage/mines, +/obj/effect/landmark/wo_supplies/storage/mines, +/turf/open/shuttle/dropship{ + icon_state = "rasputin3" }, /area/lv522/landing_zone_forecon/UD6_Tornado) "scv" = ( -/obj/structure/bed/chair/dropship/passenger{ - dir = 4 - }, /obj/structure/machinery/light/double{ dir = 8; pixel_y = -5 }, +/obj/structure/bed/chair/dropship/passenger{ + dir = 4 + }, /turf/open/shuttle/dropship{ icon_state = "rasputin15" }, /area/lv522/landing_zone_forecon/UD6_Typhoon) "scw" = ( -/obj/item/ammo_magazine/rifle/heap{ - current_rounds = 0 - }, +/obj/effect/decal/cleanable/blood/oil/streak, /turf/open/shuttle/dropship{ icon_state = "rasputin15" }, /area/lv522/landing_zone_forecon/UD6_Typhoon) "scy" = ( -/obj/structure/bed/chair/dropship/passenger{ - dir = 8 - }, /obj/structure/machinery/light/double{ dir = 4; pixel_y = -5 }, +/obj/structure/bed/chair/dropship/passenger{ + dir = 8 + }, /turf/open/shuttle/dropship{ icon_state = "rasputin15" }, @@ -46768,7 +46886,7 @@ /turf/open/floor/plating/plating_catwalk/prison, /area/lv522/indoors/a_block/bridges/op_centre) "sdE" = ( -/turf/closed/shuttle/dropship2/tornado/typhoon{ +/turf/closed/shuttle/typhoon{ icon_state = "31" }, /area/lv522/landing_zone_forecon/UD6_Typhoon) @@ -46793,17 +46911,10 @@ }, /area/lv522/atmos/east_reactor/south) "sec" = ( -/obj/structure/prop/invuln/fire{ - pixel_x = -7; - pixel_y = 17 - }, -/obj/structure/prop/invuln/fire{ - pixel_x = -8; - pixel_y = 10 - }, -/turf/closed/shuttle/dropship2/tornado/typhoon{ +/obj/structure/shuttle/part/typhoon/transparent{ icon_state = "33" }, +/turf/open/auto_turf/shale/layer1, /area/lv522/landing_zone_forecon/UD6_Typhoon) "sek" = ( /obj/structure/machinery/light{ @@ -46893,13 +47004,10 @@ /turf/open/auto_turf/sand_white/layer0, /area/lv522/landing_zone_2) "sfZ" = ( -/obj/structure/prop/invuln/fire{ - pixel_x = 10; - pixel_y = 32 - }, -/turf/closed/shuttle/dropship2/tornado/typhoon{ +/obj/structure/shuttle/part/typhoon/transparent{ icon_state = "16" }, +/turf/open/auto_turf/sand_white/layer0, /area/lv522/landing_zone_forecon/UD6_Typhoon) "sgm" = ( /obj/item/stack/sheet/wood, @@ -46954,7 +47062,8 @@ /area/lv522/indoors/a_block/fitness/glass) "shq" = ( /turf/closed/shuttle/dropship2/tornado{ - icon_state = "86" + icon_state = "86a"; + opacity = 0 }, /area/lv522/landing_zone_forecon/UD6_Tornado) "shD" = ( @@ -47099,9 +47208,7 @@ /turf/open/floor/prison, /area/lv522/outdoors/colony_streets/windbreaker/observation) "sjS" = ( -/obj/structure/closet/crate/green, -/obj/item/device/sentry_computer, -/obj/item/defenses/handheld/sentry, +/obj/structure/bed/chair/dropship/passenger/folded, /turf/open/shuttle/dropship{ icon_state = "rasputin15" }, @@ -47148,10 +47255,11 @@ }, /area/lv522/atmos/reactor_garage) "skE" = ( -/turf/closed/shuttle/dropship2/tornado{ - icon_state = "63" +/obj/structure/shuttle/part/tornado{ + icon_state = "5" }, -/area/lv522/landing_zone_forecon/UD6_Tornado) +/turf/open/floor/plating, +/area/lv522/outdoors/colony_streets/north_east_street) "skQ" = ( /obj/structure/machinery/door/airlock/multi_tile/almayer/generic{ dir = 1; @@ -47207,24 +47315,24 @@ /turf/open/auto_turf/shale/layer1, /area/lv522/outdoors/colony_streets/north_west_street) "slK" = ( -/obj/structure/machinery/computer/cameras{ - desc = "The flight controls for a UD6 Dropship. these controls look pretty banged up, and there's some blood covering the screen.."; - name = "\improper 'Tornado' flight controls"; - network = null; - pixel_y = 21 - }, -/obj/structure/bed/chair/dropship/pilot{ - dir = 1 +/obj/structure/stairs/perspective{ + dir = 1; + icon_state = "p_stair_full"; + pixel_y = 22 }, -/obj/structure/machinery/light/double{ +/obj/structure/bed/chair/vehicle/dropship_cockpit/copilot{ dir = 1; - layer = 2.9; - pixel_y = 9 + layer = 5; + pixel_x = 8 }, -/obj/item/prop/almayer/flight_recorder{ - layer = 2.9; - pixel_x = -9; - pixel_y = 4 +/obj/structure/prop{ + desc = "A computer to manage equipment, weapons and simulations installed on the dropship."; + icon = 'icons/obj/structures/machinery/computer.dmi'; + icon_state = "camerasb_old"; + name = "\improper 'Tornado' weapons controls"; + pixel_x = 8; + pixel_y = 8; + layer = 4.14 }, /turf/open/shuttle/dropship{ icon_state = "rasputin15" @@ -47621,7 +47729,8 @@ /area/lv522/indoors/a_block/medical) "ssU" = ( /turf/closed/shuttle/dropship2/tornado{ - icon_state = "89" + icon_state = "89a"; + opacity = 0 }, /area/lv522/landing_zone_forecon/UD6_Tornado) "std" = ( @@ -47753,9 +47862,10 @@ }, /area/lv522/indoors/c_block/cargo) "swr" = ( -/turf/closed/shuttle/dropship2/tornado{ - icon_state = "45" +/obj/structure/shuttle/part/tornado/transparent{ + icon_state = "29" }, +/turf/open/floor/plating, /area/lv522/landing_zone_forecon/UD6_Tornado) "swt" = ( /obj/structure/prop/invuln/ice_prefab{ @@ -48184,9 +48294,10 @@ }, /area/lv522/indoors/b_block/hydro) "sFG" = ( -/turf/closed/shuttle/dropship2/tornado/typhoon{ +/obj/structure/shuttle/part/tornado/transparent{ icon_state = "22" }, +/turf/open/auto_turf/shale/layer1, /area/lv522/landing_zone_forecon/UD6_Typhoon) "sFL" = ( /obj/structure/prop/invuln/ice_prefab{ @@ -48195,12 +48306,16 @@ /turf/open/auto_turf/sand_white/layer0, /area/lv522/outdoors/colony_streets/north_west_street) "sFS" = ( -/turf/closed/shuttle/dropship2/tornado/typhoon{ +/obj/structure/shuttle/part/tornado/transparent{ + icon_state = "23" + }, +/obj/structure/shuttle/part/typhoon/transparent{ icon_state = "23" }, +/turf/open/auto_turf/shale/layer1, /area/lv522/landing_zone_forecon/UD6_Typhoon) "sGc" = ( -/turf/closed/shuttle/dropship2/tornado/typhoon{ +/turf/closed/shuttle/typhoon{ icon_state = "24" }, /area/lv522/landing_zone_forecon/UD6_Typhoon) @@ -48252,13 +48367,14 @@ /turf/open/floor/plating/plating_catwalk/prison, /area/lv522/landing_zone_2/ceiling) "sGT" = ( +/obj/effect/decal/cleanable/dirt, /obj/structure/barricade/deployable, -/obj/effect/decal/cleanable/blood/splatter, /turf/open/shuttle/dropship{ icon_state = "rasputin4" }, /area/lv522/landing_zone_forecon/UD6_Typhoon) "sGY" = ( +/obj/effect/decal/cleanable/dirt, /obj/structure/barricade/deployable, /turf/open/shuttle/dropship{ icon_state = "floor8" @@ -48340,15 +48456,41 @@ /turf/open/floor/prison, /area/lv522/landing_zone_2) "sIx" = ( -/turf/closed/shuttle/dropship2/tornado/typhoon{ +/turf/closed/shuttle/typhoon{ icon_state = "25" }, /area/lv522/landing_zone_forecon/UD6_Typhoon) +"sIz" = ( +/obj/structure/closet/crate/ammo, +/obj/item/ammo_magazine/rifle/m4ra/ext{ + current_rounds = 0 + }, +/obj/item/ammo_magazine/rifle/m4ra/ext{ + current_rounds = 0 + }, +/obj/item/ammo_magazine/rifle/m4ra/ext{ + current_rounds = 0 + }, +/obj/item/ammo_magazine/rifle/m4ra/ext{ + current_rounds = 0 + }, +/obj/item/ammo_magazine/rifle/m4ra/ext{ + current_rounds = 0 + }, +/obj/item/ammo_magazine/rifle/m4ra/ext{ + current_rounds = 0 + }, +/turf/open/shuttle/dropship{ + icon_state = "rasputin15" + }, +/area/lv522/landing_zone_forecon/UD6_Typhoon) "sIA" = ( -/turf/closed/shuttle/dropship2/tornado{ - icon_state = "76" +/obj/item/prop/colony/used_flare, +/obj/structure/barricade/deployable{ + dir = 1 }, -/area/lv522/landing_zone_forecon/UD6_Tornado) +/turf/open/floor/plating, +/area/lv522/outdoors/colony_streets/north_east_street) "sIE" = ( /obj/structure/machinery/light{ dir = 1 @@ -48361,9 +48503,10 @@ }, /area/lv522/landing_zone_1/ceiling) "sIK" = ( -/turf/closed/shuttle/dropship2/tornado/typhoon{ +/obj/structure/shuttle/part/tornado/transparent{ icon_state = "27" }, +/turf/open/auto_turf/shale/layer1, /area/lv522/landing_zone_forecon/UD6_Typhoon) "sIN" = ( /obj/effect/decal/warning_stripes{ @@ -49403,9 +49546,10 @@ /turf/open/auto_turf/sand_white/layer0, /area/lv522/landing_zone_1) "tbl" = ( -/turf/closed/shuttle/dropship2/tornado/typhoon{ +/obj/structure/shuttle/part/typhoon/transparent{ icon_state = "16" }, +/turf/open/auto_turf/shale/layer1, /area/lv522/landing_zone_forecon/UD6_Typhoon) "tby" = ( /obj/structure/bed/chair/comfy{ @@ -49468,9 +49612,10 @@ }, /area/lv522/outdoors/colony_streets/north_east_street) "tcz" = ( -/turf/closed/shuttle/dropship2/tornado/typhoon{ +/obj/structure/shuttle/part/typhoon/transparent{ icon_state = "17" }, +/turf/open/auto_turf/sand_white/layer0, /area/lv522/landing_zone_forecon/UD6_Typhoon) "tcE" = ( /obj/structure/prop/ice_colony/dense/planter_box{ @@ -49533,12 +49678,13 @@ }, /area/lv522/indoors/a_block/bridges/corpo) "tdE" = ( -/turf/closed/shuttle/dropship2/tornado/typhoon{ - icon_state = "46" +/obj/structure/shuttle/part/typhoon/transparent{ + icon_state = "9" }, +/turf/open/auto_turf/shale/layer1, /area/lv522/landing_zone_forecon/UD6_Typhoon) "tdH" = ( -/turf/closed/shuttle/dropship2/tornado/typhoon{ +/turf/closed/shuttle/typhoon{ icon_state = "47" }, /area/lv522/landing_zone_forecon/UD6_Typhoon) @@ -49557,11 +49703,15 @@ /area/lv522/atmos/sewer) "tdS" = ( /obj/structure/stairs/perspective{ - icon_state = "p_stair_full" + icon_state = "p_stair_full"; + can_block_movement = 0 }, /obj/structure/platform{ dir = 8 }, +/obj/structure/platform{ + dir = 4 + }, /turf/open/shuttle/dropship{ icon_state = "rasputin15" }, @@ -49631,11 +49781,15 @@ /area/lv522/atmos/east_reactor/south) "teL" = ( /obj/structure/stairs/perspective{ - icon_state = "p_stair_full" + icon_state = "p_stair_full"; + can_block_movement = 0 }, /obj/structure/platform{ dir = 4 }, +/obj/structure/platform{ + dir = 8 + }, /turf/open/shuttle/dropship{ icon_state = "rasputin15" }, @@ -49684,7 +49838,7 @@ /turf/open/auto_turf/sand_white/layer0, /area/lv522/outdoors/n_rockies) "tfV" = ( -/turf/closed/shuttle/dropship2/tornado/typhoon{ +/turf/closed/shuttle/typhoon{ icon_state = "48" }, /area/lv522/landing_zone_forecon/UD6_Typhoon) @@ -49713,9 +49867,10 @@ }, /area/lv522/landing_zone_1) "tgM" = ( -/turf/closed/shuttle/dropship2/tornado/typhoon{ - icon_state = "49" +/obj/structure/shuttle/part/tornado/transparent{ + icon_state = "15" }, +/turf/open/auto_turf/shale/layer1, /area/lv522/landing_zone_forecon/UD6_Typhoon) "thb" = ( /obj/structure/surface/table/almayer, @@ -49748,9 +49903,10 @@ }, /area/lv522/indoors/a_block/dorms/glass) "the" = ( -/turf/closed/shuttle/dropship2/tornado{ +/obj/structure/shuttle/part/tornado/transparent{ icon_state = "71" }, +/turf/open/floor/plating, /area/lv522/landing_zone_forecon/UD6_Tornado) "thi" = ( /obj/effect/decal/cleanable/blood/xeno, @@ -50576,7 +50732,7 @@ /area/lv522/indoors/a_block/admin) "twB" = ( /turf/closed/shuttle/dropship2/tornado{ - icon_state = "48" + icon_state = "19" }, /area/lv522/landing_zone_forecon/UD6_Tornado) "twQ" = ( @@ -50702,17 +50858,9 @@ }, /area/lv522/indoors/c_block/mining) "tzm" = ( -/obj/structure/bed/chair/dropship/passenger{ - dir = 8 - }, -/obj/structure/machinery/light/double{ - dir = 4; - pixel_y = -5 - }, -/turf/open/shuttle/dropship{ - icon_state = "rasputin15" - }, -/area/lv522/landing_zone_forecon/UD6_Tornado) +/obj/structure/cargo_container/lockmart/mid, +/turf/open/floor/plating, +/area/lv522/outdoors/colony_streets/north_east_street) "tzz" = ( /obj/structure/largecrate/random/secure, /obj/structure/largecrate/random/mini{ @@ -50724,10 +50872,8 @@ /obj/structure/platform_decoration{ dir = 4 }, -/obj/structure/closet/crate/ammo, -/obj/item/ammo_magazine/rifle/lmg/holo_target, -/obj/item/weapon/gun/rifle/lmg{ - current_mag = null +/obj/structure/platform_decoration{ + dir = 8 }, /turf/open/shuttle/dropship{ icon_state = "rasputin15" @@ -50737,6 +50883,12 @@ /obj/structure/platform_decoration{ dir = 8 }, +/obj/structure/platform_decoration{ + dir = 4 + }, +/obj/item/ammo_magazine/rifle/heap{ + current_rounds = 0 + }, /turf/open/shuttle/dropship{ icon_state = "rasputin15" }, @@ -50812,6 +50964,10 @@ /turf/open/auto_turf/sand_white/layer0, /area/lv522/outdoors/colony_streets/central_streets) "tBM" = ( +/obj/structure/closet/crate/ammo/alt, +/obj/item/defenses/handheld/sentry, +/obj/item/defenses/handheld/sentry, +/obj/item/device/sentry_computer, /turf/open/shuttle/dropship{ icon_state = "rasputin6" }, @@ -51208,6 +51364,10 @@ /turf/open/floor/prison, /area/lv522/indoors/c_block/garage) "tIF" = ( +/obj/structure/machinery/light/double{ + dir = 4; + pixel_y = -5 + }, /obj/structure/bed/chair/dropship/passenger{ dir = 8 }, @@ -51724,9 +51884,13 @@ }, /area/lv522/indoors/a_block/bridges) "tRu" = ( -/obj/structure/cargo_container/wy/mid, -/turf/open/floor/plating, -/area/lv522/outdoors/colony_streets/north_east_street) +/obj/structure/shuttle/part/typhoon/transparent{ + icon_state = "40"; + density = 0; + layer = 4.2 + }, +/turf/open/auto_turf/sand_white/layer0, +/area/lv522/landing_zone_forecon/UD6_Typhoon) "tRI" = ( /obj/structure/surface/table/almayer, /obj/structure/machinery/computer/cameras/wooden_tv{ @@ -51784,6 +51948,11 @@ dir = 8; pixel_y = -5 }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/closet/crate/ammo, +/obj/item/weapon/gun/rifle/lmg{ + current_mag = null + }, /turf/open/shuttle/dropship{ icon_state = "rasputin15" }, @@ -52277,9 +52446,10 @@ }, /area/lv522/indoors/a_block/fitness) "ucD" = ( -/turf/closed/shuttle/dropship2/tornado{ +/obj/structure/shuttle/part/tornado/transparent{ icon_state = "74" }, +/turf/open/floor/plating, /area/lv522/landing_zone_forecon/UD6_Tornado) "ucM" = ( /obj/structure/pipes/standard/manifold/fourway/hidden/green, @@ -52816,10 +52986,17 @@ /turf/open/floor/prison, /area/lv522/indoors/a_block/security/glass) "ulh" = ( -/turf/closed/shuttle/dropship2/tornado{ - icon_state = "3" +/obj/structure/shuttle/part/tornado/transparent{ + icon_state = "41"; + layer = 4.2; + density = 0 }, -/area/lv522/landing_zone_forecon/UD6_Tornado) +/obj/structure/shuttle/part/tornado/transparent{ + icon_state = "61" + }, +/obj/effect/attach_point/weapon/tornado/left_wing, +/turf/open/floor/plating, +/area/lv522/outdoors/colony_streets/north_east_street) "ulL" = ( /turf/open/floor/prison{ dir = 8; @@ -53097,9 +53274,10 @@ /turf/open/asphalt/cement, /area/lv522/outdoors/n_rockies) "uru" = ( -/turf/closed/shuttle/dropship2/tornado{ +/obj/structure/shuttle/part/tornado/transparent{ icon_state = "66" }, +/turf/open/floor/plating, /area/lv522/landing_zone_forecon/UD6_Tornado) "urv" = ( /obj/structure/surface/table/reinforced/prison, @@ -53626,17 +53804,13 @@ /turf/open/floor/prison, /area/lv522/outdoors/colony_streets/north_street) "uDM" = ( -/obj/structure/machinery/light/double{ - dir = 8; - pixel_y = -5 - }, -/obj/structure/bed/chair/dropship/passenger{ - dir = 4 - }, -/turf/open/shuttle/dropship{ - icon_state = "rasputin15" +/obj/structure/shuttle/part/tornado/transparent{ + icon_state = "41"; + layer = 4.2; + density = 0 }, -/area/lv522/landing_zone_forecon/UD6_Tornado) +/turf/open/floor/plating, +/area/lv522/outdoors/colony_streets/north_east_street) "uDP" = ( /obj/structure/bed/chair/comfy{ dir = 8 @@ -53670,40 +53844,42 @@ }, /area/lv522/atmos/cargo_intake) "uEr" = ( -/obj/structure/stairs/perspective{ - icon_state = "p_stair_full" +/obj/effect/decal/warning_stripes{ + icon_state = "N"; + pixel_y = -1 }, -/obj/structure/machinery/door/poddoor/shutters/almayer/open{ - id = "UD6"; - name = "\improper Shutters" +/obj/effect/decal/warning_stripes{ + icon_state = "S"; + pixel_y = 2 }, -/obj/structure/platform{ - dir = 8 +/obj/structure/machinery/door/airlock/multi_tile/almayer/dropshiprear/ds2{ + id = "aft_door"; + name = "\improper Typhoon cargo door" + }, +/turf/open/shuttle/dropship{ + icon_state = "rasputin14" }, -/turf/open/floor/plating, /area/lv522/landing_zone_forecon/UD6_Typhoon) "uEt" = ( -/obj/structure/stairs/perspective{ - icon_state = "p_stair_full" +/obj/structure/platform{ + dir = 1 }, -/obj/structure/machinery/door/poddoor/shutters/almayer/open{ - id = "UD6"; - name = "\improper Shutters" +/turf/open/shuttle/dropship{ + icon_state = "rasputin3" }, -/turf/open/floor/plating, /area/lv522/landing_zone_forecon/UD6_Typhoon) "uEz" = ( -/obj/structure/stairs/perspective{ - icon_state = "p_stair_full" +/obj/effect/decal/warning_stripes{ + icon_state = "S"; + pixel_y = 2 }, -/obj/structure/machinery/door/poddoor/shutters/almayer/open{ - id = "UD6"; - name = "\improper Shutters" +/obj/effect/decal/warning_stripes{ + icon_state = "N"; + pixel_y = -1 }, -/obj/structure/platform{ - dir = 4 +/turf/open/shuttle/dropship{ + icon_state = "rasputin14" }, -/turf/open/floor/plating, /area/lv522/landing_zone_forecon/UD6_Typhoon) "uEC" = ( /turf/open/floor/prison{ @@ -53749,13 +53925,10 @@ /turf/open/floor/plating, /area/lv522/landing_zone_1/tunnel) "uEX" = ( -/obj/structure/prop/invuln/fire{ - pixel_x = -6; - pixel_y = 32 - }, -/turf/closed/shuttle/dropship2/tornado/typhoon{ +/obj/structure/shuttle/part/typhoon/transparent{ icon_state = "17" }, +/turf/open/auto_turf/shale/layer1, /area/lv522/landing_zone_forecon/UD6_Typhoon) "uFe" = ( /obj/structure/bed/sofa/vert/white/bot, @@ -54567,7 +54740,7 @@ /area/lv522/indoors/a_block/corpo) "uSB" = ( /turf/closed/shuttle/dropship2/tornado{ - icon_state = "31" + icon_state = "25" }, /area/lv522/landing_zone_forecon/UD6_Tornado) "uSI" = ( @@ -54932,15 +55105,10 @@ /turf/open/auto_turf/shale/layer1, /area/lv522/outdoors/colony_streets/central_streets) "vbk" = ( -/obj/structure/stairs/perspective{ - icon_state = "p_stair_full" - }, -/obj/structure/platform{ - dir = 4 - }, -/turf/open/shuttle/dropship{ - icon_state = "rasputin15" +/obj/structure/shuttle/part/tornado/transparent{ + icon_state = "38" }, +/turf/open/floor/plating, /area/lv522/landing_zone_forecon/UD6_Tornado) "vbm" = ( /obj/structure/pipes/standard/simple/hidden/green{ @@ -55029,7 +55197,8 @@ /turf/open/auto_turf/shale/layer2, /area/lv522/outdoors/colony_streets/north_east_street) "vcu" = ( -/turf/closed/shuttle/dropship2/tornado/typhoon, +/obj/structure/shuttle/part/typhoon/transparent, +/turf/open/auto_turf/sand_white/layer0, /area/lv522/landing_zone_forecon/UD6_Typhoon) "vcF" = ( /obj/structure/stairs/perspective{ @@ -55180,9 +55349,10 @@ /turf/open/floor/wood, /area/lv522/indoors/c_block/casino) "vfl" = ( -/turf/closed/shuttle/dropship2/tornado/typhoon{ +/obj/structure/shuttle/part/typhoon/transparent{ icon_state = "2" }, +/turf/open/auto_turf/sand_white/layer0, /area/lv522/landing_zone_forecon/UD6_Typhoon) "vfC" = ( /obj/item/storage/backpack/marine/satchel{ @@ -55223,9 +55393,10 @@ }, /area/lv522/indoors/c_block/garage) "vga" = ( -/turf/closed/shuttle/dropship2/tornado/typhoon{ +/obj/structure/shuttle/part/typhoon/transparent{ icon_state = "3" }, +/turf/open/auto_turf/shale/layer1, /area/lv522/landing_zone_forecon/UD6_Typhoon) "vgb" = ( /obj/structure/platform, @@ -55267,15 +55438,12 @@ }, /area/lv522/indoors/a_block/bridges/corpo_fitness) "vgM" = ( -/obj/structure/platform_decoration{ - dir = 4 +/obj/structure/closet/crate/ammo, +/turf/open/shuttle/dropship{ + icon_state = "rasputin15" }, -/turf/open/auto_turf/shale/layer1, -/area/lv522/outdoors/w_rockies) +/area/lv522/landing_zone_forecon/UD6_Typhoon) "vhd" = ( -/obj/structure/platform_decoration{ - dir = 8 - }, /obj/effect/decal/cleanable/blood, /turf/open/auto_turf/shale/layer1, /area/lv522/outdoors/w_rockies) @@ -55301,19 +55469,22 @@ }, /area/lv522/atmos/east_reactor/south) "vhC" = ( -/turf/closed/shuttle/dropship2/tornado/typhoon{ +/obj/structure/shuttle/part/typhoon/transparent{ icon_state = "4" }, +/turf/open/auto_turf/shale/layer1, /area/lv522/landing_zone_forecon/UD6_Typhoon) "vhJ" = ( -/turf/closed/shuttle/dropship2/tornado/typhoon{ +/obj/structure/shuttle/part/typhoon/transparent{ icon_state = "5" }, +/turf/open/auto_turf/shale/layer1, /area/lv522/landing_zone_forecon/UD6_Typhoon) "vhO" = ( -/turf/closed/shuttle/dropship2/tornado/typhoon{ +/obj/structure/shuttle/part/typhoon/transparent{ icon_state = "6" }, +/turf/open/auto_turf/shale/layer1, /area/lv522/landing_zone_forecon/UD6_Typhoon) "vil" = ( /obj/structure/machinery/door/airlock/multi_tile/almayer/generic{ @@ -55424,17 +55595,11 @@ /turf/open/floor/prison, /area/lv522/indoors/c_block/mining) "vjs" = ( -/obj/structure/machinery/light/double{ - dir = 4; - pixel_y = -5 - }, -/obj/structure/bed/chair/dropship/passenger{ - dir = 8 - }, -/turf/open/shuttle/dropship{ - icon_state = "rasputin15" +/obj/structure/shuttle/part/tornado/transparent{ + icon_state = "28" }, -/area/lv522/landing_zone_forecon/UD6_Tornado) +/turf/open/auto_turf/shale/layer1, +/area/lv522/landing_zone_forecon/UD6_Typhoon) "vju" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/prison{ @@ -55511,6 +55676,12 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating/plating_catwalk/prison, /area/lv522/indoors/a_block/admin) +"vky" = ( +/obj/structure/shuttle/part/typhoon/transparent{ + icon_state = "39" + }, +/turf/open/auto_turf/sand_white/layer0, +/area/lv522/landing_zone_forecon/UD6_Typhoon) "vkC" = ( /obj/effect/decal/cleanable/cobweb, /turf/open/floor/prison{ @@ -55792,9 +55963,10 @@ }, /area/lv522/indoors/a_block/corpo) "vpU" = ( -/turf/closed/shuttle/dropship2/tornado{ +/obj/structure/shuttle/part/tornado/transparent{ icon_state = "70" }, +/turf/open/floor/plating, /area/lv522/landing_zone_forecon/UD6_Tornado) "vqe" = ( /obj/structure/machinery/light{ @@ -56079,9 +56251,8 @@ }, /area/lv522/landing_zone_1/ceiling) "vuF" = ( -/obj/vehicle/powerloader, -/turf/open/shuttle/dropship{ - icon_state = "rasputin3" +/turf/closed/shuttle/dropship2/tornado{ + icon_state = "48" }, /area/lv522/landing_zone_forecon/UD6_Tornado) "vuH" = ( @@ -56109,6 +56280,9 @@ name = "????"; stat = 2 }, +/obj/structure/barricade/deployable{ + dir = 1 + }, /turf/open/floor/prison{ icon_state = "floor_plate" }, @@ -56901,13 +57075,29 @@ }, /area/lv522/indoors/a_block/dorms) "vJo" = ( -/obj/structure/barricade/deployable{ - dir = 1 +/obj/structure/stairs/perspective{ + dir = 1; + icon_state = "p_stair_full"; + pixel_y = 22 }, -/turf/open/floor/prison{ - icon_state = "floor_plate" +/obj/structure/bed/chair/vehicle/dropship_cockpit/copilot{ + dir = 1; + pixel_x = 8; + layer = 5 }, -/area/lv522/outdoors/colony_streets/north_east_street) +/obj/structure/prop{ + desc = "A computer to manage equipment, weapons and simulations installed on the dropship."; + icon = 'icons/obj/structures/machinery/computer.dmi'; + icon_state = "camerasb_old"; + name = "\improper 'Typhoon' weapons controls"; + pixel_x = 8; + pixel_y = 8; + layer = 4.14 + }, +/turf/open/shuttle/dropship{ + icon_state = "rasputin15" + }, +/area/lv522/landing_zone_forecon/UD6_Typhoon) "vJr" = ( /obj/structure/machinery/landinglight/ds2/delaythree, /turf/open/floor/plating, @@ -58680,9 +58870,12 @@ /turf/closed/wall/shiva/prefabricated/reinforced, /area/lv522/outdoors/colony_streets/north_west_street) "wqt" = ( -/turf/closed/shuttle/dropship2/tornado{ - icon_state = "16" +/obj/structure/shuttle/part/tornado/transparent{ + icon_state = "41"; + layer = 4.2; + density = 0 }, +/turf/open/floor/plating, /area/lv522/landing_zone_forecon/UD6_Tornado) "wqA" = ( /obj/structure/bed/chair{ @@ -59101,15 +59294,17 @@ }, /area/lv522/indoors/a_block/bridges) "wyM" = ( -/turf/closed/shuttle/dropship2/tornado{ - icon_state = "61" +/obj/effect/decal/cleanable/blood, +/turf/open/shuttle/dropship{ + icon_state = "rasputin3" }, -/area/lv522/landing_zone_forecon/UD6_Tornado) +/area/lv522/landing_zone_forecon/UD6_Typhoon) "wzg" = ( -/turf/closed/shuttle/dropship2/tornado{ - icon_state = "62" +/obj/effect/decal/cleanable/dirt, +/turf/open/shuttle/dropship{ + icon_state = "rasputin3" }, -/area/lv522/landing_zone_forecon/UD6_Tornado) +/area/lv522/landing_zone_forecon/UD6_Typhoon) "wzt" = ( /obj/item/storage/backpack/marine/satchel{ desc = "It's the heavy-duty black polymer kind. Time to take out the trash!"; @@ -59156,9 +59351,10 @@ }, /area/lv522/outdoors/colony_streets/east_central_street) "wAf" = ( -/turf/closed/shuttle/dropship2/tornado{ - icon_state = "68" +/obj/structure/shuttle/part/tornado/transparent{ + icon_state = "26" }, +/turf/open/floor/plating, /area/lv522/landing_zone_forecon/UD6_Tornado) "wAB" = ( /obj/structure/surface/table/almayer, @@ -59195,9 +59391,6 @@ }, /area/lv522/indoors/a_block/executive) "wBr" = ( -/obj/structure/machinery/cm_vending/sorted/medical/wall_med/limited{ - pixel_x = 30 - }, /obj/structure/bed/chair/dropship/passenger{ dir = 8 }, @@ -59234,10 +59427,16 @@ }, /area/lv522/atmos/reactor_garage) "wCr" = ( -/turf/closed/shuttle/dropship2/tornado{ - icon_state = "64" +/obj/structure/shuttle/part/typhoon/transparent{ + icon_state = "41"; + density = 0; + layer = 4.2 }, -/area/lv522/landing_zone_forecon/UD6_Tornado) +/obj/structure/shuttle/part/typhoon/transparent{ + icon_state = "61" + }, +/turf/open/auto_turf/sand_white/layer0, +/area/lv522/landing_zone_forecon/UD6_Typhoon) "wCt" = ( /obj/structure/machinery/light{ dir = 4 @@ -59909,10 +60108,11 @@ }, /area/lv522/indoors/a_block/fitness) "wRL" = ( -/turf/closed/shuttle/dropship2/tornado{ - icon_state = "30" +/obj/structure/shuttle/part/tornado/transparent{ + icon_state = "33" }, -/area/lv522/landing_zone_forecon/UD6_Tornado) +/turf/open/floor/plating, +/area/lv522/outdoors/colony_streets/north_east_street) "wRQ" = ( /obj/structure/surface/table/almayer, /obj/structure/phone_base/colony_net/rotary{ @@ -60163,10 +60363,29 @@ /turf/open/floor/prison, /area/lv522/indoors/a_block/bridges/dorms_fitness) "wXe" = ( -/turf/closed/shuttle/dropship2/tornado{ - icon_state = "65" +/obj/structure/surface/table/reinforced/toc/east{ + pixel_y = -7 }, -/area/lv522/landing_zone_forecon/UD6_Tornado) +/obj/structure/machinery/computer/railgun/gatling/toc{ + pixel_y = 13; + pixel_x = -7 + }, +/obj/structure/phone_base/toc{ + pixel_y = 13; + pixel_x = 11; + phone_id = "Typhoon Overwatch"; + phone_category = "Overwatch"; + name = "Typhoon overwatch telephone receiver" + }, +/obj/item/reagent_container/food/drinks/coffeecup{ + pixel_y = -5; + pixel_x = 10 + }, +/obj/item/clothing/head/headset, +/turf/open/shuttle/dropship{ + icon_state = "rasputin6" + }, +/area/lv522/landing_zone_forecon/UD6_Typhoon) "wXq" = ( /obj/structure/surface/table/almayer, /obj/item/reagent_container/food/snacks/grown/deathberries{ @@ -60468,6 +60687,12 @@ }, /turf/open/floor/prison, /area/lv522/indoors/c_block/mining) +"xcR" = ( +/obj/structure/shuttle/part/tornado/transparent{ + icon_state = "101" + }, +/turf/open/floor/plating, +/area/lv522/landing_zone_forecon/UD6_Tornado) "xcU" = ( /turf/open/floor/corsat{ icon_state = "plate" @@ -60740,9 +60965,13 @@ }, /area/lv522/indoors/lone_buildings/storage_blocks) "xic" = ( -/turf/closed/shuttle/dropship2/tornado/typhoon{ +/obj/structure/shuttle/part/typhoon/transparent{ icon_state = "32" }, +/obj/effect/attach_point/fuel/typhoon{ + layer = 3.1 + }, +/turf/open/auto_turf/shale/layer1, /area/lv522/landing_zone_forecon/UD6_Typhoon) "xig" = ( /obj/structure/closet/crate, @@ -60812,6 +61041,12 @@ "xjF" = ( /turf/closed/wall/strata_outpost, /area/lv522/indoors/a_block/executive) +"xjK" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/shuttle/dropship{ + icon_state = "floor8" + }, +/area/lv522/landing_zone_forecon/UD6_Typhoon) "xjO" = ( /obj/structure/window/framed/strata/reinforced, /turf/open/floor/corsat{ @@ -60856,17 +61091,11 @@ }, /area/lv522/indoors/a_block/security) "xkk" = ( -/obj/structure/bed/chair/dropship/passenger{ - dir = 4 - }, -/obj/structure/machinery/light/double{ - dir = 8; - pixel_y = -5 - }, -/turf/open/shuttle/dropship{ - icon_state = "rasputin15" +/obj/structure/shuttle/part/tornado{ + icon_state = "2" }, -/area/lv522/landing_zone_forecon/UD6_Tornado) +/turf/open/floor/plating, +/area/lv522/outdoors/colony_streets/north_east_street) "xkv" = ( /obj/effect/decal/cleanable/blood/drip, /obj/structure/pipes/standard/simple/hidden/green{ @@ -61141,6 +61370,12 @@ "xqp" = ( /turf/open/auto_turf/shale/layer2, /area/lv522/landing_zone_1) +"xqQ" = ( +/obj/structure/shuttle/part/typhoon/transparent{ + icon_state = "3" + }, +/turf/open/floor/plating, +/area/lv522/outdoors/colony_streets/north_east_street) "xqV" = ( /obj/structure/cargo_container/kelland/right, /turf/open/floor/prison{ @@ -61184,9 +61419,10 @@ /turf/open/floor/prison, /area/lv522/indoors/a_block/dorms/glass) "xsc" = ( -/turf/closed/shuttle/dropship2/tornado{ - icon_state = "29" +/obj/structure/shuttle/part/tornado/transparent{ + icon_state = "23" }, +/turf/open/floor/plating, /area/lv522/landing_zone_forecon/UD6_Tornado) "xsd" = ( /obj/structure/pipes/standard/simple/hidden/green{ @@ -62040,16 +62276,7 @@ }, /area/lv522/indoors/lone_buildings/engineering) "xKc" = ( -/obj/structure/barricade/handrail{ - dir = 8 - }, -/obj/structure/barricade/handrail{ - dir = 4 - }, -/obj/structure/closet/crate/ammo, -/obj/item/ammo_magazine/m56d, -/obj/item/ammo_magazine/m56d, -/obj/item/device/m56d_gun, +/obj/effect/attach_point/crew_weapon/typhoon, /turf/open/shuttle/dropship{ icon_state = "rasputin15" }, @@ -62204,11 +62431,9 @@ }, /area/lv522/atmos/east_reactor/south) "xNu" = ( -/obj/structure/platform_decoration{ - dir = 8 - }, -/obj/structure/bed/chair/dropship/passenger{ - dir = 8 +/obj/structure/machinery/light/double{ + dir = 8; + pixel_y = -5 }, /turf/open/shuttle/dropship{ icon_state = "rasputin15" @@ -62502,17 +62727,8 @@ }, /area/lv522/outdoors/colony_streets/north_street) "xRM" = ( -/obj/structure/machinery/door/airlock/multi_tile/almayer/dropshiprear/dropshipside/ds2{ - dir = 1; - name = "\improper Tornado crew hatch" - }, -/obj/structure/machinery/door/poddoor/shutters/almayer{ - dir = 4; - id = "UD6 East"; - indestructible = 1 - }, -/turf/open/shuttle/dropship{ - icon_state = "rasputin3" +/turf/closed/shuttle/dropship2/tornado{ + icon_state = "18" }, /area/lv522/landing_zone_forecon/UD6_Tornado) "xRQ" = ( @@ -62901,6 +63117,12 @@ "xYD" = ( /turf/open/floor/plating/plating_catwalk/prison, /area/lv522/atmos/east_reactor/south) +"xZf" = ( +/obj/structure/shuttle/part/tornado/transparent{ + icon_state = "27" + }, +/turf/open/floor/plating, +/area/lv522/outdoors/colony_streets/north_east_street) "xZw" = ( /turf/open/floor/corsat{ icon_state = "squares" @@ -63438,6 +63660,12 @@ "yiM" = ( /turf/open/auto_turf/sand_white/layer0, /area/lv522/outdoors/colony_streets/central_streets) +"yiW" = ( +/obj/structure/shuttle/part/typhoon/transparent{ + icon_state = "23" + }, +/turf/open/auto_turf/sand_white/layer0, +/area/lv522/landing_zone_forecon/UD6_Typhoon) "yiZ" = ( /obj/structure/prop/vehicles/crawler{ dir = 8; @@ -65342,7 +65570,7 @@ sRA sRA sRA sRA -sRA +uiK sRA sRA sRA @@ -65563,14 +65791,14 @@ sRA sRA sRA sRA +uiK sRA sRA sRA sRA -sRA -sRA -sRA -sRA +uiK +uiK +uiK sRA sRA sRA @@ -65787,21 +66015,21 @@ rWS sRA sRA sRA +uiK +uiK sRA sRA sRA -sRA -sRA -sRA -sRA +uiK +qHg rGg sbG dlC -tbl -sRA -sRA -sRA -sRA +sfZ +uiK +uiK +uiK +uiK sRA sRA sRA @@ -66012,21 +66240,21 @@ cpy cpy kBT uiK -mZM sRA sRA -rWS -qjs -qFs -qSP sRA sRA -rBU +sRA +qFs +qSP +qSP +wCr +vky sci -sFS +yiW tcz -rGg -sbG +tRu +vjs sFG sfZ vcu @@ -66239,25 +66467,25 @@ cpy cpy vZY pXH -bQq sRA -rWS +sRA +sRA pRK qmM qGQ qTh -rjP +qTh qzp -nfq +eSG fDg sGc tdE -rBU -sci +pBQ +dae sFS tcz vfl -uiK +sRA rWS rWS sRA @@ -66466,20 +66694,20 @@ cpy cpy kLQ sRA -jHa sRA -obe +sRA +sRA pRM qnk qHA qTO -rhB +vgM qJl rCp scv rCp tdH -nfq +eSG fDg sGc nfq @@ -66698,10 +66926,10 @@ pxY pIu nbO qnV -rjP -rjP +wXe +wyM rig -rjP +wyM rDb rjP sGT @@ -66710,7 +66938,7 @@ tzA tSJ scw uEr -vgM +uiK uiK uiK sRA @@ -66923,22 +67151,22 @@ cpy ppF pys pIO +vJo pTH -qpg -qJl -qUf -riE -ruj -rDu +xjK +rhB +rhB +rhB +rhB xKc sGY -pBQ -rjP -rus -rjP +rhB uEt -kor -sRA +rus +wzg +uEz +riE +uiK sRA sRA sRA @@ -67149,23 +67377,23 @@ cpy cpy pqZ pyO -qst +qqS gTM qqS qJw +nOm +wyM rjP rjP -rus -rjP -rig +qze sHg teL tzF tSU -rhB +cet uEz vhd -sRA +uiK sRA sRA rYp @@ -67374,14 +67602,14 @@ vtc vtc vtc cpy -cpy -rWS -rWS -pUc -qrj +qjs +sRA +sRA +sRA +qst oyR qUD -rkR +sIz rkR rDz scy @@ -67390,7 +67618,7 @@ tfV rFp sdE sIx -rFp +dic vhC uiK uiK @@ -67601,21 +67829,21 @@ vtc vtc vtc cpy -cpy -rWS +qjs +sRA +sRA sRA -pUc qst qLz qVl -rjP -qzp +qVl +bpZ rFp sdE sIx tgM -rGg -xic +pRK +qjy qOi tbl vhJ @@ -67828,21 +68056,21 @@ jXT jXT noL cpy -cpy -cpy +qjs +qjs +sRA sRA sRA -qtc qME qWZ -sRA -sRA -rGg +qWZ +jHa +pUc xic guR -tbl -rBU -pZb +sfZ +pBQ +sec sIK uEX vhO @@ -68055,23 +68283,23 @@ vtc vtc lMH vtc -wms -cpy -sRA -sRA sRA +qjs sRA sRA sRA sRA +uiK +uiK +pBQ rBU sec -sIK +rDu tcz -cpy -cpy -cpy -rWS +uiK +uiK +sRA +sRA sRA sRA sRA @@ -102353,7 +102581,7 @@ lAn lAn lAn lAn -vJo +lAn vuY lAn lAn @@ -102580,21 +102808,21 @@ qUL qUL qUL qUL -nSF qUL +nSF qUL +rOO eRI -eRI -sct -fzC -dIr -wqt -iRl +ruj +jgW +aaF qUL qUL qUL -aDs qUL +qUL +aDs +xfu krH aSR ltf @@ -102803,24 +103031,24 @@ krH xIv qUL qUL -qUL +nSF qUL qUL qUL the uru -wyM -qUL -qUL +uru +ulh +nQY swr xsc ibE -kzk -sct -fzC -dIr -wqt +eTw nPN +fzC +aaF +fLa +qUL qUL lAn krH @@ -103029,25 +103257,25 @@ pFH krH xIv qUL -qUL +xfu nSF qUL -qUL +rOO sCp toY uwQ -wzg -lgw +uwQ +lMI xRM -bpZ -wRL +hvf +dWv pAd -pkB -swr +wqt +qtc xsc -ibE -kzk -qHg +pZb +xkk +obe qUL lAn krH @@ -103257,24 +103485,24 @@ krH xIv qUL qUL -nSF qUL -sct -sIA +qUL +wqt +ejQ tth -uDM +rAt tth -uXj -uXj tth -xkk tth -fLa -bpZ -wRL -pAd -bpZ -ulh +rAt +tth +kzk +xRM +hvf +dWv +qrj +xqQ +qUL qUL pVb krH @@ -103483,7 +103711,7 @@ pFH krH xIv qUL -qUL +kNR rfi rAc shq @@ -103492,17 +103720,17 @@ tBM uKQ uKQ uKQ -uKQ -qjX +fYN uKQ hFm +cJc dqn -dic -uDM -tth -eTw -lVs +xNu +uXj qBH +qUL +qUf +qUL lAn krH nTp @@ -103710,26 +103938,26 @@ pFH krH xIv qUL -qUL +xcR rgA rBZ slK sYh tCR +nSN sjS -wAf -skE -skE -nQY -kNR +sjS +sjS +nSN tCR -fTm +mZM uKQ +dIr uKQ -vuF fbY qUL -tRu +tzm +qUL lAn krH nTp @@ -103937,7 +104165,7 @@ pFH krH xIv qUL -qUL +lVs rii rCi ssU @@ -103947,16 +104175,16 @@ uKQ uKQ uKQ uKQ -uKQ -uKQ +sct iSu -vbk -xNu -vjs -tIF -rAt +mCl +fTm +pkB +uXj +fbY +qUL gOZ -cJc +iRl lAn krH nTp @@ -104167,22 +104395,22 @@ qUL qUL qUL pTW -swr -sIA -tIF -vjs +eTw +ejQ wBr -uXj -uXj tIF -tzm +wBr +wBr +wBr tIF +wBr +vuF twB fXn uSB -ecP -fXn -rOO +prD +jcA +qUL qUL lAn krH @@ -104394,22 +104622,22 @@ qUL qUL qUL qUL -qUL +uDM tcu tSo vjv -wCr +vjv lgw -qjy +twB fXn uSB ecP -aaF -sct -dWY -qzw -wqt -prD +eTw +afT +wAf +qpg +skE +qUL qUL lAn krH @@ -104620,23 +104848,23 @@ xIv qUL qUL qUL +sIA qUL -nSF qUL ucD vpU -wXe -qUL -qUL -sct +vpU dWY +vbk +qjX +wAf qzw wqt -swr +wRL eUS -nSN +bQq rCI -dWv +qUL qUL lAn krH @@ -104847,23 +105075,23 @@ iNs qUL qUL qUL -qUL nSF qUL xfu -qUL dBd -iRl qUL -swr -eUS -nSN -kzk -iRl +qUL +uDM +nZN +wRL +xZf +bQq +qUL pTW qUL qUL qUL +iRl qUL krH aSR @@ -105079,7 +105307,7 @@ lAn lAn nVX nVX -lAn +pVb lAn lAn lAn diff --git a/maps/map_files/golden_arrow/golden_arrow.dmm b/maps/map_files/golden_arrow/golden_arrow.dmm index 37c6f5290e..18f231aad2 100644 --- a/maps/map_files/golden_arrow/golden_arrow.dmm +++ b/maps/map_files/golden_arrow/golden_arrow.dmm @@ -1285,6 +1285,19 @@ }, /turf/open/floor/almayer, /area/golden_arrow/hangar) +"eM" = ( +/obj/structure/surface/table/almayer, +/obj/item/tool/kitchen/rollingpin{ + pixel_y = 4; + pixel_x = -6 + }, +/obj/item/tool/kitchen/knife{ + pixel_x = 9 + }, +/turf/open/floor/almayer{ + icon_state = "dark_sterile" + }, +/area/golden_arrow/cryo_cells) "eN" = ( /obj/structure/machinery/gear{ id = "supply_elevator_gear" @@ -3644,11 +3657,27 @@ }, /area/golden_arrow/hangar) "nD" = ( +/obj/structure/surface/rack{ + pixel_y = 14; + pixel_x = 4 + }, /obj/structure/reagent_dispensers/water_cooler/stacks{ density = 0; pixel_x = -10; pixel_y = 6 }, +/obj/item/reagent_container/food/condiment/peppermill{ + pixel_y = 26; + pixel_x = 1 + }, +/obj/item/reagent_container/food/condiment/saltshaker{ + pixel_y = 26; + pixel_x = -3 + }, +/obj/item/storage/box/drinkingglasses{ + pixel_x = 10; + pixel_y = 28 + }, /turf/open/floor/almayer{ icon_state = "dark_sterile" }, @@ -6992,23 +7021,22 @@ }, /area/golden_arrow/cryo_cells) "AV" = ( -/obj/structure/surface/table/almayer, -/obj/item/tool/kitchen/tray{ - pixel_x = -5; - pixel_y = 6 - }, -/obj/item/trash/plate{ - pixel_x = -5; - pixel_y = 5 - }, -/obj/item/trash/plate{ - pixel_x = -3; - pixel_y = 7 - }, -/obj/item/trash/plate{ - pixel_x = -4; - pixel_y = 9 - }, +/obj/item/reagent_container/food/condiment/sugar, +/obj/item/reagent_container/food/condiment/enzyme, +/obj/item/reagent_container/food/snacks/flour, +/obj/item/reagent_container/food/snacks/flour, +/obj/item/reagent_container/food/snacks/flour, +/obj/item/reagent_container/food/snacks/flour, +/obj/structure/closet{ + desc = "It's a fancy storage unit for long-life foodstuffs."; + name = "long-life foodstuff storage" + }, +/obj/item/storage/box/powderedmilk, +/obj/item/reagent_container/food/condiment/juice/egg, +/obj/item/reagent_container/food/snacks/flour, +/obj/item/reagent_container/food/snacks/flour, +/obj/item/reagent_container/food/snacks/flour, +/obj/item/reagent_container/food/snacks/flour, /turf/open/floor/almayer{ icon_state = "dark_sterile" }, @@ -7535,9 +7563,6 @@ /turf/open/floor/plating, /area/golden_arrow/hangar) "Dn" = ( -/obj/structure/surface/rack{ - pixel_y = 19 - }, /obj/effect/decal/cleanable/dirt, /obj/item/stack/medical/ointment{ pixel_x = 2; @@ -8018,17 +8043,29 @@ /area/golden_arrow/prep_hallway) "Fl" = ( /obj/structure/surface/table/almayer, +/obj/item/tool/kitchen/tray{ + pixel_x = -3; + pixel_y = 3 + }, /obj/item/reagent_container/food/condiment/hotsauce/tabasco{ - pixel_x = 7; - pixel_y = 14 + pixel_x = 12; + pixel_y = 18 }, -/obj/item/paper_bin{ - pixel_x = -7; +/obj/item/trash/plate{ + pixel_x = -5; + pixel_y = 3 + }, +/obj/item/trash/plate{ + pixel_x = -3; pixel_y = 5 }, /obj/item/reagent_container/food/condiment/hotsauce/tabasco{ - pixel_x = 6; - pixel_y = 6 + pixel_y = 18; + pixel_x = 2 + }, +/obj/item/trash/plate{ + pixel_x = -4; + pixel_y = 7 }, /turf/open/floor/almayer{ icon_state = "dark_sterile" @@ -21955,12 +21992,12 @@ EG EG EG Wh -Nz +nD HF rQ HF Fl -og +AV og CM Bf @@ -22111,8 +22148,8 @@ fl HF rQ HF -AV -og +HF +HF og Va TB @@ -22263,8 +22300,8 @@ zG aA vN nW -nD -og +Nz +eM og Dq Ms @@ -22417,7 +22454,7 @@ Ir Ir Ir Ir -Vi +og og Hv Iz diff --git a/maps/shuttles/dropship_cyclone.dmm b/maps/shuttles/dropship_cyclone.dmm index 43fe5891c7..2a5ac47a67 100644 --- a/maps/shuttles/dropship_cyclone.dmm +++ b/maps/shuttles/dropship_cyclone.dmm @@ -1,30 +1,34 @@ //MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE "ag" = ( -/turf/closed/shuttle/cyclone{ - icon_state = "92"; - name = "\improper Cyclon" +/turf/closed/shuttle/cyclone/transparent{ + icon_state = "86b" }, /area/shuttle/cyclone) "aP" = ( -/obj/structure/shuttle/part/dropship2/left_outer_wing_connector{ - name = "\improper Cyclone" +/obj/structure/shuttle/part/cyclone/transparent{ + icon_state = "3" }, /turf/template_noop, /area/shuttle/cyclone) "bw" = ( -/turf/closed/shuttle/cyclone/transparent{ - icon_state = "98" +/obj/structure/shuttle/part/cyclone/transparent{ + icon_state = "90" }, +/obj/effect/attach_point/weapon/cyclone/right_fore, +/turf/template_noop, /area/shuttle/cyclone) "cj" = ( -/obj/structure/shuttle/part/dropship2/nose_front_left{ - name = "\improper Cyclone" +/obj/structure/shuttle/part/cyclone/transparent{ + icon_state = "95a" }, /turf/template_noop, /area/shuttle/cyclone) "cm" = ( +/obj/structure/bed/chair/dropship/passenger{ + dir = 8 + }, /turf/open/shuttle/dropship{ - icon_state = "rasputin14" + icon_state = "rasputin15" }, /area/shuttle/cyclone) "cy" = ( @@ -36,15 +40,6 @@ icon_state = "rasputin3" }, /area/shuttle/cyclone) -"cJ" = ( -/obj/structure/shuttle/part/dropship2/transparent/outer_left_weapons{ - name = "\improper Cyclone" - }, -/obj/effect/attach_point/weapon/midway/left_fore{ - ship_tag = "dropship_cyclone" - }, -/turf/template_noop, -/area/shuttle/cyclone) "cR" = ( /turf/closed/shuttle/cyclone/transparent{ icon_state = "39" @@ -56,26 +51,23 @@ }, /area/shuttle/cyclone) "eu" = ( -/obj/structure/machinery/light{ - dir = 8; - pixel_x = -14 - }, /obj/structure/bed/chair/dropship/passenger{ dir = 4 }, +/obj/structure/machinery/light/double{ + dir = 8 + }, /turf/open/shuttle/dropship{ icon_state = "rasputin15" }, /area/shuttle/cyclone) "eT" = ( -/obj/structure/shuttle/part/dropship2/transparent/left_outer_bottom_wing{ - name = "\improper Cyclone" - }, +/obj/structure/shuttle/part/cyclone/transparent, /turf/template_noop, /area/shuttle/cyclone) "fo" = ( -/obj/structure/shuttle/part/dropship2/transparent/engine_left_cap{ - name = "\improper Cyclone" +/obj/structure/shuttle/part/cyclone/transparent{ + icon_state = "40" }, /turf/template_noop, /area/shuttle/cyclone) @@ -85,90 +77,88 @@ }, /area/shuttle/cyclone) "fy" = ( -/obj/docking_port/mobile/marine_dropship/cyclone, -/obj/effect/attach_point/crew_weapon/midway{ - ship_tag = "dropship_cyclone"; - attach_id = 7 +/obj/structure/shuttle/part/cyclone/transparent{ + icon_state = "91" + }, +/obj/effect/attach_point/electronics/cyclone, +/turf/template_noop, +/area/shuttle/cyclone) +"fV" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "S"; + pixel_y = 2 + }, +/obj/effect/decal/warning_stripes{ + icon_state = "N"; + pixel_y = -1 }, /turf/open/shuttle/dropship{ icon_state = "rasputin14" }, /area/shuttle/cyclone) "gn" = ( -/obj/structure/machinery/camera/autoname/almayer/dropship_two{ - pixel_x = 8; - pixel_y = -16; - network = list("Golden Arrow","Cyclone") - }, +/obj/docking_port/mobile/marine_dropship/cyclone, /turf/open/shuttle/dropship{ - icon_state = "rasputin15" + icon_state = "floor8" }, /area/shuttle/cyclone) "ha" = ( -/obj/effect/attach_point/fuel/midway{ - attach_id = 11; - ship_tag = "dropship_cyclone" - }, +/obj/effect/attach_point/fuel/cyclone, /turf/closed/shuttle/cyclone/transparent{ icon_state = "32" }, /area/shuttle/cyclone) "hd" = ( -/obj/effect/attach_point/fuel/dropship2{ - pixel_x = -32; - ship_tag = "dropship_cyclone"; - attach_id = 11 - }, /turf/closed/shuttle/cyclone/transparent{ icon_state = "33" }, /area/shuttle/cyclone) "hu" = ( -/obj/structure/shuttle/part/dropship2/transparent/right_outer_bottom_wing{ - name = "\improper Cyclone" +/obj/structure/shuttle/part/cyclone/transparent{ + icon_state = "6" }, /turf/template_noop, /area/shuttle/cyclone) "hS" = ( -/obj/structure/shuttle/part/dropship2/transparent/engine_right_cap{ - name = "\improper Cyclone" +/obj/structure/shuttle/part/cyclone/transparent{ + icon_state = "41" }, /turf/template_noop, /area/shuttle/cyclone) "hV" = ( -/obj/structure/shuttle/part/dropship2/transparent/engine_right_exhaust{ - name = "\improper Cyclone" +/obj/structure/shuttle/part/cyclone/transparent{ + icon_state = "21" }, /turf/template_noop, /area/shuttle/cyclone) "ia" = ( -/obj/structure/bed/chair/dropship/pilot{ - dir = 1 +/obj/structure/stairs/perspective{ + dir = 1; + icon_state = "p_stair_full"; + pixel_y = 22 + }, +/obj/structure/machinery/computer/dropship_weapons/cyclone/small{ + pixel_y = 8; + pixel_x = 8 + }, +/obj/structure/bed/chair/vehicle/dropship_cockpit/copilot{ + dir = 1; + pixel_x = 8; + layer = 5 }, /turf/open/shuttle/dropship{ icon_state = "rasputin15" }, /area/shuttle/cyclone) "iO" = ( -/obj/structure/shuttle/part/dropship2/right_inner_wing_connector{ - name = "\improper Cyclone" +/obj/structure/shuttle/part/cyclone/transparent{ + icon_state = "8" }, /turf/template_noop, /area/shuttle/cyclone) -"jr" = ( -/obj/effect/attach_point/crew_weapon/midway{ - ship_tag = "dropship_cyclone"; - dir = 8; - attach_id = 8 - }, -/turf/open/shuttle/dropship{ - icon_state = "rasputin15" - }, -/area/shuttle/cyclone) "lc" = ( -/obj/structure/machinery/light{ - dir = 4; - pixel_x = 14 +/obj/structure/machinery/light/double{ + dir = 4 }, /turf/open/shuttle/dropship{ icon_state = "rasputin3" @@ -183,6 +173,10 @@ /obj/structure/bed/chair/dropship/passenger{ dir = 8 }, +/obj/structure/machinery/cm_vending/sorted/medical/wall_med{ + pixel_y = 26; + pixel_x = -10 + }, /turf/open/shuttle/dropship{ icon_state = "rasputin15" }, @@ -193,8 +187,8 @@ }, /area/shuttle/cyclone) "mO" = ( -/obj/structure/shuttle/part/dropship2/transparent/upper_left_wing{ - name = "\improper Cyclone" +/obj/structure/shuttle/part/cyclone/transparent{ + icon_state = "71" }, /turf/template_noop, /area/shuttle/cyclone) @@ -215,14 +209,13 @@ }, /area/shuttle/cyclone) "oX" = ( -/obj/structure/machinery/camera/autoname/golden_arrow/midway{ - dir = 8; - pixel_x = 23; - network = list("Golden Arrow","Cyclone") - }, /obj/structure/bed/chair/dropship/passenger{ dir = 8 }, +/obj/structure/machinery/camera/autoname/golden_arrow/cyclone{ + dir = 8; + pixel_x = 23 + }, /turf/open/shuttle/dropship{ icon_state = "rasputin15" }, @@ -233,21 +226,23 @@ }, /area/shuttle/cyclone) "pj" = ( -/turf/closed/shuttle/cyclone/transparent{ - icon_state = "96"; - name = "\improper Cyclon" +/obj/structure/shuttle/part/cyclone/transparent{ + icon_state = "9" + }, +/obj/structure/shuttle/part/cyclone/transparent{ + icon_state = "41" }, +/turf/template_noop, /area/shuttle/cyclone) "pz" = ( -/obj/structure/shuttle/part/dropship2/transparent/middle_left_wing{ - name = "\improper Cyclone" +/obj/structure/shuttle/part/cyclone/transparent{ + icon_state = "66" }, /turf/template_noop, /area/shuttle/cyclone) "qj" = ( -/obj/structure/machinery/light{ - dir = 8; - pixel_x = -14 +/obj/structure/machinery/light/double{ + dir = 8 }, /turf/open/shuttle/dropship{ icon_state = "rasputin3" @@ -268,19 +263,9 @@ icon_state = "48" }, /area/shuttle/cyclone) -"rk" = ( -/obj/effect/attach_point/crew_weapon/midway{ - ship_tag = "dropship_cyclone"; - dir = 4; - attach_id = 9 - }, -/turf/open/shuttle/dropship{ - icon_state = "rasputin15" - }, -/area/shuttle/cyclone) "ro" = ( -/obj/structure/shuttle/part/dropship2/nose_front_right{ - name = "\improper Cyclone" +/obj/structure/shuttle/part/cyclone/transparent{ + icon_state = "99a" }, /turf/template_noop, /area/shuttle/cyclone) @@ -319,7 +304,7 @@ /area/shuttle/cyclone) "vt" = ( /turf/closed/shuttle/cyclone/transparent{ - icon_state = "86" + icon_state = "86a" }, /area/shuttle/cyclone) "vH" = ( @@ -328,28 +313,29 @@ }, /area/shuttle/cyclone) "vT" = ( -/obj/structure/shuttle/part/dropship2/transparent/right_inner_bottom_wing{ - name = "\improper Cyclone" +/obj/structure/shuttle/part/cyclone/transparent{ + icon_state = "5" }, /turf/template_noop, /area/shuttle/cyclone) "wk" = ( /turf/template_noop, -/area/template_noop) +/area/space) "wA" = ( /turf/closed/shuttle/cyclone/transparent{ icon_state = "35" }, /area/shuttle/cyclone) "xY" = ( -/obj/structure/shuttle/part/dropship2/lower_left_wall{ - name = "\improper Cyclone" +/obj/structure/shuttle/part/cyclone/transparent{ + icon_state = "85" }, +/obj/effect/attach_point/weapon/cyclone/left_fore, /turf/template_noop, /area/shuttle/cyclone) "yA" = ( -/obj/structure/shuttle/part/dropship2/transparent/nose_center{ - name = "\improper Cyclone" +/obj/structure/shuttle/part/cyclone/transparent{ + icon_state = "101" }, /turf/template_noop, /area/shuttle/cyclone) @@ -378,35 +364,36 @@ }, /area/shuttle/cyclone) "zL" = ( -/obj/structure/shuttle/part/dropship2/transparent/nose_top_right{ - name = "\improper Cyclone" +/obj/structure/shuttle/part/cyclone/transparent{ + icon_state = "102" }, /turf/template_noop, /area/shuttle/cyclone) "Ak" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "N"; + pixel_y = -1 + }, +/obj/effect/decal/warning_stripes{ + icon_state = "S"; + pixel_y = 2 + }, /obj/structure/machinery/door/airlock/multi_tile/almayer/dropshiprear/ds2{ id = "aft_door"; name = "\improper Cyclone cargo door" }, /turf/open/shuttle/dropship{ - icon_state = "rasputin15" + icon_state = "rasputin14" }, /area/shuttle/cyclone) -"At" = ( +"Ax" = ( /obj/structure/shuttle/part/dropship2/lower_right_wall{ name = "\improper Cyclone" }, -/turf/template_noop, -/area/shuttle/cyclone) -"Ax" = ( -/obj/structure/blocker/invisible_wall, -/obj/structure/machinery/computer/cameras/dropship/midway{ - network = list("Cyclone","Laser Targets"); - name = "\improper 'Cyclone' camera controls" - }, -/turf/open/shuttle/dropship{ - icon_state = "rasputin15" +/obj/structure/shuttle/part/cyclone/transparent{ + icon_state = "40" }, +/turf/template_noop, /area/shuttle/cyclone) "AP" = ( /turf/closed/shuttle/cyclone{ @@ -415,82 +402,76 @@ /area/shuttle/cyclone) "Bt" = ( /turf/closed/shuttle/cyclone/transparent{ - icon_state = "89" + icon_state = "89a" }, /area/shuttle/cyclone) "BU" = ( +/obj/structure/bed/chair/dropship/passenger{ + dir = 4 + }, /obj/structure/machinery/cm_vending/sorted/medical/wall_med{ - pixel_x = 30 + pixel_y = 26; + pixel_x = 10 + }, +/obj/structure/extinguisher_cabinet/lifeboat{ + pixel_y = 27; + pixel_x = -2 }, /turf/open/shuttle/dropship{ - icon_state = "rasputin3" + icon_state = "rasputin15" }, /area/shuttle/cyclone) "Cb" = ( -/obj/structure/shuttle/part/dropship2/transparent/upper_right_wing{ - name = "\improper Cyclone" +/obj/structure/shuttle/part/cyclone/transparent{ + icon_state = "74" }, /turf/template_noop, /area/shuttle/cyclone) "Cf" = ( -/obj/structure/shuttle/part/dropship2/left_inner_wing_connector{ - name = "\improper Cyclone" +/obj/structure/shuttle/part/cyclone/transparent{ + icon_state = "7" }, /turf/template_noop, /area/shuttle/cyclone) "Da" = ( -/obj/structure/shuttle/part/dropship2/transparent/engine_left_exhaust{ - name = "\improper Cyclone" +/obj/structure/shuttle/part/cyclone/transparent{ + icon_state = "20" }, /turf/template_noop, /area/shuttle/cyclone) "Df" = ( -/obj/structure/shuttle/part/dropship2/right_outer_wing_connector{ - name = "\improper Cyclone" +/obj/structure/shuttle/part/cyclone/transparent{ + icon_state = "4" }, /turf/template_noop, /area/shuttle/cyclone) "Dl" = ( -/obj/structure/machinery/camera/autoname/golden_arrow/midway{ +/obj/structure/machinery/camera/autoname/golden_arrow/cyclone{ dir = 4; - pixel_x = -23; - network = list("Golden Arrow","Cyclone") + pixel_x = -23 }, /turf/open/shuttle/dropship{ icon_state = "rasputin3" }, /area/shuttle/cyclone) -"Ey" = ( -/obj/structure/machinery/door/airlock/multi_tile/almayer/dropshiprear/dropshipside/ds2/cyclone{ - dir = 1; - id = "starboard_door" - }, -/turf/open/shuttle/dropship{ - icon_state = "rasputin15" - }, -/area/shuttle/cyclone) "EP" = ( /turf/closed/shuttle/cyclone{ icon_state = "75" }, /area/shuttle/cyclone) "Fz" = ( -/obj/effect/attach_point/fuel/midway{ - ship_tag = "dropship_cyclone"; - attach_id = 10 - }, +/obj/effect/attach_point/fuel/cyclone, /turf/closed/shuttle/cyclone/transparent{ icon_state = "28" }, /area/shuttle/cyclone) "FD" = ( -/obj/structure/machinery/light{ - dir = 4; - pixel_x = 14 - }, /obj/structure/bed/chair/dropship/passenger{ dir = 8 }, +/obj/structure/machinery/light/double{ + dir = 4 + }, /turf/open/shuttle/dropship{ icon_state = "rasputin15" }, @@ -523,39 +504,28 @@ }, /area/shuttle/cyclone) "IP" = ( -/obj/structure/shuttle/part/dropship2/transparent/lower_left_wing{ - name = "\improper Cyclone" - }, -/obj/effect/attach_point/weapon/midway/left_wing{ - ship_tag = "dropship_cyclone" +/obj/structure/shuttle/part/cyclone/transparent{ + icon_state = "61" }, +/obj/effect/attach_point/weapon/cyclone/left_wing, /turf/template_noop, /area/shuttle/cyclone) "IZ" = ( -/obj/structure/shuttle/part/dropship2/transparent/middle_right_wing{ - name = "\improper Cyclone" +/obj/structure/shuttle/part/cyclone/transparent{ + icon_state = "70" }, /turf/template_noop, /area/shuttle/cyclone) -"JZ" = ( -/obj/structure/machinery/door_control{ - id = "dropship_midway"; - name = "Dropship Lockdown"; - normaldoorcontrol = 3; - pixel_y = -19; - req_one_access_txt = "3;22" - }, -/turf/open/shuttle/dropship{ - icon_state = "rasputin14" - }, -/area/shuttle/cyclone) "Kv" = ( /turf/closed/shuttle/cyclone{ icon_state = "81" }, /area/shuttle/cyclone) "KQ" = ( -/obj/structure/bed/chair/dropship/passenger, +/obj/structure/bed/chair/dropship/passenger/folded{ + pixel_y = 8; + buckling_y = 8 + }, /turf/open/shuttle/dropship{ icon_state = "rasputin15" }, @@ -565,33 +535,12 @@ icon_state = "rasputin8" }, /area/shuttle/cyclone) -"MD" = ( -/obj/structure/machinery/cm_vending/sorted/medical/wall_med{ - pixel_x = -30 - }, -/obj/structure/bed/chair/dropship/passenger{ - dir = 4 - }, -/turf/open/shuttle/dropship{ - icon_state = "rasputin15" - }, -/area/shuttle/cyclone) "MU" = ( -/obj/structure/phone_base/rotary{ - name = "Cyclone Telephone"; - phone_category = "Dropship"; - phone_id = "Cyclone"; - pixel_x = 11; - pixel_y = 16 - }, -/obj/structure/blocker/invisible_wall, -/obj/structure/machinery/computer/dropship_weapons/midway{ - name = "\improper 'Cyclone' weapons controls"; - shuttle_tag = "dropship_cyclone" - }, -/turf/open/shuttle/dropship{ - icon_state = "rasputin15" +/obj/structure/shuttle/part/cyclone/transparent{ + icon_state = "84" }, +/obj/effect/attach_point/electronics/cyclone, +/turf/template_noop, /area/shuttle/cyclone) "Ob" = ( /turf/open/shuttle/dropship{ @@ -599,34 +548,38 @@ }, /area/shuttle/cyclone) "Pg" = ( -/obj/structure/blocker/invisible_wall, -/obj/structure/machinery/computer/shuttle/dropship/flight, -/turf/open/shuttle/dropship{ - icon_state = "rasputin15" +/obj/structure/machinery/computer/shuttle/dropship/flight/small{ + pixel_y = 16; + pixel_x = 6 }, -/area/shuttle/cyclone) -"QA" = ( -/obj/structure/machinery/door/airlock/multi_tile/almayer/dropshiprear/dropshipside/ds2/cyclone{ - dir = 2; - id = "port_door" +/obj/structure/phone_base{ + dir = 4; + pixel_x = -19; + pixel_y = 12; + layer = 3.1; + phone_category = "Dropship"; + name = "Cyclone telephone receiver"; + phone_id = "Cyclone" + }, +/obj/structure/bed/chair/vehicle/dropship_cockpit/pilot{ + dir = 1; + pixel_x = 6; + pixel_y = 8 }, /turf/open/shuttle/dropship{ icon_state = "rasputin15" }, /area/shuttle/cyclone) "QN" = ( -/obj/effect/attach_point/weapon/dropship2/right_wing, -/obj/structure/shuttle/part/dropship2/transparent/lower_right_wing{ - name = "\improper Cyclone" - }, -/obj/effect/attach_point/weapon/midway/right_wing{ - ship_tag = "dropship_cyclone" +/obj/structure/shuttle/part/cyclone/transparent{ + icon_state = "65" }, +/obj/effect/attach_point/weapon/cyclone/right_wing, /turf/template_noop, /area/shuttle/cyclone) "RR" = ( -/obj/structure/shuttle/part/dropship2/transparent/nose_top_left{ - name = "\improper Cyclone" +/obj/structure/shuttle/part/cyclone/transparent{ + icon_state = "100" }, /turf/template_noop, /area/shuttle/cyclone) @@ -672,12 +625,12 @@ /area/shuttle/cyclone) "XU" = ( /turf/closed/shuttle/cyclone/transparent{ - icon_state = "97" + icon_state = "97a" }, /area/shuttle/cyclone) "XY" = ( -/turf/closed/shuttle/cyclone{ - icon_state = "94" +/turf/closed/shuttle/cyclone/transparent{ + icon_state = "89b" }, /area/shuttle/cyclone) "YL" = ( @@ -685,18 +638,9 @@ icon_state = "36" }, /area/shuttle/cyclone) -"Zd" = ( -/obj/structure/shuttle/part/dropship2/transparent/outer_right_weapons{ - name = "\improper Cyclone" - }, -/obj/effect/attach_point/weapon/midway/right_fore{ - ship_tag = "dropship_cyclone" - }, -/turf/template_noop, -/area/shuttle/cyclone) "ZG" = ( -/obj/structure/shuttle/part/dropship2/transparent/left_outer_inner_wing{ - name = "\improper Cyclone" +/obj/structure/shuttle/part/cyclone/transparent{ + icon_state = "2" }, /turf/template_noop, /area/shuttle/cyclone) @@ -716,8 +660,6 @@ mO pz IP wk -wk -wk fo vH Fz @@ -730,15 +672,13 @@ eT wk wk wk -cJ +MU EP uH mI pb -Ty -QA -xY -hS +dN +pj wA rB od @@ -747,18 +687,16 @@ wk ZG "} (3,1,1) = {" -RR -cj -ag -vt +wk +wk +wk +xY Sl +BU sR -MD eu -jr -JZ +sR qs -dN YL fr tU @@ -767,18 +705,16 @@ Cf aP "} (4,1,1) = {" -yA -pj -Ax -gn +RR +cj +ag +vt ZU nj Sk Sk Vu -cm cy -nj Sk Dl qj @@ -795,50 +731,44 @@ Iz FV KQ KQ -FV -fy +gn nH -FV -Ty Ty Ty Ty +fV wk wk "} (6,1,1) = {" -yA -bw -MU -Ty +zL +ro +XY +Bt zz Ob Sk Sk KU -cm yP -Ob -BU +Sk Sk lc -Ty +fV wk wk "} (7,1,1) = {" -zL -ro -XY -Bt +wk +wk +wk +bw Kv ml oX FD -rk -JZ +cm qX -GE sA zG qN @@ -850,15 +780,13 @@ Df wk wk wk -Zd +fy AP sa Hg Uo -Ty -Ey -At -fo +GE +Ax zH ha Wr @@ -876,8 +804,6 @@ Cb IZ QN wk -wk -wk hS cR hd diff --git a/maps/shuttles/dropship_midway.dmm b/maps/shuttles/dropship_midway.dmm index 86854e38e3..a1e0627e88 100644 --- a/maps/shuttles/dropship_midway.dmm +++ b/maps/shuttles/dropship_midway.dmm @@ -5,8 +5,8 @@ }, /area/shuttle/midway) "bm" = ( -/obj/structure/shuttle/part/dropship1/transparent/engine_right_exhaust{ - name = "\improper Midway" +/obj/structure/shuttle/part/midway/transparent{ + icon_state = "21" }, /turf/template_noop, /area/shuttle/midway) @@ -16,20 +16,19 @@ }, /area/shuttle/midway) "dr" = ( -/obj/structure/machinery/door_control{ - id = "dropship_midway"; - name = "Dropship Lockdown"; - normaldoorcontrol = 3; - pixel_y = -19; - req_one_access_txt = "3;22" +/obj/structure/bed/chair/dropship/passenger{ + dir = 4 + }, +/obj/structure/machinery/light/double{ + dir = 8 }, /turf/open/shuttle/dropship{ icon_state = "rasputin15" }, /area/shuttle/midway) "dB" = ( -/obj/structure/shuttle/part/dropship1/left_inner_wing_connector{ - name = "\improper Midway" +/obj/structure/shuttle/part/midway/transparent{ + icon_state = "7" }, /turf/template_noop, /area/shuttle/midway) @@ -40,32 +39,27 @@ /area/shuttle/midway) "dE" = ( /turf/closed/shuttle/midway{ - icon_state = "42" + icon_state = "36" }, /area/shuttle/midway) "eu" = ( -/obj/structure/shuttle/part/dropship1/transparent/left_outer_bottom_wing{ - name = "\improper Midway" +/obj/structure/shuttle/part/midway/transparent{ + icon_state = "2" }, /turf/template_noop, /area/shuttle/midway) "go" = ( -/obj/structure/phone_base/rotary{ - name = "Midway Telephone"; - phone_category = "Dropship"; - phone_id = "Midway"; - pixel_x = 11; - pixel_y = 16 - }, -/obj/structure/blocker/invisible_wall, -/obj/structure/machinery/computer/dropship_weapons/midway, -/turf/open/shuttle/dropship{ - icon_state = "rasputin15" +/obj/structure/shuttle/part/midway/transparent{ + icon_state = "102" }, +/turf/template_noop, /area/shuttle/midway) "gw" = ( -/obj/structure/shuttle/part/dropship2/transparent/engine_right_cap{ - name = "\improper Midway" +/obj/structure/shuttle/part/midway/transparent{ + icon_state = "46" + }, +/obj/structure/shuttle/part/midway/transparent{ + icon_state = "41" }, /turf/template_noop, /area/shuttle/midway) @@ -75,18 +69,17 @@ }, /area/shuttle/midway) "hL" = ( -/obj/structure/machinery/light{ - dir = 8; - pixel_x = -14 - }, -/turf/open/shuttle/dropship{ - icon_state = "rasputin2" +/obj/structure/shuttle/part/midway/transparent{ + icon_state = "95a" }, +/turf/template_noop, /area/shuttle/midway) "hO" = ( -/turf/closed/shuttle/midway/transparent{ - icon_state = "86" +/obj/structure/shuttle/part/midway/transparent{ + icon_state = "65" }, +/obj/effect/attach_point/weapon/midway/right_wing, +/turf/template_noop, /area/shuttle/midway) "if" = ( /turf/closed/shuttle/midway/transparent{ @@ -94,14 +87,13 @@ }, /area/shuttle/midway) "im" = ( -/obj/structure/shuttle/part/dropship1/transparent/nose_top_left{ - name = "\improper Midway" +/turf/open/shuttle/dropship{ + icon_state = "rasputin4" }, -/turf/template_noop, /area/shuttle/midway) "iv" = ( -/obj/structure/machinery/cm_vending/sorted/medical/wall_med{ - pixel_x = -30 +/obj/structure/bed/chair/dropship/passenger{ + dir = 8 }, /turf/open/shuttle/dropship{ icon_state = "rasputin15" @@ -117,12 +109,16 @@ }, /area/shuttle/midway) "jy" = ( -/obj/effect/attach_point/crew_weapon/midway{ - attach_id = 8 +/obj/structure/bed/chair/dropship/passenger{ + dir = 4 }, -/obj/structure/machinery/light{ - dir = 8; - pixel_x = -14 +/obj/structure/machinery/cm_vending/sorted/medical/wall_med{ + pixel_y = 26; + pixel_x = 10 + }, +/obj/structure/extinguisher_cabinet/lifeboat{ + pixel_y = 27; + pixel_x = -2 }, /turf/open/shuttle/dropship{ icon_state = "rasputin15" @@ -137,12 +133,9 @@ /obj/structure/platform{ dir = 1 }, -/obj/effect/decal/warning_stripes{ - icon_state = "N"; - pixel_y = 1 - }, +/obj/structure/blocker/forcefield/multitile_vehicles, /turf/open/shuttle/dropship{ - icon_state = "floor8" + icon_state = "rasputin15" }, /area/shuttle/midway) "ls" = ( @@ -156,20 +149,18 @@ }, /area/shuttle/midway) "mh" = ( -/obj/structure/shuttle/part/dropship1/right_inner_wing_connector{ - name = "\improper Midway" +/obj/structure/shuttle/part/midway/transparent{ + icon_state = "8" }, /turf/template_noop, /area/shuttle/midway) "mE" = ( -/obj/structure/shuttle/part/dropship1/transparent/left_inner_bottom_wing{ - name = "\improper Midway" - }, +/obj/structure/shuttle/part/midway/transparent, /turf/template_noop, /area/shuttle/midway) "mG" = ( -/obj/structure/shuttle/part/dropship1/transparent/upper_left_wing{ - name = "\improper Midway" +/obj/structure/shuttle/part/midway/transparent{ + icon_state = "41" }, /turf/template_noop, /area/shuttle/midway) @@ -177,41 +168,26 @@ /obj/structure/platform_decoration{ dir = 4 }, -/obj/effect/decal/warning_stripes{ - icon_state = "N"; - pixel_y = 1 +/obj/structure/platform_decoration{ + dir = 8 }, /turf/open/shuttle/dropship{ - icon_state = "rasputin7" + icon_state = "rasputin3" }, /area/shuttle/midway) "mR" = ( -/obj/structure/shuttle/part/dropship1/nose_front_left{ - name = "\improper Midway" +/obj/structure/bed/chair/dropship/passenger/folded{ + pixel_y = 8; + buckling_y = 8 }, -/turf/template_noop, -/area/shuttle/midway) -"nH" = ( -/obj/structure/shuttle/part/dropship1/transparent/nose_center{ - name = "\improper Midway" +/turf/open/shuttle/dropship{ + icon_state = "rasputin15" }, -/turf/template_noop, /area/shuttle/midway) "od" = ( -/obj/structure/shuttle/part/dropship1/transparent/middle_left_wing{ - name = "\improper Midway" - }, -/turf/template_noop, -/area/shuttle/midway) -"ok" = ( -/obj/structure/shuttle/part/dropship1/transparent/nose_center{ - name = "\improper Midway"; - icon_state = "105" - }, -/obj/effect/attach_point/electronics/midway{ - attach_id = 5 +/turf/closed/shuttle/midway/transparent{ + icon_state = "89b" }, -/turf/template_noop, /area/shuttle/midway) "ro" = ( /turf/closed/shuttle/midway/transparent{ @@ -228,12 +204,6 @@ icon_state = "103" }, /area/shuttle/midway) -"rF" = ( -/obj/structure/shuttle/part/dropship1/lower_right_wall{ - name = "\improper Midway" - }, -/turf/template_noop, -/area/shuttle/midway) "rR" = ( /turf/closed/shuttle/midway/transparent{ icon_state = "32" @@ -245,62 +215,45 @@ }, /area/shuttle/midway) "tf" = ( -/obj/structure/bed/chair/dropship/pilot{ - dir = 1 +/obj/structure/machinery/cm_vending/sorted/medical/wall_med{ + pixel_y = 26; + pixel_x = -10 }, -/turf/open/shuttle/dropship{ - icon_state = "rasputin15" +/turf/closed/shuttle/midway/transparent{ + icon_state = "97a" }, /area/shuttle/midway) "ti" = ( -/obj/structure/extinguisher_cabinet/lifeboat{ - pixel_x = 12 - }, /turf/closed/shuttle/midway/transparent{ - icon_state = "78" - }, -/area/shuttle/midway) -"tG" = ( -/obj/structure/machinery/cm_vending/sorted/medical/wall_med{ - pixel_x = 30 - }, -/turf/open/shuttle/dropship{ - icon_state = "rasputin3" + icon_state = "86b" }, /area/shuttle/midway) "tP" = ( -/obj/structure/shuttle/part/dropship1/transparent/right_outer_bottom_wing{ - name = "\improper Midway" +/obj/structure/shuttle/part/midway/transparent{ + icon_state = "6" }, /turf/template_noop, /area/shuttle/midway) "ul" = ( -/obj/structure/shuttle/part/dropship2/transparent/engine_left_cap{ - name = "\improper Midway" +/obj/structure/shuttle/part/midway/transparent{ + icon_state = "40" }, /turf/template_noop, /area/shuttle/midway) "ux" = ( -/obj/structure/bed/chair/vehicle{ - pixel_x = -8 - }, -/obj/structure/bed/chair/vehicle{ - pixel_x = 8 - }, -/turf/open/shuttle/dropship{ - icon_state = "rasputin14" +/turf/closed/shuttle/midway/transparent{ + icon_state = "89a" }, /area/shuttle/midway) "vJ" = ( -/turf/closed/shuttle/midway{ - icon_state = "92" +/turf/open/shuttle/dropship{ + icon_state = "rasputin8" }, /area/shuttle/midway) "vN" = ( -/obj/structure/shuttle/part/dropship1/transparent/middle_right_wing{ - name = "\improper Midway" +/turf/closed/shuttle/midway/transparent{ + icon_state = "86a" }, -/turf/template_noop, /area/shuttle/midway) "wB" = ( /turf/closed/shuttle/midway{ @@ -313,12 +266,12 @@ }, /area/shuttle/midway) "xy" = ( -/obj/effect/attach_point/crew_weapon/midway{ - attach_id = 9 +/obj/structure/bed/chair/dropship/passenger{ + dir = 8 }, -/obj/structure/machinery/light{ - dir = 4; - pixel_x = 14 +/obj/structure/machinery/cm_vending/sorted/medical/wall_med{ + pixel_y = 26; + pixel_x = -10 }, /turf/open/shuttle/dropship{ icon_state = "rasputin15" @@ -335,15 +288,17 @@ }, /area/shuttle/midway) "yN" = ( -/obj/structure/shuttle/part/dropship1/right_outer_wing_connector{ - name = "\improper Midway" +/obj/structure/shuttle/part/midway/transparent{ + icon_state = "4" }, /turf/template_noop, /area/shuttle/midway) "yO" = ( -/turf/closed/shuttle/midway{ - icon_state = "94" +/obj/structure/shuttle/part/midway/transparent{ + icon_state = "61" }, +/obj/effect/attach_point/weapon/midway/left_wing, +/turf/template_noop, /area/shuttle/midway) "zm" = ( /turf/closed/shuttle/midway/transparent{ @@ -351,9 +306,11 @@ }, /area/shuttle/midway) "Aw" = ( -/turf/closed/shuttle/midway/transparent{ - icon_state = "97" +/obj/structure/shuttle/part/midway/transparent{ + icon_state = "91" }, +/obj/effect/attach_point/electronics/midway, +/turf/template_noop, /area/shuttle/midway) "Bn" = ( /turf/closed/shuttle/midway{ @@ -371,15 +328,14 @@ }, /area/shuttle/midway) "BU" = ( -/obj/structure/shuttle/part/dropship1/transparent/engine_left_exhaust{ - name = "\improper Midway" +/obj/structure/shuttle/part/midway/transparent{ + icon_state = "20" }, /turf/template_noop, /area/shuttle/midway) "Cc" = ( -/obj/structure/machinery/camera/autoname/golden_arrow/midway{ - dir = 8; - pixel_x = 23 +/obj/structure/bed/chair/dropship/passenger{ + dir = 4 }, /turf/open/shuttle/dropship{ icon_state = "rasputin15" @@ -394,15 +350,10 @@ }, /area/shuttle/midway) "Cr" = ( -/obj/structure/prop/ice_colony/hula_girl{ - pixel_x = -10; - pixel_y = 16 - }, -/obj/structure/blocker/invisible_wall, -/obj/structure/machinery/computer/cameras/dropship/midway, -/turf/open/shuttle/dropship{ - icon_state = "rasputin15" +/obj/structure/shuttle/part/midway/transparent{ + icon_state = "100" }, +/turf/template_noop, /area/shuttle/midway) "Db" = ( /turf/closed/shuttle/midway/transparent{ @@ -410,7 +361,10 @@ }, /area/shuttle/midway) "Dg" = ( -/turf/open/shuttle/dropship, +/obj/structure/shuttle/part/midway/transparent{ + icon_state = "70" + }, +/turf/template_noop, /area/shuttle/midway) "Ds" = ( /obj/structure/stairs/perspective, @@ -418,13 +372,24 @@ dir = 4; layer = 2.7 }, +/obj/structure/platform{ + dir = 8 + }, /turf/open/shuttle/dropship{ icon_state = "rasputin3" }, /area/shuttle/midway) "DH" = ( -/turf/closed/shuttle/midway/transparent{ - icon_state = "89" +/obj/effect/decal/warning_stripes{ + icon_state = "S"; + pixel_y = 2 + }, +/obj/effect/decal/warning_stripes{ + icon_state = "N"; + pixel_y = -1 + }, +/turf/open/shuttle/dropship{ + icon_state = "rasputin14" }, /area/shuttle/midway) "Ed" = ( @@ -433,30 +398,39 @@ }, /area/shuttle/midway) "EN" = ( -/obj/structure/shuttle/part/dropship1/nose_front_right{ - name = "\improper Midway" +/obj/structure/bed/chair/vehicle/dropship_cockpit/pilot{ + dir = 1; + pixel_x = 6; + pixel_y = 8 + }, +/obj/structure/machinery/computer/shuttle/dropship/flight/small{ + pixel_y = 16; + pixel_x = 6 + }, +/obj/structure/phone_base{ + dir = 4; + pixel_x = -19; + pixel_y = 12; + layer = 3.1; + phone_category = "Dropship"; + name = "Midway telephone receiver"; + phone_id = "Midway" + }, +/turf/open/shuttle/dropship{ + icon_state = "rasputin15" }, -/turf/template_noop, /area/shuttle/midway) "Fu" = ( -/obj/structure/shuttle/part/dropship1/transparent/lower_right_wing{ - name = "\improper Midway" +/obj/structure/shuttle/part/midway/transparent{ + icon_state = "74" }, -/obj/effect/attach_point/weapon/midway/right_wing, /turf/template_noop, /area/shuttle/midway) "Gf" = ( -/obj/structure/machinery/camera/autoname/golden_arrow/midway{ - pixel_x = -6; - pixel_y = -16 - }, -/obj/structure/machinery/light{ - dir = 4; - pixel_x = 14 - }, -/turf/open/shuttle/dropship{ - icon_state = "rasputin2" +/obj/structure/shuttle/part/midway/transparent{ + icon_state = "99a" }, +/turf/template_noop, /area/shuttle/midway) "Gh" = ( /turf/open/shuttle/dropship{ @@ -464,11 +438,23 @@ }, /area/shuttle/midway) "Go" = ( -/obj/structure/shuttle/part/dropship1/transparent/outer_left_weapons{ - name = "\improper Midway" +/obj/structure/stairs/perspective{ + dir = 1; + icon_state = "p_stair_full"; + pixel_y = 22 + }, +/obj/structure/machinery/computer/dropship_weapons/midway/small{ + pixel_y = 8; + pixel_x = 8 + }, +/obj/structure/bed/chair/vehicle/dropship_cockpit/copilot{ + dir = 1; + pixel_x = 8; + layer = 5 + }, +/turf/open/shuttle/dropship{ + icon_state = "rasputin15" }, -/obj/effect/attach_point/weapon/midway/left_fore, -/turf/template_noop, /area/shuttle/midway) "Hj" = ( /turf/closed/shuttle/midway{ @@ -476,18 +462,25 @@ }, /area/shuttle/midway) "Hz" = ( -/obj/structure/shuttle/part/dropship1/left_outer_wing_connector{ - name = "\improper Midway" +/obj/structure/shuttle/part/midway/transparent{ + icon_state = "3" }, /turf/template_noop, /area/shuttle/midway) "HY" = ( -/obj/structure/machinery/door/airlock/multi_tile/almayer/dropshiprear/ds1{ - id = "aft_door"; - name = "\improper Midway cargo door" +/obj/effect/decal/warning_stripes{ + icon_state = "N"; + pixel_y = -1 + }, +/obj/effect/decal/warning_stripes{ + icon_state = "S"; + pixel_y = 2 + }, +/obj/structure/machinery/door/airlock/multi_tile/almayer/dropshiprear/ds4{ + id = "aft_door" }, /turf/open/shuttle/dropship{ - icon_state = "rasputin15" + icon_state = "rasputin14" }, /area/shuttle/midway) "Id" = ( @@ -508,20 +501,10 @@ icon_state = "72" }, /area/shuttle/midway) -"Kp" = ( -/obj/structure/machinery/door/airlock/multi_tile/almayer/dropshiprear/dropshipside/ds1/midway{ - dir = 1; - id = "starboard_door" - }, -/turf/open/shuttle/dropship{ - icon_state = "rasputin15" - }, -/area/shuttle/midway) "Ks" = ( -/obj/structure/shuttle/part/dropship1/transparent/lower_left_wing{ - name = "\improper Midway" +/obj/structure/shuttle/part/midway/transparent{ + icon_state = "71" }, -/obj/effect/attach_point/weapon/midway/left_wing, /turf/template_noop, /area/shuttle/midway) "Kv" = ( @@ -529,6 +512,9 @@ dir = 4; pixel_x = 14 }, +/obj/structure/machinery/light/double{ + dir = 4 + }, /turf/open/shuttle/dropship{ icon_state = "rasputin3" }, @@ -542,26 +528,23 @@ }, /area/shuttle/midway) "LY" = ( -/obj/structure/blocker/invisible_wall, -/obj/structure/machinery/computer/shuttle/dropship/flight, -/turf/open/shuttle/dropship{ - icon_state = "rasputin15" +/obj/structure/shuttle/part/midway/transparent{ + icon_state = "101" }, +/turf/template_noop, /area/shuttle/midway) "LZ" = ( -/obj/structure/shuttle/part/dropship1/transparent/upper_right_wing{ - name = "\improper Midway" +/obj/structure/shuttle/part/midway/transparent{ + icon_state = "84" }, +/obj/effect/attach_point/electronics/midway, /turf/template_noop, /area/shuttle/midway) "Mw" = ( -/obj/structure/shuttle/part/dropship1/transparent/nose_center{ - name = "\improper Midway"; - icon_state = "105" - }, -/obj/effect/attach_point/electronics/midway{ - attach_id = 6 +/obj/structure/shuttle/part/midway/transparent{ + icon_state = "85" }, +/obj/effect/attach_point/weapon/midway/left_fore, /turf/template_noop, /area/shuttle/midway) "Mz" = ( @@ -570,6 +553,9 @@ dir = 8; layer = 2.7 }, +/obj/structure/platform{ + dir = 4 + }, /turf/open/shuttle/dropship{ icon_state = "rasputin3" }, @@ -579,88 +565,69 @@ icon_state = "rasputin15" }, /area/shuttle/midway) -"OB" = ( -/turf/closed/shuttle/midway/transparent{ - icon_state = "96" - }, -/area/shuttle/midway) "Pc" = ( /turf/closed/shuttle/midway/transparent{ - icon_state = "98" + icon_state = "78" }, /area/shuttle/midway) "PP" = ( -/obj/structure/machinery/door/airlock/hatch/cockpit, /obj/structure/blocker/forcefield/multitile_vehicles, +/obj/structure/machinery/door/airlock/hatch/cockpit/four, /turf/open/shuttle/dropship{ icon_state = "rasputin15" }, /area/shuttle/midway) "Qk" = ( -/obj/docking_port/mobile/marine_dropship/midway, -/turf/open/shuttle/dropship{ - icon_state = "rasputin15" +/obj/structure/shuttle/part/midway/transparent{ + icon_state = "15" }, -/area/shuttle/midway) -"QI" = ( -/obj/structure/shuttle/part/dropship1/lower_left_wall{ - name = "\improper Midway" +/obj/structure/shuttle/part/midway/transparent{ + icon_state = "40" }, /turf/template_noop, /area/shuttle/midway) "QK" = ( -/obj/structure/machinery/light{ - dir = 8; - pixel_x = -14 +/obj/structure/machinery/light/double{ + dir = 8 }, /turf/open/shuttle/dropship{ icon_state = "rasputin3" }, /area/shuttle/midway) "Rm" = ( -/obj/structure/platform_decoration{ - dir = 8 - }, -/obj/effect/decal/warning_stripes{ - icon_state = "N"; - pixel_y = 1 - }, -/turf/open/shuttle/dropship{ - icon_state = "rasputin6" - }, -/area/shuttle/midway) -"SS" = ( -/obj/structure/machinery/door/airlock/multi_tile/almayer/dropshiprear/dropshipside/ds1/midway{ - dir = 2; - id = "port_door" +/obj/effect/attach_point/crew_weapon/midway{ + attach_id = 7 }, +/obj/docking_port/mobile/marine_dropship/midway, /turf/open/shuttle/dropship{ icon_state = "rasputin15" }, /area/shuttle/midway) "SZ" = ( -/obj/structure/shuttle/part/dropship1/transparent/right_inner_bottom_wing{ - name = "\improper Midway" +/obj/structure/shuttle/part/midway/transparent{ + icon_state = "5" }, /turf/template_noop, /area/shuttle/midway) "Tl" = ( -/obj/structure/shuttle/part/dropship1/transparent/nose_top_right{ - name = "\improper Midway" - }, -/turf/template_noop, -/area/shuttle/midway) -"UI" = ( -/obj/structure/bed/chair/vehicle{ - pixel_x = -8 +/obj/structure/bed/chair/dropship/passenger{ + dir = 8 }, -/obj/structure/bed/chair/vehicle{ - pixel_x = 8 +/obj/structure/machinery/light/double{ + dir = 4; + pixel_y = -5 }, /turf/open/shuttle/dropship{ icon_state = "rasputin15" }, /area/shuttle/midway) +"UI" = ( +/obj/structure/shuttle/part/midway/transparent{ + icon_state = "90" + }, +/obj/effect/attach_point/weapon/midway/right_fore, +/turf/template_noop, +/area/shuttle/midway) "Vu" = ( /turf/closed/shuttle/midway{ icon_state = "67" @@ -672,16 +639,8 @@ }, /area/shuttle/midway) "WN" = ( -/obj/structure/bed/chair/vehicle{ - dir = 1; - pixel_x = -8 - }, -/obj/structure/bed/chair/vehicle{ - dir = 1; - pixel_x = 8 - }, /turf/open/shuttle/dropship{ - icon_state = "rasputin15" + icon_state = "floor8" }, /area/shuttle/midway) "XH" = ( @@ -699,10 +658,9 @@ }, /area/shuttle/midway) "Zr" = ( -/obj/structure/shuttle/part/dropship1/transparent/outer_right_weapons{ - name = "\improper Midway" +/obj/structure/shuttle/part/midway/transparent{ + icon_state = "66" }, -/obj/effect/attach_point/weapon/midway/right_fore, /turf/template_noop, /area/shuttle/midway) "Zu" = ( @@ -722,11 +680,9 @@ Kw Kw Kw Kw -mG -od Ks -Kw -Kw +Zr +yO Kw ul af @@ -740,14 +696,12 @@ mE Kw Kw Kw -Go +LZ Hj Jq Vu xp -ME -SS -QI +dE gw ls Zu @@ -757,19 +711,17 @@ Kw eu "} (3,1,1) = {" -im -mR -vJ -hO +Kw +Kw +Kw +Mw Yr -UI -iv jy -ME +Cc dr +Cc BI dE -dE Bn hl rr @@ -777,18 +729,16 @@ dB Hz "} (4,1,1) = {" -ok -OB Cr hL ti -ux +vN +Pc bs jW -jW -jW +im Ds -Rm +mL jW je QK @@ -797,59 +747,53 @@ Kw Kw "} (5,1,1) = {" -nH -Aw LY tf +EN +Go PP -jW -Dg WN -ME -Qk -Id +mR +WN +Rm kC ME +Id ME -ME -ME +DH Kw Kw "} (6,1,1) = {" -Mw -Pc go Gf -ro +od ux +ro Gh jW -jW -jW +vJ Mz mL -tG +jW jW Kv -ME +DH Kw Kw "} (7,1,1) = {" -Tl -EN -yO -DH -rq +Kw +Kw +Kw UI -Cc +rq xy -ME -dr +iv +Tl +iv Lr yB -yB sl Ed lC @@ -860,15 +804,13 @@ yN Kw Kw Kw -Zr +Aw wB VU ym Ji -ME -Kp -rF -ul +yB +Qk BS rR Db @@ -882,13 +824,11 @@ Kw Kw Kw Kw -LZ -vN Fu +Dg +hO Kw -Kw -Kw -gw +mG ZZ XH if diff --git a/maps/shuttles/dropship_tornado.dmm b/maps/shuttles/dropship_tornado.dmm new file mode 100644 index 0000000000..240420ff0d --- /dev/null +++ b/maps/shuttles/dropship_tornado.dmm @@ -0,0 +1,906 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"ag" = ( +/obj/structure/shuttle/part/tornado/transparent{ + icon_state = "17" + }, +/turf/template_noop, +/area/shuttle/tornado) +"av" = ( +/turf/closed/shuttle/dropship2/tornado{ + icon_state = "75" + }, +/area/shuttle/tornado) +"aw" = ( +/obj/structure/shuttle/part/tornado{ + icon_state = "5" + }, +/turf/template_noop, +/area/shuttle/tornado) +"aG" = ( +/obj/structure/shuttle/part/tornado/transparent{ + icon_state = "71" + }, +/turf/template_noop, +/area/shuttle/tornado) +"bf" = ( +/obj/structure/shuttle/part/typhoon/transparent{ + icon_state = "3" + }, +/turf/template_noop, +/area/shuttle/tornado) +"bm" = ( +/turf/closed/shuttle/dropship2/tornado{ + icon_state = "64" + }, +/area/shuttle/tornado) +"bp" = ( +/obj/structure/bed/chair/dropship/passenger{ + dir = 8 + }, +/obj/structure/machinery/cm_vending/sorted/medical/wall_med{ + pixel_y = 26; + pixel_x = -10 + }, +/turf/open/shuttle/dropship{ + icon_state = "rasputin15" + }, +/area/shuttle/tornado) +"bL" = ( +/obj/structure/shuttle/part/tornado/transparent{ + icon_state = "66" + }, +/turf/template_noop, +/area/shuttle/tornado) +"ck" = ( +/obj/structure/shuttle/part/tornado/transparent{ + icon_state = "35" + }, +/turf/template_noop, +/area/shuttle/tornado) +"cX" = ( +/obj/structure/stairs/perspective{ + icon_state = "p_stair_full"; + can_block_movement = 0 + }, +/obj/structure/platform{ + dir = 8 + }, +/turf/open/shuttle/dropship{ + icon_state = "rasputin15" + }, +/area/shuttle/tornado) +"db" = ( +/obj/structure/bed/chair/dropship/passenger/folded{ + pixel_y = 8; + buckling_y = 8 + }, +/turf/open/shuttle/dropship{ + icon_state = "rasputin15" + }, +/area/shuttle/tornado) +"dm" = ( +/obj/structure/shuttle/part/tornado/transparent{ + icon_state = "38" + }, +/turf/template_noop, +/area/shuttle/tornado) +"dW" = ( +/turf/closed/shuttle/dropship2/tornado{ + icon_state = "25" + }, +/area/shuttle/tornado) +"eg" = ( +/obj/structure/shuttle/part/tornado/transparent{ + icon_state = "27" + }, +/turf/template_noop, +/area/shuttle/tornado) +"eq" = ( +/obj/structure/shuttle/part/typhoon/transparent{ + icon_state = "4" + }, +/turf/template_noop, +/area/shuttle/tornado) +"et" = ( +/obj/structure/shuttle/part/tornado/transparent{ + icon_state = "20" + }, +/turf/template_noop, +/area/shuttle/tornado) +"eU" = ( +/obj/structure/shuttle/part/tornado/transparent{ + icon_state = "23" + }, +/turf/template_noop, +/area/shuttle/tornado) +"fj" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "N"; + pixel_y = -1 + }, +/obj/effect/decal/warning_stripes{ + icon_state = "S"; + pixel_y = 2 + }, +/obj/structure/machinery/door/airlock/multi_tile/almayer/dropshiprear/ds2{ + id = "aft_door"; + name = "\improper Tornado cargo door" + }, +/turf/open/shuttle/dropship{ + icon_state = "rasputin14" + }, +/area/shuttle/tornado) +"fr" = ( +/obj/structure/stairs/perspective{ + dir = 1; + icon_state = "p_stair_full"; + pixel_y = 22 + }, +/obj/structure/bed/chair/vehicle/dropship_cockpit/copilot{ + dir = 1; + layer = 5; + pixel_x = 8 + }, +/obj/structure/machinery/computer/dropship_weapons/tornado/small{ + pixel_y = 8; + pixel_x = 8 + }, +/turf/open/shuttle/dropship{ + icon_state = "rasputin15" + }, +/area/shuttle/tornado) +"gJ" = ( +/obj/structure/shuttle/part/tornado{ + icon_state = "2" + }, +/turf/template_noop, +/area/shuttle/tornado) +"hd" = ( +/obj/structure/shuttle/part/tornado/transparent, +/turf/template_noop, +/area/shuttle/tornado) +"hn" = ( +/obj/structure/shuttle/part/tornado/transparent{ + icon_state = "33" + }, +/turf/template_noop, +/area/shuttle/tornado) +"hB" = ( +/obj/structure/platform_decoration{ + dir = 4 + }, +/turf/open/shuttle/dropship{ + icon_state = "rasputin15" + }, +/area/shuttle/tornado) +"hE" = ( +/obj/structure/shuttle/part/tornado/transparent{ + icon_state = "101" + }, +/turf/template_noop, +/area/shuttle/tornado) +"jP" = ( +/turf/open/shuttle/dropship{ + icon_state = "rasputin7" + }, +/area/shuttle/tornado) +"kI" = ( +/obj/structure/shuttle/part/tornado/transparent{ + icon_state = "40"; + density = 0; + layer = 4.2 + }, +/turf/template_noop, +/area/shuttle/tornado) +"lb" = ( +/turf/closed/shuttle/dropship2/tornado{ + icon_state = "77" + }, +/area/shuttle/tornado) +"lM" = ( +/obj/structure/shuttle/part/tornado/transparent{ + icon_state = "15" + }, +/turf/template_noop, +/area/shuttle/tornado) +"mb" = ( +/obj/effect/attach_point/crew_weapon/tornado, +/turf/open/shuttle/dropship{ + icon_state = "rasputin15" + }, +/area/shuttle/tornado) +"mt" = ( +/obj/docking_port/mobile/marine_dropship/tornado, +/obj/structure/bed/chair/dropship/passenger/folded{ + pixel_y = 8; + buckling_y = 8 + }, +/turf/open/shuttle/dropship{ + icon_state = "rasputin15" + }, +/area/shuttle/tornado) +"ni" = ( +/turf/closed/shuttle/dropship2/tornado{ + icon_state = "89a"; + opacity = 0 + }, +/area/shuttle/tornado) +"oB" = ( +/obj/structure/bed/chair/dropship/passenger{ + dir = 4 + }, +/obj/structure/machinery/cm_vending/sorted/medical/wall_med{ + pixel_y = 26; + pixel_x = 10 + }, +/obj/structure/extinguisher_cabinet/lifeboat{ + pixel_y = 27; + pixel_x = -2 + }, +/turf/open/shuttle/dropship{ + icon_state = "rasputin15" + }, +/area/shuttle/tornado) +"pv" = ( +/turf/open/shuttle/dropship{ + icon_state = "rasputin4" + }, +/area/shuttle/tornado) +"qF" = ( +/obj/structure/shuttle/part/tornado/transparent{ + icon_state = "34" + }, +/turf/template_noop, +/area/shuttle/tornado) +"rp" = ( +/turf/closed/shuttle/dropship2/tornado{ + icon_state = "89b"; + opacity = 0 + }, +/area/shuttle/tornado) +"sx" = ( +/obj/structure/shuttle/part/tornado/transparent{ + icon_state = "100" + }, +/turf/template_noop, +/area/shuttle/tornado) +"sM" = ( +/turf/closed/shuttle/dropship2/tornado{ + icon_state = "62" + }, +/area/shuttle/tornado) +"uk" = ( +/turf/closed/shuttle/dropship2/tornado{ + icon_state = "47" + }, +/area/shuttle/tornado) +"uG" = ( +/obj/structure/bed/chair/dropship/passenger{ + dir = 8 + }, +/turf/open/shuttle/dropship{ + icon_state = "rasputin15" + }, +/area/shuttle/tornado) +"uL" = ( +/obj/structure/phone_base{ + dir = 4; + pixel_x = -19; + pixel_y = 12; + layer = 3.1; + phone_category = "Dropship"; + name = "Tornado telephone receiver"; + phone_id = "Tornado" + }, +/obj/structure/machinery/computer/shuttle/dropship/flight/small{ + pixel_y = 16; + pixel_x = 6 + }, +/obj/structure/bed/chair/vehicle/dropship_cockpit/pilot{ + dir = 1; + pixel_x = 6; + pixel_y = 8 + }, +/turf/open/shuttle/dropship{ + icon_state = "rasputin15" + }, +/area/shuttle/tornado) +"vk" = ( +/obj/structure/shuttle/part/tornado/transparent{ + icon_state = "74" + }, +/turf/template_noop, +/area/shuttle/tornado) +"vz" = ( +/obj/structure/shuttle/part/tornado/transparent{ + icon_state = "95a" + }, +/turf/template_noop, +/area/shuttle/tornado) +"vU" = ( +/obj/structure/shuttle/part/tornado/transparent{ + icon_state = "16" + }, +/turf/template_noop, +/area/shuttle/tornado) +"vZ" = ( +/obj/structure/shuttle/part/tornado/transparent{ + icon_state = "21" + }, +/turf/template_noop, +/area/shuttle/tornado) +"xj" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "S"; + pixel_y = 2 + }, +/obj/effect/decal/warning_stripes{ + icon_state = "N"; + pixel_y = -1 + }, +/turf/open/shuttle/dropship{ + icon_state = "rasputin14" + }, +/area/shuttle/tornado) +"xr" = ( +/obj/structure/machinery/light/double{ + dir = 8; + pixel_y = -5 + }, +/obj/structure/bed/chair/dropship/passenger{ + dir = 4 + }, +/turf/open/shuttle/dropship{ + icon_state = "rasputin15" + }, +/area/shuttle/tornado) +"xW" = ( +/obj/structure/stairs/perspective{ + icon_state = "p_stair_full"; + can_block_movement = 0 + }, +/turf/open/shuttle/dropship{ + icon_state = "rasputin3" + }, +/area/shuttle/tornado) +"yQ" = ( +/turf/closed/shuttle/dropship2/tornado{ + icon_state = "76" + }, +/area/shuttle/tornado) +"yZ" = ( +/turf/closed/shuttle/dropship2/tornado{ + icon_state = "72" + }, +/area/shuttle/tornado) +"zp" = ( +/obj/structure/shuttle/part/tornado/transparent{ + icon_state = "26" + }, +/turf/template_noop, +/area/shuttle/tornado) +"zQ" = ( +/obj/effect/attach_point/crew_weapon/tornado, +/turf/open/shuttle/dropship{ + icon_state = "rasputin3" + }, +/area/shuttle/tornado) +"Bf" = ( +/obj/structure/shuttle/part/tornado{ + icon_state = "6" + }, +/turf/template_noop, +/area/shuttle/tornado) +"Bx" = ( +/turf/open/shuttle/dropship{ + icon_state = "rasputin8" + }, +/area/shuttle/tornado) +"BK" = ( +/obj/structure/shuttle/part/tornado/transparent{ + icon_state = "41"; + layer = 4.2; + density = 0 + }, +/obj/structure/shuttle/part/tornado/transparent{ + icon_state = "61" + }, +/turf/template_noop, +/area/shuttle/tornado) +"DX" = ( +/obj/structure/shuttle/part/tornado/transparent{ + icon_state = "28" + }, +/obj/effect/attach_point/fuel/tornado{ + layer = 3.1 + }, +/turf/template_noop, +/area/shuttle/tornado) +"EQ" = ( +/turf/closed/shuttle/dropship2/tornado{ + icon_state = "103" + }, +/area/shuttle/tornado) +"Fv" = ( +/turf/closed/shuttle/dropship2/tornado{ + icon_state = "48" + }, +/area/shuttle/tornado) +"FD" = ( +/turf/closed/shuttle/dropship2/tornado{ + icon_state = "24" + }, +/area/shuttle/tornado) +"FW" = ( +/obj/structure/bed/chair/dropship/passenger{ + dir = 4 + }, +/obj/structure/machinery/camera/autoname/golden_arrow/tornado{ + dir = 4; + pixel_x = -24 + }, +/turf/open/shuttle/dropship{ + icon_state = "rasputin15" + }, +/area/shuttle/tornado) +"Gl" = ( +/turf/closed/shuttle/dropship2/tornado{ + icon_state = "31" + }, +/area/shuttle/tornado) +"HH" = ( +/obj/structure/stairs/perspective{ + icon_state = "p_stair_full"; + can_block_movement = 0 + }, +/obj/structure/platform{ + dir = 4 + }, +/turf/open/shuttle/dropship{ + icon_state = "rasputin15" + }, +/area/shuttle/tornado) +"HN" = ( +/obj/structure/bed/chair/dropship/passenger{ + dir = 4 + }, +/turf/open/shuttle/dropship{ + icon_state = "rasputin15" + }, +/area/shuttle/tornado) +"IN" = ( +/obj/structure/machinery/light/double{ + dir = 8; + pixel_y = -5 + }, +/turf/open/shuttle/dropship{ + icon_state = "rasputin15" + }, +/area/shuttle/tornado) +"IZ" = ( +/obj/structure/shuttle/part/tornado/transparent{ + icon_state = "32" + }, +/obj/effect/attach_point/fuel/tornado{ + layer = 3.1 + }, +/turf/template_noop, +/area/shuttle/tornado) +"Jt" = ( +/obj/structure/shuttle/part/typhoon/transparent{ + icon_state = "9" + }, +/turf/template_noop, +/area/shuttle/tornado) +"KB" = ( +/obj/structure/machinery/light/double{ + dir = 4; + pixel_y = -5 + }, +/turf/open/shuttle/dropship{ + icon_state = "rasputin15" + }, +/area/shuttle/tornado) +"Mq" = ( +/turf/closed/shuttle/dropship2/tornado{ + icon_state = "86b"; + opacity = 0 + }, +/area/shuttle/tornado) +"Nd" = ( +/obj/structure/shuttle/part/tornado/transparent{ + icon_state = "41"; + layer = 4.2; + density = 0 + }, +/turf/template_noop, +/area/shuttle/tornado) +"NY" = ( +/turf/closed/shuttle/dropship2/tornado{ + icon_state = "69" + }, +/area/shuttle/tornado) +"Om" = ( +/turf/template_noop, +/area/space) +"Pb" = ( +/obj/structure/platform_decoration{ + dir = 8 + }, +/obj/structure/machinery/camera/autoname/golden_arrow/tornado{ + dir = 8; + pixel_x = 24 + }, +/turf/open/shuttle/dropship{ + icon_state = "rasputin15" + }, +/area/shuttle/tornado) +"Pi" = ( +/obj/structure/shuttle/part/tornado/transparent{ + icon_state = "102" + }, +/turf/template_noop, +/area/shuttle/tornado) +"Py" = ( +/obj/structure/shuttle/part/tornado/transparent{ + icon_state = "28" + }, +/turf/template_noop, +/area/shuttle/tornado) +"Qe" = ( +/obj/structure/shuttle/part/tornado/transparent{ + icon_state = "32" + }, +/turf/template_noop, +/area/shuttle/tornado) +"Qf" = ( +/obj/structure/shuttle/part/tornado/transparent{ + icon_state = "70" + }, +/turf/template_noop, +/area/shuttle/tornado) +"Qv" = ( +/obj/structure/machinery/camera/autoname/golden_arrow/tornado{ + pixel_y = 32 + }, +/turf/open/shuttle/dropship{ + icon_state = "rasputin6" + }, +/area/shuttle/tornado) +"QR" = ( +/obj/structure/shuttle/part/tornado/transparent{ + icon_state = "40"; + density = 0; + layer = 4.2 + }, +/obj/structure/shuttle/part/tornado/transparent{ + icon_state = "65" + }, +/turf/template_noop, +/area/shuttle/tornado) +"Rk" = ( +/obj/structure/shuttle/part/tornado/transparent{ + icon_state = "99a" + }, +/turf/template_noop, +/area/shuttle/tornado) +"Sa" = ( +/turf/closed/shuttle/dropship2/tornado{ + icon_state = "86a"; + opacity = 0 + }, +/area/shuttle/tornado) +"SX" = ( +/obj/structure/machinery/door/airlock/hatch/cockpit/two, +/obj/structure/blocker/forcefield/multitile_vehicles, +/turf/open/shuttle/dropship{ + icon_state = "rasputin15" + }, +/area/shuttle/tornado) +"Tz" = ( +/turf/closed/shuttle/dropship2/tornado{ + icon_state = "73" + }, +/area/shuttle/tornado) +"TF" = ( +/turf/open/shuttle/dropship{ + icon_state = "rasputin15" + }, +/area/shuttle/tornado) +"TM" = ( +/turf/open/shuttle/dropship{ + icon_state = "rasputin3" + }, +/area/shuttle/tornado) +"TN" = ( +/obj/structure/shuttle/part/tornado/transparent{ + icon_state = "22" + }, +/turf/template_noop, +/area/shuttle/tornado) +"UF" = ( +/turf/closed/shuttle/dropship2/tornado{ + icon_state = "104" + }, +/area/shuttle/tornado) +"Vb" = ( +/obj/structure/machinery/light/double{ + dir = 4; + pixel_y = -5 + }, +/obj/structure/bed/chair/dropship/passenger{ + dir = 8 + }, +/turf/open/shuttle/dropship{ + icon_state = "rasputin15" + }, +/area/shuttle/tornado) +"Vj" = ( +/turf/open/shuttle/dropship{ + icon_state = "floor8" + }, +/area/shuttle/tornado) +"Ws" = ( +/turf/closed/shuttle/dropship2/tornado{ + icon_state = "97a"; + opacity = 0 + }, +/area/shuttle/tornado) +"Wt" = ( +/turf/closed/shuttle/dropship2/tornado{ + icon_state = "18" + }, +/area/shuttle/tornado) +"Wv" = ( +/obj/structure/shuttle/part/tornado/transparent{ + icon_state = "29" + }, +/turf/template_noop, +/area/shuttle/tornado) +"Xc" = ( +/obj/structure/shuttle/part/tornado/transparent{ + icon_state = "39" + }, +/turf/template_noop, +/area/shuttle/tornado) +"XL" = ( +/turf/closed/shuttle/dropship2/tornado{ + icon_state = "83" + }, +/area/shuttle/tornado) +"Yg" = ( +/turf/closed/shuttle/dropship2/tornado{ + icon_state = "30" + }, +/area/shuttle/tornado) +"Ym" = ( +/turf/closed/shuttle/dropship2/tornado{ + icon_state = "19" + }, +/area/shuttle/tornado) +"Zi" = ( +/turf/closed/shuttle/dropship2/tornado{ + icon_state = "67" + }, +/area/shuttle/tornado) + +(1,1,1) = {" +Om +Om +Om +Om +Om +Om +Om +Om +kI +qF +DX +TN +et +Om +Om +Om +Om +Om +"} +(2,1,1) = {" +Om +Om +Om +Om +Om +aG +bL +bL +BK +ck +Wv +eU +vZ +kI +Py +TN +et +hd +"} +(3,1,1) = {" +Om +Om +Om +kI +av +yZ +Zi +Zi +sM +Wt +Yg +FD +Jt +Nd +Wv +eU +vZ +gJ +"} +(4,1,1) = {" +Om +Om +Om +Nd +yQ +oB +xr +HN +FW +HN +xr +HN +uk +Wt +Yg +FD +EQ +bf +"} +(5,1,1) = {" +sx +vz +Mq +Sa +lb +Qv +TM +TM +TM +TM +TM +pv +cX +hB +IN +TF +fj +Om +"} +(6,1,1) = {" +hE +Ws +uL +fr +SX +Vj +mb +db +mt +db +mb +Vj +xW +TM +zQ +TM +xj +Om +"} +(7,1,1) = {" +Pi +Rk +rp +ni +lb +jP +TM +TM +TM +TM +TM +Bx +HH +Pb +KB +TF +xj +Om +"} +(8,1,1) = {" +Om +Om +Om +kI +yQ +bp +Vb +uG +uG +uG +Vb +uG +Fv +Ym +Gl +dW +UF +eq +"} +(9,1,1) = {" +Om +Om +Om +Nd +XL +Tz +NY +NY +bm +Ym +Gl +dW +lM +kI +Qe +zp +vU +aw +"} +(10,1,1) = {" +Om +Om +Om +Om +Om +vk +Qf +Qf +QR +dm +IZ +zp +vU +Nd +hn +eg +ag +Bf +"} +(11,1,1) = {" +Om +Om +Om +Om +Om +Om +Om +Om +Nd +Xc +hn +eg +ag +Om +Om +Om +Om +Om +"} diff --git a/maps/shuttles/dropship_tripoli.dmm b/maps/shuttles/dropship_tripoli.dmm new file mode 100644 index 0000000000..9caea2f03a --- /dev/null +++ b/maps/shuttles/dropship_tripoli.dmm @@ -0,0 +1,850 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"aP" = ( +/obj/structure/phone_base{ + dir = 4; + pixel_x = -19; + pixel_y = 12; + layer = 3.1; + phone_category = "Dropship"; + name = "Tripoli telephone receiver"; + phone_id = "Tripoli" + }, +/obj/structure/bed/chair/vehicle/dropship_cockpit/pilot{ + dir = 1; + pixel_x = 6; + pixel_y = 8 + }, +/obj/structure/machinery/computer/shuttle/dropship/flight/small{ + pixel_y = 16; + pixel_x = 6 + }, +/turf/open/shuttle/dropship{ + icon_state = "rasputin15" + }, +/area/shuttle/tripoli) +"bN" = ( +/turf/closed/shuttle/tripoli{ + icon_state = "22" + }, +/area/shuttle/tripoli) +"ca" = ( +/turf/open/shuttle/dropship{ + icon_state = "rasputin7" + }, +/area/shuttle/tripoli) +"cD" = ( +/turf/closed/shuttle/tripoli{ + icon_state = "69" + }, +/area/shuttle/tripoli) +"cE" = ( +/obj/structure/stairs/perspective, +/obj/structure/platform{ + dir = 4; + layer = 2.7 + }, +/obj/structure/platform{ + dir = 8 + }, +/turf/open/shuttle/dropship{ + icon_state = "rasputin3" + }, +/area/shuttle/tripoli) +"dN" = ( +/turf/closed/shuttle/tripoli/transparent{ + icon_state = "97a" + }, +/area/shuttle/tripoli) +"ed" = ( +/turf/template_noop, +/area/space) +"eD" = ( +/turf/closed/shuttle/tripoli{ + icon_state = "30" + }, +/area/shuttle/tripoli) +"eN" = ( +/turf/closed/shuttle/tripoli{ + icon_state = "73" + }, +/area/shuttle/tripoli) +"fk" = ( +/obj/structure/shuttle/part/tripoli{ + icon_state = "61" + }, +/obj/effect/attach_point/weapon/tripoli/left_wing, +/turf/template_noop, +/area/shuttle/tripoli) +"fq" = ( +/obj/structure/shuttle/part/tripoli{ + icon_state = "5" + }, +/turf/template_noop, +/area/shuttle/tripoli) +"fZ" = ( +/obj/structure/shuttle/part/tripoli{ + icon_state = "71" + }, +/turf/template_noop, +/area/shuttle/tripoli) +"hx" = ( +/turf/closed/shuttle/tripoli{ + icon_state = "29" + }, +/area/shuttle/tripoli) +"hS" = ( +/turf/closed/shuttle/tripoli/transparent{ + icon_state = "89b" + }, +/area/shuttle/tripoli) +"ih" = ( +/obj/structure/shuttle/part/tripoli/transparent{ + icon_state = "95a" + }, +/turf/template_noop, +/area/shuttle/tripoli) +"iU" = ( +/turf/open/shuttle/dropship{ + icon_state = "rasputin8" + }, +/area/shuttle/tripoli) +"jC" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "S"; + pixel_y = 2 + }, +/obj/effect/decal/warning_stripes{ + icon_state = "N"; + pixel_y = -1 + }, +/turf/open/shuttle/dropship{ + icon_state = "rasputin14" + }, +/area/shuttle/tripoli) +"jR" = ( +/obj/structure/machinery/light/double{ + dir = 8 + }, +/turf/open/shuttle/dropship{ + icon_state = "rasputin3" + }, +/area/shuttle/tripoli) +"kS" = ( +/turf/open/shuttle/dropship{ + icon_state = "rasputin3" + }, +/area/shuttle/tripoli) +"lj" = ( +/obj/structure/shuttle/part/tripoli{ + icon_state = "85" + }, +/obj/effect/attach_point/weapon/tripoli/left_fore, +/turf/template_noop, +/area/shuttle/tripoli) +"lv" = ( +/turf/closed/shuttle/tripoli/transparent{ + icon_state = "86a" + }, +/area/shuttle/tripoli) +"ma" = ( +/turf/closed/shuttle/tripoli{ + icon_state = "83" + }, +/area/shuttle/tripoli) +"mm" = ( +/obj/structure/shuttle/part/tripoli{ + icon_state = "17" + }, +/turf/template_noop, +/area/shuttle/tripoli) +"mr" = ( +/turf/closed/shuttle/tripoli{ + icon_state = "26" + }, +/area/shuttle/tripoli) +"nD" = ( +/obj/structure/shuttle/part/tripoli, +/turf/template_noop, +/area/shuttle/tripoli) +"oF" = ( +/obj/structure/shuttle/part/tripoli{ + icon_state = "7" + }, +/turf/template_noop, +/area/shuttle/tripoli) +"oU" = ( +/turf/closed/shuttle/tripoli{ + icon_state = "75" + }, +/area/shuttle/tripoli) +"pj" = ( +/obj/structure/bed/chair/dropship/passenger{ + dir = 4 + }, +/turf/open/shuttle/dropship{ + icon_state = "rasputin15" + }, +/area/shuttle/tripoli) +"pm" = ( +/obj/structure/platform_decoration{ + dir = 4 + }, +/obj/effect/decal/warning_stripes{ + icon_state = "N"; + pixel_y = 1 + }, +/obj/structure/platform_decoration{ + dir = 8 + }, +/turf/open/shuttle/dropship{ + icon_state = "rasputin3" + }, +/area/shuttle/tripoli) +"pw" = ( +/turf/closed/shuttle/tripoli{ + icon_state = "34" + }, +/area/shuttle/tripoli) +"qf" = ( +/obj/structure/shuttle/part/tripoli{ + icon_state = "21" + }, +/turf/template_noop, +/area/shuttle/tripoli) +"qo" = ( +/obj/structure/shuttle/part/tripoli{ + icon_state = "74" + }, +/turf/template_noop, +/area/shuttle/tripoli) +"qH" = ( +/turf/closed/shuttle/tripoli{ + icon_state = "104" + }, +/area/shuttle/tripoli) +"qW" = ( +/obj/effect/attach_point/fuel/tripoli, +/turf/closed/shuttle/tripoli{ + icon_state = "28" + }, +/area/shuttle/tripoli) +"ri" = ( +/turf/open/shuttle/dropship{ + icon_state = "rasputin4" + }, +/area/shuttle/tripoli) +"sb" = ( +/obj/structure/shuttle/part/dropship2/transparent/engine_left_cap{ + name = "\improper Tripoli" + }, +/turf/template_noop, +/area/shuttle/tripoli) +"sc" = ( +/obj/structure/machinery/light/double{ + dir = 8 + }, +/obj/structure/bed/chair/dropship/passenger{ + dir = 4 + }, +/turf/open/shuttle/dropship{ + icon_state = "rasputin15" + }, +/area/shuttle/tripoli) +"sD" = ( +/turf/closed/shuttle/tripoli{ + icon_state = "42" + }, +/area/shuttle/tripoli) +"tD" = ( +/turf/closed/shuttle/tripoli{ + icon_state = "24" + }, +/area/shuttle/tripoli) +"vi" = ( +/obj/structure/blocker/forcefield/multitile_vehicles, +/obj/structure/machinery/door/airlock/hatch/cockpit, +/turf/open/shuttle/dropship{ + icon_state = "rasputin15" + }, +/area/shuttle/tripoli) +"vl" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "N"; + pixel_y = -1 + }, +/obj/effect/decal/warning_stripes{ + icon_state = "S"; + pixel_y = 2 + }, +/obj/structure/machinery/door/airlock/multi_tile/almayer/dropshiprear/ds1{ + name = "\improper Tripoli cargo door" + }, +/turf/open/shuttle/dropship{ + icon_state = "rasputin14" + }, +/area/shuttle/tripoli) +"vC" = ( +/obj/structure/machinery/cm_vending/sorted/medical/wall_med{ + pixel_y = 26; + pixel_x = 10 + }, +/obj/structure/extinguisher_cabinet/lifeboat{ + pixel_y = 27; + pixel_x = -2 + }, +/obj/structure/bed/chair/dropship/passenger{ + dir = 4 + }, +/turf/open/shuttle/dropship{ + icon_state = "rasputin15" + }, +/area/shuttle/tripoli) +"vJ" = ( +/obj/structure/shuttle/part/tripoli{ + icon_state = "84" + }, +/obj/effect/attach_point/electronics/tripoli, +/turf/template_noop, +/area/shuttle/tripoli) +"wi" = ( +/obj/effect/attach_point/crew_weapon/midway, +/turf/open/shuttle/dropship{ + icon_state = "rasputin15" + }, +/area/shuttle/tripoli) +"wy" = ( +/obj/structure/shuttle/part/tripoli{ + icon_state = "65" + }, +/obj/effect/attach_point/weapon/tripoli/right_wing, +/turf/template_noop, +/area/shuttle/tripoli) +"wL" = ( +/obj/structure/shuttle/part/tripoli{ + icon_state = "100" + }, +/turf/template_noop, +/area/shuttle/tripoli) +"wN" = ( +/obj/structure/shuttle/part/tripoli{ + icon_state = "46" + }, +/obj/structure/shuttle/part/dropship2/transparent/engine_right_cap{ + name = "\improper Tripoli" + }, +/turf/template_noop, +/area/shuttle/tripoli) +"xx" = ( +/obj/structure/shuttle/part/tripoli{ + icon_state = "6" + }, +/turf/template_noop, +/area/shuttle/tripoli) +"yB" = ( +/obj/structure/shuttle/part/tripoli{ + icon_state = "4" + }, +/turf/template_noop, +/area/shuttle/tripoli) +"yF" = ( +/obj/structure/shuttle/part/tripoli{ + icon_state = "101" + }, +/turf/template_noop, +/area/shuttle/tripoli) +"zt" = ( +/turf/open/shuttle/dropship{ + icon_state = "rasputin6" + }, +/area/shuttle/tripoli) +"zC" = ( +/turf/closed/shuttle/tripoli{ + icon_state = "72" + }, +/area/shuttle/tripoli) +"zS" = ( +/obj/structure/shuttle/part/tripoli{ + icon_state = "16" + }, +/turf/template_noop, +/area/shuttle/tripoli) +"zX" = ( +/obj/structure/shuttle/part/tripoli{ + icon_state = "91" + }, +/turf/template_noop, +/area/shuttle/tripoli) +"zZ" = ( +/turf/open/shuttle/dropship{ + icon_state = "rasputin15" + }, +/area/shuttle/tripoli) +"Ac" = ( +/turf/closed/shuttle/tripoli/transparent{ + icon_state = "86b" + }, +/area/shuttle/tripoli) +"AC" = ( +/obj/structure/stairs/perspective, +/obj/structure/platform{ + dir = 8; + layer = 2.7 + }, +/obj/structure/platform{ + dir = 4 + }, +/turf/open/shuttle/dropship{ + icon_state = "rasputin3" + }, +/area/shuttle/tripoli) +"Cb" = ( +/obj/structure/shuttle/part/tripoli{ + icon_state = "8" + }, +/turf/template_noop, +/area/shuttle/tripoli) +"Cf" = ( +/obj/structure/shuttle/part/tripoli{ + icon_state = "3" + }, +/turf/template_noop, +/area/shuttle/tripoli) +"CR" = ( +/obj/effect/attach_point/fuel/tripoli, +/turf/closed/shuttle/tripoli{ + icon_state = "32" + }, +/area/shuttle/tripoli) +"DG" = ( +/turf/closed/shuttle/tripoli/transparent{ + icon_state = "78" + }, +/area/shuttle/tripoli) +"DW" = ( +/turf/closed/shuttle/tripoli{ + icon_state = "35" + }, +/area/shuttle/tripoli) +"Ev" = ( +/turf/closed/shuttle/tripoli{ + icon_state = "23" + }, +/area/shuttle/tripoli) +"Ew" = ( +/turf/closed/shuttle/tripoli{ + icon_state = "67" + }, +/area/shuttle/tripoli) +"EG" = ( +/obj/structure/machinery/camera/autoname/golden_arrow/tripoli, +/obj/structure/extinguisher_cabinet/lifeboat, +/obj/structure/bed/chair/dropship/passenger{ + dir = 8 + }, +/obj/structure/machinery/cm_vending/sorted/medical/wall_med{ + pixel_y = 26; + pixel_x = -10 + }, +/turf/open/shuttle/dropship{ + icon_state = "rasputin15" + }, +/area/shuttle/tripoli) +"EM" = ( +/turf/closed/shuttle/tripoli{ + icon_state = "103" + }, +/area/shuttle/tripoli) +"Fm" = ( +/obj/structure/shuttle/part/tripoli{ + icon_state = "70" + }, +/turf/template_noop, +/area/shuttle/tripoli) +"Fq" = ( +/obj/structure/shuttle/part/tripoli{ + icon_state = "102" + }, +/turf/template_noop, +/area/shuttle/tripoli) +"Go" = ( +/obj/structure/shuttle/part/tripoli{ + icon_state = "2" + }, +/turf/template_noop, +/area/shuttle/tripoli) +"Gt" = ( +/turf/closed/shuttle/tripoli/transparent{ + icon_state = "80" + }, +/area/shuttle/tripoli) +"JC" = ( +/turf/closed/shuttle/tripoli{ + icon_state = "31" + }, +/area/shuttle/tripoli) +"JO" = ( +/obj/structure/machinery/light/double{ + dir = 4 + }, +/obj/structure/bed/chair/dropship/passenger{ + dir = 8 + }, +/turf/open/shuttle/dropship{ + icon_state = "rasputin15" + }, +/area/shuttle/tripoli) +"Kg" = ( +/obj/structure/bed/chair/dropship/passenger{ + dir = 8 + }, +/turf/open/shuttle/dropship{ + icon_state = "rasputin15" + }, +/area/shuttle/tripoli) +"Kk" = ( +/obj/structure/stairs/perspective{ + dir = 1; + icon_state = "p_stair_full"; + pixel_y = 22 + }, +/obj/structure/machinery/computer/dropship_weapons/tripoli/small{ + pixel_y = 8; + pixel_x = 8 + }, +/obj/structure/bed/chair/vehicle/dropship_cockpit/copilot{ + dir = 1; + pixel_x = 8; + layer = 5 + }, +/turf/open/shuttle/dropship{ + icon_state = "rasputin15" + }, +/area/shuttle/tripoli) +"KU" = ( +/obj/structure/shuttle/part/tripoli{ + icon_state = "20" + }, +/turf/template_noop, +/area/shuttle/tripoli) +"KZ" = ( +/obj/structure/bed/chair/dropship/passenger/folded{ + pixel_y = 8; + buckling_y = 8 + }, +/turf/open/shuttle/dropship{ + icon_state = "rasputin15" + }, +/area/shuttle/tripoli) +"Ly" = ( +/turf/closed/shuttle/tripoli{ + icon_state = "25" + }, +/area/shuttle/tripoli) +"MS" = ( +/obj/structure/machinery/camera/autoname/golden_arrow/tripoli{ + dir = 4 + }, +/turf/open/shuttle/dropship{ + icon_state = "rasputin3" + }, +/area/shuttle/tripoli) +"NV" = ( +/turf/closed/shuttle/tripoli{ + icon_state = "38" + }, +/area/shuttle/tripoli) +"Oa" = ( +/turf/closed/shuttle/tripoli{ + icon_state = "62" + }, +/area/shuttle/tripoli) +"OF" = ( +/turf/closed/shuttle/tripoli{ + icon_state = "39" + }, +/area/shuttle/tripoli) +"OI" = ( +/obj/structure/shuttle/part/tripoli{ + icon_state = "49" + }, +/obj/structure/shuttle/part/dropship2/transparent/engine_left_cap{ + name = "\improper Tripoli" + }, +/turf/template_noop, +/area/shuttle/tripoli) +"OM" = ( +/obj/structure/shuttle/part/tripoli{ + icon_state = "90" + }, +/obj/effect/attach_point/weapon/tripoli/right_fore, +/turf/template_noop, +/area/shuttle/tripoli) +"QS" = ( +/obj/structure/platform_decoration{ + dir = 8 + }, +/obj/effect/decal/warning_stripes{ + icon_state = "N"; + pixel_y = 1 + }, +/obj/structure/platform_decoration{ + dir = 4 + }, +/turf/open/shuttle/dropship{ + icon_state = "rasputin3" + }, +/area/shuttle/tripoli) +"RD" = ( +/turf/closed/shuttle/tripoli/transparent{ + icon_state = "89a" + }, +/area/shuttle/tripoli) +"RK" = ( +/obj/effect/attach_point/crew_weapon/tripoli, +/obj/docking_port/mobile/marine_dropship/tripoli, +/turf/open/shuttle/dropship{ + icon_state = "rasputin15" + }, +/area/shuttle/tripoli) +"Sr" = ( +/turf/closed/shuttle/tripoli{ + icon_state = "47" + }, +/area/shuttle/tripoli) +"SW" = ( +/turf/closed/shuttle/tripoli{ + icon_state = "48" + }, +/area/shuttle/tripoli) +"Ur" = ( +/obj/structure/shuttle/part/tripoli{ + icon_state = "66" + }, +/turf/template_noop, +/area/shuttle/tripoli) +"Us" = ( +/obj/structure/shuttle/part/dropship2/transparent/engine_right_cap{ + name = "\improper Tripoli" + }, +/turf/template_noop, +/area/shuttle/tripoli) +"UI" = ( +/turf/open/shuttle/dropship{ + icon_state = "floor8" + }, +/area/shuttle/tripoli) +"VP" = ( +/turf/closed/shuttle/tripoli{ + icon_state = "33" + }, +/area/shuttle/tripoli) +"VR" = ( +/turf/closed/shuttle/tripoli{ + icon_state = "64" + }, +/area/shuttle/tripoli) +"WS" = ( +/obj/structure/shuttle/part/tripoli/transparent{ + icon_state = "99a" + }, +/turf/template_noop, +/area/shuttle/tripoli) +"XI" = ( +/turf/closed/shuttle/tripoli{ + icon_state = "27" + }, +/area/shuttle/tripoli) +"Ze" = ( +/obj/structure/platform{ + dir = 1 + }, +/obj/effect/decal/warning_stripes{ + icon_state = "N"; + pixel_y = 1 + }, +/obj/structure/blocker/forcefield/multitile_vehicles, +/turf/open/shuttle/dropship{ + icon_state = "rasputin15" + }, +/area/shuttle/tripoli) +"Zf" = ( +/turf/closed/shuttle/tripoli{ + icon_state = "43" + }, +/area/shuttle/tripoli) +"ZT" = ( +/obj/structure/machinery/light/double{ + dir = 4 + }, +/turf/open/shuttle/dropship{ + icon_state = "rasputin3" + }, +/area/shuttle/tripoli) +"ZW" = ( +/turf/closed/shuttle/tripoli{ + icon_state = "77" + }, +/area/shuttle/tripoli) + +(1,1,1) = {" +ed +ed +ed +ed +ed +fZ +Ur +fk +ed +sb +pw +qW +bN +zS +ed +nD +"} +(2,1,1) = {" +ed +ed +ed +vJ +oU +zC +Ew +Oa +sD +wN +DW +hx +Ev +mm +ed +Go +"} +(3,1,1) = {" +ed +ed +ed +lj +ZW +vC +sc +pj +pj +Sr +sD +eD +tD +EM +oF +Cf +"} +(4,1,1) = {" +wL +ih +Ac +lv +DG +zt +kS +ri +cE +QS +jR +MS +kS +vl +ed +ed +"} +(5,1,1) = {" +yF +dN +aP +Kk +vi +UI +KZ +UI +RK +Ze +zZ +wi +zZ +jC +ed +ed +"} +(6,1,1) = {" +Fq +WS +hS +RD +Gt +ca +kS +iU +AC +pm +ZT +kS +kS +jC +ed +ed +"} +(7,1,1) = {" +ed +ed +ed +OM +ZW +EG +JO +Kg +Kg +SW +Zf +JC +Ly +qH +Cb +yB +"} +(8,1,1) = {" +ed +ed +ed +zX +ma +eN +cD +VR +Zf +OI +NV +CR +mr +KU +ed +fq +"} +(9,1,1) = {" +ed +ed +ed +ed +ed +qo +Fm +wy +ed +Us +OF +VP +XI +qf +ed +xx +"} diff --git a/maps/shuttles/dropship_typhoon.dmm b/maps/shuttles/dropship_typhoon.dmm new file mode 100644 index 0000000000..331bb09506 --- /dev/null +++ b/maps/shuttles/dropship_typhoon.dmm @@ -0,0 +1,1000 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"aX" = ( +/turf/template_noop, +/area/space) +"bs" = ( +/obj/structure/shuttle/part/tornado/transparent{ + icon_state = "26" + }, +/turf/template_noop, +/area/shuttle/tornado) +"cg" = ( +/obj/structure/shuttle/part/typhoon/transparent{ + icon_state = "66" + }, +/turf/template_noop, +/area/shuttle/tornado) +"cH" = ( +/turf/open/shuttle/dropship{ + icon_state = "rasputin15" + }, +/area/shuttle/tornado) +"dV" = ( +/turf/closed/shuttle/typhoon{ + icon_state = "75" + }, +/area/shuttle/tornado) +"et" = ( +/turf/closed/shuttle/typhoon{ + icon_state = "77" + }, +/area/shuttle/tornado) +"fJ" = ( +/obj/structure/shuttle/part/typhoon/transparent{ + icon_state = "99a"; + layer = 2.97 + }, +/turf/template_noop, +/area/shuttle/tornado) +"gw" = ( +/obj/structure/shuttle/part/tornado/transparent{ + icon_state = "27" + }, +/turf/template_noop, +/area/shuttle/tornado) +"gx" = ( +/turf/closed/shuttle/typhoon{ + icon_state = "47" + }, +/area/shuttle/tornado) +"gJ" = ( +/obj/structure/machinery/camera/autoname/golden_arrow/typhoon{ + dir = 8; + pixel_x = 24 + }, +/turf/open/shuttle/dropship{ + icon_state = "rasputin15" + }, +/area/shuttle/tornado) +"gN" = ( +/turf/closed/shuttle/typhoon{ + icon_state = "24" + }, +/area/shuttle/tornado) +"gY" = ( +/turf/closed/shuttle/typhoon{ + icon_state = "67" + }, +/area/shuttle/tornado) +"ix" = ( +/obj/structure/machinery/cm_vending/sorted/medical/wall_med/limited{ + pixel_y = 25 + }, +/obj/structure/bed/chair/dropship/passenger/folded{ + dir = 4; + buckling_y = 3; + pixel_y = 3 + }, +/turf/open/shuttle/dropship{ + icon_state = "rasputin7" + }, +/area/shuttle/tornado) +"iz" = ( +/turf/open/shuttle/dropship{ + icon_state = "floor8" + }, +/area/shuttle/tornado) +"iH" = ( +/obj/structure/bed/chair/dropship/passenger/folded{ + pixel_y = 8; + buckling_y = 8 + }, +/turf/open/shuttle/dropship{ + icon_state = "rasputin15" + }, +/area/shuttle/tornado) +"ji" = ( +/obj/structure/platform_decoration{ + dir = 8 + }, +/obj/structure/platform_decoration{ + dir = 4 + }, +/turf/open/shuttle/dropship{ + icon_state = "rasputin15" + }, +/area/shuttle/tornado) +"jt" = ( +/obj/structure/shuttle/part/typhoon/transparent{ + icon_state = "102" + }, +/turf/template_noop, +/area/shuttle/tornado) +"kY" = ( +/obj/structure/bed/chair/dropship/passenger{ + dir = 8 + }, +/obj/structure/barricade/handrail{ + dir = 1 + }, +/turf/open/shuttle/dropship{ + icon_state = "rasputin15" + }, +/area/shuttle/tornado) +"lm" = ( +/obj/structure/machinery/light/double{ + dir = 4; + pixel_y = -5 + }, +/turf/open/shuttle/dropship{ + icon_state = "rasputin15" + }, +/area/shuttle/tornado) +"lA" = ( +/turf/closed/shuttle/typhoon{ + icon_state = "73" + }, +/area/shuttle/tornado) +"lM" = ( +/turf/closed/shuttle/typhoon{ + icon_state = "48" + }, +/area/shuttle/tornado) +"nM" = ( +/turf/closed/shuttle/typhoon{ + icon_state = "64" + }, +/area/shuttle/tornado) +"of" = ( +/turf/closed/shuttle/typhoon{ + icon_state = "25" + }, +/area/shuttle/tornado) +"oo" = ( +/obj/structure/stairs/perspective{ + icon_state = "p_stair_full"; + can_block_movement = 0 + }, +/obj/structure/platform{ + dir = 4 + }, +/obj/structure/platform{ + dir = 8 + }, +/turf/open/shuttle/dropship{ + icon_state = "rasputin15" + }, +/area/shuttle/tornado) +"oH" = ( +/obj/structure/shuttle/part/typhoon/transparent{ + icon_state = "95a" + }, +/turf/template_noop, +/area/shuttle/tornado) +"qa" = ( +/obj/structure/shuttle/part/typhoon/transparent{ + icon_state = "101" + }, +/turf/template_noop, +/area/shuttle/tornado) +"rb" = ( +/turf/closed/shuttle/typhoon{ + icon_state = "104" + }, +/area/shuttle/tornado) +"rN" = ( +/obj/structure/bed/portable_surgery{ + pixel_y = 5 + }, +/obj/structure/machinery/iv_drip{ + pixel_y = 26; + layer = 2.9 + }, +/obj/structure/curtain/medical, +/turf/open/shuttle/dropship{ + icon_state = "rasputin15" + }, +/area/shuttle/tornado) +"rO" = ( +/turf/closed/shuttle/typhoon{ + icon_state = "72" + }, +/area/shuttle/tornado) +"sC" = ( +/obj/effect/attach_point/crew_weapon/typhoon, +/turf/open/shuttle/dropship{ + icon_state = "rasputin3" + }, +/area/shuttle/tornado) +"uS" = ( +/obj/structure/shuttle/part/typhoon/transparent{ + icon_state = "3" + }, +/turf/template_noop, +/area/shuttle/tornado) +"vO" = ( +/obj/structure/shuttle/part/typhoon/transparent{ + icon_state = "41"; + density = 0; + layer = 4.2 + }, +/obj/structure/shuttle/part/typhoon/transparent{ + icon_state = "61" + }, +/turf/template_noop, +/area/shuttle/tornado) +"wd" = ( +/turf/closed/shuttle/typhoon{ + icon_state = "36" + }, +/area/shuttle/tornado) +"wI" = ( +/obj/structure/shuttle/part/typhoon/transparent{ + icon_state = "16" + }, +/turf/template_noop, +/area/shuttle/tornado) +"wN" = ( +/turf/open/shuttle/dropship{ + icon_state = "rasputin8" + }, +/area/shuttle/tornado) +"wP" = ( +/obj/structure/bed/chair/dropship/passenger{ + dir = 8 + }, +/turf/open/shuttle/dropship{ + icon_state = "rasputin15" + }, +/area/shuttle/tornado) +"xq" = ( +/turf/closed/shuttle/typhoon{ + icon_state = "69" + }, +/area/shuttle/tornado) +"yk" = ( +/turf/closed/shuttle/typhoon/transparent{ + icon_state = "89a" + }, +/area/shuttle/tornado) +"yE" = ( +/obj/structure/shuttle/part/typhoon/transparent{ + icon_state = "41"; + density = 0; + layer = 4.2 + }, +/turf/template_noop, +/area/shuttle/tornado) +"zS" = ( +/turf/closed/shuttle/typhoon/transparent{ + icon_state = "89b" + }, +/area/shuttle/tornado) +"Au" = ( +/obj/structure/shuttle/part/typhoon/transparent{ + icon_state = "5" + }, +/turf/template_noop, +/area/shuttle/tornado) +"Bf" = ( +/obj/structure/platform_decoration{ + dir = 4 + }, +/obj/structure/platform_decoration{ + dir = 8 + }, +/turf/open/shuttle/dropship{ + icon_state = "rasputin15" + }, +/area/shuttle/tornado) +"Bz" = ( +/obj/structure/shuttle/part/tornado/transparent{ + icon_state = "23" + }, +/obj/structure/shuttle/part/typhoon/transparent{ + icon_state = "23" + }, +/turf/template_noop, +/area/shuttle/tornado) +"BO" = ( +/obj/structure/shuttle/part/tornado/transparent{ + icon_state = "15" + }, +/turf/template_noop, +/area/shuttle/tornado) +"BP" = ( +/obj/structure/shuttle/part/typhoon/transparent{ + icon_state = "17" + }, +/turf/template_noop, +/area/shuttle/tornado) +"Cl" = ( +/obj/structure/shuttle/part/typhoon/transparent{ + icon_state = "6" + }, +/turf/template_noop, +/area/shuttle/tornado) +"CE" = ( +/turf/closed/shuttle/typhoon/transparent{ + icon_state = "86b" + }, +/area/shuttle/tornado) +"Dl" = ( +/turf/closed/shuttle/typhoon{ + icon_state = "83" + }, +/area/shuttle/tornado) +"Dv" = ( +/obj/structure/shuttle/part/typhoon/transparent{ + icon_state = "32" + }, +/turf/template_noop, +/area/shuttle/tornado) +"Eh" = ( +/obj/effect/attach_point/crew_weapon/typhoon, +/turf/open/shuttle/dropship{ + icon_state = "rasputin15" + }, +/area/shuttle/tornado) +"Fm" = ( +/turf/closed/shuttle/typhoon/transparent{ + icon_state = "86a" + }, +/area/shuttle/tornado) +"FC" = ( +/obj/structure/machinery/light/double{ + dir = 4; + pixel_y = -5 + }, +/obj/structure/bed/chair/dropship/passenger{ + dir = 8 + }, +/turf/open/shuttle/dropship{ + icon_state = "rasputin15" + }, +/area/shuttle/tornado) +"FO" = ( +/obj/structure/shuttle/part/typhoon/transparent{ + icon_state = "100" + }, +/turf/template_noop, +/area/shuttle/tornado) +"Gv" = ( +/obj/structure/shuttle/part/typhoon/transparent{ + icon_state = "70" + }, +/turf/template_noop, +/area/shuttle/tornado) +"Ih" = ( +/obj/structure/platform{ + dir = 1 + }, +/obj/structure/blocker/forcefield/multitile_vehicles, +/turf/open/shuttle/dropship{ + icon_state = "rasputin3" + }, +/area/shuttle/tornado) +"Iw" = ( +/obj/structure/machinery/light/double{ + dir = 8; + pixel_y = -5 + }, +/obj/structure/bed/chair/dropship/passenger{ + dir = 4 + }, +/turf/open/shuttle/dropship{ + icon_state = "rasputin15" + }, +/area/shuttle/tornado) +"IT" = ( +/obj/structure/shuttle/part/typhoon/transparent{ + icon_state = "40"; + density = 0; + layer = 4.2 + }, +/turf/template_noop, +/area/shuttle/tornado) +"IU" = ( +/obj/structure/bed/chair/dropship/passenger{ + dir = 4 + }, +/turf/open/shuttle/dropship{ + icon_state = "rasputin15" + }, +/area/shuttle/tornado) +"IX" = ( +/obj/structure/shuttle/part/typhoon/transparent{ + icon_state = "26" + }, +/turf/template_noop, +/area/shuttle/tornado) +"IZ" = ( +/turf/open/shuttle/dropship{ + icon_state = "rasputin4" + }, +/area/shuttle/tornado) +"Jb" = ( +/obj/structure/shuttle/part/typhoon/transparent{ + icon_state = "33" + }, +/turf/template_noop, +/area/shuttle/tornado) +"JT" = ( +/obj/structure/shuttle/part/typhoon/transparent{ + icon_state = "23" + }, +/turf/template_noop, +/area/shuttle/tornado) +"Kp" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "N"; + pixel_y = -1 + }, +/obj/effect/decal/warning_stripes{ + icon_state = "S"; + pixel_y = 2 + }, +/obj/structure/machinery/door/airlock/multi_tile/almayer/dropshiprear/ds2{ + id = "aft_door"; + name = "\improper Typhoon cargo door" + }, +/turf/open/shuttle/dropship{ + icon_state = "rasputin14" + }, +/area/shuttle/tornado) +"Kw" = ( +/obj/structure/shuttle/part/typhoon/transparent{ + icon_state = "28" + }, +/obj/effect/attach_point/fuel/typhoon{ + layer = 3.1 + }, +/turf/template_noop, +/area/shuttle/tornado) +"KX" = ( +/obj/structure/shuttle/part/typhoon/transparent{ + icon_state = "22" + }, +/turf/template_noop, +/area/shuttle/tornado) +"KY" = ( +/obj/structure/machinery/light/double{ + dir = 8; + pixel_y = -5 + }, +/obj/structure/bed/chair/vehicle/toc{ + dir = 1; + pixel_y = 19; + pixel_x = 16 + }, +/turf/open/shuttle/dropship{ + icon_state = "rasputin15" + }, +/area/shuttle/tornado) +"Lj" = ( +/obj/structure/shuttle/part/typhoon/transparent{ + icon_state = "4" + }, +/turf/template_noop, +/area/shuttle/tornado) +"MB" = ( +/turf/closed/shuttle/typhoon/transparent{ + icon_state = "97a" + }, +/area/shuttle/tornado) +"NB" = ( +/obj/structure/machinery/light/double{ + dir = 8; + pixel_y = -5 + }, +/turf/open/shuttle/dropship{ + icon_state = "rasputin15" + }, +/area/shuttle/tornado) +"Oh" = ( +/turf/closed/shuttle/typhoon{ + icon_state = "103" + }, +/area/shuttle/tornado) +"Oq" = ( +/obj/structure/machinery/camera/autoname/golden_arrow/typhoon{ + dir = 4; + pixel_x = -24 + }, +/obj/structure/bed/chair/dropship/passenger{ + dir = 4 + }, +/obj/structure/barricade/handrail{ + dir = 1 + }, +/turf/open/shuttle/dropship{ + icon_state = "rasputin15" + }, +/area/shuttle/tornado) +"Or" = ( +/turf/closed/shuttle/typhoon{ + icon_state = "82" + }, +/area/shuttle/tornado) +"Ou" = ( +/obj/structure/stairs/perspective{ + dir = 1; + icon_state = "p_stair_full"; + pixel_y = 22 + }, +/obj/structure/bed/chair/vehicle/dropship_cockpit/copilot{ + dir = 1; + pixel_x = 8; + layer = 5 + }, +/obj/structure/machinery/computer/dropship_weapons/typhoon/small{ + pixel_x = 8; + pixel_y = 8 + }, +/turf/open/shuttle/dropship{ + icon_state = "rasputin15" + }, +/area/shuttle/tornado) +"OQ" = ( +/obj/structure/stairs/perspective{ + icon_state = "p_stair_full"; + can_block_movement = 0 + }, +/obj/structure/platform{ + dir = 8 + }, +/obj/structure/platform{ + dir = 4 + }, +/turf/open/shuttle/dropship{ + icon_state = "rasputin15" + }, +/area/shuttle/tornado) +"OV" = ( +/obj/structure/shuttle/part/tornado/transparent{ + icon_state = "28" + }, +/turf/template_noop, +/area/shuttle/tornado) +"Pq" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "S"; + pixel_y = 2 + }, +/obj/effect/decal/warning_stripes{ + icon_state = "N"; + pixel_y = -1 + }, +/turf/open/shuttle/dropship{ + icon_state = "rasputin14" + }, +/area/shuttle/tornado) +"Qi" = ( +/obj/structure/shuttle/part/typhoon/transparent{ + icon_state = "38" + }, +/turf/template_noop, +/area/shuttle/tornado) +"Qs" = ( +/obj/structure/machinery/door/airlock/hatch/cockpit/two, +/obj/structure/blocker/forcefield/multitile_vehicles, +/turf/open/shuttle/dropship{ + icon_state = "rasputin15" + }, +/area/shuttle/tornado) +"QF" = ( +/turf/closed/shuttle/typhoon{ + icon_state = "62" + }, +/area/shuttle/tornado) +"Rb" = ( +/obj/structure/shuttle/part/typhoon/transparent{ + icon_state = "29" + }, +/turf/template_noop, +/area/shuttle/tornado) +"Rw" = ( +/turf/closed/shuttle/typhoon{ + icon_state = "31" + }, +/area/shuttle/tornado) +"RB" = ( +/obj/structure/shuttle/part/typhoon/transparent{ + icon_state = "39" + }, +/turf/template_noop, +/area/shuttle/tornado) +"RH" = ( +/obj/structure/shuttle/part/typhoon/transparent{ + icon_state = "27" + }, +/turf/template_noop, +/area/shuttle/tornado) +"Sc" = ( +/obj/structure/shuttle/part/typhoon/transparent{ + icon_state = "74" + }, +/turf/template_noop, +/area/shuttle/tornado) +"Tc" = ( +/obj/structure/shuttle/part/tornado/transparent{ + icon_state = "29" + }, +/obj/structure/shuttle/part/typhoon/transparent{ + icon_state = "29" + }, +/turf/template_noop, +/area/shuttle/tornado) +"Ts" = ( +/obj/structure/shuttle/part/typhoon/transparent{ + icon_state = "2" + }, +/turf/template_noop, +/area/shuttle/tornado) +"TF" = ( +/obj/structure/shuttle/part/typhoon/transparent{ + icon_state = "40"; + density = 0; + layer = 4.2 + }, +/obj/structure/shuttle/part/typhoon/transparent{ + icon_state = "65" + }, +/turf/template_noop, +/area/shuttle/tornado) +"Uk" = ( +/obj/structure/shuttle/part/typhoon/transparent, +/turf/template_noop, +/area/shuttle/tornado) +"Ut" = ( +/obj/structure/machinery/camera/autoname/golden_arrow/typhoon{ + pixel_y = 32 + }, +/obj/structure/surface/table/reinforced/toc/east{ + pixel_y = -7 + }, +/obj/structure/machinery/computer/railgun/gatling/toc{ + pixel_y = 13; + pixel_x = -7 + }, +/obj/structure/phone_base/toc{ + pixel_y = 13; + pixel_x = 11; + phone_id = "Typhoon Overwatch"; + phone_category = "Overwatch"; + name = "Typhoon overwatch telephone receiver" + }, +/turf/open/shuttle/dropship{ + icon_state = "rasputin6" + }, +/area/shuttle/tornado) +"VM" = ( +/obj/structure/shuttle/part/typhoon/transparent{ + icon_state = "9" + }, +/turf/template_noop, +/area/shuttle/tornado) +"VV" = ( +/obj/structure/shuttle/part/tornado/transparent{ + icon_state = "22" + }, +/turf/template_noop, +/area/shuttle/tornado) +"Wk" = ( +/obj/docking_port/mobile/marine_dropship/typhoon, +/obj/structure/bed/chair/dropship/passenger/folded{ + pixel_y = 8; + buckling_y = 8 + }, +/turf/open/shuttle/dropship{ + icon_state = "rasputin15" + }, +/area/shuttle/tornado) +"Xv" = ( +/obj/structure/phone_base{ + dir = 4; + pixel_x = -19; + pixel_y = 12; + layer = 3.1; + phone_category = "Dropship"; + name = "Typhoon telephone receiver"; + phone_id = "Typhoon" + }, +/obj/structure/bed/chair/vehicle/dropship_cockpit/pilot{ + dir = 1; + pixel_x = 6; + pixel_y = 8 + }, +/obj/structure/machinery/computer/shuttle/dropship/flight/small{ + pixel_y = 16; + pixel_x = 6 + }, +/turf/open/shuttle/dropship{ + icon_state = "rasputin15" + }, +/area/shuttle/tornado) +"Xw" = ( +/obj/structure/shuttle/part/typhoon/transparent{ + icon_state = "32" + }, +/obj/effect/attach_point/fuel/typhoon{ + layer = 3.1 + }, +/turf/template_noop, +/area/shuttle/tornado) +"XO" = ( +/obj/structure/machinery/light/double{ + dir = 4; + pixel_y = -5 + }, +/obj/structure/surface/table/almayer, +/obj/item/storage/surgical_tray/empty, +/obj/item/reagent_container/hypospray/autoinjector/oxycodone{ + pixel_y = 9; + pixel_x = -3 + }, +/turf/open/shuttle/dropship{ + icon_state = "rasputin15" + }, +/area/shuttle/tornado) +"Ym" = ( +/obj/structure/machinery/computer/overwatch/toc{ + pixel_y = 14 + }, +/obj/structure/surface/table/reinforced/toc/west{ + pixel_y = -7 + }, +/obj/structure/machinery/prop/almayer/CICmap/arc{ + pixel_y = 9; + pixel_x = -9 + }, +/obj/structure/machinery/computer/railgun/toc{ + pixel_y = 14; + pixel_x = 7 + }, +/turf/open/shuttle/dropship{ + icon_state = "rasputin15" + }, +/area/shuttle/tornado) +"YW" = ( +/obj/structure/shuttle/part/typhoon/transparent{ + icon_state = "71" + }, +/turf/template_noop, +/area/shuttle/tornado) +"Zk" = ( +/turf/closed/shuttle/typhoon{ + icon_state = "30" + }, +/area/shuttle/tornado) +"ZD" = ( +/turf/open/shuttle/dropship{ + icon_state = "rasputin3" + }, +/area/shuttle/tornado) +"ZR" = ( +/turf/closed/shuttle/typhoon{ + icon_state = "37" + }, +/area/shuttle/tornado) + +(1,1,1) = {" +aX +aX +aX +aX +aX +aX +aX +aX +IT +Qi +Kw +KX +wI +aX +aX +aX +aX +aX +"} +(2,1,1) = {" +aX +aX +aX +aX +aX +YW +cg +cg +vO +RB +Rb +JT +BP +IT +OV +VV +wI +Uk +"} +(3,1,1) = {" +aX +aX +aX +IT +dV +rO +gY +gY +QF +wd +Zk +gN +VM +yE +Tc +Bz +BP +Ts +"} +(4,1,1) = {" +aX +aX +aX +yE +et +Ym +KY +Oq +IU +Iw +IU +Eh +gx +wd +Zk +gN +Oh +uS +"} +(5,1,1) = {" +FO +oH +CE +Fm +Or +Ut +ZD +ZD +ZD +ZD +IZ +OQ +Bf +cH +NB +cH +Kp +aX +"} +(6,1,1) = {" +qa +MB +Xv +Ou +Qs +iz +cH +cH +Wk +iH +iz +cH +Ih +ZD +sC +ZD +Pq +aX +"} +(7,1,1) = {" +jt +fJ +zS +yk +et +ix +ZD +ZD +ZD +ZD +wN +oo +ji +gJ +lm +cH +Pq +aX +"} +(8,1,1) = {" +aX +aX +aX +IT +et +rN +XO +kY +wP +FC +wP +Eh +lM +ZR +Rw +of +rb +Lj +"} +(9,1,1) = {" +aX +aX +aX +yE +Dl +lA +xq +xq +nM +ZR +Rw +of +BO +IT +Dv +bs +wI +Au +"} +(10,1,1) = {" +aX +aX +aX +aX +aX +Sc +Gv +Gv +TF +Qi +Xw +IX +wI +yE +Jb +gw +BP +Cl +"} +(11,1,1) = {" +aX +aX +aX +aX +aX +aX +aX +aX +yE +RB +Jb +RH +BP +aX +aX +aX +aX +aX +"} diff --git a/tgui/packages/tgui/interfaces/StripMenu.tsx b/tgui/packages/tgui/interfaces/StripMenu.tsx new file mode 100644 index 0000000000..6790d17a29 --- /dev/null +++ b/tgui/packages/tgui/interfaces/StripMenu.tsx @@ -0,0 +1,380 @@ +import { range } from 'common/collections'; +import { BooleanLike } from 'common/react'; + +import { resolveAsset } from '../assets'; +import { useBackend } from '../backend'; +import { Box, Button, Icon, Image, Stack } from '../components'; +import { Window } from '../layouts'; + +const ROWS = 5; +const COLUMNS = 6; + +const BUTTON_DIMENSIONS = '64px'; + +type GridSpotKey = string; + +const getGridSpotKey = (spot: [number, number]): GridSpotKey => { + return `${spot[0]}/${spot[1]}`; +}; + +const CornerText = (props: { + readonly align: 'left' | 'right'; + readonly children: string; +}): JSX.Element => { + const { align, children } = props; + + return ( + + {children} + + ); +}; + +type AlternateAction = { + icon: string; + text: string; +}; + +const ALTERNATE_ACTIONS: Record = { + remove_splints: { + icon: 'crutch', + text: 'Remove splints', + }, + + remove_accessory: { + icon: 'tshirt', + text: 'Remove accessory', + }, + + retrieve_tag: { + icon: 'tags', + text: 'Retrieve info tag', + }, + + toggle_internals: { + icon: 'mask-face', + text: 'Toggle internals', + }, +}; + +type Slot = { + displayName: string; + gridSpot: GridSpotKey; + image?: string; + additionalComponent?: JSX.Element; + hideEmpty?: boolean; +}; + +const SLOTS: Record = { + glasses: { + displayName: 'glasses', + gridSpot: getGridSpotKey([0, 1]), + image: 'inventory-glasses.png', + }, + + head: { + displayName: 'headwear', + gridSpot: getGridSpotKey([0, 2]), + image: 'inventory-head.png', + }, + + wear_mask: { + displayName: 'mask', + gridSpot: getGridSpotKey([1, 2]), + image: 'inventory-mask.png', + }, + + wear_r_ear: { + displayName: 'right earwear', + gridSpot: getGridSpotKey([0, 3]), + image: 'inventory-ears.png', + }, + + wear_l_ear: { + displayName: 'left earwear', + gridSpot: getGridSpotKey([1, 3]), + image: 'inventory-ears.png', + }, + + handcuffs: { + displayName: 'handcuffs', + gridSpot: getGridSpotKey([1, 4]), + hideEmpty: true, + }, + + legcuffs: { + displayName: 'legcuffs', + gridSpot: getGridSpotKey([1, 5]), + hideEmpty: true, + }, + + w_uniform: { + displayName: 'uniform', + gridSpot: getGridSpotKey([2, 1]), + image: 'inventory-uniform.png', + }, + + wear_suit: { + displayName: 'suit', + gridSpot: getGridSpotKey([2, 2]), + image: 'inventory-suit.png', + }, + + gloves: { + displayName: 'gloves', + gridSpot: getGridSpotKey([2, 3]), + image: 'inventory-gloves.png', + }, + + r_hand: { + displayName: 'right hand', + gridSpot: getGridSpotKey([2, 4]), + image: 'inventory-hand_r.png', + additionalComponent: R, + }, + + l_hand: { + displayName: 'left hand', + gridSpot: getGridSpotKey([2, 5]), + image: 'inventory-hand_l.png', + additionalComponent: L, + }, + + shoes: { + displayName: 'shoes', + gridSpot: getGridSpotKey([3, 2]), + image: 'inventory-shoes.png', + }, + + j_store: { + displayName: 'suit storage item', + gridSpot: getGridSpotKey([4, 0]), + image: 'inventory-suit_storage.png', + }, + + id: { + displayName: 'ID', + gridSpot: getGridSpotKey([4, 1]), + image: 'inventory-id.png', + }, + + belt: { + displayName: 'belt', + gridSpot: getGridSpotKey([4, 2]), + image: 'inventory-belt.png', + }, + + back: { + displayName: 'backpack', + gridSpot: getGridSpotKey([4, 3]), + image: 'inventory-back.png', + }, + + l_store: { + displayName: 'left pocket', + gridSpot: getGridSpotKey([4, 4]), + image: 'inventory-pocket.png', + }, + + r_store: { + displayName: 'right pocket', + gridSpot: getGridSpotKey([4, 5]), + image: 'inventory-pocket.png', + }, +}; + +enum ObscuringLevel { + Completely = 1, + Hidden = 2, +} + +type Interactable = { + interacting: BooleanLike; +}; + +/** + * Some possible options: + * + * null - No interactions, no item, but is an available slot + * { interacting: 1 } - No item, but we're interacting with it + * { icon: icon, name: name } - An item with no alternate actions + * that we're not interacting with. + * { icon, name, interacting: 1 } - An item with no alternate actions + * that we're interacting with. + */ +type StripMenuItem = + | null + | Interactable + | (( + | { + icon: string; + name: string; + alternate: string; + } + | { + obscured: ObscuringLevel; + } + | { + no_item_action: string; + } + ) & + Partial); + +type StripMenuData = { + items: Record; + name: string; +}; + +const StripContent = (props: { readonly item: StripMenuItem }) => { + if (props.item && 'name' in props.item) { + return ( + + ); + } + if (props.item && 'obscured' in props.item) { + return ( + + ); + } + return <> ; +}; + +export const StripMenu = (props) => { + const { act, data } = useBackend(); + + const gridSpots = new Map(); + for (const key of Object.keys(data.items)) { + const item = data.items[key]; + if (item === null && SLOTS[key].hideEmpty) continue; + gridSpots.set(SLOTS[key].gridSpot, key); + } + + return ( + + + + {range(0, ROWS).map((row) => ( + + + {range(0, COLUMNS).map((column) => { + const key = getGridSpotKey([row, column]); + const keyAtSpot = gridSpots.get(key); + + if (!keyAtSpot) { + return ( + + ); + } + + const item = data.items[keyAtSpot]; + const slot = SLOTS[keyAtSpot]; + + let alternateAction: AlternateAction | undefined; + + let content; + let tooltip; + + if (item === null) { + tooltip = slot.displayName; + } else if ('name' in item) { + alternateAction = ALTERNATE_ACTIONS[item.alternate]; + tooltip = item.name; + } else if ('obscured' in item) { + tooltip = `obscured ${slot.displayName}`; + } else if ('no_item_action' in item) { + tooltip = slot.displayName; + alternateAction = ALTERNATE_ACTIONS[item.no_item_action]; + } + + return ( + + + + + {alternateAction !== undefined && ( + + )} + + + ); + })} + + + ))} + + + + ); +}; diff --git a/tgui/packages/tgui/styles/interfaces/StripMenu.scss b/tgui/packages/tgui/styles/interfaces/StripMenu.scss new file mode 100644 index 0000000000..d2c867c0ac --- /dev/null +++ b/tgui/packages/tgui/styles/interfaces/StripMenu.scss @@ -0,0 +1,65 @@ +@use '../base.scss'; + +$background-color: rgba(0, 0, 0, 0.33) !default; + +.StripMenu__cornertext_left { + position: relative; + left: 2px; + text-align: left; + text-shadow: 1px 1px 1px #555; +} + +.StripMenu__cornertext_right { + position: relative; + left: -2px; + text-align: right; + text-shadow: 1px 1px 1px #555; +} + +.StripMenu__iconbox { + height: 100%; + width: 100%; + -ms-interpolation-mode: nearest-neighbor; + vertical-align: middle; +} + +.StripMenu__obscured { + text-align: center; + height: 100%; + width: 100%; +} + +.StripMenu__itembox { + position: relative; + width: 100%; + height: 100%; +} + +.StripMenu__contentbox { + position: relative; +} + +.StripMenu__itembutton { + position: relative; + width: 100%; + height: 100%; + padding: 0; +} + +.StripMenu__itemslot { + position: absolute; + width: 32px; + height: 32px; + left: 50%; + top: 50%; + transform: translateX(-50%) translateY(-50%) scale(0.8); + opacity: 0.7; +} + +.StripMenu__alternativeaction { + background: rgba(0, 0, 0, 0.6); + position: absolute; + bottom: 0; + right: 0; + z-index: 2; +} diff --git a/tgui/packages/tgui/styles/main.scss b/tgui/packages/tgui/styles/main.scss index b51e602746..639365e0e3 100644 --- a/tgui/packages/tgui/styles/main.scss +++ b/tgui/packages/tgui/styles/main.scss @@ -80,6 +80,7 @@ @include meta.load-css('./interfaces/common/Dpad.scss'); @include meta.load-css('./interfaces/common/ElectricalPanel.scss'); @include meta.load-css('./interfaces/TacticalMap.scss'); +@include meta.load-css('./interfaces/StripMenu.scss'); // Layouts @include meta.load-css('./layouts/Layout.scss');