Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[MIRROR] New Shields and Sprites for them #2216

Merged
merged 1 commit into from
Mar 2, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions code/_globalvars/lists/maintenance_loot.dm
Original file line number Diff line number Diff line change
Expand Up @@ -302,6 +302,7 @@ GLOBAL_LIST_INIT(rarity_loot, list(//rare: really good items
/obj/item/pen/survival = 1,
/obj/item/restraints/handcuffs = 1,
/obj/item/shield/buckler = 1,
/obj/item/shield/improvised = 1,
/obj/item/throwing_star = 1,
/obj/item/weldingtool/hugetank = 1,
/obj/item/fishing_rod/telescopic/master = 1,
Expand Down
10 changes: 10 additions & 0 deletions code/datums/components/crafting/equipment.dm
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,16 @@
..()
blacklist |= subtypesof(/obj/item/shield/riot)

/datum/crafting_recipe/improvisedshield
name = "Improvised Shield"
result = /obj/item/shield/improvised
reqs = list(
/obj/item/stack/sheet/iron = 10,
/obj/item/stack/sticky_tape = 2,
)
time = 4 SECONDS
category = CAT_EQUIPMENT

/datum/crafting_recipe/radiogloves
name = "Radio Gloves"
result = /obj/item/clothing/gloves/radio
Expand Down
44 changes: 44 additions & 0 deletions code/game/objects/items/shields.dm
Original file line number Diff line number Diff line change
Expand Up @@ -397,4 +397,48 @@
balloon_alert(user, "extend it first!")
return COMPONENT_BLOCK_ITEM_DISARM_ATTACK

/datum/armor/item_shield/ballistic
melee = 30
bullet = 85
bomb = 10
laser = 80

/obj/item/shield/ballistic
name = "ballistic shield"
desc = "A heavy shield designed for blocking projectiles, weaker to melee."
icon_state = "ballistic"
inhand_icon_state = "ballistic"
custom_materials = list(/datum/material/iron = SHEET_MATERIAL_AMOUNT * 2, /datum/material/glass = SHEET_MATERIAL_AMOUNT * 2, /datum/material/titanium =SHEET_MATERIAL_AMOUNT)
max_integrity = 75
shield_break_leftover = /obj/item/stack/rods/ten
armor_type = /datum/armor/item_shield/ballistic

/obj/item/shield/ballistic/attackby(obj/item/attackby_item, mob/user, params)
if(istype(attackby_item, /obj/item/stack/sheet/mineral/titanium))
if (atom_integrity >= max_integrity)
to_chat(user, span_warning("[src] is already in perfect condition."))
return
var/obj/item/stack/sheet/mineral/titanium/titanium_sheet = attackby_item
titanium_sheet.use(1)
atom_integrity = max_integrity
to_chat(user, span_notice("You repair [src] with [titanium_sheet]."))
return
return ..()

/datum/armor/item_shield/improvised
melee = 40
bullet = 30
laser = 30

/obj/item/shield/improvised
name = "improvised shield"
desc = "A crude shield made out of several sheets of iron taped together, not very durable."
icon_state = "improvised"
inhand_icon_state = "improvised"
custom_materials = list(/datum/material/iron = HALF_SHEET_MATERIAL_AMOUNT * 2)
max_integrity = 35
shield_break_leftover = /obj/item/stack/rods/two
armor_type = /datum/armor/item_shield/improvised
block_sound = 'sound/items/trayhit2.ogg'

#undef BATON_BASH_COOLDOWN
13 changes: 13 additions & 0 deletions code/modules/research/designs/weapon_designs.dm
Original file line number Diff line number Diff line change
Expand Up @@ -204,6 +204,19 @@
departmental_flags = DEPARTMENT_BITFLAG_SECURITY
autolathe_exportable = FALSE

/datum/design/ballistic_shield
name = "Ballistic Shield"
desc = "A heavy shield designed for blocking projectiles, weaker to melee."
id = "ballistic_shield"
build_type = PROTOLATHE | AWAY_LATHE
materials = list(/datum/material/iron = SHEET_MATERIAL_AMOUNT * 2, /datum/material/glass = SHEET_MATERIAL_AMOUNT * 2, /datum/material/titanium =SHEET_MATERIAL_AMOUNT)
build_path = /obj/item/shield/ballistic
category = list(
RND_CATEGORY_WEAPONS + RND_SUBCATEGORY_WEAPONS_MELEE
)
departmental_flags = DEPARTMENT_BITFLAG_SECURITY
autolathe_exportable = FALSE

/datum/design/beamrifle
name = "Beam Marksman Rifle Part Kit (Lethal)"
desc = "The gunkit for a powerful long ranged anti-material rifle that fires charged particle beams to obliterate targets."
Expand Down
1 change: 1 addition & 0 deletions code/modules/research/techweb/all_nodes.dm
Original file line number Diff line number Diff line change
Expand Up @@ -1625,6 +1625,7 @@
description = "Our researchers have found new ways to weaponize just about everything now."
prereq_ids = list("engineering")
design_ids = list(
"ballistic_shield",
"pin_testing",
"tele_shield",
"lasershell",
Expand Down
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified icons/mob/clothing/back.dmi
Binary file not shown.
Binary file modified icons/mob/inhands/equipment/shields_lefthand.dmi
Binary file not shown.
Binary file modified icons/mob/inhands/equipment/shields_righthand.dmi
Binary file not shown.
Binary file modified icons/obj/weapons/shields.dmi
Binary file not shown.
Loading