diff --git a/aurorastation.dme b/aurorastation.dme index 8297dde86bb..2a7647edd94 100644 --- a/aurorastation.dme +++ b/aurorastation.dme @@ -1348,6 +1348,7 @@ #include "code\game\objects\structures\tranqcabinet.dm" #include "code\game\objects\structures\trash_pile.dm" #include "code\game\objects\structures\under_wardrobe.dm" +#include "code\game\objects\structures\undetonated_nuke.dm" #include "code\game\objects\structures\urban.dm" #include "code\game\objects\structures\warp_drive.dm" #include "code\game\objects\structures\watercloset.dm" diff --git a/code/game/objects/items/weapons/material/misc.dm b/code/game/objects/items/weapons/material/misc.dm index 2fc39c6bb69..4fc7cb7e4fe 100644 --- a/code/game/objects/items/weapons/material/misc.dm +++ b/code/game/objects/items/weapons/material/misc.dm @@ -179,3 +179,18 @@ throw_speed = 2 throw_range = 3 w_class = ITEMSIZE_SMALL + +/obj/item/material/scythe/sickle/warsickle + name = "war sickle" + desc = "A short and wickedly curved blade, this sickle was often used as a melee weapon by ancient Unathi civilizations." + icon = 'icons/obj/unathi_ruins.dmi' + icon_state = "warsickle" + item_state = "warsickle" + contained_sprite = TRUE + slot_flags = SLOT_BELT + force_divisor = 0.7 // 42 when wielded with hardnes 60 (steel) + thrown_force_divisor = 0.5 // 10 when thrown with weight 20 (steel) + applies_material_colour = FALSE + +/obj/item/material/scythe/sickle/warsickle/bronze/Initialize(newloc, material_key) + . = ..(newloc, MATERIAL_BRONZE) diff --git a/code/game/objects/items/weapons/material/twohanded.dm b/code/game/objects/items/weapons/material/twohanded.dm index eb3688febe6..3fd8fca8362 100644 --- a/code/game/objects/items/weapons/material/twohanded.dm +++ b/code/game/objects/items/weapons/material/twohanded.dm @@ -670,3 +670,27 @@ reach = 2 attack_verb = list("attacked", "poked", "jabbed", "torn", "gored") armor_penetration = wielded_ap + +/obj/item/material/twohanded/pike/halberd/warscythe + name = "war scythe" + desc = "An ancient Unathi weapon, this heavy polearm was frequently wielded by cavalry forces of pre-Hegemony kingdoms." + icon = 'icons/obj/unathi_ruins.dmi' + icon_state = "warspike0" + base_icon = "warspike" + contained_sprite = TRUE + applies_material_colour = FALSE + +/obj/item/material/twohanded/pike/halberd/warscythe/bronze/Initialize(newloc, material_key) + . = ..(newloc, MATERIAL_BRONZE) + +/obj/item/material/twohanded/pike/mador_trident + name = "ancient trident" + desc = "An ancient weapon, this three-pointed polearm was often wielded by the ancient Sinta'Mador civilization of Moghes." + icon = 'icons/obj/unathi_ruins.dmi' + icon_state = "mador_trident0" + base_icon = "mador_trident" + contained_sprite = TRUE + applies_material_colour = FALSE + +/obj/item/material/twohanded/pike/mador_trident/bronze/Initialize(newloc, material_key) + . = ..(newloc, MATERIAL_BRONZE) diff --git a/code/game/objects/structures/crates_lockers/closets/gimmick.dm b/code/game/objects/structures/crates_lockers/closets/gimmick.dm index c0701141d17..62655c68b3e 100644 --- a/code/game/objects/structures/crates_lockers/closets/gimmick.dm +++ b/code/game/objects/structures/crates_lockers/closets/gimmick.dm @@ -134,3 +134,85 @@ canbemoved = FALSE open_sound = 'sound/machines/wooden_closet_open.ogg' close_sound = 'sound/machines/wooden_closet_close.ogg' + +/obj/structure/closet/sarcophagus + name = "sandstone sarcophagus" + desc = "An ancient sarcophagus made of sandstone." + icon = 'icons/obj/unathi_ruins.dmi' + icon_state = "wc_sarcophagus" + dense_when_open = TRUE + anchored = TRUE + canbemoved = FALSE + open_sound = 'sound/effects/stonedoor_openclose.ogg' + close_sound = 'sound/effects/stonedoor_openclose.ogg' + ///Icon state for the open sarcophagus + var/open_state = "wc_sarcophagus_open" + ///Icon state for the closed sarcophagus + var/closed_state = "wc_sarcophagus" + ///Does this sarcophagus have a booby trap? + var/trapped = FALSE + ///Has this sarcophagus's trap been triggered? + var/triggered = FALSE + +/obj/structure/closet/sarcophagus/update_icon() + if(!opened) + layer = OBJ_LAYER + icon_state = closed_state + + else + layer = BELOW_OBJ_LAYER + icon_state = open_state + +/obj/structure/closet/sarcophagus/animate_door(var/closing = FALSE) + return + +/obj/structure/closet/sarcophagus/attack_hand(mob/user) + ..() + if(ishuman(user)) + var/mob/living/carbon/human/H = user + if(trapped && !triggered) + do_trap_effect(H) + +///Sets off the sarcophagus's trap if not already triggered. +/obj/structure/closet/sarcophagus/proc/do_trap_effect(var/mob/living/carbon/human/H) + if(triggered) + return + if(prob(33)) + var/turf/T = get_turf(src) + var/obj/item/arrow/arrow = new(T) + playsound(usr.loc, 'sound/weapons/crossbow.ogg', 75, 1) + arrow.throw_at(H, 10, 9, src) //same values as a full draw crossbow shot would have + + else if(prob(33)) + visible_message(SPAN_DANGER("Flames engulf \the [H]!")) + H.apply_damage(30, DAMAGE_BURN) + H.IgniteMob(5) + + else + var/datum/reagents/R = new/datum/reagents(20) + R.my_atom = src + R.add_reagent(/singleton/reagent/toxin,20) + var/datum/effect/effect/system/smoke_spread/chem/S = new /datum/effect/effect/system/smoke_spread/chem(/singleton/reagent/toxin) // have to explicitly say the type to avoid issues with warnings + S.show_log = 0 + S.set_up(R, 10, 0, src, 40) + S.start() + qdel(R) + + triggered = TRUE + +/obj/structure/closet/sarcophagus/random/Initialize() //low chance of being trapped + . = ..() + if(prob(10)) + trapped = TRUE + +/obj/structure/closet/sarcophagus/mador + name = "granite sarcophagus" + desc = "An ancient sarcophagus made of granite." + icon_state = "mador_sarcophagus" + closed_state = "mador_sarcophagus" + open_state = "mador_sarcophagus_open" + +/obj/structure/closet/sarcophagus/mador/random/Initialize() + . = ..() + if(prob(10)) + trapped = TRUE diff --git a/code/game/objects/structures/flags_banners.dm b/code/game/objects/structures/flags_banners.dm index 82224134852..dcd656317b6 100644 --- a/code/game/objects/structures/flags_banners.dm +++ b/code/game/objects/structures/flags_banners.dm @@ -3274,3 +3274,214 @@ /obj/structure/sign/flag/hiskyn/unmovable unmovable = TRUE + +//Unathi Ruin Flags/Tapestries +/obj/item/flag/unathi_tapestry + name = "folded tapestry" + desc = "An ancient piece of woven cloth, carefully folded." + icon = 'icons/obj/unathi_ruins.dmi' + icon_state = "tapestry_folded" + flag_structure = /obj/structure/sign/flag/unathi_tapestry + +/obj/structure/sign/flag/unathi_tapestry + name = "sun tapestry" + desc = "A worn and faded tapestry depicting a bright sun shining down on the surface of Moghes." + icon = 'icons/obj/unathi_ruins.dmi' + icon_state = "sun" + flag_path = "sun" + flag_item = /obj/item/flag/unathi_tapestry + +/obj/item/flag/unathi_tapestry/moon + flag_structure = /obj/structure/sign/flag/unathi_tapestry/moon + +/obj/structure/sign/flag/unathi_tapestry/moon + name = "moon tapestry" + desc = "A worn and faded tapestry depicting a crescent moon." + icon_state = "moon" + flag_path = "moon" + flag_item = /obj/item/flag/unathi_tapestry/moon + +/obj/item/flag/unathi_tapestry/crown + flag_structure = /obj/structure/sign/flag/unathi_tapestry/crown + +/obj/structure/sign/flag/unathi_tapestry/crown + name = "crown tapestry" + desc = "A worn and faded tapestry depicting an Unathi figure, with a crown being lowered onto their head." + icon_state = "crown" + flag_path = "crown" + flag_item = /obj/item/flag/unathi_tapestry/crown + +/obj/item/flag/unathi_tapestry/warrior + flag_structure = /obj/structure/sign/flag/unathi_tapestry/warrior + +/obj/structure/sign/flag/unathi_tapestry/warrior + name = "warrior tapestry" + desc = "A worn and faded tapestry depicting an Unathi figure in full battle armor." + icon_state = "warrior" + flag_path = "warrior" + flag_item = /obj/item/flag/unathi_tapestry/warrior + +/obj/item/flag/unathi_tapestry/brothers + flag_size = TRUE + flag_structure = /obj/structure/sign/flag/unathi_tapestry/brothers + +/obj/structure/sign/flag/unathi_tapestry/brothers + name = "brothers tapestry" + desc = "A large and faded tapestry depicting two Unathi wielding war scythes, standing back to back." + icon_state = "brothers_l" + flag_path = "brothers" + flag_size = TRUE + flag_item = /obj/item/flag/unathi_tapestry/brothers + +/obj/structure/sign/flag/unathi_tapestry/brothers/north/Initialize(mapload) + . = ..(mapload, NORTH) + +/obj/structure/sign/flag/unathi_tapestry/brothers/south/Initialize(mapload) + . = ..(mapload, SOUTH) + +/obj/structure/sign/flag/unathi_tapestry/brothers/east/Initialize(mapload) + . = ..(mapload, EAST) + +/obj/structure/sign/flag/unathi_tapestry/brothers/west/Initialize(mapload) + . = ..(mapload, WEST) + +/obj/item/flag/unathi_tapestry/city + flag_size = TRUE + flag_structure = /obj/structure/sign/flag/unathi_tapestry/city + +/obj/structure/sign/flag/unathi_tapestry/city + name = "city tapestry" + desc = "A large and faded tapestry depicting an ancient city, towering resplendent over the land." + icon_state = "city_l" + flag_path = "city" + flag_size = TRUE + flag_item = /obj/item/flag/unathi_tapestry/city + +/obj/structure/sign/flag/unathi_tapestry/city/north/Initialize(mapload) + . = ..(mapload, NORTH) + +/obj/structure/sign/flag/unathi_tapestry/city/south/Initialize(mapload) + . = ..(mapload, SOUTH) + +/obj/structure/sign/flag/unathi_tapestry/city/east/Initialize(mapload) + . = ..(mapload, EAST) + +/obj/structure/sign/flag/unathi_tapestry/city/west/Initialize(mapload) + . = ..(mapload, WEST) + +/obj/item/flag/unathi_tapestry/wall + flag_size = TRUE + flag_structure = /obj/structure/sign/flag/unathi_tapestry/wall + +/obj/structure/sign/flag/unathi_tapestry/wall + name = "wall tapestry" + desc = "A large and faded tapestry depicting a mighty wall, staffed by hundreds of warriors. Storm clouds gather above it." + icon_state = "wall_l" + flag_path = "wall" + flag_size = TRUE + flag_item = /obj/item/flag/unathi_tapestry/wall + +/obj/structure/sign/flag/unathi_tapestry/wall/north/Initialize(mapload) + . = ..(mapload, NORTH) + +/obj/structure/sign/flag/unathi_tapestry/wall/south/Initialize(mapload) + . = ..(mapload, SOUTH) + +/obj/structure/sign/flag/unathi_tapestry/wall/east/Initialize(mapload) + . = ..(mapload, EAST) + +/obj/structure/sign/flag/unathi_tapestry/wall/west/Initialize(mapload) + . = ..(mapload, WEST) + +/obj/item/flag/unathi_tapestry/unathi + flag_size = TRUE + flag_structure = /obj/structure/sign/flag/unathi_tapestry/unathi + +/obj/structure/sign/flag/unathi_tapestry/unathi + name = "unathi tapestry" + desc = "A large and faded tapestry depicting a single Unathi figure - regal, resplendent, and utterly alone.." + icon_state = "unathi_l" + flag_path = "unathi" + flag_size = TRUE + flag_item = /obj/item/flag/unathi_tapestry/unathi + +/obj/structure/sign/flag/unathi_tapestry/unathi/north/Initialize(mapload) + . = ..(mapload, NORTH) + +/obj/structure/sign/flag/unathi_tapestry/unathi/south/Initialize(mapload) + . = ..(mapload, SOUTH) + +/obj/structure/sign/flag/unathi_tapestry/unathi/east/Initialize(mapload) + . = ..(mapload, EAST) + +/obj/structure/sign/flag/unathi_tapestry/unathi/west/Initialize(mapload) + . = ..(mapload, WEST) + +/obj/item/flag/unathi_tapestry/mador + icon_state = "mador_tapestry_folded" + flag_structure = /obj/structure/sign/flag/unathi_tapestry/mador_1 + +/obj/structure/sign/flag/unathi_tapestry/mador_1 + name = "\improper Sinta'Mador tapestry" + desc = "A worn and faded tapestry bearing script in the lost language of the Sinta'Mador." + icon_state = "mador3" + flag_path = "mador3" + flag_item = /obj/item/flag/unathi_tapestry/mador + +/obj/item/flag/unathi_tapestry/mador/mador_2 + flag_structure = /obj/structure/sign/flag/unathi_tapestry/mador_2 + +/obj/structure/sign/flag/unathi_tapestry/mador_2 + name = "\improper Sinta'Mador tapestry" + desc = "A worn and faded tapestry bearing script in the lost language of the Sinta'Mador." + icon_state = "mador4" + flag_path = "mador4" + flag_item = /obj/item/flag/unathi_tapestry/mador/mador_2 + +/obj/item/flag/unathi_tapestry/mador_3 + flag_structure = /obj/structure/sign/flag/unathi_tapestry/mador_3 + flag_size = TRUE + +/obj/structure/sign/flag/unathi_tapestry/mador_3 + name = "large Sinta'Mador tapestry" + desc = "A large tapestry bearing script in the lost language of the Sinta'Mador" + icon_state = "mador1_l" + flag_path = "mador1" + flag_size = TRUE + flag_item = /obj/item/flag/unathi_tapestry/mador_3 + +/obj/structure/sign/flag/unathi_tapestry/mador_3/north/Initialize(mapload) + . = ..(mapload, NORTH) + +/obj/structure/sign/flag/unathi_tapestry/mador_3/south/Initialize(mapload) + . = ..(mapload, SOUTH) + +/obj/structure/sign/flag/unathi_tapestry/mador_3/east/Initialize(mapload) + . = ..(mapload, EAST) + +/obj/structure/sign/flag/unathi_tapestry/mador_3/west/Initialize(mapload) + . = ..(mapload, WEST) + +/obj/item/flag/unathi_tapestry/mador_4 + flag_structure = /obj/structure/sign/flag/unathi_tapestry/mador_4 + flag_size = TRUE + +/obj/structure/sign/flag/unathi_tapestry/mador_4 + name = "large Sinta'Mador tapestry" + desc = "A large tapestry bearing script in the lost language of the Sinta'Mador" + icon_state = "mador2_l" + flag_path = "mador2" + flag_size = TRUE + flag_item = /obj/item/flag/unathi_tapestry/mador_4 + +/obj/structure/sign/flag/unathi_tapestry/mador_4/north/Initialize(mapload) + . = ..(mapload, NORTH) + +/obj/structure/sign/flag/unathi_tapestry/mador_4/south/Initialize(mapload) + . = ..(mapload, SOUTH) + +/obj/structure/sign/flag/unathi_tapestry/mador_4/east/Initialize(mapload) + . = ..(mapload, EAST) + +/obj/structure/sign/flag/unathi_tapestry/mador_4/west/Initialize(mapload) + . = ..(mapload, WEST) diff --git a/code/game/objects/structures/statue.dm b/code/game/objects/structures/statue.dm index 18324e5199b..e3fe38d2dee 100644 --- a/code/game/objects/structures/statue.dm +++ b/code/game/objects/structures/statue.dm @@ -6,3 +6,60 @@ density = TRUE anchored = TRUE layer = ABOVE_HUMAN_LAYER + +//Unathi statues +/obj/structure/unathi_pillar + name = "pillar" + desc = "An ancient and weathered sandstone pillar. It is covered in what looks like Sinta'Azaziba writing." + icon = 'icons/obj/unathi_ruins.dmi' + icon_state = "pillar" + anchored = TRUE + density = TRUE + can_be_unanchored = FALSE + +/obj/structure/unathi_pillar/mador + desc = "An ancient and weathered granite pillar. It is inscribed with symbols of an unknown language." + icon_state = "mador_pillar" + +/obj/structure/unathi_statue + name = "ancient statue" + desc = "An ancient and crumbling sandstone statue of an Unathi." + icon = 'icons/obj/unathi_ruins.dmi' + icon_state = "statue" + anchored = TRUE + density = TRUE + +/obj/structure/unathi_statue/warrior + name = "warrior statue" + desc = "An ancient and crumbling sandstone statue of an Unathi. This one is armored, and wields a war scythe." + icon_state = "warriorstatue_left" + +/obj/structure/unathi_statue/warrior/right + icon_state = "warriorstatue_right" + +/obj/structure/unathi_statue/crown + name = "crowned statue" + desc = "An ancient and crumbling sandstone statue of an Unathi. This one is robed, and wears a crown upon its head." + icon_state = "crownstatue" + +/obj/structure/unathi_statue/robe + name = "robed statue" + desc = "An ancient and crumbling sandstone statue of an Unathi. This one is clad in a humble robe and hood, and bears no weapons." + icon_state = "robestatue" + +/obj/structure/unathi_statue/mador + desc = "An ancient and crumbling granite statue of an Unathi, worn away by time." + icon_state = "mador_statue" + +/obj/structure/unathi_statue/mador/armored + name = "armored statue" + desc = "An ancient and crumbling granite statue of an Unathi clad in strange and bulky armor." + icon_state = "mador_statue_armored" + +/obj/structure/unathi_statue/mador/warrior + name = "warrior statue" + desc = "An ancient and crumbling granite statue of an Unathi. This one is armored, and wields a trident." + icon_state = "mador_statue_warrior_left" + +/obj/structure/unathi_statue/mador/warrior/right + icon_state = "mador_statue_warrior_right" diff --git a/code/game/objects/structures/undetonated_nuke.dm b/code/game/objects/structures/undetonated_nuke.dm new file mode 100644 index 00000000000..cdef37a9d75 --- /dev/null +++ b/code/game/objects/structures/undetonated_nuke.dm @@ -0,0 +1,62 @@ +/obj/structure/undetonated_nuke + name = "undetonated nuclear bomb" + desc = "This rusted bomb looks like it's been here for decades. Flaking paint on the side depicts the battle standard of the Traditionalist Coalition. Something is written in Sinta'Azaziba on the side." + icon = 'icons/obj/unathi_ruins.dmi' + icon_state = "bomb" + density = TRUE + anchored = FALSE + ///Whether this nuke will explode if caught in an explosion. + var/can_explode = TRUE + +/obj/structure/undetonated_nuke/get_examine_text(mob/user, distance) + . = ..() + if(GLOB.all_languages[LANGUAGE_AZAZIBA] in user.languages) + . += SPAN_NOTICE("The inscription reads \"WARNING: FISSILE MATERIAL. HANDLE WITH CARE.\" Underneath are a few words, scratched into the metal. They read \"IF FOUND, RETURN TO SKALAMAR AT HIGH VELOCITY\"") + +/obj/structure/undetonated_nuke/ex_act(severity) + if(!can_explode) + return + switch(severity) + if(1.0) + explode() + return + if(2.0) + if(prob(50)) + explode() + return + if(3.0) + return + +///Sets off a large conventional explosion from the trigger and spreads radioactive material. Does not set off a nuclear explosion. +/obj/structure/undetonated_nuke/proc/explode() + var/turf/T = get_turf(src) + can_explode = FALSE + visible_message(SPAN_DANGER("\The [src] explodes!")) + explosion(T, 6, 8, 10) + SSradiation.radiate(src, 250) + new /obj/effect/decal/cleanable/greenglow(T) + +/obj/structure/undetonated_nuke/buried + name = "buried nuclear bomb" + desc = "This rusted metal shell is half-buried in the sand, and seems to have been that way for decades. Flaking paint on the side depicts the battle standard of the Traditionalist Coalition. Something is written in Sinta'Azaziba on the side." + anchored = TRUE + icon_state = "bomb_buried" + +/obj/structure/undetonated_nuke/buried/Initialize(mapload) + . = ..() + if(prob(50)) + can_explode = FALSE + +/obj/structure/undetonated_nuke/buried/attackby(obj/item/attacking_item, mob/user, params) + . = ..() + var/turf/current_turf = get_turf(src) + if(istype(current_turf, /turf/simulated/floor/exoplanet)) + var/turf/simulated/floor/exoplanet/T = current_turf + if(attacking_item.is_shovel() && T.diggable) + visible_message(SPAN_NOTICE("\The [user] begins to excavate \the [src].")) + if(attacking_item.use_tool(src, user, 100, volume = 50)) + visible_message(SPAN_NOTICE("\The [user] finishes digging \the [src] from \the [T]!")) + new /obj/structure/pit(T) + var/obj/structure/undetonated_nuke/N = new(T) + N.can_explode = can_explode + qdel(src) diff --git a/code/modules/clothing/gloves/xeno/unathi.dm b/code/modules/clothing/gloves/xeno/unathi.dm index 3c7ba7f2ce1..b129f5c7abb 100644 --- a/code/modules/clothing/gloves/xeno/unathi.dm +++ b/code/modules/clothing/gloves/xeno/unathi.dm @@ -9,3 +9,30 @@ slot_flags = SLOT_GLOVES|SLOT_WRISTS drop_sound = 'sound/items/drop/cloth.ogg' pickup_sound = 'sound/items/pickup/cloth.ogg' + +/obj/item/clothing/gloves/unathi/ancient + name = "ancient bronze gauntlets" + desc = "A set of heavy bronze gauntlets, tarnished from centuries of age. They appear to be made to fit clawed hands." + icon = 'icons/obj/unathi_ruins.dmi' + icon_state = "ancient_gauntlets" + item_state = "ancient_gauntlets" + species_restricted = list(BODYTYPE_UNATHI) + contained_sprite = TRUE + armor = list( //not designed to hold up to bullets or lasers, but still better than nothing. + melee = ARMOR_MELEE_MAJOR, + bullet = ARMOR_BALLISTIC_MINOR, + laser = ARMOR_LASER_SMALL + ) + force = 5 + punch_force = 5 + drop_sound = 'sound/items/drop/sword.ogg' + pickup_sound = /singleton/sound_category/sword_pickup_sound + matter = list(MATERIAL_BRONZE = 1000) + +/obj/item/clothing/gloves/unathi/ancient/mador + name = "\improper Sinta'Mador bladed gauntlets" + desc = "A set of bronze gauntlets, adorned with wickedly sharp curved blades. Those familiar with Moghresian archaeology might recognize these as being forged in a Sinta'Mador style." + icon_state = "mador_gauntlets" + item_state = "mador_gauntlets" + sharp = 1 + edge = TRUE diff --git a/code/modules/clothing/head/xenos/unathi.dm b/code/modules/clothing/head/xenos/unathi.dm index 9a3ebbafb17..87260b2b458 100644 --- a/code/modules/clothing/head/xenos/unathi.dm +++ b/code/modules/clothing/head/xenos/unathi.dm @@ -63,3 +63,45 @@ M.pixel_y = 12 I.add_overlay(M) return I + +/obj/item/clothing/head/helmet/unathi/ancient + name = "ancient bronze helmet" + desc = "An outdated helmet designated to be worn by an Unathi, it was commonly used by the Hegemony Levies." + icon = 'icons/obj/unathi_ruins.dmi' + icon_state = "ancient_helm" + item_state = "ancient_helm" + armor = list( //not designed to hold up to bullets or lasers, but still better than nothing. + melee = ARMOR_MELEE_MAJOR, + bullet = ARMOR_BALLISTIC_MINOR, + laser = ARMOR_LASER_SMALL + ) + matter = list(MATERIAL_BRONZE = 1000) + drop_sound = 'sound/items/drop/sword.ogg' + pickup_sound = /singleton/sound_category/sword_pickup_sound + +/obj/item/clothing/head/helmet/unathi/ancient/mador + name = "\improper Sinta'Mador bronze helmet" + desc = "A large and unusual helmet of corroded bronze. Those familiar with Moghresian archaeology might recognize this item as being forged in a Sinta'Mador style." + icon_state = "mador_helm" + item_state = "mador_helm" + +/obj/item/clothing/head/unathi/ancienthood + name = "ragged ancient hood" + desc = "An ancient cloth hood, remarkably intact given the wear of centuries." + icon = 'icons/obj/unathi_ruins.dmi' + icon_state = "ancient_hood" + item_state = "ancient_hood" + +/obj/item/clothing/head/unathi/ancienthood/crown + name = "worn ancient crown" + desc = "An ancient and elaborate crowned hood - clearly meant to adorn the head of someone important." + icon_state = "ancient_crown" + item_state = "ancient_crown" + species_restricted = list(BODYTYPE_UNATHI) + +/obj/item/clothing/head/unathi/mador + name = "\improper Sinta'Mador head wrappings" + desc = "A set of gray cloth wrappings, used in traditional Sinta'Mador burials. Remarkably well preserved with age." + icon = 'icons/obj/unathi_ruins.dmi' + icon_state = "mador_headwrappings" + item_state = "mador_headwrappings" diff --git a/code/modules/clothing/shoes/miscellaneous.dm b/code/modules/clothing/shoes/miscellaneous.dm index d7a9b5b9074..dbd413fa782 100644 --- a/code/modules/clothing/shoes/miscellaneous.dm +++ b/code/modules/clothing/shoes/miscellaneous.dm @@ -87,3 +87,26 @@ icon_supported_species_tags = null var/list/clothing_choices = list() siemens_coefficient = 0.75 + +/obj/item/clothing/shoes/ancient_unathi + name = "ancient bronze greaves" + desc = "A set of bronze leg armor, corroded by age. It appears to be shaped for an Unathi." + icon = 'icons/obj/unathi_ruins.dmi' + icon_state = "ancient_boots" + item_state = "ancient_boots" + species_restricted = list(BODYTYPE_UNATHI) + contained_sprite = TRUE + armor = list( //not designed to hold up to bullets or lasers, but still better than nothing. + melee = ARMOR_MELEE_MAJOR, + bullet = ARMOR_BALLISTIC_MINOR, + laser = ARMOR_LASER_SMALL + ) + drop_sound = 'sound/items/drop/sword.ogg' + pickup_sound = /singleton/sound_category/sword_pickup_sound + matter = list(MATERIAL_BRONZE = 1000) + +/obj/item/clothing/shoes/ancient_unathi/mador + name = "\improper Sinta'Mador bronze greaves" + desc = "A set of bronze leg armor, fitted for an Unathi and corroded by age. Those familiar with Moghresian archaeology may recognize these as being of Sinta'Mador design." + icon_state = "mador_boots" + item_state = "mador_boots" diff --git a/code/modules/clothing/suits/xeno/unathi.dm b/code/modules/clothing/suits/xeno/unathi.dm index 6de727826bf..5fcd64600f2 100644 --- a/code/modules/clothing/suits/xeno/unathi.dm +++ b/code/modules/clothing/suits/xeno/unathi.dm @@ -57,3 +57,24 @@ flags_inv = HIDEJUMPSUIT|HIDETAIL species_restricted = list(BODYTYPE_UNATHI) contained_sprite = TRUE + +/obj/item/clothing/suit/armor/unathi/ancient + name = "ancient bronze armor" + desc = "An ancient bronze breastplate, remarkably well-preserved given how old it must be. It is unmistakably designed to fit an Unathi." + icon = 'icons/obj/unathi_ruins.dmi' + icon_state = "ancient_armor" + item_state = "ancient_armor" + armor = list( //not designed to hold up to bullets or lasers, but still better than nothing. + melee = ARMOR_MELEE_MAJOR, + bullet = ARMOR_BALLISTIC_MINOR, + laser = ARMOR_LASER_SMALL + ) + matter = list(MATERIAL_BRONZE = 1000) + drop_sound = 'sound/items/drop/sword.ogg' + pickup_sound = /singleton/sound_category/sword_pickup_sound + +/obj/item/clothing/suit/armor/unathi/ancient/mador + name = "\improper Sinta'Mador bronze armor" + desc = "An ancient set of interlocking bronze plates, designed to reach to the knees of an Unathi. Those familiar with Moghresian archaeology might recognise this set as being a Sinta'Mador relic." + icon_state = "mador_armor" + item_state = "mador_armor" diff --git a/code/modules/clothing/under/xenos/unathi.dm b/code/modules/clothing/under/xenos/unathi.dm index 170b4667c7a..c98bcfde7cf 100644 --- a/code/modules/clothing/under/xenos/unathi.dm +++ b/code/modules/clothing/under/xenos/unathi.dm @@ -135,3 +135,22 @@ desc = "A simple brown and red robe with gilded ornamentation, identifying its wearer as a member of the Sk'akh Church's clergy. The ornamentation and colors of this one identify its wearer as an Aspect Priest of the Warrior." icon_state = "skakh-warrior" item_state = "skakh-warrior" + +/obj/item/clothing/under/unathi/ancient + name = "ancient unathi vestments" + desc = "A set of faded cloth vestments that look very, very old. They look like they are made to fit an Unathi" + icon = 'icons/obj/unathi_ruins.dmi' + icon_state = "ancient_clothing1" + item_state = "ancient_clothing1" + +/obj/item/clothing/under/unathi/ancient/robes + name = "ancient unathi robes" + desc = "A set of faded cloth robes that look very, very old. They resemble traditional Unathi garb." + icon_state = "ancient_clothing2" + item_state = "ancient_clothing2" + +/obj/item/clothing/under/unathi/ancient/mador + name = "\improper Sinta'Mador burial wrappings" + desc = "A set of gray cloth wrappings, used in traditional Sinta'Mador burials. Remarkably well preserved with age." + icon_state = "mador_wrappings" + item_state = "mador_wrappings" diff --git a/code/modules/vehicles/bike.dm b/code/modules/vehicles/bike.dm index 290e8ce5e66..2a505e92e21 100644 --- a/code/modules/vehicles/bike.dm +++ b/code/modules/vehicles/bike.dm @@ -339,6 +339,16 @@ storage_type = /obj/item/storage/toolbox/bike_storage/speeder bike_icon = "speeder" +/obj/vehicle/bike/speeder/izweski + name = "hegemony speeder" + desc = "A Hephaestus-manufactured military speeder, used by the forces of the Izweski Hegemony." + icon_state = "heg_speeder_on" + bike_icon = "heg_speeder" + land_speed = 2 + space_speed = 1 + health = 250 + maxhealth = 250 + /obj/vehicle/bike/monowheel name = "adhomian monowheel" desc = "A one-wheeled vehicle, fairly popular with Little Adhomai's greasers." diff --git a/html/changelogs/RustingWithYou - ruinassets.yml b/html/changelogs/RustingWithYou - ruinassets.yml new file mode 100644 index 00000000000..805f24d5667 --- /dev/null +++ b/html/changelogs/RustingWithYou - ruinassets.yml @@ -0,0 +1,58 @@ +################################ +# Example Changelog File +# +# Note: This file, and files beginning with ".", and files that don't end in ".yml" will not be read. If you change this file, you will look really dumb. +# +# Your changelog will be merged with a master changelog. (New stuff added only, and only on the date entry for the day it was merged.) +# When it is, any changes listed below will disappear. +# +# Valid Prefixes: +# bugfix +# - (fixes bugs) +# wip +# - (work in progress) +# qol +# - (quality of life) +# soundadd +# - (adds a sound) +# sounddel +# - (removes a sound) +# rscadd +# - (adds a feature) +# rscdel +# - (removes a feature) +# imageadd +# - (adds an image or sprite) +# imagedel +# - (removes an image or sprite) +# spellcheck +# - (fixes spelling or grammar) +# experiment +# - (experimental change) +# balance +# - (balance changes) +# code_imp +# - (misc internal code change) +# refactor +# - (refactors code) +# config +# - (makes a change to the config files) +# admin +# - (makes changes to administrator tools) +# server +# - (miscellaneous changes to server) +################################# + +# Your name. +author: RustingWithYou + +# Optional: Remove this file after generating master changelog. Useful for PR changelogs that won't get used again. +delete-after: True + +# Any changes you've made. See valid prefix list above. +# INDENT WITH TWO SPACES. NOT TABS. SPACES. +# SCREW THIS UP AND IT WON'T WORK. +# Also, this gets changed to [] after reading. Just remove the brackets when you add new shit. +# Please surround your changes in double quotes ("). It works without them, but if you use certain characters it screws up compiling. The quotes will not show up in the changelog. +changes: + - rscadd: "Adds several items and structures for use in Uueoa-Esa ruins." diff --git a/icons/obj/unathi_ruins.dmi b/icons/obj/unathi_ruins.dmi index 73992a443c9..c026ed9fddf 100644 Binary files a/icons/obj/unathi_ruins.dmi and b/icons/obj/unathi_ruins.dmi differ diff --git a/icons/obj/vehicle/bike.dmi b/icons/obj/vehicle/bike.dmi index 900371ff57b..a3a474af47e 100644 Binary files a/icons/obj/vehicle/bike.dmi and b/icons/obj/vehicle/bike.dmi differ