- Joined
- May 9, 2014
- Messages
- 1,878
Follow along with the video below to see how to install our site as a web app on your home screen.
Note: This feature may not be available in some browsers.
As of right now, the deadline for the contest is December 30, 11:59:59 P.M. GMTSo what was the extended time and date? December 30, 2017, 7:59:59 A.M. GMT +08:00 or 7:59:59 P.M. GMT +08:00?
That makes no sense now. Else, elaborate.Giv more time plox.
Mostly because of time zone
The extra day would help me!so including 31 as final date would not help everyone anyways
I guess one more day, so including 31 as final date would not help everyone anyways, or, for those who need more time?

BPaint Config

Events


Map initialization

Conditions

Actions


-------- --------


-------- CONFIG START --------


-------- --------


-------- --------


-------- imported object editor data --------


Set BPaint_PAINT_GOBLIN_UNIT_TYPE = Blue Paint Goblin


-------- ^ unit-type that is created when the blue paint can reaches the target location --------


-------- --------


-------- imported triggers --------


Set BPaint_TRIGGER_DEATH = BPaint Goblin Death <gen>


Set BPaint_TRIGGER_CREATE_POOL = BPaint Index <gen>


Set BPaint_TRIGGER_LOOP_POOL = BPaint Loop <gen>


-------- --------


-------- how many goblins will spawn after PBomb_MissileUnit[] reaches the target location --------


Set BPaint_GOBLIN_COUNT = 4


Set BPaint_GOBLIN_COUNT_PER_LEVEL = 1


-------- --------


-------- time (in seconds) the GOBLIN_UNIT_TYPE will last --------


Set BPaint_GOBLIN_DURATION = 45.00


Set BPaint_GOBLIN_DURATION_PER_LVL = 0.00


-------- --------


-------- time (in seconds) puddles will last after a Blue Goblin dies --------


Set BPaint_PUDDLE_DURATION = 6.00


Set BPaint_PUDDLE_DURATION_PER_LVL = 0.00


-------- --------


-------- how close a blue goblin must be to pick up the puddle --------


Set BPaint_AOE = 80.00


Set BPaint_AOE_PER_LEVEL = 0.00


-------- --------


-------- starting HP of the blue goblins (does not include Hit Points Maximum data field in Object Editor) --------


Set BPaint_START_HP = 25


Set BPaint_START_HP_PER_LEVEL = 25


-------- --------


-------- starting damage of the blue goblins (does not include Damage Base data field in Object Editor) --------


Set BPaint_START_DMG = 0


Set BPaint_START_DMG_PER_LEVEL = 3


-------- --------


-------- starting size of the blue goblins --------


Set BPaint_START_SIZE = 1.00


Set BPaint_START_SIZE_PER_LEVEL = 0.00


-------- --------


-------- bonus hit points given to blue goblins that walk over the puddle --------


Set BPaint_BONUS_HP = 70


Set BPaint_BONUS_HP_PER_LEVEL = 0


-------- --------


-------- bonus damage given to blue goblins that walk over the puddle --------


Set BPaint_BONUS_DMG = 5


Set BPaint_BONUS_DMG_PER_LEVEL = 0


-------- --------


-------- bonus size given to blue goblins that walk over the puddle --------


Set BPaint_BONUS_SIZE = 0.10


Set BPaint_BONUS_SIZE_PER_LEVEL = 0.00


-------- --------


-------- bonus movement speed given to blue goblins that walk over the puddle --------


Set BPaint_BONUS_MS = -5.00


Set BPaint_BONUS_MS_PER_LEVEL = 0.00


-------- --------


-------- bonus attack speed given to blue goblins that walk over the puddle --------


Set BPaint_BONUS_AS = -5


Set BPaint_BONUS_AS_PER_LEVEL = 0


-------- --------


-------- special effect for puddle --------


Set BPaint_SFX_PUDDLE = PaintBombPuddle_Blue.mdl


Set BPaint_SFX_PUDDLE_AP = origin


Set BPaint_SFX_PUDDLE_SIZE = 1.00


Set BPaint_SFX_PUDDLE_DEATH_TIMER = 0.25


-------- ^ how much time (in seconds) is needed for death sfx to play --------


-------- --------


-------- other --------


Set BPaint_ANIMATION_START = birth


-------- ^ animation that PAINT_GOBLIN_UNIT_TYPE will play when they are created --------


Set BPaint_ANIMATION_RESET = stand


-------- ^ animation PAINT_GOBLIN_UNIT_TYPE will reset to after ANIMATION_START finishes --------


Set BPaint_ANIMATION_PUDDLE = birth


-------- ^ animation that the goblin will play when they walk over a blue puddle --------


Set BPaint_PERIODIC_TIMER = 0.03


-------- --------


-------- --------


-------- CONFIG END --------


-------- --------


Trigger - Add to BPaint_TRIGGER_LOOP_POOL the event (Time - Every BPaint_PERIODIC_TIMER seconds of game time)


Set BPaint_KEY_SPELL_ID = 7


Set BPaint_KEY_CURRENT_SIZE = 8


Set BPaint_KEY_OWNER = 9


Set BPaint_KEY_ABILITY_LEVEL = 10


Set BPaint_KEY_PUDDLE_X = 11


Set BPaint_KEY_PUDDLE_Y = 12


Set BPaint_KEY_PUDDLE_DURATION = 13


Set BPaint_KEY_PUDDLE_RADIUS = 14


Set BPaint_KEY_PUDDLE_SFX = 15


-------- preload --------


Unit - Create 1 BPaint_PAINT_GOBLIN_UNIT_TYPE for Neutral Extra at PBomb_LocZ facing Default building facing degrees


Set BPaint_TempUnit = (Last created unit)


Special Effect - Create a special effect attached to the BPaint_SFX_PUDDLE_AP of BPaint_TempUnit using BPaint_SFX_PUDDLE


Special Effect - Destroy (Last created special effect)


Unit - Remove BPaint_TempUnit from the game


-------- math calculations --------


Set BPaint_START_SIZE = (BPaint_START_SIZE x 100.00)


Set BPaint_START_SIZE_PER_LEVEL = (BPaint_START_SIZE_PER_LEVEL x 100.00)


Set BPaint_BONUS_SIZE = (BPaint_BONUS_SIZE x 100.00)


Set BPaint_BONUS_SIZE_PER_LEVEL = (BPaint_BONUS_SIZE_PER_LEVEL x 100.00)


Set BPaint_BONUS_MS = (BPaint_BONUS_MS / 100.00)


Set BPaint_BONUS_MS_PER_LEVEL = (BPaint_BONUS_MS_PER_LEVEL / 100.00)


Set BPaint_SFX_PUDDLE_SIZE = (BPaint_SFX_PUDDLE_SIZE x 100.00)
BPaint Goblin Index

Events

Conditions

Actions


-------- BPaint Goblin Index --------


-------- this trigger will create the Blue Paint Goblins at the targeted location --------


-------- if the unit still has the buff at the end of the duration, they will be snared --------


-------- --------


-------- members --------


-------- Caster[] = unit who casted PBomb_ABILITY --------


-------- AbilityLvl[] = level of PBomb_ABILITY when the caster initially casted the ability --------


-------- CurrentColor[] - the color the caster had selected when they casted PBomb_ABILITY --------


-------- GoblinCount[] = current number of goblins in the squad --------


-------- --------


-------- --------


Set BPaint_SpellCount = (BPaint_SpellCount + 1)


If (All Conditions are True) then do (Then Actions) else do (Else Actions)



If - Conditions




BPaint_SpellCount Equal to 1



Then - Actions




Trigger - Turn on BPaint_TRIGGER_DEATH



Else - Actions




-------- do nothing --------


-------- --------


If (All Conditions are True) then do (Then Actions) else do (Else Actions)



If - Conditions




BPaint_RecycledSize Equal to 0



Then - Actions




Set BPaint_MaxIndex = (BPaint_MaxIndex + 1)




Set BPaint_SpellId = BPaint_MaxIndex



Else - Actions




Set BPaint_RecycledSize = (BPaint_RecycledSize - 1)




Set BPaint_SpellId = BPaint_RecycledStack[BPaint_RecycledSize]


Set BPaint_NodeNext[BPaint_SpellId] = 0


Set BPaint_NodePrev[BPaint_SpellId] = BPaint_NodePrev[0]


Set BPaint_NodePrev[BPaint_NodePrev[0]] = BPaint_SpellId


Set BPaint_NodePrev[0] = BPaint_SpellId


-------- --------


Set BPaint_Caster[BPaint_SpellId] = PBomb_Caster[PBomb_SpellId]


Set BPaint_AbilityLvl[BPaint_SpellId] = PBomb_AbilityLvl[PBomb_SpellId]


Set BPaint_CurrentColor[BPaint_SpellId] = PBomb_CurrentColor[PBomb_SpellId]


Set BPaint_GoblinCount[BPaint_SpellId] = (BPaint_GOBLIN_COUNT + (BPaint_GOBLIN_COUNT_PER_LEVEL x BPaint_AbilityLvl[BPaint_SpellId]))


-------- --------


Set BPaint_TempReal = (BPaint_GOBLIN_DURATION + (BPaint_GOBLIN_DURATION_PER_LVL x (Real(BPaint_AbilityLvl[BPaint_SpellId]))))


Set BPaint_HitPoints = (BPaint_START_HP + (BPaint_START_HP_PER_LEVEL x BPaint_AbilityLvl[BPaint_SpellId]))


Set BPaint_Damage = (BPaint_START_DMG + (BPaint_START_DMG_PER_LEVEL x BPaint_AbilityLvl[BPaint_SpellId]))


Set BPaint_TempLoc = (Position of PBomb_MissileUnit[PBomb_SpellId])


For each (Integer BPaint_TempInt) from 1 to BPaint_GoblinCount[BPaint_SpellId], do (Actions)



Loop - Actions




Unit - Create 1 BPaint_PAINT_GOBLIN_UNIT_TYPE for PBomb_Owner[PBomb_SpellId] at BPaint_TempLoc facing Default building facing degrees




Set BPaint_TempUnit = (Last created unit)




Animation - Change BPaint_TempUnit's size to (BPaint_START_SIZE%, 100.00%, 100.00%) of its original size




Animation - Play BPaint_TempUnit's BPaint_ANIMATION_START animation




Animation - Queue BPaint_TempUnit's BPaint_ANIMATION_RESET animation




Unit - Add a BPaint_TempReal second Generic expiration timer to BPaint_TempUnit




-------- --------




Custom script: call CSS_AddBonus(udg_BPaint_TempUnit, udg_BPaint_Damage,2)




Custom script: call CSS_AddBonus(udg_BPaint_TempUnit, udg_BPaint_HitPoints,8)




-------- --------




Custom script: set udg_BPaint_UnitId = GetHandleId(udg_BPaint_TempUnit)




Hashtable - Save BPaint_SpellId as BPaint_KEY_SPELL_ID of BPaint_UnitId in PBomb_Hash




Hashtable - Save BPaint_START_SIZE as BPaint_KEY_CURRENT_SIZE of BPaint_UnitId in PBomb_Hash


-------- --------


Custom script: call RemoveLocation(udg_BPaint_TempLoc)
BPaint Goblin Death

Events


Unit - A unit Dies

Conditions

Actions


-------- BPaint Goblin Death --------


-------- this trigger will check to see if the dying unit is a Paint Goblin --------


-------- if so, a puddle will be created and the number of paint goblins for its instance will decrement --------


-------- --------


-------- members --------


-------- Caster[] = unit who casted PBomb_ABILITY --------


-------- AbilityLvl[] = level of PBomb_ABILITY when the caster initially casted the ability --------


-------- CurrentColor[] - the color the caster had selected when they casted PBomb_ABILITY --------


-------- GoblinCount[] = current number of goblins in the squad --------


-------- --------


-------- --------


-------- checking if the dying unit is a Paint Goblin --------


Set BPaint_TempUnit = (Triggering unit)


If (All Conditions are True) then do (Then Actions) else do (Else Actions)



If - Conditions




(Unit-type of BPaint_TempUnit) Equal to BPaint_PAINT_GOBLIN_UNIT_TYPE



Then - Actions




-------- dying unit is a Paint Goblin --------




Trigger - Run BPaint_TRIGGER_CREATE_POOL (ignoring conditions)




-------- checking if the goblin was the last squad member --------




Custom script: set udg_BPaint_UnitId = GetHandleId(udg_BPaint_TempUnit)




-------- --------




-------- manually removing child key because other child keys still might be in use --------




Custom script: call RemoveSavedInteger(udg_PBomb_Hash, udg_BPaint_UnitId, udg_BPaint_KEY_CURRENT_SIZE)




-------- --------




Set BPaint_SpellId = (Load BPaint_KEY_SPELL_ID of BPaint_UnitId from PBomb_Hash)




Set BPaint_GoblinCount[BPaint_SpellId] = (BPaint_GoblinCount[BPaint_SpellId] - 1)




If (All Conditions are True) then do (Then Actions) else do (Else Actions)





If - Conditions






BPaint_GoblinCount[BPaint_SpellId] Equal to 0





Then - Actions






-------- goblin was the last squad member; deallocate --------






-------- --------






-------- decreasing number of active puddles for this color --------






Custom script: set udg_SPaint_UnitId = GetHandleId(udg_BPaint_Caster[udg_BPaint_SpellId])






Hashtable - Save ((Load PBomb_KEY_ACTIVE_COLOR_COUNT[BPaint_CurrentColor[BPaint_SpellId]] of SPaint_UnitId from PBomb_Hash) - 1) as PBomb_KEY_ACTIVE_COLOR_COUNT[BPaint_CurrentColor[BPaint_SpellId]] of SPaint_UnitId in PBomb_Hash






-------- --------






Set BPaint_RecycledStack[BPaint_RecycledSize] = BPaint_SpellId






Set BPaint_RecycledSize = (BPaint_RecycledSize + 1)






Set BPaint_NodeNext[BPaint_NodePrev[BPaint_SpellId]] = BPaint_NodeNext[BPaint_SpellId]






Set BPaint_NodePrev[BPaint_NodeNext[BPaint_SpellId]] = BPaint_NodePrev[BPaint_SpellId]






-------- --------






Set BPaint_SpellCount = (BPaint_SpellCount - 1)






If (All Conditions are True) then do (Then Actions) else do (Else Actions)







If - Conditions








BPaint_SpellCount Equal to 0







Then - Actions








Trigger - Turn off BPaint_TRIGGER_DEATH







Else - Actions








-------- do nothing --------





Else - Actions






-------- there are still other goblins alive in its squad; do nothing --------




-------- --------




-------- manually removing child keys because other child keys still might be in use --------




Custom script: call RemoveSavedInteger(udg_PBomb_Hash, udg_BPaint_UnitId, udg_BPaint_KEY_SPELL_ID)



Else - Actions




-------- dying unit is not a Paint Goblin; do nothing --------
BPaint Index

Events

Conditions

Actions


-------- BPaint Index --------


-------- this trigger will create a puddle on the dying goblin's location --------


-------- --------


-------- --------


Custom script: set udg_BPaint_PuddleUnit = GetRecycledDummyAnyAngle(GetUnitX(udg_BPaint_TempUnit), GetUnitY(udg_BPaint_TempUnit) ,0.00)


Animation - Change BPaint_PuddleUnit's size to (BPaint_SFX_PUDDLE_SIZE%, 100.00%, 100.00%) of its original size


Special Effect - Create a special effect attached to the BPaint_SFX_PUDDLE_AP of BPaint_PuddleUnit using BPaint_SFX_PUDDLE


-------- --------


Unit Group - Add BPaint_PuddleUnit to BPaint_PuddleGroup


Set BPaint_GroupCount = (BPaint_GroupCount + 1)


If (All Conditions are True) then do (Then Actions) else do (Else Actions)



If - Conditions




BPaint_GroupCount Equal to 1



Then - Actions




Trigger - Turn on BPaint_TRIGGER_LOOP_POOL



Else - Actions




-------- do nothing --------


-------- --------


Custom script: set udg_BPaint_PuddleX = GetUnitX(udg_BPaint_PuddleUnit)


Custom script: set udg_BPaint_PuddleY = GetUnitY(udg_BPaint_PuddleUnit)


-------- --------


Custom script: set udg_BPaint_UnitId = GetHandleId(udg_BPaint_PuddleUnit)


Hashtable - Save Handle Of(Owner of BPaint_TempUnit) as BPaint_KEY_OWNER of BPaint_UnitId in PBomb_Hash


Hashtable - Save BPaint_AbilityLvl[BPaint_SpellId] as BPaint_KEY_ABILITY_LEVEL of BPaint_UnitId in PBomb_Hash


Hashtable - Save BPaint_PuddleX as BPaint_KEY_PUDDLE_X of BPaint_UnitId in PBomb_Hash


Hashtable - Save BPaint_PuddleY as BPaint_KEY_PUDDLE_Y of BPaint_UnitId in PBomb_Hash


Hashtable - Save (BPaint_PUDDLE_DURATION + (BPaint_PUDDLE_DURATION_PER_LVL x (Real(BPaint_AbilityLvl[BPaint_SpellId])))) as BPaint_KEY_PUDDLE_DURATION of BPaint_UnitId in PBomb_Hash


Hashtable - Save (BPaint_AOE + (BPaint_AOE_PER_LEVEL x (Real(BPaint_AbilityLvl[BPaint_SpellId])))) as BPaint_KEY_PUDDLE_RADIUS of BPaint_UnitId in PBomb_Hash


Hashtable - Save Handle Of(Last created special effect) as BPaint_KEY_PUDDLE_SFX of BPaint_UnitId in PBomb_Hash
BPaint Loop

Events

Conditions

Actions


-------- BPaint Loop --------


-------- this trigger will periodically check if a blue goblin is near the blue puddle --------


-------- if there is a blue paint goblin near the paint puddle, the puddle will disappear and apply the bonus to the goblin --------


-------- --------


-------- --------


Unit Group - Pick every unit in BPaint_PuddleGroup and do (Actions)



Loop - Actions




Set BPaint_PuddleUnit = (Picked unit)




Custom script: set udg_BPaint_UnitId = GetHandleId(udg_BPaint_PuddleUnit)




-------- --------




-------- checking if the puddle reached the end of its life span --------




Set BPaint_Counter = (Load BPaint_KEY_PUDDLE_DURATION of BPaint_UnitId from PBomb_Hash)




If (All Conditions are True) then do (Then Actions) else do (Else Actions)





If - Conditions






BPaint_Counter Less than or equal to 0.00





Then - Actions






-------- puddle reached the end of its lifespan; deallocate --------






Special Effect - Destroy (Load BPaint_KEY_PUDDLE_SFX of BPaint_UnitId in PBomb_Hash)






Custom script: call DummyAddRecycleTimer(udg_BPaint_PuddleUnit, udg_BPaint_SFX_PUDDLE_DEATH_TIMER)






-------- --------






-------- manually removing child keys because other child keys still might be in use --------






Custom script: call RemoveSavedHandle(udg_PBomb_Hash, udg_BPaint_UnitId, udg_BPaint_KEY_OWNER)






Custom script: call RemoveSavedInteger(udg_PBomb_Hash, udg_BPaint_UnitId, udg_BPaint_KEY_ABILITY_LEVEL)






Custom script: call RemoveSavedReal(udg_PBomb_Hash, udg_BPaint_UnitId, udg_BPaint_KEY_PUDDLE_X)






Custom script: call RemoveSavedReal(udg_PBomb_Hash, udg_BPaint_UnitId, udg_BPaint_KEY_PUDDLE_Y)






Custom script: call RemoveSavedReal(udg_PBomb_Hash, udg_BPaint_UnitId, udg_BPaint_KEY_PUDDLE_DURATION)






Custom script: call RemoveSavedReal(udg_PBomb_Hash, udg_BPaint_UnitId, udg_BPaint_KEY_PUDDLE_RADIUS)






Custom script: call RemoveSavedHandle(udg_PBomb_Hash, udg_BPaint_UnitId, udg_BPaint_KEY_PUDDLE_SFX)






-------- --------






Unit Group - Remove BPaint_PuddleUnit from BPaint_PuddleGroup






Set BPaint_GroupCount = (BPaint_GroupCount - 1)






If (All Conditions are True) then do (Then Actions) else do (Else Actions)







If - Conditions








BPaint_GroupCount Equal to 0







Then - Actions








Custom script: call BJDebugMsg("LOOP OFF")








Trigger - Turn off BPaint_TRIGGER_LOOP_POOL







Else - Actions








-------- do nothing --------





Else - Actions






-------- puddle has not reached the end of its lifespan; continue searching for nearby goblin units --------






Hashtable - Save (BPaint_Counter - BPaint_PERIODIC_TIMER) as BPaint_KEY_PUDDLE_DURATION of BPaint_UnitId in PBomb_Hash






-------- --------






Set BPaint_Owner = (Load BPaint_KEY_OWNER of BPaint_UnitId in PBomb_Hash)






Set BPaint_Radius = (Load BPaint_KEY_PUDDLE_RADIUS of BPaint_UnitId from PBomb_Hash)






Set BPaint_PuddleX = (Load BPaint_KEY_PUDDLE_X of BPaint_UnitId from PBomb_Hash)






Set BPaint_PuddleY = (Load BPaint_KEY_PUDDLE_Y of BPaint_UnitId from PBomb_Hash)






-------- --------






-------- using FirstOfGroup so that only a single goblin can get the bonus --------






Custom script: call GroupEnumUnitsInRange(udg_PBomb_InRangeGroup, udg_BPaint_PuddleX, udg_BPaint_PuddleY, udg_BPaint_Radius, null)






Custom script: loop






Custom script: set udg_BPaint_TempUnit = FirstOfGroup(udg_PBomb_InRangeGroup)






Custom script: exitwhen (udg_BPaint_TempUnit == null)






-------- --------






If (All Conditions are True) then do (Then Actions) else do (Else Actions)







If - Conditions








(BPaint_TempUnit is alive) Equal to True








(BPaint_TempUnit belongs to an ally of BPaint_Owner) Equal to True








(Unit-type of BPaint_TempUnit) Equal to BPaint_PAINT_GOBLIN_UNIT_TYPE







Then - Actions








-------- a paint goblin is standing near the puddle; apply bonuses --------








Set BPaint_TempInt = (Load BPaint_KEY_ABILITY_LEVEL of BPaint_UnitId from PBomb_Hash)








Set BPaint_TempReal = (Real(BPaint_TempInt))








-------- --------








Set BPaint_AttackSpeed = (BPaint_BONUS_AS + (BPaint_BONUS_AS_PER_LEVEL x BPaint_TempInt))








Set BPaint_Damage = (BPaint_START_DMG + (BPaint_START_DMG_PER_LEVEL x BPaint_TempInt))








Set BPaint_HitPoints = (BPaint_START_HP + (BPaint_START_HP_PER_LEVEL x BPaint_TempInt))








Set BPaint_Size = (BPaint_BONUS_SIZE + (BPaint_BONUS_SIZE_PER_LEVEL x BPaint_TempReal))








Set BPaint_MoveSpeed = (BPaint_BONUS_MS + (BPaint_BONUS_MS_PER_LEVEL x BPaint_TempReal))








-------- --------








Custom script: call CSS_AddBonus(udg_BPaint_TempUnit, udg_BPaint_AttackSpeed,1)








Custom script: call CSS_AddBonus(udg_BPaint_TempUnit, udg_BPaint_Damage,2)








Custom script: call CSS_AddBonus(udg_BPaint_TempUnit, udg_BPaint_HitPoints,8)








-------- --------








Custom script: set udg_BPaint_TempInt = GetHandleId(udg_BPaint_TempUnit)








Set BPaint_TempReal = (Load BPaint_KEY_CURRENT_SIZE of BPaint_UnitId from PBomb_Hash)








Set BPaint_Size = ((Load BPaint_KEY_CURRENT_SIZE of BPaint_TempInt from PBomb_Hash) + BPaint_Size)








Animation - Change BPaint_TempUnit's size to (BPaint_Size%, 100.00%, 100.00%) of its original size








Hashtable - Save BPaint_Size as BPaint_KEY_CURRENT_SIZE of BPaint_TempInt in PBomb_Hash








-------- --------








Set BPaint_TempReal = (Current movement speed of BPaint_TempUnit)








Unit - Set BPaint_TempUnit movement speed to (BPaint_TempReal + (BPaint_TempReal x BPaint_MoveSpeed))








-------- --------








Animation - Play BPaint_TempUnit's BPaint_ANIMATION_PUDDLE animation








Animation - Queue BPaint_TempUnit's BPaint_ANIMATION_RESET animation








-------- --------








-------- setting counter to 0 to deallocate index on next timeout --------








Hashtable - Save 0.00 as BPaint_KEY_PUDDLE_DURATION of BPaint_UnitId in PBomb_Hash








-------- --------








Unit Group - Remove all units from PBomb_InRangeGroup







Else - Actions








-------- unit did not pass filters; do nothing --------








Unit Group - Remove BPaint_TempUnit from PBomb_InRangeGroup






-------- --------






Custom script: endloop
SD Config

Events


Map initialization

Conditions

Actions


-------- Ability --------


Set SD_Ability = Soul Distraction


-------- Bond break model --------


Set SD_ExplosionModel = Objects\Spawnmodels\Undead\UCancelDeath\UCancelDeath.mdl


-------- Channel time - make sure to set it equal to Follow Through Time in the ability --------


Set SD_ChannelTime[1] = 5.00


Set SD_ChannelTime[2] = 5.00


Set SD_ChannelTime[3] = 5.00


-------- Damage per second --------


Set SD_DamageCharge[1] = 25.00


Set SD_DamageCharge[2] = 50.00


Set SD_DamageCharge[3] = 100.00


-------- END CONFIG --------


Set SD_TimeOut = 0.03


Trigger - Add to SD Channel <gen> the event (Time - Every SD_TimeOut seconds of game time)
SD Cast

Events


Unit - A unit Starts the effect of an ability

Conditions


(Ability being cast) Equal to SD_Ability

Actions


Set SD_Index = (SD_Index + 1)


Set SD_Caster[SD_Index] = (Triggering unit)


Set SD_Target[SD_Index] = (Target unit of ability being cast)


Set SD_Level[SD_Index] = (Level of SD_Ability for SD_Caster[SD_Index])


Set SD_Time[SD_Index] = 0.00


If (All Conditions are True) then do (Then Actions) else do (Else Actions)



If - Conditions




SD_Index Equal to 1



Then - Actions




Trigger - Turn on SD Channel <gen>



Else - Actions
- The final entry must be posted before the deadline in this thread using a demo/test map. The post should be a little presentation of the hero, and must link to all submitted components of the hero (link to Model, Icons, Spell in the resource section).
- The test map's name should be "<team> + <hero name>" and it must have decent testing conditions. Which means the user can test various aspects and behavior of the spell/code under certain conditions without too much of effort. For example cliffs/water/trees might be provided already in a spell demonstration, or chat commands might be given as well.
Alright. Thanks for the info.You can keep updating it. The only thing you can't update is the test map during the judging process.
Well, at least you know that's what you'll get from me. : P@KILLCIDE don't worry, I'm not so naive to expect 15 pristine 10/10 wurst entries![]()
7th January 2018 GMT (day is included).
| Mr.Goblin, The Goblin Artist |
| Paint Bomb |
| Switch Paint |
| WIPs | Entry | |
Direfury | 1 2 | Hero Goblin Artist |
KILLCIDE | 1 2 3 4 5 | Paint Bomb |
Mr.Goblin | 1 2 | Mr.Goblin / Paint Bomb v1 / Paint Bomb v2 |
... ^what's meant here is that the hero is explained a bit in theme regards. For this hero it's pretty obvious, but could you explain shortly that you created the hero based on Mr.Goblin and took avatar or maybe name as association, because it's a goblin image or what ever. I would like to get the association for all heroes and the used theme.The post should be a little presentation of the hero
The entry must contain a short explanation of the theme, naming the created hive member and it's theme association.
I don't think it's fair giving rep to all three from a team for each resource. I mean didn't just @Mr.Goblin paint/make the icons?
Hey, uh, sorry guys. Didn't mean to offend you or anything.ouch....
SD Effect High

Events

Conditions

Actions


-------- DO NOT USE WAITS HERE! --------


-------- Use SD_Caster[SD_Loop] to refer to caster --------


-------- Use SD_Target[SD_Loop] to refer to target of the ability --------


-------- Use SD_Level[SD_Loop] to refer to ability level --------


Unit - Set mana of SD_Target[SD_Loop] to ((Mana of SD_Target[SD_Loop]) - (SD_DamageCharge[SD_Level[SD_Loop]] x SD_TimeOut))
SD Effect Low

Events

Conditions

Actions


-------- DO NOT USE WAITS HERE! --------


-------- Use SD_Caster[SD_Loop] to refer to caster --------


-------- Use SD_Target[SD_Loop] to refer to target of the ability --------


-------- Use SD_Level[SD_Loop] to refer to ability level --------


Unit - Cause SD_Caster[SD_Loop] to damage SD_Target[SD_Loop], dealing (SD_DamageCharge[SD_Level[SD_Loop]] x SD_TimeOut) damage of attack type Spells and damage type Normal
SD Cast

Events


Unit - A unit Starts the effect of an ability

Conditions


(Ability being cast) Equal to SD_Ability

Actions


Set SD_Index = (SD_Index + 1)


Set SD_Caster[SD_Index] = (Triggering unit)


Set SD_Target[SD_Index] = (Target unit of ability being cast)


Set SD_Level[SD_Index] = (Level of SD_Ability for SD_Caster[SD_Index])


Set SD_Time[SD_Index] = 0.00


If (All Conditions are True) then do (Then Actions) else do (Else Actions)



If - Conditions




SD_Index Equal to 1



Then - Actions




Trigger - Turn on SD Channel <gen>



Else - Actions
SD Channel

Events

Conditions

Actions


For each (Integer SD_Loop) from 1 to SD_Index, do (Actions)



Loop - Actions




Unit - Cause SD_Caster[SD_Loop] to damage SD_Target[SD_Loop], dealing (SD_DamageCharge[SD_Level[SD_Loop]] x SD_TimeOut) damage of attack type Spells and damage type Normal




If (All Conditions are True) then do (Then Actions) else do (Else Actions)





If - Conditions






(Life of SD_Target[SD_Loop]) Greater than or equal to SD_LowHPZone[SD_Level[SD_Loop]]





Then - Actions






Trigger - Run SD Effect High <gen> (checking conditions)





Else - Actions






Trigger - Run SD Effect Low <gen> (checking conditions)




Special Effect - Create a special effect attached to the SD_AttachPoint of SD_Target[SD_Loop] using SD_SapModel




Special Effect - Destroy (Last created special effect)




Set SD_Time[SD_Loop] = (SD_Time[SD_Loop] + SD_TimeOut)




If (All Conditions are True) then do (Then Actions) else do (Else Actions)





If - Conditions






Or - Any (Conditions) are true







Conditions








(SD_Caster[SD_Loop] is alive) Equal to False








(SD_Target[SD_Loop] is alive) Equal to False








SD_Time[SD_Loop] Greater than or equal to SD_ChannelTime[SD_Level[SD_Loop]]








(Current order of SD_Caster[SD_Loop]) Not equal to (Order(SD_Order))





Then - Actions






Set SD_Caster[SD_Loop] = SD_Caster[SD_Index]






Set SD_Target[SD_Loop] = SD_Target[SD_Index]






Set SD_Level[SD_Loop] = SD_Level[SD_Index]






Set SD_Time[SD_Loop] = SD_Time[SD_Index]






Set SD_Index = (SD_Index - 1)






Set SD_Loop = (SD_Loop - 1)






If (All Conditions are True) then do (Then Actions) else do (Else Actions)







If - Conditions








SD_Index Equal to 0







Then - Actions








Trigger - Turn off (This trigger)







Else - Actions





Else - Actions



The final entry must be posted before the deadline in this thread using a demo/test map. The post should be a little presentation of the hero, and must link to all submitted components of the hero (link to Model, Icons, Spell in the resource section). The entry must contain a short explanation of the theme, naming the created hive member and it's theme association.