The 'soulforce' displayed in the client is actually false, its just a representation for the player.
The actual calculation is hardcoded in the GS and called 'soulpower' in places. I don't think anybody has been able to edit its calculation yet, its very illusive.
As for ID being static, yes you can change them but you also have to change their listing in the GS and in the Elementclient.exe. I did this once to wipe world trumpets.
When the server loads up IDs are put into 5 indexes (hashmaps). As of version 66 they are:
Code:
===addon_id_index===
EQUIPMENT_ADDON
MONSTER_ADDON
===talk_id_index===
NPC_TALK_SERVICE
===face_id_index===
FACE_TEXTURE_ESSENCE
FACE_SHAPE_ESSENCE
FACE_EMOTION_TYPE
FACE_EXPRESSION_ESSENCE
FACE_HAIR_ESSENCE
FACE_MOUSTACHE_ESSENCE
COLORPICKER_ESSENCE
CUSTOMIZEDATA_ESSENCE
FACE_FALING_ESSENCE
FACE_HAIR_TEXTURE_MAP
FACE_THIRDEYE_ESSENCE
===config_id_index===
ENEMY_FACTION_CONFIG
CHARRACTER_CLASS_CONFIG
PARAM_ADJUST_CONFIG
PLAYER_ACTION_INFO_CONFIG
PLAYER_LEVELEXP_CONFIG
PLAYER_SECONDLEVEL_CONFIG
UPGRADE_PRODUCTION_CONFIG
ACC_STORAGE_BLACKLIST_CONFIG
MULTI_EXP_CONFIG
GOD_EVIL_CONVERT_CONFIG
WEDDING_CONFIG
FACTION_FORTRESS_CONFIG
WIKI_TABOO_CONFIG
===recipe_id_index===
RECIPE_MAJOR_TYPE
RECIPE_SUB_TYPE
RECIPE_ESSENCE
ENGRAVE_MAJOR_TYPE
ENGRAVE_SUB_TYPE
ENGRAVE_ESSENCE
RANDPROP_TYPE
RANDPROP_ESSENCE
===essence_id_index===
everything else.
You cannot have 2 of the same IDs in an index, it works as a primary key. You also cannot have 0 or NULL.