[eLIB] UnitStat Background Mod v.ZG for FE

By on February 16, 2012 4:16:09 PM from Elemental Forums Elemental Forums

Heavenfall

Join Date 07/2008
+436

 

This library mod is for other modders to include in their mods. There is no point downloading this on its own as a player.

 

UnitStat Background Mod v.ZF = FE 1.34


As part of making the game have greater depth, which is the purpose of any mod, I will be releasing a UnitStat Background mod. The purpose of this library-type mod is to flag unittypes, items and traits with certain UnitStats that will allow the modders to identify them in various scenarios. It is a bit difficult to explain, so I will simply give an example: Imagine a dragon has UnitStat_BG_IsDragon = 1. Then we put this modifier on a weapon:

            <GameModifier>
                <ModType>Unit</ModType>
                <Attribute>AdjustUnitStat</Attribute>
                <StrVal>UnitStat_Accuracy</StrVal>
                <StrVal2>UnitStat_BG_IsDragon</StrVal2>
                <Value>10</Value>
                <vsHigher>1</vsHigher>
            </GameModifier>

The result is a weapon that gains +10 accuracy whenever it attacks against a dragon. Voilá, a dragon-slaying weapon. Or a trait. Such UnitStats can also be referred to in Calculate tags in spells, for example to make a damage spell deal even more damage against a dragon.

Note that this mod will only function as a library of back-ground unitstats. It will be up to the modders to use the unitstats as they see fit.

 

I want to open up the floor for what unitstat flags the modding community expect to find in such a mod.

 

This is my planned list of unitstats. Note that these unitstats will not have defaultvalue set to 0 for all units, they will simply have 0 by virtue of not having it. 

Equipment UnitStats:

UnitStat_BG_IsUsingMount - 1 for mounted units, 0 for un-mounted units

Unit UnitStats: (stats marked ^ are given through traits to help players understand what is what)

UnitStat_BG_IsChampion - 1 for champions and sovereigns
UnitStat_BG_IsSovereign - 1 for sovereigns, 0 for others (note that everyone with IsSovereign also have IsChampion)
UnitStat_BG_IsMilitia^ - 1 for city militia, 0 for all others
UnitStat_BG_IsHumanoid - 1 for any unit that resembles a human in shape, not necessarily in size
UnitStat_BG_IsNotAlive^ - 1 for any unit that does not have blood pumping in its veins, is incapable of consuming nutrition, and is incapable of reproduction
UnitStat_BG_IsEmpire - 1 for sovereigns, champions and designed units from empire factions. 0 for others
UnitStat_BG_IsKingdom - 1 for sovereigns, champions and designed units from Kingdom factions. 0 for others
UnitStat_BG_IsRace_ - These unitstats are given to mark all champions, sovereigns and designed units from certain racetypes. These are the "races" that appear in Unit Details when you create a normal unit. The wildcard (*) is replaced by the name of the race as it appears in-game. The vanilla game contains 10 races that have the following names: Altarians, Mancers, Ironeers, Amarians, Tarthans, Krax, Wraiths, Trogs, Urxen, Quendar. For example, all of the race Altarians have UnitStat_BG_IsRace_Altarians = 1
UnitStat_BG_IsMonster - for all units considered monsters. Note that this applies to recruited monsters as well. Anything that is not humanoid is considered a monster.
UnitStat_BG_IsDragon - 1 for dragon monsters, 0 for others
UnitStat_BG_IsElemental - 1 for elementals, 0 for others
UnitStat_BG_IsBeast - 1 for beasts, 0 for others
UnitStat_BG_IsTwisted - 1 for Twisted creatures, 0 for others
UnitStat_BG_IsConstruct - 1 for construct creatures, 0 for others (basically golems)
UnitStat_BG_IsDemon^ - 1 for demons, 0 for others
UnitStat_BG_IsGod^ - 1 for the 5 elemental gods found in the wildlands and other godtype units at your discretion, 0 for others
UnitStat_BG_IsSummoned^ - 1 for units that are specifically summoned through magical spells, and NOT those trained. 0 for others
UnitStat_BG_IsImmortal^ - 1 for certain units that cannot die from old age. In the core game, these include: Titans, Dragons and Butchermen, Elemental gods (NOT all elementals!). 0 for all others. Keep in mind constructs are not immortal and may die from old age (they basically turn to dust after a few thousand years), but they are also UnitStat_BG_IsNotAlive^ 1.
UnitStat_BG_IsOversized^ - It is 1 for units that are substantially larger than a single human-sized mounted man. Note that this indicates that a singular unit of this sort is oversized - a unit does not become oversized if it goes from 1 to 9 members. Dragons, Giant Slags, Giant Drakes, elemental gods, and so on. It is 0 for all others.
UnitStat_BG_IsMale - 1 for units specifically marked male. 0 for others. Note: This is only applied to champions and sovereigns and troops. Practically noone else has a gender. It is perfectly possible for a unit to have 0 in both _IsMale and _IsFemale.
UnitStat_BG_IsFemale - 1 for units specifically marked female. 0 for others. Note: This is only applied to champions and sovereigns and troops. Practically noone else has a gender. It is perfectly possible for a unit to have 0 in both _IsMale and _IsFemale.
UnitStat_BG_IsFlying^ - 0 (default) = incapable of flight. 1 = Capable of Flying (does not need to be constantly flying)

Other Custom UnitStats:

UnitStat_BG_HasInjuries - 0 for all, each injury suffered by a champion adds +1. Note that there are many "flaws" that are NOT injuries. This tag is specifically for champion injuries suffered due to incapacitation in combat.
UnitStat_BG_Spellbooks - between 0 and 5, depending on how many spellbooks this champion/sov/unit has. It is enough to have rank 1 in a spellbook to get +1 in this unitstat.
UnitStat_BG_GreyMagic - Between 0 and 25+, depending on how many spelltraits this champion/sov/unit has. Each spelltrait adds 1, so a champion with Death2 Fire3 would have UnitStat_BG_GreyMagic = 5.

Non-unit Stats
A_Additive_TileYieldGrain - Faction-wide bonus additive to Grains. Ex: +1 Grain in every city
A_Additive_TileYieldMaterials - Faction-wide bonus additive to Materials. Ex: -1 Material in every city
A_Additive_TileYieldEssence - Faction-wide bonus additive to Essence. Ex: -1 Essence in every city

 


 

Currently disabled

UnitStat_BG_IsInSwamp - 0 for all units, 1 for those who are occupying a Swamp tile on the strategic map
UnitStat_BG_IsInPlains - 0 for all units, 1 for those who are occupying a Plains tile on the strategic map
UnitStat_BG_IsInHills - 0 for all units, 1 for those who are occupying a Hills tile on the strategic map
UnitStat_BG_IsInDesert - 0 for all units, 1 for those who are occupying a Desert tile on the strategic map
UnitStat_BG_IsInForest - 0 for all units, 1 for those who are occupying a Forest tile on the strategic map
UnitStat_BG_IsInCity - 0 for all units, 1 for those who are occupying a City tile on the strategic map
UnitStat_BG_IsInRiver - 0 for all units, 1 for those who are occupying a River tile on the strategic map



UnitStat_BG_IsUsingSmallShield - 1 for units with a small or normal shield equipped, 0 for others. Does not mark tower shields.
UnitStat_BG_IsUsingTowerShield - 1 for units with a tower shield equipped, 0 for others. Does not mark non-tower shields
UnitStat_BG_IsUsingSpear - 1 for units with a spear, 0 for others
UnitStat_BG_IsUsingStaff - 1 for units with a staff, 0 for others
UnitStat_BG_IsUsingBow - 1 for units with a bow, 0 for others
UnitStat_BG_IsUsingMace - 1 for units with a mace, 0 for others
UnitStat_BG_IsUsingSword - 1 for units with a sword, 0 for others
UnitStat_BG_IsUsingAxe - 1 for units with a axe, 0 for others
UnitStat_BG_IsUsingDagger - 1 for units with a dagger, 0 for others

UnitStat_BG_IsUsingTwoHanded - 1 for units with a Two-handed weapon equipped, 0 for others. This counts for all weaponry that requires both hands to use, such as staffs, bows and spear.
UnitStat_BG_IsUsingOneHanded - 1 for units with a one-handed weapon equipped, 0 for others.
UnitStat_BG_IsUsingDualWield - 1 for units with two one-handed weapons equipped, 0 for others
UnitStat_BG_IsWearingLeather - This value is between 0 and 7 - each equipped leatherpiece adds 1, chest and leggings add 2 instead of 1
UnitStat_BG_IsWearingChainmail - This value is between 0 and 7 - each equipped chainmailpiece adds 1, chest and leggings add 2 instead of 1
UnitStat_BG_IsWearingPlate - This value is between 0 and 7 - each equipped platepiece adds 1, chest and leggings add 2 instead of 1
UnitStat_Bg_MagicalNature - A custom value given to items of a magical nature. Any non-magical item should have nothing (0). As a base-line, magical items will start at UnitStat_Bg_MagicalNature = 100. Particularly powerful, or reality-bending items might have 200 or even 300. There is no clear line between rarity of items and this stat, because the game has many "uncommon" magical and non-magical items. Items will display their number in the item tooltip, unless it is 0 in case it won't be mentioned. Accessories can also have this stat.
UnitStat_BG_IsRanged - 1 for any weapon that turns the main attack of a unit into a ranged attack. 0 for others
UnitStat_BG_IsMelee - 1 for any melee weapon, and any unarmed monster. 0 for others


 

 

 

Locked Post 145 Replies +2
Search this post
Subscription Options


Reason for Karma (Optional)
Successfully updated karma reason!
February 16, 2012 4:25:36 PM from Elemental Forums Elemental Forums

Wow very useful thanks!

 

Reason for Karma (Optional)
Successfully updated karma reason!
February 16, 2012 4:33:20 PM from Elemental Forums Elemental Forums

Here is how I would use it in Ivory Towers:

UnitStat_BG_IsBeast - 1 for all trained or summoned units that are beasts, Lions and Tigers and Bears.

UnitStat_BG_IsBeastmaster - 1 for all Champions that have the Path of the Beastmaster trait. 

Any army with a Beastmaster will give bonuses to all beasts in combat. One trait for the Beastmaster would be to get +1 to UnitStat_BG_IsBeastmaster, receiving bonuses for becoming one with the animals. 

A Beastmaster may also have abilities that cause beasts in the enemy army to go into a frenzy.

Reason for Karma (Optional)
Successfully updated karma reason!
February 16, 2012 4:43:01 PM from Elemental Forums Elemental Forums

The amount of quality output from you, relatively small amount, of modders is certainly staggering. Way to go, again, HF and community.

Reason for Karma (Optional)
Successfully updated karma reason!
February 16, 2012 5:32:19 PM from Elemental Forums Elemental Forums

Some of the things that this enables are already possible. For example, we can already adjust our unitstats towards only dragons, but we can't use that in spells. Other things are completely new, such as being able to have champion- or sovereign-killers.

This is one of those mods that will need to be updated for every version of the game. I will release a version when the next beta version is released.

I will provide a concept mod for how it can be used when I publish the first version. It will give all champions a little bit of history by giving them a faction-related trait - for example, a champion may Hate Umber and deal 20% more damage against them.

Quoting seanw3,
UnitStat_BG_IsBeastmaster - 1 for all Champions that have the Path of the Beastmaster trait.

Any army with a Beastmaster will give bonuses to all beasts in combat. One trait for the Beastmaster would be to get +1 to UnitStat_BG_IsBeastmaster, receiving bonuses for becoming one with the animals.

If I understand you right, that particular unitstat should be in your own mod. The reasoning is that these unitstats will be contained in unittypes, and they can only be read once. In other words, two mods cannot be active and alter a unittype at the same time. Therefore, if your unitstat is something that can be used to differentiate between the units that are in the vanilla game, then the unitstat should go into this library mod. In all other cases, it should be in your own mod. This library mod is not intended to become a repository for all unitstats, only those that are relevant to its purpose.

Reason for Karma (Optional)
Successfully updated karma reason!
February 16, 2012 5:45:28 PM from Elemental Forums Elemental Forums

HF is the man. I think we can use IsUsingShield to fix bows once and for all. Instead of nerfing bows, we can just greatly reduce either damage or accuracy against units with shields or other characteristics. Plus it makes having a shield something to consider when buiding units and we can have archers that kill things again. Sad to see a group of level 10 archers struggle to take down a cave bear or black widow.

Great idea! Now if we can just figure out why my Sov is getting over 100 damage for a static 8 point spell with 20% evoker traits which at best summed up should double the damage to 16 when I have them all. I'll be fine.

Reason for Karma (Optional)
Successfully updated karma reason!
February 16, 2012 5:55:41 PM from Elemental Forums Elemental Forums

Something to keep in mind is that the AI will not understand how to use abilities, spells and traits depending on these variables intelligently. For example, if you give an AI unit a trait to deal extra damage against spear units, it will not start focusing spears more. The modder will therefore have to weigh what is interesting with what allows the AI to function. For example, it would be a bad idea to remove all ranged damage from anyone wearing a tower shield, because the AI would keep shooting at it no matter what.

Speaking of which, added _IsUsingBow.

 

Edit: Actually, the AI might understand SIMPLE things, like a weapon that deals extra damage against mounted units MAY cause it to attack mounted units more. I really don't know much of how the tactical AI functions at this point.

Reason for Karma (Optional)
Successfully updated karma reason!
February 16, 2012 5:59:10 PM from Elemental Forums Elemental Forums

For equipment, can we have IsThrownWeapon and IsProjectedWeapon. Again to help with how they are handled against targets.

For creatures how about IsOversizedTarget. Allow us to tack on more damage from AOE spells or hit easier with thrown/projected weapons.

For Units how about HasThermalVision. Allows units to see through smoke/fog.

For Units, IsHardToScry or IsHardToTrack. Make units harder to hit on Strat map with spells or reduce the damage. I'm talking to you FlameStrike.

For equipment and units, IsHomeDefender. For bonuses or penalties if stationed in a city. I guess IsCityRaider for doing the same on the bad guys.

 

My 2 cents. Thanks.

Reason for Karma (Optional)
Successfully updated karma reason!
February 16, 2012 6:02:59 PM from Elemental Forums Elemental Forums

Unfortunately the AI is always going to be the weak link with any of these mods. Have cool spells and balanced mana won't help the AI pick the right spell for the right target. Unless these tags can be used with the AI values in the spells. Have to look at that.

Also we can use these modifiers to keep the player on a more restricted platform and hopefully balance out the AI a bit.


 

Reason for Karma (Optional)
Successfully updated karma reason!
February 16, 2012 6:06:27 PM from Elemental Forums Elemental Forums

Quoting Capn Darwin,
For equipment, can we have IsThrownWeapon and IsProjectedWeapon. Again to help with how they are handled against targets.

For creatures how about IsOversizedTarget. Allow us to tack on more damage from AOE spells or hit easier with thrown/projected weapons.

For Units how about HasThermalVision. Allows units to see through smoke/fog.

For Units, IsHardToScry or IsHardToTrack. Make units harder to hit on Strat map with spells or reduce the damage. I'm talking to you FlameStrike.

For equipment and units, IsHomeDefender. For bonuses or penalties if stationed in a city. I guess IsCityRaider for doing the same on the bad guys.

 

My 2 cents. Thanks.

IsOversizedTarget  - I will consider it, it's a lot of work. I originally desired a size-scale from 1-6 where 3 was humanoid, but again... a lot of work.

HasThermalVision - no vanilla unit has this feature, so it does not belong in this mod

IsHardToScry or IsHardToTrack - no vanilla unit has this feature, so it does not belong in this mod

IsHomeDefender - We have something for being stationed in a city already. We could expand on that, if you guys feel it is lacking. Ie, we could add individual unitstats for each citylevel.

IsCityRaider - no vanilla unit has this feature, so it does not belong in this mod

Reason for Karma (Optional)
Successfully updated karma reason!
February 16, 2012 6:20:39 PM from Elemental Forums Elemental Forums

I just wanted the community to see how I plan to use this feature. 

UnitStat_IsBeast would probably be a good one for the library. 

Reason for Karma (Optional)
Successfully updated karma reason!
February 16, 2012 6:31:30 PM from Elemental Forums Elemental Forums

UnitStat_BG_IsBeast is in.

How do you guys feel about unitstats indicating affiliation with elements? For example, ashwake dragons, ignyss and fire elementals might have _HasFireAffiliation. Although they are already weak to cold from their traits, that unitstat could still be used to further identify them as separate from others. A sword might be "nemesis of fire" without actually dealing cold damage. The unitstat could be added to fire weapons as well, and fire spell buffs.

Reason for Karma (Optional)
Successfully updated karma reason!
February 16, 2012 6:36:37 PM from Elemental Forums Elemental Forums

Wow, this is good stuff. Thanks for all of your work here and elsewhere.

Reason for Karma (Optional)
Successfully updated karma reason!
February 16, 2012 6:38:26 PM from Elemental Forums Elemental Forums

Since I'm so adamant about keeping it relevant to vanilla units, I'm taking this one out of the list

UnitStat_BG_IsDualWielding - 1 for units with two one-handed weapons equipped, 0 for others (this never appears in vanilla)

Reason for Karma (Optional)
Successfully updated karma reason!
February 16, 2012 6:47:05 PM from Elemental Forums Elemental Forums

UnitStat_IsInjured would be useful.

 

Reason for Karma (Optional)
Successfully updated karma reason!
February 16, 2012 6:55:01 PM from Elemental Forums Elemental Forums

Yes, great idea. But I will make it _HasInjuries so each injury can give +1. I'm guessing you want an ability that deals more damage if target is injured. Then it makes sense to deal even more damage if there are multiple injuries.

Edit: Just so we're on the same page, you want to do special stuff to champions that have suffered Injuries right?

Reason for Karma (Optional)
Successfully updated karma reason!
February 16, 2012 7:11:11 PM from Elemental Forums Elemental Forums

Yes. I want to do extra damage against them and have maybe one vanilla race that gains some sort of bonus from each injury.

For example Pariden heroes might have a trait called Wisdom From Defeat: +1 Intelligence for every injury. They learn from their mistakes. 

Tarthan heroes might get Oath of Vengeance: +1 Attack for every injury.

Reason for Karma (Optional)
Successfully updated karma reason!
February 16, 2012 7:19:43 PM from Elemental Forums Elemental Forums

I don't have idea of how you use stuff like "UnitStat_BG_IsInDesert" but still awesome!

There is nothing I can think of that could fit that list. I'd suggest Aligment if FE actually used it.

Reason for Karma (Optional)
Successfully updated karma reason!
February 16, 2012 7:35:10 PM from Elemental Forums Elemental Forums

Wintersong, why don't you use unitstats for your mod, for the benefits of units in forest, desert, etc... Weren't you going to bonus your races that way?

Reason for Karma (Optional)
Successfully updated karma reason!
February 16, 2012 7:38:37 PM from Elemental Forums Elemental Forums

If you are attacked in a desert tile, you get a bonus. It also works for city tiles. 

Reason for Karma (Optional)
Successfully updated karma reason!
February 16, 2012 8:08:29 PM from Elemental Forums Elemental Forums

Quoting EviliroN,
Wintersong, why don't you use unitstats for your mod, for the benefits of units in forest, desert, etc... Weren't you going to bonus your races that way?

Since Heavenfall suggested it in the other thread, I have been taking a look into UnitStats but for the time being just simple things that my skills can actually handle like: UnitStat_DS_Aligment, UnitStat_DS_IsVampire or UnitStat_DS_IsZombie.

Reason for Karma (Optional)
Successfully updated karma reason!
February 17, 2012 1:37:44 AM from Elemental Forums Elemental Forums

I'd love to fry the poor knight who's wearing full plate with a lightning bolt.

Reason for Karma (Optional)
Successfully updated karma reason!
February 17, 2012 2:35:04 AM from Elemental Forums Elemental Forums

Quoting seanw3,
Yes. I want to do extra damage against them and have maybe one vanilla race that gains some sort of bonus from each injury.

For example Pariden heroes might have a trait called Wisdom From Defeat: +1 Intelligence for every injury. They learn from their mistakes. 

Tarthan heroes might get Oath of Vengeance: +1 Attack for every injury.

I'm not sure that's possible, I don't know what the xml would look like for a trait like that.

Reason for Karma (Optional)
Successfully updated karma reason!
February 17, 2012 3:12:47 AM from Elemental Forums Elemental Forums

Also, generally speaking, modders need to be aware that these are traits by comparison. We can't do "if X has Y stat, then do Z". We have to do "If X has Y stat that is different from my own Y stat, then do Z".

For example, a trait might be "Attack with +10 accuracy against units wearing shields".

            <GameModifier>
                <ModType>Unit</ModType>
                <Attribute>AdjustUnitStat</Attribute>
                <StrVal>UnitStat_Accuracy</StrVal>
                <StrVal2>UnitStat_BG_IsUsingShield</StrVal2>
                <Value>10</Value>
                <vsHigher>1</vsHigher>
            </GameModifier>

But this trait will not activate if the unit itself also has a shield. Because then, both units would have UnitStat_BG_IsUsingShield = 1. Modders will have to tip-toe around this kind of logic. It is doubly complex for terrain unitstats - consider a unit in hills terrain, attacking an enemy in hills terrain. The following unit trait will not work because both units are in hills: "Hill Fighter - While occupying a Hills tile, gain 10 accuracy".

            <GameModifier>
                <ModType>Unit</ModType>
                <Attribute>AdjustUnitStat</Attribute>
                <StrVal>UnitStat_Accuracy</StrVal>
                <StrVal2>UnitStat_BG_IsInHills</StrVal2>
                <Value>10</Value>
                <vsHigher>1</vsHigher>
            </GameModifier>

How do we solve it? Traits will have to include other modifiers, and be semantically changed: "Hill Defender - While occupying a Hills tile, gain 10 accuracy unless enemy is also Hills Defender"

            <GameModifier>
                <ModType>Unit</ModType>
                <Attribute>AdjustUnitStat</Attribute>
                <StrVal>UnitStat_Accuracy</StrVal>
                <StrVal2>UnitStat_BG_IsInHills</StrVal2>
                <Value>10</Value>
                <vsLower>1</vsLower>
            </GameModifier>

            <GameModifier>
                <ModType>Unit</ModType>
                <Attribute>AdjustUnitStat</Attribute>
                <StrVal>UnitStat_BG_IsInHills</StrVal>
                <Multiplier>1.1</Multiplier>
            </GameModifier>

In this case, the flag is increased to 1.1 when in Hills terrain, so it counts as higher than anyone occupying hills terrain without traits for bonuses in it.

Another solution would be this: "Hill Ambusher - This unit never counts as occupying Hills terrain. While attacking an enemy on a Hills tile, gain +10 accuracy. ".

            <GameModifier>
                <ModType>Unit</ModType>
                <Attribute>AdjustUnitStat</Attribute>
                <StrVal>UnitStat_Accuracy</StrVal>
                <StrVal2>UnitStat_BG_IsInHills</StrVal2>
                <Value>10</Value>
                <vsHigher>1</vsHigher>
            </GameModifier>

            <GameModifier>
                <ModType>Unit</ModType>
                <Attribute>AdjustUnitStat</Attribute>
                <StrVal>UnitStat_BG_IsInHills</StrVal>
                <Multiplier>0.0</Multiplier>
            </GameModifier>

Note the double nature of this modifier. First, the trait is actually offensive - it doesn't matter what tile the unit itself is on, only what tile the enemy is on. Furthermore, this unit will never count as being in Hills themselves, and so someone else with Hills Ambusher would not gain bonuses against it.

 

So back to our shield problem - if both attacker and defender is using a shield, how can we solve it?

The easiest solution is to make sure such conflicts never arise. Basically make sure that players cannot design themselves into something that doesn't work. For example, a shieldkiller trait should only be available to certain unittypes that can never wear shields.

Another solution is simply to add to trait: "Unit gains 10 accuracy against enemies wearing shields, unless this unit wears a shield."

Or we can use the solutions detailed above, where the stat is marginally adjusted to make sure the user is above or below 1.


Also note that such minor adjustments can have massive consequences. I did not describe these unitstats as booleans by purpose, because they are not. And yet, modders may use them as such.

For example, what happens if someone uses a spell that "deals 10 more damage against units wearing a shield" when we have a unit with _IsUsingShield 1.1 instead of 1.0?

Normally it would be 10*1 damage, but now it will be 10*1.1.

Again, this is something that the modders will have to tip-toe around themselves.

 


I have made a suggestion here: http://forums.elementalgame.com/417022/get;3084553 that would solve this problem for us completely by introducing a new tag.

Reason for Karma (Optional)
Successfully updated karma reason!
February 17, 2012 9:10:05 AM from Elemental Forums Elemental Forums

I'm thinking about this

UnitStat_BG_IsFaction_* - These UnitStat values will be given to all factions. Each faction will have their own value, which is 1 for that faction. An example: UnitStat_BG_IsFaction_KingdomOfAltar = 1 for the Altar faction, 0 for everyone else. Note the wildcard is the same as the internalname of the raceconfig. Also note that this +1 is given to ALL units owned by the faction, regardless of their origin

Do you guys think it would fit better if it wasn't applied to the entire faction? And instead was applied only to humanoid units?

If it is applied to the whole faction, it will include monsters, summons, catapults and every unit you can think of. I think that's a problem. To me, a _faction_ is the humanoid soldiers and its citizens, not those odd recruits. Not to mention the balance problem. My suggestion is that I alter this to apply only to humanoid units - that means sovereigns, champions, unit designs that are trained.

But that solution also raises another problem. The champions that you recruit would maintain their original faction value. Ie, if someone has Race_Type_Altarians then I'm going to flag them as belonging to the Altar faction. But that value would not change if the champion was recruited by the Tarth faction. Is that a good thing, or a bad thing?

I'd really like to hear your thoughts on this. This is one of the things I plan on using a lot in my mods, so I want to get it right, both for the modder, and the player.

 

Edit: I should perhaps explain what I intend to use it for. I'm going to use it for grudges, hate and fear from units and champions towards specific factions. For example, a champion may hate a faction and gain 20% more damage dealt against them. Similarly, a champion may be hated by a faction, and suffer 20% more damage from them. And so on and so forth. But, I think, a catapult does not hate. A summoned creature would not hate a specific champion. A champion would not hate a catapult just because it belonged to a faction. A champion hates the people that built the catapult.

Philosophically speaking, the champion could probably "hate" the catapult as it was something they produced. But is it the gut-wrenching, foaming-at-the-mouth hate he would feel for the people? I don't think so.

 

Reason for Karma (Optional)
Successfully updated karma reason!
February 17, 2012 9:22:25 AM from Elemental Forums Elemental Forums

Another way to use that particular unitstat might be a banner bearer that gives bonuses to all units with the stat at the start of a battle. I guess the real question is, does the unitstat truly represent the entire faction as a whole, or does it represent cultural values shared by the people of the faction?

Reason for Karma (Optional)
Successfully updated karma reason!
Stardock Forums v1.0.0.0    #101114  walnut1   Server Load Time: 00:00:00.0000813   Page Render Time: