• 🏆 Texturing Contest #33 is OPEN! Contestants must re-texture a SD unit model found in-game (Warcraft 3 Classic), recreating the unit into a peaceful NPC version. 🔗Click here to enter!
  • It's time for the first HD Modeling Contest of 2024. Join the theme discussion for Hive's HD Modeling Contest #6! Click here to post your idea!

Mechanics-altering summons & transformations

Status
Not open for further replies.
Level 5
Joined
Oct 9, 2017
Messages
124
Most of the "odd" summon abilities and many transformation abilities define their abnormal properties as part of the ability. For example, Gargoyle's Stone Form applies the health regeneration as part of the ability, rather than it being a property of the alternate form. Similarly, Robo Goblin alters the statline rather than the altered statline being part of the alternate form's base stat.

Other abilities that use the Alternate Form animations (both for more options under the umbrella and a note on animations) include Locust Swarm from the Crypt Lord, Root from Ancients, the Barrage upgrade for Siege Engines and Berzerker upgrade for Troll Headhunters,

A notable case of alternate animation sets not being an Alternate Form is that the Mountain Giant's War Club ability is coded to use the Upgrade animation set instead of Alternate Form (and uses the texture of the tree grabbed, game crashes if you try to use it on anything other than a tree). Similarly, the Spirit Walker applies a visual effect, rather than switching animation sets.

The topic for this thread, thus, is discussing and posting (and prototyping, if you want) ideas for making use of these multiple different abilities that alter the same base unit's effects. Essentially, what can you think of doing with multiple ways to get the same unit that have different statlines or abilities?

---

In regards to multiple transformations, upgrading with different abilities to the same unit, but with the altered properties being different, can be useful for saving on data for extremely feature-packed maps, and for saving on design space for techtrees.

For multiple abilities summoning the same unit, a powerful unit can have a different ability derived from Pocket Factory spawning proxy units. Automatic missile launching, a trail of fire left in it's wake, creating backup... A surprising amount of effects can be accomplished with proxy units. Triggers add more variety, as always.
 
Level 13
Joined
Oct 12, 2016
Messages
769
My personal favorites are with, like you mentioned, Pocket Factory and Inferno/Rain of Chaos.

For Pocket Factory, I made it spawn a gravestone that summoned in zombies with black arrow to... create more zombies.
Instant zombie apocalypse.
I even took it a step further and made the zombies uncontrollable by setting their acquisition range to like, 5000+ and changed their player number to a computer dummy through triggers when they enter the playable map area.
That, combined with revealing the map for the dummy computer, basically made zombies wander uncontrollably to anything with brains.

I've used Inferno and Rain of Chaos in many ways.
Once, I changed the summoned unit to an invulnerable ward with Permanent Immolation and a "fire" model. Instant meteor shower with flaming wasteland, all without triggers.
I even found a way to spread disease and blight in a target area using Inferno, the building blight generation ability, and the Plague Ward unit.

I heard of one guy using Raise Dead creatively. He made a dummy unit with an explosion animation, made it last for 1 second, and gave the summoned unit "AoE Damage On Death."
Triggerless corpse explosion spell.

I have yet to test what happens when you use negative values on some of these transform abilities.
HMMM.
 
Level 5
Joined
Oct 9, 2017
Messages
124
Well, that's not quite what I had in mind, but it's still some nice ideas! What I'm thinking about is, essentially, a matter of techtree fragments. Multiple methods of accessing units or structures that use transformation and summoning spells to make the same single unit have multiple mechanically-distinct permutations. Attachments are useful for this, graphically. As are triggers adding abilities, actually.

The key thing that I think is getting in the way of posts is that it's honestly a matter of people probably not being willing to dig into multiple access methods. Because that spirals out into full techtrees pretty easily.
 
Level 8
Joined
Mar 19, 2017
Messages
248
Techtrees or simple spells? In general a dynamic and compelling techtree (i'm using a broad interpretation, hopefully we are refering to the same concept), using Morph ("the morph resource") abilities, should only resign to use the most general and bug free morph abilities, and only if you want to modify or have a feature that is otherwise not accessible via triggers (currently is only the unit model, attack type infocard, attack range, defense type infocard; and in fact the last 2 can be modified via triggers with researches). If you are planning ie. to increase a unit's attack damage in the frame of a techtree system (this dramatically changes if you are just making a regular hero and you simple need the new unit model), instead of using a morph ability, just add an ability, otherwise you will "burn" the morph resource. Since morph abilities vincalate 2 specific units, or 2 modes of a specific unit, if you want to vinculate 2 (or more) morph abilities with same desired unit, you will need to create multiple abilities, multiple units (editor wise), per "unit type". This is why burning the morph resource is costly.
I don't know if morph abilities present order id conflicts between them (most likely yes), in which case you will also need triggers to make such multimetamegaultramorph system work.

One of the best practical applications for general Morph abilities (Bear Form/War Club/Metamorphosis), is a system to switch attack modes (let's say you are designing a RPG and you want your character be able to use melee and ranged weapons).
Using War Club to change the skin of a unit is also a well known trick. Should be noted that War Club can be used with other Morph abilities flawlessly, but as you know it's effects is switch the attack type, and that's it.

You didn't mention Chaos (a potentially useful ability to instantly transform any unit into any unit basically) transform, and that is kind of right, since it is buggy as hell. Still it can be used (together with triggers, HEHE) to create a "pool of summons ability", in which with just one ability you could summon a multitude of summons from a pool (ie. a sorcerer's familiar spell that spawns a random familiar).

I also made this some time ago, that tried to catch the idea of delayed action without a timer (very sloppily made, but hey it uses summons),

I can elaborate all the vague ideas i previosly presented if needed.
 

Attachments

  • test.w3x
    18.2 KB · Views: 44
Level 5
Joined
Oct 9, 2017
Messages
124
Techtrees or simple spells?
I bring up techtree fragments because the dynamic involved is very much specifying multiple things in a format that often switches up unit roles, thus acting to fill multiple "spots" on the techtree. As mentioned, using Pocket Factory for proxy unit based abilities on one "unit" is one possibility, and multiple transformations generally mean you're doing cohesive design work instead of a one-off. Basically, I feel this may be getting less traction because it leads directly into the sort of unit interactions that make up chunks of techtrees, which is more in-depth thought that people usually give on this subforum.

You didn't mention Chaos
I did mention Troll Berzerkers, though, which use the exact same mechanics for the shift. They just happen to use Alternate Form models.

As for a techtree built on morphing, one of the thoughts I had for an example was to use multiple different morph abilities, with the tags applied to make Destroyer Form work, as the basis for various different 'Larvae' units morphing into the combat units, resulting in different costs and different statistics. As a result, different structures producing different 'larvae' would alter the statlines of produced units, such that eminently spammable defensive structures produce 'larvae' able to pump out a few units for literally no resource cost, but the units produced that way end up with sizable health decay, resulting in them being temporary. Meaning that a bulk of defensive capabilities come from functionally-temporary t1 units with minimal to zero cost.
 
Level 11
Joined
Nov 25, 2014
Messages
526
I've used Inferno and Rain of Chaos in many ways.
Once, I changed the summoned unit to an invulnerable ward with Permanent Immolation and a "fire" model. Instant meteor shower with flaming wasteland, all without triggers.

B---but, in Rain of Chaos, how do you change the meteor effect? I know there's a field to change that in Inferno ability, but there's none in Rain of Chaos
 
Level 13
Joined
Oct 12, 2016
Messages
769
Basically, it casts whatever ability selected in "x" number of random locations within "y" area.
I haven't tried it with anything that isn't an area spell or summoning spell, however. Hm...
 
Level 2
Joined
May 4, 2018
Messages
27
Since there's some discussion of the Troll Berserker upgrade here, I was wondering if anyone could answer a question.

I copied and modified the upgrade and spell in an attempt to create a Militia unit who can upgrade to a footman. Both are new units, and the upgrading itself works fine, as I seem to have copied over everything I can find about how the Headhunter>Berserker shift works.

But, at the barracks, both their tooltips appear. And, worse yet, I had to apply the upgrade as a techtree requirement, or the footman could be built from the get go. Try as I might, I can't seem to find how to keep the footman's tooltip hidden until the upgrade is purchased. (The militia button vanishes after upgrading like it should, which is even more confusing to me...)
 

Kyrbi0

Arena Moderator
Level 45
Joined
Jul 29, 2008
Messages
9,502
...

The topic for this thread, thus, is discussing and posting (and prototyping, if you want) ideas for making use of these multiple different abilities that alter the same base unit's effects. Essentially, what can you think of doing with multiple ways to get the same unit that have different statlines or abilities?

---

In regards to multiple transformations, upgrading with different abilities to the same unit, but with the altered properties being different, can be useful for saving on data for extremely feature-packed maps, and for saving on design space for techtrees.

For multiple abilities summoning the same unit, a powerful unit can have a different ability derived from Pocket Factory spawning proxy units. Automatic missile launching, a trail of fire left in it's wake, creating backup... A surprising amount of effects can be accomplished with proxy units. Triggers add more variety, as always.
I'm not 100% what you're going for here, but I'm glad it's something we're talking about; tips & tricks of the Editor are one of my favorite topics.

Just a sidenote, I'm almost 100% positive that the enhanced HP Regen effect of both the Gargoyle's 'Stone Form' & the Crypt Fiend's 'Burrow' are indeed a part of the 'alternate form unit' & not a part of the ability.

A good example of sort of a mix of those two formats is the Goblin Alchemist's 'Chemical Rage' ability; the enhanced stats are present on the Hero, but since there isn't a way to reference that at all/easily on the tooltip with dynamic tooltips, Blizzard (knowing this) put a few Stat/Data fields in the Chemical Rage ability itself that show the increased stats & are referenced in the tooltip (IIRC they are actually designated as "tooltip fields: does not affect the stats for real").

Honestly I wish they'd do that more often.

My personal favorites are with, like you mentioned, Pocket Factory and Inferno/Rain of Chaos.

For Pocket Factory, I made it spawn a gravestone that summoned in zombies with black arrow to... create more zombies.
Instant zombie apocalypse.
I even took it a step further and made the zombies uncontrollable by setting their acquisition range to like, 5000+ and changed their player number to a computer dummy through triggers when they enter the playable map area.
That, combined with revealing the map for the dummy computer, basically made zombies wander uncontrollably to anything with brains.

I've used Inferno and Rain of Chaos in many ways.
Once, I changed the summoned unit to an invulnerable ward with Permanent Immolation and a "fire" model. Instant meteor shower with flaming wasteland, all without triggers.
I even found a way to spread disease and blight in a target area using Inferno, the building blight generation ability, and the Plague Ward unit.

I heard of one guy using Raise Dead creatively. He made a dummy unit with an explosion animation, made it last for 1 second, and gave the summoned unit "AoE Damage On Death."
Triggerless corpse explosion spell.

I have yet to test what happens when you use negative values on some of these transform abilities.
HMMM.
I like the way you think. ; )

...

I can elaborate all the vague ideas i previosly presented if needed.
Yeahhh.... I gotta say I love the thought your putting into this, but I don't have the time to try to make sense of what you're saying, exactly. I could also just be crazy. xD But some concrete examples of what you are talking about/referring to would be nice.


How about a fusion system where a unit has a function it's very good at (anti-air, healer, scout, tank...) and fuses with another specialized unit to make a hybrid that's merely good at both. Not necessarily an irreversible one, something like the Hippogryph Rider.
Ooh, another great one. : )

Basically, it casts whatever ability selected in "x" number of random locations within "y" area.
I haven't tried it with anything that isn't an area spell or summoning spell, however. Hm...
Turns out we have already done some testing on Rain of Chaos; check it out!

Atik said:
But, at the barracks, both their tooltips appear. And, worse yet, I had to apply the upgrade as a techtree requirement, or the footman could be built from the get go. Try as I might, I can't seem to find how to keep the footman's tooltip hidden until the upgrade is purchased. (The militia button vanishes after upgrading like it should, which is even more confusing to me...)
It's been a long time, but IIRC you have to use a simple trigger to Disable Training of the advanced unit until the upgrade happens. The Troll Berserker thing has this all hard-coded in, but to re-make the same effect you have to trigger it (partially).
Don't quote me on that.
 
Level 8
Joined
Mar 19, 2017
Messages
248
Making fancy morph spells or making a some units revolve around a cool morph dynamic (most likely 2 or more Morphs given to a single unit) is perfectly doable, fun, and all things good.
Now that i read the answer of the thread starter i supposse he was refering to "cool dynamics" with Morph spells. So yes, this is doable, but it's just that, you are using a Morph ability to change something out of a unit, the limits and creative aspects are gravitating towards "how new" is the new unit, what it can offer. That some Morph abilities have some additional effect is very strange, but not groundbreaking, as you could either, 1. add abilities/animation tags via triggers once the order of the spell is made, or 2. modify the stats/abilities/animation tags of the alternate unit altogether. Should be noted that supporting multiple Morph abilities for 1 desired unit is editor heavy, and pointless, since, as i mentioned, you want a Morph ability to, well... just Morph, and not for the additional (and useless) accidental effects that can be achieved with even less effort.

Trying to expand the effects of Morph spells unto a system is very hard to make. It's doable, but make sure you are actually gaining something out of it. I pointed out that currently (editor 1.29, shame if you are still using 1.21 LOL) you can change, well a lot more of things (i said this in my previous post), so the use of a Morph, in a system, should be reserved for what it can do that triggering can't. IE. Don't make a morph system to change base damage/armor, since there is a glorious function that does that, and it happens that it's not bugged, YAY!. You will basically need to create lots of Morph abilities per unit; instead use it for what triggers can't achieve, like, switching attack range dynamically. Also, since multiple Morphs per desired unit is editor heavy (one morph recquires 1, two morphs recquires 3 i think, just guessing), make sure the feature you are changing counts, because it most likely be just one feature. IE. attack type info card can't be changed via functions, and not even via researches, but who cares right.

About the "ideas" (on how to atempt a system out of Morph spells) i put, it happens they're nothing new.
1. Making a system that switches attack range based on Metamorphosis, you got this one: [System] Melee/Ranged Attack Switch v1.1.1.1. Note that you must create a metamorphosis spell per each unit added to the system, but since it supports nice register functions, you just have to create the ability and let the system do the work.
This is what i tried to said in a nutshell. It atempts a system out of Morph spell (you can base morph spells on Bear Form too, but you will need to tweak the code), supporting 1 switching feature. Note that to make it a "system" you need assistance of either hashtables or a unit indexer, otherwise you can use this structure to support one unit, in which case we're not taking about a system anymore.
2. Making a system that switches attack types based on War Club, you got this one: Switch Attack. This one is even GUI friendly, so plus points i guess.
You can use this system to indirectly change attack range (ie. attack 1 is melee by esence, attack 2 is ranged by esence). You could say it loses points because War Club messes heroes info card (when a hero has attack 2 only activated it will not show the attack type info card).
3. I actually just found the War Club skin change trick documented here: DUSC - Texture Swapping In-Game - Wc3C.net
4. About a fusion system (any), should be noted that we are talking about an entirely new triggered spell or system, and not a real Morph ability trick/hack/system. I'm would bet all my money that there is a fusion system on the spells section.

About summoning abilities, well, Wark pointed out some good ideas. Since there is an event that tracks the summoning of units, these summoning abilities are actually valuable, as opposing of making a modified ability that uses the CreateUnit(...) function.
The ability that summons units on death can also be tweaked largely, and with some triggering, you can make ie. delayed effects, just like the one i attempted in the test map. Just happens (!) that you could create a fusion system out of this, but it will recquire triggers too.

Chaos transform can also be used in conjunction with any summon ability. Chaos is very buggy, but we will be using it here for a one time use at the very start of the unit's "Warcraft III life". Since you can reference the unit summoned (and the summoner too) with triggers (see the events), you just add a Chaos transform to the unit summon. Simple? yes; Useful? definitely not (i would reserve this approach only if you are basing your map on summoning units).
To support the summoning of units of a pool, with a single ability, you just need to create multiple Chaos transforms and order them in an integer array (in GUI is actually an ability array), let's say, Chaos[0] = Transforms into Frog, Chaos[1] = Transforms into Mountain King, Chaos[2] = Transforms into Rifleman; then in the unit summon event you add a random Chaos ability (Chaos[GetRandomInt(0,2)]. A test map of this should not be too hard for me to make, if somebody is interested.

TL;DR: There is no tl;dr this time.
 

Jampion

Code Reviewer
Level 15
Joined
Mar 25, 2016
Messages
1,327
(IIRC they are actually designated as "tooltip fields: does not affect the stats for real")
They were not created for the ability description, but because they change the color of attack speed and movement speed text.
The alternate form on level 1 has 25% more attack speed, so the attack speed is colored as if the unit had an actual 25% bonus attack speed. In reality it is just a different unit with different base attack speed.
Same for movement speed.

It's been a long time, but IIRC you have to use a simple trigger to Disable Training of the advanced unit until the upgrade happens. The Troll Berserker thing has this all hard-coded in, but to re-make the same effect you have to trigger it (partially).
Don't quote me on that.
Gonna quote you on that.
Every map has a map script that contains all triggers in JASS. There is also other stuff in there needed to set player count and team configuration of the game lobby. Not really important, but you need to know that it always contains certain functions, even if your map has no triggers at all.
If you save the map with the editor and don't manually change the map script, it always contains a certain function:
InitBlizzard
This function calls several other functions. One of them is:
InitSummonableCaps
This function disables training of troll berserkers and siege engines with barrage.
It also limits training of skeletons to 25. Maybe at some point blizzard wanted that undead could train a limited amount of skeletons.
You can check that yourself, if you don't believe me. Make skeleton warriors (the ones summoned by necromancers) be trainable and try to train more than 25.

JASS:
function InitSummonableCaps takes nothing returns nothing
    local integer index

    set index = 0
    loop
        // upgraded units
        // Note: Only do this if the corresponding upgrade is not yet researched
        // Barrage - Siege Engines
        if (not GetPlayerTechResearched(Player(index), 'Rhrt', true)) then
            call SetPlayerTechMaxAllowed(Player(index), 'hrtt', 0)
        endif

        // Berserker Upgrade - Troll Berserkers
        if (not GetPlayerTechResearched(Player(index), 'Robk', true)) then
            call SetPlayerTechMaxAllowed(Player(index), 'otbk', 0)
        endif

        // max skeletons per player
        call SetPlayerTechMaxAllowed(Player(index), 'uske', bj_MAX_SKELETONS)

        set index = index + 1
        exitwhen index == bj_MAX_PLAYERS
    endloop
endfunction

There are other occasions where blizzard hardcoded certain things into functions. This often leads to confusion, because many people think
  • Melee Game - Limit Heroes to 1 per Hero-type (for all players)
Should also work for custom heroes. It does not. This function simply uses this function:
  • Player - Limit training of Paladin to 1 for Player 1 (Red)
For every player and every standard hero.


  • Melee Game - Create starting units (for all players)
Silently makes the first hero to train cost no gold or lumber.
(In case you are wondering to how to make the first hero free without using this action: call SetPlayerState(whichPlayer, PLAYER_STATE_RESOURCE_HERO_TOKENS, 1))


The Victory Defeat trigger is coded in a similar way. The default town halls are hardcoded, which makes it not compatible with custom town halls.

Unfortunately it is not documentated for GUI users, that these functions only work for default units.

Edit: I guess they are prefixed with Melee Game, so that means they don't necessarily have to work for anything else.
 
Level 5
Joined
Oct 9, 2017
Messages
124
Just a sidenote, I'm almost 100% positive that the enhanced HP Regen effect of both the Gargoyle's 'Stone Form' & the Crypt Fiend's 'Burrow' are indeed a part of the 'alternate form unit' & not a part of the ability.
Actually, if you check the regeneration fields on them, they're set to 2 HP/second regeneration and Blight Only, while the respective abilities mention an HP regeneration increase. Well, at least for Stone Form, haven't checked Burrow yet. So Stone Form's regen is, in fact, part of the ability.
 
Status
Not open for further replies.
Top