Trees Regrow

Weyird

Member
Reaction score
5
Hi I've tried looking this up because it should be well covered in tutorials, but the WoW "Regrowth" ability severely hampers my ability to google search the topic. I simply want trees to grow back after being destroyed. I use trees for pathing and scenery, but if Flame Strike or Force of Nature is used on trees they are killed, not to mention siege attacks. I like the idea of these abilites being used for shortcuts through forest areas, but I want the trees to grow back after a while. How?

The triggers seem simple. Destructible dies, wait X seconds, ressurect dying destructible showing animation.... But it doesn't work. I read somewhere its because the editor only registers the first 100 or so trees on the map.

Can somebody please help?
 

NoobImbaPro

You can change this now in User CP.
Reaction score
60
Trigger:
  • tree spawn
    • Events
      • Destructible - A destructible within (Entire map) dies
    • Conditions
    • Actions
      • Wait 2.00 seconds
      • Destructible - Create a (Destructible-type of (Dying destructible)) at (Position of (Dying destructible)) facing (Random angle) with scale 1.00 and variation 0

If you want to rep me click the icon between the #2 and the warning icon
 

Galdiuz

Creator of Photon Command
Reaction score
98
NoobImbaPro, that wouldn't work. It has to be done like this:
Trigger:
  • Initialization
    • Events
      • Map initialization
    • Conditions
    • Actions
      • Destructible - Pick every destructible in (Playable map area) and do (Actions)
        • Loop - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • (Destructible-type of (Picked destructible)) Equal to Ashenvale Tree Wall
            • Then - Actions
              • Trigger - Add to Regrow Trees <gen> the event (Destructible - (Picked destructible) dies)
            • Else - Actions

Trigger:
  • Regrow Trees
    • Events
    • Conditions
    • Actions
      • Wait 30.00 seconds
      • Destructible - Resurrect (Dying destructible) with (Max life of (Dying destructible)) life and Show birth animation
 

kaboo

New Member
Reaction score
45
what about this?
Trigger:
  • Melee Initialization
    • Events
      • Time - Every 10.00 seconds of game time
    • Conditions
    • Actions
      • Destructible - Pick every destructible in (Playable map area) and do (Actions)
        • Loop - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • (Current life of (Picked destructible)) Less than or equal to 0.00
            • Then - Actions
              • Destructible - Resurrect (Picked destructible) with (Max life of (Picked destructible)) life and Show birth animation
            • Else - Actions
 

Executor

I see you
Reaction score
57
But it is rubbish to loop every 10 seconds through all Trees, whereas maybe no single one died. I would choose Galdiuz method as long as Dying Unit consists as a local var [like Triggering Unit] inside the function.
 

kaboo

New Member
Reaction score
45
the 10 second is variable u can change it to whatever u want, and if he wants to allow shortcuts through forest it should be like 120-240sec, i put there 10 for my test map to test whether it works or not
 

HydraRancher

Truth begins in lies
Reaction score
197
This is a very simple trigger I've used this before, but there is one problem, if a trees regrowing and you harvest it, it immediately pops up into original size because of its "Harvested Animation". As there's no (Triggering Destructible) or Set Custom Value of Destructible I think theres no simple solution to this (JASS possible)
 

Weyird

Member
Reaction score
5
Thanks

Thanks all, I tried it out and I'll stick to Galdiuz' way, works best for me :)
 

jomik

New Member
Reaction score
17
Trigger:
  • Initialization
    • Events
      • Map initialization
    • Conditions
    • Actions
      • Destructible - Pick every destructible in (Playable map area) and do (Actions)
        • Loop - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • (Destructible-type of (Picked destructible)) Equal to Ashenvale Tree Wall
            • Then - Actions
              • Trigger - Add to Regrow Trees <gen> the event (Destructible - (Picked destructible) dies)
            • Else - Actions

You can use this with his:
JASS:
function filter takes nothing returns boolean
    return IsHeroUnitId(GetUnitTypeId(GetEnumUnit()))
endfunction

function Trig_Tree_Respawn_Actions takes nothing returns nothing
    local group g = CreateGroup()
    local destructable d = GetDyingDestructable()
    local boolean check = false
    call TriggerSleepAction(30.0)
    loop
        exitwhen (check == true)    
        call GroupEnumUnitsInRange(g, GetDestructableX(d), GetDestructableY(d), 600.0, Filter(function filter))
        if (IsUnitGroupEmptyBJ(g)) then
            call DestructableRestoreLife(d, GetDestructableMaxLife(d), true)
            set check = true
        else
            set check = false
            call TriggerSleepAction(5.0)
        endif
        call GroupClear(g)
    endloop
    call DestroyGroup(g)
    set g = null
    set d = null
endfunction

//===========================================================================
function InitTrig_Tree_Respawn takes nothing returns nothing
    set gg_trg_Tree_Respawn = CreateTrigger()
    call TriggerAddAction( gg_trg_Tree_Respawn, function Trig_Tree_Respawn_Actions )
endfunction


It'd make the tree's respawn after 30 seconds, but only if there's no hero in range. If there's a hero in range, waits 5 seconds and checks again.

You just add the event to my JASS trigger, using Galdiuz's GUI trigger ;)

ALSO: the exact same question here, appearing as the first when I search for "Tree Respawn"
Help me - How To make trees Respawn
 
General chit-chat
Help Users
  • No one is chatting at the moment.

      The Helper Discord

      Staff online

      Members online

      Affiliates

      Hive Workshop NUON Dome World Editor Tutorials

      Network Sponsors

      Apex Steel Pipe - Buys and sells Steel Pipe.
      Top