Era-of-InvasionS's ability thread

The place to post your WML questions and answers.

Moderator: Forum Moderators

Forum rules
  • Please use [code] BBCode tags in your posts for embedding WML snippets.
  • To keep your code readable so that others can easily help you, make sure to indent it following our conventions.
User avatar
francophone
Posts: 393
Joined: February 20th, 2010, 2:19 pm

Re: A reply

Post by francophone »

dugi wrote:I think this will have to be event-based. But are you sure you want this? It would give a huge advantage to all factions that use mostly different races. However, with Drakes, it would be useful, they were said to be underpowered against demons. With bats, it is unimportant, they are only scouts anyway, but the undead already have an advantage that most of them are immune to plague.

But how about doing it in a different way? You add some water demons, wyrm demons and bat demons, say, with only level 0 and 1 advancements, and a unit of these variations advances, you gain the level 0 unit into your recruitment list, like if they adopted to the environment.
It's not a big disadvantage since all humans (including outlaws, dark adept ...), elves, dwarves, orcs, goblins probably (maybe troll merfolk and naga) that remain sensitive to plague. Riders were transformed into a demon (without mount). So it makes very little difference against the loyalists or knalgans. it does not change much against the northerners or rebels. The undead faction would not be affected since they do not recruit a lot of bats, and probably never against the demons. Only the drakes would be much affected. Thereby reducing their disadvantage against demons (but they remain the weakest against the demons). The celests are all sensitive to plague: no change. Other races planned for EOIs (plants, elementary mechanics) are not sensitive to basic plague: no change.

Make different version of demon does not match the idea of race. All demons have the same basic form with the potential of all the higher forms. So all lvl 1 evolve from the same level 0. Also I do not want water demons. They are varied enough and should keep a few gaps.
But this proposal makes me consider a possibility. If I make demon "undead variations", I can base the transformation on the undead variation shown in the file of the unit killed by a demon with plague. I can therefore different variations that are in fact identical, and others who result to not create new unit.
I do not know if what I say is clear (?)
User avatar
Dugi
Posts: 4961
Joined: July 22nd, 2010, 10:29 am
Location: Carpathian Mountains
Contact:

Re: Era-of-InvasionS's ability thread

Post by Dugi »

In this case, I would make that quasi-plague event-based. Make a die event that triggers when the killer used plague and the victim's undead_variation was in a certain list of valid ones, that creates the level 0 demon with coordinates of the victim into a variable and then unstore it.
User avatar
francophone
Posts: 393
Joined: February 20th, 2010, 2:19 pm

Re: Era-of-InvasionS's ability thread

Post by francophone »

Is it possible to make undead_variations based on a type of unit: Instead of a base form and variations with some changes, make such variation = such unit ?

I thought using an [have_unit] event to kill a unit or a variation as soon as it appears, but [have_unit] is a filter, not an event.
I assume that the event [recruit] does not work if a unit is created by plague, is not it?
User avatar
Dugi
Posts: 4961
Joined: July 22nd, 2010, 10:29 am
Location: Carpathian Mountains
Contact:

Re: Era-of-InvasionS's ability thread

Post by Dugi »

If you handle the ability with events, you can do practically anything. You can simply change the enemy to the plaguer's side, create a particular unit for every single unit (or simply a unit for every possible group of units), make a darkened version of the unit (modified in whichever way), really anything.
User avatar
francophone
Posts: 393
Joined: February 20th, 2010, 2:19 pm

Re: Era-of-InvasionS's ability thread

Post by francophone »

You propose me to code conversion into demon instead of using the existing plague?



I tried to filter a undead_variation but I can not do it.

[event]
name=new turn
first_time_only=no
[kill]
type=Walking Corpse
[filter_wml]
variation_name=goblin
[/filter_wml]
[/kill]
[/event]

I tried also with "undead_variation=goblin", and before without [filter_wml], but nothing works.
(without [filter_wml] all Walking Corpse are killed, with it any are killed)
Last edited by francophone on May 15th, 2012, 6:53 pm, edited 1 time in total.
User avatar
Dugi
Posts: 4961
Joined: July 22nd, 2010, 10:29 am
Location: Carpathian Mountains
Contact:

Re: Era-of-InvasionS's ability thread

Post by Dugi »

Plague has very little possibilities. It is impossible to make the regular plague tag make the drakes immune to it.
User avatar
francophone
Posts: 393
Joined: February 20th, 2010, 2:19 pm

Re: Era-of-InvasionS's ability thread

Post by francophone »

But how do the conversion to work on units that have some undead_variation?
Of course, I could do based on race. But I am considering the possibility of using my faction with other add-ons. I want a non-humanoid unit is not converted but a new humanoid race is converted.
But is it worth worrying about such compatibility. I complicated for nothing, right?



edit:

I begin and I am asking: Does [filter_attack] work in a "die" event ?
Spoiler:
User avatar
Dugi
Posts: 4961
Joined: July 22nd, 2010, 10:29 am
Location: Carpathian Mountains
Contact:

Re: Era-of-InvasionS's ability thread

Post by Dugi »

You can set it so that the non-living (that is, also mechanical things), drakes, bats and saurians won't become demons. Or you may look at the unit's undead_variation to determinate if it will become a demon, for example of it is absent or if it is archer, dwarf or mounted, the unit will become a demon, and if it is troll, swimmer, bat, saurian or drake, it won't. Undead_variation has only several possibilities because walking corpses have only several variations, so this should be feasible.
User avatar
francophone
Posts: 393
Joined: February 20th, 2010, 2:19 pm

Re: Era-of-InvasionS's ability thread

Post by francophone »

dugi wrote:Or you may look at the unit's undead_variation to determinate if it will become a demon, for example of it is absent or if it is archer, dwarf or mounted, the unit will become a demon, and if it is troll, swimmer, bat, saurian or drake, it won't.
But how do that ????

the code I posted above (with the races as a filter) works globally.
The conversion is done even if the unit is converted into a village. I can add a filter location to avoid that. But I wonder if I should do like the standard plague. I should add at least one filter location for a semi demon can not appear where it can not go. If a demon kills a unit above a chasm, a demon can appear (or it falls).*
There are two small problems:
- The unit appears next to the killed unit and not in its place. I suppose it is created before the site is released.
- When the unit is converted on defense, the new created unit may move and attack. I find it annoying: it gives an added benefit to the conversion (on attack). Moreover, it is not very logical. A unit does not turn into a demon instantly ready to spring into action.


* what's wrong?:
[filter_location]
[not]
terrain=Q*,X*
[/not]
[/filter_location]
User avatar
Dugi
Posts: 4961
Joined: July 22nd, 2010, 10:29 am
Location: Carpathian Mountains
Contact:

Re: Era-of-InvasionS's ability thread

Post by Dugi »

This is wrong:

Code: Select all

[unit]
x,y=$x1,$y1
type=EOIs Semi Demon
[/unit]
It should be this instead:

Code: Select all

id=demon_transformation     #In this case, it is important to give an id to this event!
[unit]
  x,y=$x1,$y1
  type=EOIs Semi Demon
  attacks_left=0
  moves=0
  to_variable=demon_store
[/unit]
[unstore_unit]
  variable=demon_store
  find_vacant=no
[/unstore_unit]
{CLEAR_VARIABLE demon_store}
It might not give exp, if it does not, you will need to give it manually.
User avatar
francophone
Posts: 393
Joined: February 20th, 2010, 2:19 pm

Re: Era-of-InvasionS's ability thread

Post by francophone »

Ok, Thank you.
Exp works.

But I do not always succeeded with the location filter:
I tried (before action with other filters):
Spoiler:
User avatar
Dugi
Posts: 4961
Joined: July 22nd, 2010, 10:29 am
Location: Carpathian Mountains
Contact:

Re: Era-of-InvasionS's ability thread

Post by Dugi »

Don't place the [not] tag into the [and] tag, use it separately. It evaluates if all the [and] tags and neither of the [not] tags evaluate as positive. To filter a village, I would take the terrain filter from the macro for concealment.

Code: Select all

            [filter_location]
                [not]
                  terrain=*^V*
                [/not]
            [/filter_location]
User avatar
francophone
Posts: 393
Joined: February 20th, 2010, 2:19 pm

Re: Era-of-InvasionS's ability thread

Post by francophone »

I'm not sure for the village. I want the unit can not be created on "unwalkable" or "impassable" terrain.

I finally find what's wrong: We need add ilter tag:
[filter]
[filter_location]
[not]
terrain=Q*,X*
[/not]
[/filter_location]
[/filter]



It works with "*^V*", but not with "Q*,X*"... :hmm: :(
Last edited by francophone on May 15th, 2012, 9:35 pm, edited 1 time in total.
User avatar
Dugi
Posts: 4961
Joined: July 22nd, 2010, 10:29 am
Location: Carpathian Mountains
Contact:

Re: Era-of-InvasionS's ability thread

Post by Dugi »

There is no reason to make it impossible to happen on impassable terrains, when enemies normally cannot be there.

Do it like this, if you want to make it the way you want:

Code: Select all

           [filter_location]
                [not]
                  terrain=*^V*
                [/not]
                [not]
                  terrain=Q*
                [/not]
                [not]
                  terrain=X*
                [/not]
            [/filter_location]
[not] tags can be easily several in a row, there is no need to put them into [or] or [and] tags.

EDIT: Damn, you edited it very shortly before I wrote this. Just learn about the usage of the [not] tag from it :)
User avatar
francophone
Posts: 393
Joined: February 20th, 2010, 2:19 pm

Re: Era-of-InvasionS's ability thread

Post by francophone »

Very important correction: add "side=$2" in [unit] tag

There is no reason to make it impossible to happen on impassable terrains, when enemies normally cannot be there.
I imagine units coming through the walls of cave or (not and!) flight over the highest mountains. But these units do not meet demons or are not convertible. It is rather for the principle and for the unexpected I also want to block impassable.
Last edited by francophone on May 15th, 2012, 9:45 pm, edited 1 time in total.
Post Reply