Cytosoul Posted September 15 Report Posted September 15 I have been testing in creative on surface drifters for the past few hours trying to figure out how much damage torches do on average (with fire damage included) and I have been getting inconsistent results due to them healing over time and not knowing the percent chance the fire will actually ignite them and I wasnt able to find anywhere online what percent chance it is. What I have noticed is that torches will do 0.5 damage per hit +5.5 of fire damage though. If anyone knows the percent chance of it happening or knows any related information it would be greatly appreciated.
MKMoose Posted September 15 Report Posted September 15 (edited) Should be, based on the code: 0.5 damage on the initial hit, 10% chance to ignite under normal circumstances: 0.5 fire damage every 1 s (or possibly a little less frequently), 12 s fire duration, for total fire damage of 5.5. This would confirm your findings and result in an average of 0.5 + 0.1 * 5.5 = 1.05 damage per torch hit, though that is assuming the fire goes out before it's applied again. Frequent hits may slightly reduce the effective damage per hit. Edited September 15 by MKMoose 1 1
Cytosoul Posted September 15 Author Report Posted September 15 Thanks I appreciate the answer but where did you find that it was a 10% chance to ignite?
MKMoose Posted September 15 Report Posted September 15 (edited) In BlockTorch.OnAttackingWith() at BlockTorch.cs:239. There is actually a very interesting if strange interaction there as well - the chance to ignite increases to more than half during temporal storms, potentially all the way to 100% during heavy storms. public override void OnAttackingWith(IWorldAccessor world, Entity byEntity, Entity attackedEntity, ItemSlot itemslot) { base.OnAttackingWith(world, byEntity, attackedEntity, itemslot); float stormstr = api.ModLoader.GetModSystem<SystemTemporalStability>().StormStrength; if (!IsExtinct && attackedEntity != null && byEntity.World.Side == EnumAppSide.Server && api.World.Rand.NextDouble() < 0.1 + stormstr) { attackedEntity.Ignite(); } } Edited September 15 by MKMoose 1 1
Recommended Posts