Heroes of Might and Magic Community
visiting hero! Register | Today's Posts | Games | Search! | FAQ/Rules | AvatarList | MemberList | Profile


Age of Heroes Headlines:  
5 Oct 2016: Heroes VII development comes to an end.. - read more
6 Aug 2016: Troubled Heroes VII Expansion Release - read more
26 Apr 2016: Heroes VII XPack - Trial by Fire - Coming out in June! - read more
17 Apr 2016: Global Alternative Creatures MOD for H7 after 1.8 Patch! - read more
7 Mar 2016: Romero launches a Piano Sonata Album Kickstarter! - read more
19 Feb 2016: Heroes 5.5 RC6, Heroes VII patch 1.7 are out! - read more
13 Jan 2016: Horn of the Abyss 1.4 Available for Download! - read more
17 Dec 2015: Heroes 5.5 update, 1.6 out for H7 - read more
23 Nov 2015: H7 1.4 & 1.5 patches Released - read more
31 Oct 2015: First H7 patches are out, End of DoC development - read more
5 Oct 2016: Heroes VII development comes to an end.. - read more
[X] Remove Ads
LOGIN:     Username:     Password:         [ Register ]
HOMM1: info forum | HOMM2: info forum | HOMM3: info mods forum | HOMM4: info CTG forum | HOMM5: info mods forum | MMH6: wiki forum | MMH7: wiki forum
Heroes Community > Heroes 4 - Lands of Axeoth > Thread: Tutorial on how to make a custom Creature Bank (quest)
Thread: Tutorial on how to make a custom Creature Bank (quest)
NimoStar
NimoStar


Responsible
Legendary Hero
Modding the Unmoddable
posted December 26, 2019 07:34 PM bonus applied by Galaad on 27 Dec 2019.

Tutorial on how to make a custom Creature Bank (quest)

[Mods: Please mark this as project so I can update it later with more links and pictures and other player's reccomendations]

Creature banks have many abilities some consider to be... unnatural (?) for quest huts.

Since we have lots of quest huts in H4 and the recent expansion in modding has allowed us to add practically unlimited more with whatever graphics we like (including many already done and many in equi 3.55),







AND the number of Creature Banks is limited (even with the ones added in 3.55, which we don't know if we will be able to keep due to the .dll being falsely detected as a trojan now and deleted by antivirus automatically),

AND how creature bank rewards are limited
(the Genie Lamp was disabled because the developers didn't know how to script a "wish" into it)

It is interesting to think how we could create our own creature bank.

Now, this is not as simple as one may think.

Creature banks under apparent simplicity hide an inordinate number of functions.

These functions include:
- Randomized number of creatures
- Randomized number of resource rewards
- Randomized number, class and type of artifacts

Additionally, these features all scale:
- Growing number of creatures
- Growing number of resource rewards
- Growing number, class and type of artifacts

Due to the complexity of a script of this type, I would reccomend typing its code directly rather than using the game interfase to write it. Not that I would remember how to do that. But I think there was a program for that.

Fortunately after you have done a specific creature bank you could paste it on all maps.


***

Now, we will learn how to use different functions to emulate different aspects of a creature bank.

Though there are ways to "regenerate" a quest-creature bank by using set variables and month numbers, we are going to set up a non-regenerating bank, since few games are as long that you would be able to visit the same bank twice. Just so you know, regular base code banks regenerate after three months I think, on base stats, so they can potentially be visited many times in a game.

. How to set up your messages and basic outlook?

You can notice on the game's strings that each Bank has an unique string for the messages when you enter it and its full, for when you sack it, and for when you find it empty (except Equi 3.55 banks which at least for me all display the same string because of some bug)

To make this you need to know which creatures are you goint to fight at your bank. Lets say we want a serpent-themed bank with Nagas and Medusas so they compliment each other one being ranged and the other melee. We will call it the "Serpentarium". We will say the trasure of the Serpentarium is Gold, Gems and Sulfur; since the Naga Bank gave in H3 gold and gems, and the Medusa Stores gave Gold and Sulfur.

In the "General" tab, put the name "Serpentarium (Creature Bank)" and make a quest log with "In the Serpentarium I could fight medusae and nagas for Gold, Gems and Sulfur"

As youy will see there are three basic ways to set up the Creature Bank. The Completion way, the easiest but most sloppy since it can be gfought only once, the Trigger way that can replenish, which is complex and I am not going to go into in full, and the Hybrid way, which can be won only once but doesn't replenish, yet can be fought again if the bank wins (at full strenght, unlike default banks). I reccomend the Hybrid way since it offers the better balance work/playability.

In the "Quest Requirement" tab you can just put in "Yes", since anyone can fight there. If you want only heroes to be able to visit it and not any creature, you could set a "has a hero" condition. Other conditions are possible but general creature banks don't have conditions other than the willingness to fight. If you put in conditions you would have to fill in Proposal Message and Progress Message so the player is informed of the requirements (otherwise they will just be rejected without knowing why).

If you want the bank to be replenishable or infinite, instead the questions should be in Triggered Script and you get a bit more freedom, but its harder to set up the disabling of the bank (you could delete it with dynamite or try to limit the number of visits with variables and map triggers).

If you put in no condition and you will use the classic "completion" set up you can just skip to Completion Question. This should be an understandable prompt about fighting, what, and the general difficulty of the fight expected. In this set-up you get no further warning, since allowing to reject a future message with more detailed enemy composition (up to a point) would leave the quest empty if you already accepted the "completion" prompt, even if you don't fight later. So, this prompt is your last question before you fight.
"This Serpentarium is full of the voices of Naga royalty and their Medusa servants. You can see the glint of gold and gems inside, but you can also smell a sulfurous stench. So you wish to attack the guards to get the treasure? [This creature bank is of MEDIUM difficulty]"

There is a catch and even forcing ther player to fight, the bank can be vacated this way (though the AI won't do it probably). If you send a single skeleton and the hero conditional isn't set, after the Skeleton fights, the bank will be empty. The way out of this is using the Triggerable way and not the Completion way.

A self-sufficient way of trying to have the "best" of both words is the "hybrid" way: using a triggerable event for the decision to fight and the fights, and setting completion with a variable, which is the "quest prerequisite". The variable is set to True when a monster army is defeated in the trigger tree, otherwise it remains False and the place remains visitable to combat until someone is victorious. In this case the completion has no fights, it only asks you if you want to search for treasure (and evem you might have been given most of the treasure in the fight. These Variables can also have even more innovation if you have patience: You set up a particular Variable with every different fight, and each of them has a different "completion treasure" (and possibly message) done with nested conditionals if more than two. This has the secondary effect that you could allow anyone to come after and loot the treasure after another player defeated the guards, thus allowing more cooperation in multiplayer (since there is no resource trading or tribute to players in H4).
Do note that in the "hybrid" way there would be no way for the monsters to regenerate after defeated, but in the pure completion way, they don't reappear even if they win and nobody gets the treasure.

You should still set up the Empty message if you use the completion way or the hybrid way.
"It seems this was a rich Serpentarium where Nagas and Medusae hatched their schemes (and more of eachother), but it has been vacated and nothing remains of them or their treasures."

. How to do variability on creature numbers?

A- There is the easy way: Just put creature stacks as enemies without a set number. The game will automatically assign them an "experience power level" based on the individual creature XP value and the level of the creature.

. How to do variability on creature number, types, and more?



B- There are other ways, though, combinable with the first. For example: Make a conditional in the quest hut. The conditional branches into two configurations. Let's say one is only Nagas and the other only Medusae. The CONDITIONAL ACTION can be GREATER THAN OR EQUALS. What greater thank or equals? a RANDOM NUMBER. Lets say it has a range of 100. If the random number is grater than 60, you fight Nagas. If it is lower, you fight a greater number of Medusae.

Any of the options can branch again for more. For example, you could branch the lower 60% into 50/50 (so 30%/30% of the original) of a pura Medusa force and a Medusa force with a few Naga (in addition to the upper 40% of only naga). In this way you can generate any number of configurations (and creatures, potentially) for a single Bank.

You can put in a custom message (but shoudn't use a question that allows refusing) about "You were unlucky. The Elite Naga Guard catches you right in your steps!"
Or "You were lucky. You irrupted directly into the Medusa Maid chamber and will be able to fight only them and not Nagas for the treasure."

Otherwise you CAN make questions that only decide between both fights. Like "The Naga Guard is catching up to you. You hear them slither across the countless ramps that make this cursed labyrinth. Do you want to go up into the Medusa Chamber to evade them?"
If "Yes" fight Medusae, if "No" fight Naga.

You then configure that, when these armies are Defeated, you can make the treasure vary according to what the player fought. For example, if they fought only medusae, you could give them just Gold and Sulfur. If they fought only Naga, you could give them just Gold and Gems. Remember to include a message about their victory. The treasure can be further randomized with the same method.

How to do the power progression?

This is all well and good for a basic creature bank, but creature banks in H4 are more than this. They become harder, and richer with the time that passes ingame. A Ruins on month one isn't the same as a Ruins in Month Four. In my H4 Greatest Mod I emphatized this by giving all Creature Banks, even weak ones, a chance to spawn high-level creatures with time. So, while Ruins start only with Centaurs and Shamans (ex-berserkers), they include Behemoths if you let them too long. But the treasure you get when you defeat them (besides XP and necromancy :V) also grows.

A- USE DAY/WEEK/MONTH NUMBERING

When you set up a condition, and use a numeric value such as "Greater Than or Equals" you have the option to include a Day, Week or Month number as a reference. So say, before week 3 you fight some weak wolves, but after week 3, White Tigers join them. If you wait to week 7 they will even have Mantises.
These conditionals can be nested just like random conditionals in order to have many "time tiers".
Weeks are the easiest reference to remember, but in H4 dwellings grow every day so weeks aren't that significant for recruiting; days are a better gameplay accurate default progresion reference.

B- Use Map Progression specific metrics

In custom campaigns, days may not be as important as objectives for the purpose of evaluating player strenght. This should be only used for setups where the AI can't/won't use the Bank. Do note that the AI is capable of going through some quests normally and it does visit quests in certain circumstances (such as going through quest gates and guards)

Anyways, this method relies on "landmark advances". They should be scripted into the corresponding map events.

For example, if you need to fight Faerie Dragons in a campaign map, and defeating them gives you a Magic Mirror scroll, and in the Creature Bank there are Magi and Water Elementals... you should set when the Faerie Dragons are defeated "Map Progression variable: +1000". Otherwise you can set a simple variable such as "HAS MAGIC MIRROR = TRUE" )(or given its an artifact you could set the artifact as a condition, but this allows the player to get rid of it by sending it off with a creature before entering the quest)

In this way you can also set the Magi and Water Elementals to increase in number or include the expansion Witches, for example, as to counterbalance the player's acquisitions or map progression.
Custom Messages can be set such as the new Witches saying they covet the player's mirror in order to know who's the fairest of them all, and other story references. This makes the game world and story more immersive and makes it feel like the world is reacting to the player's actions (and it is actually true, at least to an scripted extent)

Other proposals are to make the banks react to the presence of secondary heroes such as the ones rescued from prisons or to the resources hoarded by the player (though do note sadly in H4 the market is always present so the player can always get rid of them, exchange and squander them, too).

C- Evaluate attacker strength

This one is very tricky since there is no straightforward way to evaluate this. However there are a few proposals.

Some of them:
- Level of strongest hero present
- Total number of creatures in army
- Total number of heroes in army



The defender strenght could scale with any of these factors or all of them, though take into account this would make the bank easier to clear if the player knows how to bypass the challenge evaluator (such as bringing in a few but very strong creatures). However, the treasure should also scale with defender power.

******************************************


Advantages of Quest Huts Banks over Creature Banks:

- Quest Hut Banks can have up to seven different creatures. Creature Banks only up to three.
- You can script practically any reward for defeating quest hut banks. In default Creature Banks only artifacts and resources are possible. Here you can put in choices, skill upgrades, direct spells and more creatures.
- More messages, more decisions, more sense of adventure, more customizable.

Disadvantages:
- More work.
- More bugs if you do it wrong. (Example: knowing what is "victorious" and what is "defeated" is harder than it looks; in this case I think it refers to the player army, not the creature army)
- Some functions not available unless you put in unrealistic amounts of work (artifact rating, scroll and parchment spell randomizing, artifact randomization between hundreds of options)

I encourage people to publish/send maps with their creature banks so we can make a library of them.
____________
Never changing = never improving

 Send Instant Message | Send E-Mail | View Profile | Quote Reply | Link
bloodsucker
bloodsucker


Legendary Hero
posted December 26, 2019 11:00 PM
Edited by bloodsucker at 03:52, 27 Dec 2019.

I used to work with the conditions:
If most powerful hero in this army;
Leaser then ...
This Army Fights ... to control the size of fights.
I remember to create something called Portal of Eternal Battle that would systematically provide for a fight, with several preseted armies and tested to the number of vampires one would raise between one level and another, up to the limit of 74. It wasn't for Equilibris, though.

____________

 Send Instant Message | Send E-Mail | View Profile | Quote Reply | Link
Galaad
Galaad

Hero of Order
Li mort as morz, li vif as vis
posted December 27, 2019 12:03 AM

NimoStar said:
[Mods: Please mark this as project so I can update it later with more links and pictures and other player's reccomendations]


Done, keep up the great work!
____________

 Send Instant Message | Send E-Mail | View Profile | Quote Reply | Link
NimoStar
NimoStar


Responsible
Legendary Hero
Modding the Unmoddable
posted December 29, 2019 07:52 PM

Quote:
Done, keep up the great work!


Thanks galaad. Glad to have an active mod keeping tabs on the subforum unlike before

Quote:
I used to work with the conditions:
If most powerful hero in this army;
Leaser then ...
This Army Fights ... to control the size of fights.
I remember to create something called Portal of Eternal Battle that would systematically provide for a fight, with several preseted armies and tested to the number of vampires one would raise between one level and another, up to the limit of 74. It wasn't for Equilibris, though.


Scripted quests should work regardless of the game version. At least with the versions we currently have (power rating specially of prenumbered creatures will be messed in my mod, though; but on the moderate side that can also happen with Equilibris, for example the extra Ogre Magi spells)

So, if anyone has maps with "universal" quests that work regardless of context, I would love to hve them and add them to a "library" so that any mapper can use them as regularly appearing objects. Sincer making them costs a lot of work, one way is to share it this way, so we can effectively multiply the effectiveness of our efforts.
____________
Never changing = never improving

 Send Instant Message | Send E-Mail | View Profile | Quote Reply | Link
bloodsucker
bloodsucker


Legendary Hero
posted December 29, 2019 09:31 PM
Edited by bloodsucker at 21:31, 29 Dec 2019.

NimoStar said:
Scripted quests should work regardless of the game version.

It will work on any version but to beat a few hundreds of Megadragons with ghosts will be a problem.
____________

 Send Instant Message | Send E-Mail | View Profile | Quote Reply | Link
Karmakeld
Karmakeld


Responsible
Supreme Hero
posted January 17, 2020 01:08 AM

Just to clarify normal creature banks regenerate after 1 month, not 3 months.
____________

 Send Instant Message | Send E-Mail | View Profile | Quote Reply | Link
NimoStar
NimoStar


Responsible
Legendary Hero
Modding the Unmoddable
posted January 24, 2020 03:11 AM

Quote:
It will work on any version but to beat a few hundreds of Megadragons with ghosts will be a problem.


Depends on how many ghosts
plus in my mod ghosts regenerate health and have the fear power even though they are first level, so there is that.

(i seem to believe megadragons are immune to fear due to berserk, though)

Quote:
Just to clarify normal creature banks regenerate after 1 month, not 3 months.


Interesting. I seemed to remember having tested in three months.

Further more, is this one month in total (for example, if you destroy it on 29 it regenerates on 29 of next month), or one month in chronology? (If you defeat them on 29, it is back on 1 of next month?)

In any case, this feature is not very balanced because while your power steadily increases trought the game, the creature bank resets to zero (first day) and is thus very weak when regenerating, turning into a "free farming" place almost, specially with the ones that start with few guartds (though thew ones with many guards could be seen as farming more XP , too).
____________
Never changing = never improving

 Send Instant Message | Send E-Mail | View Profile | Quote Reply | Link
Karmakeld
Karmakeld


Responsible
Supreme Hero
posted January 25, 2020 01:03 PM

NimoStar said:


Quote:
Just to clarify normal creature banks regenerate after 1 month, not 3 months.


Interesting. I seemed to remember having tested in three months.

Further more, is this one month in total (for example, if you destroy it on 29 it regenerates on 29 of next month), or one month in chronology? (If you defeat them on 29, it is back on 1 of next month?)


It counts a month in days, so it'll take 28 days to regenerate, no matter what day of the month it is defeated (a month is 4x7 days in heroes, so there no 29th day in the month )
I know this with certainty because in the first map of my Mudgeon campaign, you have to complete the map within 2 months, and if played right you can manage to earn the reward of the creature bank in that map twice. If you don't fight it during the first month it won't regenerate within the time limit. Maciek and I tested this multiple times.



In any case, this feature is not very balanced because while your power steadily increases trought the game, the creature bank resets to zero (first day) and is thus very weak when regenerating, turning into a "free farming" place almost, specially with the ones that start with few guartds (though thew ones with many guards could be seen as farming more XP , too).


What do you mean by first day resets? I've never encountered that. Unless you defeat the guards it doesn't resets. If not defeated the guards continue to grow and so does the reward.
Now if you look at my example from above, in that case I recall it gives a slightly better total resource reward from a Forest Glenn if you defeat it once a month, rather than only once in 2 months (aka the reward isn't doubled), in cases with e.g a Pyramid the artifacts you earn will increase in level over time, so they goes from Treasure to minor, major etc.
It is however true that it doesn't adjust to current month if reset, but imo I wouldn't call that unbalanced. Rather it prevents xp farming as a consequence of a monthly raid, though I agree it makes up for an easy resource farming.
____________

 Send Instant Message | Send E-Mail | View Profile | Quote Reply | Link
NimoStar
NimoStar


Responsible
Legendary Hero
Modding the Unmoddable
posted January 26, 2020 02:23 AM

You are misinterpreting what I said in the second case.

Of course that, if you never defeat it, it never resets. But if you defeat it, it will come back as a "first day bank" after the month; and so, while you get stronger (accumulation of creatures, experience, artifacts, buildings, and so on), the bank is actually weaker. So, the bank becomes an easy farm where you get resources and artifacts "for free" and the guardians cease to be an obstacle.
____________
Never changing = never improving

 Send Instant Message | Send E-Mail | View Profile | Quote Reply | Link
Karmakeld
Karmakeld


Responsible
Supreme Hero
posted January 26, 2020 11:01 AM
Edited by Karmakeld at 11:08, 26 Jan 2020.

At first I do believe I misinterpretated it, but I finished by agreeing that it makes up for easy resource farming.
I don't know if it's unbalanced or if it was a design decision. It could've been setup otherwise which might also have made it unbalanced in some ways.
They could've conditioned the amount of guards on resets to match the current month or level of your hero, but that could've lead to possible xp farming. As you progress over the months you most often accumulate more resources than you need, so it balances itself out after a while, as the rewarded resource becomes needless.
As for artifacts I also believe it balances itself out, coz again as months pass and most often you gather better artifacts, a reward of some treasure artifact likely isn't very useful.
In any case, if one finds the original creature banks to be unbalanced, you can make up for that, by making your own ones as you wrote

Edit: as for the scripting program you're probably refering to either the H4Util or the Advanced Option Map Editor found here
____________

 Send Instant Message | Send E-Mail | View Profile | Quote Reply | Link
NimoStar
NimoStar


Responsible
Legendary Hero
Modding the Unmoddable
posted January 27, 2020 09:08 PM
Edited by NimoStar at 21:13, 27 Jan 2020.

Quote:
They could've conditioned the amount of guards on resets to match the current month or level of your hero, but that could've lead to possible xp farming. As you progress over the months you most often accumulate more resources than you need, so it balances itself out after a while, as the rewarded resource becomes needless.


While you have some points in other stuff, with this I disagree.

In H4 you get less resources than you need to recruit your creatures, so unless you get Grail, you will always be low on resources.

Xp farming once per month is less bad than resource and artifact farming... XP farming can already happen by just letting some enemy monster grow naturally, while there is no other mechanic for farming artifacts. Artifact farming also means that each creature bank has, effectively, infinity potential artifacts of each type it can hold. While there was this possibility in H3 with artifact merchants, you had to pay for those (also H3 creature banks seemingly never regenerate (?)) - Also, instead of defeating the creature guards that get stronger each month for new treasure, you can just re-attack the same creature bank that is just as weak every month.

Artifacts are also supremely important in H4 due to a few reasons:
- Only basic, preset specific artifacts are for sale, unlike H3; more advanced artifacts can only be gotten in banks, gathering from map, etc.
- The skills are very limited. You only get 5 main skills from a possible 9, and each main skill comes prepackaged with its three adjunct subskills (IE meditation, herbalism and summoning for Nature Magic; two of three subskills are the same for each of the 5 magic schools) making most heroes quite similar in the long run.
-- This makes subclasses and artifacts the differentiating factor between heroes. Most subclasses are unimpressive, and provide only a single ability; this makes Artifacts the defining factor, since each of them provides one or more ability and you can have many at the same time.
- Unlike in H3, having the same artifact equipped more than once in H4 stacks.
____________
Never changing = never improving

 Send Instant Message | Send E-Mail | View Profile | Quote Reply | Link
Jump To: « Prev Thread . . . Next Thread »
Post New Poll    Post New Topic    Post New Reply

Page compiled in 0.1106 seconds