two questions on opening doors and damage reduction by type

Tar-Quaeron

New Member
Reaction score
0
Hello,

Why does this trigger not work to close a door once it´s been opened?

Event: every 1 s of gametime
Conditions:
Actions: pick every unit in (region in front of door) and do (multiple actions)
Add picked unit to (unit group variable=frontdoor)
If, then, multiple actions,
If frontdoor is empty=True
Close door
Else
Clear frontdoor


Secondly I would have liked to create a spell based on defend which
costs mana
has a duration and cooldown
can still be deactivated before the duration ends
and which gives damage reduction to everything except magic and spell attacks
gives additional damage reduction to piercing attacks

I saw this post where in JASS there were some functions which recognised damage type. It looked quite complicated, (I have no knowledge of JASS) and you had to reconfigure the whole map to work with it. Is there a way to do this in GUI ? Is there other ways in JASS which work with the way the normal blizzard abilities/attacks deal with damage type?

Thank you so much for your help
 

Komaqtion

You can change this now in User CP.
Reaction score
469
First, please show us the whole trigger ;)
(And, so you don't write everything, you can copy the trigger as text by Right-clicking the trigger-name inside the trigger-window, and there select "Copy as text" and then paste it between [noparse]
Trigger:
[/noparse] tags ;))
 

Laiev

Hey Listen!!
Reaction score
188
Hello,

Why does this trigger not work to close a door once it´s been opened?

Event: every 1 s of gametime
Conditions:
Actions: pick every unit in (region in front of door) and do (multiple actions)
Add picked unit to (unit group variable=frontdoor)
If, then, multiple actions,
If frontdoor is empty=True
Close door
Else
Clear frontdoor

probably because DOORs ins't units?

also where's the second question? :nuts:
 

Komaqtion

You can change this now in User CP.
Reaction score
469
Yeah, doors are destructibles and that should work apart from a few things:
Trigger:
  • Open and Close Door
    • Events
      • Unit - A unit leaves Region 1 <gen>
    • Conditions
    • Actions
      • Set TempGroup = (Units in Region 1 <gen>)
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Number of units in TempGroup) Less than or equal to 0
        • Then - Actions
          • Destructible - Close Demonic Gate (Diagonal 1) 0000 <gen>
        • Else - Actions
      • Custom script: call DestroyGroup(udg_TempGroup)
 

Tar-Quaeron

New Member
Reaction score
0
Sorry I don´t have the computer with the trigger right now. I suppose the question might be counted as irrelevant until then. :)
But the idea is to have one trigger which opens the door when a unit enters the region in front of the door, which I have set, and works. Then, the door closes once there is no units in front of the door. So I pick units in front of the door, put them in the unit group variable. If the unit group is empty, no picked up units, the door closes. Else you empty the unit group variable, so that the trigger works correctly for the next time.

Thanks
 

Komaqtion

You can change this now in User CP.
Reaction score
469
Just use the trigger I posted you you should be fine ;)

(The Region 1 <gen> is the region in front of the gate :D)
 

Tar-Quaeron

New Member
Reaction score
0
Wonderful your trigger works. Thank you very much. I still don't understand why mine didn't. Here it is, just in case. Probably because you can't add picked unit to a unit group if there were no picked units at all??
Trigger:
  • close second door
    • Evénements
      • Temps - Every 1.00 seconds of game time
      • Conditions
      • Actions
        • Groupe unité - Pick every unit in (Units in Région deuxieme porte &lt;gen&gt;) and do (Actions)
          • Boucle - Actions
            • Groupe unité - Add (Picked unit) to seconddoor
            • If ((seconddoor is empty) Egal Ã_ TRUE) then do (Destructible - Fermer Porte de fer (Horizontal) 0001 &lt;gen&gt;) else do (Groupe unité - Remove all units from seconddoor)


Oh man, since my editor is in french, the tags can't recognize most of the functions. I think it might still be understandable.

It's a shame, nobody replied to the second question, whether/how it is possible to build an ability giving different kind of damage reductions depending on the type of damage.
Trigger:
 
General chit-chat
Help Users
  • No one is chatting at the moment.

      The Helper Discord

      Members online

      Affiliates

      Hive Workshop NUON Dome World Editor Tutorials

      Network Sponsors

      Apex Steel Pipe - Buys and sells Steel Pipe.
      Top