I think you will need core edits unfortunately. It is relatively easy to do the three things you wish to do, by adding new spell effects to SpellEffects.cpp and then setting those on custom spells in the spell editor (you would add the new spell effect in the languages file for the spell editor).
The only one you might not need a core edit for is the stats, if you apply it as an aura that is never dispelled and cannot be cancelled. However, it would be better to not have it as an aura and instead permanently modify the characters stats.
In terms of the XP bar being hidden, this is controlled by the interface files client side. You would need to:
A) Disable the client signature check that prevents you modifying the client interface files (see here: https://www.ownedcore.com/forums/wor...n-remover.html ([Repost] SIG & MD5 Protection Remover))
B) Modify Interface/FrameXML/ReputationFrame.lua to change the max level:
Code:
-- Hard coded =(, will need to add entries for each expansion
MAX_PLAYER_LEVEL_TABLE = {};
MAX_PLAYER_LEVEL_TABLE[0] = 60;
MAX_PLAYER_LEVEL_TABLE[1] = 70;
MAX_PLAYER_LEVEL_TABLE[2] = 80;
These are the maximum levels for vanilla, TBC, and WOTLK.
Specifically the code hiding the XP bar:
Code:
if ( newLevel < MAX_PLAYER_LEVEL and not IsXPUserDisabled() ) then
MainMenuExpBar:Show();
MainMenuExpBar.pauseUpdates = nil;
MainMenuBarMaxLevelBar:Hide();
else
MainMenuExpBar:Hide();
MainMenuExpBar.pauseUpdates = true;
MainMenuBarMaxLevelBar:Show();
ExhaustionTick:Hide();
end
So you could test this in game by doing:
Code:
/script MainMenuExpBar:Show(); MainMenuBarMaxLevelBar:Hide(); MainMenuExpBar.pauseUpdates = nil;