diff --git a/_maps/map_catalogue.txt b/_maps/map_catalogue.txt deleted file mode 100644 index 7309dbb6f42b..000000000000 --- a/_maps/map_catalogue.txt +++ /dev/null @@ -1,238 +0,0 @@ -Find the key for using this catalogue in "map_catalogue_key.txt" - - - IceRuins: - File Name = _maps\RandomRuins\IceRuins\icemoon_hydroponics_lab.dmm - Size = (x = 33)(y = 33)(z = 1) - Tags = "Medium Loot", "Medium Combat Challenge", "Antag_Gear", "Shelter" - - File Name = _maps\RandomRuins\IceRuins\icemoon_surface_corporate_rejects.dmm - Size = (x = 34)(y = 38)(z = 1) - Tags = "Boss Combat Challenge", "Major Loot", "Antag Gear", "Shelter", "Lava" - - File Name = _maps\RandomRuins\IceRuins\icemoon_surface_engioutpost.dmm - Size = (x = 40)(y = 20)(z = 1) - Tags = "No Combat", "Minor Loot", "Shelter" - - File Name = _maps\RandomRuins\IceRuins\icemoon_underground_abandoned_newcops.dmm - Size = (x = 37)(y = 32)(z = 1) - Tags = "Medium Combat Challenge", "Minor Loot", "Shelter" - - File Name = _maps\RandomRuins\IceRuins\icemoon_underground_abandoned_village.dmm - Size = (x = 28)(y = 28)(z = 1) - Tags = "Medium Combat Challenge", "Minor Loot", "Antag Gear", "Inhospitable" - - File Name = _maps\RandomRuins\IceRuins\icemoon_underground_brazillianlab.dmm - Size = (x = 40)(y = 30)(z = 1) - Tags = "Boss Combat Challenge", "Major Loot", "Inhospitable" - - File Name = _maps\RandomRuins\IceRuins\icemoon_underground_burnies_lair.dmm - Size = (x = 20)(y = 20)(z = 1) - Tags = "Boss Combat Challenge", "Minor Loot", "Shelter", "Antag Gear" - - File Name = _maps\RandomRuins\IceRuins\icemoon_underground_drakelair.dmm - Size = (x = 29)(y = 30)(z = 1) - Tags = "Boss Combat Challenge", "Megafauna", "Major Loot", "Shelter", "Necropolis Loot" - - File Name = _maps\RandomRuins\IceRuins\icemoon_crashed_holemaker.dmm - Size = (x = 47)(y = 37)(z = 1) - Tags = "Medium Combat Challenge", "Minor Loot", "Shelter" - - - - JungleRuins: - File Name = "_maps\RandomRuins\JungleRuins\jungle_syndicate.dmm" - Size = (x = 15)(y = 15)(z = 1) - Tags = "Medium Combat Challenge", "Medium Loot", "Liveable", "Antag Gear" - - File Name = "_maps\RandomRuins\JungleRuins\jungle_interceptor.dmm" - Size = (x = 53)(y = 51)(z = 1) - Tags = "No Combat", "Medium Loot", Liveable" - - File Name = "_maps\RandomRuins\JungleRuins\jungle_medtech_outbreak.dmm" - Size = (x = 31)(y = 25)(z = 1) - Tags = "Medium Combat Challenge", "Medium Loot", Liveable" - - File Name = "_maps\RandomRuins\JungleRuins\jungle_paradise.dmm" - Size = (x = 70)(y = 66)(z = 1) - Tags = "Medium Combat Challenge", "Medium Loot", Liveable", "Hazardous" - - File Name "_maps\RandomRuins\JungleRuins\jungle_bombed_starport - Size = (x = 100)(y = 75)(z = 1) - Tags = "Medium Combat Challenge", "Major Loot", "Hazardous", "Liveable" - - File Name "_maps\RandomRuins\JungleRuins\jungle_cavecrew - Size = (x = 43)(y = 63)(z = 1) - Tags = "Medium Combat Challenge", "Hazardous", "Liveable", "Major Loot" - - File Name "_maps\RandomRuins\JungleRuins\jungle_abandoned_library - Size = (x = 36)(y = 35)(z = 1) - Tags = "Medium Combat Challenge", "Medium Loot", "Antag Gear", "Necropolis Loot", "Liveable" - - LavaRuins: - File Name = "_maps\RandomRuins\LavaRuins\lavaland_surface_buried_shrine.dmm" - Size = (x = 67)(y = 55)(z = 1) - Tags = "Medium Combat", "Medium Loot", "Hazardous", "Lava", "Inhospitable" - - File Name = "_maps\RandomRuins\LavaRuins\lavaland_surface_biodome_winter.dmm" - Size = (x = 46)(y = 42)(z = 1) - Tags = "Medium Combat Challenge", "Medium Loot", "Shelter" - - File Name = "_maps\RandomRuins\LavaRuins\lavaland_surface_elephant_graveyard.dmm" - Size = (x = 29)(y = 35)(z = 1) - Tags = "No Combat", "Minor Loot", "Hazardous", "Inhospitable" - - File Name = "_maps\RandomRuins\LavaRuins\lavaland_surface_lava_canyon.dmm" - Size = (x = 90)(y = 63)(z = 1) - Tags = "Medium Combat Challenge", "Medium Loot", "Megafauna", "Necropolis Loot", "Inhospitable", "Lava" - - File Name = "_maps\RandomRuins\LavaRuins\lavaland_surface_wrecked_factory.dmm" - Size = (x = 47)(y = 47)(z = 1) - Tags = "Boss Combat Challenge", "Major Loot", "Shelter", "Lava" - - File Name = "_maps\RandomRuins\LavaRuins\lavaland_crashed_starwalker.dmm" - Size = (x = 33)(y = 56)(z = 1) - Tags = "Minor Combat Challenge", "Medium Loot", "Lava" - - File Name = "_maps\RandomRuins\LavaRuins\lavaland_abandonedlisteningpost.dmm" - Size = (x = 33)(y = 56)(z = 1) - Tags = "Medium Combat Challenge", "Medium Loot", "Shelter" - - - ReebeRuins: - File Name = "_maps\RandomRuins\Ruins\reebe_swarmers.dmm" - Size = (x = 20)(y = 20)(z = 1) - Tags = "Medium Combat Challenge", "Minor Loot", "Liveable" - - File Name = "_maps\RandomRuins\Ruins\reebe_arena.dmm" - Size = (x = 79)(y = 60)(z = 1) - Tags = "Boss Combat Challenge", "Medium Loot", "Liveable" - - File Name = "_maps\RandomRuins\Ruins\reebe_decayed_sm.dmm" - Size = (x = 10)(y = 10)(z = 1) - Tags = "No Combat", "Medium Loot", "Liveable", "Hazardous" - - File Name = "_maps\RandomRuins\Ruins\reebe_floating_island.dmm" - Size = (x = 20)(y = 20)(z = 1) - Tags = "Boss Combat Challenge", "Minor Loot", "Liveable" - - - RockRuins: - File Name = "_maps\RandomRuins\RockRuins\rockplanet_budgetcuts.dmm" - Size = (x = 52)(y = 44)(z = 1) - Tags = "Hard Combat Challenge", "Medium Loot", "hospitable" - - File Name = "_maps\RandomRuins\RockRuins\rockplanet_harmfactory.dmm" - Size = (x = 42)(y = 41)(z = 1) - Tags = "Boss Combat Challenge", "Major Loot", Shelter", "Antag Gear", "Hazardous" - - File Name = "_maps\RandomRuins\RockRuins\rockplanet_shippingdock.dmm" - Size = (x = 85)(y = 73)(z = 1) - Tags = "Medium Combat Challenge", "Medium Loot", "Hazardous", "Shelter" - - File Name = "_maps\RandomRuins\RockRuins\rockplanet_nomadcrash.dmm" - Size = (x = 58)(y = 48)(z = 1) - Tags = "Medium Combat Challenge", "Medium Loot", "Hazardous", "Hospitable" - - File Name = "_maps\RandomRuins\RockRuins\rockplanet_distillery.dmm" - Size = (x = 44)(y = 45)(z = 1) - Tags = "Medium Combat Challenge", "Major Loot", "Hazardous", "Hospitable" - - - SandRuins: - File Name = "_maps\RandomRuins\Ruins\whitesands_surface_camp_saloon.dmm" - Size = (x = 30)(y = 30)(z = 1) - Tags = "Medium Combat Challenge", "Medium Loot", "Inhospitable" - - File Name = "_maps\RandomRuins\Ruins\whitesands_surface_camp_combination.dmm" - Size = (x = 59)(y = 59)(z = 1) - Tags = "Medium Combat Challenge", "Medium Loot", "Inhospitable", "Hazardous" - - File Name = "_maps\RandomRuins\Ruins\whitesands_surface_medipen_plant.dmm" - Size = (x = 23)(y = 29)(z = 1) - Tags = "No Combat", "Major Loot", "Shelter" - - File Name = "_maps\RandomRuins\Ruins\whitesands_surface_pubbyslopcrash.dmm" - Size = (x = 40)(y = 25)(z = 1) - Tags = "Minor Combat Challenge", "Medium Loot", "Shelter" - - - - SpaceRuins: - File Name = "_maps\RandomRuins\SpaceRuins\astraeus.dmm" - Size = (x = 47)(y = 35)(z = 1) - Tags = "Minor Combat Challenge", "Medium Loot", "Inhospitable" - - File Name = "_maps\RandomRuins\SpaceRuins\bigderelict1.dmm" - Size = (x = 40)(y = 34)(z = 1) - Tags = "Minor Combat Challenge", "Medium Loot", "Shelter" - - File Name = "_maps\RandomRuins\SpaceRuins\corporate_mining.dmm" - Size = (x = 50)(y = 50)(z = 1) - Tags = "No Combat", "Medium Loot", "Shelter" - - File Name = "_maps\RandomRuins\SpaceRuins\onehalf.dmm" - Size = (x = 29)(y = 20)(z = 1) - Tags = "Minor Combat Challenge", "Medium Loot", "inhospitable" - - File Name = "_maps\RandomRuins\SpaceRuins\power_puzzle.dmm" - Size = (x = 30)(y = 30)(z = 1) - Tags = "Minor Combat Challenge", "Major Loot", "Shelter", "Hazardous" - - File Name = "_maps\RandomRuins\SpaceRuins\singularitylab.dmm" - Size = (x = 118)(y = 75)(z = 1) - Tags = "Boss Combat Challenge", "Major Loot", "Shelter" - - File Name = "_maps\RandomRuins\SpaceRuins\spacemall.dmm" - Size = (x = 86)(y = 48)(z = 1) - Tags = "Medium Combat Challenge", "Major Loot", "Shelter" - - BeachRuins: - File Name = "_maps\RandomRuins\BeachRuins\beach_ancient_ruin.dmm" - Size = (x = 75)(y = 76)(z = 1) - Tags = "Medium Combat Challenge", "Medium Loot", Liveable" - - File Name = "_maps\RandomRuins\BeachRuins\beach_colony.dmm" - Size = (x = 30)(y = 30)(z = 1) - Tags = "Minor Combat Challenge", "Minor Loot" - - File Name = "_maps\RandomRuins\BeachRuins\beach_fishing_hut.dmm" - Size = (x = 30)(y = 40)(z = 1) - Tags = "Hard Combat Challenge, "Major Loot", "Hazardous" - - File Name = "_maps\RandomRuins\BeachRuins\beach_crashed_engineer.dmm" - Size = (x = 32)(y = 32)(z = 1) - Tags = "Minor Combat Challenge, "Medium Loot", "Hazardous" - - File Name = "_maps\RandomRuins\BeachRuins\beach_pirate_crash.dmm" - Size = (x = 33)(y = 26)(z = 1) - Tags = "Medium Combat Challenge", "Medium Loot", "Liveable" - - File Name = "_maps\RandomRuins\BeachRuins\beach_ocean_town.dmm" - Size = (x = 80)(y = 83)(z = 1) - Tags = "No Combat", "Minor loot", "Liveable" - - File Name = "_maps\RandomRuins\BeachRuins\beach_treasure_cove.dmm" - Size = (x = 37)(y = 43)(z = 1) - Tags = "Medium Combat Challenge", "Medium Loot", "Liveable" - - File Name = "_maps\RandomRuins\BeachRuins\beach_float_resort.dmm" - Size = (x = 38)(y = 52)(z = 1) - Tags = "No Combat", "Minor Loot", "Liveable" - - Waste Ruins: - File name ="_maps\RandomRuins\wasteruins\wasteplanet_lab.dmm" - Size = (x = 26)(y = 25)(z = 1) - Tags = "No Combat", "Medium Loot" "Shelter" "hazardous" "hospitable" - - File name ="_maps\RandomRuins\wasteruins\wasteplanet_pandora.dmm" - Size = (x = 18)(y = 21)(z = 1) - Tags = "Boss Combat Challenge", "Medium Loot" "Megafauna", "hospitable" - - File name ="_maps\RandomRuins\wasteruins\wasteplanet_unhonorable.dmm" - Size = (x = 34)(y = 34)(z = 1) - Tags = "Minor Combat Challenge", "Medium Loot", "Shelter", "Hazardous" - - File name = "_maps\RandomRuins\wasteruins\wasteplanet_abandoned_mechbay.dmm" - Size = (x = 45)(y = 47)(z = 1) - Tags = "Boss Combat Challenge", "Medium Loot", "Shelter", "Hazardous" diff --git a/_maps/shuttles/inteq/inteq_colossus.dmm b/_maps/shuttles/inteq/inteq_colossus.dmm index a3bd60d48250..a017deb1e294 100644 --- a/_maps/shuttles/inteq/inteq_colossus.dmm +++ b/_maps/shuttles/inteq/inteq_colossus.dmm @@ -195,6 +195,12 @@ name = "uniform closet" }, /obj/machinery/firealarm/directional/east, +/obj/item/clothing/suit/hooded/wintercoat/security/inteq, +/obj/item/clothing/suit/hooded/wintercoat/security/inteq, +/obj/item/clothing/suit/hooded/wintercoat/security/inteq, +/obj/item/clothing/suit/hooded/wintercoat/security/inteq/alt, +/obj/item/clothing/suit/hooded/wintercoat/security/inteq/alt, +/obj/item/clothing/suit/hooded/wintercoat/security/inteq/alt, /turf/open/floor/plasteel/grimy, /area/ship/crew) "cq" = ( diff --git a/_maps/shuttles/inteq/inteq_talos.dmm b/_maps/shuttles/inteq/inteq_talos.dmm index 3af585b45b5a..68233ef51d58 100644 --- a/_maps/shuttles/inteq/inteq_talos.dmm +++ b/_maps/shuttles/inteq/inteq_talos.dmm @@ -4071,6 +4071,12 @@ /obj/structure/cable{ icon_state = "0-2" }, +/obj/item/clothing/suit/hooded/wintercoat/security/inteq, +/obj/item/clothing/suit/hooded/wintercoat/security/inteq, +/obj/item/clothing/suit/hooded/wintercoat/security/inteq, +/obj/item/clothing/suit/hooded/wintercoat/security/inteq/alt, +/obj/item/clothing/suit/hooded/wintercoat/security/inteq/alt, +/obj/item/clothing/suit/hooded/wintercoat/security/inteq/alt, /turf/open/floor/carpet/black, /area/ship/crew/dorm) "zg" = ( diff --git a/_maps/shuttles/inteq/inteq_valor.dmm b/_maps/shuttles/inteq/inteq_valor.dmm index 0c6dd8139f4b..737e424096fd 100644 --- a/_maps/shuttles/inteq/inteq_valor.dmm +++ b/_maps/shuttles/inteq/inteq_valor.dmm @@ -4599,6 +4599,12 @@ /obj/item/clothing/head/soft/inteq, /obj/structure/closet/wall/directional/north, /obj/machinery/airalarm/directional/east, +/obj/item/clothing/suit/hooded/wintercoat/security/inteq/alt, +/obj/item/clothing/suit/hooded/wintercoat/security/inteq/alt, +/obj/item/clothing/suit/hooded/wintercoat/security/inteq/alt, +/obj/item/clothing/suit/hooded/wintercoat/security/inteq, +/obj/item/clothing/suit/hooded/wintercoat/security/inteq, +/obj/item/clothing/suit/hooded/wintercoat/security/inteq, /turf/open/floor/carpet/black, /area/ship/crew/dorm) "RF" = ( diff --git a/_maps/shuttles/inteq/inteq_vaquero.dmm b/_maps/shuttles/inteq/inteq_vaquero.dmm index c305ba070659..a2247418ce15 100644 --- a/_maps/shuttles/inteq/inteq_vaquero.dmm +++ b/_maps/shuttles/inteq/inteq_vaquero.dmm @@ -1208,6 +1208,12 @@ /obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ dir = 8 }, +/obj/item/clothing/suit/hooded/wintercoat/security/inteq, +/obj/item/clothing/suit/hooded/wintercoat/security/inteq, +/obj/item/clothing/suit/hooded/wintercoat/security/inteq, +/obj/item/clothing/suit/hooded/wintercoat/security/inteq/alt, +/obj/item/clothing/suit/hooded/wintercoat/security/inteq/alt, +/obj/item/clothing/suit/hooded/wintercoat/security/inteq/alt, /turf/open/floor/carpet/black, /area/ship/crew) "ui" = ( diff --git a/_maps/shuttles/pgf/pgf_crying_sun.dmm b/_maps/shuttles/pgf/pgf_crying_sun.dmm index f0987bb6bb22..26b6c78c4bde 100644 --- a/_maps/shuttles/pgf/pgf_crying_sun.dmm +++ b/_maps/shuttles/pgf/pgf_crying_sun.dmm @@ -425,13 +425,13 @@ /turf/open/floor/plating, /area/ship/engineering/engines/starboard) "du" = ( -/obj/machinery/porta_turret/ship/weak{ - dir = 6; - mode = 1 - }, /obj/structure/cable{ icon_state = "0-8" }, +/obj/machinery/porta_turret/ship/pgf/light{ + dir = 6; + mode = 1 + }, /turf/open/floor/engine/hull, /area/ship/external/dark) "dv" = ( @@ -1050,11 +1050,11 @@ /obj/structure/cable{ icon_state = "0-8" }, -/obj/machinery/porta_turret/ship/weak{ +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/machinery/porta_turret/ship/pgf/light{ dir = 4; mode = 1 }, -/obj/structure/catwalk/over/plated_catwalk/dark, /turf/open/floor/plating/airless, /area/ship/external/dark) "ih" = ( @@ -2335,16 +2335,6 @@ /obj/effect/turf_decal/floordetail/tiled, /turf/open/floor/plasteel/telecomms_floor, /area/ship/bridge) -"tU" = ( -/obj/machinery/porta_turret/ship/weak{ - dir = 5; - mode = 1 - }, -/obj/structure/cable{ - icon_state = "0-2" - }, -/turf/open/floor/engine/hull, -/area/ship/external/dark) "tY" = ( /obj/machinery/modular_computer/console/preset/command{ dir = 1 @@ -3452,13 +3442,13 @@ /turf/open/floor/plasteel/white, /area/ship/crew/canteen) "CF" = ( -/obj/machinery/porta_turret/ship/weak{ - dir = 10; - mode = 1 - }, /obj/structure/cable{ icon_state = "0-4" }, +/obj/machinery/porta_turret/ship/pgf/light{ + dir = 10; + mode = 1 + }, /turf/open/floor/engine/hull, /area/ship/external/dark) "CO" = ( @@ -3732,11 +3722,11 @@ /turf/open/floor/plasteel, /area/ship/hallway/central) "Eu" = ( -/obj/machinery/porta_turret/ship/weak{ +/obj/structure/cable, +/obj/machinery/porta_turret/ship/pgf/light{ dir = 5; mode = 1 }, -/obj/structure/cable, /turf/open/floor/engine/hull, /area/ship/external/dark) "EA" = ( @@ -3996,13 +3986,13 @@ /turf/open/floor/plasteel/mono/dark, /area/ship/hallway/central) "FJ" = ( -/obj/machinery/porta_turret/ship/weak{ - dir = 5; - mode = 1 - }, /obj/structure/cable{ icon_state = "0-4" }, +/obj/machinery/porta_turret/ship/pgf/light{ + dir = 5; + mode = 1 + }, /turf/open/floor/engine/hull, /area/ship/external/dark) "FN" = ( @@ -4017,13 +4007,13 @@ /turf/open/floor/plating, /area/ship/engineering/engines/starboard) "FO" = ( -/obj/machinery/porta_turret/ship/weak{ - dir = 8; - mode = 1 - }, /obj/structure/cable{ icon_state = "0-4" }, +/obj/machinery/porta_turret/ship/pgf/light{ + dir = 8; + mode = 1 + }, /turf/open/floor/engine/hull/reinforced, /area/ship/external/dark) "FU" = ( @@ -4253,13 +4243,13 @@ /turf/open/floor/vault, /area/ship/security/armory) "Hb" = ( -/obj/machinery/porta_turret/ship/weak{ - dir = 4; - mode = 1 - }, /obj/structure/cable{ icon_state = "0-2" }, +/obj/machinery/porta_turret/ship/pgf/light{ + dir = 5; + mode = 1 + }, /turf/open/floor/engine/hull, /area/ship/external/dark) "Hf" = ( @@ -7804,7 +7794,7 @@ xz xz xz xz -tU +Hb xk UE pW diff --git a/code/__DEFINES/factions.dm b/code/__DEFINES/factions.dm index 67ce47e166fc..596060d6610e 100644 --- a/code/__DEFINES/factions.dm +++ b/code/__DEFINES/factions.dm @@ -8,7 +8,7 @@ #define FACTION_PLAYER_NANOTRASEN "playerNanotrasen" #define FACTION_PLAYER_FRONTIERSMEN "playerFrontiersmen" #define FACTION_PLAYER_MINUTEMAN "playerMinuteman" -#define FACTION_PLAYER_SOLGOV "playerSolgov" +#define FACTION_PLAYER_SOLCON "playerSolcon" #define FACTION_PLAYER_INTEQ "playerInteq" #define FACTION_PLAYER_ROUMAIN "playerRoumain" #define FACTION_PLAYER_GEZENA "playerGezena" diff --git a/code/__DEFINES/fonts.dm b/code/__DEFINES/fonts.dm index 32a08f38861b..8ffecbbe20d5 100644 --- a/code/__DEFINES/fonts.dm +++ b/code/__DEFINES/fonts.dm @@ -19,3 +19,5 @@ #define SHARE "Share Tech Mono" GLOBAL_LIST_INIT(pda_styles, sortList(list(MONO, VT, ORBITRON, SHARE))) + +#define EMOJI_SET 'icons/emoji.dmi' diff --git a/code/__DEFINES/ruins.dm b/code/__DEFINES/ruins.dm index 894b9c0863f4..93a63d207c30 100644 --- a/code/__DEFINES/ruins.dm +++ b/code/__DEFINES/ruins.dm @@ -32,3 +32,52 @@ return SSmapping.ruins_templates else return SSmapping.ruin_types_list[ruintype] + +/* +Maps described in the catalogue must be described with at least one or more of the following tags. + +*Loot Summary +Minor Loot = Has negligable/no loot at all, only contains fluff items or just the loot found from enemy drops or structures in the ruin. +Medium Loot = Has a pool of loot that is useful for the average player or ship, but not in large amounts, and does not have more than one or two boss drops. +Major Loot = Contains a large pool of loot useful to the average player or ship. Or includes more boss drops or necropolis loot than there are challenges for. +*/ +#define RUIN_TAG_MINOR_LOOT "Minor Loot" +#define RUIN_TAG_MEDIUM_LOOT "Medium Loot" +#define RUIN_TAG_MAJOR_LOOT "Major Loot" + +/*Combat Summary +No Combat = Contains no enemies or combat challenges. +Minor Combat Challenge = Has only 1-2 hit melee mobs in small or moderate amounts. +Medium Combat Challenge = Contains more than just simple low health melee mobs, or a moderate amount of mobs. +Boss Combat Challenge = Contains either one or more bossmobs, has a large number of mobs that are either overwhelming or considerably challenging, or has a significant combat challenge overall. +*/ +#define RUIN_TAG_NO_COMBAT "No Combat" +#define RUIN_TAG_MINOR_COMBAT "Minor Combat Challenge" +#define RUIN_TAG_MEDIUM_COMBAT "Medium Combat Challenge" +#define RUIN_TAG_HARD_COMBAT "Hard Combat Challenge" +#define RUIN_TAG_BOSS_COMBAT "Boss Combat Challenge" + + +/*Qualities +Megafauna = Map contains one or more megafauna. +Antag Gear = Map contains one or more items typically only obtainable by antag roles. +Necropolis Loot = Map contains an item or chest from the necropolis loot pool. +Liveable = The entirety of the map is inhabitable without protective gear, and the map is not surrounded by an inhospitable environment. +Inhospitable = The majority of the map is uninhabitable without protective gear, and the map is not surrounded by a hospitable environment. +Shelter = The map contains a portion that is hospitable without protective gear, with a surrounding section that is inhospitable. Or the map is an enclosed hospitable space that spawns on an inhospitable planet. +Bad Shelter = The map contains a portion that is inhospitable without protective gear, with a surround section that is hospitable. Or the map is an enclosed inhospitable space that spawn on a hospitable planet. +No Content = A map that contains no objects. It contains only turfs, walls, and or areas. +Hazardous = Contains hazardous environment elements. Elements include but are not limited to: Mines, IEDs, Chasms appearing more than twice or more than once if one is 3x3 or more, disease spawns, beartraps. +Unknown Details = Something about the map can't be checked with a map editor alone, and has not been tested for confirmation yet. +Lava = Contains lava or liquid plasma tiles. +Ghost Role = Contains a ghost role. +*/ +#define RUIN_TAG_MEGAFAUNA "Megafauna" +#define RUIN_TAG_LIVEABLE "Liveable" +#define RUIN_TAG_INHOSPITABLE "Inhospitable" +#define RUIN_TAG_SHELTER "Shelter" +#define RUIN_TAG_BAD_SHELTER "Bad Shelter" +#define RUIN_TAG_NO_CONTENT "No Content" +#define RUIN_TAG_HAZARDOUS "Hazardous" +#define RUIN_TAG_UNKNOWN_DETAILS "Unknown Details" +#define RUIN_TAG_LAVA "Lava" diff --git a/code/datums/ruins.dm b/code/datums/ruins.dm index 9b7c86c22b0e..3554faf3e2ca 100644 --- a/code/datums/ruins.dm +++ b/code/datums/ruins.dm @@ -16,6 +16,7 @@ var/suffix = null var/ruin_type + var/ruin_tags = list() /datum/map_template/ruin/New() if(!name && id) diff --git a/code/datums/ruins/beachplanet.dm b/code/datums/ruins/beachplanet.dm index b258ef45f0e8..3b048ab940c1 100644 --- a/code/datums/ruins/beachplanet.dm +++ b/code/datums/ruins/beachplanet.dm @@ -9,39 +9,46 @@ id = "fishinghut" description = "A small fishing hut floating on the ocean." suffix = "beach_fishing_hut.dmm" + ruin_tags = list(RUIN_TAG_HARD_COMBAT, RUIN_TAG_MAJOR_LOOT, RUIN_TAG_HAZARDOUS) /datum/map_template/ruin/beachplanet/ancient name = "Ancient Danger" id = "beach_ancient" description = "As you draw near the ancient wall, a sense of foreboding overcomes you. You aren't sure why, but you feel this dusty structure may contain great dangers." suffix = "beach_ancient_ruin.dmm" + ruin_tags = list(RUIN_TAG_MEDIUM_COMBAT, RUIN_TAG_MEDIUM_LOOT, RUIN_TAG_LIVEABLE) /datum/map_template/ruin/beachplanet/town name = "Beachside Town" id = "beach_town" description = "A fresh town on a lovely coast, where its inhabitants are is unknown." suffix = "beach_ocean_town.dmm" + ruin_tags = list(RUIN_TAG_NO_COMBAT, RUIN_TAG_MINOR_LOOT, RUIN_TAG_LIVEABLE) /datum/map_template/ruin/beachplanet/scrapvillage name = "Pirate Village" id = "beach_pirate" description = "A small pirate outpost formed from the remains of a wrecked shuttle." suffix = "beach_pirate_crash.dmm" + ruin_tags = list(RUIN_TAG_MEDIUM_COMBAT, RUIN_TAG_MEDIUM_LOOT, RUIN_TAG_LIVEABLE) /datum/map_template/ruin/beachplanet/treasurecove name = "Treasure Cove" id = "beach_treasure_cove" description = "A abandoned colony. It seems that this colony was abandoned, for a reason or another" suffix = "beach_treasure_cove.dmm" + ruin_tags = list(RUIN_TAG_MEDIUM_COMBAT, RUIN_TAG_MEDIUM_LOOT, RUIN_TAG_LIVEABLE) /datum/map_template/ruin/beachplanet/crashedengie name = "Crashed Engineer Ship" id = "beach_crashed_engineer" description = "An abandoned camp built by a crashed engineer" suffix = "beach_crashed_engineer.dmm" + ruin_tags = list(RUIN_TAG_MINOR_COMBAT, RUIN_TAG_MEDIUM_LOOT, RUIN_TAG_HAZARDOUS) /datum/map_template/ruin/beachplanet/floatresort name = "Floating Beach Resort" id = "beach_float_resort" description = "A hidden paradise on the beach" suffix = "beach_float_resort.dmm" + ruin_tags = list(RUIN_TAG_NO_COMBAT, RUIN_TAG_MINOR_LOOT, RUIN_TAG_LIVEABLE) diff --git a/code/datums/ruins/icemoon.dm b/code/datums/ruins/icemoon.dm index 60304e86f6f0..81b7aea8582c 100644 --- a/code/datums/ruins/icemoon.dm +++ b/code/datums/ruins/icemoon.dm @@ -9,21 +9,25 @@ id = "hydroponicslab" description = "An abandoned hydroponics research facility containing hostile plant fauna." suffix = "icemoon_hydroponics_lab.dmm" + ruin_tags = list(RUIN_TAG_MEDIUM_LOOT, RUIN_TAG_MEDIUM_COMBAT, RUIN_TAG_SHELTER) /datum/map_template/ruin/icemoon/abandonedvillage name = "Abandoned Village" id = "abandonedvillage" description = "Who knows what lies within?" suffix = "icemoon_underground_abandoned_village.dmm" + ruin_tags = list(RUIN_TAG_MEDIUM_COMBAT, RUIN_TAG_MINOR_LOOT, RUIN_TAG_INHOSPITABLE) /datum/map_template/ruin/icemoon/brazillian_lab name = "Barricaded Compound" id = "brazillian-lab" description = "A conspicuous compound in the middle of the cold wasteland. What goodies are inside?" suffix = "icemoon_underground_brazillianlab.dmm" + ruin_tags = list(RUIN_TAG_BOSS_COMBAT, RUIN_TAG_MAJOR_LOOT, RUIN_TAG_INHOSPITABLE) /datum/map_template/ruin/icemoon/crashed_holemaker name = "Crashed Holemaker" id = "crashed_holemaker" description = "Safety records for early Nanotrasen Spaceworks vessels were, and always have been, top of their class. Absolutely no multi-billion credit projects have been painstakingly erased from history. (Citation Needed)" suffix = "icemoon_crashed_holemaker.dmm" + ruin_tags = list(RUIN_TAG_MEDIUM_COMBAT, RUIN_TAG_MINOR_LOOT, RUIN_TAG_SHELTER) diff --git a/code/datums/ruins/jungle.dm b/code/datums/ruins/jungle.dm index f1e2e16bfec8..faaefea4fd8b 100644 --- a/code/datums/ruins/jungle.dm +++ b/code/datums/ruins/jungle.dm @@ -9,39 +9,46 @@ id = "syndicatebunkerjungle" description = "A small bunker owned by the Syndicate." suffix = "jungle_syndicate.dmm" + ruin_tags = list(RUIN_TAG_MEDIUM_COMBAT, RUIN_TAG_MEDIUM_LOOT, RUIN_TAG_LIVEABLE) /datum/map_template/ruin/jungle/interceptor name = "Old Crashed Interceptor" id = "crashedcondor" description = "An overgrown crashed Condor Class, a forgotten remnant of the Corporate Wars." suffix = "jungle_interceptor.dmm" + ruin_tags = list(RUIN_TAG_NO_COMBAT, RUIN_TAG_MEDIUM_LOOT, RUIN_TAG_LIVEABLE) /datum/map_template/ruin/jungle/paradise name = "Hidden paradise" id = "paradise" description = "a crashed shuttle, and a hidden beautiful lake." suffix = "jungle_paradise.dmm" + ruin_tags = list(RUIN_TAG_MEDIUM_COMBAT, RUIN_TAG_MEDIUM_LOOT, RUIN_TAG_LIVEABLE, RUIN_TAG_HAZARDOUS) /datum/map_template/ruin/jungle/airbase name = "Bombed Airbase" id = "airbase" description = "A bombed out airbase from the ICW, taken back over by nature" suffix = "jungle_bombed_starport.dmm" + ruin_tags = list(RUIN_TAG_MEDIUM_COMBAT, RUIN_TAG_MAJOR_LOOT, RUIN_TAG_HAZARDOUS, RUIN_TAG_LIVEABLE) /datum/map_template/ruin/jungle/medtech name = "MedTech facility" id = "medtech-facility" description = "A MedTech pharmaceutical manufacturing plant where something went terribly wrong." suffix = "jungle_medtech_outbreak.dmm" + ruin_tags = list(RUIN_TAG_MEDIUM_COMBAT, RUIN_TAG_MEDIUM_LOOT, RUIN_TAG_LIVEABLE) /datum/map_template/ruin/jungle/cavecrew name = "Frontiersmen Cave" id = "cavecrew" description = "A frontiersmen base, hidden within a cave. They don't seem friendly" suffix = "jungle_cavecrew.dmm" + ruin_tags = list(RUIN_TAG_MEDIUM_COMBAT, RUIN_TAG_HAZARDOUS, RUIN_TAG_LIVEABLE, RUIN_TAG_MAJOR_LOOT) /datum/map_template/ruin/jungle/library name = "Abandoned Library" id = "abandoned-library" description = "A forgotten library, with a few angry monkeys." suffix = "jungle_abandoned_library.dmm" + ruin_tags = list(RUIN_TAG_MEDIUM_COMBAT, RUIN_TAG_MEDIUM_LOOT, RUIN_TAG_LIVEABLE) diff --git a/code/datums/ruins/lavaland.dm b/code/datums/ruins/lavaland.dm index 6f57fe8adb82..4afa13dee07c 100644 --- a/code/datums/ruins/lavaland.dm +++ b/code/datums/ruins/lavaland.dm @@ -10,6 +10,7 @@ description = "A Solarian frontier research facility created by the Pionierskompanien \ This one seems to simulate the wintery climate of the northern provinces, including a sauna!" suffix = "lavaland_surface_biodome_winter.dmm" + ruin_tags = list(RUIN_TAG_MINOR_COMBAT, RUIN_TAG_MINOR_LOOT, RUIN_TAG_SHELTER) /datum/map_template/ruin/lavaland/elephant_graveyard name = "Elephant Graveyard" @@ -18,6 +19,7 @@ suffix = "lavaland_surface_elephant_graveyard.dmm" allow_duplicates = FALSE cost = 10 + ruin_tags = list(RUIN_TAG_NO_COMBAT, RUIN_TAG_MINOR_LOOT, RUIN_TAG_HAZARDOUS, RUIN_TAG_INHOSPITABLE) /datum/map_template/ruin/lavaland/buried_shrine name = "Buried Shrine" diff --git a/code/datums/ruins/reebe.dm b/code/datums/ruins/reebe.dm index fa89ada7788c..bec9986d75b8 100644 --- a/code/datums/ruins/reebe.dm +++ b/code/datums/ruins/reebe.dm @@ -9,21 +9,25 @@ id = "clockcultarena" description = "A abandoned base, once belonging to clock cultists." suffix = "reebe_arena.dmm" + ruin_tags = list(RUIN_TAG_BOSS_COMBAT, RUIN_TAG_MEDIUM_LOOT, RUIN_TAG_LIVEABLE) /datum/map_template/ruin/reebe/swarmers name = "Swarmer Island" id = "swarmers" description = "Looks like someone has occupied Reebe in the cultists' absence." suffix = "reebe_swarmers.dmm" + ruin_tags = list(RUIN_TAG_MEDIUM_COMBAT, RUIN_TAG_MINOR_LOOT, RUIN_TAG_LIVEABLE) /datum/map_template/ruin/reebe/island name = "Island Cache" id = "islandcache" description = "Reebe is full of these things. Something is hidden within here." suffix = "reebe_floating_island.dmm" + ruin_tags = list(RUIN_TAG_BOSS_COMBAT, RUIN_TAG_MINOR_LOOT, RUIN_TAG_LIVEABLE) /datum/map_template/ruin/reebe/sm name = "Decayed Supermatter" id = "smdecay" description = "It seems whoever left here was so nice they left very vauluable items behind. How thoughtful." suffix = "reebe_decayed_sm.dmm" + ruin_tags = list(RUIN_TAG_NO_COMBAT, RUIN_TAG_MEDIUM_LOOT, RUIN_TAG_LIVEABLE, RUIN_TAG_HAZARDOUS) diff --git a/code/datums/ruins/rockplanet.dm b/code/datums/ruins/rockplanet.dm index ac9e2ffc4081..7382b2c5768a 100644 --- a/code/datums/ruins/rockplanet.dm +++ b/code/datums/ruins/rockplanet.dm @@ -10,12 +10,14 @@ description = "A factory made for HARM and AGONY." id = "rockplanet_harmfactory" suffix = "rockplanet_harmfactory.dmm" + ruin_tags = list(RUIN_TAG_BOSS_COMBAT, RUIN_TAG_MAJOR_LOOT, RUIN_TAG_SHELTER, RUIN_TAG_HAZARDOUS) /datum/map_template/ruin/rockplanet/budgetcuts name = "Budgetcuts" description = "Nanotrasen's gotta lay off some personnel, and this facility hasn't been worth the effort so far" id = "rockplanet_budgetcuts" suffix = "rockplanet_budgetcuts.dmm" + ruin_tags = list(RUIN_TAG_HARD_COMBAT, RUIN_TAG_MEDIUM_LOOT, RUIN_TAG_LIVEABLE) /datum/map_template/ruin/rockplanet/shippingdock name = "Abandoned Shipping Dock" diff --git a/code/datums/ruins/space.dm b/code/datums/ruins/space.dm index 1aedb0b9be82..f8cda3a84426 100644 --- a/code/datums/ruins/space.dm +++ b/code/datums/ruins/space.dm @@ -11,6 +11,7 @@ suffix = "corporate_mining.dmm" name = "Corporate Mining Module" description = "An old and rusty mining facility, with big ore potential." + ruin_tags = list(RUIN_TAG_NO_COMBAT, RUIN_TAG_MEDIUM_LOOT, RUIN_TAG_SHELTER) /datum/map_template/ruin/space/bigderelict1 id = "bigderelict1" @@ -18,12 +19,14 @@ name = "Derelict Tradepost" description = "A once-bustling tradestation that handled imports and exports from nearby stations now lays eerily dormant. \ The last received message was a distress call from one of the on-board officers, but we had no success in making contact again." + ruin_tags = list(RUIN_TAG_MINOR_COMBAT, RUIN_TAG_MEDIUM_LOOT, RUIN_TAG_SHELTER) /datum/map_template/ruin/space/onehalf id = "onehalf" suffix = "onehalf.dmm" name = "DK Excavator 453" description = "Formerly a thriving planetary mining outpost, now a bit of an exploded mess. One has to wonder how it got here" + ruin_tags = list(RUIN_TAG_MINOR_COMBAT, RUIN_TAG_MEDIUM_LOOT, RUIN_TAG_INHOSPITABLE) /datum/map_template/ruin/space/power_puzzle id = "power_puzzle" @@ -31,21 +34,25 @@ name = "Power Puzzle" description = "an abandoned secure storage location. there is no power left in the batteries and the former ocupants locked it pretty tight before leaving.\ You will have to power areas to raise the bolts on the doors. look out for secrets." + ruin_tags = list(RUIN_TAG_MINOR_COMBAT, RUIN_TAG_MAJOR_LOOT, RUIN_TAG_SHELTER, RUIN_TAG_HAZARDOUS) /datum/map_template/ruin/space/astraeus id = "astraeus" suffix = "astraeus.dmm" name = "Astraeus Ruin" description = "This vessel served a lengthy period in the Nanotrasen fleet, before an accident in the munitions bay caused to to be destroyed while in active combat." + ruin_tags = list(RUIN_TAG_MINOR_COMBAT, RUIN_TAG_MEDIUM_LOOT, RUIN_TAG_INHOSPITABLE) /datum/map_template/ruin/space/singularitylab id = "singularitylab" suffix = "singularity_lab.dmm" name = "Singularity Lab" description = "An overgrown facility, home to an unstarted singularity and many plants" + ruin_tags = list(RUIN_TAG_BOSS_COMBAT, RUIN_TAG_MAJOR_LOOT, RUIN_TAG_SHELTER) /datum/map_template/ruin/space/spacemall id = "spacemall" suffix = "spacemall.dmm" name = "Space Mall" description = "An old shopping centre, owned by a former member of Nanotrasen's board of directors.." + ruin_tags = list(RUIN_TAG_MEDIUM_COMBAT, RUIN_TAG_MAJOR_LOOT, RUIN_TAG_SHELTER) diff --git a/code/datums/ruins/wasteplanet.dm b/code/datums/ruins/wasteplanet.dm index 3d51594a40c2..40c6d19cfd5e 100644 --- a/code/datums/ruins/wasteplanet.dm +++ b/code/datums/ruins/wasteplanet.dm @@ -9,21 +9,25 @@ id = "guntested" description = "A abandoned Nanotrasen weapons facility, presumably the place where the X-01 was manufactured." suffix = "wasteplanet_lab.dmm" + ruin_tags = list(RUIN_TAG_NO_COMBAT, RUIN_TAG_MEDIUM_LOOT, RUIN_TAG_SHELTER, RUIN_TAG_HAZARDOUS, RUIN_TAG_LIVEABLE) /datum/map_template/ruin/wasteplanet/pandora id = "pandora_arena" suffix = "wasteplanet_pandora.dmm" name = "Pandora Arena" description = "Some... thing has settled here." + ruin_tags = list(RUIN_TAG_BOSS_COMBAT, RUIN_TAG_MEDIUM_LOOT, RUIN_TAG_MEGAFAUNA, RUIN_TAG_LIVEABLE) /datum/map_template/ruin/wasteplanet/radiation name = "Honorable deeds storage" id = "wasteplanet_radiation" description = "A dumping ground for nuclear waste." suffix = "wasteplanet_unhonorable.dmm" + ruin_tags = list(RUIN_TAG_MINOR_COMBAT, RUIN_TAG_MEDIUM_LOOT, RUIN_TAG_SHELTER, RUIN_TAG_HAZARDOUS) /datum/map_template/ruin/wasteplanet/abandoned_mechbay name = "Abandoned Exosuit Bay" description = "A military base formerly used for staging 4 exosuits and crew. God knows what's in it now." id = "abandoned_mechbay" suffix = "wasteplanet_abandoned_mechbay.dmm" + ruin_tags = list(RUIN_TAG_BOSS_COMBAT, RUIN_TAG_MEDIUM_LOOT, RUIN_TAG_SHELTER, RUIN_TAG_HAZARDOUS) diff --git a/code/datums/ruins/whitesands.dm b/code/datums/ruins/whitesands.dm index b3e0cb13adcc..4731adeddf41 100644 --- a/code/datums/ruins/whitesands.dm +++ b/code/datums/ruins/whitesands.dm @@ -9,12 +9,14 @@ id = "medipenplant" description = "A once prosperous autoinjector manufacturing plant." suffix = "whitesands_surface_medipen_plant.dmm" + ruin_tags = list(RUIN_TAG_NO_COMBAT, RUIN_TAG_MAJOR_LOOT, RUIN_TAG_SHELTER) /datum/map_template/ruin/whitesands/pubbyslopcrash name = "Pubby Slop Crash" id = "ws-pubbyslopcrash" description = "A failed attempt of the Nanotrasen nutrional replacement program" suffix = "whitesands_surface_pubbyslopcrash.dmm" + ruin_tags = list(RUIN_TAG_MINOR_COMBAT, RUIN_TAG_MEDIUM_LOOT, RUIN_TAG_SHELTER) //////////OUTSIDE SETTLEMENTS/RUINS////////// /datum/map_template/ruin/whitesands/survivors/saloon @@ -22,6 +24,7 @@ id = "ws-saloon" description = "A western style saloon, most popular spot for the hermits to gather planetside" suffix = "whitesands_surface_camp_saloon.dmm" + ruin_tags = list(RUIN_TAG_MEDIUM_COMBAT, RUIN_TAG_MEDIUM_LOOT, RUIN_TAG_INHOSPITABLE) /datum/map_template/ruin/whitesands/survivors/combination //combined extra large ruin of several other whitesands survivor ruins name = "Wasteland Survivor Village" @@ -29,4 +32,5 @@ description = "A small encampment of nomadic survivors of the First Colony, and their descendants. By all accounts, feral and without allegance to anyone but themselves." suffix = "whitesands_surface_camp_combination.dmm" allow_duplicates = FALSE + ruin_tags = list(RUIN_TAG_MEDIUM_COMBAT, RUIN_TAG_MEDIUM_LOOT, RUIN_TAG_INHOSPITABLE, RUIN_TAG_HAZARDOUS) diff --git a/code/game/machinery/porta_turret/portable_turret.dm b/code/game/machinery/porta_turret/portable_turret.dm index 3f5620c35f06..884c103d0e0f 100644 --- a/code/game/machinery/porta_turret/portable_turret.dm +++ b/code/game/machinery/porta_turret/portable_turret.dm @@ -832,8 +832,8 @@ DEFINE_BITFIELD(turret_flags, list( stun_projectile_sound = 'sound/weapons/gun/smg/shot.ogg' desc = "A ballistic machine gun auto-turret." -/obj/machinery/porta_turret/ship/solgov - faction = list("playerSolgov", "turret") + +/* Syndicate Turrets */ /obj/machinery/porta_turret/ship/syndicate faction = list(FACTION_PLAYER_SYNDICATE, "turret") @@ -856,6 +856,39 @@ DEFINE_BITFIELD(turret_flags, list( lethal_projectile = /obj/projectile/beam/laser/heavylaser lethal_projectile_sound = 'sound/weapons/lasercannonfire.ogg' +/* Solcon Turrets */ + +/obj/machinery/porta_turret/ship/solgov + faction = list(FACTION_PLAYER_SOLCON, "turret") + +/* Pan Gezena Federation Turrets */ + +/obj/machinery/porta_turret/ship/pgf + name = "Etherbor Defensive Mount" + desc = "A less portable Etherbor offering, the EDM is a self-directed linkage of energy weapons, designed to keep intruders away from Gezenan vessels." + faction = list(FACTION_PLAYER_GEZENA, "Turret") + stun_projectile = /obj/projectile/beam/hitscan/disabler + stun_projectile_sound = 'sound/weapons/gun/energy/kalixpistol.ogg' + lethal_projectile = /obj/projectile/beam/hitscan/kalix/pgf/assault + lethal_projectile_sound = 'sound/weapons/gun/energy/kalixsmg.ogg' + icon_state = "standard_lethal" + base_icon_state = "standard" + +/obj/machinery/porta_turret/ship/pgf/light + name = "Etherbor Deterrent System" + desc = "A light turret manufactured by Etherbor. It offers a lightweight assembly of energy weapons to accost nearby foes." + lethal_projectile = /obj/projectile/beam/hitscan/kalix/pgf + lethal_projectile_sound = 'sound/weapons/gun/energy/kalixsmg.ogg' + +/obj/machinery/porta_turret/ship/pgf/heavy + name = "Etherbor Point-Defense System" + desc = "A high-powered defensive turret manufactured by Etherbor. The EPDS contains heavy energy weapons linked in tandem." + scan_range = 10 + stun_projectile = /obj/projectile/beam/hitscan/disabler/heavy + stun_projectile_sound = 'sound/weapons/gun/energy/kalixpistol.ogg' + lethal_projectile = /obj/projectile/beam/hitscan/kalix/pgf/sniper //fwoom + lethal_projectile_sound = 'sound/weapons/gun/laser/heavy_laser.ogg' + //////////////////////// //Turret Control Panel// //////////////////////// diff --git a/code/game/objects/items/devices/PDA/cart.dm b/code/game/objects/items/devices/PDA/cart.dm index 65bda2aa1f54..5df5e96dd0ac 100644 --- a/code/game/objects/items/devices/PDA/cart.dm +++ b/code/game/objects/items/devices/PDA/cart.dm @@ -446,7 +446,7 @@ Code: if(!emoji_table) var/datum/asset/spritesheet/sheet = get_asset_datum(/datum/asset/spritesheet/chat) var/list/collate = list("
") - for(var/emoji in sortList(icon_states(icon('icons/emoji.dmi')))) + for(var/emoji in sortList(icon_states(icon(EMOJI_SET)))) var/tag = sheet.icon_tag("emoji-[emoji]") collate += "" collate += "
[emoji][tag]

" diff --git a/code/modules/asset_cache/asset_list_items.dm b/code/modules/asset_cache/asset_list_items.dm index 771cc021906e..2ec8e8dca620 100644 --- a/code/modules/asset_cache/asset_list_items.dm +++ b/code/modules/asset_cache/asset_list_items.dm @@ -155,6 +155,15 @@ ) parents = list("font-awesome.css" = 'html/font-awesome/css/all.min.css') +/datum/asset/simple/namespaced/tgfont + assets = list( + "tgfont.eot" = file("tgui/packages/tgfont/static/tgfont.eot"), + "tgfont.woff2" = file("tgui/packages/tgfont/static/tgfont.woff2"), + ) + parents = list( + "tgfont.css" = file("tgui/packages/tgfont/static/tgfont.css"), + ) + /datum/asset/simple/fonts assets = list( "sga.ttf" = 'html/sga.ttf' @@ -169,8 +178,8 @@ /datum/asset/spritesheet/chat name = "chat" -/datum/asset/spritesheet/chat/register() - InsertAll("emoji", 'icons/emoji.dmi') +/datum/asset/spritesheet/chat/create_spritesheets() + InsertAll("emoji", EMOJI_SET) // pre-loading all lanugage icons also helps to avoid meta InsertAll("language", 'icons/misc/language.dmi') // catch languages which are pulling icons from another file @@ -180,7 +189,6 @@ if (icon != 'icons/misc/language.dmi') var/icon_state = initial(L.icon_state) Insert("language-[icon_state]", icon, icon_state=icon_state) - ..() /datum/asset/simple/lobby assets = list( diff --git a/code/modules/cargo/blackmarket/blackmarket_items/ammo.dm b/code/modules/cargo/blackmarket/blackmarket_items/ammo.dm index a420b3d4cd90..47f7fd884993 100644 --- a/code/modules/cargo/blackmarket/blackmarket_items/ammo.dm +++ b/code/modules/cargo/blackmarket/blackmarket_items/ammo.dm @@ -250,3 +250,24 @@ stock = 2 availability_prob = 0 +/datum/blackmarket_item/ammo/a4570hp + name = ".45-70 Hollow Point Ammo Box" + desc = "Put the hollow in hollow point by blowing a crater in some random sod with this devastating .45-70 cartridge." + item = /obj/item/ammo_box/a4570/hp + + price_min = 600 + price_max = 1000 + stock_min = 3 + stock_max = 5 + availability_prob = 20 + +/datum/blackmarket_item/ammo/a4570explo + name = "Single .45-70 Explosive Round" + desc = "If you need to fuck someone, hard, we got just the thing. Only one round, though, hope you got good aim." + item = /obj/item/ammo_casing/a4570/explosive + + price_min = 400 + price_max = 800 //still an exorbitantly high price for one round that you might not even hit + stock_min = 2 + stock_max = 10 + availability_prob = 10 diff --git a/code/modules/clothing/factions/hardliners.dm b/code/modules/clothing/factions/hardliners.dm index a02275d13e05..43faee3ccb19 100644 --- a/code/modules/clothing/factions/hardliners.dm +++ b/code/modules/clothing/factions/hardliners.dm @@ -44,6 +44,20 @@ icon_state = "hl_hazard" item_state = "whitecloth" +/obj/item/clothing/suit/hooded/wintercoat/security/hardliners + name = "hardliner winter coat" + desc = "A stark-white winter coat used by Marauders of the Hardliner movement, the zipper tab displaying the cracked emblem of the Gorlex Marauders." + icon_state = "coathl" + item_state = "coathl" + icon = 'icons/obj/clothing/faction/hardliners/suits.dmi' + mob_overlay_icon = 'icons/mob/clothing/faction/hardliners/suits.dmi' + hoodtype = /obj/item/clothing/head/hooded/winterhood/security/hardliners + +/obj/item/clothing/head/hooded/winterhood/security/hardliners + icon_state = "hood_hl" + icon = 'icons/obj/clothing/faction/hardliners/head.dmi' + mob_overlay_icon = 'icons/mob/clothing/faction/hardliners/head.dmi' + ////////////////// //Armored suits// ///////////////// @@ -114,6 +128,28 @@ lightweight = 1 jetpack = null +/obj/item/clothing/head/helmet/space/hardsuit/syndi/elite/hl + name = "elite white-red hardsuit helmet" + desc = "An elite version of the infamous white-red Hardliner hardsuit, with improved armor and fireproofing. It is in EVA mode. Property of Gorlex Marauders." + alt_desc = "An elite version of the infamous white-red Hardliner hardsuit, with improved armor and fireproofing. It is in combat mode. Property of Gorlex Marauders." + icon_state = "hardsuit0-hlelite" + hardsuit_type = "hlelite" + icon = 'icons/obj/clothing/faction/hardliners/head.dmi' + mob_overlay_icon = 'icons/mob/clothing/faction/hardliners/head.dmi' + +/obj/item/clothing/suit/space/hardsuit/syndi/elite/hl + name = "elite white-red hardsuit" + desc = "An elite version of the infamous white-red Hardliner hardsuit, with improved armor and fireproofing. It is in travel mode." + alt_desc = "An elite version of the infamous white-red Hardliner hardsuit, with improved armor and fireproofing. It is in combat mode." + icon_state = "hardsuit0-hlelite" + item_state = "hardsuit0-hlelite" + hardsuit_type = "hlelite" + helmettype = /obj/item/clothing/head/helmet/space/hardsuit/syndi/elite/hl + icon = 'icons/obj/clothing/faction/hardliners/suits.dmi' + mob_overlay_icon = 'icons/mob/clothing/faction/hardliners/suits.dmi' + lightweight = 1 + jetpack = null + ///////// //Hats// //////// diff --git a/code/modules/clothing/factions/ngr.dm b/code/modules/clothing/factions/ngr.dm index 7098dd6f1de9..401f82795f68 100644 --- a/code/modules/clothing/factions/ngr.dm +++ b/code/modules/clothing/factions/ngr.dm @@ -66,6 +66,20 @@ item_state = "redcloth" supports_variations = VOX_VARIATION +/obj/item/clothing/suit/hooded/wintercoat/security/ngr + name = "NGR winter coat" + desc = "A sleek beige winter coat used by the Second Battlegroup of the New Gorlex Republic, the zipper tab proudly displays the official emblem of the NGR." + icon_state = "coatngr" + item_state = "coatngr" + icon = 'icons/obj/clothing/faction/ngr/suits.dmi' + mob_overlay_icon = 'icons/mob/clothing/faction/ngr/suits.dmi' + hoodtype = /obj/item/clothing/head/hooded/winterhood/security/ngr + +/obj/item/clothing/head/hooded/winterhood/security/ngr + icon_state = "hood_ngr" + icon = 'icons/obj/clothing/faction/ngr/head.dmi' + mob_overlay_icon = 'icons/mob/clothing/faction/ngr/head.dmi' + ////////////////// //Armored suits// ///////////////// diff --git a/code/modules/clothing/outfits/factions/solgov.dm b/code/modules/clothing/outfits/factions/solgov.dm index 2de9391a9c1e..c4aed59c7e21 100644 --- a/code/modules/clothing/outfits/factions/solgov.dm +++ b/code/modules/clothing/outfits/factions/solgov.dm @@ -7,7 +7,7 @@ . = ..() if(visualsOnly) return - H.faction |= list(FACTION_PLAYER_SOLGOV) + H.faction |= list(FACTION_PLAYER_SOLCON) /datum/outfit/job/solgov/assistant name = "SolGov - Scribe" diff --git a/code/modules/emoji/emoji_parse.dm b/code/modules/emoji/emoji_parse.dm index 185341d294c2..16e1eeef6c95 100644 --- a/code/modules/emoji/emoji_parse.dm +++ b/code/modules/emoji/emoji_parse.dm @@ -2,7 +2,7 @@ . = text if(!CONFIG_GET(flag/emojis)) return - var/static/list/emojis = icon_states(icon('icons/emoji.dmi')) + var/static/list/emojis = icon_states(icon(EMOJI_SET)) var/parsed = "" var/pos = 1 var/search = 0 @@ -34,7 +34,7 @@ . = text if(!CONFIG_GET(flag/emojis)) return - var/static/list/emojis = icon_states(icon('icons/emoji.dmi')) + var/static/list/emojis = icon_states(icon(EMOJI_SET)) var/final = "" //only tags are added to this var/pos = 1 var/search = 0 diff --git a/code/modules/projectiles/ammunition/energy/laser.dm b/code/modules/projectiles/ammunition/energy/laser.dm index d0334e8d8acc..674d1e4514d8 100644 --- a/code/modules/projectiles/ammunition/energy/laser.dm +++ b/code/modules/projectiles/ammunition/energy/laser.dm @@ -169,6 +169,11 @@ impact_light_range = 2.5 impact_light_color_override = COLOR_CYAN +/obj/projectile/beam/hitscan/disabler/heavy + damage = 30 + armour_penetration = -10 + + /obj/item/ammo_casing/energy/laser/minigun select_name = "kill" projectile_type = /obj/projectile/beam/weak/penetrator diff --git a/code/modules/projectiles/boxes_magazines/ammo_boxes.dm b/code/modules/projectiles/boxes_magazines/ammo_boxes.dm index 3ed25c0cac2a..b590f0831df1 100644 --- a/code/modules/projectiles/boxes_magazines/ammo_boxes.dm +++ b/code/modules/projectiles/boxes_magazines/ammo_boxes.dm @@ -55,24 +55,24 @@ desc = "A box of top grade .45-70 ammo. These rounds do significant damage with average performance against armor." icon_state = "4570" ammo_type = /obj/item/ammo_casing/a4570 - max_ammo = 12 + max_ammo = 18 /obj/item/ammo_box/a4570/match name = "ammo box (.45-70 match)" - desc = "A 12-round ammo box for .45-70 revolvers. These match rounds travel faster, perform better against armor, and can ricochet off targets." + desc = "A 18-round ammo box for .45-70 revolvers. These match rounds travel faster, perform better against armor, and can ricochet off targets." icon_state = "4570-match" ammo_type = /obj/item/ammo_casing/a4570/match /obj/item/ammo_box/a4570/hp name = "ammo box (.45-70 hollow point)" - desc = "A 12-round ammo box for .45-70 revolvers. These hollow point rounds do legendary damage against soft targets, but are nearly ineffective against armored ones." + desc = "A 18-round ammo box for .45-70 revolvers. These hollow point rounds do legendary damage against soft targets, but are nearly ineffective against armored ones." icon_state = "4570-hp" ammo_type = /obj/item/ammo_casing/a4570/hp /obj/item/ammo_box/a4570/explosive name = "ammo box (.45-70 explosive)" - desc = "A 12-round ammo box for .45-70 revolvers. These explosive rounds contain a small explosive charge that detonates on impact, creating large wounds and potentially removing limbs." + desc = "A 18-round ammo box for .45-70 revolvers. These explosive rounds contain a small explosive charge that detonates on impact, creating large wounds and potentially removing limbs." icon_state = "4570-explosive" ammo_type = /obj/item/ammo_casing/a4570/explosive diff --git a/code/modules/tgui_panel/tgui_panel.dm b/code/modules/tgui_panel/tgui_panel.dm index 44fbffd917ce..1a6fcb37e429 100644 --- a/code/modules/tgui_panel/tgui_panel.dm +++ b/code/modules/tgui_panel/tgui_panel.dm @@ -49,6 +49,7 @@ get_asset_datum(/datum/asset/simple/tgui_panel), )) window.send_asset(get_asset_datum(/datum/asset/simple/namespaced/fontawesome)) + window.send_asset(get_asset_datum(/datum/asset/simple/namespaced/tgfont)) window.send_asset(get_asset_datum(/datum/asset/spritesheet/chat)) request_telemetry() addtimer(CALLBACK(src, PROC_REF(on_initialize_timed_out)), 5 SECONDS) diff --git a/code/modules/vending/cigarette.dm b/code/modules/vending/cigarette.dm index 1c377c309464..65437f3bb4ec 100644 --- a/code/modules/vending/cigarette.dm +++ b/code/modules/vending/cigarette.dm @@ -41,7 +41,7 @@ /obj/item/lighter/greyscale = 4, /obj/item/storage/fancy/rollingpapers = 5) -/obj/machinery/vending/cigarette/beach //Used in the lavaland_biodome_beach.dmm ruin +/obj/machinery/vending/cigarette/beach //Used in the old lavaland biodome ruin name = "\improper ShadyCigs Ultra" desc = "Now with extra premium products!" product_ads = "Probably not bad for you!;Dope will get you through times of no money better than money will get you through times of no dope!;It's good for you!" diff --git a/html/changelogs/AutoChangeLog-pr-3389.yml b/html/changelogs/AutoChangeLog-pr-3389.yml deleted file mode 100644 index 88825da0aedb..000000000000 --- a/html/changelogs/AutoChangeLog-pr-3389.yml +++ /dev/null @@ -1,5 +0,0 @@ -author: Sadhorizon -changes: - - {rscadd: Added "ballistic goggles" - new indie security clothing item.} - - {imageadd: Added Kepori bulletproof helmet sprites.} -delete-after: true diff --git a/html/changelogs/AutoChangeLog-pr-3400.yml b/html/changelogs/AutoChangeLog-pr-3400.yml new file mode 100644 index 000000000000..3149437636dc --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-3400.yml @@ -0,0 +1,4 @@ +author: PositiveEntropy +changes: + - {rscadd: Gorlex Splinters now have winter coats!} +delete-after: true diff --git a/html/changelogs/archive/2024-09.yml b/html/changelogs/archive/2024-09.yml index 1e76f75faf34..c3b2ce482d47 100644 --- a/html/changelogs/archive/2024-09.yml +++ b/html/changelogs/archive/2024-09.yml @@ -110,3 +110,17 @@ Rye-Rice, Gristlebee: - rscadd: Comfortable Temperature ranges - imageadd: Temperature HUD alerts +2024-09-21: + Bjarl: + - rscadd: The PGF now has it's own turret offerings. They come in light, normal, + and heavy flavor. + FalloutFalcon: + - code_imp: added ruin tags to ruin map templates to be used soon for stuff. + Gristlebee: + - rscadd: Inteq wintercoats and hoodies in the Talos, Colossus, Vaquero and Valor + uniform lockers + PositiveEntropy: + - rscadd: A new and refurbished Elite Syndicate suit has just been unveiled! + Sadhorizon: + - rscadd: Added "ballistic goggles" - new indie security clothing item. + - imageadd: Added Kepori bulletproof helmet sprites. diff --git a/icons/mob/clothing/faction/hardliners/head.dmi b/icons/mob/clothing/faction/hardliners/head.dmi index 839826a7c426..c9c1d5a73f0a 100644 Binary files a/icons/mob/clothing/faction/hardliners/head.dmi and b/icons/mob/clothing/faction/hardliners/head.dmi differ diff --git a/icons/mob/clothing/faction/hardliners/suits.dmi b/icons/mob/clothing/faction/hardliners/suits.dmi index 05f41eb00d25..669cb1534503 100644 Binary files a/icons/mob/clothing/faction/hardliners/suits.dmi and b/icons/mob/clothing/faction/hardliners/suits.dmi differ diff --git a/icons/mob/clothing/faction/ngr/head.dmi b/icons/mob/clothing/faction/ngr/head.dmi index c370f07aa0f3..eb0a316211ee 100644 Binary files a/icons/mob/clothing/faction/ngr/head.dmi and b/icons/mob/clothing/faction/ngr/head.dmi differ diff --git a/icons/mob/clothing/faction/ngr/suits.dmi b/icons/mob/clothing/faction/ngr/suits.dmi index ac4fceb11cae..05561408e367 100644 Binary files a/icons/mob/clothing/faction/ngr/suits.dmi and b/icons/mob/clothing/faction/ngr/suits.dmi differ diff --git a/icons/obj/clothing/faction/hardliners/head.dmi b/icons/obj/clothing/faction/hardliners/head.dmi index 5101eeedce9c..75f561897f17 100644 Binary files a/icons/obj/clothing/faction/hardliners/head.dmi and b/icons/obj/clothing/faction/hardliners/head.dmi differ diff --git a/icons/obj/clothing/faction/hardliners/suits.dmi b/icons/obj/clothing/faction/hardliners/suits.dmi index 39da1c952739..0c1cded6bc2a 100644 Binary files a/icons/obj/clothing/faction/hardliners/suits.dmi and b/icons/obj/clothing/faction/hardliners/suits.dmi differ diff --git a/icons/obj/clothing/faction/ngr/head.dmi b/icons/obj/clothing/faction/ngr/head.dmi index d2258c5565dd..92e8a9f45d90 100644 Binary files a/icons/obj/clothing/faction/ngr/head.dmi and b/icons/obj/clothing/faction/ngr/head.dmi differ diff --git a/icons/obj/clothing/faction/ngr/suits.dmi b/icons/obj/clothing/faction/ngr/suits.dmi index 49344c553e03..9c05f154c70c 100644 Binary files a/icons/obj/clothing/faction/ngr/suits.dmi and b/icons/obj/clothing/faction/ngr/suits.dmi differ