1. Are you planning to upload your awesome spell or system to Hive? Please review the rules here.
    Dismiss Notice
  2. 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
  3. 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 haven't received your rank award? Then please contact the administration.
    Dismiss Notice
  4. Weave light to take you to your highest hopes - the 6th Special Effect Contest is here!
    Dismiss Notice
  5. Lead your forces to battle in the 15th Techtree Contest. The call is yours, commander!
    Dismiss Notice
  6. 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.

Lost Entities v1.0.0 - GUI

Submitted by JAKEZINC
This bundle is marked as pending. It has not been reviewed by a staff member yet.
LOST ENTITIES [ GUI ]


A target area damage mythical void ability.
"Might be useful at reducing enemy units clustering at the battlefield and combat."


PREVIEW:
[​IMG]
[​IMG]
[​IMG]

DESCRIPTION:
[​IMG]


IMAGES:

  • Creating a two void portals that serve as the pathway for the lost entities.

    [​IMG]

    After the portals being developed, the land portal begins to release the lost entities.

    [​IMG]
  • Releasing more lost entities as long as the two portals are active.
    In this event, the entities were able to lift the units up. ( not shown here, check the preview )

    [​IMG]
    [​IMG]


CHANGELOGS: v1.0.0 - Released

CREDITS: Bribe ( Unit Indexer )
Mythic ( Portal Model )


    • Lost Entities Configuration
      • Events
        • Map initialization
      • Conditions
      • Actions
        • -------- ---------------------------------------------------------------------------------------------------------------------------------------- --------
        • -------- UNDECLARED VARIABLES FIELD --------
        • -------- ---------------------------------------------------------------------------------------------------------------------------------------- --------
        • Set LE_X[0] = LE_X[0]
        • Set LE_Y[0] = LE_Y[0]
        • Set LE_Window[0] = LE_Window[0]
        • -------- ^ DELETE AFTER IMPORTING ^ --------
        • -------- ---------------------------------------------------------------------------------------------------------------------------------------- --------
        • -------- The interval of the periodic is solved by ( second / frames per second ). * Recommended Value: ( 1 / 30 ) for default performance. --------
        • Set LE_Periodic = Lost Entities Periodic <gen>
        • -------- ^ Set this to: Lost Entities Periodic <gen> --------
        • Set LE_PeriodicInterval = (1.00 / 60.00)
        • -------- ^Modify at your own risk: Changing the frames per second can impact performance. --------
        • -------- ---------------------------------------------------------------------------------------------------------------------------------------- --------
        • -------- SPELL CONFIGURATION FIELD --------
        • -------- ---------------------------------------------------------------------------------------------------------------------------------------- --------
        • -------- OBJECT EDITOR --------
        • -------- The spell or ability used in the codes. ( Strictly Import the Lost Entities Ability ) --------
        • Set LE_Ability = Lost Entities
        • -------- --------
        • -------- The dummy unit used in the codes. ( Strictly Import the Lost Entities Dummy Unit ) --------
        • Set LE_DummyType = Lost Entities Dummy
        • -------- ^ Tip: You can also select one of the dummies already existed or created in your map. ( Make sure dummy.mdx is the model used in that dummy unit and the unit's data value must be similar to it. ) --------
        • -------- ^ This tip is useful for sharing dummy type units. ( Saves you 1 Unit Type in your object editor ) ( As long as they have similar object data values. ) --------
        • -------- ---------------------------------------------------------------------------------------------------------------------------------------- --------
        • -------- * DATA ARRAY VALUES: [ 1 ] = Level 1, [ 2 ] = Level 2, [ 3 ] = Level 3 ..., You can increase the array value if you want to add the levels of the ability in an integer consecutive order. --------
        • -------- ---------------------------------------------------------------------------------------------------------------------------------------- --------
        • -------- SPELL DATA --------
        • -------- ---------------------------------------------------------------------------------------------------------------------------------------- --------
        • -------- The maximum level of the ability or the number of levels in Lost Entities Ability. --------
        • Set LE_MaxLevel = 3
        • -------- ^ Modify at your own risk: Must be equal to the amount of levels in Lost Entities Ability in OBJECT EDITOR. --------
        • -------- --------
        • -------- The radius of the ability. --------
        • Set LE_Radius[1] = 200.00
        • Set LE_Radius[2] = 200.00
        • Set LE_Radius[3] = 200.00
        • -------- --------
        • -------- The activation time of the portal to release the lost entities. --------
        • Set LE_ActivationDelay[1] = 0.75
        • Set LE_ActivationDelay[2] = 0.75
        • Set LE_ActivationDelay[3] = 0.75
        • -------- --------
        • -------- The duration time of the portal. --------
        • Set LE_Duration[1] = 5.00
        • Set LE_Duration[2] = 5.00
        • Set LE_Duration[3] = 5.00
        • -------- ^ Note: Begins to tick after the LE_ActivationDelay. --------
        • -------- --------
        • -------- TARGETS FILTRATION - you can filter your wanted targets here. --------
        • Set LE_FilterHero = True
        • Set LE_FilterFlying = True
        • Set LE_FilterGround = True
        • Set LE_FilterStructure = True
        • Set LE_FilterMechanical = True
        • Set LE_FilterMagicImmune = True
        • -------- ^ Note: Structure can only be filtered on entity damage. --------
        • -------- ^ This is intentional --------
        • -------- --------
        • -------- The ability can destroy trees? --------
        • Set LE_Destroy = True
        • -------- --------
        • -------- The attack and damage type of the ability. --------
        • Set LE_AttackType = Spells
        • Set LE_DamageType = Normal
        • -------- ---------------------------------------------------------------------------------------------------------------------------------------- --------
        • -------- PORTAL DATA --------
        • -------- ---------------------------------------------------------------------------------------------------------------------------------------- --------
        • -------- Land Portal --------
        • -------- The model of the land portal. --------
        • Set LE_Model[0] = war3mapImported\Void Disc.mdx
        • Set LE_ModelString[0] = origin
        • -------- The size of the land portal. --------
        • Set LE_LandSize[1] = 1.00
        • Set LE_LandSize[2] = 1.00
        • Set LE_LandSize[3] = 1.00
        • -------- ^ Note: Mythic's Void Disc.mdx model is not scaleable for the moment. --------
        • -------- The height of the land portal. --------
        • Set LE_LandHeight[1] = 5.00
        • Set LE_LandHeight[2] = 5.00
        • Set LE_LandHeight[3] = 5.00
        • -------- Sky Portal --------
        • -------- The model of the sky portal. --------
        • Set LE_Model[1] = war3mapImported\Void Disc.mdx
        • Set LE_ModelString[1] = origin
        • -------- The size of the sky portal. --------
        • Set LE_SkySize[1] = 1.00
        • Set LE_SkySize[2] = 1.00
        • Set LE_SkySize[3] = 1.00
        • -------- ^ Note: Mythic's Void Disc.mdx model is not scaleable for the moment. --------
        • -------- The height of the sky portal. --------
        • Set LE_SkyHeight[1] = 500.00
        • Set LE_SkyHeight[2] = 500.00
        • Set LE_SkyHeight[3] = 500.00
        • -------- ---------------------------------------------------------------------------------------------------------------------------------------- --------
        • -------- ENTITY DATA --------
        • -------- ---------------------------------------------------------------------------------------------------------------------------------------- --------
        • -------- The model used for the lost entities. --------
        • Set LE_Model[2] = Abilities\Weapons\AvengerMissile\AvengerMissile.mdl
        • Set LE_ModelString[2] = origin
        • -------- --------
        • -------- The size of the entity. --------
        • Set LE_EntitySize[1] = 0.85
        • Set LE_EntitySize[2] = 0.90
        • Set LE_EntitySize[3] = 0.95
        • -------- --------
        • -------- The collision radius of the entity. --------
        • Set LE_EntityRadius[1] = 40.00
        • Set LE_EntityRadius[2] = 45.00
        • Set LE_EntityRadius[3] = 50.00
        • -------- --------
        • -------- The hit damage of the entity. --------
        • Set LE_EntityDamage[1] = 10.00
        • Set LE_EntityDamage[2] = 12.50
        • Set LE_EntityDamage[3] = 15.00
        • -------- --------
        • -------- The model used for the damaged units inflicted by LE_EntityDamage --------
        • Set LE_Model[3] = <Empty String>
        • Set LE_ModelString[3] = <Empty String>
        • -------- --------
        • -------- The creation amount of the entity. --------
        • Set LE_EntitySpawnCount[1] = 5
        • Set LE_EntitySpawnCount[2] = 5
        • Set LE_EntitySpawnCount[3] = 5
        • -------- --------
        • -------- The creation interval of the entity. --------
        • Set LE_EntitySpawnInterval[1] = 0.20
        • Set LE_EntitySpawnInterval[2] = 0.15
        • Set LE_EntitySpawnInterval[3] = 0.10
        • -------- --------
        • -------- The pitch of the entity. --------
        • Set LE_EntityPitch = 180
        • -------- --------
        • -------- The travel speed of the entity to reach the sky portal. --------
        • Set LE_EntityTravelSpeed[1] = 10.00
        • Set LE_EntityTravelSpeed[2] = 10.00
        • Set LE_EntityTravelSpeed[3] = 10.00
        • -------- --------
        • -------- The entity can lift units? --------
        • Set LE_EntityLift[1] = True
        • Set LE_EntityLift[2] = True
        • Set LE_EntityLift[3] = True
        • -------- --------
        • -------- The chance or rate of the lifting --------
        • Set LE_EntityLiftRate[1] = 10
        • Set LE_EntityLiftRate[2] = 10
        • Set LE_EntityLiftRate[3] = 10
        • -------- --------
        • -------- The lifting speed of the entity for the units. --------
        • Set LE_EntityLiftSpeed[1] = 2.50
        • Set LE_EntityLiftSpeed[2] = 5.00
        • Set LE_EntityLiftSpeed[3] = 7.50
        • -------- --------
        • -------- The extra minus height gap for the entities entering the sky portal. --------
        • Set LE_EntityEntryGap = 0.00
        • -------- --------
        • -------- The model used when the lifted units entered the sky portal. --------
        • Set LE_Model[4] = <Empty String>
        • Set LE_ModelString[4] = <Empty String>
        • -------- ---------------------------------------------------------------------------------------------------------------------------------------- --------
        • -------- LIFTED UNITS DATA --------
        • -------- ---------------------------------------------------------------------------------------------------------------------------------------- --------
        • -------- The extra minus height gap for the units entering the sky portal. --------
        • Set LE_PickedEntryGap = 25.00
        • -------- --------
        • -------- Disable the pathing for the lifted units? --------
        • Set LE_PickedPathable = True
        • -------- Make the lifted units vulnerable? --------
        • Set LE_PickedVulnerable = True
        • -------- Enable the movement for the lifted units? --------
        • Set LE_PickedMovable = True
        • -------- Make the lifted units entering the sky portal able to return on the land portal? --------
        • Set LE_PickedReturnable = False
        • -------- And take damage instead ( or not: 0.00 ) --------
        • Set LE_PickedReturnDamage[1] = 0.00
        • Set LE_PickedReturnDamage[2] = 0.00
        • Set LE_PickedReturnDamage[3] = 0.00
        • -------- --------
        • -------- The falling speed of the units when escaped the entities zone or if they didn't reached the sky portal. --------
        • Set LE_PickedFallSpeed[1] = 5.00
        • Set LE_PickedFallSpeed[2] = 5.00
        • Set LE_PickedFallSpeed[3] = 5.00
        • -------- --------
        • -------- The gravity to force on the LE_PickedFallSpeed. --------
        • Set LE_Gravity = 0.50
        • -------- --------
        • -------- The impact damage to the units that fall on the ground. --------
        • Set LE_FailLiftDamage[1] = 0.00
        • Set LE_FailLiftDamage[2] = 0.00
        • Set LE_FailLiftDamage[3] = 0.00
        • -------- --------
        • -------- The model used when the units begin to impact on the ground. --------
        • Set LE_Model[5] = Abilities\Weapons\AncientProtectorMissile\AncientProtectorMissile.mdl
        • Set LE_ModelString[5] = origin
        • -------- ---------------------------------------------------------------------------------------------------------------------------------------- --------
        • -------- CODE DATA --------
        • -------- ( BE CAREFUL TOUCHING THE LINES BELOW IF YOU HAVE NO EXPERIENCE IN ITS CODING DEFINITION ) --------
        • -------- ---------------------------------------------------------------------------------------------------------------------------------------- --------
        • Set LE_CustomLocation = (Point(0.00, 0.00))
        • -------- PRELOAD OBJECTS --------
        • Custom script: set udg_LE_Unit = CreateUnit(Player(15), udg_LE_DummyType, 0, 0, 0)
        • Custom script: if UnitAddAbility(udg_LE_Unit, udg_LE_Ability) and UnitRemoveAbility(udg_LE_Unit, udg_LE_Ability) then
        • Custom script: endif
        • Custom script: call SetUnitY(udg_LE_Unit, GetRectMaxY( bj_mapInitialPlayableArea )+1000)
        • Set LE_CustomInteger = 0
        • For each (Integer LE_CustomInteger) from 0 to 5, do (Actions)
          • Loop - Actions
            • Custom script: call DestroyEffect(AddSpecialEffect(udg_LE_Model[udg_LE_CustomInteger], GetUnitX(udg_LE_Unit), GetUnitY(udg_LE_Unit)))
        • Custom script: call RemoveUnit(udg_LE_Unit)
        • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          • If - Conditions
            • LE_Destroy Equal to True
          • Then - Actions
            • Custom script: set udg_LE_DestructibleChecker = CreateUnit(Player(15), udg_LE_DummyType, 0, 0, 0)
            • Custom script: call UnitAddAbility( udg_LE_DestructibleChecker,'Ahar' )
          • Else - Actions
        • -------- ---------------------------------------------------------------------------------------------------------------------------------------- --------
        • -------- DON'T TOUCH THESE. ( If this line malfunctions you can touch it to correct the needed parameters or values. ) --------
        • -------- ---------------------------------------------------------------------------------------------------------------------------------------- --------
        • Custom script: call TriggerRegisterTimerEventPeriodic(udg_LE_Periodic, udg_LE_PeriodicInterval)
        • -------- CALCULATIONS --------
        • For each (Integer LE_CustomInteger) from 1 to LE_MaxLevel, do (Actions)
          • Loop - Actions
            • Set LE_RealMin[LE_CustomInteger] = (LE_Radius[LE_CustomInteger] / 5.00)
            • Set LE_RealEntityHeight[LE_CustomInteger] = (LE_SkyHeight[LE_CustomInteger] - LE_EntityEntryGap)
            • Set LE_RealMax[LE_CustomInteger] = (LE_Radius[LE_CustomInteger] x 0.70)
            • Set LE_RealPickedHeight[LE_CustomInteger] = (LE_SkyHeight[LE_CustomInteger] - LE_PickedEntryGap)
        • -------- ---------------------------------------------------------------------------------------------------------------------------------------- --------
        • -------- END OF SPELL CONFIGURATION FIELD --------
        • -------- ---------------------------------------------------------------------------------------------------------------------------------------- --------

    • Lost Entities Execution
      • Events
        • Unit - A unit Starts the effect of an ability
      • Conditions
        • (Ability being cast) Equal to LE_Ability
      • Actions
        • -------- ---------------------------------------------------------------------------------------------------------------------------------------- --------
        • -------- declaration of locals --------
        • Custom script: local real x = GetSpellTargetX( )
        • Custom script: local real y = GetSpellTargetY( )
        • Custom script: local real ang
        • -------- - --------
        • Set LE_Caster[0] = (Triggering unit)
        • Set LE_CasterPlayer[0] = (Owner of LE_Caster[0])
        • Set LE_Level[0] = (Level of LE_Ability for LE_Caster[0])
        • Custom script: set ang = Atan2( y - GetUnitY(udg_LE_Caster[0]) , x - GetUnitX(udg_LE_Caster[0]) ) * bj_RADTODEG
        • -------- - --------
        • Custom script: set udg_LE_Unit = CreateUnit(udg_LE_CasterPlayer[0], udg_LE_DummyType, x, y, ang)
        • Custom script: set udg_LE_CustomID = GetUnitUserData(udg_LE_Unit)
        • Custom script: call SetUnitX(udg_LE_Unit, x)
        • Custom script: call SetUnitY(udg_LE_Unit, y)
        • Custom script: if UnitAddAbility(udg_LE_Unit, 'Amrf') and UnitRemoveAbility(udg_LE_Unit, 'Amrf') then
        • Custom script: endif
        • Custom script: call SetUnitFlyHeight(udg_LE_Unit, udg_LE_LandHeight[udg_LE_Level[0]], 0)
        • Custom script: call SetUnitScale(udg_LE_Unit, udg_LE_LandSize[udg_LE_Level[0]], 0, 0)
        • Custom script: set udg_LE_LandModelHandler[udg_LE_CustomID] = AddSpecialEffectTarget(udg_LE_Model[0], udg_LE_Unit, udg_LE_ModelString[0])
        • -------- - --------
        • Custom script: set udg_LE_PortalUnit[udg_LE_CustomID] = CreateUnit(udg_LE_CasterPlayer[0], udg_LE_DummyType, x, y, ang)
        • Custom script: call SetUnitX(udg_LE_PortalUnit[udg_LE_CustomID], x)
        • Custom script: call SetUnitY(udg_LE_PortalUnit[udg_LE_CustomID], y)
        • Custom script: if UnitAddAbility(udg_LE_PortalUnit[udg_LE_CustomID], 'Amrf') and UnitRemoveAbility(udg_LE_PortalUnit[udg_LE_CustomID], 'Amrf') then
        • Custom script: endif
        • Custom script: call SetUnitFlyHeight(udg_LE_PortalUnit[udg_LE_CustomID], udg_LE_SkyHeight[udg_LE_Level[0]], 0)
        • Custom script: call SetUnitScale(udg_LE_PortalUnit[udg_LE_CustomID], udg_LE_SkySize[udg_LE_Level[0]], 0, 0)
        • Custom script: set udg_LE_SkyModelHandler[udg_LE_CustomID] = AddSpecialEffectTarget(udg_LE_Model[1], udg_LE_PortalUnit[udg_LE_CustomID], udg_LE_ModelString[1])
        • -------- - --------
        • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          • If - Conditions
            • LE_Destroy Equal to True
          • Then - Actions
            • Custom script: call MoveLocation(udg_LE_CustomLocation, GetUnitX(udg_LE_Unit), GetUnitY(udg_LE_Unit))
            • Destructible - Pick every destructible within LE_Radius[LE_Level[0]] of LE_CustomLocation and do (Actions)
              • Loop - Actions
                • Set LE_Destructible = (Picked destructible)
                • Unit - Order LE_DestructibleChecker to Harvest LE_Destructible
                • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                  • If - Conditions
                    • (Current order of LE_DestructibleChecker) Equal to (Order(harvest))
                  • Then - Actions
                    • Destructible - Kill LE_Destructible
                  • Else - Actions
                • Unit - Order LE_DestructibleChecker to Stop
          • Else - Actions
        • -------- - --------
        • Set LE_Stage[LE_CustomID] = 1
        • Set LE_Caster[LE_CustomID] = LE_Caster[0]
        • Set LE_CasterPlayer[LE_CustomID] = LE_CasterPlayer[0]
        • Set LE_Level[LE_CustomID] = LE_Level[0]
        • Set LE_ActivationCounter[LE_CustomID] = 0.00
        • Set LE_EntitySpawnCounter[LE_CustomID] = 0.00
        • Set LE_DurationCounter[LE_CustomID] = 0.00
        • -------- - --------
        • Set LE_Instance = (LE_Instance + 1)
        • Unit Group - Add LE_Unit to LE_Group
        • -------- - --------
        • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          • If - Conditions
            • LE_Instance Equal to 1
          • Then - Actions
            • Trigger - Turn on LE_Periodic
          • Else - Actions
        • -------- ---------------------------------------------------------------------------------------------------------------------------------------- --------

    • Lost Entities Periodic
      • Events
      • Conditions
      • Actions
        • Unit Group - Pick every unit in LE_Group and do (Actions)
          • Loop - Actions
            • -------- ---------------------------------------------------------------------------------------------------------------------------------------- --------
            • -------- declaration of locals --------
            • Custom script: local real x
            • Custom script: local real x2
            • Custom script: local real y
            • Custom script: local real y2
            • -------- - --------
            • Set LE_Unit = (Picked unit)
            • Custom script: set udg_LE_ID = GetUnitUserData(udg_LE_Unit)
            • Custom script: set x = GetUnitX(udg_LE_Unit)
            • Custom script: set y = GetUnitY(udg_LE_Unit)
            • -------- - --------
            • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
              • If - Conditions
                • LE_Stage[LE_ID] Equal to 1
              • Then - Actions
                • -------- - --------
                • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                  • If - Conditions
                    • LE_ActivationCounter[LE_ID] Less than or equal to LE_ActivationDelay[LE_Level[LE_ID]]
                  • Then - Actions
                    • Set LE_ActivationCounter[LE_ID] = (LE_ActivationCounter[LE_ID] + LE_PeriodicInterval)
                  • Else - Actions
                    • -------- - --------
                    • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                      • If - Conditions
                        • LE_DurationCounter[LE_ID] Less than or equal to LE_Duration[LE_Level[LE_ID]]
                      • Then - Actions
                        • -------- - --------
                        • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                          • If - Conditions
                            • LE_EntitySpawnCounter[LE_ID] Less than or equal to LE_EntitySpawnInterval[LE_Level[LE_ID]]
                          • Then - Actions
                            • Set LE_EntitySpawnCounter[LE_ID] = (LE_EntitySpawnCounter[LE_ID] + LE_PeriodicInterval)
                          • Else - Actions
                            • -------- - --------
                            • For each (Integer LE_CustomInteger) from 1 to LE_EntitySpawnCount[LE_Level[LE_ID]], do (Actions)
                              • Loop - Actions
                                • -------- - --------
                                • Custom script: set x2 = x+GetRandomReal(udg_LE_RealMin[udg_LE_Level[udg_LE_ID]],udg_LE_RealMax[udg_LE_Level[udg_LE_ID]]) * Cos(GetRandomReal(-bj_PI,bj_PI))
                                • Custom script: set y2 = y+GetRandomReal(udg_LE_RealMin[udg_LE_Level[udg_LE_ID]],udg_LE_RealMax[udg_LE_Level[udg_LE_ID]]) * Sin (GetRandomReal(-bj_PI,bj_PI))
                                • Custom script: set udg_LE_PortalUnit[0] = CreateUnit( udg_LE_CasterPlayer[udg_LE_ID], udg_LE_DummyType, x2, y2, GetRandomReal(0,360) )
                                • Custom script: set udg_LE_CustomID = GetUnitUserData(udg_LE_PortalUnit[0])
                                • Custom script: call SetUnitX(udg_LE_PortalUnit[0], x2)
                                • Custom script: call SetUnitY(udg_LE_PortalUnit[0], y2)
                                • Custom script: if UnitAddAbility(udg_LE_PortalUnit[0], 'Amrf') and UnitRemoveAbility(udg_LE_PortalUnit[0], 'Amrf') then
                                • Custom script: endif
                                • Custom script: call SetUnitFlyHeight(udg_LE_PortalUnit[0], GetUnitFlyHeight(udg_LE_Unit), 0)
                                • Custom script: call SetUnitScale(udg_LE_PortalUnit[0], udg_LE_EntitySize[udg_LE_Level[0]], 0, 0)
                                • Custom script: call SetUnitAnimationByIndex(udg_LE_PortalUnit[0], udg_LE_EntityPitch)
                                • Custom script: set udg_LE_EntityModelHandler[udg_LE_CustomID] = AddSpecialEffectTarget(udg_LE_Model[2], udg_LE_PortalUnit[0], udg_LE_ModelString[2])
                                • -------- - --------
                                • Set LE_PortalUnit[LE_CustomID] = LE_Unit
                                • Set LE_Stage[LE_CustomID] = 2
                                • Set LE_Level[LE_CustomID] = LE_Level[LE_ID]
                                • Set LE_EntityHeight[LE_CustomID] = (Current flying height of LE_PortalUnit[0])
                                • Set LE_Instance = (LE_Instance + 1)
                                • Unit Group - Add LE_PortalUnit[0] to LE_Group
                                • -------- - --------
                                • Custom script: call GroupEnumUnitsInRange(bj_lastCreatedGroup, x2, y2, udg_LE_EntityRadius[udg_LE_Level[udg_LE_ID]], null)
                                • Custom script: loop
                                • Custom script: set udg_LE_PickedUnit = FirstOfGroup(bj_lastCreatedGroup)
                                • Custom script: exitwhen udg_LE_PickedUnit == null
                                • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                  • If - Conditions
                                    • (LE_PickedUnit is dead) Equal to False
                                    • Or - Any (Conditions) are true
                                      • Conditions
                                        • (LE_PickedUnit is A Hero) Equal to False
                                        • LE_FilterHero Equal to True
                                    • Or - Any (Conditions) are true
                                      • Conditions
                                        • (LE_PickedUnit is A flying unit) Equal to False
                                        • LE_FilterFlying Equal to True
                                    • Or - Any (Conditions) are true
                                      • Conditions
                                        • (LE_PickedUnit is A ground unit) Equal to False
                                        • LE_FilterGround Equal to True
                                    • Or - Any (Conditions) are true
                                      • Conditions
                                        • (LE_PickedUnit is A structure) Equal to False
                                        • LE_FilterStructure Equal to True
                                    • Or - Any (Conditions) are true
                                      • Conditions
                                        • (LE_PickedUnit is Mechanical) Equal to False
                                        • LE_FilterMechanical Equal to True
                                    • Or - Any (Conditions) are true
                                      • Conditions
                                        • (LE_PickedUnit is Magic Immune) Equal to False
                                        • LE_FilterMagicImmune Equal to True
                                    • (LE_PickedUnit belongs to an enemy of LE_CasterPlayer[LE_ID]) Equal to True
                                  • Then - Actions
                                    • -------- - --------
                                    • Custom script: call DestroyEffect(AddSpecialEffectTarget(udg_LE_Model[3],udg_LE_PickedUnit,udg_LE_ModelString[3]))
                                    • Unit - Cause LE_Caster[LE_ID] to damage LE_PickedUnit, dealing LE_EntityDamage[LE_Level[LE_ID]] damage of attack type LE_AttackType and damage type LE_DamageType
                                    • -------- - --------
                                    • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                      • If - Conditions
                                        • LE_EntityLift[LE_Level[LE_ID]] Equal to True
                                        • (Random integer number between 1 and 100) Less than or equal to LE_EntityLiftRate[LE_Level[LE_ID]]
                                        • (LE_PickedUnit is A structure) Equal to False
                                        • (LE_PickedUnit is in LE_Group) Equal to False
                                      • Then - Actions
                                        • -------- - --------
                                        • Custom script: set udg_LE_CustomID = GetUnitUserData(udg_LE_PickedUnit)
                                        • Custom script: set udg_LE_EntityModelHandler[udg_LE_CustomID] = AddSpecialEffectTarget(udg_LE_Model[2], udg_LE_PickedUnit, udg_LE_ModelString[2])
                                        • Custom script: set udg_LE_X[udg_LE_CustomID] = x
                                        • Custom script: set udg_LE_Y[udg_LE_CustomID] = y
                                        • Custom script: if UnitAddAbility(udg_LE_PickedUnit, 'Amrf') and UnitRemoveAbility(udg_LE_PickedUnit, 'Amrf') then
                                        • Custom script: endif
                                        • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                          • If - Conditions
                                            • LE_PickedPathable Equal to True
                                          • Then - Actions
                                            • Custom script: call SetUnitPathing(udg_LE_PickedUnit, false)
                                          • Else - Actions
                                        • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                          • If - Conditions
                                            • LE_PickedVulnerable Equal to False
                                          • Then - Actions
                                            • Unit - Make LE_PickedUnit Invulnerable
                                          • Else - Actions
                                        • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                          • If - Conditions
                                            • LE_PickedMovable Equal to False
                                          • Then - Actions
                                            • Custom script: set udg_LE_Window[udg_LE_CustomID] = GetUnitPropWindow(udg_LE_PickedUnit)
                                            • Custom script: call SetUnitPropWindow(udg_LE_PickedUnit, 0)
                                          • Else - Actions
                                        • Set LE_PickedHeight[LE_CustomID] = (Current flying height of LE_PickedUnit)
                                        • Set LE_Stage[LE_CustomID] = 3
                                        • Set LE_FailLift[LE_CustomID] = False
                                        • Set LE_GravityCounter[LE_CustomID] = LE_Gravity
                                        • Set LE_Caster[LE_CustomID] = LE_Caster[LE_ID]
                                        • Set LE_CasterPlayer[LE_CustomID] = LE_CasterPlayer[LE_ID]
                                        • Set LE_Level[LE_CustomID] = LE_Level[LE_ID]
                                        • Set LE_PortalUnit[LE_CustomID] = LE_PortalUnit[LE_ID]
                                        • Set LE_Instance = (LE_Instance + 1)
                                        • Unit Group - Add LE_PickedUnit to LE_Group
                                        • -------- - --------
                                      • Else - Actions
                                    • -------- - --------
                                  • Else - Actions
                                • Custom script: call GroupRemoveUnit(bj_lastCreatedGroup, udg_LE_PickedUnit)
                                • Custom script: endloop
                            • -------- - --------
                            • Set LE_EntitySpawnCounter[LE_ID] = 0.00
                        • Set LE_DurationCounter[LE_ID] = (LE_DurationCounter[LE_ID] + LE_PeriodicInterval)
                      • Else - Actions
                        • Special Effect - Destroy LE_LandModelHandler[LE_ID]
                        • Unit - Kill LE_Unit
                        • Special Effect - Destroy LE_SkyModelHandler[LE_ID]
                        • Unit - Kill LE_PortalUnit[LE_ID]
                        • Set LE_Instance = (LE_Instance - 1)
                        • Unit Group - Remove LE_Unit from LE_Group
                        • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                          • If - Conditions
                            • LE_Instance Equal to 0
                          • Then - Actions
                            • Custom script: call DisableTrigger(udg_LE_Periodic)
                          • Else - Actions
                • -------- - --------
              • Else - Actions
                • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                  • If - Conditions
                    • LE_Stage[LE_ID] Equal to 2
                  • Then - Actions
                    • -------- - --------
                    • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                      • If - Conditions
                        • Or - Any (Conditions) are true
                          • Conditions
                            • (LE_PortalUnit[LE_ID] is dead) Equal to True
                            • LE_EntityHeight[LE_ID] Greater than or equal to LE_RealEntityHeight[LE_Level[LE_ID]]
                      • Then - Actions
                        • Special Effect - Destroy LE_EntityModelHandler[LE_ID]
                        • Unit - Hide LE_Unit
                        • Unit - Kill LE_Unit
                        • Set LE_Instance = (LE_Instance - 1)
                        • Unit Group - Remove LE_Unit from LE_Group
                        • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                          • If - Conditions
                            • LE_Instance Equal to 0
                          • Then - Actions
                            • Custom script: call DisableTrigger(udg_LE_Periodic)
                          • Else - Actions
                      • Else - Actions
                        • Set LE_EntityHeight[LE_ID] = (LE_EntityHeight[LE_ID] + LE_EntityTravelSpeed[LE_Level[LE_ID]])
                        • Custom script: call SetUnitFlyHeight(udg_LE_Unit, udg_LE_EntityHeight[udg_LE_ID], 0)
                    • -------- - --------
                  • Else - Actions
                    • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                      • If - Conditions
                        • LE_Stage[LE_ID] Equal to 3
                      • Then - Actions
                        • -------- - --------
                        • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                          • If - Conditions
                            • LE_PickedHeight[LE_ID] Greater than or equal to LE_RealPickedHeight[LE_Level[LE_ID]]
                          • Then - Actions
                            • Custom script: if udg_LE_Model[4] != "" then
                            • Custom script: set udg_LE_PickedUnit = CreateUnit(udg_LE_CasterPlayer[udg_LE_ID], udg_LE_DummyType, x, y, 0)
                            • Custom script: if UnitAddAbility(udg_LE_PickedUnit, 'Amrf') and UnitRemoveAbility(udg_LE_PickedUnit, 'Amrf') then
                            • Custom script: endif
                            • Custom script: call SetUnitFlyHeight(udg_LE_PickedUnit, GetUnitFlyHeight(udg_LE_Unit), 0)
                            • Custom script: call DestroyEffect(AddSpecialEffectTarget(udg_LE_Model[4],udg_LE_PickedUnit,udg_LE_ModelString[4]))
                            • Unit - Kill LE_PickedUnit
                            • Custom script: endif
                            • Special Effect - Destroy LE_EntityModelHandler[LE_ID]
                            • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                              • If - Conditions
                                • LE_PickedPathable Equal to True
                              • Then - Actions
                                • Custom script: call SetUnitPathing(udg_LE_Unit, true)
                              • Else - Actions
                            • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                              • If - Conditions
                                • LE_PickedMovable Equal to False
                              • Then - Actions
                                • Custom script: call SetUnitPropWindow(udg_LE_Unit, udg_LE_Window[udg_LE_ID] * bj_RADTODEG)
                              • Else - Actions
                            • Custom script: call SetUnitFlyHeight(udg_LE_Unit, GetUnitDefaultFlyHeight(udg_LE_Unit), 0)
                            • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                              • If - Conditions
                                • LE_PickedVulnerable Equal to False
                              • Then - Actions
                                • Unit - Make LE_Unit Vulnerable
                              • Else - Actions
                            • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                              • If - Conditions
                                • LE_PickedReturnable Equal to True
                              • Then - Actions
                                • Unit - Cause LE_Caster[LE_ID] to damage LE_Unit, dealing LE_PickedReturnDamage[LE_Level[LE_ID]] damage of attack type LE_AttackType and damage type LE_DamageType
                              • Else - Actions
                                • Unit - Cause LE_Caster[LE_ID] to damage LE_Unit, dealing 1000000.00 damage of attack type LE_AttackType and damage type LE_DamageType
                                • Unit - Hide LE_Unit
                                • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                  • If - Conditions
                                    • (LE_Unit is dead) Equal to False
                                  • Then - Actions
                                    • Unit - Unhide LE_Unit
                                  • Else - Actions
                            • Set LE_Instance = (LE_Instance - 1)
                            • Unit Group - Remove LE_Unit from LE_Group
                            • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                              • If - Conditions
                                • LE_Instance Equal to 0
                              • Then - Actions
                                • Custom script: call DisableTrigger(udg_LE_Periodic)
                              • Else - Actions
                            • -------- - --------
                          • Else - Actions
                            • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                              • If - Conditions
                                • LE_FailLift[LE_ID] Equal to False
                              • Then - Actions
                                • Custom script: if IsUnitInRangeXY(udg_LE_Unit,udg_LE_X[udg_LE_ID],udg_LE_Y[udg_LE_ID],udg_LE_RealMax[udg_LE_Level[udg_LE_ID]]) and not IsUnitType(udg_LE_PortalUnit[udg_LE_ID], UNIT_TYPE_DEAD) then
                                • Set LE_PickedHeight[LE_ID] = (LE_PickedHeight[LE_ID] + LE_EntityLiftSpeed[LE_Level[LE_ID]])
                                • Custom script: call SetUnitFlyHeight(udg_LE_Unit, udg_LE_PickedHeight[udg_LE_ID], 0)
                                • Custom script: else
                                • Special Effect - Destroy LE_EntityModelHandler[LE_ID]
                                • Set LE_FailLift[LE_ID] = True
                                • Custom script: endif
                              • Else - Actions
                                • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                  • If - Conditions
                                    • LE_PickedHeight[LE_ID] Less than or equal to (Default flying height of LE_Unit)
                                  • Then - Actions
                                    • Custom script: call DestroyEffect(AddSpecialEffectTarget(udg_LE_Model[5],udg_LE_Unit,udg_LE_ModelString[5]))
                                    • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                      • If - Conditions
                                        • LE_PickedPathable Equal to True
                                      • Then - Actions
                                        • Custom script: call SetUnitPathing(udg_LE_Unit, true)
                                      • Else - Actions
                                    • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                      • If - Conditions
                                        • LE_PickedMovable Equal to False
                                      • Then - Actions
                                        • Custom script: call SetUnitPropWindow(udg_LE_Unit, udg_LE_Window[udg_LE_ID] * bj_RADTODEG)
                                      • Else - Actions
                                    • Custom script: call SetUnitFlyHeight(udg_LE_Unit, GetUnitDefaultFlyHeight(udg_LE_Unit), 0)
                                    • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                      • If - Conditions
                                        • LE_PickedVulnerable Equal to False
                                      • Then - Actions
                                        • Unit - Make LE_Unit Vulnerable
                                      • Else - Actions
                                    • Unit - Cause LE_Caster[LE_ID] to damage LE_Unit, dealing LE_FailLiftDamage[LE_Level[LE_ID]] damage of attack type LE_AttackType and damage type LE_DamageType
                                    • Set LE_Instance = (LE_Instance - 1)
                                    • Unit Group - Remove LE_Unit from LE_Group
                                    • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                      • If - Conditions
                                        • LE_Instance Equal to 0
                                      • Then - Actions
                                        • Custom script: call DisableTrigger(udg_LE_Periodic)
                                      • Else - Actions
                                    • -------- - --------
                                  • Else - Actions
                                    • Set LE_GravityCounter[LE_ID] = (LE_GravityCounter[LE_ID] + LE_Gravity)
                                    • Set LE_PickedHeight[LE_ID] = ((LE_PickedHeight[LE_ID] - LE_PickedFallSpeed[LE_Level[LE_ID]]) - LE_GravityCounter[LE_ID])
                                    • Custom script: call SetUnitFlyHeight(udg_LE_Unit, udg_LE_PickedHeight[udg_LE_ID], 0)
                        • -------- - --------
                      • Else - Actions
            • -------- ---------------------------------------------------------------------------------------------------------------------------------------- --------

Contents

Lost Entities v1.0.0 - GUI (Map)

  1. Devalut

    Devalut

    Joined:
    Feb 9, 2009
    Messages:
    1,238
    Resources:
    2
    Spells:
    2
    Resources:
    2
  2. Norris

    Norris

    Joined:
    Mar 1, 2020
    Messages:
    22
    Resources:
    0
    Resources:
    0
    mythic model. Good choice :thumbs_up:. But configuration is a wall of text :mwahaha:
     
  3. JAKEZINC

    JAKEZINC

    Joined:
    Aug 13, 2013
    Messages:
    1,530
    Resources:
    9
    Spells:
    9
    Resources:
    9
    Yes, another model of him that I would like to give a showcase. In fact, these choices of high quality special effects can also fit to Reforged. :)

    I also make my submissions to be compatible on older patches.
    (The reason why I don't use the new natives)
    So there should be no problem using this on 1.26+ versions.

    For the documentations of my configurations that are always rich, it is beneficial to do so (for the newcomers)

    If there's any problems regarding that, just let me know. Thanks!
     
  4. hemmedo

    hemmedo

    Joined:
    Jun 13, 2008
    Messages:
    316
    Resources:
    0
    Resources:
    0
    I think everyone should use Mythic's special effects in their spells. They are just plain amazing.
     
  5. Ricardo_Gavarni

    Ricardo_Gavarni

    Joined:
    May 2, 2020
    Messages:
    14
    Resources:
    0
    Resources:
    0
    This is absolutely awesome. The tooltip is confusing about what exactly is happening here, but the Demo explains mechanics and perfectly conveys the flavor (with the Dark World, Lost Entities, and everything).

    I am a fan of everything related to the void / voidwalkers and I'm somewhat tempted to remake the Demo section to make it more cinematic (I think I can "remix" some of WoW dialogue lines to fit the plot).