garbagemule / MobArena

MobArena plugin for Minecraft
GNU General Public License v3.0
195 stars 151 forks source link

Add `remove-armor-percentage` for mobs #723

Closed molor closed 2 years ago

molor commented 2 years ago

Feature request

I forgot about this yesterday..

Short description

Currently, any mob armor is removed on mob spawn. I think that this can be made customizable.

Implementation details

Add setting like remove-armor-percentage that defaults to 100 % (to keep old behavior — remove any armor), that specifies the chance (0..100) of removing mob's armor if they have it. This will NOT give random armor to the mob, this will remove this random armor with specified percentage if the server "decided" to give it to the mob during spawn.

In our case, this can make the fight more diverse, mainly due to the fact that dozens of zombies will not look the same.

Nesseley commented 2 years ago

Pretty sure this should be a feature for the rework. I remember some talk about making it possible to spawn armor on monsters after the rework, and it would make sense to just implement a % chance then for armor.

molor commented 2 years ago

No need to add armor to unarmored entity, noo

This will NOT give random armor to the mob

Just replace this line https://github.com/garbagemule/MobArena/blob/master/src/main/java/com/garbagemule/MobArena/waves/MACreature.java#L95 with something like if (Math.random() > remove-armor-percentage) e.getEquipment().setArmorContents(NO_ARMOR);

garbagemule commented 2 years ago

While customization can be great, this sort of hyper-specific behavior fixed in all dimensions except for randomness is not a very useful manifestation of the concept. There is zero room for actual customization, and I can't see this being used as anything but "on" or "off", whatever those states might mean, especially because even in the "on" state, where monster armor isn't removed, it's still completely random if monsters get armor or not.

I'm gonna close this in favor of #351, but it's worth keeping the idea of randomization in mind for the Mobs Rework.