Jump to content

Modifying zombie block damage


Silber

Recommended Posts

Is there anyone out there that have any knowledge about this

The possiblity to make zombies not able to damage blocks at all or just certen blocks like concrete

 

Me and my girlfriend is playing 7 days to die, but we kinda got a little fed up repairing our house and having stuff we build destroyed all the time, so i was just curious if there is a way to nulifi zombie damage on blocks

 

so far i've done some editing in the Items.xml and made it so DamageBlock on all the zombies i can find there is 0. but when i tested it a regular zombie still did 1 dmg pr hit to a wood block

 

Any help would be appriciated! cheers! :D

Link to comment
Share on other sites

Actually, you can make a block impossible to damage, but it has a nasty consequence.

 

Add this to the block:

 

<property name="Collide" value="movement" />

 

If that "collide" property already exists for that block, it will probably look like this:

 

<property name="Collide" value="movement,melee,rocket" />

 

Change it to this, like above:

 

<property name="Collide" value="movement" />

 

Now it blocks movement, but it can take no damage.

 

The nasty consequence is that you can no longer destroy the block, yourself.

 

There IS a sneaky way to get around that. Here's an example. Make the steel block impossible to destroy.

 

<block id="414" name="steelBlock">
<property name="Extends" value="steelMaster" />
<property class="UpgradeBlock"> 
              <property name="ToBlock" value="stainlessSteelBlock" /> 
       </property>
       [color="#FFFF00"]<property name="Collide" value="movement" />[/color]
</block>

 

If you want to destroy it yourself, upgrade it to stainlessSteel first, and then destroy that, and it will downgrade to concrete. Then you can destroy the concrete block. That's because a stainlessSteel block bypasses the downgrade to steel, and goes right to concrete.

 

You can do this with other upgrade/downgrade paths, but you have to modify the upgrade/downgrade yourself. Destroy it yourself even faster by removing the downgrade path of the upgraded block you want to destroy.

 

For example, make the rWoodBlock impossible to destroy or be damaged:

 

<block id="293" name="rWoodBlock">
<property name="Extends" value="rWoodMaster" />
<property class="UpgradeBlock"> 
             <property name="ToBlock" value="rWoodMetalBlock" /> 
       </property>
<!--	<property name="DowngradeBlock" value="woodBlock" />  -->
       [color="#FFFF00"]<property name="Collide" value="movement" />[/color]
</block>

 

Now make the rWoodMetalBlock so that it can be destroyed without being downgraded:

 

<block id="294" name="rWoodMetalBlock">
<property name="Extends" value="woodMaster" />
<property class="UpgradeBlock"> 
            <property name="ToBlock" value="rWoodBlock" /> 
       </property>
<!--	<property name="DowngradeBlock" value="solidWoodFrameBlock" /> -->
       [color="#FFFF00"]<property name="Collide" value="movement,melee,rocket" />[/color]
</block>

 

I haven't tested that particular example, but hopefully you get the idea.

 

EDIT: I tested it and it works fine. Create a wood frame. Upgrade it twice. Now it's invulnerable. Upgrade it once more to a metal block. Now you can destroy it completely.

 

EDIT2: I had the wrong id number for rWoodMetalBlock. Fixed it.

Link to comment
Share on other sites

You could edit the entityclasses.xml to remove their BreakBlock ai task. Then they wouldn't ever attack blocks. Or shouldn't.

 

Only downside of that, if that's what you're looking for, is that zombies that won't break blocks may get stuck on the scenery, in my experience.

Link to comment
Share on other sites

Sure, edit the blocks.xml to upgrade, not downgrade.

 

Put them zombie slaves to work!! C'mon hit those blocks harder, zeds, we need to get to stainless steel by the end of the week!

 

That would actually be fun to watch. The zombies keep smacking the wood block, and when it breaks, it becomes a scrap metal block. And so on.

 

Then set the stainless steel block to downgrade to a stainless steel block, and you're all set.

Link to comment
Share on other sites

Okay, if you know me, you know I had to try it. I grabbed a nearby house, replaced the windows with wood blocks, spawned a bunch of ferals and watched them upgrade the house. It was hilarious. And they're hard workers, too. In just a couple minutes, they upgraded several blocks to stainless steel.

Link to comment
Share on other sites

Okay, if you know me, you know I had to try it. I grabbed a nearby house, replaced the windows with wood blocks, spawned a bunch of ferals and watched them upgrade the house. It was hilarious. And they're hard workers, too. In just a couple minutes, they upgraded several blocks to stainless steel.

 

Sounds like an opening for a UMA Bob The Builder zombie... instead of breaking in, it's sealing you in :)

Link to comment
Share on other sites

Man, I thought that without materials they wouldn't be able to upgrade. I'm pretty happy that isn't the case

 

I didn't change the zombies or the upgrade path, I did stuff like this to the DowngradeBlock:

 

<block id="134" name="rConcreteMaster">
	<property name="Material" value="MrConcrete" />
	<property name="Texture" value="315" />
	<property name="IsDeveloper" value="true" />
	<property class="RepairItems">
		<property name="concreteMix" value="10" />
	</property>
	<property class="UpgradeBlock">
		<property name="ToBlock" value="steelMaster" />
		<property name="Item" value="forgedSteel" />
		<property name="ItemCount" value="10" />
		<property name="UpgradeHitCount" value="4" />
	</property>
	<property name="CustomUpgradeSound" value="Crafting/place_block_metal" />
	<drop event="Harvest" name="rockSmall" count="13" />
	<drop event="Destroy" name="rockSmall" count="12" />
	<drop event="Fall" name="destroyedStone" count="1" prob=".75" stick_chance="1" />
	<property name="EconomicValue" value="7" />
	<property name="CraftingSkillGroup" value="Construction"/>
	[color="#FFFF00"]<property name="DowngradeBlock" value="steelMaster" />[/color]
</block>

 

So when a block is damaged enough to break, it actually upgrades to the next type of block instead of downgrading to the previous type. I chained it from wood frame all the way to stainless steel, but skipped the poured concrete step, since that would mess up the process.

 

Since I set stainlessSteel to downgrade to stainlessSteel, once it hits that type of block, breaking it just replaces it.

Link to comment
Share on other sites

  • 9 months later...

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...