It's a difficult task to classify what is more or less desirable, because sometimes even what may sound like something insignificant, can block you in the development of an idea if it is not available.
Anyways, here is the list:
GetGlobalCreatureUpgradeCost(value) and more
WaitEndOfEvent()
New Callbacks
StopHeroMove()
GetHeroMovepoints(hero) and more
GetTownOwner(town)
HasBuildingBuiltInTown(town, building) and more
GetCreatureInDwelling(town, creature) and more
GetCreatureGrowth(town, creature) and more
GetHeroFaction(hero)
GetCreatureQuantityInGarrison(town, creature) and more
SetLocationState(type, x, y, state)
GetMorale(hero) and more
GetCaptain(town) and more
GetCreaturesInGeneratorQuantity(x, y) and more
CountEmptyArmySlots(hero) and more --> CountEmptyArmySlots(hero), CountSameCreature(hero, creature), CountSameArtifact(hero, artifact), IsHeroInTown(hero), IsHeroInBoat(hero), IsHeroOnLand(hero), IsHeroControlledByAI(hero)
GetArmyInSlotCreature(hero, slot) and more
IsBattleInTown() and more
SetHeroForHire(player, n, hero, keep)
IsPlayerActive(player) and more
BattleGetCurrentTurn() and more
GetAttackBallista(town) and more
HasHeroSpell(hero, spell) and more
MakeCreatureVanish(creature) and more
"GrantArtifact" enhanced version
HasSpellInGuild(town, spell) and more
"BuildInCurrentTown" enhanced version
"BuildInTown" enhanced version
"SetTownOwner" enhanced version
"MapPutArmy" enhanced version
MapRemoveArmy(x, y, creature)
AddPrimarySkill(hero, skill, quantity, duration) and more
SelectionBox(msg, list)
GetResourceGeneratorOwner(type, x, y) and more
GetLocationSpell(type, x, y) and more
IsMapEmpty(x, y) and more
GetNumTowns(player, type, faction)
GetCreatureCost(creature, resource) and more
...
...