Yes yes yes oh god yes thank you yes. I will spend the next 15 years modding this game now. This is all I ever wanted from the script extender and more.
Being object oriented certainly is interesting, I agree.
So hard-code can only be altered using the source code?
I am really showing my ignorance by asking why does anything have to be hardcoded?
The CS/CK is used to generate the game's
content, but not usually it's mechanics. Bethesda uses the CS/CK to create cells and world, NPCs and dialogue, quests and scripts, items and spells, etc.
For example, the CS/CK is used to create a weapon — you can determine its type, damage values, weight, gold values, attack speed, name, enchantment, etc. etc. However, the concept of a "weapon", including things like "it needs damage values and a name and such" are all things that are hard-coded. This is because the game needs to know what to
do with it — it needs to know that it can be equipped, and when it's equipped it goes in the actor's hand, and when the actor attacks it uses this skill and those damage values and it takes that long, etc, looking up the specific numbers as defined in the CS/CK.
So the hardcoded aspect defines what
types of values a given object has, while the CS/CK allows you to change the actual
value of each of those values. Ultimately, the only things that the CS/CK can edit are the things that Bethesda's content developers
needed to be able to edit in order to create the game. To give an example from Oblivion, they needed to be able to create spells from various effects — but had no need to create new magic effects on the fly. It was easier for all of the spells to be created by using the various existing effects in various combinations. I'm sure at some points they decided to go and add a new effect — Reanimate for one, most likely — but that was literally a content developer e-mailing the engine-developer that he needed a new effect to be added, and the engine developer hard-coded it in.
This is generally a matter of what's worth it to Bethesda. Things that can be modified in the CS/CK are more flexible and easily used, but you have to design the tools within the CS/CK to make that possible; if you're not going to use that flexibility, it's a waste of time to code the tools.
For modders, altering hard-coded things requires reverse-engineering the executable, determining where the code that causes it currently uses is, and writing a hook to change that code. This is what SKSE does to add new scripting functions: it hooks the game's code that lists out all of the functions, and adds new entries to the list.