Spellpack DotA Spells 1

waaaks!

Zinctified
Reaction score
256
Here are some simple spells in DotA Allstars

Includes
-Rot
-Death Pulse
-Earth Bind

JASS
JESP
MUI
uses the caster system

Rot: Engulfs the caster with disease clouds, dealing damage to itself and enemy units nearby, also slowing enemy units for 20%
of their move speed
item

JASS:
//*****************************************************************************************************
//*
//* Rot
//*
//* Spell by waaaks!
//* Give credit when you used this spell
//*
//*****************************************************************************************************
//*
//* Copy the "Rot"             Spell
//* Copy the "Rot (Slow)"      Spell
//* Copy the "Rot"             Buff
//* Copy the "Rot (Caster)"    Buff
//* Copy the "Rot (Slow Aura)" Buff
//*
//* Be sure to change the correct raw codes of the spell
//*
//*****************************************************************************************************
constant function RotSpell takes nothing returns integer
 return 'A002' //Raw code for the Rot spell
endfunction

constant function RotSlow takes nothing returns integer
 return 'A007' //Raw code for the Rot(Slow) Spell
endfunction

function RootSpell takes nothing returns boolean
	return GetUnitAbilityLevel(GetTriggerUnit(), RotSpell())>0
endfunction

function RootMain takes nothing returns nothing
 local unit cast = GetTriggerUnit()
	if(GetIssuedOrderId()==OrderId("immolation"))then
		call UnitAddAbility(cast,RotSlow())
	endif
	if(GetIssuedOrderId()==OrderId("unimmolation"))then
		call UnitRemoveAbility(cast,RotSlow())
	endif
 set cast = null
endfunction

function InitTrig_Rot takes nothing returns nothing
        local trigger t=CreateTrigger()
	call TriggerRegisterAnyUnitEventBJ(t,EVENT_PLAYER_UNIT_ISSUED_ORDER)
	call TriggerAddCondition(t,Condition(function RootSpell))
	call TriggerAddAction(t,function RootMain)
        set t = null
endfunction


Death Pulse: Creates death coils to nearby enemy units or friendly units, dealing damage to enemy units while healing friendlies
item

JASS:
//*****************************************************************************************************
//*
//* Death Pulse
//*
//* Spell by waaaks!
//* Give credit when you used this spell
//*
//*****************************************************************************************************
//*
//* Copy the "Death Pulse"             Spell
//* Copy the "Death Pulse (Heal)"      Spell
//*
//* Be sure to change the correct raw codes of the spell
//*
//*****************************************************************************************************
constant function DPspell takes nothing returns integer
 return 'A008' //Spell Id
endfunction

constant function DPspell2 takes nothing returns integer
 return 'A009' //Dummy Spell Id
endfunction

function DeathPulseActions takes nothing returns nothing
 local unit cast = GetTriggerUnit()
 local location loc = GetUnitLoc(cast)
 local integer l = GetUnitAbilityLevel(cast, DPspell())
 call CasterSetRecycleDelay(3.0)
 call CasterSetCastSourceLoc(loc)
 call CasterCastAbilityLevelPoint(GetOwningPlayer(cast), DPspell2(), l, "fanofknives", GetUnitX(cast), GetUnitY(cast), true)
 call RemoveLocation(loc)
 set loc = null
 set cast = null  
endfunction

//===========================================================================
function InitTrig_Death_Pulse takes nothing returns nothing
    call OnAbilityEffect(DPspell(), "DeathPulseActions")
endfunction


Earth Bind: Throws a net to the target location, binding all units inside 350 radius for 5 seconds
item

JASS:
//*****************************************************************************************************
//*
//* Earth Bind
//*
//* Spell by waaaks!
//* Give credit when you used this spell
//*
//*****************************************************************************************************
//*
//* Copy the "Earth Bind"      Spell
//* Copy the "Earth Snare"     Spell
//*
//* Be sure to change the correct raw codes of the spell
//*
//*****************************************************************************************************
constant function EarthSpell takes nothing returns integer
 return 'A001' //Earth Bind Raw code
endfunction

constant function EarthSnare takes nothing returns integer
 return 'A004' //Earth Snare Raw code
endfunction

constant function EarthMissile takes nothing returns string
 return "Abilities\\Spells\\Orc\\Ensnare\\EnsnareMissile.mdl"
 //Missile model
endfunction

constant function EarthSpeed takes nothing returns real
 return 1000.0 //Missile Speed
endfunction

constant function EarthRad takes nothing returns real
 return 350.0 //Missile Radius
endfunction

function EarthStart takes nothing returns nothing
 local unit cast = GetTriggerUnit()
 local location loc1 = GetUnitLoc(cast)
 local location loc2 = GetSpellTargetLoc()
 local unit m
 local integer dopt
 local real xx = GetUnitX(cast)-GetLocationX(loc2)
 local real yy = GetUnitY(cast)-GetLocationY(loc2)
 local real d = SquareRoot(xx*xx+yy*yy)
 local real wait = d/EarthSpeed()
 set dopt = DamageTypes(ATTACK_TYPE_SIEGE,DAMAGE_TYPE_FORCE)
 set dopt = dopt + DamageOnlyTo(UNIT_TYPE_GROUND) + DamageOnlyVisibles()
 set m = DamagingProjectileLaunchAOELoc(cast, EarthMissile(), EarthSpeed(), 0.0, loc1, 100, loc2, 100, EarthRad(), 0, false, dopt)
 call SetUnitScale(m, 3, 3, 3)
 call PolledWait(wait)
 call CasterCastAbilityAOELoc(GetOwningPlayer(cast), EarthSnare(), "ensnare", loc2, EarthRad(), false, false) 
 call RemoveLocation(loc1)
 call RemoveLocation(loc2)
 set loc1 = null
 set loc2 = null
 set cast = null
 set m = null   
endfunction

//===========================================================================
function InitTrig_EarthBind takes nothing returns nothing
    call OnAbilityEffect(EarthSpell(), "EarthStart")
endfunction


feedbacks are welcome

EDIT: Update 1 finish
EDIT: Update 2 finish
 

Attachments

  • waaaks! Dota Spells.w3x
    278.2 KB · Views: 1,136
there are some dota spells i want to make, but im going to stop making spells for now, because of my project....

bump

can i ask, on what will i do to this spell pack, to make this approved?
 
>>You could make this in GUI also, it would improve it
I dont really think so...GUI's code are ugly because it uses all those BJs..

@Waaaks!
Good spell you have :D +repo
well...i know caster systems are good, but i think...You are relying too much on it..?

Ex: I would make earth bind with normal jass...(Maybe some vjass syntax)
 
i relied on caster system because, like i said before, im low on graphics, common jass and moving stuffs...

if i can get a template on dash, slide, waves, and lines, that deals damage, i will make my spells using local vars or CS_cache

and the main reason is i always used caster system, is because
1. im lazy
2. i know caster system alot than normal jass

even now, if u will ask me of, what is the function that issues a unit to target a unit, i cant even answer :p, but if u will ask me that in caster system, it is simply

JASS:
call CasterCastAbilityLevel( GetOwningPlayer(GetTriggerUnit()), 'A000', 4, "thunderbolt", GetSpellTargetUnit(), false )


anyways, thanks
 
Good.

Though...
Code:
 Spells of this map that follow the standard:
 ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
 - "Spell1"
 - "Spell2"
 ...
 - "SpellN"
 (must change this part to mention the spells)
You need to add your spells there.

The unit 'm' is not nullified in the Earth Bind trigger.
(Do null it if the CS doesn't take care of it).
 
Rot's draining effect really bugged me (That why ESC is there, then?), but Death Pulse was awesome, and Earth Bind blew me away. Good job; be proud.
 
Death Pulse you coulld do in GUI with like 4 actions. Just make a fan of knives based ability with skulls as projectile and another but with negative damage. Then order dummy units to cast them.
 
Death Pulse you coulld do in GUI with like 4 actions. Just make a fan of knives based ability with skulls as projectile and another but with negative damage. Then order dummy units to cast them.

I made a Death Pulse in GUI in my map. It's SOOOOO easy to make (5 actions).
 
Spells are outdated as they use CSCache, won't work in current patch.
 
Thanks, GY'd.
 
When i copied the Earth Blind spell and paste to my map, change the raw codes and the trigger always disable cuz "set dopt = DamageTypes(ATTACK_TYPE_SIEGE,DAMAGE_TYPE_FORCE)"

Can u help me plz :(, thanks.
 
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