I'm not sure what might be done by hex-editing vs. Lua, or what the difference really is, but there are a couple of things that I know have been done by hex-editing previously: moving cities next to each other and setting alliances for the barbarians. Both of these can be done by Lua now, I think.
Hex editing is when you take a saved game, and change something about it. For example, if you know the place in the saved game where a tribe's treasury is stored, you can change the number to change the tribe's treasury. Since the treasury can be changed via the cheat menu, you wouldn't normally hex edit to change a tribe's treasury. Lua provides a way to change most of the data in the game, so if I'm writing a Lua script anyway, it is easier to change that field in the active game.
I don't expect there to be many examples of tasks requiring hex editing, because hex editing is only necessary if TNO didn't realise that scenario designers would want to change a piece of data. The citizen count is a pretty niche application, since it is only relevant on the first turn of a scenario, and only if cities are captured on that turn. I'm just wondering if anyone can think of any others.
Since I said I would make note of the Lua method of doing things:
Moving a city:
relocate
city:relocate(tile) -> boolean
Relocates the city to the location given by `tile`. Returns `true` if successful, `false` otherwise (if a city is already present for example).
Setting Barbarian Alliances:
diplomacy.setAlliance (if using the template) or
treaties (get/set)
tribe.treaties[otherTribe] -> integer
Returns the tribe's treaties with `otherTribe`.
1) allow more options for the calendar. Allow multiples of days and weeks to be configured, eg. May - Week I, II, III, IV, or October 29, 30, November 1, 2, 3... and so on,
This can be done using the file onGetFormattedData.lua if using the Template, or with the civ.scen.onGetFormattedDate function if not.
If anyone wants a custom calendar, please do not hesitate to ask me.
2) Make the happiness of fundamentalism configurable. For example, instead of all citizens being content, make only 2 or 3 content. Right now Fundamentalism is too strong once you've got the key technologies.
Unfortunately, the city happiness calculation is one of the mechanics that we can't control with Lua. We
can change the first citizen unhappy size on a city by city basis, but that doesn't help with fundamentalism. Lua does enable a lot of other dastardly drawbacks, such as not being able to build certain improvements, or even direct production penalties.
Another idea: can you change the effect of wonders?
You can condition code on whether a tribe has a particular wonder, and you can change when a wonder expires, if you want to remove its original effect.
IMO, there are too many happiness wonders and not enough economic and agricultural ones. Wonders that allow a player to increase either the food, shield or trade output of a specific terrain might be useful.
The Custom Cosmic module has settings for customised terrain production, so this could be done easily.
Or increase the advantage of a particular type of improvement.
The improvement advantages are hard coded, but that wouldn't stop you from giving them some
extra benefit, such as marketplaces giving a city trade arrows in addition to the tax/luxury production.
Or perhaps another diplomatic wonder, say allowing the player to reset the alliances of another civ once only. Or to change the type of government of one other civ for a fixed number of turns.
These could be done.
1.Is it possible by hexediting to enable the atttack animations for defending animated units during the combat ?
2. Is it possible by hexediting to give the different units different sounds during their movement ?
These aren't achievable with hex editing or Lua. Well, 2 might be achievable if you're OK with a scenario event repeatedly changing sound files on the player's computer.