Any complex spell requests?

Gev

Well-Known Member
Reaction score
25
Whell

I whont that the frost whas as bash when im attackong thear is 10% to cost frost attack
 

Renendaru

(Evol)ution is nothing without love.
Reaction score
309
Please don't double post, just edit your posts. :D

Edit: Oh and Infinite I was wondering if I could change my spell request to something else. I'm currently making a Time Hero and all is done except for an ult. I was wondering if you could make a spell that can "reverse" the time in the game.

Spefs: Time's Gamble: The hero taps into all his power putting his lif on the line, for he is trying to reverse time!
Stats:
Failure: 10% Chance to fail 5% chance of this will kill him, the other 5% will lower him to 15% hp
Success: 70% chance to set it back successfully, yet puts him at 30% hp
Perfect Success: 20% chance to set it back and take no dmg, and he gains incredible dmg for a short period of time.
 
Reaction score
86
Give me 10 minutes, and I'll post the map, with the code. Heres a brief overview. So we have our ability. Named frost bash, or whatever you like. What we have to do is base it off of bash except give it 0 chance to do anything. That way we can engineer the triggers. So what we do is we create a dummy ability called Frost Nova and make it cost 0 mana and also we create a dummy unit. Dummy unit is locust, has no model, has no shadow, and has no attack. So, basically, it just casts an ability. Now, how we do it is we create a trigger, Event- A Unit is attacked.
Conditions - Level of Frost Bash for Attacking Unit is greater than 0
Actions-
if Random number between 0 - 100 is less than (10 * level of Frost Bash for attacking unit) then
Create 1 dummy unit for attacking unit at attacking unit loc.
Add ability Dummy Frost Nova to last created unit.
Set level of Frost nova to level of frost bash for attacking unit for Last created unit.
Order Last created unit to Lich- Frost Nova (Attacked unit)
Add generic expiration timer to Last created unit for 5 seconds.
endif
And there it is.

@jig7c Is the lighting effect shown to enemy units or it isnt shown to enemy units? Because I don't think you can show light effects to one player instead of another. What I can do it create an invisible goblin land mine, that your force can see.

Edit: @ Renendaru: Whats the point of the spell? All it's suppose to do is give a 20% chance to increase damage?
 

jig7c

Stop reading me...-statement
Reaction score
123
the lightning effect is not shown to the enemy units, since its a trap...
only the player that put it there can see it and his allies... a string of lightning, attached from one tree's trunk to the other... or even a web if you can... i want them to take damage and get stunned....
 

Renendaru

(Evol)ution is nothing without love.
Reaction score
309
@ Infintegde: No.. It's supposed to be realistic. The hero has a 10% chance ot fail with 5% chance of that to die, then he had a 70% chance to pull it off but have his hp at 30%, then he has a 20% chance to pull it off perfectly while getting buffed. And in the course of this, he's also suppose to reverse time. XD
 
Reaction score
86
HOW DO I REVERSE TIME o_O XDDD Interesting spell. I mean does it do anything besides giving him buff. Because I honestly don't know what you mean by reverse time.
 

Renendaru

(Evol)ution is nothing without love.
Reaction score
309
Umm.. If you want to see how someone else did it look here.

Edit: The reason I don't use his is because he has used two spells, and he didn't add the chances in. Oh, and I forgot one thing to do the time stop I have this one spell called Time Rupture that will save the spots of everyone so I'd like for you to mod it to do this, and have the time reverse spell to call upn the saved spots of the rupture spell.

Code:
//TESH.scrollpos=16
//TESH.alwaysfold=0
scope TimeRupture initializer Init

private function Condition1 takes nothing returns boolean
    return GetSpellAbilityId() == 'A001'
endfunction

private function Condition3 takes nothing returns nothing
    call GroupAddUnitSimple( GetEnumUnit(), udg_TempGroup )
    set udg_Caster = GetTriggerUnit()
endfunction

private function Actions takes nothing returns nothing
	local unit u = GetTriggerUnit()
	local location l = GetUnitLoc(u)
	local group g = CreateGroup()
    local real waittime = 2. + 2. * GetUnitAbilityLevel (u, 'A001')
    call TriggerSleepAction(0.10)
    set g = GetUnitsInRangeOfLocAll(500.00, l)
    call ForGroup( g, function Condition3)
    call GroupRemoveUnitSimple( u, udg_TempGroup )
    call DestroyGroup(g)
    call TriggerSleepAction(waittime)
    call DestroyGroup (udg_TempGroup)
endfunction

//===========================================================================
private function Init takes nothing returns nothing
	local trigger trig = CreateTrigger()
    call TriggerRegisterAnyUnitEventBJ( trig, EVENT_PLAYER_UNIT_SPELL_EFFECT )
    call TriggerAddCondition( trig, Condition( function Condition1 ) )
    call TriggerAddAction( trig, function Actions )
endfunction

endscope
 

Anti-krazy

New Member
Reaction score
5
i think this is impossible to do but ill post it anyways

Jass/Gui - GUI no Mui (add "IF" needed)

spell descrption: a unit jumps in the air making a huge rock effect on the place he has jumped, damaging all the units at the position of the jump

Level amount: i dunno 4?

Factor Change: range of the teleport

this spell is based on blink but i dont know how to make it float and make a rock effect at where he jumps.
 

Renendaru

(Evol)ution is nothing without love.
Reaction score
309
@Anti: That spell isn't impossible, actually it seems quite easy to make..
 
Reaction score
86
Renendaru you make it >.> I'm still working on this spell ARGH it's killing my soul. Almost done but these tiny little bugs keep screwing things up :(

Finally done.
Name: Fires of the Legion
Coded In: GUI
MUI: Yes.
Description of the spell: This spell is going to be for my Elementalist hero, he uses fire and ice and such to deal damage and augment his allies or hinder his opponents. What I'm looking for is basically a pseudo-aoe, it will affect an area but not of a radius around the hero. Basically it will look like this: The hero uses the ability, and a 250 aoe flamestrike type effect is created at points around the hero. From here the flamestrikes cause a flamestrike adjacent to themselves but at a constrained random angle so that they don't go back towards the hero that casted it. (Don't worry about damage amounts). I am attaching pictures for use as a reference.
Point of the spell: I want the special effect for this ability to be that any enemy unit hit by this spell will then release 2 (always 2 regardless of level for the ability) streams of 5 flamestrikes at 2 points opposite each other around the hero (if one moves toward angle 0 degrees the other goes in the direction of 180 degrees but they won't always be at 0 and 180, they could be 45 and 225 but make sure they're divisible by 45 for simplicity). I would prefer the spell to not be channeled.
Amount of Levels: N. As many as you want :D

Changing factors in the level:
2 streams (opposite each other) created on casting hero, 4 streams (in shape of square) created on casting hero, 6 streams (in shape of regular hexagon) created.
-Extras: Can change whether the original or all of the streams create new ones if they hit an enemy. Before you change it to all, try it out with current settings. Lags enough already o_O...

Notes:
My Description of the spell. Releases two streams of flamestrike on opposite sides of the caster. The flame strike continues until it dies out after the 5th streak. If the original Flame Strike hits an enemy, it will cause another 2 streams to be created at the caster.
Unfortunately, didn't come out amazingly. But that's only because my comp sucks and can't handle anything. Maybe you will have better luck with it.

Limitations:
Only 100 Streams at the same time.

Triggers:
Cast:
Code:
Cast
    Events
        Unit - A unit Starts the effect of an ability
    Conditions
        (Ability being cast) Equal to (==) Fires of the Legion 
    Actions
        Set Real = (Real((Random integer number between 0 and (Level of Fires of the Legion  for (Triggering unit)))))
        Set Real = (Real x (180.00 / (Real((Level of Fires of the Legion  for (Triggering unit))))))
         Do Multiple ActionsFor each (Integer B) from 0 to 1, do (Actions)
            Loop - Actions
                Set loc = (Position of (Triggering unit))
                Set loc2 = (loc offset by 300.00 towards Real degrees)
                 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
                                FOL_Caster[(Integer A)] Equal to (==) No unit
                            Then - Actions
                                Set FOL_Caster[(Integer A)] = (Triggering unit)
                                Set FOL_Level[(Integer A)] = (Level of Fires of the Legion  for (Triggering unit))
                                Set FOL_X[(Integer A)] = (X of loc2)
                                Set FOL_Deg[(Integer A)] = Real
                                Set FOL_Y[(Integer A)] = (Y of loc2)
                                Set FOL_Times[(Integer A)] = 0
                                Set FOL_Original[(Integer A)] = True
                                Custom script:   exitwhen true
                            Else - Actions
                Custom script:   call RemoveLocation(udg_loc)
                Custom script:   call RemoveLocation(udg_loc2)
                Set Real = (Real + 180.00)

Periodic:
Code:
Periodic
    Events
        Time - Every 1.50 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
                        FOL_Caster[(Integer A)] Not equal to (!=) No unit
                    Then - Actions
                         Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
                            If - Conditions
                                FOL_Times[(Integer A)] Less than or equal to (<=) 4
                            Then - Actions
                                Custom script:   set bj_lastCreatedUnit = CreateUnit(GetOwningPlayer(udg_FOL_Caster[bj_forLoopAIndex]),'u000',udg_FOL_X[bj_forLoopAIndex],udg_FOL_Y[bj_forLoopAIndex],0)
                                Unit - Add Dummy Flame strike  to (Last created unit)
                                Unit - Set level of Dummy Flame strike  for (Last created unit) to FOL_Level[(Integer A)]
                                Unit - Order (Last created unit) to Human Blood Mage - Flame Strike (Point(FOL_X[(Integer A)], FOL_Y[(Integer A)]))
                                Unit - Add a 5.00 second Generic expiration timer to (Last created unit)
                                 Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                    If - Conditions
                                         Multiple ConditionsOr - Any (Conditions) are true
                                            Conditions
                                                FOL_Original[(Integer A)] Equal to (==) True
                                    Then - Actions
                                        Set UnitGroup = (Units within 250.00 of (Point(FOL_X[(Integer A)], FOL_Y[(Integer A)])) matching ((((Matching unit) belongs to an enemy of (Owner of FOL_Caster[(Integer A)])) Equal to (==) True) and (((Matching unit) is in AlreadyHit) Equal to (==) False)))
                                        Unit Group - Pick every unit in UnitGroup and do (Actions)
                                            Loop - Actions
                                                 Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                                    If - Conditions
                                                        ((Picked unit) is alive) Equal to (==) False
                                                    Then - Actions
                                                        Unit Group - Remove (Picked unit) from UnitGroup
                                                    Else - Actions
                                                 Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                                    If - Conditions
                                                        False Equal to (==) True
                                                    Then - Actions
                                                        Unit Group - Add (Picked unit) to AlreadyHit
                                                    Else - Actions
                                         Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                            If - Conditions
                                                (Number of units in UnitGroup) Greater than (>) 0
                                            Then - Actions
                                                Set Real = (Real((Random integer number between 0 and (Level of Fires of the Legion  for FOL_Caster[(Integer A)]))))
                                                Set Real = (Real x (180.00 / (Real((Level of Fires of the Legion  for FOL_Caster[(Integer A)])))))
                                                Set loc = (Position of FOL_Caster[(Integer A)])
                                                Set loc2 = (loc offset by 300.00 towards Real degrees)
                                                 Do Multiple ActionsFor each (Integer B) from 1 to 100, do (Actions)
                                                    Loop - Actions
                                                         Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                                            If - Conditions
                                                                FOL_Caster[(Integer B)] Equal to (==) No unit
                                                            Then - Actions
                                                                Set FOL_Caster[(Integer B)] = FOL_Caster[(Integer A)]
                                                                Set FOL_Level[(Integer B)] = FOL_Level[(Integer A)]
                                                                Set FOL_X[(Integer B)] = (X of loc2)
                                                                Set FOL_Deg[(Integer B)] = Real
                                                                Set FOL_Y[(Integer B)] = (Y of loc2)
                                                                Set FOL_Times[(Integer B)] = 0
                                                                Set FOL_Original[(Integer B)] = False
                                                                Custom script:   exitwhen true
                                                            Else - Actions
                                                Custom script:   call RemoveLocation(udg_loc)
                                                Custom script:   call RemoveLocation(udg_loc2)
                                                Set Real = (Real + 180.00)
                                                Set loc = (Position of FOL_Caster[(Integer A)])
                                                Set loc2 = (loc offset by 300.00 towards Real degrees)
                                                 Do Multiple ActionsFor each (Integer B) from 1 to 100, do (Actions)
                                                    Loop - Actions
                                                         Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                                            If - Conditions
                                                                FOL_Caster[(Integer B)] Equal to (==) No unit
                                                            Then - Actions
                                                                Set FOL_Caster[(Integer B)] = FOL_Caster[(Integer A)]
                                                                Set FOL_Level[(Integer B)] = FOL_Level[(Integer A)]
                                                                Set FOL_X[(Integer B)] = (X of loc2)
                                                                Set FOL_Deg[(Integer B)] = Real
                                                                Set FOL_Y[(Integer B)] = (Y of loc2)
                                                                Set FOL_Times[(Integer B)] = 0
                                                                Set FOL_Original[(Integer B)] = False
                                                                Custom script:   exitwhen true
                                                            Else - Actions
                                                Custom script:   call RemoveLocation(udg_loc)
                                                Custom script:   call RemoveLocation(udg_loc2)
                                            Else - Actions
                                        Unit Group - Remove all units from UnitGroup
                                        Custom script:   call DestroyGroup(udg_UnitGroup)
                                    Else - Actions
                                Set Real = (Real((Random integer number between -1 and 1)))
                                Set Real = (Real x 45.00)
                                Set FOL_X[(Integer A)] = (FOL_X[(Integer A)] + (500.00 x (Cos((FOL_Deg[(Integer A)] + Real)))))
                                Set FOL_Y[(Integer A)] = (FOL_Y[(Integer A)] + (500.00 x (Sin((FOL_Deg[(Integer A)] + Real)))))
                                Set FOL_Times[(Integer A)] = (FOL_Times[(Integer A)] + 1)
                            Else - Actions
                                Set FOL_Caster[(Integer A)] = No unit
                    Else - Actions
 

Renendaru

(Evol)ution is nothing without love.
Reaction score
309
XDD I'm not to good at making him jump, but I can do the aoe dmg and such.

Alrighty: Me and Tyman will do it for you. He's doing the jumping while I'll do the dmg and such.
 

HappyPeasant

New Member
Reaction score
8
Name: Release the Wild Beast

Preferred type of code: GUI

Description of the spell: Caster cast a summon that summons a beast that goes wild caster is attached to beast by a magic chair. beast goes on a rampage targetting units ina small beserking range and then charges them doing trampling damage. the beast lowers the ground as it steps causeing dirt to fly into the air. caster is dragged by the beast

Point of the spell: summons a unit probibly like a thunder lizard. a mana steal channel art opens between the caster and the summon. the caster plays dead animation above the ground say 10-20. then the beast charges all units say in 200 range. the dirt thrown into the air does small damage to units not directly in line with the beast. does massive damage + stun to units in line all units out of line also recieve a slow ms debuff

Amount of Levels: Multi (req lvl 6)

Changing factors in the level: Summons bigger summon. more damage both direct and AoE. longer time or amount of units charged.

Additional Info: um if posible if the beast goes on grass change it to dirt and on the part where it select a person to charge make that be random desicion of units not just the closest one. Also make the hero that cast it be one that lays down kinda like blood mage does.

Thx :eek: <3
 

Renendaru

(Evol)ution is nothing without love.
Reaction score
309
@Anti-Krazy: Since me and Tyman are doing your spell I was wondering if you could explain what's going to be going on in the spell in detail.
 

Renendaru

(Evol)ution is nothing without love.
Reaction score
309
@Anti: Can't do anything till it's explained... Please explain your spell in further detail.
 

Jedimindtrixxx

┻━┻ ︵ ¯\(ツ)/¯ ︵ ┻━┻
Reaction score
168
Name: Party Supplies
Preferred type of code: GUI (just started learning jass yesterday do i nub)
Description of the spell: the unit has a 15% chance to cast this upon attack, and can not be manually cast: i want the unit to throw a bottle at the enemy. the enemy becomes drunk and has his move speed decreased by 50%. while he is drunk, units around him in a 500 area of affect become slowed by 25% from his drunken influences. after 10 seconds, the alcohol wears off and gives the unit a massive hang-over and causes 100 damage per second for 15 seconds. after 15 seconds the unit recovers and becomes infected with Cancer which was caused by a weak immune system during his drunken moment, decreasing armour by 5 permanently.
Point of the spell: im making a TD and i want the human ultimate tower to be a party host and the point is to make it easier to kill a unit by making him take damage, slowing him, armour reduce, etc.
Amount of Levels: 1
Additional Info: can you also make a special effect for the hangover overhead of the unit (the drunken phase can be the normal drunken haze overhead effect) and also for cancer can you make a special effect of vines (like rooftrellens tree armour root thing) around unit, but make the roots purple so it looks like hes fucked up by cancer?


thx in advance.
 
C

ChuckSlayer

Guest
Just curious, what spell did you use as the base for Fires of the Legion? I want to make sure I use the same for the exact effect you got.

+rep as well :thup:
 
Reaction score
86
I used War Stomp, took all the effects out, and then gave a dummy ver of Flame strike to the dummy units. The flame strike had the same stats except no casting time and I made it cost 0 mana.

@Renendaru : A few quick question... I don't feel like opening that map. One, why cant you use the spells from that map? Two, what do you want me to save? Position, and health and mana are two things I can think of. Also, do you want it to be for the whole map. Or just a certain area?
 
General chit-chat
Help Users
  • No one is chatting at the moment.

      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