• 🏆 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!

Orc-Burrow Vehicle

Status
Not open for further replies.
Level 5
Joined
Aug 8, 2019
Messages
113
Now I have yet to expirement with this, but this just popped into my head: What if you have a vehicle, something like a siege engine which can be occupied by several special soldiers and the more soldiers it has inside it the faster is its ROF, is this possible in the editor? Would this be OP, because it looks like an excellent idea to me.
 
Level 5
Joined
Aug 8, 2019
Messages
113
Although having only one type of soldier be able to use it might reduce its usefulness.

Using trigger you could probably have other units occupy it with a similar results, but this could get messy.

*Needs a trigger that enabless an attack if a passenger is present
*Needs a trigger that disables an attack is the passenger leaves or there is no passenger
*Needs a trigger that modifies the speed of the attack depending on how many passangers there are

The orc burrow ability does this itself
 
Level 16
Joined
Mar 24, 2017
Messages
827
Im not 100% sure, but I think it's been done before, in the Dwarf campaign they had a modified siege engine called "Tyrin's Prototype" do exactly what you described but with a different projectile, at least that's how I remember it.
 
Level 5
Joined
Oct 9, 2017
Messages
124
Ultimately, there's four triggers missing from this to make it work as a single generic trigger. Setting attack range, setting attack model, setting attack damage type and setting valid targets for an attack. Of these, it's excusable to leave out the last two, should this only apply to units that have a single type of valid target and type of damage, and setting attack model can be a non-issue if we're discussing only non-projectile attacks. We have a condition for a unit being loaded into a transport, the actions accept "transporting unit" as the unit that has been loaded into, and we can set the base damage, dice number, dice size and attack interval from existing triggers, allowing the raw damage characteristics to be imitated directly.

No idea on how to handle a non-unique unit workaround for range, though if you only have one of the unit, you can use the Long Rifle upgrade to set the range as desired under if/then clauses checking the type of the unit loaded in, but this solution then requires a specific condition for each valid-to-load unit. For attack speed, you can increment a hidden attack speed increase ability for the unit in question.

Undoing the effect is also rendered a bit convoluted, as there isn't a trigger for unloading, and trying to use the unload ability as the trigger doesn't work when you click the transported unit out, so you have to use a hashtable or unit group or something to store the number of loaded units and draw that number for the effect. And it gets a lot more complicated when you're trying to set it up for more than one unit type at a time, both because there's only two slots for attacks and because you have to then have the game decide how to apply them to those two slots, unless you've narrowed down to just two units to begin with. At which point you should just have two Burrow abilities.

Unless the vehicle has attacks it uses when it isn't loaded, or some other property that makes Burrow's simple attack enabling a non-applicable solution.

There's also the solution of using Pheonix Fire abilities that give the statistics of the loaded unit attacks, necessitating an ability per valid unit and specific triggers. And you'll still need triggers tracking how many of a unit are loaded, to set the cooldown of the ability so that attack upgrades can be done with the ability levels. Or you can use triggers to apply the upgrade-based damage appropriately, which will be necessary to apply the variable damage of attacks anyways (and have them deal non-Spell damage). Regardless of how you do it, it isn't straightforward or generic, unless you go for JASS to do it a lot more manually.
 
Level 5
Joined
Aug 8, 2019
Messages
113
Guess it will be too convoluted to work....


There's also the solution of using Pheonix Fire abilities that give the statistics of the loaded unit attacks, necessitating an ability per valid unit and specific triggers. And you'll still need triggers tracking how many of a unit are loaded, to set the cooldown of the ability so that attack upgrades can be done with the ability levels. Or you can use triggers to apply the upgrade-based damage appropriately, which will be necessary to apply the variable damage of attacks anyways (and have them deal non-Spell damage). Regardless of how you do it, it isn't straightforward or generic, unless you go for JASS to do it a lot more manually.

Can you please explain how the phoenix fire ability can be used in this case? I did some experimenting with it some time ago, and it just fires at units regardless of its caster's attack, I think it also burns the units it fires upon, I cant really recall much because this was really a while ago
 

Bribe

Code Moderator
Level 50
Joined
Sep 26, 2009
Messages
9,464
The simple solution is to give the siege unit cargo hold for two slots. Then morph the siege unit using this method: Hero passive transformation

Use Bribe's unit event to detect loading and unloading units: GUI Unit Event v2.5.2.0

When all is said and done it is very simple.

Why transform the unit? Just increase the attack speed via script on load and decrease it on unload.
 
Status
Not open for further replies.
Top