- Joined
- Oct 18, 2008
- Messages
- 1,591
Hey guys!
I'm happy to announce that from today I join the workshop /) I can start taking requests from tomorrow or maybe 1 or 2 today
my speciality is system making but i can take spells too
Can someone make me the Death System from Wow lets say like this:
1.When player dies on the same place will be grave and you will be teleported to the nearest Graveyard in Night elf Wisp form and you need to go to the place you deid and click on the grave and you will be revived.
Someone?
That system is used in Extreme Candy Wars, open the map and you'll be able to check it out.
good ideai will check it too
Could you make my multishot spell please ?![]()
Can you make me a spellpack guys for my hero "Brock the Barbaric"
-make the spell Gui so i can easily import
-make it also configurable
Blood Rage (Active)
Description:
Brock taps on his life source to send out a wave of anguish that deals damage to enemies in an area of 400, based on the amount of health used. Enemies that are hit by the wave starts bleeding, causing them to be pasued temporarily.
Level 1 - 20% of max health points used. Enemies bleed for 2.0 seconds.
Level 2 - 30% of max health points used. Enemies bleed for 2.5 seconds.
Level 3 - 40% of max health points used. Enemies bleed for 3.0 seconds.
Level 4 - 50% of max health points used. Enemies bleed for 4.0 seconds.
Healthcost - 20%/30%/40%/50% of max HP
Barbarian's Blood (Passive)
Description:
Brocks feels each of his wounds and channels the pain, increasing attack speed and damage for each 7% missing health. First bonus starts at full health.
IAS - "increasing attack speed"
Level 1 - 7% IAS and 20 damage per stack
Level 2 - 10% IAS and 30 damage per stack
Level 3 - 15% IAS and 40 damage per stack
Level 4 - 15% IAS and 50 damage per stack
Blood Thirst (Passive)
Description:
Brock has an overwhelming desire for blood. On every attack, Brock heals himself and his nearby allies based on the damage dealt. For every 1% of his health missing, it increases the lifesteal rate by 0.2%.
Level 1 - 10% of damage as base lifesteal.
Level 2 - 15% of damage as base lifesteal.
Level 3 - 20% of damage as base lifesteal.
Level 4 - 25% of damage as base lifesteal.
Orb Effect
attackpower is... ?
Your normal damage or something ?
Yes normal damage of casting unit
scope My First spell initializer Init globals
private constant integer SPELL_ID = 'A000' //the rawcode of the spell
private constant integer DUMMY_ID = 'h000' //rw of the dummy unit
private constant string AOE_EFFECT = "Units\\NightElf\\Wisp\\WispExplode.mdl" //effect that will be created when we cast the spell on the AOE
private constant string HEAL_EFFECT = "Abilities\\Spells\\Human\\HolyBolt\\HolyBoltSpecialArt.mdl" //effect that will be created when we heal units
private constant string DAMAGE_EFFECT = "Abilities\\Weapons\\Bolt\\BoltImpact.mdl" //effect that will be created when we damage units
private constant damagetype D_TYPE = DAMAGE_TYPE_NORMAL //the attack type of the spell
private constant attacktype A_TYPE = ATTACK_TYPE_MAGIC //the damage type of the spell
endglobals private function Range takes integer level returns real
//returns the range the spell will affect
return level * 150.
endfunction
private function Heal takes integer level returns real
//returns the heal allies will take
return level * 100.
endfunction
private function Damage takes integer level returns real
//returns the damage enemies will take
return level * 70.
endfunction
private function Targets takes unit target returns boolean
//the units the spell will affect
return (GetWidgetLife(target) > 0.405) and (IsUnitType(target, UNIT_TYPE_STRUCTURE) == false) and (IsUnitType(target, UNIT_TYPE_MAGIC_IMMUNE) == false) and (IsUnitType(target, UNIT_TYPE_MECHANICAL) == false)
endfunction
//===========================================================================
//=============================SETUP END=====================================
//===========================================================================
globals
private group all
private group copy
private boolexpr b
endglobals
//===========================================================================
private function CopyGroup takes group g returns group
set bj_groupAddGroupDest = CreateGroup()
call ForGroup(g, function GroupAddGroupEnum)
return bj_groupAddGroupDest
endfunction
//===========================================================================
private function Pick takes nothing returns boolean
return Targets(GetFilterUnit())
endfunction
//===========================================================================
private function Conditions takes nothing returns boolean
return GetSpellAbilityId() == SPELL_ID
endfunction
//===========================================================================
private function Actions takes nothing returns nothing
local location spellLoc = GetSpellTargetLoc()
local real spellX = GetLocationX(spellLoc)
local real spellY = GetLocationY(spellLoc)
local unit caster = GetTriggerUnit()
local integer level = GetUnitAbilityLevel(caster, SPELL_ID)
local unit f
local integer allies = 0
local integer enemies = 0
//create the AOE effect
call DestroyEffect(AddSpecialEffect(AOE_EFFECT, spellX, spellY))
//counting the units
call GroupEnumUnitsInRange(all, spellX, spellY, Range(level), b)
set copy = CopyGroup(all)
loop
set f = FirstOfGroup(copy)
exitwhen(f == null)
call GroupRemoveUnit(copy, f)
if IsUnitAlly(f, GetOwningPlayer(caster)) then
set allies = allies + 1
else
set enemies = enemies + 1
endif
endloop
//making the effect of the spell
if allies > enemies then
loop
set f = FirstOfGroup(all)
exitwhen (f == null)
call GroupRemoveUnit(all, f)
//heal allies
if IsUnitAlly(f, GetOwningPlayer(caster)) then
call DestroyEffect(AddSpecialEffectTarget(HEAL_EFFECT, f, "origin")) //the healing effect
call SetWidgetLife(f, GetWidgetLife(f) + Heal(level))
endif
endloop
elseif enemies > allies then
loop
set f = FirstOfGroup(all)
exitwhen (f == null)
call GroupRemoveUnit(all, f)
//damage enemies
if IsUnitEnemy(f, GetOwningPlayer(caster)) then
call DestroyEffect(AddSpecialEffectTarget(DAMAGE_EFFECT, f, "origin")) //the damaging effect
call UnitDamageTarget(caster, f, Damage(level), true, false, A_TYPE, D_TYPE, null)
endif
endloop
elseif allies == enemies then
loop
set f = FirstOfGroup(all)
exitwhen (f == null)
call GroupRemoveUnit(all, f)
//heal allies
if IsUnitAlly(f, GetOwningPlayer(caster)) then
call DestroyEffect(AddSpecialEffectTarget(HEAL_EFFECT, f, "origin"))
call SetWidgetLife(f, GetWidgetLife(f) + Heal(level))
//if an unit is not an ally than it is an enemy
else
call DestroyEffect(AddSpecialEffectTarget(DAMAGE_EFFECT, f, "origin"))
call UnitDamageTarget(caster, f, Damage(level), true, false, A_TYPE, D_TYPE, null)
endif
endloop
endif
call RemoveLocation(spellLoc)
set spellLoc = null
set caster = null
endfunction
//===========================================================================
private function Init takes nothing returns nothing
local trigger InstantJusticeTrg = CreateTrigger()
call TriggerRegisterAnyUnitEventBJ(InstantJusticeTrg, EVENT_PLAYER_UNIT_SPELL_EFFECT )
call TriggerAddCondition(InstantJusticeTrg, Condition( function Conditions ) )
call TriggerAddAction( InstantJusticeTrg, function Actions )
//setting globals
set all = CreateGroup()
set copy = CreateGroup()
set b = Condition(function Pick)
//preloading effects
call Preload(AOE_EFFECT)
call Preload(HEAL_EFFECT)
call Preload(DAMAGE_EFFECT)
//preloading the ability
set bj_lastCreatedUnit = CreateUnit(Player(PLAYER_NEUTRAL_PASSIVE), DUMMY_ID, 0, 0, 0)
call UnitAddAbility(bj_lastCreatedUnit, SPELL_ID)
call KillUnit(bj_lastCreatedUnit)
endfunction
endscope
scope My First spell initializer Init globals
private constant integer SPELL_ID = 'A000' //the rawcode of the spell
private constant integer DUMMY_ID = 'h000' //rw of the dummy unit
private constant string AOE_EFFECT = "Units\\NightElf\\Wisp\\WispExplode.mdl" //effect that will be created when we cast the spell on the AOE
private constant string HEAL_EFFECT = "Abilities\\Spells\\Human\\HolyBolt\\HolyBoltSpecialArt.mdl" //effect that will be created when we heal units
private constant string DAMAGE_EFFECT = "Abilities\\Weapons\\Bolt\\BoltImpact.mdl" //effect that will be created when we damage units
private constant damagetype D_TYPE = DAMAGE_TYPE_NORMAL //the attack type of the spell
private constant attacktype A_TYPE = ATTACK_TYPE_MAGIC //the damage type of the spell
endglobals private function Range takes integer level returns real
//returns the range the spell will affect
return level * 150.
endfunction
scope MyFirstspell initializer Init
globals
private constant integer SPELL_ID = 'A000' //the rawcode of the spell
private constant integer DUMMY_ID = 'h000' //rw of the dummy unit
private constant string AOE_EFFECT = "Units\\NightElf\\Wisp\\WispExplode.mdl" //effect that will be created when we cast the spell on the AOE
private constant string HEAL_EFFECT = "Abilities\\Spells\\Human\\HolyBolt\\HolyBoltSpecialArt.mdl" //effect that will be created when we heal units
private constant string DAMAGE_EFFECT = "Abilities\\Weapons\\Bolt\\BoltImpact.mdl" //effect that will be created when we damage units
private constant damagetype D_TYPE = DAMAGE_TYPE_NORMAL //the attack type of the spell
private constant attacktype A_TYPE = ATTACK_TYPE_MAGIC //the damage type of the spell
endglobals
private function Range takes integer level returns real
//returns the range the spell will affect
return level * 150.
endfunction
I changed but still it gives error here it is:The spell is a mess...
This...
JASS:scope My First spell initializer Init globals private constant integer SPELL_ID = 'A000' //the rawcode of the spell private constant integer DUMMY_ID = 'h000' //rw of the dummy unit private constant string AOE_EFFECT = "Units\\NightElf\\Wisp\\WispExplode.mdl" //effect that will be created when we cast the spell on the AOE private constant string HEAL_EFFECT = "Abilities\\Spells\\Human\\HolyBolt\\HolyBoltSpecialArt.mdl" //effect that will be created when we heal units private constant string DAMAGE_EFFECT = "Abilities\\Weapons\\Bolt\\BoltImpact.mdl" //effect that will be created when we damage units private constant damagetype D_TYPE = DAMAGE_TYPE_NORMAL //the attack type of the spell private constant attacktype A_TYPE = ATTACK_TYPE_MAGIC //the damage type of the spell endglobals private function Range takes integer level returns real //returns the range the spell will affect return level * 150. endfunction
to this...
JASS:scope MyFirstspell initializer Init globals private constant integer SPELL_ID = 'A000' //the rawcode of the spell private constant integer DUMMY_ID = 'h000' //rw of the dummy unit private constant string AOE_EFFECT = "Units\\NightElf\\Wisp\\WispExplode.mdl" //effect that will be created when we cast the spell on the AOE private constant string HEAL_EFFECT = "Abilities\\Spells\\Human\\HolyBolt\\HolyBoltSpecialArt.mdl" //effect that will be created when we heal units private constant string DAMAGE_EFFECT = "Abilities\\Weapons\\Bolt\\BoltImpact.mdl" //effect that will be created when we damage units private constant damagetype D_TYPE = DAMAGE_TYPE_NORMAL //the attack type of the spell private constant attacktype A_TYPE = ATTACK_TYPE_MAGIC //the damage type of the spell endglobals private function Range takes integer level returns real //returns the range the spell will affect return level * 150. endfunction