• 🏆 Texturing Contest #33 is OPEN! Contestants must re-texture a SD unit model found in-game (Warcraft 3 Classic), recreating the unit into a peaceful NPC version. 🔗Click here to enter!
  • It's time for the first HD Modeling Contest of 2024. Join the theme discussion for Hive's HD Modeling Contest #6! Click here to post your idea!

Chilling Streams v1.2

  • Like
Reactions: Hanky
info
This spell was created 2009 and uploaded here. After 2 years it was deleted (automaticly?).
I've improved the code now, added Timer- and GroupUtils and reuploaded it.
Everything else is old. I know that it uses a (forbidden) custom model, but the model is part of the spell, it even has his own code-part. I hope that the mods understand this like they did 2 years ago :)
The Lich forms two icy orbs out of his mana.
He shoots them in the targeted direction, dealing damage to any enemy and freezing those who are struck by both.

A quite simple skill, that can be used in very different ways. The thing is, that you click on a point and they orbs fly to it, but the'll always move the full distance, so they can cross. If you click on yourself for example, one orb is sent to the left while the other one flies to the right of the lich.

For sure this spell is MPI/MUI and has a lot of options ;)

Credits go to Daelin for the Frozen Orb. There is nearly no good frost orb in Wc3, and this on is just to amazing ;)
More credits go to Vexorian for TimerUtils and Rising_Dusk for GroupUtils.


Changelog
v1.2
  • Improved the old code
  • Added TimerUtils and GroupUtils
v1.1
  • Added a tree filter
  • Added a preload function
Greets, Justify

Keywords:
chilling, streams, frost, ice, orb, freeze
Contents

Just another Warcraft III map (Map)

Reviews
20:24, 14th Jan 2009 Hanky: Advice: 5 points are the highest rating and 1 point is the lowest rating. Documentation: 5 Visual Effects: 5 Triggering: 5 Idea: 4 The scripting is well done, but you could maybe use a global group instead...

Moderator

M

Moderator

20:24, 14th Jan 2009
Hanky:
Evaluation

Rating Points
Advice: 5 points are the highest rating and 1 point is the lowest rating.

Documentation: 5
Visual Effects: 5
Triggering: 5
Idea: 4
Rating Comment

The scripting is well done, but you could maybe use a global group instead of creating every time this temporary group ("g"). Otherwise you done a good job.
Advice: If you didn't understood my rating or if you maybe have questions because you don't know how to fix bugs or leaks etc.. You can always send a private message to me. I will answer as soon I got time.
 
Level 18
Joined
Oct 18, 2007
Messages
930
I was talking about the emitter, from the ice. It does a great deal of the SFX, without it, it's kinda like that 'Odin's spears'.

THOR's SPEARS!! :3

Edit:

You should make the missiles collide with walls, units, doodoads etc.

If you need a colliding system for Doodoads, trees and walls then this script may be useful to you ^^
JASS:
library CheckPoint initializer Init

    globals
        private constant integer I_ID='sehr' //Just some random item id
        private item I=CreateItem(I_ID,0,0)
    endglobals

    function IsPointWalkable takes real x, real y returns boolean
        call SetItemPosition(I,x,y)
        return GetItemX(I)==x and GetItemY(I)==y
    endfunction

    private function Init takes nothing returns nothing
        call SetItemVisible(I,false)
    endfunction

endlibrary
 
Level 13
Joined
Mar 16, 2008
Messages
941
Erm yeah, freaks :p just a joke.
Hm, completly forgott to add a tree filter :/ I don't know if I'll add a colliding system, especial because I'll make a spell pack out of this and the combination of this and one of the following spells could be kinda fun, shot into a base or something xD
Chilling Streams is taken from a hero I created for a map long before, but we (me and a friend of mine) never finished it. The spells are nice, but the code is crap and I decided to rescript and publish some of them ;)

btw, thanks ;)
 
Level 18
Joined
Oct 18, 2007
Messages
930
Erm yeah, freaks :p just a joke.
Hm, completly forgott to add a tree filter :/ I don't know if I'll add a colliding system, especial because I'll make a spell pack out of this and the combination of this and one of the following spells could be kinda fun, shot into a base or something xD
Chilling Streams is taken from a hero I created for a map long before, but we (me and a friend of mine) never finished it. The spells are nice, but the code is crap and I decided to rescript and publish some of them ;)

btw, thanks ;)

For colliding with units(simple) just add a group check sys. Like if number of units in 50 range of missile is greater than 1 then, else, etc.

And the colliding with destructables and doodads is even simpler, if you use my sys it is just to do this
JASS:
[...]
set SomeLocalX = YourXVar + YourOffsetVar * Cos(YourAngleVar"Radians")
set SomeLocalY = YourYVar + YourOffsetVar * Sin(YourAngleVar"Radians")

if IsPointWalkable(SomeLocalX , SomeLocalY) then
    [...]
else
    [...]
endif
[...]

Edit: For the Collision with Units

JASS:
    globals
        [...]
        private constant integer DummyType = 'h000' // Random dummy id
        [...]
        private integer Check=0
        private group tmpG=CreateGroup()
        private unit tmpU=null
        private player tmpP=null
    endglobals
[...]
    private function GroupFilter takes nothing returns boolean
        return IsUnitEnemy(GetFilterUnit(),tmpP) and GetUnitTypeId(GetFilterUnit()) != DummyType // and etc.
    endfunction
[...]
        set tmpP=YourPlayerVar
        call GroupEnumUnitsInRange(tmpG,YourXVar,YourYVar,Condition(function GroupFilter))
        loop
            set tmpU=FirstOfGroup(tmpG)
            exitwhen tmpU==null
            [...] // Place actions you want to happen to every unit
            set Check=1
            call GroupRemoveUnit(tmpG,tmpU)
            set tmpU=null
        endloop

        if Check == 1 then
            [...] // Place one time actions for collide with units here
            set Check = 0 // Always remember to set it to 0 at the end, or this func will fire every time
        endif
[...]
 
Level 10
Joined
Jan 21, 2008
Messages
183
AN ERROR :At first you OPEN this map by WE vesion 1.21 then SAVE this map without change anything so you will recieved some messenger about jass error and if you want save this map you must be disable this spell (with this error this spell will have only 1 points)And the number of missile should be modify by player will be better.
 
Level 13
Joined
Mar 16, 2008
Messages
941
AN ERROR :At first you OPEN this map by WE vesion 1.21 then SAVE this map without change anything so you will recieved some messenger about jass error and if you want save this map you must be disable this spell (with this error this spell will have only 1 points)And the number of missile should be modify by player will be better.

k, I forgot to mention it again, but first read everything of the stuff above...

Category: vJASS


-> Requires the JNGP, or at least the JassHelper to work ;)
 
Level 10
Joined
May 19, 2008
Messages
176
Nice, but there is one bug hrhrhrhr...

I think, you don't kill the missiles when they left the playable map area.
The problem is, when a unit leaves the map. That means the whole area. The game will crash. And it can happen when you make the range higher and cast it near the sides.

So fix it :D.

cedi
 
Level 7
Joined
Jul 7, 2008
Messages
332
At first I wanted it to be based on intelligence, but if you say its possible to make the orbs fly at speed depends on agility so make it an agility based spell.
Orb's speed = X Agility
Damage = 4.5 Agility
Forget about Intelligence.
Thanks again :p
 
Top