Any complex spell requests?

Renendaru

(Evol)ution is nothing without love.
Reaction score
309
Um.. I've seen people mod the hard-coded scripts, though that's a hard way of doing it...
 

Jedimindtrixxx

┻━┻ ︵ ¯\(ツ)/¯ ︵ ┻━┻
Reaction score
168
only 2 more people!!! yay! and i think itll be just in time cuz i just started working on the human race
 

Expelliarmus

Where to change the sig?
Reaction score
48
RE: Hornet's Crest

Wow! +rep, works the way I want it. Just wondering were their any limits to the number of HC_Unit? If so how can I change and increase it? And also, how would you go about obtaining the angle from the target to the caster based on the target's facing point being 0.00 deg?

Like

N I
^
o N < 0

the arrow is the unit is facing our west, which in turn becomes the unit's N.
the point they
are facing
270
N
180 W E 0.00
S 90

being N is where the target is facing?

Once again, thank you for your time.

p.s Never thought of using doom, very creative!

EDIT: Hmm white line spacing stuffed the graphics up.
 
Reaction score
86
HC_Unit indicates the number of units that can have the crest at one time. Therefore. If 100 units have the crest at the exact same time, then no more can have it. If you wanted to increase that then you would have to simply make the loops longer. Wherever it says "exitwhen i > 100", change 100 to a higher number like 200. I think I also used c>100 but w/e.

To be honest don't 100% understand what you said but... But if you want to change the sectors based on the unit's Facing point then you would change this line
JASS:
set Sector<i> = i * (360/Num)</i>


Simply set it to something like this

JASS:
set Sector<i> = <span style="font-size: 15px"><b>FacingDegOfTarget +</b></span> i * (360/Num)</i>


If you wanted to change the Deg, put a new line at the end of this code:
JASS:
set Deg = bj_RADTODEG * Atan2(y2 - y1, x2 - x1)
    if Deg &lt; 0 then
        set Deg = Deg + 360
    endif

This basically gets the Degrees from the caster to the target. What I suppose you want to do is to make it so that it does the opposite, get's the degrees from the target to the caster, then apply the facing degrees in there.
simply change it to something like this.
JASS:
<b><span style="font-size: 15px">set Deg = bj_RADTODEG * Atan2(y1 - y2, x1 - x2)</span></b>
    <span style="font-size: 15px"><b>set Deg = Deg + FacingDegOfTarget</b></span>
    if Deg &lt; 0 then
        set Deg = Deg + 360
    endif
    if Deg &gt; 0 then
         set Deg = Deg - 360
    endif


Please post again, didn't understand what you mean't.
 
Reaction score
86
Finished...
Name: Tree Trap
Coded In: GUI
MUI: Up to 100 instances... If you want me to make it so the tree trap eventually goes away just say so. Otherwise it works fine.
Description: When a unit that is standing between two trees* activates this ability will create a string that connects the two trees representing a trap. When an enemy unit walks by, this will cause the trap to go off and stun/damage every enemy unit nearby.
Note: Test it out. Not sure if it works in every way. Tell me if you find any bugs. Also, in the test map, I have blue hero. When he casts the spell it will de-ally red and blue and shut off shared vision. Notice you can't see the trap anymore. However not sure why, when red char walks into trap, it doesn't stun/dmg him. o_O? Try in multiplayer to verify that it works. I can't host...
Code:
Trigger 1:
Code:
Casts
    Events
        Unit - A unit Starts the effect of an ability
    Conditions
        (Ability being cast) Equal to (==) Tree Trap 
    Actions
        Set flag = False
        Set loc = (Position of (Triggering unit))
        Destructible - Pick every destructible within 500.00 of loc and do (Actions)
            Loop - Actions
                Set d = (Picked destructible)
                Set loc2 = (Position of (Picked destructible))
                Destructible - Pick every destructible within 500.00 of loc and do (Actions)
                    Loop - Actions
                        Set loc3 = (Position of (Picked destructible))
                        Set Real1 = (Angle from loc2 to loc)
                         Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
                            If - Conditions
                                 Multiple ConditionsAnd - All (Conditions) are true
                                    Conditions
                                        Real1 Less than (<) 0.00
                            Then - Actions
                                Set Real1 = (Real1 + 360.00)
                            Else - Actions
                        Set Real2 = (Angle from loc3 to loc)
                         Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
                            If - Conditions
                                 Multiple ConditionsAnd - All (Conditions) are true
                                    Conditions
                                        Real2 Less than (<) 0.00
                            Then - Actions
                                Set Real2 = (Real2 + 360.00)
                            Else - Actions
                        Set Real2 = (Real2 + 180.00)
                         Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
                            If - Conditions
                                 Multiple ConditionsAnd - All (Conditions) are true
                                    Conditions
                                        Real2 Greater than (>) 360.00
                            Then - Actions
                                Set Real2 = (Real2 - 360.00)
                            Else - Actions
                         Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
                            If - Conditions
                                 Multiple ConditionsAnd - All (Conditions) are true
                                    Conditions
                                        d Not equal to (!=) (Picked destructible)
                                        (Real1 + 40.00) Greater than or equal to (>=) Real2
                                        (Real1 - 40.00) Less than or equal to (<=) Real2
                            Then - Actions
                                Set d2 = (Picked destructible)
                                Set flag = True
                                Custom script:   return
                            Else - Actions
                        Custom script:   call RemoveLocation(udg_loc3)
                Custom script:   call RemoveLocation(udg_loc2)
                 Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    If - Conditions
                        flag Equal to (==) True
                    Then - Actions
                        Custom script:   return
                    Else - Actions
        Custom script:   call RemoveLocation(udg_loc)
         Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
            If - Conditions
                flag Equal to (==) True
            Then - Actions
                Set loc = (Position of d)
                Set loc2 = (Position of d2)
                Set Real1 = (Angle from loc to loc2)
                Set Real2 = 0.00
                 Do Multiple ActionsFor each (Integer A) from 1 to 100, do (Actions)
                    Loop - Actions
                         Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
                            If - Conditions
                                TT_Unit[(Integer A)] Equal to (==) No unit
                            Then - Actions
                                Set Integer = (Integer A)
                                Set TT_Caster[(Integer A)] = (Triggering unit)
                                Custom script:   exitwhen true
                            Else - Actions
                 Do Multiple ActionsFor each (Integer A) from 0 to 2, do (Actions)
                    Loop - Actions
                        Set loc3 = (loc offset by Real2 towards Real1 degrees)
                        Unit - Create 1 Dummy for (Owner of (Triggering unit)) at loc3 facing Default building facing (270.0) degrees
                        Unit Group - Add (Last created unit) to TT_Group[Integer]
                        Custom script:   set bj_forLoopAIndex = 0
                         Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
                            If - Conditions
                                 Multiple ConditionsAnd - All (Conditions) are true
                                    Conditions
                                        (Real2 + 15.00) Greater than or equal to (>=) ((Distance between loc and loc2) / 2.00)
                                        (Real2 - 15.00) Less than or equal to (<=) ((Distance between loc and loc2) / 2.00)
                            Then - Actions
                                Unit - Create 1 Anchor for (Owner of (Triggering unit)) at loc3 facing Default building facing (270.0) degrees
                                Set TT_Unit[Integer] = (Last created unit)
                            Else - Actions
                        Set Real2 = (Real2 + 20.00)
                         Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
                            If - Conditions
                                Real2 Greater than or equal to (>=) (Distance between loc and loc2)
                            Then - Actions
                                Custom script:   exitwhen true
                            Else - Actions
                        Custom script:   call RemoveLocation(udg_loc3)
                Custom script:   call RemoveLocation(udg_loc)
                Custom script:   call RemoveLocation(udg_loc2)
            Else - Actions

Trigger 2:
Code:
Near Trap
    Events
        Time - Every 0.05 seconds of game time
    Conditions
    Actions
         Do Multiple ActionsFor each (Integer A) from 1 to 100, do (Actions)
            Loop - Actions
                 Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    If - Conditions
                        TT_Unit[(Integer A)] Not equal to (!=) No unit
                    Then - Actions
                        Set flag = False
                         Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
                            If - Conditions
                                (TT_Unit[(Integer A)] is dead) Equal to (==) True
                            Then - Actions
                                Unit Group - Pick every unit in TT_Group[(Integer A)] and do (Actions)
                                    Loop - Actions
                                        Unit - Remove (Picked unit) from the game
                                Set TT_Unit[(Integer A)] = No unit
                            Else - Actions
                        Unit Group - Pick every unit in TT_Group[(Integer A)] and do (Actions)
                            Loop - Actions
                                Set loc = (Position of (Picked unit))
                                Set Group = (Units within 30.00 of loc matching ((((Matching unit) belongs to an enemy of (Owner of TT_Caster[(Integer A)])) Equal to (==) True) and ((((Matching unit) is A ground unit) Equal to (==) True) and (((Matching unit) is alive) Equal to (==) True))))
                                 Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                    If - Conditions
                                        (Number of units in Group) Not equal to (!=) 0
                                    Then - Actions
                                        Set flag = True
                                    Else - Actions
                                Custom script:   call RemoveLocation(udg_loc)
                                Custom script:   call DestroyGroup(udg_Group)
                         Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
                            If - Conditions
                                flag Equal to (==) True
                            Then - Actions
                                Unit Group - Pick every unit in TT_Group[(Integer A)] and do (Actions)
                                    Loop - Actions
                                        Set loc = (Position of (Picked unit))
                                        Special Effect - Create a special effect at loc using Environment\LargeBuildingFire\LargeBuildingFire0.mdl
                                        Special Effect - Destroy (Last created special effect)
                                        Custom script:   call RemoveLocation(udg_loc)
                                        Unit - Remove (Picked unit) from the game
                                Unit - Add Stomp Dummy  to TT_Unit[(Integer A)]
                                Unit - Order TT_Unit[(Integer A)] to Orc Tauren Chieftain - War Stomp
                                Unit - Add a 3.00 second Generic expiration timer to TT_Unit[(Integer A)]
                                Set loc = (Position of TT_Unit[(Integer A)])
                                Special Effect - Create a special effect at loc using Objects\Spawnmodels\Undead\UDeathMedium\UDeath.mdl
                                Special Effect - Destroy (Last created special effect)
                                Custom script:   call RemoveLocation(udg_loc)
                            Else - Actions
                    Else - Actions
 

Attachments

  • Tree Trap.w3x
    22.2 KB · Views: 240

RueK

New Member
Reaction score
11
Name: Atlas Consecutive

MUI: This pasive spell can only be used by 1 hero in the map so i think it's not necesary.

Description: From now on this hero will do bonus damage per attack based on his attributes, including bonuses. If hero's HP drops below certain percentages it will do more bonus damage changing the base attribute that the bonus damage is based on.

This means if the hero is a 100% hp, it will do x% of his int attribute with per attack.

if his hp drops below 65% it will do xx% of his agi attribute per attack.

if his hp drops below 30% it will do xxx% of his str attribute per attack.

that means, if he is below 65% the bonus dmg of int will not occur, its understandable right? if he gets healed again to any amount more than 65% it will do the int bonus again. of course dont forget the str attribute.

Lv. - 1
15% of the INT attribute
35% of the AGI attribute if hero's HP drops below 65%.
55% of the STR attribute if hero's HP drops below 30%.

Lv. - 2
35% of the INT attribute
55% of the AGI attribute if hero's HP drops below 65%.
75% of the STR attribute if hero's HP drops below 30%.

Lv. - 3
55% of the INT attribute
75% of the AGI attribute if hero's HP drops below 65%.
95% of the STR attribute if hero's HP drops below 30%.

Passive.


The bonus damage needs to be showed on a floating text like critical strike but in diferent color for each attribute.

This is how the text should be.

+xxx amount of dmg (going up and dissapearing)
UNIT ATTACKED

if int/blue text.
if agi/green text
if str/yellow text.


I hope you can make this spells and hope you like it, a kamikaze spell that needs you to be near of death to unleash your true powers! 0_0!
 

lmichael89

New Member
Reaction score
3
Name: Charge

Code: GUI[Any]-Whichever Works

Description of Spell:The Hero Charges Forward[If Possible is Casted when clicked, if not don't worry about it] Damages All Units and Pushing them aside.

Point of the Spell: All Units in the path of the hero are pushed out of the way with knockback effect depending on where he is hit.

Amount of Levels: 3-7 Levels

Changing Factors in Level: More Damage,Longer Range

Thanks alot if you can get this done, The Damage doesnt matter too much, just let me know how to change it, and the knockback doesnt have to be too far.
 

Jedimindtrixxx

┻━┻ ︵ ¯\(ツ)/¯ ︵ ┻━┻
Reaction score
168
w00t i just realized, its happy peasant then me ^^
 

martix

There is no spoon
Reaction score
49
Name: Dark Shroud (Diablo anyone?)
Code: Any technique you like...

Description: Places a shroud of darkness upon your surroundings, lowering all enemy vision in an area. AoE and duration increase per level.

Point of the spell: Lowering the sight range of enemy units for a period. The area moves with the hero. Entering units get affected also. As for exiting ones, I can't decide - subject to balance. :) Do it as you like, I can change it later.
Levels: 3
Working numbers:
Reduction: 600 for day, 500 for night
AoE: 600/500/1000
Duration: 4s, 5.5s, 7s

Seems easy, but I'm completely stumped by this one...
 

Renendaru

(Evol)ution is nothing without love.
Reaction score
309
Off-Topic:
(Diablo anyone?)
LOL! The Assassin is my fav char. I have a lvl 74 or so assassin.

On-Topic: Was wondering if I could commission a new spell...

Spell Reverse: The Hero will deflect any spell and in return cast the same spell but with 2x the effect and target the enemy.
 
Reaction score
86
Renendaru... I used to love Diablo so much o_O. Also that spell seems pretty simple. (Except for the part about triggered spells...) But simply create two dummy units that cast the same spell on the casting unit twice. That and stop the caster of the spell.
 

Renendaru

(Evol)ution is nothing without love.
Reaction score
309
That is what makes it complex. XD
 
Reaction score
86
Well to do that, you might have to put a lot of effort into making the map XD. Simply, if the reverse spell succeeds in reversing the spell have a global flag, maybe called Reverse, and just set it to true, then in all of your triggered spells, have an if(Reverse==true) then
<End Spell>
set Reverse == False
endif
And then if its a triggered spell that has a sequence, like it takes one unit and throws it away or something like that then, you just need to have like and if then for everyone of those... And set the damage factors to twice what they normally are. Super hard o_O
 

Renendaru

(Evol)ution is nothing without love.
Reaction score
309
Lol... Fine discard that one... Try this one...

Yay, Nay: 30% of casting successfully, 10% of the 30% will be a perfect success, and 50% of failing.

Imperfect Success: God's Judgement is passed damaging all nearby units doing 15% of the Hero's max hp, for 15% of the hero's hp is taken away.

Perfect Success: God' Judgement is passed damaging all nearby units doing 50% of the hero's hp, while healing the hero for 15% of his full hp.

Failure: The offering goes unjust, so the hero is damaged for 75% of the hero's hp.
 
Reaction score
86
Reword please, 50+30 does not add up. And I don't understand what you mean by
"15% of the Hero's max hp, for 15% of the hero's hp is taken away."
 

martix

There is no spoon
Reaction score
49
Any thoughts on mine?
As for Renendaru - I believe the first is - damage all nearby by 15% of hero max HP at the cost of 15% of hero current hp, and second - damage all nearby by 50% of hero current hp and heal hero for 15% of hero max hp. :)
 

RueK

New Member
Reaction score
11
Reword please, 50+30 does not add up. And I don't understand what you mean by
"15% of the Hero's max hp, for 15% of the hero's hp is taken away."

My spell? please tell me if its to hard for you so i can remove the description
 
W

Wiiman420

Guest
Could you make a learn-able skill where lightning strikes a selected spot on the map, dealing crazy damage ( like 10-50k ) in a small AoE? Small cooldown and low mana cost would be usefull too.
 
General chit-chat
Help Users
  • No one is chatting at the moment.

      The Helper Discord

      Staff online

      • Ghan
        Administrator - Servers are fun

      Members online

      Affiliates

      Hive Workshop NUON Dome World Editor Tutorials

      Network Sponsors

      Apex Steel Pipe - Buys and sells Steel Pipe.
      Top