1. Updated Resource Submission Rules: All model & skin resource submissions must now include an in-game screenshot. This is to help speed up the moderation process and to show how the model and/or texture looks like from the in-game camera.
    Dismiss Notice
  2. DID YOU KNOW - That you can unlock new rank icons by posting on the forums or winning contests? Click here to customize your rank or read our User Rank Policy to see a list of ranks that you can unlock. Have you won a contest and still havn't received your rank award? Then please contact the administration.
    Dismiss Notice
  3. The Lich King demands your service! We've reached the 19th edition of the Icon Contest. Come along and make some chilling servants for the one true king.
    Dismiss Notice
  4. The 4th SFX Contest has started. Be sure to participate and have a fun factor in it.
    Dismiss Notice
  5. The poll for the 21st Terraining Contest is LIVE. Be sure to check out the entries and vote for one.
    Dismiss Notice
  6. The results are out! Check them out.
    Dismiss Notice
  7. Don’t forget to sign up for the Hive Cup. There’s a 555 EUR prize pool. Sign up now!
    Dismiss Notice
  8. The Hive Workshop Cup contest results have been announced! See the maps that'll be featured in the Hive Workshop Cup tournament!
    Dismiss Notice
  9. Check out the Staff job openings thread.
    Dismiss Notice
Dismiss Notice
60,000 passwords have been reset on July 8, 2019. If you cannot login, read this.

Icon/Model/Spell Team Contest - Hive Member[+100 Rep]

Discussion in 'Contest Archive' started by IcemanBo, Nov 5, 2017.

Thread Status:
Not open for further replies.
  1. KILLCIDE

    KILLCIDE

    Administrator

    Joined:
    Jul 22, 2015
    Messages:
    3,501
    Resources:
    20
    Models:
    2
    Icons:
    10
    Spells:
    7
    Tutorials:
    1
    Resources:
    20
    As of right now, the deadline for the contest is December 30, 11:59:59 P.M. GMT
     
  2. IcemanBo

    IcemanBo

    Joined:
    Sep 6, 2013
    Messages:
    6,180
    Resources:
    22
    Maps:
    3
    Spells:
    11
    Template:
    1
    Tutorials:
    4
    JASS:
    3
    Resources:
    22
    @Kyrbi0 , your 'precise' definition adds exactly nothing technical to the current one, let's don't get ridiculous.

    That makes no sense now. Else, elaborate.

    @MyPad , read the date definition again, and please explain which part exactly is confusing, but maybe we can work it out:

    conclude on 30th December 2017 GMT (day is included)

    -> I can still work on 30th december in GMT time, YEY!
    -> When it gets 31th december in GMT time, I can't work anymore, NEY!

    Not sure there will be again a same extension, maybe this time with a small % malus for ones who need an extra week. But we will announce this tomorrow, try to finish it! I guess one more day, so including 31 as final date would not help everyone anyways, or, for those who need more time?
     
  3. KILLCIDE

    KILLCIDE

    Administrator

    Joined:
    Jul 22, 2015
    Messages:
    3,501
    Resources:
    20
    Models:
    2
    Icons:
    10
    Spells:
    7
    Tutorials:
    1
    Resources:
    20
    The extra day would help me!
     
  4. MyPad

    MyPad

    Spell Reviewer

    Joined:
    May 9, 2014
    Messages:
    1,324
    Resources:
    7
    Models:
    1
    Icons:
    2
    Spells:
    3
    JASS:
    1
    Resources:
    7
    Okay, just wanted to clarify that portion.
     
  5. RED BARON

    RED BARON

    Joined:
    Oct 9, 2006
    Messages:
    5,174
    Resources:
    43
    Models:
    37
    Icons:
    3
    Packs:
    1
    Skins:
    1
    Maps:
    1
    Resources:
    43
    Would love to include the 31th, Christmas is way too busy. Although I could easily use more time, mostly due to the a birthday on the 30th and the obvious for the 31th (as I find myself being the one to create a texture for the model as well, besides the icons - this contest does a great job at showing both the joys and frustration about teamwork, more so over a period where a lot of events make communication hard). Still don't really want to go overboard with extension given that we already had one, so though time is short, a very late night for the should make things a lot more possible.

    Anyhow, time for some WIP's to prove that work is actually being done with this icon process - even if it perhaps spoils the surprise :wgrin:
    [​IMG]
     
  6. KILLCIDE

    KILLCIDE

    Administrator

    Joined:
    Jul 22, 2015
    Messages:
    3,501
    Resources:
    20
    Models:
    2
    Icons:
    10
    Spells:
    7
    Tutorials:
    1
    Resources:
    20
    The ability is finally done :D here is the blue paint mechanic: BluePaintWIP

    Config
    • 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)


    Goblin Index
    • 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)


    Death
    • 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 --------


    Pool Index
    • 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


    Loop
    • 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


    Now I'm just going to spend the next hour or so debugging and reviewing the code o: then I will upload it into the Spell section!
     
  7. Kyrbi0

    Kyrbi0

    Joined:
    Jul 29, 2008
    Messages:
    7,906
    Resources:
    1
    Models:
    1
    Resources:
    1
    I can feel my pants being won right off of me. :<
     
  8. Daffa the Mage

    Daffa the Mage

    Map Moderator

    Joined:
    Jan 30, 2013
    Messages:
    7,731
    Resources:
    28
    Packs:
    1
    Maps:
    8
    Spells:
    17
    Tutorials:
    2
    Resources:
    28
    Alright, here's the next WIP. I changed the name and removed some config to fit the newer concept.


    • 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

     
  9. Paillan

    Paillan

    Map Reviewer

    Joined:
    Jan 22, 2011
    Messages:
    3,026
    Resources:
    2
    Models:
    2
    Resources:
    2
    An extra day would help me as well. I'll be all day away today and idk if when I return it will still be 30 or already 31 acording to the timezone for the contest.
     
  10. IcemanBo

    IcemanBo

    Joined:
    Sep 6, 2013
    Messages:
    6,180
    Resources:
    22
    Maps:
    3
    Spells:
    11
    Template:
    1
    Tutorials:
    4
    JASS:
    3
    Resources:
    22
    So yes, let's draw a new deadline, this will be final date. There's no malus for the week.

    New Deadline:

    7th January 2018
    GMT (day is included).

    Don't all forget:

    Good luck, hope to see the entries during week!
     
  11. Kyrbi0

    Kyrbi0

    Joined:
    Jul 29, 2008
    Messages:
    7,906
    Resources:
    1
    Models:
    1
    Resources:
    1
    criminy... stayed up waaaaay too late. But I guess, better to have it 'done' than not. Thanks for the extension, IcemanBo.

    uploaded. g'nite
     
  12. IcemanBo

    IcemanBo

    Joined:
    Sep 6, 2013
    Messages:
    6,180
    Resources:
    22
    Maps:
    3
    Spells:
    11
    Template:
    1
    Tutorials:
    4
    JASS:
    3
    Resources:
    22
    That was quick.^^
     
  13. MyPad

    MyPad

    Spell Reviewer

    Joined:
    May 9, 2014
    Messages:
    1,324
    Resources:
    7
    Models:
    1
    Icons:
    2
    Spells:
    3
    JASS:
    1
    Resources:
    7
    Thanks for the extension, Icy. This helps out a lot in the making of entries.
     
  14. Astaroth Zion

    Astaroth Zion

    Joined:
    Feb 13, 2011
    Messages:
    360
    Resources:
    26
    Models:
    25
    Packs:
    1
    Resources:
    26
    Thanks a lot for the extension.
     
  15. Cokemonkey11

    Cokemonkey11

    Wurst Reviewer

    Joined:
    May 9, 2006
    Messages:
    3,240
    Resources:
    18
    Tools:
    1
    Maps:
    5
    Spells:
    3
    Tutorials:
    2
    JASS:
    7
    Resources:
    18
    @KILLCIDE don't worry, I'm not so naive to expect 15 pristine 10/10 wurst entries :D
     
  16. Stefan.K

    Stefan.K

    Joined:
    Dec 29, 2014
    Messages:
    1,452
    Resources:
    85
    Models:
    85
    Resources:
    85
    Can I update my entry model I already uploaded in the models section?
     
  17. KILLCIDE

    KILLCIDE

    Administrator

    Joined:
    Jul 22, 2015
    Messages:
    3,501
    Resources:
    20
    Models:
    2
    Icons:
    10
    Spells:
    7
    Tutorials:
    1
    Resources:
    20
    You can keep updating it. The only thing you can't update is the test map during the judging process.
     
  18. Stefan.K

    Stefan.K

    Joined:
    Dec 29, 2014
    Messages:
    1,452
    Resources:
    85
    Models:
    85
    Resources:
    85
    Alright. Thanks for the info.
     
  19. Kyrbi0

    Kyrbi0

    Joined:
    Jul 29, 2008
    Messages:
    7,906
    Resources:
    1
    Models:
    1
    Resources:
    1
    Well, at least you know that's what you'll get from me. : P
     
  20. RED BARON

    RED BARON

    Joined:
    Oct 9, 2006
    Messages:
    5,174
    Resources:
    43
    Models:
    37
    Icons:
    3
    Packs:
    1
    Skins:
    1
    Maps:
    1
    Resources:
    43
    Thanks a lot, its honestly some great news - My sleep has been saved. I'll turn be off to bed - Damn nice. Happy New Year!
     
Thread Status:
Not open for further replies.