Barricade

From PZwiki
UI Tick.png
This page has been revised for the current stable version (41.78.16).
Help by adding any missing content. [edit]
Barricade
Tile Wooden Barricade.png
Tile Metal BarBarricade.png
Tile Metal Sheet Barricade.png
[[File:{{{icon4}}}|Barricade|]]
[[File:{{{icon5}}}|Barricade|]]
General
Category
Furniture
Function
Reinforces windows against zombies.

A barricade is a reinforcement made of wood or metal secured to a door or window as a defensive measure.

Usage

Barricades are used to slow zombies' entry into an area, and are a first step to preventing attacks while asleep. They can be found naturally in the game world, indicating where a survivor has barricaded a house. These houses often contain loot stashes from the previous occupants, who may still be inside.

Barricades will only slow down zombies, not stop them. They are just one method of protecting a safehouse, and should be used alongside others.

As barricades make a lot of sound when attacked, they can be used to alert the player to a zombies presence.

Crafting

Three materials can be used to create barricades: wooden planks, metal sheets, and metal bars.

Product XP gained Skill(s) Recipe Ingredient 1 Ingredient 2 Ingredient 3 Ingredient 4
WoodenBarricade Carpentry.gif
Barricade
0.75 Carpentry none Hammer.png
Hammer (tag)
(keep)
One of:
WoodenDoor Carpentry.gif Door
Window Carpentry.gif Window
Plank.png
Plank x1
(consumed)
Nails.png
Nails x2
(consumed)
Barricade (Metal Bars)
Barricade (Metal Bars)
1.5 Metalworking none BlowTorch.png
Propane Torch
(1 units)

(keep)
WeldingMask.png
Welder Mask
(keep)
One of:
WoodenDoor Carpentry.gif Door
Window Carpentry.gif Window
MetalBar.png
Metal Bar x3
(consumed)
Barricade (Metal Sheet)
Barricade (Metal Sheet)
1.5 Metalworking none BlowTorch.png
Propane Torch
(1 units)

(keep)
WeldingMask.png
Welder Mask
(keep)
One of:
WoodenDoor Carpentry.gif Door
Window Carpentry.gif Window
SheetMetal.png
Metal Sheet x1
(consumed)

With one of these combinations in the player's inventory, right-click a door or window and select "Barricade" from the drop-down menu.

Barricades can be placed on both sides of a door or window.

To remove wooden barricades, a hammer or a crowbar can be used to quickly remove barricade planks. Metal barricades must be removed using a propane torch. Metal sheets, bars, and wooden planks can be retrieved, but nails are always lost.

Health

Barricade health is dependent on the material used as well as the skill level of the builder. The barricade health can't be upgraded or repaired, other than taking them out and re-applying when damaged or a higher skill level is reached.

Health per barricade
Skill level Wood planks Metal bars Metal sheet
0 1000 HP 3000 HP 5000 HP
1 1000 HP 3000 HP 5000 HP
2 1100 HP 3300 HP 5500 HP
3 1140 HP 3420 HP 5700 HP
4 1180 HP 3540 HP 5900 HP
5 1220 HP 3660 HP 6100 HP
6 1260 HP 3480 HP 5800 HP
7 1300 HP 3900 HP 6500 HP
8 1340 HP 4020 HP 6700 HP
9 1400 HP 4200 HP 7000 HP
10 1500 HP 4500 HP 7500 HP


Barricaded doors or windows are undamaged until their barricades are fully destroyed, enhancing protection.

A wooden barricade's durability depends on the plank's condition. As it's damaged, so are the planks. To repair, replace damaged planks with fresh ones.

Gallery

History

Alpha
Build 36 Introduction of Metal Barricades.
Build 27 Occasional glitch occurs in which when unbarricading a window or door, the planks used will not go back into the player's inventory and will disappear.
RC 2.9.8a Zombies can no longer climb through a barricaded window.

Code

Code icon.png Code snippet! This section contains source code from Project ZomboidShow / Hide

Wooden barricade


Retrieved: Build 41.78.16
public void addPlank(IsoGameCharacter var1, InventoryItem var2) {
      if (this.canAddPlank()) {
         int var3 = 1000;
         if (var2 != null) {
            var3 = (int)((float)var2.getCondition() / (float)var2.getConditionMax() * 1000.0F);
         }

         if (var1 != null) {
            var3 = (int)((float)var3 * var1.getBarricadeStrengthMod());
         }

         int var4;
         for(var4 = 0; var4 < 4; ++var4) {
            if (this.plankHealth[var4] <= 0) {
               this.plankHealth[var4] = var3;
               break;
            }
         }

         this.chooseSprite();
         if (!GameServer.bServer) {
            for(var4 = 0; var4 < IsoPlayer.numPlayers; ++var4) {
               LosUtil.cachecleared[var4] = true;
            }

            IsoGridSquare.setRecalcLightTime(-1);
            GameTime.instance.lightSourceUpdate = 100.0F;
         }

         if (this.square != null) {
            this.square.RecalcProperties();
         }

      }
   }

Metal bar barricade


Retrieved: Build 41.78.16
public void addMetalBar(IsoGameCharacter var1, InventoryItem var2) {
      if (this.getNumPlanks() <= 0) {
         if (this.metalHealth <= 0) {
            if (this.metalBarHealth <= 0) {
               this.metalBarHealth = 3000;
               if (var2 != null) {
                  this.metalBarHealth = (int)((float)var2.getCondition() / (float)var2.getConditionMax() * 5000.0F);
               }

               if (var1 != null) {
                  this.metalBarHealth = (int)((float)this.metalBarHealth * var1.getMetalBarricadeStrengthMod());
               }

               this.chooseSprite();
               if (!GameServer.bServer) {
                  for(int var3 = 0; var3 < IsoPlayer.numPlayers; ++var3) {
                     LosUtil.cachecleared[var3] = true;
                  }

                  IsoGridSquare.setRecalcLightTime(-1);
                  GameTime.instance.lightSourceUpdate = 100.0F;
               }

               if (this.square != null) {
                  this.square.RecalcProperties();
               }

            }
         }
      }
   }

Metal barricade


Retrieved: Build 41.78.16
public void addMetal(IsoGameCharacter var1, InventoryItem var2) {
      if (this.getNumPlanks() <= 0) {
         if (this.metalHealth <= 0) {
            this.metalHealth = 5000;
            if (var2 != null) {
               this.metalHealth = (int)((float)var2.getCondition() / (float)var2.getConditionMax() * 5000.0F);
            }

            if (var1 != null) {
               this.metalHealth = (int)((float)this.metalHealth * var1.getMetalBarricadeStrengthMod());
            }

            this.chooseSprite();
            if (!GameServer.bServer) {
               for(int var3 = 0; var3 < IsoPlayer.numPlayers; ++var3) {
                  LosUtil.cachecleared[var3] = true;
               }

               IsoGridSquare.setRecalcLightTime(-1);
               GameTime.instance.lightSourceUpdate = 100.0F;
            }

            if (this.square != null) {
               this.square.RecalcProperties();
            }

         }
      }
   }


See also