Jump to content

[41.53] Minor Barricade Exploit (removal of object from barricade doesn't consider skill level)


PseudonymousEd

Recommended Posts

When you add a plank, sheet, or bar as a barricade, the health of the barricade is determined by the condition of the object and a modifier based on your skill.  But when you remove that from the barricade, it does not consider that the health was modified by skill level, so the resulting health is higher than it should be.

 

When you remove an object from the barricade, the condition of that object is based on the health of the barricade divided by the base health the barricade would normally have without the skill modifier.

 

Here is part of removePlank, from the IsoBarricade class:

            float f = Math.min((float)this.plankHealth[n] / 1000.0f, 1.0f);
            inventoryItem = InventoryItemFactory.CreateItem((String)"Base.Plank");
            inventoryItem.setCondition((int)Math.max((float)inventoryItem.getConditionMax() * f, 1.0f));

 

This can technically be exploited to give yourself cheap repairs to barricades.

 

Here's an example using wood planks:

  • A wood plank has a base health of 1000 in a barricade.
  • At level 10 carpentry, this gets modified by 1.5, so the initial health is 1500.
  • Let's say a zombie comes along and causes 400 points of damage to the barricade.  Then you kill the zombie and remove the plank.
  • The barricades' health is 1100, so after you remove the plank the plank's health is 1100 / 1000 = 1.1 which is adjusted to be 1.  
  • The plank is in perfect condition, and if you immediately add it back to the barricade you have a barricade of 1500 again.  

 

A bug, but not something that is going to break the game.

 

To fix it, I'm guessing they'd need to add a variable to hold the maximum health of the barricade at the time it is created.  Then they can take the current health at the time they remove the barricade, and use the percentage to determine the health of the object.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...