Basically Spell Building System, or SBS for short, is a powerful system full of useful "templates" designed by me, to allow the people that have less creativity, time, or knowledge to design spells that look great. It allows much flexibility and even if you base two spells off the same "template" you could change the options around that they'd look like completely different spells.
Implementation instructions: (Kinda useless before I actually release the system to implement...)
Anyhow so far I have,
Line Spell Template - This part of SBS allows you to make spells that cause special effects in front of you, dealing damage to enemies.
Circle Spell Template - This part of SBS allows you to make spells that cause special effects around you, dealing damage to enemies.
Coded Summoning Template - This part of SBS allows you to summon units easily and efficiently. This can be much more powerful then Blizzard Default Spells if developed properly.
I know I'm repeating myself but once this is done you could be able to make a whole map worth of spell (50-100) out of just this system.
Well that pretty much sums it up for now.
1.00 is going to be coming out sometime before January 10th.
Just so people get a feel of it, i'll post code for Line Spell Template, keep in mind I will be updateing regularly and it will be even more flexible then it is right now.
Implementation instructions: (Kinda useless before I actually release the system to implement...)
All spells were made for the spell forum at thehelper.net
___________________________________________________________
Spell Requirements:
_____________________
No Requirements as long as you have the option "Automatically create
unknown variables while pasting trigger data" checked under
File>Preferences>General
Implementation Instructions:
_____________________________
1. Go to the variable editor and make all the spells that use array
variables to match the ones that are in this map. (e.g. If the
template you have requires a variable that uses an array of X,
then go to variable editor in your map and set it to X.)
2. Copy the trigger of the spell type you want to use,
then paste them into your map.
3. This system was created by Anman64, and credit goes to Tinki3 for
the testing map.
___________________________________________________________
Spell Requirements:
_____________________
No Requirements as long as you have the option "Automatically create
unknown variables while pasting trigger data" checked under
File>Preferences>General
Implementation Instructions:
_____________________________
1. Go to the variable editor and make all the spells that use array
variables to match the ones that are in this map. (e.g. If the
template you have requires a variable that uses an array of X,
then go to variable editor in your map and set it to X.)
2. Copy the trigger of the spell type you want to use,
then paste them into your map.
3. This system was created by Anman64, and credit goes to Tinki3 for
the testing map.
Anyhow so far I have,
Line Spell Template - This part of SBS allows you to make spells that cause special effects in front of you, dealing damage to enemies.
Circle Spell Template - This part of SBS allows you to make spells that cause special effects around you, dealing damage to enemies.
Coded Summoning Template - This part of SBS allows you to summon units easily and efficiently. This can be much more powerful then Blizzard Default Spells if developed properly.
I know I'm repeating myself but once this is done you could be able to make a whole map worth of spell (50-100) out of just this system.
Well that pretty much sums it up for now.
1.00 is going to be coming out sometime before January 10th.
Just so people get a feel of it, i'll post code for Line Spell Template, keep in mind I will be updateing regularly and it will be even more flexible then it is right now.
Code:
SBS Line Spell
Events
Unit - A unit Starts the effect of an ability
Conditions
(Ability being cast) Equal to <Your Spell Name Here>
Actions
-------- LS_Interval = Amount of space between each effect. --------
-------- LS_Range = Range for damage. --------
-------- LS_SFXCount = Number of SFX that appear in front of you that deal damage. --------
-------- LS_TimeInterval = Time between each SFX occurs. Note: If this is set to zero disable the wait in this trigger. --------
-------- LS_Damage = Damage dealt around SFX to units in range. --------
-------- LS_StunOn = Determines whether units are stunned or not. --------
-------- LS_StunDuration = How long the ability stuns. 1 = .1 seconds 2 = .2 seconds etc... Max of 100. --------
Set LS_StunDuration = 20
Set LS_StunOn = True
Set LS_TimeInterval = 0.50
Set LS_Damage = 100.00
Set LS_Interval = 100.00
Set LS_Range = 50.00
Set LS_SFXCount = 5
Set LS_Points[361] = (Position of (Triggering unit))
Set LS_Angle = (Facing of (Triggering unit))
For each (Integer A) from 1 to LS_SFXCount, do (Actions)
Loop - Actions
Set LS_Points[(Integer A)] = (LS_Points[361] offset by (LS_Interval x (Real((Integer A)))) towards LS_Angle degrees)
Special Effect - Create a special effect at LS_Points[(Integer A)] using Abilities\Spells\Orc\WarStomp\WarStompCaster.mdl
-------- Change this to vary the SFX that occur. --------
Set LS_Group = (Units within LS_Range of LS_Points[(Integer A)] matching (((Matching unit) belongs to an enemy of (Owner of (Triggering unit))) Equal to True))
Unit Group - Pick every unit in LS_Group and do (Actions)
Loop - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
LS_StunOn Equal to True
Then - Actions
Set LS_StunPoint = (Position of (Picked unit))
Unit - Create 1 Dummy Unit for (Owner of (Triggering unit)) at LS_StunPoint facing Default building facing degrees
Unit - Set level of Stun for (Last created unit) to LS_StunDuration
Unit - Add a 3.00 second Generic expiration timer to (Last created unit)
Unit - Order (Last created unit) to Human Mountain King - Storm Bolt (Picked unit)
Custom script: call RemoveLocation(udg_LS_StunPoint)
Else - Actions
Unit - Cause (Triggering unit) to damage (Picked unit), dealing 500.00 damage of attack type Spells and damage type Normal
-------- This is type of damage --------
Custom script: call DestroyGroup(udg_LS_Group)
Custom script: call RemoveLocation(udg_LS_Points[bj_forLoopAIndex])
Wait LS_TimeInterval seconds
-------- Disable this if you have "LS_TimeInterval" set to 0.00 --------
Custom script: call RemoveLocation(udg_LS_Points[361])