[eINFO] Modding Changes & Suggestions

Changes

{LH 1.4} Tech updates now merge if the internal name matches

{LH 1.6} Base effect attachments (e.g. Asha) [WAI?]

{LH 1.6} Gender tag linked to UnitStat_IsFemale/Male for Non Comparative Conditional (e.g. Misandry)

{LH 1.6} Non Comparative Conditional: Attacker (e.g. MasterArcher)

{LH 1.6} Non Comparative Conditional: Target (e.g. DeathBlow )

{LH 1.7} Map Stamps w/ saved starting locations can be created

{LH 1.7} Optional UnitStat Class Requirement: Armor, Items, Weapons (e.g. Walderon’s Banner)

{LH 1.7} SpellTargetType AllEnemyChampions

{LH 1.8} UnitStat_Charge and ChargeAdd_Effect Spell (e.g. Fervor)

{LH 2.0} Stamina

{DLC05} CastAppliesSpell (e.g. Lifeblood)

{DLC05} UnitStat_TreasureHunter (e.g. Treasure Hunter)

 


 

Suggestions

AllPlayersDeclarePeace

AllKingdomKingomWarsEnd

AllEmpireEmpireWarsEnd

AllKingdomvsEmpireWarsEnd


Create Screen > Appearance > Equipment > Consumables

&

GameItemType: <Type>Consumable</Type>


<SpellTargetType>AllCities</SpellTargetType>

<SpellTargetType>AllAllyCities</SpellTargetType>

<SpellTargetType>AllEnemyCities</SpellTargetType>

<SpellTargetType>AllFriendlyCities</SpellTargetType>

<SpellTargetType>AllyCity</SpellTargetType>

<SpellTargeTType>AllAllyUnits</SpellTargetType>

<SpellTargetType>AllyUnit</SpellTargetType>


Allow MULTIPLE PreventStackingWith instead of just 1, as is the case right now. e.g.:

<PreventStackingWith>Slow</PreventStackingWith>

<PreventStackingWith>Slow_Ability</PreventStackingWith>

<PreventStackingWith>Slow_Adept</PreventStackingWith>

<PreventStackingWith>Slow_Effect</PreventStackingWith>


ValueCalcWrapper (Enable for Strategic Spells)


RangedAppliesSpell

RangedDefenseAppliesSpell

MagicDefenseAppliesSpell

KillAppliesSpell (Attacker)

DeathAppliesSpell (Target)

See, generally, reply #30

 

<CasterLink/>

0 = Default

1 = Summon survives if summoner dies

&

<CasterLinkSurvivedAI/>

0 = Default

1 = Is now AI Controlled

&

<CasterLinkSurvivedWild/>

0 = Default

1 = Is now a Wild creature (Attacks both sides)


<UpgradeComparisonID/> & <UpgradeComparisonText/> (For abilities and other stuff)

 

WildDefenseSummon (CityDefenseSummon equivalent for Outposts, Wild Camps, etc.)


<Type>Improvement</Type> (Improvement requirement to train units)

 

Blank AIRelationsWeight (Which can be used in GameModifiers)

<AIRelationsWeight InternalName="AIRelationsWeight_Blank_1">
<Description>You may use me for whatever use.</Description>
<Icon>Event_MeetFaction.png</Icon>
<Weight>0.0</Weight>
</AIRelationsWeight>

 

<GameModifier>
<ModType>Diplomacy</ModType>
<Attribute>AIRelationsWeight_Blank_1</Attribute>
<Value>-4</Value>
</GameModifier>

 

Enable individual Path Blockers, to occasionally remove a Path from the Path Screen

e.g.: a UnitStat or an AbilityBonusOption that doesn't count as a Path but blocks a particular Path

 

<Overwrite/>

0 = Default

1 = Yes

 

Enable Calculate in SpellResourceCost

<SpellResourceCost>
<Resource>Mana</Resource>
<PerTurn>1</PerTurn>
<Calculate InternalName "Calc" ValueOwner="..."><Expression>...</Expression></Calculate>
<Calculate InternalName "Amount"><Expression><![CDATA[[Calc]]]></Expression></Calculate>
</SpellResourceCost>

 



Changelogs

{LH 2.0}

{LH 1.8}

{LH 1.7}

{LH 1.6}

{LH 1.5}

{LH 1.4}

{LH 1.3}

{LH 1.2}

{LH 1.1}

 

 

 

_________________________

LH Mods by Primal

XtraDeconstruct

XtraDeconstruct Canons

56,025 views 40 replies
Reply #1 Top

I should think it would be best to not delete original code, but using a mod to override it while the mod is present would make sense. I am having trouble with creating a new tech tree btw, trying to change the Amarian tech tree by copying the Amarian tree to the mod directory and renaming the internal names just causes the whole tech tree to freak out with copies of each tecfh item in each unlocked tech.

Reply #2 Top

Just off the top of my head.

 

-Explicit control statements that can be defined per "Gamemodifier". Like being able to control each modifier with its own IF statement.

 

-We have MeleeDefenseAppliesSpell. Can we have RangedDefenseAppliesSpell, MagicDefenseAppliesSpell, AnyDefenseAppliesSpell, etc?

 

-Flag to allow summon to survive even if casting unit dies.

Reply #4 Top

Oh dear, I didn't know that there was a specific thread for modding questions...I've just posted question threads in the Mods forum as occurred to me. Did I do wrong then? I apologize,  I'm sure. :(

Reply #5 Top

No worries (Australian-ism). =) For one-off questions, use the modding questions thread.  If you need to ask multiple questions on the same topic, it can help to create a new thread for it, so others can still ask questions in the modding questions thread.  If you are asking about a specific mod, you can ask on that mod thread if the mod-maker is still active.

Reply #6 Top

Quoting anc40, reply 4
Oh dear, I didn't know that there was a specific thread for modding questions...I've just posted question threads in the Mods forum as occurred to me. Did I do wrong then? I apologize,  I'm sure.

No that's fine.

Reply #8 Top

... 

And finally, for the old-timers err long-time modders, how is this holding true?

https://forums.elementalgame.com/436968/page/4/#0

(November 2012)


For those of you who aren experienced modders, much of which follows is just preaching to the choir.  But for those of you new to modding, you may find this useful..

As some of you know, FE development was led by modders.  Derek Paxton and Jon Shafer are best known for their Civ 4 mods (Fall From Heaven in Derek's case).  As for myself, I got my modding start with Civ 1, MOM, Total Annihilation, and so on.  My love of Civilization 1 ultimately led to writing Galactic Civilizations.

And this brings me to the frustrating part of modding: the limited lifespan of the mod.  I eventually got to know Total Annihilation so well that had they made a Total Annihilation 2 with a derivative of their original engine I'd been already set up to do crazy cool stuff.  But that didn't happen (and don't talk to me about TA:K).

So our approach has been to approach Elemental from the perspective of it being a platform that mods can be built with for years to come.  Many of the mods that worked with War of Magic work, with slight changes, with FE.  That's because WOM and FE are built on the same platform which we call Kumquat.  

Kumquat is a relatively new engine and we have land-based strategy games scheduled to use it and upgraded versions of it for the next several years -- and not just Elemental universe games.  So the skills and understandings of what you get from modding FE will lend itself to more modding. 

We also plan to support both Nexus Mods and the Steam workshop as we go forward in ways that make what we have today seem very primitive.  

The point being, the age old issues of short-lifespan mods is something we are hoping Kumquat addresses. We looked at Kumquat as a platform that modders can use to create increasingly ambitious mods.  I can't promise source code or scripting support yet. Resources are tight, but we will be supporting this underlying platform and the expansion of its capabilities until *at least* 2017.

If you played WOM in 2010, consider what FE is like in 2012.  Now, consider what Kumquat will be like in 2014. 

 

_________________________

LH Mods by Primal

XtraDeconstruct

XtraDeconstruct Canons

Reply #9 Top

I would love an ApplySpellOnKill and ApplySpellOnDeath. So I can create abilities that trigger when a unit gets a kill or when it dies.

Reply #10 Top

Kumquat is pretty much unchanged for modders so far. You can use the same stuff you did in E:WOM for LH - I do. There's some very minor changes that, to be honest, I doubt anyone noticed except myself.

Which is not to say that they haven't developed the engine. They have. But inserting content into it appears to be unchanged.

Reply #12 Top

Quoting Dhuran, reply 2

 

-We have MeleeDefenseAppliesSpell. Can we have RangedDefenseAppliesSpell, MagicDefenseAppliesSpell, AnyDefenseAppliesSpell, etc? 

 

These would indeed be great. It would also be neat to spruce up bows a bit with RangedAppliesSpell.

Reply #13 Top

Quoting Primal_Savage, reply 11

Updated OP w/ thread suggestions, can you guys check if I translated what you proposed correctly? Dhuran, can you be more precise about the explicit control statement and is AnyDefenseAppliesSpell an actual request?

 

Wow, I haven't checked this thread since my post. . .

 

As I understand, the comparisons they added in 1.6 are supposed to be doing what I was requesting. As far as I can tell, it's not working though.

Basically to be able to have more flexible conditions inside the gamemodifier blocks.

So functionally you could have: IF <any condition>, and it would only apply that modifier if it returned true.

Example:

Code: xml
  1. &lt;GameModifier&gt;
  2.     &lt;STUFF&gt;
  3.     &lt;If InternalName="Calc" ValueOwner="CastingUnit"&gt;
  4.         &lt;Expression&gt;&lt;![CDATA[[Unit_GetHPCurrent] &lt;= 10]]&gt;&lt;/Expression&gt;
  5.     &lt;/If&gt;
  6.     &lt;MORESTUFF&gt;
  7. &lt;/GameModifier&gt;

 

It would also be nice to have an option to target all units in a tactical battle (enemy and friendly).

Reply #14 Top

Quoting Dhuran, reply 13
It would also be nice to have an option to target all units in a tactical battle (enemy and friendly).

This is already possible.  Simply leave out the <SpellTargetType> tag.

Reply #15 Top

Quoting mqpiffle, reply 14


Quoting Dhuran, reply 13It would also be nice to have an option to target all units in a tactical battle (enemy and friendly).

This is already possible.  Simply leave out the <SpellTargetType> tag.

I had no idea! I've never even thought to try that. Thanks!

Reply #17 Top

For what it's worth, the 2 things i'd really like:

 

i) I'd like to be able to put a <ModType>CityDefenseSummon</ModType> on non-city based improvements, i.e. Outposts and LimitedCapUnit Camps (i.e. Ogre Camp etc)... so that we can mod in a token defense force for them.

 

ii) Being able to have a <Prereq> that is an <Improvement> for training a unit.   Can't do this currently.  So the idea would be that you can only train a particular UnitType (eg. Dragons) in city X if you have a particular Improvement built (eg. Dragon Breeding Center) in city X.  So something like this in UnitType definition:

<Prereq>
   <Type>Improvement</Type>
   <Attribute>DragonBreedingCenter</Attribute>
   <Target>City</Target>
</Prereq>

 

Reply #19 Top

Quoting Primal_Savage, reply 16


Quoting Dhuran, reply 13Wow, I haven't checked this thread since my post. . .

Hah! I wub you Primal, I'm just bad at the internet.
 

Quoting Primal_Savage, reply 16

Quoting Dhuran, reply 13As I understand, the comparisons they added in 1.6 are supposed to be doing what I was requesting.

O.k.








Something that could be useful is activating the Comparison tag (or something similar) for abilities...

<UpgradeComparisonID/>

<UpgradeComparisonText/> 

Being able to put Comparison tags in the SpellResourceCost would also be cool.

Reply #24 Top

Is it possible to successfully add and replace the <Scale> to <TacticalModelScale> and <ModelScale> of the mounts in the XML files? I've already tried and it doesn't work. When i change the <Scale> of the mounts both the strategy model and tactical model scales get changed. and because of that when i change my sovereigns ModelScale any mount I use looks silly :(