Spellpack Flame King

WarLuvr3393

Hmmm...too many things to play (WoW, COD4, WC3)
Reaction score
54
[Spellpack] Flame King
Created By: 3TY.Spiky (WarLuvr3393)

Yes, my first spell pack. I worked really hard on it, and I'd like some feedback and if you see any leaks/bugs please post them here. Thanks in advanced. Please read the READ-ME before continuing to do anything.

Spell Information

MUI: Yes
GUI/JASS: JASS
JESP: I tried, but no.
Import Difficulty: Very Easy-Easy

Spell #1: Flame Gust

Description: Using his magical flame powers, the Flame King is able to unleash multiple gusts of flame onto an area and incinerating any person that is struck by the flame. Blows 4 waves. Lasts 5 seconds.

flamegustqe9.png


Spell #2: Flamewalk

Description: Master Kai channels his flame powers into his body allowing him to dash to a point at amazing speed and burning anyone he gets in his way.

flamewalkil0.png


Spell #3: Burning Soul

Description: After casting for 1 second, Kai throws a wave of fire at an enemy unit burning everything, even his soul, causing him to enrage, take damage and suffer from a mini stun. After a short time, the flames which inhibited the target body releases 8 waves of fire out around him while burning his mana.

burningsoulpart1ua1.png


burningsoulpart2zv6.png


Spell #4: Bring Hell (Ultimate)

Description: Kai channels all his energy into the earth, calling upon hell itself to do its worst to the area around him. Bursts of fire erupt from the ground dealing heavy damage to anyone within the flame. Lasts 5 seconds.

bringhellxh8.png

Not the best picture, looks WAY better in the game.

*********************************

Enjoy the spellpack. If you are going to use it, give credit to 3TY.Spiky, KaTTana, and Vexorian. Thanks in advanced.

~WarLuvr3393

Download [Spellpack] Flame King (Attachments weren't working.)
 

H34DhUnT3r

Ultra Cool Member
Reaction score
36
screenies look good gonna have a look soon

EDIT: Looks great and works great only sometimes the "flame gust" spell doesn't shoots 4, but just 1 gust..
 

Naminator

Coming Back To Life
Reaction score
76
Great! Like the spells.

Looks great and works great only sometimes the "flame gust" spell doesn't shoots 4, but just 1 gust..

If you move it at the time you cast. Its paused the unita and fire one or nothing. Well that's what i saw.

But the spell are great! Keep Going!
 

WarLuvr3393

Hmmm...too many things to play (WoW, COD4, WC3)
Reaction score
54
Yeah, I'm still trying to fix that bug.

Anyways, thanks for the comments!
 

Naminator

Coming Back To Life
Reaction score
76
No problem at all. Try to pause the unit as soon as the ability is cast. It has a little delay before it start. Just an idea :rolleyes:
 

WarLuvr3393

Hmmm...too many things to play (WoW, COD4, WC3)
Reaction score
54
If I remove the wait, then it doesn't give the Flame King enough time to turn and cast if he has to, so the flame gusts go in a different direction.
 

Naminator

Coming Back To Life
Reaction score
76
Not necessary. Just make the hero face the targe point instantly. Or you can add the minium time of wait.
 

Tinki3

Special Member
Reaction score
418
Flame Gust

Not much to say here. Coding was fine, tooltips were fine. The only
thing that needs to be fixed as we've already discovered, is the fact that
if you order the caster to face a different direction before the extra waves are cast, weird things happen.

I understand that you're already trying to fix this, but as a suggestion, you
should only use the dummy units to cast the flames, and not have the ability
itself cast 1 at first.

Reason I say this, is because at times when I order to cast the ability at the
opposite angle in which my hero is facing, the flames go off towards some
random, unexplainable angle, which looks silly.

Flame Walk

I noticed that you were using locations to get the distance between 2 points.
If you don't know how to, to get the distance between 2 X & Y coords, use this method:

local real castX = GetUnitX(caster)
local real castY = GetUnitY(caster)
local real targX = GetLocationX(someLoc)
local real targY = GetLocationY(someLoc)
local real dist = SquareRoot( (targX-castX) * (targX-castX) + (targY-castY) * (targY-castY) )

Here you can have a look at what exactly it is doing:
JASS:
function DistBetweenPoints takes location loc1, location loc2 returns real
    local real X = GetLocationX(loc2) - GetLocationX(loc1)
    local real Y = GetLocationY(loc2) - GetLocationY(loc1)
    return SquareRoot(X * X + Y * Y)
endfunction


In the function "FW_Spell", you havn't nulled the timer variable, which is needed
unless you want a leak.

In the func "FW_Dash", you need to null the timer outside of the "else" statement, and you
should also Flush the handle locals of the timer before destroying it.

Unit "e" doesn't need to be nulled.

Burning Soul

The function "BS_Mana_Burn" is a bit inefficient the way it is atm.
The bunch of "ifs" and "elsifs" can be removed.
Just return 50.00 as a base value, and use a variable in the actions function
to times by that.

For ex:
local real lvl = GetUnitAbilityLevel(...) * BS_Mana_Burn()

"BS_Wait_Time" can also be changed, but since you have a decreasing
value every level, there's not much point in changing anything IMO.

You could also add another const. func. to configure the amount of shockwaves,
but that's just a mere suggestion.
Would be good if you did anyway :).

Effect "e" is not nulled.

Bring Hell

Your trigger can simply be:
JASS:
//*************************************************************
//*                      Bring Hell v1.0                      *
//*                   Created By: 3TY.Spiky                   *
//*                     Credits: KaTTana                      *
//*                        Code: BH                           *
//*************************************************************

//*************************************************************
//*          ~ Importing Instructions (Easy) ~                *
//* 1. Copy this script into a trigger named "Bring Hell"     *
//* 2. Change the Constant Function returns to whatever you   *
//*      wish. (Make sure they are the correct returns!)      *
//* 3. Copy "KaTTana's HandleVars" into your map header.      *
//* 4. Copy the spells "Fire Burst" and "Bring Hell" into     *
//*      your map.  (You can use your own dummy.)             *
//* 5. Give credit to 3TY.Spiky and KaTTana                   *
//*                                                           *
//* If you have any questions about this spell, PM me @       *
//*    "TheHelper.net", my name is WarLuvr3393.  Enjoy!       *
//*************************************************************

//*************************************************************
//* Constant Functions (Only edit things under this section.) *
//*************************************************************

constant function BH_Raw_Code takes nothing returns integer
  return 'A006' //Raw code for the spell "Bring Hell"
endfunction

constant function BH_Dummy_Raw_Code takes nothing returns integer
  return 'h000' //Raw code for the dummy unit
endfunction

constant function BH_Flame_Raw_Code takes nothing returns integer
  return 'A007' //Raw Code for the spell that the dummy is going to cast
endfunction

constant function BH_Range takes nothing returns integer
  return 1000 //Maximum range that the flames can reach
endfunction

constant function BH_Timer_Time takes nothing returns real
  return 0.10 //The delay between each blast of damage during the channeling
endfunction

constant function BH_Flame_Effect takes nothing returns string
  return "Abilities\\Spells\\Other\\Doom\\DoomDeath.mdl"//The string of the effect that is played where the dummies "stomp"
endfunction

//**************
//* Conditions *
//**************

function BH_Spell_Check takes nothing returns boolean
  return GetSpellAbilityId() == BH_Raw_Code()
endfunction

//*************
//* Functions *
//*************

function BH_Spell takes nothing returns nothing
// Local Variables
  local timer t     = GetExpiredTimer()
  local unit caster = GetHandleUnit(t, "caster")
  local integer i   = GetHandleInt(t, "i")
  local real dist   = GetRandomInt(1, BH_Range())
  local real ang    = GetRandomInt(1, 360)
  local real X      = GetUnitX(caster) + dist * Cos(ang * bj_DEGTORAD)
  local real Y      = GetUnitY(caster) + dist * Sin(ang * bj_DEGTORAD)
  local unit dummy

// Functions
  set dummy = CreateUnit(GetOwningPlayer(caster), BH_Dummy_Raw_Code(), X, Y, 270.00)
  call UnitAddAbility(dummy, BH_Flame_Raw_Code())
  call SetUnitAbilityLevel(dummy, BH_Flame_Raw_Code(), i)
  call IssueImmediateOrder(dummy, "thunderclap")
  call DestroyEffect(AddSpecialEffect(BH_Flame_Effect(), GetUnitX(dummy), GetUnitY(dummy)))
  call UnitApplyTimedLife(dummy, 'BTLF', 1.0)

// Null Variables
  set t      = null
  set caster = null
  set dummy  = null 
endfunction

function BH_Spell_Cast takes nothing returns nothing
// Local Variables
  local timer t     = CreateTimer()
  local unit caster = GetTriggerUnit()
  local integer i   = GetUnitAbilityLevel(caster, BH_Raw_Code())

// Handles
  call SetHandleHandle(t, "caster", caster)
  call SetHandleInt(t, "i", i)

// Functions
  call TimerStart(t, BH_Timer_Time(), true, function BH_Spell)

  loop
      exitwhen GetUnitCurrentOrder(caster) != String2OrderIdBJ("starfall")
      call TriggerSleepAction(0.27)
  endloop

  call FlushHandleLocals(t)
  call PauseTimer(t)
  call DestroyTimer(t)

// Null Variables
  set t      = null
  set caster = null  
endfunction

//===========================================================================
function InitTrig_Bring_Hell takes nothing returns nothing
      set gg_trg_Bring_Hell = CreateTrigger(  )
      call TriggerRegisterAnyUnitEventBJ( gg_trg_Bring_Hell, EVENT_PLAYER_UNIT_SPELL_EFFECT)
      call TriggerAddCondition( gg_trg_Bring_Hell, Condition(function BH_Spell_Check))
      call TriggerAddAction( gg_trg_Bring_Hell, function BH_Spell_Cast )
      call Preload(BH_Flame_Effect())
 endfunction

Without the extra function, and the extra trigger in the init function ^
Still works the same way :)

____________________

Good spellpack anyway, enjoyable ;)

+rep
 

emjlr3

Change can be a good thing
Reaction score
395
can you post the triggers so I can review them?
 

WarLuvr3393

Hmmm...too many things to play (WoW, COD4, WC3)
Reaction score
54
I'll PM them to you, Emijr after I fix the leaks. I haven't had any time, I've been so busy.
 
General chit-chat
Help Users
  • No one is chatting at the moment.
  • Ghan Ghan:
    Still lurking
    +3
  • The Helper The Helper:
    I am great and it is fantastic to see you my friend!
    +1
  • The Helper The Helper:
    If you are new to the site please check out the Recipe and Food Forum https://www.thehelper.net/forums/recipes-and-food.220/
  • Monovertex Monovertex:
    How come you're so into recipes lately? Never saw this much interest in this topic in the old days of TH.net
  • Monovertex Monovertex:
    Hmm, how do I change my signature?
  • tom_mai78101 tom_mai78101:
    Signatures can be edit in your account profile. As for the old stuffs, I'm thinking it's because Blizzard is now under Microsoft, and because of Microsoft Xbox going the way it is, it's dreadful.
  • The Helper The Helper:
    I am not big on the recipes I am just promoting them - I use the site as a practice place promoting stuff
    +2
  • Monovertex Monovertex:
    @tom_mai78101 I must be blind. If I go on my profile I don't see any area to edit the signature; If I go to account details (settings) I don't see any signature area either.
  • The Helper The Helper:
    You can get there if you click the bell icon (alerts) and choose preferences from the bottom, signature will be in the menu on the left there https://www.thehelper.net/account/preferences
  • The Helper The Helper:
    I think I need to split the Sci/Tech news forum into 2 one for Science and one for Tech but I am hating all the moving of posts I would have to do
  • The Helper The Helper:
    What is up Old Mountain Shadow?
  • The Helper The Helper:
    Happy Thursday!
    +1
  • Varine Varine:
    Crazy how much 3d printing has come in the last few years. Sad that it's not as easily modifiable though
  • Varine Varine:
    I bought an Ender 3 during the pandemic and tinkered with it all the time. Just bought a Sovol, not as easy. I'm trying to make it use a different nozzle because I have a fuck ton of Volcanos, and they use what is basically a modified volcano that is just a smidge longer, and almost every part on this thing needs to be redone to make it work
  • Varine Varine:
    Luckily I have a 3d printer for that, I guess. But it's ridiculous. The regular volcanos are 21mm, these Sovol versions are about 23.5mm
  • Varine Varine:
    So, 2.5mm longer. But the thing that measures the bed is about 1.5mm above the nozzle, so if I swap it with a volcano then I'm 1mm behind it. So cool, new bracket to swap that, but THEN the fan shroud to direct air at the part is ALSO going to be .5mm to low, and so I need to redo that, but by doing that it is a little bit off where it should be blowing and it's throwing it at the heating block instead of the part, and fuck man
  • Varine Varine:
    I didn't realize they designed this entire thing to NOT be modded. I would have just got a fucking Bambu if I knew that, the whole point was I could fuck with this. And no one else makes shit for Sovol so I have to go through them, and they have... interesting pricing models. So I have a new extruder altogether that I'm taking apart and going to just design a whole new one to use my nozzles. Dumb design.
  • Varine Varine:
    Can't just buy a new heatblock, you need to get a whole hotend - so block, heater cartridge, thermistor, heatbreak, and nozzle. And they put this fucking paste in there so I can't take the thermistor or cartridge out with any ease, that's 30 dollars. Or you can get the whole extrudor with the direct driver AND that heatblock for like 50, but you still can't get any of it to come apart
  • Varine Varine:
    Partsbuilt has individual parts I found but they're expensive. I think I can get bits swapped around and make this work with generic shit though
  • Ghan Ghan:
    Heard Houston got hit pretty bad by storms last night. Hope all is well with TH.
  • The Helper The Helper:
    Power back on finally - all is good here no damage
    +2
  • V-SNES V-SNES:
    Happy Friday!
    +1
  • The Helper The Helper:
    New recipe is another summer dessert Berry and Peach Cheesecake - https://www.thehelper.net/threads/recipe-berry-and-peach-cheesecake.194169/

      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