Heavenfall Heavenfall

Mod requests for the devs after release (edited 29/5)

Mod requests for the devs after release (edited 29/5)

So we had an older thread where people would just blurt out requests that they had. It became very ineffective because there wasn't really any way to "weigh" the requests. Their odds of being implemented became zero.

This thread is intended for serious, well-thought out requests. That means you should take into account things like: Does the UI need change to reflect this? How is the AI going to interpret it? Thinking rationally, is it a major code change or a small change - or just an addition? How is it going to be reflected in XML tags that we can use? Does it help anything for the un-modded content in the game? And most importantly - how does it help the modder in specific ways and what am I going to do with it?

 

Edit: Request 4 filled https://forums.elementalgame.com/433089/page/3/#3346543  (LH 0.80)

Request 5 doable   https://forums.elementalgame.com/433089/page/3/#3346549   (LH)

Request 1 filled https://forums.elementalgame.com/433089/page/3/#3346551(LH)

Mini-request filled https://forums.elementalgame.com/433089/get;3364131 (LH)

191,438 views 60 replies
Reply #51 Top

I wanted to see if it was possible, I didn't really think too much about it, but was looking for different ways to do things. I would imagine that if it was possible with weapons, it would be possible to add percentages to armor too. Might be a different way to do things. Either way, I already found a different way to do what I want.

Reply #52 Top

Currently we seem really limited in our ability to create new terrain. There doesn't seem to be a way to create new terrains that function like forests and have both 3d graphics and or 2d cloth map art. How this is implemented is up to the devs but it shouldn't require any UI or AI updates, although it might take a fair bit of coding. This is a rather large limit on our ability to expand the FE universe and I would like to see it changed.

 

Reply #53 Top

It irks me that you cannot use/target a creature's subtype.  Example; Spell can target "beast", but currently could not be refined down to "Spider", "Wolf", or "Bear".  I wanted to do a mod that would play upon the subtypes as I find targeting the broad definition of "Beast" a bit heavy handed.

Reply #54 Top

Quoting jshores, reply 4

Request #4 Item prerequisites beyond level restrictions

Problem: Currently, we can only restrict items based on the level of sovereigns and champions. It would be nice to be able to restrict the use of items based on other things such as unit stats (hidden or otherwise) and traits. This would allow modders to create items that require specific paths, specific traits and/or specific unit stats.

Does the UI need change to reflect this?


Not at all, as long as the prerequisites appear in the item hover over just like level requirements do.

 

Edit: Added the following UI information from Heavenfall's post below:


However, your solution may require UI changes. It needs to treat an item that isn't meeting the requirements as an unequippable item. The item should not be equippable through any of the ways we equip stuff - the "item found" popup, the trade window or store window in various ways. If they don't add tolerance for this new prereq the item is just going to be equippable anyway because the UI says it can be.

Also, small tooltips appearing over the equip buttons and the item in question wouldn't hurt. Ie, item requires Path_of_Assassin_Unitstat. When we hover over item it says "This item cannot be equipped because this unit is missing a prerequisite stat called X".

 


How is the AI going to interpret it? 


The AI should evaluate the prerequisites in the same manner that it evaluates level restrictions. If the AI finds an item it cannot equip due to not meeting a prerequisite, it should go to the inventory.

 

 Thinking rationally, is it a major code change or a small change - or just an addition?


This should be a minor code change that introduces new functionality. The XML should be similar to the level restriction XML.

 

How is it going to be reflected in XML tags that we can use?


The code for the new functionality should be placed in a prerequisite tag for items and look similar to the prerequisite tags for traits. 

 

Does it help anything for the un-modded content in the game?


It could be utilized in the vanilla game to create items that are specific to certain paths, or that require specific traits. For example, a giant maul that requires the Strength trait, or a venomous dagger that requires the Path of Assassin.

 

And most importantly - how does it help the modder in specific ways and what am I going to do with it?


It helps the modder by offering new prerequisites for items. I intend to use it to create Path specific gear for the vanilla path traits and custom path traits.
End of jshores's quote

This has been implemented in the latest build of LH (0.80)

Items can also be blocked from being worn by having a unitmodeltype that isn't specifically supported. Edit: To clarify, they no longer get destroyed if looted or traded to someone whose unitmodeltype isn't supported. Instead it goes into inventory as an item that can't be equipped but can be traded.

Reply #55 Top

Quoting seanw3, reply 5

Request #5 Quest Triggers

Give us several more ways to trigger an event. Right now only population, turns and goodiehuts can start a quest. Since quests are also being used to do random events, it makes sense to have them trigger from more factors. For the sake of consideration, these are the specific triggers I think are necessary: Building completed, technology researched, faction killed, quest completed, spell used, city captured, faction power reached.




Does the UI need change to reflect this?

No. Just an XML thing.




How is the AI going to interpret it? 

Not any different than any other quest, except that it comes from a different factor




 Thinking rationally, is it a major code change or a small change - or just an addition?

It's pretty easy to implement. I am just talking about a simple trigger definition. The only time consuming aspect would be testing them and I am willing to do all of that.

 

How is it going to be reflected in XML tags that we can use?

<TriggerType>Tech</TriggerType>

<Attribute>ThirdBookOfTheMagi</Attribute>

<UnitClass>SpellLawQuest_001</UnitClass>

The trigger type is simple enough to define within the current structure. We can already define the quest we want to see. Either Attribute or Str would define the tech or building or whathaveyou that is going to trigger it. We already have a great system for quests and events. This would exponentially increase the variety of implementation a quest can have.

 

Does it help anything for the un-modded content in the game?

Since we are not going to see too many more quests added, not really. But it could have if implemented sooner. And since there is an expansion coming, this would take quests to the next level in terms of immersion.

 

And most importantly - how does it help the modder in specific ways and what am I going to do with it?

There are alot of diplomatic events I would like to add to the game that I think should already be there. A faction reaching extreme power in a variety of ways should have events unfold that mimic the tales of ancient intrigue. But we can't have any of that, unless achieving things in the game can trigger events and quests. Modders can think of a myriad of awesome things that can happen from faction power getting too high, endgame techs being unlocked or even dark spells being used. The key is to have these rooted in the trigger system, so that a hundred quests have the possibility of happening, leaving the world to feel truly alive and wondrous.

I am working on a ton of quests that are linked to items or locations on the map. But a map gets cleared pretty quickly, so I have a limited space to work with. If I could attach some of these quests to actions that the user is doing, I could add a ton more story. And since it is coming from player action and interaction with other factions, those quests will blur the line between gameplay and storytelling. That is my overall goal and this is how I would best be able to do it.
End of seanw3's quote

As quests can now be triggered from having a certain amount of a custom resource, I would consider this implemented as well. Just have the tech/building/whatever produce a resource that can then trigger the quest.

Reply #56 Top

Quoting Heavenfall, reply 1

Request #1. Gamemodifiers for DefendableDamage that stack with group size.

Problem: Units with multiple members have no good way to use modded abilities because the ability does not naturally scale with the members in the group. For example, if I have a special ability that says it "deals 5 fire attack and enemy has a 5% chance to lose next turn", this ability will yield exactly the same results if performed by a 1-man unit or a 9-man unit. Because of this, it is impossible to add active abilities to units with more than one member.

We can multiply values with their TroopCount, but it is not the same as having several individual rolls made. Consider an attack that has a 50% chance to miss due to accuracy vs dodge. If a 9-man unit uses this, it will either count as 9 men hitting or 9 men missing. In addition, multiplying by Troopcount is not a viable way to multiply damage because 5 men dealing 5 cutting damage each is not the same as 1 man dealing 25 cutting damage. The attack vs defense formula does not work like that.

Does the UI need change to reflect this? No. We can put in descriptions that the ability stacks with members in a unit, but there is no requirement for the modifiers to display dynamic text. Example: "Each member in a unit attempts to strike the enemy for 5 fire attack".

How is the AI going to interpret it? Given the new priority tags that Frogboy are implementing, and the fact that these units are not going to be swarmed in abilities (we keep them simple) the AI does not need modifying to make things like this work.

Thinking rationally, is it a major code change or a small change - or just an addition? It is a rather big change, because currently all abilities are single-effect. This would need to be rolled as a multi-effect, like Ranged Attacks are. Ranged Attacks have a separate set of modifiers to multiply an ability, and that is troublesome in itself.

How is it going to be reflected in XML tags that we can use? Either as a tag directly in the <Spelldef> called something like <MultiplyByUnitMembers>, or it can also be put inside each gamemodifier. This is a rather big issue because if 9 men are going to roll the same type of ability, there may be huge stacking issues. I would therefore prefer if the tag was put inside the gamemodifier, not the spelldef. That way, we could have an ability that "lowers initiative on target by -2, and each attacker attempts to strike the enemy for 5 fire attack". Note the difference here - the fire attack is rolled for each unit member, but the initiative loss obviously should NOT stack. The tag should not be restricted to modifiers with DefendableDamage.
        <GameModifier>
            <ModType>Unit</ModType>
            <Attribute>DefendableDamage</Attribute>
            <AttackStat>UnitStat_Attack_Fire</AttackStat>
            <MultiplyByUnitMembers>1</MultiplyByUnitMembers>
        </GameModifier>

Does it help anything for the un-modded content in the game? Yes, throwing knives currently suffer from this issue for trained units. The Throwing Knife ability currently deals one single 6 cutting attack strike. This damage is not in any way multiplied by the amount of members in the unit. A 9-man unit using Throwing Knives will deal exactly the same amount of damage as a 1-man unit will.

Note here why scaling abilities with group size is important. Because the cost of each ability scales with the unit size. A single Throwing Knife costs 2 metal - 9 throwing knives cost 18 metal. Therefore, each paid-for knife should get a roll to attack.

And most importantly - how does it help the modder in specific ways and what am I going to do with it? This change is "unlocking the flood gates" for putting special abilities on our trained multi-member units. With the aid of AI priority tags that frogboy are working on, this means we can give units abilities like: "Strike a Mounted enemy for 50% extra damage" to a spearman unit. "All members attempt to strike an enemy target, each hit reducing their moves by 1." to a Warg-rider or a Harasser unit.

The grander purpose is to allow us to create a deeper tactical combat by introducing additional choices in Unit Design AND in combat actions. Specifically, I am going to make 10 standard actions available to all factions, then 1 or 2 for each of my ExpandedFactions in Stormworld.
End of Heavenfall's quote

This has been implemented, although I am not 100% sure of the mechanics. Anyway, see how abilities like Impale and Cleave scale for standard units in LH.

+1 Loading…
Reply #57 Top

Thanks for the update HF!

Reply #58 Top

A smallish update, it wasn't posted in this thread but I had requested it earlier. The unit design window now properly supports mutually exclusive traits. If two traits belong to the same abilitybonus they can no longer be selected at the same time.

Reply #59 Top

Quoting Heavenfall, reply 58

A smallish update, it wasn't posted in this thread but I had requested it earlier. The unit design window now properly supports mutually exclusive traits. If two traits belong to the same abilitybonus they can no longer be selected at the same time.
End of Heavenfall's quote

Does this mean that you do not get the artifact that was showing up before. I had this set up with my summoners mod a while back but if you selected two traits they both highlight but only one would still be selected (so functionally it worked, just not visually appealing)

Reply #60 Top

Correct, that visual artifact is gone.