• Listen to a special audio message from Bill Roper to the Hive Workshop community (Bill is a former Vice President of Blizzard Entertainment, Producer, Designer, Musician, Voice Actor) 🔗Click here to hear his message!
  • Read Evilhog's interview with Gregory Alper, the original composer of the music for WarCraft: Orcs & Humans 🔗Click here to read the full interview.

Couple of Spells needed o.o

Status
Not open for further replies.
Level 9
Joined
Apr 23, 2011
Messages
460
Hey, I'm having a little difficulty making some vJass spells. I need these spells to run off of timers to check when they're off cool down for the other abilities and I simply can't get this dynamic indexing down. Here's the spells I need to get done. I'm trying to get work done on them but it's confusing and I'm spending more time reading other scripts to learn than actually coding it. I hate having to do requests but, I'm very busy and still reading through these scripts. If you can contribute please do, I thank you in advance. Spells are listed below, I have part of a spell done and that will be posted on the bottom.

Battle Focus - Passive
When spells are not casted/on cooldown, Omiz'ragul gets (R2I(Level/(2/3)) * number of spells not on cooldown/casting) bonus attack damage. When this effect is active, Omiz'ragul's mana is constantly drained by (Ability Level+5) per second, until a spell is cast.

Axel Boost - No Target
After activation, the 5th attack after this ability is cast would be ((5 * Ability Level) /100) percent stronger than usual and stun it for (.5 * Ability Level) seconds and knock them back (Ability Level * 50 + 100

Earsplit Roar - Point Target
Lets loose a roar in a straight line. The roar temporarily reduces all affected units armor to 0 for (Ability Level * 1.5) seconds.

Mark of the Paw - No Target (Ultimate)
Active Effect: When cast, Omiz'ragul shows his true self, a vicious Elder Bear. Omiz'ragul would have 25 percent bonus attack, attack speed and movement speed, but it would make his armor lowered by 15 percent. All abilities of Omiz'ragul would be removed, except for Earsplit Roar and Battle Focus. He would get Scavenge instead of Axel Boost. (Scavenge is Cannibalize, but it prolongs the duration of this ability when cast). Lasts (Ability Level*15 + 15) seconds.

Passive Effect: All unit attacked by Omiz'ragul would get a Paw Mark Buff, which lasts (Ability Level * 5) seconds. Paw Mark Buffs decrease their attack speed and movement speed by ((Ability Level * 5) /100) percent . Can stack up to 3 times.

If you need the models being used, please just ask. The spells are more tedious to create because they all need timers for each unit of the hero type that has them (even though in my map there is only 1 person that could be this hero, if I choose to recycle this hero and place him in another map). The current progress I have is the setup for Axel Boost posted below.

JASS:
library AxelBoost
    struct AxelBoost extends array
        private static integer spell = 'axel'
        private static unit array Caster
        private static integer heroType = 'omiz'
        private static integer AtkNeed = 5
        private static integer array Attacks
        private static real array Stun 
        private static real array boost //Percent
        /*
        *   Dynamic Indexing Variables
        */
        private static integer array rn
        private static integer ic = 0
        
        /*
        *   Dynamic Indexing Functions
        */
        private static method allocate takes nothing returns thistype
            local thistype this = rn[0]
            if this == 0 then
                set ic = ic + 1
                set thistype.Attacks[this] = 0
                set .Caster[this] = GetTriggerUnit()
                set Stun[this] = I2R(.5* GetUnitAbilityLevel(Caster[this], spell))
                set .boost[this] = I2R(5 * (GetUnitAbilityLevel(Caster[this], spell)) /100)
                return ic
            endif
            set rn[0] = rn[this]
            return this
        endmethod
        
        private method deallocate takes nothing returns nothing
            set rn[this] = rn[0]
            set rn[0] = this
        endmethod
        
        private static method AxelBuff takes thistype this returns nothing
        endmethod
        
        /*
        *   Attack Counter
        */
        private static method CountAttack takes thistype this returns nothing
            if GetUnitTypeId(GetAttacker()) == heroType then
                if Attacks[this] == AtkNeed then
                    call AxelBuff(this)
                    return
                endif
                set Attacks[this] = Attacks[this] + 1
            endif
        endmethod
    endstruct
endlibrary
 
Last edited:
Level 17
Joined
Feb 11, 2011
Messages
1,860
Hi. I may be able to help with some of the spells. Although I am not a vJASS expert, I enjoy making spells.

After reading through the spells briefly, I think the only one I would have immediate problems with is Earsplit Roar, because it reduces armour to 0, meaning the reduction will most likely be different for all the units. I can see what I can do, though.

I may take a few days because I am quite busy at the moment. When do you need them done by?
 
Level 9
Joined
Apr 23, 2011
Messages
460
The map is still deep in development, if you could get them done in. 1 week. A week and a half, whatever is convenient. I understand the difficulty with the 0 armor. I didn't write these spells, they were given to me o.o anyways if you have an idea as a replacement of that, it'd be welcomed. I thank you for your effort, I've been working on my own stuff, what with finals coming up, and PSAE testing next week. Well, thank you for your efforts.
 
Devotion Aura only affects the BASE ARMOR on the unit data... any armor added after the base (like bonus armor due to agility and such) won't be counted anymore...


So if my unit has a base armor of 2, and its a hero with 5 agility and considering an armor per agi value of .2, at level 1 I have 3 armor

Now I add devotion aura with a -100% reduction, I now have 3 - 2 armor...
 
Level 17
Joined
Feb 11, 2011
Messages
1,860
The map is still deep in development, if you could get them done in. 1 week. A week and a half, whatever is convenient. I understand the difficulty with the 0 armor. I didn't write these spells, they were given to me o.o anyways if you have an idea as a replacement of that, it'd be welcomed. I thank you for your effort, I've been working on my own stuff, what with finals coming up, and PSAE testing next week. Well, thank you for your efforts.

Okay, cool. I will get started when I get time.
 
Level 17
Joined
Feb 11, 2011
Messages
1,860
Good news: I seem to have got Battle Focus working! There will be some limitations, however. For example:
- Bonus damage only goes up to 98 (which shouldn't be a problem because I don't think it will get that high).
- If you pre-place the hero and set an active ability's level to anything > 0, it won't work. Heroes need to LEARN the skill for the 'system' to work.
- You have to specify each of the spells that are active that the hero can learn.

Now I can start on the other spells!
 
Level 9
Joined
Apr 23, 2011
Messages
460
Good news: I seem to have got Battle Focus working! There will be some limitations, however. For example:
- Bonus damage only goes up to 98 (which shouldn't be a problem because I don't think it will get that high).
- If you pre-place the hero and set an active ability's level to anything > 0, it won't work. Heroes need to LEARN the skill for the 'system' to work.
- You have to specify each of the spells that are active that the hero can learn.

Now I can start on the other spells!

I'll look into the damage system. I need to create a more beneficial system, and 98 is plenty limit, especially for just one spell o.o...

All heroes are to be selected in a manner like DotA, where they are picked and placed on the map with no learned skills.

If you mean apply spell ID's to an array or table in which timers will check through it or something of this nature, that should be no problem, as these are the only abilities he will have. Once again, thank you.
 
Level 17
Joined
Feb 11, 2011
Messages
1,860
I'll look into the damage system. I need to create a more beneficial system, and 98 is plenty limit, especially for just one spell o.o...

Okay, cool. You can increase the limit if you need to, but you will have to set the level of the dummy bonus damage spell to greater than 100!

All heroes are to be selected in a manner like DotA, where they are picked and placed on the map with no learned skills.

If you mean apply spell ID's to an array or table in which timers will check through it or something of this nature, that should be no problem, as these are the only abilities he will have. Once again, thank you.

Okay, this won't be a problem then. You will just have to set a few global constants to set up the active spells, which won't be much effort.

Updates:
> I have finished with the first 2 spells - Battle Focus and Axel Boost!
> I am just not sure how to reduce the target's armour to 0. I will do some experimenting and let you know how it goes. May need another 100 level dummy spell! :goblin_yeah:
 
Level 17
Joined
Feb 11, 2011
Messages
1,860
I have completed the first 2 spells. However, I have some queries:
- Earsplit Roar: Finished, but I have set it to reduce armor by 5/10/15/20/25. I'm not sure how to decrease it to 0. Is this okay?
- Mark of the Paw: I have only done the transforming part. I can't make the part that increases the spell's duration, sorry. Must I continue?
 
Level 9
Joined
Apr 23, 2011
Messages
460
It's fine, I see the complications in that spell. It's hard to even write pseudo-code for you to look at xD. But thanks anyways, and earsplit roar is fine as is. No worries, if only we were making our own games instead of modifying one that exists xD

Edit: In the case of MotP, I'll just extend the duration to be (Ability Level * 20 + 25). I have some other tweaks to some of the variations but I can do those later, I'm hoping you have most if not all possible variables for configuration placed as constants at the tops of the scripts xD but if you don't, fear not. I'll find it.
 
so, I've been requested by Mr Bean to do these spells, and I have some questions...

Battle Focus - Passive
When spells are not casted/on cooldown, Omiz'ragul gets (R2I(Level/(2/3)) * number of spells not on cooldown/casting) bonus attack damage. When this effect is active, Omiz'ragul's mana is constantly drained by (Ability Level+5) per second, until a spell is cast.
- Will the effect stack or just once for every spell?
- What is the duration of the bonus?
- Is this (R2I(Level/(2/3)), like this >>> 1.5/3/4.5/6/6.5 * 1 or 2 or 3
- Mana drained (Ability Level+5), is for 1 spell or the whole pack?
- This needs a dummy and fake casting check of the listed spells

Mark of the Paw - No Target (Ultimate)
Active Effect: When cast, Omiz'ragul shows his true self, a vicious Elder Bear. Omiz'ragul would have 25 percent bonus attack, attack speed and movement speed, but it would make his armor lowered by 15 percent. All abilities of Omiz'ragul would be removed, except for Earsplit Roar and Battle Focus. He would get Scavenge instead of Axel Boost. (Scavenge is Cannibalize, but it prolongs the duration of this ability when cast). Lasts (Ability Level*15 + 15) seconds.

- This can be dne using Avatar or Metamorphosis, with triggering
- Scavenge duration is?
 
Level 9
Joined
Apr 23, 2011
Messages
460
so, I've been requested by Mr Bean to do these spells, and I have some questions...

Battle Focus - Passive

- Will the effect stack or just once for every spell?
- What is the duration of the bonus?
- Is this (R2I(Level/(2/3)), like this >>> 1.5/3/4.5/6/6.5 * 1 or 2 or 3
- Mana drained (Ability Level+5), is for 1 spell or the whole pack?
- This needs a dummy and fake casting check of the listed spells

Mark of the Paw - No Target (Ultimate)


- This can be dne using Avatar or Metamorphosis, with triggering
- Scavenge duration is?

Battle focus works like this:
When he has all his spells on cooldown, the number of spells he has (counting battle focus) * (R2I(Level of Battle Focus*(2/3) +.5)) = bonus damage. While he has this bonus damage, deplete mana by (Ability level + 5) every second. The spell fades once he has cast a spell.

Mark of the Paw -
The complexity with this spell is that Scavenge, the ability that replaces his "Axel Boost", prolongs the duration of the spell, thus why if it is possible, basing it off of avatar is an impossibility.
 
Is this (R2I(Level/(2/3)), like this >>> 1.5/3/4.5/6/6.5 * 1 or 2 or 3
rules on mathematics states that inside an open/closed parenthesis should be calculated first, that's why I came with;
- 2/3=0.66666
- (level/0.66666) = 1.5/3/4.5/6/7.5
- (1.5/3/4.5/6/7.5) * number of spells not on cooldown...

so level 4 should be 6*number of spells not on cooldown = bonus damage

I have 1 more question, how to trigger this spell? by Actively used with timer per second that can only
be stoped if he casts a spell or if attacked?...

Scavenge duration is?
pls answer...
 
Level 9
Joined
Apr 23, 2011
Messages
460
I don't understand the "Scavenge duration is". if you mean scavenge cooldown, Scavenge goes on cooldown for 4 seconds after use.

For simplicity sake I want to change it (if possible) to flat values on Battle Focus like so: Level 1: 8, Level 2: 13, Level 3: 20, Level 4: 27, Level 5: 32.
 
Level 9
Joined
Apr 23, 2011
Messages
460
Apologies for the late response, the demo map is slightly unclear though. I will modify damage and other things so that I can determine the full fledge usage of scavenge. I cannot really tell the difference at the moment, however I only glanced at it. Other than that it seems very solid. (the errors are only objectual. not coding)
 
Status
Not open for further replies.
Top