These are all base damages. The exp1 and 2 are for TBC and WOTLK. Just like basehp0, 1 and 2.
In creature_template mindmg and maxdmg are no longer used.
The damage calculation is handled in many places and seems quite some things are in it so I just took a quick look here and there.
All in all it seems that the damage_base would be the min damage, which is multiplied by 1.5 to get max damage and then it is possibly modified in damage calculation when hitting someone by attack power etc.
Since the core sets min and max damage apart, you cant hit the same amount again and again (its a damage range, not a fixed amount).
I suggest you try setting attack power and all damage fields for the NPC to 0 (multipliers to 1 would be best probably) and then set base damage to.. 1 or some other easy value like 1000 etc.
Then try adjusting the damage with the dmg multiplier.
So just make a simple test for example that you set the base damage to 1 and then set dmg multiplier to 10. If you hit around 10-15, its pretty safe to assume this is correct.
I did not test this.
Here is a piece of code that might help you:
float attackPower = GetTotalAttackPowerValue(attType); // attack power
float attackSpeedMulti = GetAPMultiplier(attType, normalized); // some attack power multiplier, not to be concerned about I guess.
float baseValue = GetModifierValue(unitMod, BASE_VALUE) + (attackPower / 14.0f); // unit_mod is UNIT_MOD_DAMAGE_MAINHAND etc, so these values are from damage enhancing spells etc
float basePct = GetModifierValue(unitMod, BASE_PCT) * attackSpeedMulti; // unit_mod is UNIT_MOD_DAMAGE_MAINHAND etc, so these values are from damage enhancing spells
float totalValue = GetModifierValue(unitMod, TOTAL_VALUE); // unit_mod is UNIT_MOD_DAMAGE_MAINHAND etc, so these values are from damage enhancing spells
float totalPct = addTotalPct ? GetModifierValue(unitMod, TOTAL_PCT) : 1.0f; // unit_mod is UNIT_MOD_DAMAGE_MAINHAND etc, so these values are from damage enhancing spells
float dmgMultiplier = GetCreatureTemplate()->dmg_multiplier; // = dmg_multiplier * _GetDamageMod(rank); // dmg multiplier from creature_template
minDamage = ((weaponMinDamage + baseValue) * dmgMultiplier * basePct + totalValue) * totalPct;
maxDamage = ((weaponMaxDamage + baseValue) * dmgMultiplier * basePct + totalValue) * totalPct;