Alright, more on the multiplayer front. I was told it may be the count_x100 values that were 0'd out so I tried changing those all to 100. Still only one person gets xp.
I tried it with and without setxp.
I noticed it's actually the party leader that gets xp each time while others get jack, so I tried unflagging 'only one party.' Without being grouped everyone gets xp for their kills normally. As soon as a party is formed, though, only leader gets xp again. If leadership is transferred, XP reception is transferred as well.
prc_xp_max_level_diff isn't set, however I made sure that everyone involved (including the skeletal summons) were all level 2. Besides, regardless of who gets the kill leader is always the only one to collect the xp.
I suppose I could remedy this by just awarding levels each time party leader levels, but that wouldn't make it any less broken. :(
I pulled this from prc_ondeath, but I can't make sense of it. It may be relevant so I'm including it here:
if(GetPRCSwitch(PRC_XP_USE_PNP_XP))
{
if(GetObjectType(oKiller) == OBJECT_TYPE_TRIGGER)
oKiller = GetTrapCreator(oKiller);
if(oKiller != oDead
&& GetIsObjectValid(oKiller)
&& !GetIsFriend(oKiller, oDead)
&& (GetIsObjectValid(GetFirstFactionMember(oKiller, TRUE))
|| GetPRCSwitch(PRC_XP_GIVE_XP_TO_NON_PC_FACTIONS)))
{
GiveXPRewardToParty(oKiller, oDead);
My ondeath script isn't set to prc_ondeath, but everytime I've mentioned it no one has seemed to think that was relevant. So I'm guessing it's not. I, quite frankly, don't understand the implications of changing those events.