Skip to content

Commit

Permalink
[MIRROR] New Shields and Sprites for them (#2216)
Browse files Browse the repository at this point in the history
* New Shields and Sprites for them (#81615)

## About The Pull Request
Updates shield sprites to new more polished and 3/4 perspective ones.

<details>

![shielding
show](https://github.com/tgstation/tgstation/assets/42353186/823d1d24-6fdd-40c9-84b4-2b9b61d70813)

</details>

Adds 2 new shield types:
- **Improvised Shield.** Made out of 10 iron sheets and 2 sticky tape
pieces. Weaker then buckler shield and breaks after 2 gunshots or 4
baton hits, but has a 50% (BASE FOR ALL OTHER SHIELDS) blocking chance
instead of 30% that buckler has. Bulky
- **Ballistic Shield.** Printed at Security Techfab for a lot of
titanium after getting weapon research. Strong against projectiles, but
weaker than riot shield against melee. Bulky

Both of these shields break, and both of them are their own subtype. As
such you can still only craft strobe shield with a riot shield.
## Why It's Good For The Game

The sprites of shields were very ancient and extremely flat, this gives
them a more refreshed look.

Ballistic Shield is added because Riot Shield was weakened against
projectiles, Ballistic Shield gives the crew a way to get access to
protection against projectiles at some point in the round.
Improvised Shield adds a second improvised shield in the game (after
Buckler Shield). It's balanced by being weaker than Buckler, but higher
block chance, this adds an interesting choice for players on which
shield to craft.
## Changelog
:cl:
add: Adds 2 new shields to the game! Ballistic Shield - researched by
Science, and Improvised Shield - made out of iron and sticky tape
image: Riot, Strobe, Telescopic, Energy shields got new less flat
sprites!
/:cl:

* New Shields and Sprites for them

* Update screenshot_antag_icons_loneinfiltrator.png

---------

Co-authored-by: NovaBot <[email protected]>
Co-authored-by: DrTuxedo <[email protected]>
Co-authored-by: Mal <[email protected]>
  • Loading branch information
4 people authored Mar 2, 2024
1 parent 69da62c commit adc1d8d
Show file tree
Hide file tree
Showing 10 changed files with 69 additions and 0 deletions.
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.

0 comments on commit adc1d8d

Please sign in to comment.