Spellpack Sho Minamimoto, The Math addict

Magoiche

Member
Reaction score
20
Sho Minamimoto
shoip9.jpg

V1.2​

Changelog:
V1.0
-First Version

V1.1
-Removed minor leaks
-Zetta Slow is now a Turn On/Off spell

V1.2
-Fixed the Sine Cooldown bug


GUI/JASS: GUI
Systems: None
Import difficulty: Easy-Medium
Leakless?: I think so
MUI: Sadly no.
Tools Used: New Gen Pack 1.5a


1. Sine - Active

Description: Sho cast a wheel of infinite digits that damages the enemys inside the area using a infinite of strange math formulas!

Screenshot:
imagemls1.png


Triggers:
Code:
S Settings
    Events
        Unit - A unit Begins casting an ability
    Conditions
        (Ability being cast) Equal to (==) Sine 
    Actions
        -------- Don't Change --------
        Set S_Caster = (Triggering unit)
        Set S_CasterOwner = (Owner of (Triggering unit))
        Set S_CasterPosition = (Position of S_Caster)
        Set S_DummyCasterDistance = (Distance between S_CasterPosition and (Position of (Random unit from S_WheelGroup)))
        Set S_ProjectileDistance = 150.00
        -------- Change --------
        Set S_DamageBase = 10.00
        Set S_DamageSineMultiplier = 10.00
        Set S_DamageSine = ((Abs((Sin((Random angle))))) x (Real((Level of Sine  for S_Caster))))
        Set S_Range = 1000.00
        Set S_NumberOfProjectiles = 6
        Set S_AngleMultiplier = 60.00
        Set S_Speed = 5.00
        Set S_DamageFormula = ((S_DamageBase x (Random real number between -0.01 and 5.00)) + (S_DamageSineMultiplier x S_DamageSine))
        Trigger - Run S Projectile Creation <gen> (ignoring conditions)
Code:
S Projectile Creation
    Events
    Conditions
    Actions
        Unit - Order S_Caster to Stop
        Unit - Remove S_DummyCaster from the game
        Unit - Create 1 Math Projectile for S_CasterOwner at S_CasterPosition facing 270.00 degrees
        Set S_DummyCaster = (Last created unit)
        Set S_DummyCasterPosition = (Position of S_DummyCaster)
        Unit Group - Pick every unit in S_WheelGroup and do (Actions)
            Loop - Actions
                Unit - Remove (Picked unit) from the game
         Do Multiple ActionsFor each (Integer S_Loop) from 1 to S_NumberOfProjectiles, do (Actions)
            Loop - Actions
                Set S_WheelPoint = (S_CasterPosition offset by S_ProjectileDistance towards ((Real(S_Loop)) x S_AngleMultiplier) degrees)
                Unit - Create 1 Math Projectile for S_CasterOwner at S_WheelPoint facing Default building facing (270.0) degrees
                Unit Group - Add (Last created unit) to S_WheelGroup
                Unit - Set the custom value of (Last created unit) to (S_Loop x (Integer(S_AngleMultiplier)))
                Custom script:   call RemoveLocation (udg_S_WheelPoint)
                Custom script:   set udg_S_WheelPoint = null
                Set S_ProjectileDistance = 150.00
        Set S_Grow = True
        Trigger - Turn on S Calculation <gen>
        Trigger - Turn on S Effects <gen>
        Trigger - Turn on S Damage <gen>
Code:
S Damage
    Events
        Time - Every 0.90 seconds of game time
    Conditions
    Actions
        Game - Display to (All players) the text: (String(S_DamageFormula))
        Unit Group - Pick every unit in (Units within (S_DummyCasterDistance + 20.00) of S_DummyCasterPosition matching (((Matching unit) belongs to an enemy of S_CasterOwner) Equal to (==) True)) and do (Actions)
            Loop - Actions
                Unit - Cause S_DummyCaster to damage (Picked unit), dealing S_DamageFormula damage of attack type Spells and damage type Normal
Code:
S Calculation
    Events
        Time - Every 0.90 seconds of game time
    Conditions
    Actions
        Set S_DamageFormula = ((S_DamageBase x (Random real number between 0.00 and 5.00)) + (S_DamageSineMultiplier x S_DamageSine))
Code:
S Effects
    Events
        Time - Every 0.05 seconds of game time
    Conditions
    Actions
        Set S_WheelAngle = (S_WheelAngle + S_Speed)
        Set S_DummyCasterDistance = (Distance between S_DummyCasterPosition and (Position of (Random unit from S_WheelGroup)))
         Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
            If - Conditions
                S_ProjectileDistance Greater than or equal to (>=) S_Range
            Then - Actions
                Set S_Grow = False
            Else - Actions
                Set S_Grow = True
        Set S_WheelAngle = (S_WheelAngle + S_Speed)
        Set S_DummyCasterDistance = (Distance between S_DummyCasterPosition and (Position of (Random unit from S_WheelGroup)))
         Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
            If - Conditions
                S_Grow Equal to (==) True
            Then - Actions
                Set S_ProjectileDistance = (S_ProjectileDistance + S_Speed)
                Set S_DummyCasterDistance = (Distance between S_DummyCasterPosition and (Position of (Random unit from S_WheelGroup)))
            Else - Actions
                Unit Group - Pick every unit in S_WheelGroup and do (Actions)
                    Loop - Actions
                        Unit - Explode (Picked unit)
                Set S_WheelAngle = 0.00
                Unit - Explode S_DummyCaster
                Trigger - Turn off (This trigger)
                Trigger - Turn off S Damage <gen>
                Trigger - Turn off S Calculation <gen>
        Unit Group - Pick every unit in S_WheelGroup and do (Actions)
            Loop - Actions
                Set S_WheelPoint = (S_DummyCasterPosition offset by S_ProjectileDistance towards ((Real((Custom value of (Picked unit)))) + S_WheelAngle) degrees)
                Unit - Move (Picked unit) instantly to S_WheelPoint
                Unit - Make (Picked unit) face C_CasterPosition over 0.00 seconds
                Custom script:   call RemoveLocation (udg_S_WheelPoint)
                Custom script:   set udg_S_WheelPoint = null

2. Cosine - Active

Description: Sho calls the most fearsome math formulas to strike his hectopascals enemies.

Screenshot:
imagem2hk6.png


Triggers:
Code:
C Settings
    Events
        Unit - A unit Begins casting an ability
    Conditions
        (Ability being cast) Equal to (==) Cosine 
    Actions
        -------- Don't Change --------
        Set C_Caster = (Triggering unit)
        Set C_CasterFacingAngle = (Facing of C_Caster)
        Set C_CasterOwner = (Owner of C_Caster)
        Set C_CasterPosition = (Position of C_Caster)
        Set C_MovePoint = (C_CasterPosition offset by 300.00 towards C_CasterFacingAngle degrees)
        Set C_ProjectileDistance = 150.00
        -------- Change --------
        Set S_DamageBase = 10.00
        Set C_DamageBaseMultiplier = (Random real number between 2.00 and 5.00)
        Set C_DamageCosineMultiplier = (Random real number between 3.00 and 5.00)
        Set C_DamageLevelMultiplier = (Random real number between 10.00 and 20.00)
        Set C_DamageCosine = (((Abs((Cos((Random angle))))) x (Random real number between 2.00 and 3.00)) + (C_DamageLevelMultiplier x (Real((Level of Cosine  for C_Caster)))))
        Set C_Range = 500.00
        Set C_DamageRange = 170.00
        Set C_NumberOfProjectiles = 6
        Set C_AngleMultiplier = 60.00
        Set C_DamageFormula = ((C_DamageBase x C_DamageBaseMultiplier) + (C_DamageCosine x C_DamageCosineMultiplier))
        Trigger - Run C Projectile Creation <gen> (ignoring conditions)
Code:
C Projectile Creation
    Events
    Conditions
    Actions
        Unit Group - Pick every unit in C_WheelGroup and do (Actions)
            Loop - Actions
                Unit - Remove (Picked unit) from the game
         Do Multiple ActionsFor each (Integer C_Loop) from 1 to C_NumberOfProjectiles, do (Actions)
            Loop - Actions
                Set C_WheelPoint = (C_MovePoint offset by C_ProjectileDistance towards ((Real(C_Loop)) x C_AngleMultiplier) degrees)
                Unit - Create 1 Math Projectile (Cosine) for C_CasterOwner at C_WheelPoint facing Default building facing (270.0) degrees
                Unit - Add a 2.00 second Generic expiration timer to (Last created unit)
                Unit Group - Add (Last created unit) to C_WheelGroup
                Unit - Set the custom value of (Last created unit) to (C_Loop x (Integer(C_AngleMultiplier)))
                Custom script:   call RemoveLocation (udg_C_WheelPoint)
                Custom script:   set udg_C_WheelPoint = null
                Set C_ProjectileDistance = 150.00
        Trigger - Run C Effects <gen> (ignoring conditions)
Code:
C Effects
    Events
    Conditions
    Actions
        Unit Group - Pick every unit in C_WheelGroup and do (Actions)
            Loop - Actions
                Animation - Change (Picked unit) flying height to 0.00 at 2500.00
        Wait 0.57 game-time seconds
        Unit Group - Pick every unit in C_WheelGroup and do (Actions)
            Loop - Actions
                Unit - Explode (Picked unit)
        Unit - Create 1 Dummy Unit for C_CasterOwner at C_MovePoint facing 0.00 degrees
        Set C_DummyCaster = (Last created unit)
        Set C_DummyPosition = (Position of (Last created unit))
        Unit Group - Pick every unit in (Units within C_Range of C_DummyPosition matching (((Picked unit) belongs to an enemy of C_CasterOwner) Equal to (==) True)) and do (Actions)
            Loop - Actions
                Unit - Cause C_DummyCaster to damage (Picked unit), dealing C_DamageFormula damage of attack type Spells and damage type Normal
        Unit - Remove C_DummyCaster from the game
        Custom script:   call RemoveLocation (udg_C_DummyPosition)
        Game - Display to (All players) the text: (String(C_DamageFormula))

3. Tangent - Active

Description: Sho make waves of pure math power to take down the most fearsome math experts!

Screenshot:
imagem3fh8.png


Triggers:
Code:
T Settings
    Events
        Unit - A unit Begins casting an ability
    Conditions
        (Ability being cast) Equal to (==) Tangent 
    Actions
        -------- Don't Change --------
        Set T_Range = 0.00
        Set T_Caster = (Triggering unit)
        Set T_CasterOwner = (Owner of (Triggering unit))
        Set T_CasterPosition = (Position of (Triggering unit))
        Set T_CasterFacingAngle = (Facing of (Triggering unit))
        Set T_DummyDistance = -100.00
        Set T_DummyPosition[0] = (T_CasterPosition offset by T_DummyDistance towards (T_CasterFacingAngle + 60.00) degrees)
        Set T_DummyPosition[1] = (T_CasterPosition offset by T_DummyDistance towards (T_CasterFacingAngle + 40.00) degrees)
        Set T_DummyPosition[2] = (T_CasterPosition offset by T_DummyDistance towards (T_CasterFacingAngle + 20.00) degrees)
        Set T_DummyPosition[3] = (T_CasterPosition offset by T_DummyDistance towards T_CasterFacingAngle degrees)
        Set T_DummyPosition[4] = (T_CasterPosition offset by T_DummyDistance towards (T_CasterFacingAngle - 20.00) degrees)
        Set T_DummyPosition[5] = (T_CasterPosition offset by T_DummyDistance towards (T_CasterFacingAngle - 40.00) degrees)
        Set T_DummyPosition[6] = (T_CasterPosition offset by T_DummyDistance towards (T_CasterFacingAngle - 60.00) degrees)
        Set T_DamageFormula = ((Abs((Integer((Tan((Random angle))))))) + ((Random integer number between 0 and 2) + (Level of Tangent  for T_Caster)))
        Trigger - Run T Effects <gen> (ignoring conditions)
Code:
T Effects
    Events
    Conditions
    Actions
         Do Multiple ActionsFor each (Integer T_Loop) from 0 to 6, do (Actions)
            Loop - Actions
                Unit - Create 1 Math Projectile for T_CasterOwner at T_DummyPosition[T_Loop] facing T_CasterFacingAngle degrees
                Unit - Add Tangent Waves  to (Last created unit)
                Set T_DamageFormula = T_DamageFormula
                 Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    If - Conditions
                        T_DamageFormula Greater than (>) 10
                    Then - Actions
                        Set T_DamageFormula = 10
                    Else - Actions
                        Do nothing
                Unit - Set level of Tangent Waves  for (Last created unit) to T_DamageFormula
                Unit - Order (Last created unit) to Orc Tauren Chieftain - Shockwave ((Position of (Last created unit)) offset by T_Range towards T_CasterFacingAngle degrees)
                Unit - Add a 2.00 second Generic expiration timer to (Last created unit)
                Unit - Remove (Last created unit) from the game
                Game - Display to (All players) the text: (String(T_DamageFormula))
         Do Multiple ActionsFor each (Integer T_Loop) from 0 to 6, do (Actions)
            Loop - Actions
                Custom script:   call RemoveLocation (udg_T_DummyPosition[udg_T_Loop])
        Custom script:   call RemoveLocation (udg_T_CasterPosition)

4. Zetta Slow - Passive

Description: Sho make waves of pure math power to take down the most fearsome math experts!

Screenshot: It's passivo. Don't much to see =O


Triggers:
Code:
Z Settings
    Events
        Unit - A unit Learns a skill
    Conditions
        (Learned Hero Skill) Equal to (==) Zetta Slow 
    Actions
        -------- Don't Change --------
        Set Z_Caster = (Learning Hero)
        Set Z_CasterOwner = (Owner of Z_Caster)
        Unit - Set the custom value of Z_Caster to 1
        -------- Change --------
        Set Z_Chance[(Player number of Z_CasterOwner)] = (4 x (Level of Zetta Slow  for Z_Caster))
Code:
Z Effects
    Events
        Unit - A unit Is attacked
    Conditions
        (Custom value of (Attacked unit)) Equal to (==) 1
        ((Triggering unit) has buff Zetta Slow ) Equal to (==) True
    Actions
        Set Z_RandomNumber = (Random integer number between 0 and 100)
        Set Z_AttackingUnit = (Attacking unit)
        Set Z_AttackedUnit = (Attacked unit)
        Set Z_AttackingUnitPosition = (Position of (Attacking unit))
        Set Z_AttackedUnitPosition = (Position of (Attacked unit))
        Set Z_AttackedUnitOwner = (Owner of Z_AttackedUnit)
        Set Z_Move = (Z_AttackingUnitPosition offset by 500.00 towards (Random angle) degrees)
         Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
            If - Conditions
                Z_RandomNumber Less than or equal to (<=) Z_Chance[(Player number of (Owner of Z_AttackedUnit))]
            Then - Actions
                Special Effect - Create a special effect at Z_AttackedUnitPosition using Abilities\Spells\NightElf\Blink\BlinkTarget.mdl
                Unit - Create 1 Math Projectile for Z_AttackedUnitOwner at Z_AttackingUnitPosition facing 0.00 degrees
                Set Z_DummyCaster = (Last created unit)
                Unit - Add Out of Vector  to Z_DummyCaster
                Unit - Order Z_DummyCaster to Human Sorceress - Slow Z_AttackingUnit
                Unit - Remove Z_DummyCaster from the game
                Set Z_Effect = (Last created special effect)
                Unit - Move Z_AttackedUnit instantly to Z_Move, facing Z_AttackingUnitPosition
                Special Effect - Destroy Z_Effect
                Set Z_RandomCast = (Random integer number between 1 and 3)
                Unit - Make Z_AttackedUnit face (Attacking unit) over 0.00 seconds
                Wait 0.20 game-time seconds
                 Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    If - Conditions
                        Z_RandomCast Equal to (==) 1
                    Then - Actions
                        Unit - Order Z_AttackedUnit to Human Mountain King - Thunder Clap
                        Custom script:   call RemoveLocation (udg_Z_AttackingUnitPosition)
                        Custom script:   call RemoveLocation (udg_Z_AttackedUnitPosition)
                        Custom script:   call RemoveLocation (udg_Z_Move)
                    Else - Actions
                        Do nothing
                 Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    If - Conditions
                        Z_RandomCast Equal to (==) 2
                    Then - Actions
                        Unit - Order Z_AttackedUnit to Orc Tauren Chieftain - War Stomp
                        Custom script:   call RemoveLocation (udg_Z_AttackingUnitPosition)
                        Custom script:   call RemoveLocation (udg_Z_AttackedUnitPosition)
                        Custom script:   call RemoveLocation (udg_Z_Move)
                    Else - Actions
                        Do nothing
                 Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    If - Conditions
                        Z_RandomCast Equal to (==) 3
                    Then - Actions
                        Unit - Order Z_AttackedUnit to Human Archmage - Summon Water Elemental
                        Custom script:   call RemoveLocation (udg_Z_AttackingUnitPosition)
                        Custom script:   call RemoveLocation (udg_Z_AttackedUnitPosition)
                        Custom script:   call RemoveLocation (udg_Z_Move)
                    Else - Actions
                        Do nothing
            Else - Actions
                Do nothing


Notes:

- My first spellpack =P
- Made this hero thinking in a Hero with VERY UNSTABLE damage
- Based the hero in Sho Minamimoto of "The worlds ends with you"


Contact:

- [email protected]



Please reports any bugs found!
 
ops! Forgot to remove them xD
Removing messages and re attaching the map.
Yeah they are diferent, but for some reason i liked them too =D


Well, i think i can live only making spells an so.
My map can wait a long time. I just wanna make things and be happy
=D
 
I checked it out only because it involved maths :eek:

Pretty nice spells though, but the ultimate can get really annoying, especially if you're trying to escape or something.
 
Yeah it can...
Thinking in something.
Maybe i could make Zetta Slow a non-learnable skill(with very low chances of course) =P
Them i could think in a new Ultimate =O
 
You could make it activable, so that it drains a little mana over time and does whatever it does now. That way you could control it too.
 
Good point!
With this i can control the mana per second/chance of actvatings.
Well that is a much better way =P
(Serching a On/Off spell)
 
Oh crap!
I forgot immolation T.T
[autoheadshot]LoL[/autoheadshot]

Another thing:

Maybe i will add 3 more spells for him.
2 Normal Spell
And another that only activates whem he have all the other in the max.

The names:

Random Function - Tottaly Random Spell
Aritmetich Skills - Passive
Math Oblivion - Mega Holy Hiper LoL Spell(Soo much graphical effects inclued =D)

How i am happy of my ideas! Yahuuuu! =O
 
I have to say..
This is one of the most creative heroes I have ever seen..
Great work
 
Thanks for the comments ^^
Yeah, i thought it was a crazy idea in the begining.
And it still is. =O
 
Where are 3/4 of the screenshots? :eek:
 
I don't understand xD

You mean:

1. The screen shots aew to small?
2. The Screanshot for Zetta Slow?

Answers:

1. Too Big. Not Necessary.
2. It is passive and cast the same other things =O
 
General chit-chat
Help Users
  • No one is chatting at the moment.
  • V-SNES V-SNES:
    Happy Friday!
    +1
  • The Helper The Helper:
    News portal has been retired. Main page of site goes to Headline News forum now
  • The Helper The Helper:
    I am working on getting access to the old news portal under a different URL for those that would rather use that for news before we get a different news view.
  • Ghan Ghan:
    Easily done
    +1
  • The Helper The Helper:
    https://www.thehelper.net/pages/news/ is a link to the old news portal - i will integrate it into the interface somewhere when i figure it out
  • Ghan Ghan:
    Need to try something
  • Ghan Ghan:
    Hopefully this won't cause problems.
  • Ghan Ghan:
    Hmm
  • Ghan Ghan:
    I have converted the Headline News forum to an Article type forum. It will now show the top 20 threads with more detail of each thread.
  • Ghan Ghan:
    See how we like that.
  • The Helper The Helper:
    I do not see a way to go past the 1st page of posts on the forum though
  • The Helper The Helper:
    It is OK though for the main page to open up on the forum in the view it was before. As long as the portal has its own URL so it can be viewed that way I do want to try it as a regular forum view for a while
  • Ghan Ghan:
    Yeah I'm not sure what the deal is with the pagination.
  • Ghan Ghan:
    It SHOULD be there so I think it might just be an artifact of having an older style.
  • Ghan Ghan:
    I switched it to a "Standard" article forum. This will show the thread list like normal, but the threads themselves will have the first post set up above the rest of the "comments"
  • The Helper The Helper:
    I don't really get that article forum but I think it is because I have never really seen it used on a multi post thread
  • Ghan Ghan:
    RpNation makes more use of it right now as an example: https://www.rpnation.com/news/
  • The Helper The Helper:
  • The Helper The Helper:
    What do you think Tom?
  • tom_mai78101 tom_mai78101:
    I will have to get used to this.
  • tom_mai78101 tom_mai78101:
    The latest news feed looks good

      The Helper Discord

      Members online

      No members online now.

      Affiliates

      Hive Workshop NUON Dome World Editor Tutorials

      Network Sponsors

      Apex Steel Pipe - Buys and sells Steel Pipe.
      Top