[Log in / Register]
| News | Chat | Pastebin | Donations | Tutorials | Rules | Forums |
| Maps | Skins | Icons | Models | Spells | Tools | Jass | Packs | Hosted Projects | Starcraft II Modding | Starcraft II Resources | Galaxy Wiki |
(Keeps Hive Alive)
Go Back   The Hive Workshop > Spells


Reply
 
Thread Tools
The Hive Workshop Spells:
Tiny the Stone Giant spells v1.2
Images
Highslide JS
Details
Uploaded:00:53, 22nd May 2012
Last Updated:00:40, 22nd Jul 2012
Keywords:None
Type:Pack
Category:GUI / Triggers

This spells created by me, they're similar to DotA hero {Tiny}.
The spells are GUI and MUI.

Please give me credits if you used it.
BY Storm_hih


Triggers :
1.Toss Start
Trigger

Toss
Events
Unit - A unit Starts the effect of an ability
Conditions
(Ability being cast) Equal to Toss
Actions
Set TossCount = (TossCount + 1)
Set TossU[TossCount] = (Triggering unit)
Set TossUT[TossCount] = (Target unit of ability being cast)
Set TossPoint = (Position of TossU[TossCount])
Set TossCounter[TossCount] = 0
Set TossGroup = (Units within 250.00 of TossPoint matching ((((Matching unit) is A structure) Not equal to True) and (((Matching unit) Not equal to TossU[TossCount]) and ((((Matching unit) is A ground unit) Equal to True) and (((Matching unit) is alive) Equal to True)))))
Set TossUP[TossCount] = (Random unit from TossGroup)
Set TossAC[TossCount] = 0
Unit - Turn collision for TossUP[TossCount] Off
Unit - Add Storm Crow Form to TossUP[TossCount]
Unit - Remove Storm Crow Form from TossUP[TossCount]
Unit - Pause TossUP[TossCount]
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
TossUP[TossCount] Equal to No unit
Then - Actions
Unit - Order TossU[TossCount] to Stop
Set TossStop[TossCount] = 1
Set TossPlayer = (Player group((Owner of TossU[TossCount])))
Cinematic - Clear the screen of text messages for TossPlayer
Game - Display to TossPlayer for 8.00 seconds the text: ...
Player Group - Pick every player in TossPlayer and do (Actions)
Loop - Actions
Custom script: if GetLocalPlayer() == GetEnumPlayer() then
Sound - Play Error <gen>
Custom script: endif
Custom script: call DestroyForce (udg_TossPlayer)
Unit - Set mana of (Triggering unit) to ((Mana of (Triggering unit)) + 120.00)
Else - Actions
Special Effect - Create a special effect attached to the chest of TossUP[TossCount] using Abilities\Spells\Human\FlakCannons\FlakTarget.mdl
Special Effect - Destroy (Last created special effect)
Custom script: call RemoveLocation (udg_TossPoint)
Custom script: call DestroyGroup (udg_TossGroup)


2.Toss Fly
Trigger

Toss Fly
Events
Time - Every 0.02 seconds of game time
Conditions
Actions
For each (Integer TossLoop) from 1 to TossCount, do (Actions)
Loop - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
TossStop[TossLoop] Equal to 0
Then - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
TossCounter[TossLoop] Less than or equal to 53
Then - Actions
Set TossCounter[TossLoop] = (TossCounter[TossLoop] + 1)
Animation - Change TossUP[TossLoop] flying height to (775.00 - ((((Real(TossCounter[TossLoop])) - 25.00) x ((Real(TossCounter[TossLoop])) - 25.00)) - 25.00)) at 0.00
Set TossP2[TossLoop] = (Position of TossUT[TossLoop])
Set TossP3[TossLoop] = (Position of TossUP[TossLoop])
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(TossUP[TossLoop] has buff Cluster Rockets) Equal to True
(TossUP[TossLoop] belongs to an enemy of (Owner of TossU[TossLoop])) Equal to True
TossAC[TossLoop] Less than 4
Then - Actions
Unit - Cause TossU[TossLoop] to damage TossUP[TossLoop], dealing (0.35 x (75.00 x (Real((Level of Avalanche for TossU[TossLoop]))))) damage of attack type Magic and damage type Universal
Set TossAC[TossLoop] = (TossAC[TossLoop] + 1)
Else - Actions
Set TossCheckGroup = (Units within 80.00 of TossP2[TossLoop] matching ((Matching unit) Equal to TossUP[TossLoop]))
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(TossCheckGroup is empty) Equal to True
Then - Actions
Set TossP4[TossLoop] = (TossP3[TossLoop] offset by ((Distance between TossP3[TossLoop] and TossP2[TossLoop]) / (50.00 - (Real(TossCounter[TossLoop])))) towards (Angle from TossP3[TossLoop] to TossP2[TossLoop]) degrees)
Unit - Move TossUP[TossLoop] instantly to TossP4[TossLoop]
Custom script: call RemoveLocation (udg_TossP4[udg_TossLoop])
Else - Actions
Custom script: call RemoveLocation (udg_TossP2[udg_TossLoop])
Custom script: call RemoveLocation (udg_TossP3[udg_TossLoop])
Custom script: call DestroyGroup (udg_TossCheckGroup)
Else - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
TossCounter[TossLoop] Greater than 53
Then - Actions
Animation - Change TossUP[TossLoop] flying height to (Default flying height of TossUP[TossLoop]) at 0.00
Unit - Turn collision for TossUP[TossLoop] On
Unit - Unpause TossUP[TossLoop]
Special Effect - Create a special effect attached to the origin of TossUP[TossLoop] using Abilities\Spells\Orc\WarStomp\WarStompCaster.mdl
Special Effect - Destroy (Last created special effect)
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(TossUP[TossLoop] belongs to an enemy of (Owner of TossU[TossLoop])) Equal to True
Then - Actions
Unit - Cause TossU[TossLoop] to damage TossUP[TossLoop], dealing ((0.20 + (0.20 x (Real((Level of Grow for TossU[TossLoop]))))) x (75.00 x (Real((Level of Toss for TossU[TossLoop]))))) damage of attack type Magic and damage type Universal
Else - Actions
Set TossP[TossLoop] = (Position of TossUP[TossLoop])
Set TossP2[TossLoop] = (Position of TossUT[TossLoop])
Set TossCheckGroup = (Units within 200.00 of TossP2[TossLoop] matching (((Matching unit) Not equal to TossU[TossLoop]) and (((Matching unit) Not equal to TossUP[TossLoop]) and ((((Matching unit) is A structure) Not equal to True) and (((Matching unit) belongs to an enemy of (Owne
Unit Group - Pick every unit in TossCheckGroup and do (Actions)
Loop - Actions
Set TossPickedUnit[TossLoop] = (Picked unit)
Unit - Cause TossU[TossLoop] to damage TossPickedUnit[TossLoop], dealing (0.00 + (75.00 x (Real((Level of Toss for TossU[TossLoop]))))) damage of attack type Magic and damage type Universal
Set TossPickedUnit[TossLoop] = No unit
Custom script: call DestroyGroup (udg_TossCheckGroup)
Destructible - Pick every destructible in (Region centered at TossP[TossLoop] with size (275.00, 275.00)) and do (Actions)
Loop - Actions
Set TossPickedDest[TossLoop] = (Picked destructible)
Destructible - Kill TossPickedDest[TossLoop]
Set TossPickedDest[TossLoop] = No destructible
Set TossU[TossLoop] = No unit
Custom script: call RemoveLocation (udg_TossP[udg_TossLoop])
Custom script: call RemoveLocation (udg_TossP2[udg_TossLoop])
Custom script: call RemoveLocation (udg_TossP3[udg_TossLoop])
Custom script: call RemoveLocation (udg_TossP4[udg_TossLoop])
Set TossP[TossLoop] = (Position of TossUT[TossLoop])
Unit - Move TossUP[TossLoop] instantly to TossP[TossLoop]
Custom script: call RemoveLocation (udg_TossP[udg_TossLoop])
Set TossUT[TossLoop] = No unit
Set TossUP[TossLoop] = No unit
Set TossStop[TossLoop] = 1
Else - Actions
Else - Actions


3.Hard Skin
Trigger

Events
Unit - A unit Is attacked
Conditions
((Attacked unit) has buff Hard Skin ) Equal to True
((Attacking unit) belongs to an enemy of (Owner of (Attacked unit))) Equal to True
Actions
Set SkinPoint = (Position of (Attacked unit))
Set SkinGroup = (Units within 300.00 of SkinPoint matching ((Matching unit) Equal to (Attacking unit)))
Unit Group - Pick every unit in SkinGroup and do (Actions)
Loop - Actions
Set SkinChance = (Random integer number between 1 and 100)
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
SkinChance Less than or equal to (6 x (Level of Hard Skin for (Attacked unit)))
Then - Actions
Unit - Create 1 Peasant for (Owner of (Attacked unit)) at (Position of (Attacked unit)) facing Default building facing degrees
Unit - Set level of Skin Stun for (Last created unit) to (Level of Skin Stun for (Last created unit))
Unit - Order (Last created unit) to Neutral - Hurl Boulder (Attacking unit)
Unit - Add a 1.00 second Generic expiration timer to (Last created unit)
Else - Actions
Custom script: call RemoveLocation (udg_SkinPoint)
Custom script: call DestroyGroup (udg_SkinGroup)


4.Dummy Clear
Trigger

Clear
Events
Unit - A unit Dies
Conditions
(Unit-type of (Triggering unit)) Equal to Peasant
Actions
Unit - Remove (Triggering unit) from the game


5.Avalanche
Trigger

Avalanche
Avalanche
Events
Unit - A unit Starts the effect of an ability
Conditions
(Ability being cast) Equal to Avalanche
Actions
Set AvaP[1] = (Position of (Triggering unit))
Set AvaP[2] = (Target point of ability being cast)
Unit - Create 1 Peasant for (Owner of (Triggering unit)) at AvaP[1] facing 0.00 degrees
Unit - Add Avalanche D to (Last created unit)
Unit - Set level of Avalanche D for (Last created unit) to (Level of Avalanche for (Triggering unit))
Unit - Order (Last created unit) to Neutral Tinker - Cluster Rockets AvaP[2]
Unit - Add a 2.50 second Generic expiration timer to (Last created unit)
Custom script: call RemoveLocation (udg_AvaP[1])
Custom script: call RemoveLocation (udg_AvaP[2])


6.Grow
Trigger

Grow
Events
Unit - A unit Learns a skill
Conditions
(Learned Hero Skill) Equal to Grow
Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
((Triggering unit) is in GrowGroup) Not equal to True
Then - Actions
Unit - Add War Club to (Triggering unit)
Unit Group - Add (Triggering unit) to GrowGroup
Unit - Add Grow Damage to (Triggering unit)
Else - Actions
Unit - Set level of Grow Damage for (Triggering unit) to (Level of Grow for (Triggering unit))
Unit - Set (Triggering unit) movement speed to ((Default movement speed of (Triggering unit)) + (20.00 x (Real((Level of Grow for (Triggering unit))))))


7.Grow Scaling Loop
Trigger

Grow R
Events
Time - Every 2.00 seconds of game time
Conditions
Actions
Unit Group - Pick every unit in GrowGroup and do (Actions)
Loop - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
((Picked unit) has buff Bloodlust) Not equal to True
((Picked unit) has buff Hex) Not equal to True
Then - Actions
Set GrowPicked = (Picked unit)
Animation - Change GrowPicked's size to ((40.00 + (35.00 x (Real((Level of Grow for GrowPicked)))))%, (40.00 + (35.00 x (Real((Level of Grow for GrowPicked)))))%, (40.00 + (35.00 x (Real((Level of Grow for GrowPicked)))))%) of its original size
Set GrowPicked = No unit
Else - Actions
Rating - 0.00 (0 votes)
(Hover and click)
Moderator Comments
Unacceptable
22nd July 2012
Magtheridon96:

In addition to Pharaoh_'s comments:

Comments
  • Trigger
    Set TossPlayer = (Player group((Owner of TossU[TossCount])))
    Cinematic - Clear the screen of text messages for TossPlayer
    Game - Display to TossPlayer for 8.00 seconds the text: ...
    Player Group - Pick every player in TossPlayer and do (Actions)
    Loop - Actions
    Custom script: if GetLocalPlayer() == GetEnumPlayer() then
    Sound - Play Error <gen>
    Custom script: endif
    Custom script: call DestroyForce (udg_TossPlayer)
    There's a better way to do this, but you can only do it with custom scripts, so.. here you go:
    Custom script: set udg_ErrorText = "INSERT_YOUR_TEXT_HERE"
    Custom script: set udg_TossPlayer = GetOwningPlayer(udg_TossU[udg_TossCount])
    Custom script: if GetLocalPlayer() == udg_TossPlayer then
    Custom script: call ClearTextMessages()
    Custom script: call DisplayTimedTextToPlayer(udg_TossPlayer, 0, 0, 8, udg_ErrorText)
    Sound - Play Error <gen>
    Custom script: endif
    ErrorText is a string and TossPlayer is a Player, not a Player group.
  • Since you're already setting the triggering unit in a variable, why not use that variable rather than repeating the call.
  • The above point applies to all the other trigger actions. (It's better to cache
    things like (Last created unit), (Triggering unit), (Triggering player), etc... into variables rather than repeating the calls.)
  • There should be some form of configuration here. Right now, all the spells are hard-coded.
  • When you're picking destructables, you're leaking a region.
  • You don't need to null global variables. Like at all.
  • Currently, your spell can destroy bridges. You need to make a dummy peasant unit that is ordered to harvest the
    destructables. After ordering him to do so, if his current order is "harvest", then the destructable is in fact a tree.
  • Your "Clear" trigger could totally bug up a game. You shouldn't be using Peasants as dynamic dummy casters in the first place.
  • Check out this. Your Hard Skin ability should use this
    damage detection system's Damage event rather than using the attack event.
  • When you set the size of a unit, the last two values could be 0 and it wouldn't matter, because you can't stretch a unit.
  • The Grow trigger modifies the units movement speed which can conflict with a lot of systems the user might be using :/
  • Leak
    Unit - Create 1 Peasant for (Owner of (Attacked unit)) at (Position of (Attacked unit)) facing Default building facing degrees
    ^Location leak. Use SkinPoint instead of the (Position ...) call.
  • You shouldn't add and remove the crow form ability, use this method instead.


This indeed needs heavy modifications.

Pharaoh_'s Review
05:14, 22nd May 2012
Pharaoh_: The triggers could be shorter, by using calculations and not a bunch of if/then/else. Use custom integers and not Integer A. Do not use waits. There is no configurability whatsoever. Unit is attacked is an abuseable event. Triggering unit > Dying unit. Certain location variables don't need an array, use separate ones instead. Store values in a variable, before calling them repeatedly, such as (Picked unit).

Do not reupload the spellpack, update it instead. I will delete your previous one. If you still want my review from that one, make sure to leave me a visitor message.

Needs heavy modifications. Rejected.

This spell is awaiting update.


Download Tiny.w3x
(56.75 KB, 749 Downloads)

Old 05-22-2012, 02:09 AM   #2 (permalink)
Registered User Almia
Oh Data Structures <3
 
Almia's Avatar
 
Join Date: Apr 2012
Posts: 3,004
Almia is a name known to all (647)Almia is a name known to all (647)
Told you its not Hard Skin,it is Craggy Exterior
And Avalanche has no triggers needed,you have to use cluster rockets and change the missile model
GEEZ
i have a question where did you get that model?
Almia is offline   Reply With Quote
Old 05-22-2012, 07:07 AM   #3 (permalink)
Iconer
Banned
 
Join Date: Apr 2012
Posts: 183
Iconer has little to show at this moment (16)Iconer has little to show at this moment (16)
On Play DotA my love :)
Here!
You should give credit to altarmaria for RIP it :0
please ;)
Iconer is offline   Reply With Quote
Old 05-22-2012, 01:53 PM   #5 (permalink)
Registered User Storm_hih
hih & h panda
 
Storm_hih's Avatar
 
Join Date: Apr 2012
Posts: 75
Storm_hih has little to show at this moment (19)Storm_hih has little to show at this moment (19)
Quote:
Originally Posted by Radamantus View Post
Told you its not Hard Skin,it is Craggy Exterior
And Avalanche has no triggers needed,you have to use cluster rockets and change the missile model
GEEZ
i have a question where did you get that model?
Avalanche need the dummy because of the channeling.

Quote:
Originally Posted by Adiktuz View Post
First, remove imported model...

Second, USE UPDATE BUTTON to update this: Tiny the Stone Giant spells v1.0

Don't reupload a spell...
1.I didn't import any models the model i have replaced it with the local files in my war3.

2.next time i will do it.

Last edited by Maker; 07-21-2012 at 07:56 PM. Reason: Double post
Storm_hih is offline   Reply With Quote
Old 05-22-2012, 02:08 PM   #6 (permalink)
Iconer
Banned
 
Join Date: Apr 2012
Posts: 183
Iconer has little to show at this moment (16)Iconer has little to show at this moment (16)
thank! why should he must delete the imported model?
just shut up! he wan to added it! what u problem?
he are the master!
thnk storm hih!
Iconer is offline   Reply With Quote
Old 05-22-2012, 03:56 PM   #7 (permalink)
Registered User 88WaRCraFT3
Go Bother Someone Else :P
 
88WaRCraFT3's Avatar
 
Join Date: Jun 2009
Posts: 1,208
88WaRCraFT3 is a jewel in the rough (214)88WaRCraFT3 is a jewel in the rough (214)88WaRCraFT3 is a jewel in the rough (214)
Iconer, you'll get your self banned like that. Rules are rules.
Second, at least learn English before flaming around.
For some reason I think Storm_hih made this for you, because you defend him like he is your little brother.
@Storm_hih Nothing much to add, just do what pharaoh_ told you.
__________________
88WaRCraFT3 is offline   Reply With Quote
Old 05-22-2012, 06:53 PM   #8 (permalink)
Registered User Storm_hih
hih & h panda
 
Storm_hih's Avatar
 
Join Date: Apr 2012
Posts: 75
Storm_hih has little to show at this moment (19)Storm_hih has little to show at this moment (19)
Quote:
Originally Posted by 88WaRCraFT3 View Post
Iconer, you'll get your self banned like that. Rules are rules.
Second, at least learn English before flaming around.
For some reason I think Storm_hih made this for you, because you defend him like he is your little brother.
@Storm_hih Nothing much to add, just do what pharaoh_ told you.
I don't know Iconer.
Storm_hih is offline   Reply With Quote
Old 05-22-2012, 07:21 PM   #9 (permalink)
Registered User 88WaRCraFT3
Go Bother Someone Else :P
 
88WaRCraFT3's Avatar
 
Join Date: Jun 2009
Posts: 1,208
88WaRCraFT3 is a jewel in the rough (214)88WaRCraFT3 is a jewel in the rough (214)88WaRCraFT3 is a jewel in the rough (214)
Doesn't matter, focus on fixing the spells ;)
__________________
88WaRCraFT3 is offline   Reply With Quote
Old 05-23-2012, 02:16 AM   #10 (permalink)
Registered User Almia
Oh Data Structures <3
 
Almia's Avatar
 
Join Date: Apr 2012
Posts: 3,004
Almia is a name known to all (647)Almia is a name known to all (647)
Quote:
Originally Posted by Storm_hih View Post
Avalanche need the dummy because of the channeling.
Then Change the casting to time to 0.5 or less
Almia is offline   Reply With Quote
Old 05-23-2012, 05:39 AM   #11 (permalink)
Iconer
Banned
 
Join Date: Apr 2012
Posts: 183
Iconer has little to show at this moment (16)Iconer has little to show at this moment (16)
Quote:
Originally Posted by Storm_hih View Post
I don't know Iconer.
I'am your little brother broe ;D
Iconer is offline   Reply With Quote
Old 05-23-2012, 11:17 AM   #12 (permalink)
Registered User 88WaRCraFT3
Go Bother Someone Else :P
 
88WaRCraFT3's Avatar
 
Join Date: Jun 2009
Posts: 1,208
88WaRCraFT3 is a jewel in the rough (214)88WaRCraFT3 is a jewel in the rough (214)88WaRCraFT3 is a jewel in the rough (214)
Quote:
Originally Posted by Iconer View Post
I'am your little brother broe ;D
I am your little brother , bro ;D *
And guys, stop going off topic...
__________________
88WaRCraFT3 is offline   Reply With Quote
Old 05-23-2012, 11:57 AM   #13 (permalink)
Registered User Adiktuz
BusyWithSchool
 
Adiktuz's Avatar
 
Join Date: Oct 2008
Posts: 8,526
Adiktuz has much of which to be proud (1092)Adiktuz has much of which to be proud (1092)Adiktuz has much of which to be proud (1092)Adiktuz has much of which to be proud (1092)Adiktuz has much of which to be proud (1092)
Quote:
Originally Posted by Radamantus View Post
Then Change the casting to time to 0.5 or less
casting time is not equal to channeling time...

casting time = time before effect activates
channeling time = duration of effect
Adiktuz is offline   Reply With Quote
Old 05-23-2012, 01:34 PM   #14 (permalink)
Iconer
Banned
 
Join Date: Apr 2012
Posts: 183
Iconer has little to show at this moment (16)Iconer has little to show at this moment (16)
Quote:
Originally Posted by 88WaRCraFT3 View Post
I am your little brother , bro ;D *
And guys, stop going off topic...
Not you! I mean my big brother is storm hih :p
Don't be punishment!
Iconer is offline   Reply With Quote
Old 05-23-2012, 07:39 PM   #15 (permalink)
Registered User Storm_hih
hih & h panda
 
Storm_hih's Avatar
 
Join Date: Apr 2012
Posts: 75
Storm_hih has little to show at this moment (19)Storm_hih has little to show at this moment (19)
I don't know why the custom integer instead of the Integer A is causing the problems not the Integer A causing them so what I should do now!
Storm_hih is offline   Reply With Quote
Reply

Bookmarks

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are Off
Pingbacks are Off
Refbacks are Off


All times are GMT. The time now is 04:21 PM.





Powered by vBulletin
Copyright 2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.5.1 PL2
Copyright © Ralle