[MODCOMP]Broader Alignment

Grey Fox

Master of Points
Joined
Dec 19, 2001
Messages
8,726
Location
Sweden
__________________________________________________

Fall from Heaven 2: Broader Alignments
by Grey Fox
for Fall from Heaven 2 v031e
version: 1.1
Download Fall from Heaven 2: Broader Alignments
__________________________________________________

On demand from the fellow FfH2 modding community (Magister in particular :p),
I am now releasing my Broader Alignments mod.

What is Broader Alignments?
Broader Alignment adds a new Alignment attribute to players, called Broad Alignment.
It is a value from -511 to +511, where -511 to -171 is Evil, -170 to +170 is Neutral, and 171 to 511 is Good, this makes 341 steps per alignment.
Each leader then start with a certain base alignment value, and it can then change in multiple ways during the game. By religion, civics, training units, constructing buildings, researching techs, using promotions, casting spells and events.

The biggest difference between this system and the original is that more actions matter. Religion changes isn't so strict in alignment changes. Not every Neutral player turns Evil by going OO, and not every Evil civ turns Good from going for the Order for example. Some civics change your alignment a bit, and eventually Events can change your alignment as well.

NEW! (and unrelated to alignments)
Version 1.1 also includes PyPostCombatLost and PyPostCombatWon on promotions. And PyPerTurn on units.
Techs can require bonuses (not tested yet though).
Notes
Even though Events CAN change your alignment, I haven't added any changes to the events yet,
there are just so many events. I will do this sometime later, unless someone does it for me first. ;)

The Global Defines added to the mod determine the range which the Alignment spans. BROADER_ALIGNMENT_EVIL_MIN, BROADER_ALIGNMENT_EVIL_MAX, BROADER_ALIGNMENT_GOOD_MIN and BROADER_ALIGNMENT_GOOD_MAX have been added. The Neutral range is the span between BROADER_ALIGNMENT_EVIL_MIN, and BROADER_ALIGNMENT_GOOD_MIN.
BROADER_RAZE_BASE_MODIFIER - Used as the base for the population part of the formula. Only counts if population is above 1 or the city have culture.
BROADER_RAZE_MODIFIER - Counts for every 2 population, same conditions as the Base modifier.
BROADER_POPRUSH_BASE_MODIFIER - The base for the Alignment modifier when pop rushing.
BROADER_POPRUSH_MODIFIER - Alignment modifier per population point rushed

Important Notice: The values I've used for the leaders, religions and civics etc, are just what I felt was right atm and I haven't put much thought into them. Please come with your own suggestions. I also need help with what Events choices need to modify the Alignment.
INSTALLATION GUIDE

1) Copy the Fall from Heaven 2 031 folder and rename it properly
2) Copy all the contents of this mod into the folder, overwrite when it asks
3) Make a shortcut to the mod or start the mod like you start any other mod. (Or load mod in Civ4 BTS menu)(Or load mod in Civ4 BTS menu)
Spoiler Changed SDK Files :
Changed SDK Files
CvCity.cpp
CvGameTextMgr.cpp
CvInfos.cpp
CvInfos.h
CvPlayer.cpp
CvPlayer.h
CvTeam.cpp
CvUnit.cpp
CvUnit.h
CyInfoInterface1.cpp
CyInfoInterface3.cpp
CyPlayer.cpp
CyPlayer.h
CyPlayerInterface2.cpp
CyUnit.cpp
CyUnit.h

These files are located in the folder [Changed SDK Files].

Check the changelog for exposed functions to Python.
Spoiler Changelog :
__________________________________________________
Changelog
__________________________________________________

______________________________________________
Version 1.1 - Started 04/08/2008

Notes:
Conversion to 031e went smoothly.

Additions:
1. Added an alignment meter to the interface in CvMainInterface.py.
2. Added BROADER_RAZE_BASE_MODIFIER to the Defines. Defines how much razing a city changes your alignment.
3. Added BROADER_RAZE_MODIFIER to the Defines. Defines how much razing a city changes your alignment per every other population point (this*population/2).
4. Added BROADER_POPRUSH_BASE_MODIFIER to the Defines. Defines how much poprushing changes your alignment.
5. Added BROADER_POPRUSH_MODIFIER to the Defines. Defines how much poprushing changes your alignment.
6. Added iAlignmentModifier to CIV4UnitInfos.xml, CIV4PromotionInfos.xml, CIV4SpellInfos.xml, CIV4BuildingInfos.xml, CIV4ProjectInfo.xml, and CIV4TechInfos.xml
7. Added iPrereqBroadAlignment to CIV4UnitInfos.xml, CIV4PromotionInfos.xml, CIV4SpellInfos.xml, CIV4BuildingInfos.xml, and CIV4ProjectInfo.xml
8. BROADER_RAZE_BASE_MODIFIER set to -2
9. BROADER_RAZE_MODIFIER set to -1
10. BROADER_POPRUSH_BASE_MODIFIER set to -1
11. BROADER_POPRUSH_MODIFIER set to -1
12. SPELL_CONSUME_SOUL iAlignmentModifier set to -3
13. SPELL_FEAST iAlignmentModifier set to -3
14. Started adding game text.
15. Added iPrereqBroadAlignment to Civ4TechInfos.xml
16. Added iFirstToTechAlignmentModifier to Civ4TechInfos.xml
17. Added BonusPrereq to Civ4TechInfos.xml
18. Exposed getAlignmentModifier() to python from CvLeaderHeadInfo
19. Exposed getAlignmentModifier() to python from CvCivicInfo
20. Exposed getPrereqBroadAlignment() to python from CvBuildingInfo
21. Exposed getAlignmentModifier() to python from CvBuildingInfo
22. Exposed getPrereqBroadAlignment() to python from CvTechInfo
23. Exposed getAlignmentModifier() to python from CvTechInfo
24. Exposed getFirstToTechAlignmentModifier() to python from CvTechInfo
25. Exposed getBonusPrereq() to python from CvTechInfo
26. Exposed getPrereqBroadAlignment() to python from CvPromotionInfo
27. Exposed getAlignmentModifier() to python from CvPromotionInfo
28. Exposed getPrereqBroadAlignment() to python from CvUnitInfo
29. Exposed getAlignmentModifier() to python from CvUnitInfo
30. Exposed getPrereqBroadAlignment() to python from CvProjectInfo
31. Exposed getAlignmentModifier() to python from CvProjectInfo
32. Exposed changeBroadEventModifier(int iChange) to python from CvPlayer
33. Exposed updateAlignment() to python from CvPlayer
34. Added PyPostCombatLost and PyPostCombatWon to Civ4PromotionInfos.xml
35. Added iSpellExtraRange to Civ4PromotionInfos.xml
36. Added PyPerTurn to Civ4UnitInfos.xml
37. Exposed int getSpellExtraRange() to python from CvUnit
38. unloadAll() added before kill() in doTurn() if duration == 0 - as requested by MagisterCultuum

Python Help
use pPlayer.changeBroadEventModifier(iChange) to change a players alignment
use pPlayer.updateAlignment() to update a players alignment on demand (it will update next turn otherwise)

Changes:
- Set USE_ON_UPDATE_CALLBACK to 1 in PythonCallbackDefines.xml
- Put some Screen update code in onUpdate() to show the change in alignment as it changes.
- LEADER_BASIUM iAlignmentModifier set to 400
- LEADER_SABATHIEL iAlignmentModifier set to 370
- LEADER_CAPRIA iAlignmentModifier set to 330
- LEADER_CARDITH iAlignmentModifier set to 320
- LEADER_VARN iAlignmentModifier set to 310
- LEADER_EINION iAlignmentModifier set to 300
- LEADER_ETHNE iAlignmentModifier set to 290
- LEADER_GARRIM iAlignmentModifier set to 185
- LEADER_BEERI iAlignmentModifier set to 185
- LEADER_ARENDEL iAlignmentModifier set to 180
- LEADER_ARTURUS iAlignmentModifier set to 150
- LEADER_KANDROS iAlignmentModifier set to 150
- LEADER_DAIN iAlignmentModifier set to 60
- LEADER_RHOANNA iAlignmentModifier set to 50
- LEADER_FALAMAR iAlignmentModifier set to 40
- LEADER_AMELANCHIER iAlignmentModifier set to 20
- LEADER_SANDALPHON iAlignmentModifier set to 10
- LEADER_CASSIEL iAlignmentModifier set to 0
- LEADER_THESSA iAlignmentModifier set to -20
- LEADER_TASUNKE iAlignmentModifier set to -50
- LEADER_VALLEDIA iAlignmentModifier set to -60
- LEADER_HANNAH iAlignmentModifier set to -160
- LEADER_MAHALA iAlignmentModifier set to -175
- LEADER_AURIC iAlignmentModifier set to -180
- LEADER_KEELYN iAlignmentModifier set to -190
- LEADER_SHEELBA iAlignmentModifier set to -200
- LEADER_CHARADON iAlignmentModifier set to -220
- LEADER_JONAS iAlignmentModifier set to -230
- LEADER_PERPENTACH iAlignmentModifier set to -290
- LEADER_FAERYL iAlignmentModifier set to -300
- LEADER_FLAUROS iAlignmentModifier set to -310
- LEADER_ALEXIS iAlignmentModifier set to -330
- LEADER_OS-GABELLA iAlignmentModifier set to -360
- LEADER_TEBRYN iAlignmentModifier set to -365
- LEADER_HYBOREM iAlignmentModifier set to -400
- LEADER_BARBARIAN iAlignmentModifier set to -245
---------------------------------------------------
- RELIGION_THE_ORDER iAlignmentModifier set to 512
- RELIGION_OCTOPUS_OVERLORDS iAlignmentModifier set to -256
- RELIGION_RUNES_OF_KILMORPH iAlignmentModifier set to 256
- RELIGION_THE_EMPYREAN iAlignmentModifier set to 384
- RELIGION_COUNCIL_OF_ESUS iAlignmentModifier set to -384
- RELIGION_ASHEN_VEIL iAlignmentModifier set to -512
---------------------------------------------------
- CIVIC_CONSUMPTION iAlignmentModifier set to -6
- CIVIC_LIBERTY iAlignmentModifier set to 10
- CIVIC_CONSUMPTION iAlignmentModifier set to -6
- CIVIC_SACRIFICE_THE_WEAK iAlignmentModifier set to -32
- CIVIC_OVERCOUNCIL iAlignmentModifier set to 24
- CIVIC_UNDERCOUNCIL iAlignmentModifier set to -24
---------------------------------------------------
- BUILDING_ASYLUM iAlignmentModifier set to -5
- BUILDING_CITY_OF_A_THOUSAND_SLUMS iAlignmentModifier set to -8
- BUILDING_DEMONS_ALTAR iAlignmentModifier set to -10
- BUILDING_DUNGEON iAlignmentModifier set to -5
- BUILDING_DWARF_CAGE iAlignmentModifier set to -5
- BUILDING_ELF_CAGE iAlignmentModifier set to -5
- BUILDING_HUMAN_CAGE iAlignmentModifier set to -5
- BUILDING_ORC_CAGE iAlignmentModifier set to -5
- BUILDING_HOPE iAlignmentModifier set to 1
- BUILDING_INFIRMARY iAlignmentModifier set to 1
- BUILDING_INFERNAL_GRIMOIRE iAlignmentModifier set to -5
- BUILDING_MERCURIAN_GATE iAlignmentModifier set to 10
- BUILDING_MOKKAS_CAULDRON iAlignmentModifier set to -5
- BUILDING_PILLAR_OF_CHAINS iAlignmentModifier set to -10
- BUILDING_PROPHECY_OF_RAGNAROK iAlignmentModifier set to -15
- BUILDING_SHRINE_OF_SIRONA iAlignmentModifier set to 10
- BUILDING_SMUGGLERS_PORT iAlignmentModifier set to -1
- BUILDING_SOUL_FORGE iAlignmentModifier set to -10
- BUILDING_TOWER_OF_COMPLACENCY iAlignmentModifier set to -10
- BUILDING_TOWER_OF_NECROMANCY iAlignmentModifier set to -5
---------------------------------------------------
- TECH_CORRUPTION_OF_SPIRIT iAlignmentModifier set to -10
- TECH_DECEPTION iAlignmentModifier set to -7
- TECH_DIVINATION iAlignmentModifier set to 3
- TECH_HONOR iAlignmentModifier set to 7
- TECH_INFERNAL_PACT iAlignmentModifier set to -10
- TECH_INFERNAL_PACT iFirstToTechAlignmentModifier set to -10
- TECH_MALEVOLENT_DESIGNS iAlignmentModifier set to -10
- TECH_MESSAGE_FROM_THE_DEEP iAlignmentModifier set to -5
- TECH_MIND_STAPLING iAlignmentModifier set to -5
- TECH_NECROMANCY iAlignmentModifier set to -3
- TECH_ORDERS_FROM_HEAVEN iAlignmentModifier set to 15
- TECH_POISONS iAlignmentModifier set to -3
- TECH_RIGHTEOUSNESS iAlignmentModifier set to 15
- TECH_WAY_OF_THE_EARTHMOTHER iAlignmentModifier set to 5
- TECH_WAY_OF_THE_WICKED iAlignmentModifier set to -5
- TECH_WAY_OF_THE_WISE iAlignmentModifier set to 5
---------------------------------------------------
- Notes on units: I was unsure of what to set these too, so I just set em at a relatively low value
- UNIT_DISEASED_CORPSE iAlignmentModifier set to -1
- UNIT_PYRE_ZOMBIE iAlignmentModifier set to -1
- UNIT_DROWN iAlignmentModifier set to -1
- UNIT_DEATH_KNIGHT iAlignmentModifier set to -1
- UNIT_DUIN iAlignmentModifier set to -2
- UNIT_DONAL iAlignmentModifier set to 4
- UNIT_CORLINDALE iAlignmentModifier set to 5
- UNIT_CHALID iAlignmentModifier set to 4
- UNIT_BEAST_OF_AGARES iAlignmentModifier set to -5
- UNIT_ROSIER iAlignmentModifier set to -4
- UNIT_ABASHI iAlignmentModifier set to -4
- UNIT_EIDOLAN iAlignmentModifier set to -4
- UNIT_EUROBATRES iAlignmentModifier set to 4
- UNIT_HEMAH iAlignmentModifier set to -2
- UNIT_MARDERO iAlignmentModifier set to -5
- UNIT_MARY iAlignmentModifier set to -2
- UNIT_MESHABBER iAlignmentModifier set to -6
- UNIT_PALADIN iAlignmentModifier set to 4
- UNIT_PARAMANDER iAlignmentModifier set to 2
- UNIT_SHADOWRIDER iAlignmentModifier set to -2
- UNIT_SPHENER iAlignmentModifier set to 6
- UNIT_STYGIAN_GUARD iAlignmentModifier set to -2
- UNIT_TEUTORIX iAlignmentModifier set to 2
- UNIT_VALIN iAlignmentModifier set to 4
- Raze formula takes in acount the effect the city has on the AC.
(Lowers the evil score by the amount the city affects the AC, so if razing the city
would give you -5 evil, and the city had a +5 AC effect, your alignment won't change)

______________________________________________
Version 1.0 - Started 04/03/2008

Notes: Started work on Broader Alignments, Broad Alignment is a value from
-511 to +511, where -511 to -171 is Evil, -170 to +170 is Neutral,
171 to 511 is Good, this makes 341 steps per alignment

Even though Events CAN change your alignment, I havn't added any changes
to the events yet. There are just so many events. I will do this sometime
later, unless someone does it for me first. ;)

Additions:
- Added the iAlignmentModifier attribute to Civ4LeaderHeadInfos.xml, CIV4ReligionInfos.xml,
CIV4CivicInfos.xml, and to CIV4EventInfos.xml
- Added the iAlignmentModTowardsNeutral attribute to CIV4EventInfos.xml
- Added the iPrereqBroadAlignment attribute to CIV4EventTriggerInfos.xml
The following attributes need to be modified based on input from Kael, the developement team
and the rest of the FfH2 community. I based them on how the religions change alignments in the current implementation.
- RELIGION_LEAVES iAlignmentModifier set to 0 (meaning it won't change your alignment)
- RELIGION_THE_ORDER iAlignmentModifier set to 256
- RELIGION_OCTOPUS_OVERLORDS iAlignmentModifier set to -128
- RELIGION_RUNES_OF_KILMORPH iAlignmentModifier set to 128
- RELIGION_THE_ASHEN_VEIL iAlignmentModifier set to -256
- RELIGION_THE_EMPYREAN iAlignmentModifier set to 192
- RELIGION_COUNCIL_OF_ESUS iAlignmentModifier set to -192
Basically, Leaves won't change your religion, Order and Veil will bring you quite a bit towards
their alignments, RoK and OO will bring you half as far, and Empyrean and CoE in between.


With the leaders I set Sabathiel at halfway from neutral to max good, every good leader after
Sabathiel I reduced with 24, which is 1/7th of 170. And 170 is half of
341, and each alignment has 341 steps (check Notes above).
These will also need input, but I based these values on what order the
civs are placed in the selection list, which obviously is from Good to
Evil.
- LEADER_BARBARIAN iAlignmentModifier set to -245 (Same as Sheelba)
- LEADER_SABATHIEL iAlignmentModifier set to 341
- LEADER_CAPRIA iAlignmentModifier set to 341
- LEADER_VARN iAlignmentModifier set to 317
- LEADER_ETHNE iAlignmentModifier set to 293
- LEADER_EINION iAlignmentModifier set to 293
- LEADER_BASIUM iAlignmentModifier set to 269
- LEADER_GARRIM iAlignmentModifier set to 245
- LEADER_BEERI iAlignmentModifier set to 245
- LEADER_CARDITH iAlignmentModifier set to 221
- LEADER_ARENDEL iAlignmentModifier set to 197
- LEADER_THESSA iAlignmentModifier set to 161
- LEADER_AMELANCHIER iAlignmentModifier set to 149
- LEADER_ARTURUS iAlignmentModifier set to 72 (Should Arturus be closer to good than Kandros?)
- LEADER_KANDROS iAlignmentModifier set to 72
- LEADER_SANDALPHON iAlignmentModifier set to 48
- LEADER_FALAMAR iAlignmentModifier set to 24
- LEADER_CASSIEL iAlignmentModifier set to 0
- LEADER_RHOANNA iAlignmentModifier set to -24
- LEADER_TASUNKE iAlignmentModifier set to -24
- LEADER_VALLEDIA iAlignmentModifier set to -48
- LEADER_DAIN iAlignmentModifier set to -48
- LEADER_HANNAH iAlignmentModifier set to -72 (Should Hannah and Falamar have the exact same alignment, it feels right to have Hannah more towards evil?)
- LEADER_AURIC iAlignmentModifier set to -197
- LEADER_CHARADON iAlignmentModifier set to -218
- LEADER_MAHALA iAlignmentModifier set to -218
- LEADER_KEELYN iAlignmentModifier set to -239
- LEADER_PERPENTACH iAlignmentModifier set to -239
- LEADER_JONAS iAlignmentModifier set to -260
- LEADER_SHEELBA iAlignmentModifier set to -260
- LEADER_FAERYL iAlignmentModifier set to -281
- LEADER_ALEXIS iAlignmentModifier set to -302 (Should Alexis be more evil than Flauros?)
- LEADER_FLAUROS iAlignmentModifier set to -302
- LEADER_TEBRYN iAlignmentModifier set to -323
- LEADER_OS-GABELLA iAlignmentModifier set to -323
- LEADER_HYBOREM iAlignmentModifier set to -341

All leaders above follow the pattern I described, somewhat.
There is also a small gap between Neutral and the other two. But that is as it should
I think. The odd one in this group is Hannah, which differ quite alot in alignment from
her leader partner. But I feel I got her alignment down quite right. With Octopus Overlords, she'll
go Evil, but Falamar won't. Everyone at 24 to -24 won't change from neutral with just
RoK or OO.

For Civics I did the following: (As with the others these need input and testing)
- CIVIC_CONSUMPTION iAlignmentModifier set to -4
- CIVIC_LIBERTY iAlignmentModifier set to +4
- CIVIC_SLAVERY iAlignmentModifier set to -16
- CIVIC_MILITARY_STATE iAlignmentModifier set to -4
- CIVIC_CONQUEST iAlignmentModifier set to -4
- CIVIC_SACRIFICE_THE_WEAK iAlignmentModifier set to -24
- CIVIC_FEND_FOR_THEMSELVES iAlignmentModifier set to -12
- CIVIC_PROTECT_THE_MEEK iAlignmentModifier set to +12
- CIVIC_PUBLIC_HEALERS iAlignmentModifier set to +24
- CIVIC_OVERCOUNCIL iAlignmentModifier set to +16
- CIVIC_UNDERCOUNCIL iAlignmentModifier set to -16
 
Do you lose druids (and similar units) if you change alignment?

If so, might need to change how alignment specific units work...
 
Excellent!

Is there a function for alignment "drift"? A per-turn alignment change?

How do you add alignment changes to events?

Hmm... what do I have to do to be "Good" with Ashen Veil as my state religion? :) "New Family Friendly Mass-Sacrifice Policy!" "Come and see what diseased corpses can do for you!"
 
I think it's impossible atm, but if you are Sabathiel or Capria, you would probably only be neutral (Actually, all good leaders will be neutral with Veil). And when events are added, you could possibly become good. And then you could use Public Healers to solidify it a bit.

But I think it would be pretty hard to achieve and would require quite a lot of good choices in events.
 
Very nice. Too bad I won't have any time to play or mod for a while, maybe not until this school year is over.


Currently, no units abandon you because of alignment changes. You just can't build more.



Having Dain be more evil than Valledia is definitely wrong (ok, I think I misread their alignments, but still, Valledia is much more evil than Dain). Kael himself has stated that he is afraid of Valledia. Don't you remember Valledia's pedia entry? She freed the convicted necromancer Sammuel and ordered him to use his forbidden knowledge to do some pretty horrible things to Einion Logos's wife. She was tortured, driven insane, made to curse her husband, and made unable to die until Einion killed her my removing the rune on her chest. She is ruthlessly efficient and unhindered by morals, although not evil for the sake of being evil or from a huge ego. (I consider the Council of Esus to be the most appropriate religion for her.0 This was done to encourage the Elohim to keep fighting the Infernals, since she believed that the demons would attack the Amuites next. Calling to the Order to help doesn't redeem such an action (although in your system it could have been done to keep her alignment neutral, I guess). She should be more evil in this system. Dain was outraged at this, although he had no idea how bad her actions really were. He is a much kinder, more philosophical individual. (I always consider the Empyrean to be the best religion for him.) His alignment should be closer to good than evil. I consider him a little more good than Falamar.


I would definitely think that Tasunke is a neutral-evil leader while Rhoanna is neutral-good. Tasunke's is fiercely competitive, and his views are not that different from Charadon's. He is a very jealous and violent person who will hurt almost anyone to make himself better off. As evidenced by the race both leaders were involved in as children, where Rhoanna was easily beating Tasunke but stopped to help him back onto his horse, Rhoanna is not interested in hurting others. She is trying to unite and civilize a fractured people. Although a better rider than Tasunke, she is a diplomat rather than a warrior.


I don;t consider Sheelba as evil as Jonas. I don;t consider Mahala as evil as Charadon. In both cases, the famale leader is trying to bring civilization to her people.

Thessa should probably be less good than Amelanchier. Thessa is an archmage (which according to one of Kael's campaigns basically requires an individual believe the end justifies the means) who has studies forbidden texts on necromancy that were captured from the Calabim. On her wedding night she murdered her husband in a necromantic ritual in order to use his soul to increase the power of a spell to cleanse the forests of the strange corruption. I also think that Amelanchier should be no more good than the Dwarven leaders. They are merely not very ardent in their fight against evil, while Amelanchier violently combats both good and evil if they encroach on his land.






Good Veil should be really hard to achieve. I'm going to add a really nice Good-only AV-only hero to encourage people to try for it.

Evil Order seems like it would make more sense; this religion did become corrupt after all. Would it be possible to make this religion not inherently make you more good, but to make other alignment changes more significant? It seems like its fanaticism could easily lead to them being strongly good or evil, never neutral. Evil Order probably fits the Calabim pretty well.



I think I'm going to make priests always buildable, but have state religion and alignment requirements for their spells. A good god would not give spells to evil men who are acting in his name.
 
Great input Magister, and I agree with it all.

EDIT:
Should Sabathiel be even more good? The problem I see here is that he is not the one implementing his leadership. Should Capria be even less good, or kept at the same level as Sabathiel?

Who is the more Good dwarven leader? (Of both civs). In my mind Arturus is more of a traditionalists who holds true to the Khazad honour and culture. Kandros is more someone who would do almost anything if he believes it to be the right thing to do. Still true to the Khazad way, but if he believes something is done the wrong way, even if it is ancient tradition, he won't agree to it.
I am right when I say that Beeri Bawl feels slightly more good than Garrim Gyr?

How evil is Faeryl really? She is truly an egoist, and powermonger. She'd lie to, sleep with, play with feelings, torture, anyone or anything without regret it seems. Even when the elves were united she faked her feelings towards Arendel and schemed and always saw more behind what Arendel said than actually was there. Suspicious and deceiving. A backstabber if there ever was one.

Alexis and Flauros. Two different kinds of personalities. Equally amounts of evil? Just different? Alexis is a bit like Faeryl, only perhaps more of a jealous person. A greedy child who wants what others have just cause they have it and she don't. Kills without regret. Will do anything to not die.
Flauros. Carefree, planner. Smart. Plays with his "food". He is the kind of guy who would be able to plan and execute the Holocaust. Doesn't necessarily kill without hesitation like his sister. Able to cooperate with anyone if it suits his objectives.

Perpentach and Keelyn. Perpentach doesn't seem to have an agenda. But maybe that's what he wants you to believe? This guy is smart, but insane. But he likes to be insane. He got alot of friends in his head, and enemies. They are all copies of course, and probably distorted by his own mind. He would probably be a wise person if he wasn't insane, and he probably still is, in his own way.
Can change his mind in an instant, but possibly planned it that way from the beginning. Sees the world as a stage and himself as the leading role and writer.
Keelyn however, isn't insane, not like Perpentach anyways. Deranged perhaps, and childish. But to take control of an empire when the king is away? Clearly she is capable.

Sandalphon seems very neutral. Wants to be left alone by friends and enemies alike.
 
Ok, I finally reached a result I am satisfied with. Here is a screenshot of the alignment meter I've been working on:




Like it? What should I change otherwise? Post what you think.
 

Attachments

  • AlignmentMeter.jpg
    AlignmentMeter.jpg
    32.3 KB · Views: 1,303
I think that Perpentach should be more evil than Keelyn. He was one of the corrupt Archmages of Patria and there is a text where Kylorin himself mentions his wickedness.

Keelyn simply lacks the concepts of good or evil. When your only friends are demons and other summons, you will likely not learn a lot about good ideologies.

Another thought: It might be cool that Perpentach randomly changes his alignment around his base value. He randomly shows some mercy in his insanity (see Beri Brawl).

By the way: Why do you see Beri more good than Garrim?
 
By the way: Why do you see Beri more good than Garrim?

That's just a hunch I have. But Garrim seems more into the arcane, and that usually means a characteristic that is driven by the end justify the means. But I am not sure at all.
 
It's that tiny line almost at the center (it's not at the center if thats what you thought it was). You can't miss it really if you know what to look for. :p
 
Ah, I saw that but since it was centered I thought it was just to mark the middle of the road :) I do like that it is chunked into 6 portions, makes it 2 bars per alignment and allows you to know when you are about to switch over.
 
I think it would be a good idea to make research effect alignment too. Researching Way of the Wicked, Corruption of Spirit, Necromancy, Deception, Malevolent Designs, etc., would move you towards evil (especially if you were the first to research them). Researching Way of the Wise, Honor, Righteousness, etc, would move you towards good.


Building units (mostly heroes) and buildings (mostly wonders) should effect alignment too.

I also think that casting spells should be able to alter your alignment. Something like raise skeleton could could move you 1 towards evil, while spells like summon Balor should move slightly more. (Only something like Worldbreak would have a huge effect though.) I also think that certain spells should require you have an alignment in a certain range.

Making the player's contribution to the AV count towards their alignment would probably be good (this could actually take care of most of the buildings/unit changes)

I think that population rushing moving you slightly towards evil could be good too.
 
Probably need to increase the alignment range for that, but that's no real problem (only the alignment meter would have more points per pixel, it's already at 4.78 points per pixel).
 
Why does Slavery make you move towards good? I think the <iAlignmentModifier>16 is meant to be -16
 
Ah yeah. Typo. Suggestions for civic alignment modifiers btw?
And anyone dared to start on the events? :p

Btw, next version I will open up more functions to python so python modders can get more to work with. And add the alignment modifier to techs, units, spells, buildings, add some Defines for various stuff like alignment change at pop-rush, and stuff like that. Also, I'll add broadAlignmentRequirement to most stuff so that it can require a certain value instead of the strict alignment.

I'll also start adding GameText stuff, so you can see how much you change your alignment through the choices you make. (Playing blindly is never good in my experience)

Any requests for the next version?
 
Top Bottom