Heavenfall Heavenfall

[for devs] Requests for changes in modding

[for devs] Requests for changes in modding

This thread is intended as a way for modders to present their opinions and requests on how the modding tools, or various aspects of the mechanics in modding, can be improved. It can range from small to large requests.

1. A frequent request I've seen on the modding forums is for map files to contain a tag that prevents resources from spawning in it. Edit: Even better, a tag that defined what resources COULDN'T spawn in them as well. So, first a <NoNewResources>True/False</NoNewResources>. But also a <NeverSpawnResource>IronOre</NeverSpawnResource>

2. CityWallSets have a tag called <Filler> that I think is meant to fill empty tiles inside the city walls. This does not appear to function. If it DOES function (and I misunderstood it), I would like a NEW tag inside the citywallset type that allows us to assign what designed tiles should be placed on empty tiles inside the city walls. Please consider the ugliness of the following picture: http://img820.imageshack.us/img820/774/elemental1285071164.jpg

3. I would like to see EnvironmentType not be hardcoded, so that we could add new types of environments to the game. Right now, there is only 5 types (barren, fallen, kingdom, desert and arctic). I think there is a HUGE amount of room here for GOOD LOOKING improvements to the game, but the environment types are hardcoded and that makes it impossible to create new interesting environments.

4. Right now, we can only build one type of improvement on each type of worldresource. For example, a "ScenicViewBonusType" will ALWAYS produce the same improvement. Even if more improvements are added that uses the same type, there is no way to build them. I would like to see an option added to select which type of improvement is to be built on a resource, if there are several choices.

5. I would like to see the ability to add more Allegiances to the game. Specifically, it should be possible to choose more types of allegiances when selecting a race to play. Right now, the UI only presents 2 types - Kingdom and Empire allegiance.

6. I would like to see numbers added to the scales in the builder's forge. These numbers should be modifiable. That way, we can fine-tune the placement of objects by editing the numbers. Right now, the scales are rather bumpy in design and that makes it hard to adjust them after they have been placed.

Add your own thoughts!

53,497 views 127 replies
Reply #51 Top

Quoting Heavenfall, reply 50
Requests.
Secondly, it would be helpful if there was a tag to turn improvementtypes into mutually exclusive buildings. For example, I could have a CHOICE of building a War College, or building a Sion training facility. I would recommend that the tag be fairly simple, for example: <CityCannotHaveImprovement>. I would also like to see this tag be repeatable, so that we may choose between three or more buildings to be exclusive. Ps. Ideally this tag, too, should read from the resources linked to the city as well as the buildings within the city.
End of Heavenfall's quote

Or they could make it possible to set the prereq tag to see if the condition is false instead of if the condition is true.

Reply #52 Top

That would work as well, but only if they introduced a prereq attribute that checked if the city had a particular building. The only current one is BuildingRequirement, and that only checks against the <SpecialBuildingType> tag, and the check only works for unittypes.

Reply #53 Top

Honestly, Improvements probably need an overhaul on how they are handled in general. As I have stated several times through this forums, improvements like most things in Elemental lack any element of choice. Consider that, the only real limitiations to buildings are tech pre-reqs, resource pre-reqs, numerical limitations, and building reqs. Yet, the tech reqs are simply a method of limiting how fast you can start building improvements and resource pre-reqs are a type of geographic determinism, which forces players to expand to acquire these resources. Even, the building reqs are simply a set of building which follows a very simple OR logic. From my point of view, improvements should have a broad set of limitiations which can be used. I think the following would only enhance our ability to mod improvements:

1) Allow for improvements to use a complex logic of reqs for determining possible building. Currently, Building reqs are simply OR'ed to figure out if any of the pre-req buildings exist. It would be better if I could specify that Improvement A can only be built if Improvement B and Improvement C exist or Improvement C and Improvement D. Even further, we could say something like A can only be built if B and C and not D or not B and C and D. This would allow modders freedom to force players to choose how they improve their cities in such a way that is ultimately meaningful.

2) Allow for Improvements to have multiple upgrade paths. Currently, if you have Building A, you can only have it upgrade to building B. It would be more interesting if one could say, you have building A which can become B or C. You could even go further to say add a more complex logic here as well to say, A can become B under condition X or it can become C under condition Y.

3) Allow for production times to be variable based on conditions. Like, if you have building A, then building B can be built in only 50% of the time, or to go even further, if you have building A and B, then C will take 2x as long while A or B, then C will take 0.5x as long.

4) Allow for complex conditionality for pre reqs. Right now, all pre-reqs are based upon simple and logic, so that all pre-req conditions must hold. I think it would be interesting to allow improvements to again specify complex conditionals for this.


While I know this would greatly increase the complexity of the improvement system, as it stand now, the system is highly simplistic and building cities feels ultimately linear.

Reply #55 Top

While I was doing the expandedmounts mod I came across a very specific problem. The mod, in its non-public stage, added 5 world resources that you could build improvements on. These mimicked the functions of stables for horses and/or wargs, but added new types of resources used for new types of mounts.

No matter what I did, the AI would never ever use the mounts. So I sent a whisper to Cari_Elf and asked how the AI selects mounts, and was informed that the AI, in 1.09e, simply selected the "first one on the list". I asked if the list was sorted in any way, for example through availability through resources and/or added strength and the reply was that it wasn't.

I guess my request would be that the "mounts" type list has some kind of sorting applied, so that it chooses the strongest available mount for the unit. That would be the small request. For example, drakes were intended to give the rider 2 strength, 2 dexterity, 2 combatspeed and 3-5 hitpoints. A brute, for comparison, was going to give 1.5 combat speed, 2 strength and 2 hitpoints.

The big version of the request would be that there was some sort of system that allowed modders to tell the game AI what items were powerful and what weren't. For example, a modded armor might have a low defensive value but a strong ability it unlocks (like combat regeneration). That item might be much stronger than another item with only higher defensive value, but the item with the higher defensive value would always be chosen by the AI. Ideally, this "power value" would be optional, like the <Shopvalue> tag - it can be included, but doesn't have to be.

Reply #56 Top

I figured out how to make modding a LOT easier.

First, the problem. Modeltypes. I hate them. They do two things. First, they actively limit the armor and clothing a unit can wear. Secondly, the modeltype actively randomly distributes skins and hairstyles when creating random units.

Let's say I want to make a new race. I want the race to look cool, so I make a friend design a really cool skin. Let's call it... Elf mod. Since I want to give them a new skin, I need to make a new modeltype. This means I need to repeat all the armor in XML, because they don't support my new modeltype. So, a simple skinned faction has become a chore of a thing, which will probably need changing around every update of the game - if you change a value in the core xml, I'll need to change it as well and upload an updated mod.

Solution: Break up the function of the modeltype tag. As I said above, it does two things. Make it do one. Make modeltype only decide what armor can be worn. Then, create a new set of tags called skintype or skinhairtype. This tag assigns a random skin and hairstyle to a particular user of that type. So, when I want to do a simple reskin, which SHOULD be a simple thing, all I need to do is reference the OLD modeltype, but provide the new unittype with a new skinhairtype.

 

Old: Modeltype randomly assigns skin, hair, and actively limits what armor you can wear.

New: Modeltype only limits what armor you can wear, a new tag is used to randomly assign skins and hair. Edit: Throw heads in with skins and hair.

Reply #57 Top

Good idea, but be careful where you say "Throw heads in with skins and hair"! :P  (Sounds like a real witch's recipe.;) )

Best regards,
Steven.

Reply #58 Top

And a newt's tail and childrens' laughter and the smell of dreams. Boil until cookingpoint, then nail to the wall with mist. Stare until it breaks.

Serve with room-temperature wine.

Reply #60 Top

In all seriousness I have put all my quests on hold until someone makes a decent quest editor.

The option would be a creature editor that allowed us to both position them on the tac map and create entire armies or single units as we see fit.

Reply #61 Top

In all seriousness I have put all my quests on hold until someone makes a decent quest editor.
End of quote

I guess you just volunteered. Seriously though, a quest editor is would be nice, but is far from necessary to add new quests. I think it would be nice if the devs a lot more quest triggers. Right now, most quests are triggered from quest locations, which is cool and all, but I think many modders want a lot more freedom in how quests are triggered.

I once had an idea for a quest that is triggered when a city is built or influence expands. So if you are playing as a kingdoms faction and you place a city near a warg resource, you could have the possibility to trigger a quest where the wargs are actually infested with darklings. In general, there are all sort of triggers that could be possible, making it even more interesting for average players to make new content.

The option would be a creature editor that allowed us to both position them on the tac map and create entire armies or single units as we see fit.
End of quote

While I am not 100% certain if it is possible to specify tactical map position, I am very aware that making armies and single units is more than possible with quests. Look at the level 1 quest list and several show how to accomplish this.

Reply #62 Top

Request

Please make it so that the AI actually make use of the Egalitarian bonus ability. The Egalitarian bonus ability makes it so that you can recruit both female and male units. This is a simple way to make the units more diverse. For example, I could use different models for male or female units. However, the AI will (in 109n beta) only ever produce male units.

Also, please help me find a way where the AI does not always produce pioneers. Apparently, there is a hardcoded unit design for pioneers in the AI, and it is driving me crazy that I cannot disable pioneer-building for AIs.

 

Reply #63 Top

One thing I would like to see changed a bit is store items. I'd like a way to have the payment method be anything, rather than just gold. For instance, you find some elementium, and want to craft a cool item for your sov, and the store can do it for a small amount of gold, and the elementium you just found. I don't think this would be too tough to add, but I could be wrong.

 

Reply #64 Top

Having played 1.09n, I would really like to see some method of making specialists local instead of global. Right now, modding the xml for this feature causes the game to basically become unusable, as there are several hard coded systems that require this to be global.

Reply #65 Top

I have to agree with kenata. I expected I wouldn't like the global specialists, and indeed I don't. It takes away about half the planning from the game. It's fine (well not really, but acceptable) if SD wants to stick with the global stuff, but please allow for a way to change these hard coded systems so that meaningfull mods can be made.

Reply #66 Top

Another request

in 1.09e there's a spell called Grim Defiance that has this gamemodifier

<GameModifier InternalName="EnchantDefenses">
            <Type>City</Type>
            <Attribute>TrainedUnitStat_Multiplier</Attribute>
            <StrVal>UnitStat_HitPoints</StrVal>
            <Value>0.10</Value>
      <Duration>-1</Duration>
        </GameModifier>   
End of quote

I would love if this gamemodifier was useable for city improvements (it is not). The concept would be that we build buildings in a city that improves the units produced there. For example, we might build a Fighting Arena that consumes population but gives units trained in the city higher accuracy. Or we might build a Temple of Devotion that increases the defensive value of a unit.

 

Reply #67 Top

I would love if this gamemodifier was useable for city improvements (it is not). The concept would be that we build buildings in a city that improves the units produced there. For example, we might build a Fighting Arena that consumes population but gives units trained in the city higher accuracy. Or we might build a Temple of Devotion that increases the defensive value of a unit.
End of quote

I completely agree with this idea. There are so many different types of buildings one could devise around modifying the trained units of a city.

I can't remember if this was suggested in here before, but It would be awesome if we could specify a party as the target of a game modifier. Then we could add things like battle standards which could add a bonus of defensive bonus to their party or a pack horse which could give a bonus to the entire parties move.

Reply #68 Top

I'm sure this has been mentioned before, but please expose the shard-seeding code to the end user. Having this hard coded really limits modifications to the game's magic system.

Reply #69 Top

Also, modding is severely limited until we have a way to overwrite rather than just add to the code. For example, if I want building X to produce Y rather than Z, changing this through a mod file makes building X create Y and Z instead of Y rather than Z. This can be overcome with negative values, but both are displayed in the Elemental-o-pedia, which makes the mod feel unprofessional.

Reply #70 Top

New request.

Allow the Calculate function to reference resources for spells. Right now, shard posession can influence damage in only a hard-coded manner. If you allowed calculate to work with more tags, I could add more mana types to the game. :D

Reply #71 Top

Don't know if this has been requested before but:

The ability to prevent items from being equiped based on stats and current item types equiped. So we can get the usual can't use item X without Y Strength. However, you can then also make it so that you can't equip item Z when you have item W already equiped.

The latter is mostly so that we no longer have to add weapon abilities to weapons directly. Instead you can then make an item which is for example training in sword techniques and unlocks "slash". You wouldn't want to be able to use or even equip/learn the slash ability if you had a club as it makes no sense. So if you are able to add a tag to the item that says allowed for Swords etc then you can create a bunch of groups of weapon specific abilities that will be compatable with any weapon mod.

Reply #72 Top

I want a way for factions to spawn resources.

The functionality would be identical to the Naturalist talent for sovereigns, only it would apply as a race strength for a faction instead. Upon starting, the resource should be placed near the starting position, just as it is for the talent Naturalist.

Preferably this would be done inside a tech - that way, you can hit two flies with one strike. The modder could place an unlock modifier for a tech, and the tech would place a resource hoard. This would have the secondary benefit that we could place resources based on what we research - something you've hardcoded, for some insane reason.

 

Reply #73 Top

*I want a way to access the user's level for use in calculations determining damage of spells.  I'm not into using multiples of INT or doing INT divided by some number in damage. 

*A way to use random number function inside of calculate

*Ability to use if- then statements, maybe case too.

 

 

Reply #74 Top

*I want a way to access the user's level for use in calculations determining damage of spells. I'm not into using multiples of INT or doing INT divided by some number in damage.
End of quote

I would expand this by say, it would be nice if level was accessible like any other stat. Not only could modders do calculations with this number, but we could use it as a required stat for the spells themselves. I would love to make weapon abilities which unlock as a unit levels instead of just based on their unit stats.

*A way to use random number function inside of calculate
End of quote

Again, I would expand this to say that it would be nice to have a couple of advanced math functions, like exponentials, abs, and maybe sine (for some freak calculations ).



Also, I would love a way to link spell effects based on success. So if my first game modifier is a damage effect and my second is a lose turn effect, then the unit only loses its turn if the damage effect is successful. As it is right now, if I make this type of spell, the target will lose its turn even if it was completely unaffected by the damage effect.

Reply #75 Top

After modding a few spells myself, new thoughts came up for more stuff I wanted to implement.

 

* A cone area of effect, emanating out from caster.

 

* A line area of effect, emanating out from caster.

 

I would like to say that modders could use these with abilities too and not just spells.