Plague Spreader Quest Problem

Level 12
Joined
Aug 3, 2021
Messages
445
Hello it's Pekisa7. I need the help with the plague spreader quest. I need when the plague spreader plagues the 3 towns standing on the first circle then the second and then the third and when the 3 timers expire you have completed the quest. I already created the circles and the plague animations and everything. And when you put the plague spreader on the first circle in the middel of the map and when the timer is finished the blight shows on the second circle and the circle dissapears. I don't know why is that. I just need help when those three timers expire you completed the quest. Can you guys help me with that? Best regards from Pekisa7. Here are also the triggers:
  • Plague The Town Completed
    • Events
    • Conditions
      • Timers_Expired Equal to 3
    • Actions
      • Trigger - Turn off Plague The Town Completed <gen>
      • Sound - Setup all volume channels for speech
      • Cinematic - Send transmission to (All players) from a Player 4 (Purple) Necromancer named Necromancer at (Player 4 (Purple) start location): Play The_dead_rise_like_an_unstoppable_tide <gen> and display The villages are pl.... Modify duration: Add 0.00 seconds and Wait
      • Wait (Length of The_dead_rise_like_an_unstoppable_tide <gen>) seconds
      • Sound - Reset all volume channels to 100%
      • Trigger - Run Plague The Town <gen> (checking conditions)
      • -------- Update the quest --------
      • Quest - Mark PlagueTheTownQuest as Discovered
      • Quest - Mark PlaugeTheTownQuestReq1 as Completed
      • Quest - Mark PlagueTheTownQuestReq2 as Completed
      • Quest - Mark PlagueTheTownQuest as Completed
      • -------- Display a quest message --------
      • Quest - Display to (All players) the Quest Completed message: |cff808000OPTIONAL ...
  • First Timer
    • Events
      • Time - PlagueTimer expires
    • Conditions
    • Actions
      • Trigger - Turn off First Timer <gen>
      • Set Timers_Expired = (Timers_Expired + 1)
  • Second Timer
    • Events
      • Time - PlagueTimer02 expires
    • Conditions
    • Actions
      • Trigger - Turn off Second Timer <gen>
      • Set Timers_Expired = (Timers_Expired + 1)
  • Third Timer
    • Events
      • Time - PlagueTimer03 expires
    • Conditions
    • Actions
      • Trigger - Turn off Third Timer <gen>
      • Set Timers_Expired = (Timers_Expired + 1)
 
Hard to say about why the circle of power is disappearing because these triggers don't show anything about removing or killing a unit, if you show those triggers we can probably help.

As for these triggers, there is no event that causes the trigger "Plague Town Completed" to run, so after each timer expires I added the "run trigger action" and with your condition it will only run if all timers have expired.

I forget if it's a thing when you use GUI (I don't think you need to, but I'm unsure) you may want to set the Timers_Expired integer to 0 when you're initiating the quest.

  • First Timer
    • Events
      • Time - PlagueTimer expires
    • Conditions
    • Actions
      • Trigger - Turn off First Timer <gen>
      • Set Timers_Expired = (Timers_Expired + 1)
      • Quest - Mark PlaugeTheTownQuestReq1 as Completed
      • Trigger - Run Plague The Town Completed <gen> (checking conditions)
  • Second Timer
    • Events
      • Time - PlagueTimer02 expires
    • Conditions
    • Actions
      • Trigger - Turn off Second Timer <gen>
      • Set Timers_Expired = (Timers_Expired + 1)
      • Quest - Mark PlagueTheTownQuestReq2 as Completed
      • Trigger - Run Plague The Town Completed <gen> (checking conditions)
  • Third Timer
    • Events
      • Time - PlagueTimer03 expires
    • Conditions
    • Actions
      • Trigger - Turn off Third Timer <gen>
      • Set Timers_Expired = (Timers_Expired + 1)
      • Quest - Mark PlaugeTheTownQuestReq3 as Completed
      • Trigger - Run Plague The Town Completed <gen> (checking conditions)
I also moved the quest updating actions because what you had before wouldn't run like you wanted. It would only have updated objectives when everything was completed, but not before, here is the new "completed" trigger:
  • Plague The Town Completed
    • Events
    • Conditions
      • Timers_Expired Equal to 3
    • Actions
      • Trigger - Turn off Plague The Town Completed <gen>
      • Sound - Setup all volume channels for speech
      • Cinematic - Send transmission to (All players) from a Player 4 (Purple) Necromancer named Necromancer at (Player 4 (Purple) start location): Play The_dead_rise_like_an_unstoppable_tide <gen> and display The villages are pl.... Modify duration: Add 0.00 seconds and Wait
      • Wait (Length of The_dead_rise_like_an_unstoppable_tide <gen>) seconds
      • Sound - Reset all volume channels to 100%
      • Trigger - Run Plague The Town <gen> (checking conditions)
      • Comment: ^does the above action belong here? This looks like the trigger to start the quest..
      • Quest - Mark PlagueTheTownQuest as Completed
      • -------- Display a quest message --------
      • Quest - Display to (All players) the Quest Completed message: |cff808000OPTIONAL ...
I added a comment below a "run trigger action" that looked like it was in the errant "do all the quest stuff" block of actions, but I wasn't sure so i left it with a comment.
 
Last edited:
Hard to say about why the circle of power is disappearing because these triggers don't show anything about removing or killing a unit, if you show those triggers we can probably help.

As for these triggers, there is no event that causes the trigger "Plague Town Completed" to run, so after each timer expires I added the "run trigger action" and with your condition it will only run if all timers have expired.

I forget if it's a thing when you use GUI (I don't think you need to, but I'm unsure) you may want to set the Timers_Expired integer to 0 when you're initiating the quest.

  • First Timer
    • Events
      • Time - PlagueTimer expires
    • Conditions
    • Actions
      • Trigger - Turn off First Timer <gen>
      • Set Timers_Expired = (Timers_Expired + 1)
      • Quest - Mark PlaugeTheTownQuestReq1 as Completed
      • Trigger - Run Plague The Town Completed <gen> (checking conditions)
  • Second Timer
    • Events
      • Time - PlagueTimer02 expires
    • Conditions
    • Actions
      • Trigger - Turn off Second Timer <gen>
      • Set Timers_Expired = (Timers_Expired + 1)
      • Quest - Mark PlagueTheTownQuestReq2 as Completed
      • Trigger - Run Plague The Town Completed <gen> (checking conditions)
  • Third Timer
    • Events
      • Time - PlagueTimer03 expires
    • Conditions
    • Actions
      • Trigger - Turn off Third Timer <gen>
      • Set Timers_Expired = (Timers_Expired + 1)
      • Quest - Mark PlaugeTheTownQuestReq3 as Completed
      • Trigger - Run Plague The Town Completed <gen> (checking conditions)
I also moved the quest updating actions because what you had before wouldn't run like you wanted. It would only have updated objectives when everything was completed, but not before, here is the new "completed" trigger:
  • Plague The Town Completed
    • Events
    • Conditions
      • Timers_Expired Equal to 3
    • Actions
      • Trigger - Turn off Plague The Town Completed <gen>
      • Sound - Setup all volume channels for speech
      • Cinematic - Send transmission to (All players) from a Player 4 (Purple) Necromancer named Necromancer at (Player 4 (Purple) start location): Play The_dead_rise_like_an_unstoppable_tide <gen> and display The villages are pl.... Modify duration: Add 0.00 seconds and Wait
      • Wait (Length of The_dead_rise_like_an_unstoppable_tide <gen>) seconds
      • Sound - Reset all volume channels to 100%
      • Trigger - Run Plague The Town <gen> (checking conditions)
      • Comment: ^does the above action belong here? This looks like the trigger to start the quest..
      • Quest - Mark PlagueTheTownQuest as Completed
      • -------- Display a quest message --------
      • Quest - Display to (All players) the Quest Completed message: |cff808000OPTIONAL ...
I added a comment below a "run trigger action" that looked like it was in the errant "do all the quest stuff" block of actions, but I wasn't sure so i left it with a comment.
Thank you. I will check if it works than I will get back to you.
 
Hard to say about why the circle of power is disappearing because these triggers don't show anything about removing or killing a unit, if you show those triggers we can probably help.

As for these triggers, there is no event that causes the trigger "Plague Town Completed" to run, so after each timer expires I added the "run trigger action" and with your condition it will only run if all timers have expired.

I forget if it's a thing when you use GUI (I don't think you need to, but I'm unsure) you may want to set the Timers_Expired integer to 0 when you're initiating the quest.

  • First Timer
    • Events
      • Time - PlagueTimer expires
    • Conditions
    • Actions
      • Trigger - Turn off First Timer <gen>
      • Set Timers_Expired = (Timers_Expired + 1)
      • Quest - Mark PlaugeTheTownQuestReq1 as Completed
      • Trigger - Run Plague The Town Completed <gen> (checking conditions)
  • Second Timer
    • Events
      • Time - PlagueTimer02 expires
    • Conditions
    • Actions
      • Trigger - Turn off Second Timer <gen>
      • Set Timers_Expired = (Timers_Expired + 1)
      • Quest - Mark PlagueTheTownQuestReq2 as Completed
      • Trigger - Run Plague The Town Completed <gen> (checking conditions)
  • Third Timer
    • Events
      • Time - PlagueTimer03 expires
    • Conditions
    • Actions
      • Trigger - Turn off Third Timer <gen>
      • Set Timers_Expired = (Timers_Expired + 1)
      • Quest - Mark PlaugeTheTownQuestReq3 as Completed
      • Trigger - Run Plague The Town Completed <gen> (checking conditions)
I also moved the quest updating actions because what you had before wouldn't run like you wanted. It would only have updated objectives when everything was completed, but not before, here is the new "completed" trigger:
  • Plague The Town Completed
    • Events
    • Conditions
      • Timers_Expired Equal to 3
    • Actions
      • Trigger - Turn off Plague The Town Completed <gen>
      • Sound - Setup all volume channels for speech
      • Cinematic - Send transmission to (All players) from a Player 4 (Purple) Necromancer named Necromancer at (Player 4 (Purple) start location): Play The_dead_rise_like_an_unstoppable_tide <gen> and display The villages are pl.... Modify duration: Add 0.00 seconds and Wait
      • Wait (Length of The_dead_rise_like_an_unstoppable_tide <gen>) seconds
      • Sound - Reset all volume channels to 100%
      • Trigger - Run Plague The Town <gen> (checking conditions)
      • Comment: ^does the above action belong here? This looks like the trigger to start the quest..
      • Quest - Mark PlagueTheTownQuest as Completed
      • -------- Display a quest message --------
      • Quest - Display to (All players) the Quest Completed message: |cff808000OPTIONAL ...
I added a comment below a "run trigger action" that looked like it was in the errant "do all the quest stuff" block of actions, but I wasn't sure so i left it with a comment.
I was talking about this. There use to be a circle of power in the middle here on this picture. Now when I step on the first circle of power in the middle of the map this one dissapears and blight forms.
  • Destroy Circle And Timer
    • Events
      • Time - PlagueTimer expires
    • Conditions
    • Actions
      • Countdown Timer - Destroy PlagueTimerWindow
      • Unit - Remove Circle of Power (medium) 3674 <gen> from the game
      • Custom script: call DestroyTimer(udg_PlagueTimer)
  • Destroy Circle And Timer 02
    • Events
      • Time - PlagueTimer02 expires
    • Conditions
    • Actions
      • Countdown Timer - Destroy Plague02TimerWindow
      • Unit - Remove Circle of Power (medium) 3680 <gen> from the game
      • Custom script: call DestroyTimer(udg_PlagueTimer02)
  • Destroy Circle And Timer 03
    • Events
      • Time - PlagueTimer03 expires
    • Conditions
    • Actions
      • Countdown Timer - Destroy PlagueTimerWindow03
      • Unit - Remove Circle of Power (medium) 3681 <gen> from the game
      • Custom script: call DestroyTimer(udg_PlagueTimer03)
 

Attachments

  • WC3ScrnShot_062826_100912_01.webp
    WC3ScrnShot_062826_100912_01.webp
    538.7 KB · Views: 10
In world editor, click the circle of power in question and check its name. You should see its name as "Circle of Power (medium) XXXX <gen>", where XXXX is a number. Note that number down.

Next, open object manager (F11), select the "Units" tab and find the circle of power (if it is the default unit, it can be found on path "Neutral Passive -> Buildings -> Circle of Power (medium)"). Open up the circle of power that matches the XXXX code, you should see one of the subfolders will be Triggers. Click through it to see which trigger references this unit.

If you won't find any trigger, then most likely you don't reference the circle directly, but instead you have some trigger that picks all units in range/region, one of them being the circle of power, and removes them.
 
In world editor, click the circle of power in question and check its name. You should see its name as "Circle of Power (medium) XXXX <gen>", where XXXX is a number. Note that number down.

Next, open object manager (F11), select the "Units" tab and find the circle of power (if it is the default unit, it can be found on path "Neutral Passive -> Buildings -> Circle of Power (medium)"). Open up the circle of power that matches the XXXX code, you should see one of the subfolders will be Triggers. Click through it to see which trigger references this unit.

If you won't find any trigger, then most likely you don't reference the circle directly, but instead you have some trigger that picks all units in range/region, one of them being the circle of power, and removes them.
The circle of power is a custom unit. Everything is all right as I have seen. When the plague spreader stands on one in the middle the next one its supposed to stand on dissapears and forms blight as you have seen on the picture.
 

Attachments

  • Screenshot (49).webp
    Screenshot (49).webp
    186.6 KB · Views: 4
Hello it's Pekisa7. I need the help with the plague spreader quest. I need when the plague spreader plagues the 3 towns standing on the first circle then the second and then the third and when the 3 timers expire you have completed the quest. I already created the circles and the plague animations and everything. And when you put the plague spreader on the first circle in the middel of the map and when the timer is finished the blight shows on the second circle and the circle dissapears. I don't know why is that. I just need help when those three timers expire you completed the quest. Can you guys help me with that? Best regards from Pekisa7. Here are also the triggers:
In my reply to your previous Thread, I wanted to point out that it is difficult to help you without understanding the other triggers in your map. Several of them interact with one another. Not to mention that some changes need to be made in the object editor.

The map adjustment process is taking a long time because there is a huge number of triggers (most of them are unnecessary).

too many triggers.webp

When you ask for help regarding the triggers in the copy of the map you sent me, you make it harder for me to assist you, because the solutions presented differ from mine.

Right now, I am focusing on reducing the number of triggers and memory leaks. Unfortunately, it seems you don't believe that.

It’s okay to ask for help with new triggers, but remember to provide more details about your map and how it works.
 
In my reply to your previous Thread, I wanted to point out that it is difficult to help you without understanding the other triggers in your map. Several of them interact with one another. Not to mention that some changes need to be made in the object editor.

The map adjustment process is taking a long time because there is a huge number of triggers (most of them are unnecessary).


When you ask for help regarding the triggers in the copy of the map you sent me, you make it harder for me to assist you, because the solutions presented differ from mine.

Right now, I am focusing on reducing the number of triggers and memory leaks. Unfortunately, it seems you don't believe that.

It’s okay to ask for help with new triggers, but remember to provide more details about your map and how it works.
No, No. I believe you are doing what you can. I will make sure to provide more details about my map and how it works next time I make a thread. I just need tose triggers they are esential to my map. Yes some of them are unnecesary but I need them.

Good news. I have fixed the circle dissapearing and blight forming. I just created new triggers like this:
  • Destroy Circle 01
    • Events
      • Unit - Plague Spreader 3678 <gen> Finishes casting an ability
    • Conditions
      • (Ability being cast) Equal to Channel (Plague Spreader)
    • Actions
      • Trigger - Turn off Destroy Circle 01 <gen>
      • Unit - Remove Circle of Power (medium) 3674 <gen> from the game
  • Blight 01
    • Events
      • Unit - Plague Spreader 3678 <gen> Stops casting an ability
    • Conditions
      • (Ability being cast) Equal to Channel (Plague Spreader)
    • Actions
      • Trigger - Turn off Blight 01 <gen>
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (PlaugeRegion <gen> contains Plague Spreader 3678 <gen>) Equal to True
        • Then - Actions
          • Environment - Create Blight for Player 4 (Purple) across Blight03 <gen>
          • Environment - Create Blight for Player 4 (Purple) across Blight04 <gen>
        • Else - Actions
 
Good news. I have fixed the circle dissapearing and blight forming. I just created new triggers like this:
WC3 Reforged (2.0.0 - 2.0.4) does not properly detect the events:

1) Unit - Finishes channeling/casting an ability
2) Unit - Stops channeling/casting an ability
3) Unit - Begins channeling/casting an ability

Using them as a timer is not a good idea if you want your map to be playable on the latest patches.

I noticed this when I was helping user AsianSpaghetti on this Thread. That was one of the first things I thought of to do what was requested. For some unknown reason there was a considerable delay on detecting those events.
 
Hard to say about why the circle of power is disappearing because these triggers don't show anything about removing or killing a unit, if you show those triggers we can probably help.

As for these triggers, there is no event that causes the trigger "Plague Town Completed" to run, so after each timer expires I added the "run trigger action" and with your condition it will only run if all timers have expired.

I forget if it's a thing when you use GUI (I don't think you need to, but I'm unsure) you may want to set the Timers_Expired integer to 0 when you're initiating the quest.

  • First Timer
    • Events
      • Time - PlagueTimer expires
    • Conditions
    • Actions
      • Trigger - Turn off First Timer <gen>
      • Set Timers_Expired = (Timers_Expired + 1)
      • Quest - Mark PlaugeTheTownQuestReq1 as Completed
      • Trigger - Run Plague The Town Completed <gen> (checking conditions)
  • Second Timer
    • Events
      • Time - PlagueTimer02 expires
    • Conditions
    • Actions
      • Trigger - Turn off Second Timer <gen>
      • Set Timers_Expired = (Timers_Expired + 1)
      • Quest - Mark PlagueTheTownQuestReq2 as Completed
      • Trigger - Run Plague The Town Completed <gen> (checking conditions)
  • Third Timer
    • Events
      • Time - PlagueTimer03 expires
    • Conditions
    • Actions
      • Trigger - Turn off Third Timer <gen>
      • Set Timers_Expired = (Timers_Expired + 1)
      • Quest - Mark PlaugeTheTownQuestReq3 as Completed
      • Trigger - Run Plague The Town Completed <gen> (checking conditions)
I also moved the quest updating actions because what you had before wouldn't run like you wanted. It would only have updated objectives when everything was completed, but not before, here is the new "completed" trigger:
  • Plague The Town Completed
    • Events
    • Conditions
      • Timers_Expired Equal to 3
    • Actions
      • Trigger - Turn off Plague The Town Completed <gen>
      • Sound - Setup all volume channels for speech
      • Cinematic - Send transmission to (All players) from a Player 4 (Purple) Necromancer named Necromancer at (Player 4 (Purple) start location): Play The_dead_rise_like_an_unstoppable_tide <gen> and display The villages are pl.... Modify duration: Add 0.00 seconds and Wait
      • Wait (Length of The_dead_rise_like_an_unstoppable_tide <gen>) seconds
      • Sound - Reset all volume channels to 100%
      • Trigger - Run Plague The Town <gen> (checking conditions)
      • Comment: ^does the above action belong here? This looks like the trigger to start the quest..
      • Quest - Mark PlagueTheTownQuest as Completed
      • -------- Display a quest message --------
      • Quest - Display to (All players) the Quest Completed message: |cff808000OPTIONAL ...
I added a comment below a "run trigger action" that looked like it was in the errant "do all the quest stuff" block of actions, but I wasn't sure so i left it with a comment.
Hey Tristronic. Thank you so much. Your trigger rework worked.

WC3 Reforged (2.0.0 - 2.0.4) does not properly detect the events:

1) Unit - Finishes channeling/casting an ability
2) Unit - Stops channeling/casting an ability
3) Unit - Begins channeling/casting an ability

Using them as a timer is not a good idea if you want your map to be playable on the latest patches.

I noticed this when I was helping user AsianSpaghetti on this Thread. That was one of the first things I thought of to do what was requested. For some unknown reason there was a considerable delay on detecting those events.
My map is for 1.31.1.. But I get what your trying to say. People will try and play it on the latest version of reforged. Since I already fixed what didn't work on my map using stops you can tell me what I should change so it will work for reforged players. But as far as I know this works just fine.
  • Start Plague
    • Events
      • Unit - A unit enters PlaugeRegion <gen>
    • Conditions
      • (Owner of (Entering unit)) Equal to Player 4 (Purple)
      • (Entering unit) Equal to PlagueSpreader
    • Actions
      • Trigger - Turn off Start Plague <gen>
      • Unit - Add Channel (Plague Spreader) to PlagueSpreader
      • Wait 2.00 seconds
      • Unit - Order PlagueSpreader to Special - Channel
  • Create Units
    • Events
      • Time - PlagueTimer expires
    • Conditions
    • Actions
      • Trigger - Turn off Create Units <gen>
      • Unit - Create 1 Skeleton Warrior for Player 4 (Purple) at (Center of Skeleton01 <gen>) facing Default building facing degrees
      • Animation - Play (Last created unit)'s birth animation
      • Special Effect - Create a special effect at (Center of Skeleton01 <gen>) using Abilities\Spells\Undead\AnimateDead\AnimateDeadTarget.mdl
      • Wait 2.00 seconds
      • Unit - Create 1 Skeletal Mage for Player 4 (Purple) at (Center of SkeletonMage01 <gen>) facing Default building facing degrees
      • Animation - Play (Last created unit)'s birth animation
      • Special Effect - Create a special effect at (Center of SkeletonMage01 <gen>) using Abilities\Spells\Undead\AnimateDead\AnimateDeadTarget.mdl
      • Wait 2.00 seconds
      • Unit - Create 1 Skeleton Warrior for Player 4 (Purple) at (Center of Skeleton02 <gen>) facing Default building facing degrees
      • Animation - Play (Last created unit)'s birth animation
      • Special Effect - Create a special effect at (Center of Skeleton02 <gen>) using Abilities\Spells\Undead\AnimateDead\AnimateDeadTarget.mdl
      • Wait 2.00 seconds
      • Unit - Create 1 Skeletal Mage for Player 4 (Purple) at (Center of SkeletonMage02 <gen>) facing Default building facing degrees
      • Animation - Play (Last created unit)'s birth animation
      • Special Effect - Create a special effect at (Center of SkeletonMage02 <gen>) using Abilities\Spells\Undead\AnimateDead\AnimateDeadTarget.mdl
      • Wait 2.00 seconds
      • Unit - Create 1 Skeleton Warrior for Player 4 (Purple) at (Center of Skeleton03 <gen>) facing Default building facing degrees
      • Animation - Play (Last created unit)'s birth animation
      • Special Effect - Create a special effect at (Center of Skeleton03 <gen>) using Abilities\Spells\Undead\AnimateDead\AnimateDeadTarget.mdl
  • Timer Plague
    • Events
      • Unit - A unit enters PlaugeRegion <gen>
    • Conditions
      • (Entering unit) Equal to PlagueSpreader
      • (Owner of (Entering unit)) Equal to Player 4 (Purple)
    • Actions
      • Trigger - Turn off Timer Plague <gen>
      • Countdown Timer - Create a timer window for PlagueTimer with title Spreading the Plagu...
      • Countdown Timer - Start PlagueTimer as a One-shot timer that will expire in 50.00 seconds
      • Set PlagueTimer = (Last started timer)
      • Set PlagueTimerWindow = (Last created timer window)
  • Destroy Timer
    • Events
      • Time - PlagueTimer expires
    • Conditions
    • Actions
      • Trigger - Turn off Destroy Timer <gen>
      • Countdown Timer - Destroy PlagueTimerWindow
      • Custom script: call DestroyTimer(udg_PlagueTimer)
  • Stop Channeling
    • Events
      • Time - PlagueTimer expires
    • Conditions
    • Actions
      • Trigger - Turn off Stop Channeling <gen>
      • Unit - Remove Channel (Plague Spreader) from PlagueSpreader
      • Wait 2.00 seconds
      • Unit - Order PlagueSpreader to Stop
  • Blight 01
    • Events
      • Unit - Plague Spreader 3678 <gen> Stops casting an ability
    • Conditions
      • (Ability being cast) Equal to Channel (Plague Spreader)
    • Actions
      • Trigger - Turn off Blight 01 <gen>
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (PlaugeRegion <gen> contains Plague Spreader 3678 <gen>) Equal to True
        • Then - Actions
          • Environment - Create Blight for Player 4 (Purple) across Blight03 <gen>
          • Environment - Create Blight for Player 4 (Purple) across Blight04 <gen>
        • Else - Actions
 
Last edited:
Back
Top