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

Altering Channel based abilities through triggers can cause a crash upon the unit dying

Status
Not open for further replies.
Level 13
Joined
Mar 24, 2013
Messages
1,105
Hello, a friend of mine was having an issue with bizarre crashes in his map.

We eventually pinned down what we believe the culprit to be...

Units who have an ability based on channel altered through trigger action who then die will reliably cause a crash. (Removing the ability also has worked, likely other ways will also.)

It seems using your own custom ability based on a standard ability or altering a standard ability through trigger action will NOT lead to any crashes.

This seems to be a rather niche bug, but I have created a test map to exemplify it.

Sometimes it will happen on the first occurrence, other times it can take 100 or so. However, it eventually will happen.

Has anyone experienced this? I believe this a WC3 issue and not one of our own making, but please take a look and test.

Test map has basic instructions to test.

  • Channel Ability Setup
    • Events
      • Player - Player 1 (Red) skips a cinematic sequence
    • Conditions
    • Actions
      • For each (Integer A) from 1 to 10, do (Actions)
        • Loop - Actions
          • Unit - Create 1 Footman for Player 1 (Red) at (Center of (Playable map area)) facing Default building facing degrees
          • Set TempUnit = (Last created unit)
          • Unit - Add Hero Ability (Ranger 1) to TempUnit
          • Unit - Add Hero Ability (Ranger 2) to TempUnit
          • Unit - Add Hero Ability (Ranger 3) to TempUnit
          • Unit - Add Hero Ability (Ranger 4) to TempUnit
          • Unit - For Unit TempUnit, Set cooldown of ability Hero Ability (Ranger 1), Level: 0 to 0.00
          • Unit - For Unit TempUnit, Set mana cost of ability Hero Ability (Ranger 1), Level: 0 to 0
          • Unit - For Unit TempUnit, Set cooldown of ability Hero Ability (Ranger 2), Level: 0 to 0.00
          • Unit - For Unit TempUnit, Set mana cost of ability Hero Ability (Ranger 2), Level: 0 to 0
          • Unit - For Unit TempUnit, Set cooldown of ability Hero Ability (Ranger 3), Level: 0 to 0.00
          • Unit - For Unit TempUnit, Set mana cost of ability Hero Ability (Ranger 3), Level: 0 to 0
          • Unit - For Unit TempUnit, Set cooldown of ability Hero Ability (Ranger 4), Level: 0 to 0.00
          • Unit - For Unit TempUnit, Set mana cost of ability Hero Ability (Ranger 4), Level: 0 to 0
          • Unit Group - Add TempUnit to TempGroup
      • Set TempInt = (TempInt + 10)
      • Game - Display to (All players) the text: (Total Summoned: + (String(TempInt)))
  • Units Cast Abilities
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Blizzard
      • ((Triggering unit) is A Hero) Equal to True
    • Actions
      • Unit Group - Pick every unit in TempGroup and do (Actions)
        • Loop - Actions
          • Unit - Order (Picked unit) to Neutral Pandaren Brewmaster - Breath Of Fire (Position of (Picked unit))
      • Wait 2.00 seconds
      • Unit Group - Pick every unit in TempGroup and do (Actions)
        • Loop - Actions
          • Unit - Order (Picked unit) to Neutral Dark Ranger - Silence (Position of (Picked unit))
      • Wait 2.00 seconds
      • Unit Group - Pick every unit in TempGroup and do (Actions)
        • Loop - Actions
          • Unit - Order (Picked unit) to Neutral Beastmaster - Summon Bear
      • Wait 2.00 seconds
      • Unit Group - Pick every unit in TempGroup and do (Actions)
        • Loop - Actions
          • Unit - Order (Picked unit) to Undead Lich - Death And Decay (Position of (Picked unit))
      • Wait 2.00 seconds
      • Unit Group - Pick every unit in TempGroup and do (Actions)
        • Loop - Actions
          • Unit - Kill (Picked unit)
 

Attachments

  • Channel Issues.w3x
    20.1 KB · Views: 29
Status
Not open for further replies.
Top