Civcraft / Bastion

Do not open issues here; open them on the maintained fork @ DevotedMC
https://github.com/DevotedMC/Bastion
2 stars 9 forks source link

Enderpearl only erodes a single random Bastion, unlike block erode which respects blocksToErode #40

Closed ProgrammerDan closed 8 years ago

ProgrammerDan commented 8 years ago

@Maxopoly @rourke750 Opinions: should enderpearl erosion respect blocksToErode?

Apparently the current behavior is a single enderpearl only ever breaks a single bastion in the stack regardless of blocksToErode setting.

So, all the discussion about pearl artillery being OP is completely false as it currently stands; it's an easy change however to have ender pearls respect blocksToErode.

Maxopoly commented 8 years ago

It should break all the bastions, otherwise people will stack as many as possible and defeat the whole purpose of the balance changes

ProgrammerDan commented 8 years ago

Yeah, didn't want to make that call by myself, but totally agreed. I'm glad I'm doing this full codebase fine-tooth survey :)

IAPark commented 8 years ago

Yep that was from back when pearls were meant to be blocked in the air and thus the ground based blocking was just a fail safe (implemented before we switched to damage effecting all blocking Bastions). I should have remembered that.

The air based blocking was never set up in a way that it would have been easy to work out a list of blocking fields and it would really only matter if they were literal stacked in the same column

ProgrammerDan commented 8 years ago

Ok this is addressed deep within pull #41. Basically, erodeFromBlock and erodeFromPearl used to point to separate functions; now they point to a common function that just does the same thing (roughly) for each, calling the appropriate erode function based on erosion source.