Cytosoul Posted Tuesday at 04:36 PM Report Posted Tuesday at 04:36 PM 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 Tuesday at 04:46 PM Report Posted Tuesday at 04:46 PM (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 Tuesday at 05:23 PM by MKMoose 1
Cytosoul Posted Tuesday at 07:20 PM Author Report Posted Tuesday at 07:20 PM Thanks I appreciate the answer but where did you find that it was a 10% chance to ignite?
MKMoose Posted Tuesday at 07:32 PM Report Posted Tuesday at 07:32 PM (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 Tuesday at 07:33 PM by MKMoose 1
Recommended Posts