I dropped around 30% of regular customs and added only stuff which can be useful for developers (notably commands for zone system, movie maker,...) . I don't remember I added a single custom so far.
The most used pack is L2JFrozen. Even after 1y without any update, they still have more people on their forums than aCis'. If you ask why, it's because of following :
a urban legend : "aCis is hard to use", while my point is to easier my own work adding useful methods / commands.
another urban legend : "aCis is private", regular point of people who didn't even read "Announcements" section.
people who doesn't like me : I'm kinda special and as I'm the project leader, it means you have to communicate with me.
my pack is in heavy WIP since years (quests and GBs), which can freeze numerous people to use it as a stable base.
people are lazy / don't have knowledge to add customs, while my pack claims to be "customs free" : aka you add whatever you want and I'm not involved about what you add.
About the "broken" attribute, it's a joke coming from the time where L2JFrozen team wasn't even testing what they commited, and had to revert (happened numerous times). Their commits were also weird like a commit of a single added space in a single file. Lately (on the 30 latest or so), they improved commits quality by a lot, but they currently stopped developement due to IRL stuff. Nefer counts to commit anew around that month or October.
About real use of aCis pack, I don't know it myself. Some people seems not proud to use aCis and don't say it for sure. But it's easy to know if it's aCis simply logging in and testing few things than only my pack has.
Put some logs in Gameserver.java and you will know timers. At the beginning you store current time, then everytime you load something you put a log about current time - stored time, the diference = the loading time.
You can reuse any boolean of Wyatt in Me. Adding your own variables in Me are only shared amongst classes extending Me, or Me itself.
On a L2J base :
L2PcInstance extends L2Playable which extends itself L2Character. Meaning a L2PcInstance can reuse stuff from L2Character.
L2PetInstance extends L2Summon which extends L2Playable which extends L2Character.
As you can see the relation between players and summons stop at L2Playable, meaning whatever you edit at and before L2Playable can affect both.
On another note, you can override methods content with @override. Overriden methods means you "re-write" content of the method to fit with your class.
To take an example, isAutoAttackable() is overriden following cases : returning always true for L2Character, but not always true for summons and players.
So if you don't rewrite anything it will fully inherit, but you can give exceptions to that previous statement using override.
Hope it's clear. If it's not, consider to use a paper and a pencil and draw a tree. I give you the beginning :