#  ![](https://www.realm667.com/media/kunena/topic_icons/realm667_repo/user/rep_approved.png) \[SUBMISSION\] Ballistic Plating

##

- **DeVloek**
- ![DeVloek's Avatar](https://www.realm667.com/media/kunena/avatars/resized/size144/users/avatar11145.png?1542216928) Topic Author
- Arachnotron
- ![Arachnotron](https://www.realm667.com/media/kunena/ranks/rank_10_arachno.png)

 Less More- Posts: 416
-
-

   1 year 11 months ago - 1 year 11 months ago [\#12440](#12440) by DeVloek  *[\[SUBMISSION\] Ballistic Plating](https://www.realm667.com/forum/closed-submissions/2145-submission-ballistic-plating#12440 "Info

Name: Ballistic Plating
Type: Armor
Palette: Doom / Custom
Summon: BallisticPlating
Use type: Instant
Duration: Instant
Brightmaps: No
Actor modification: No
ACS: No

Description:
Upgrades the player's armor with Ballistic Plating.
Adds 50 armor (can go over the current armor's maximum) and increases protection by 20%.
Applies to body-worn armor only, has no effect on any Armor Bonuses.
Only one Ballistic Plating can be used at once, but damaged Ballistic Plating can be repaired by simply picking up another one.
Ballistic Plating does not carry over if another armor is picked up.
Works with vanilla armors (Green, Blue, Megasphere) as well as custom armors from these Realm667 files:
- ArmorBelt.wad
- HeavyArmor.wad
- QuakeItemPack.wad

Credits
Code: DeVloek
GLDEFS: DeVloek
Sounds: DeVloek
Sprites: id Software, DeVloek, TOMISURRO, Captain Toenail, Fuzzyblaze
Sprite Edit: DeVloek
Idea base: irl ballistic armor plates

Sprite
 

Download

Let me know if I should make this compatible with other armors. I think I covered all custom armors found on R667, at least those that make sense being upgraded. Armors like the Tech Armor and Super Shield are already quite overpowered without further upgrades so I left them out.")* was created by *DeVloek*

 ***Info***
Name: Ballistic Plating
Type: Armor
Palette: Doom / Custom
Summon: BallisticPlating
Use type: Instant
Duration: Instant
Brightmaps: No
Actor modification: No
ACS: No

Description:
Upgrades the player's armor with Ballistic Plating.
Adds 50 armor (can go over the current armor's maximum) and increases protection by 20%.
Applies to body-worn armor only, has no effect on any Armor Bonuses.
Only one Ballistic Plating can be used at once, but damaged Ballistic Plating can be repaired by simply picking up another one.
Ballistic Plating does not carry over if another armor is picked up.
Works with vanilla armors (Green, Blue, Megasphere) as well as custom armors from these Realm667 files:
- ArmorBelt.wad
- HeavyArmor.wad
- QuakeItemPack.wad

***Credits***
Code: DeVloek
GLDEFS: DeVloek
Sounds: DeVloek
Sprites: id Software, DeVloek, TOMISURRO, Captain Toenail, Fuzzyblaze
Sprite Edit: DeVloek
Idea base: irl ballistic armor plates

***Sprite***  [ ![VBPLA0.png](https://www.realm667.com/forum/attachment/2446) ](https://www.realm667.com/forum/attachment/2446 "VBPLA0.png")

***Download***
[ https://drive.google.com/file/d/1hfjwTlf3sBaM79JRHjNpsDc0b9nwVxW7/view?usp=sharing](https://drive.google.com/file/d/1hfjwTlf3sBaM79JRHjNpsDc0b9nwVxW7/view?usp=sharing)

Let me know if I should make this compatible with other armors. I think I covered all custom armors found on R667, at least those that make sense being upgraded. Armors like the Tech Armor and Super Shield are already quite overpowered without further upgrades so I left them out.

 Last edit: 1 year 11 months ago by DeVloek. Reason: forgot to add sprite

Please [Log in](https://www.realm667.com/component/users/login?return=aHR0cHM6Ly93d3cucmVhbG02NjcuY29tL2ZvcnVtL2Nsb3NlZC1zdWJtaXNzaW9ucy8yMTQ1LXN1Ym1pc3Npb24tYmFsbGlzdGljLXBsYXRpbmc=&Itemid=2662) or [Create an account](https://www.realm667.com/component/users/registration?Itemid=2662) to join the conversation.

- **Blue Shadow**
- ![Blue Shadow's Avatar](https://www.realm667.com/media/kunena/core/svg/person.svg)
- Administrator
- ![Administrator](https://www.realm667.com/media/kunena/ranks/rank_20_barrel.png)

 Less More- Posts: 1131
-
-
-

   1 year 11 months ago [\#12441](#12441) by Blue Shadow  Replied by *Blue Shadow* on topic *[\[SUBMISSION\] Ballistic Plating](https://www.realm667.com/forum/closed-submissions/2145-submission-ballistic-plating#12441 "Info

Name: Ballistic Plating
Type: Armor
Palette: Doom / Custom
Summon: BallisticPlating
Use type: Instant
Duration: Instant
Brightmaps: No
Actor modification: No
ACS: No

Description:
Upgrades the player's armor with Ballistic Plating.
Adds 50 armor (can go over the current armor's maximum) and increases protection by 20%.
Applies to body-worn armor only, has no effect on any Armor Bonuses.
Only one Ballistic Plating can be used at once, but damaged Ballistic Plating can be repaired by simply picking up another one.
Ballistic Plating does not carry over if another armor is picked up.
Works with vanilla armors (Green, Blue, Megasphere) as well as custom armors from these Realm667 files:
- ArmorBelt.wad
- HeavyArmor.wad
- QuakeItemPack.wad

Credits
Code: DeVloek
GLDEFS: DeVloek
Sounds: DeVloek
Sprites: id Software, DeVloek, TOMISURRO, Captain Toenail, Fuzzyblaze
Sprite Edit: DeVloek
Idea base: irl ballistic armor plates

Sprite
 

Download

Let me know if I should make this compatible with other armors. I think I covered all custom armors found on R667, at least those that make sense being upgraded. Armors like the Tech Armor and Super Shield are already quite overpowered without further upgrades so I left them out.")*

 Pretty cool item. A few things to comment on: - I'd make the bonus armor points and damage reduction of the item actor properties, so they're overridden through the *Default* block rather than PostBeginPlay(). It's tidier and cleaner that way.
- The blue armor you get from cheating cannot be upgraded. Though it's not going to be easy to identify or distinguish it.
- It's better to override [ Inventory.PickupMessage()](https://github.com/ZDoom/gzdoom/blob/g4.12.2/wadsrc/static/zscript/actors/inventory/inventory.zs#L805) to return the pickup message for the engine to print instead of handling it the way you did, since that, I believe, isn't multiplayer friendly; all players in-game would see the message when one one picks the item up.

Please [Log in](https://www.realm667.com/component/users/login?return=aHR0cHM6Ly93d3cucmVhbG02NjcuY29tL2ZvcnVtL2Nsb3NlZC1zdWJtaXNzaW9ucy8yMTQ1LXN1Ym1pc3Npb24tYmFsbGlzdGljLXBsYXRpbmc=&Itemid=2662) or [Create an account](https://www.realm667.com/component/users/registration?Itemid=2662) to join the conversation.

- **DeVloek**
- ![DeVloek's Avatar](https://www.realm667.com/media/kunena/avatars/resized/size144/users/avatar11145.png?1542216928) Topic Author
- Arachnotron
- ![Arachnotron](https://www.realm667.com/media/kunena/ranks/rank_10_arachno.png)

 Less More- Posts: 416
-
-

   1 year 11 months ago - 1 year 11 months ago [\#12442](#12442) by DeVloek  Replied by *DeVloek* on topic *[\[SUBMISSION\] Ballistic Plating](https://www.realm667.com/forum/closed-submissions/2145-submission-ballistic-plating#12442 "Info

Name: Ballistic Plating
Type: Armor
Palette: Doom / Custom
Summon: BallisticPlating
Use type: Instant
Duration: Instant
Brightmaps: No
Actor modification: No
ACS: No

Description:
Upgrades the player's armor with Ballistic Plating.
Adds 50 armor (can go over the current armor's maximum) and increases protection by 20%.
Applies to body-worn armor only, has no effect on any Armor Bonuses.
Only one Ballistic Plating can be used at once, but damaged Ballistic Plating can be repaired by simply picking up another one.
Ballistic Plating does not carry over if another armor is picked up.
Works with vanilla armors (Green, Blue, Megasphere) as well as custom armors from these Realm667 files:
- ArmorBelt.wad
- HeavyArmor.wad
- QuakeItemPack.wad

Credits
Code: DeVloek
GLDEFS: DeVloek
Sounds: DeVloek
Sprites: id Software, DeVloek, TOMISURRO, Captain Toenail, Fuzzyblaze
Sprite Edit: DeVloek
Idea base: irl ballistic armor plates

Sprite
 

Download

Let me know if I should make this compatible with other armors. I think I covered all custom armors found on R667, at least those that make sense being upgraded. Armors like the Tech Armor and Super Shield are already quite overpowered without further upgrades so I left them out.")*

 Thanks for the tips.> - I'd make the bonus armor points and damage reduction of the item actor properties, so they're overridden through the *Default* block rather than PostBeginPlay(). It's tidier and cleaner that way.

I remember messing around with custom properties in the past but couldn't figure out how it works. I'll try again.> - It's better to override [ Inventory.PickupMessage()](https://github.com/ZDoom/gzdoom/blob/g4.12.2/wadsrc/static/zscript/actors/inventory/inventory.zs#L805) to return the pickup message for the engine to print instead of handling it the way you did, since that, I believe, isn't multiplayer friendly; all players in-game would see the message when one one picks the item up.

Didn't know that was possible. I'll try to figure out how that works too.
Edit: OK that was easy enough. btw I don't think I'll try to make it work with cheated armor, since it isn't a thing the player picks up and wears.

 Last edit: 1 year 11 months ago by DeVloek.

Please [Log in](https://www.realm667.com/component/users/login?return=aHR0cHM6Ly93d3cucmVhbG02NjcuY29tL2ZvcnVtL2Nsb3NlZC1zdWJtaXNzaW9ucy8yMTQ1LXN1Ym1pc3Npb24tYmFsbGlzdGljLXBsYXRpbmc=&Itemid=2662) or [Create an account](https://www.realm667.com/component/users/registration?Itemid=2662) to join the conversation.

- **DeVloek**
- ![DeVloek's Avatar](https://www.realm667.com/media/kunena/avatars/resized/size144/users/avatar11145.png?1542216928) Topic Author
- Arachnotron
- ![Arachnotron](https://www.realm667.com/media/kunena/ranks/rank_10_arachno.png)

 Less More- Posts: 416
-
-

   1 year 11 months ago - 1 year 11 months ago [\#12443](#12443) by DeVloek  Replied by *DeVloek* on topic *[\[SUBMISSION\] Ballistic Plating](https://www.realm667.com/forum/closed-submissions/2145-submission-ballistic-plating#12443 "Info

Name: Ballistic Plating
Type: Armor
Palette: Doom / Custom
Summon: BallisticPlating
Use type: Instant
Duration: Instant
Brightmaps: No
Actor modification: No
ACS: No

Description:
Upgrades the player's armor with Ballistic Plating.
Adds 50 armor (can go over the current armor's maximum) and increases protection by 20%.
Applies to body-worn armor only, has no effect on any Armor Bonuses.
Only one Ballistic Plating can be used at once, but damaged Ballistic Plating can be repaired by simply picking up another one.
Ballistic Plating does not carry over if another armor is picked up.
Works with vanilla armors (Green, Blue, Megasphere) as well as custom armors from these Realm667 files:
- ArmorBelt.wad
- HeavyArmor.wad
- QuakeItemPack.wad

Credits
Code: DeVloek
GLDEFS: DeVloek
Sounds: DeVloek
Sprites: id Software, DeVloek, TOMISURRO, Captain Toenail, Fuzzyblaze
Sprite Edit: DeVloek
Idea base: irl ballistic armor plates

Sprite
 

Download

Let me know if I should make this compatible with other armors. I think I covered all custom armors found on R667, at least those that make sense being upgraded. Armors like the Tech Armor and Super Shield are already quite overpowered without further upgrades so I left them out.")*

 Update: - Armor amount and protection are now set in the default block instead of postbeginplay
- Pickup message is now overridden instead of being replaced by console.printfex

Like I mentioned earlier, making it compatible with cheated armor isn't something I'm eager to fix. However if someone can show me a method to distinguish between picked up armor and cheated armor, I'll try to implement it.

Well even though I usually say "screw the cheaters" I looked into this, and turns out it wasn't that hard to figure out. Any armor that was not picked up from the map (ie via cheats) defaults back to BasicArmorPickup, so I added this type to the armortype check. Assuming cheated armor always has max value of 200 like the blue armor, I set its modified max value to 250.

 Last edit: 1 year 11 months ago by DeVloek.

Please [Log in](https://www.realm667.com/component/users/login?return=aHR0cHM6Ly93d3cucmVhbG02NjcuY29tL2ZvcnVtL2Nsb3NlZC1zdWJtaXNzaW9ucy8yMTQ1LXN1Ym1pc3Npb24tYmFsbGlzdGljLXBsYXRpbmc=&Itemid=2662) or [Create an account](https://www.realm667.com/component/users/registration?Itemid=2662) to join the conversation.

- **Gothic**
- ![Gothic's Avatar](https://www.realm667.com/media/kunena/avatars/resized/size144/users/avatar320.png?1619787674)
- Moderator
- ![Moderator](https://www.realm667.com/media/kunena/ranks/rank_20_barrel.png)

 Less More- Posts: 1329
-
-
-

   1 year 11 months ago [\#12457](#12457) by Gothic  Replied by *Gothic* on topic *[\[SUBMISSION\] Ballistic Plating](https://www.realm667.com/forum/closed-submissions/2145-submission-ballistic-plating#12457 "Info

Name: Ballistic Plating
Type: Armor
Palette: Doom / Custom
Summon: BallisticPlating
Use type: Instant
Duration: Instant
Brightmaps: No
Actor modification: No
ACS: No

Description:
Upgrades the player's armor with Ballistic Plating.
Adds 50 armor (can go over the current armor's maximum) and increases protection by 20%.
Applies to body-worn armor only, has no effect on any Armor Bonuses.
Only one Ballistic Plating can be used at once, but damaged Ballistic Plating can be repaired by simply picking up another one.
Ballistic Plating does not carry over if another armor is picked up.
Works with vanilla armors (Green, Blue, Megasphere) as well as custom armors from these Realm667 files:
- ArmorBelt.wad
- HeavyArmor.wad
- QuakeItemPack.wad

Credits
Code: DeVloek
GLDEFS: DeVloek
Sounds: DeVloek
Sprites: id Software, DeVloek, TOMISURRO, Captain Toenail, Fuzzyblaze
Sprite Edit: DeVloek
Idea base: irl ballistic armor plates

Sprite
 

Download

Let me know if I should make this compatible with other armors. I think I covered all custom armors found on R667, at least those that make sense being upgraded. Armors like the Tech Armor and Super Shield are already quite overpowered without further upgrades so I left them out.")*

 [ Added](https://www.realm667.com/index.php?option=com_content&view=article&id=2722)

Please [Log in](https://www.realm667.com/component/users/login?return=aHR0cHM6Ly93d3cucmVhbG02NjcuY29tL2ZvcnVtL2Nsb3NlZC1zdWJtaXNzaW9ucy8yMTQ1LXN1Ym1pc3Npb24tYmFsbGlzdGljLXBsYXRpbmc=&Itemid=2662) or [Create an account](https://www.realm667.com/component/users/registration?Itemid=2662) to join the conversation.

[Powered by](https://www.realm667.com/forum/credits) [Kunena Forum](https://www.kunena.org)
