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

Terrain Infektion

This bundle is marked as useful / simple. Simplicity is bliss, low effort and/or may contain minor bugs.
  • Like
Reactions: deepstrasz
Credits goes to Aero for the idea and IceManBo for my new timer method and encouraging me to make a GUI system of this after viewing Aero's request.

[trigger=]
Tile
Events
Map initialization
Conditions
Actions
Set InfectedTile = Outland - Abyss
Custom script: call TimerStart(udg_TileTimer, 0.031200, true, null)

[/trigger]
[trigger=]
Tile Infektion
Events
Time - TileTimer expires
Conditions
Actions
For each (Integer Loop) from 1 to Index, do (Actions)
Loop - Actions
Set TileInfectTimer[Loop] = (TileInfectTimer[Loop] + 0.01)
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(Random percentage) Less than or equal to 5.00
TileInfectTimer[Loop] Greater than or equal to TileInfectCount[Loop]
Then - Actions
Set TileInfectTimer[Loop] = 0.00
Set CurrentTilePoint = TheTilePoint[Loop]
For each (Integer Loop2) from (Random integer number between 1 and 3) to 4, do (Actions)
Loop - Actions
Set CurrentTilePoint2 = (CurrentTilePoint offset by 128.00 towards ((Real(Loop2)) x 90.00) degrees)
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(Terrain type at CurrentTilePoint2) Not equal to InfectedTile
(Terrain pathing at CurrentTilePoint2 of type Flyability is off) Equal to False
Then - Actions
Environment - Change terrain type at CurrentTilePoint2 to Outland - Abyss using variation -1 in an area of size 1 and shape Square
Set TheTilePoint[Loop] = CurrentTilePoint2
Skip remaining actions
Else - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
Loop2 Equal to 4
Then - Actions
Set TileInfectCount[Loop] = TileInfectCount[Index]
Set TileInfectTimer[Loop] = TileInfectTimer[Index]
Custom script: call RemoveLocation(udg_TheTilePoint[udg_Loop])
Set TheTilePoint[Loop] = TheTilePoint[Index]
Set Index = (Index - 1)
Set Loop = (Loop - 1)
Skip remaining actions
Else - Actions
Custom script: call RemoveLocation(udg_CurrentTilePoint2)
Custom script: call RemoveLocation(udg_CurrentTilePoint)
Else - Actions

[/trigger]

[trigger=]
Identify Point
Events
Unit - A unit Starts the effect of an ability
Conditions
(Ability being cast) Equal to Reveal
Actions
Set Index = (Index + 1)
Set TheTilePoint[Index] = (Target point of ability being cast)
Set TileInfectCount[Index] = (Random real number between 1.00 and 4.00)

[/trigger]


I will be updating this in a bit to add more features such as range limit and more configureable's.

Keywords:
I r pro,tile,terrain,blight,infection,abyss,out,land,lol,cool,epic,physic,s,a,b,c,d,e,f,t,g,s
Contents

Infecting Tiles! (Map)

Reviews
12th Dec 2015 IcemanBo: For long time as NeedsFix. Rejected. 19:09, 5th Jan 2015 Maker: Too much hard-coded behaviour. Make it more configurable.

Moderator

M

Moderator

12th Dec 2015
IcemanBo: For long time as NeedsFix. Rejected.

19:09, 5th Jan 2015
Maker: Too much hard-coded behaviour.
Make it more configurable.
 
Top