[engine] tweak liminal alignment implementation

Brainstorm ideas of possible additions to the game. Read this before posting!

Moderator: Forum Moderators

Forum rules
Before posting a new idea, you must read the following:
Post Reply
User avatar
skeptical_troll
Posts: 475
Joined: August 31st, 2015, 11:06 pm

[engine] tweak liminal alignment implementation

Post by skeptical_troll »

I know there's been a lot of discussion on this and I don't want to reopen it. However the new implementation adopted for 1.15, which I believe is the one described here, presents some inconsistencies. On the positive side, the modification required should be trivial.

Problem with current liminal in 1.15
Since people didn't like to only have a malus, it gives instead a bonus at dusk/dawn. More precisely, if I interpreted right the code and the explanation, it check for the highest lawful bonus during the entire scenario schedule, call it X, and calculates the liminal bonus as max( X - | current lawful bonus|, 0) .

The source of the problem is the dependency on this 'maximum bonus' of lawful units. In underground scenarios it is -25, so this constrains liminal unit to always have bonus 0. This sounds reasonable at first, but it gets very confusing when combined with illumination. A mage of light has no impact whatsoever on liminal units underground, while in a normal schedule it works as expected. It gets even more confusing when there are underground areas inside a 'normal scenario'. There again illumination works as it should, giving a sweet +25% to liminal units.

How to test it
Just use debug mode in the dev version to put a dune explorer next to a mage of light in the three following situations
  • Standard schedule (or two suns, doesn't matter)
  • Pure underground scenario e,g, 'plunging into the darkness' in HttT
  • Underground area within a normal scenario, like the sorcerer's keep in 'siege of elensefar' in HttT
check how the damage is affected

proposed solution
Just make the liminal bonus as X - |lawful bonus| , with X = 25 or let X be a scenario-level parameters which defaults to 25. This would be equivalent to the current implementation in all the normal schedules so it won't affect the dunefolk rebalance, but it is easier to understand than the current solution and doesn't produce those inconsistencies. I personally prefer to let it go below zero (although a meager -5% on deep underground would hardly be noticed) , but I don't have a strong opinion about that bit.
Post Reply