• 🏆 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!
  • 🏆 Hive's 6th HD Modeling Contest: Mechanical is now open! Design and model a mechanical creature, mechanized animal, a futuristic robotic being, or anything else your imagination can tinker with! 📅 Submissions close on June 30, 2024. Don't miss this opportunity to let your creativity shine! Enter now and show us your mechanical masterpiece! 🔗 Click here to enter!

Blood Elf Race Ability/Trigger Enhanced Spell

Status
Not open for further replies.
Level 1
Joined
Aug 7, 2008
Messages
2
Hello,

A friend of mine and I are working on a little map just for ourselves to play via LAN.

It is just 'regular' warcraft 3 play style, but with custom races/build-trees/heroes.

Anyway, I've chosen the first race I'm customizing to be the Blood Elves. I've taken a few liberties as to the artistic direction of the race and their 'magic' but I need a bit of help on getting my lofty spell ideas to work.

I've disabled all the blood elves mana regeneration by removing their intelligence (as much as I'm able) and giving them a maximum "mana pool" of 500. I've made an ability called "Blood Rite" that damages a friendly unit for 100 hp and then gives the Blood Elf hero 100 mana. This is the only way they have of increasing their mana (beyond fountains, etc.... but I don't know how to turn off that stuff yet).

I was wondering if there is a better way to make the heroes not regen mana without removing their intelligence and not using a degeneration aura (I don't want them to lose the 'blood mana' they gain by using the blood rite ability).

On top of this I have one Blood Elf Archer hero with an ability I cannot seem to get to work properly. The overall effect is two-fold. First there is an initial ability "Mark of Blood" which grants the caster sight of the unit and damages them (like a mix-mash of Faerie Fire and a poison).

The second half is the ability I've dubbed "Heart Seeker" which fires an arrow at a target dealing 100, or 200 damage depending on the level, but if the target is below 25%(or 50% on level 2 [there is only 2 levels for this ability atm]) they will be killed instantly. The kicker to all of this is that I want the ability Heart Seeker to only be able to be cast on units who have the buff "Mark of Blood" currently operating on them.

I'm sorry I can't post the triggers using the tags that would allow you to see them as they are in the World Editor but I'm on break at work, and as such have no access to the World Editor.

What I've tried so far goes something like: (this is all from memory, so please excuse any errors here, as I'm sure they are probably wrong in my actual triggers too)

Event: Unit begins casting ability
Condition: IF THEN ELSE Multiple Conditions
-Ability being cast is "Heart Seeker"
-Unit being targeted currently has buff "Mark of Blood" equal to 'True'
Action:
Then Actions: IF THEN ELSE:
If life of targeted unit less than equal to life of targeted unit * .25 (I want to add a modifier here that makes it (.25*level of spell), but have no idea how.)
Then Kill Unit
Else Damage unit 100 (*level of spell?)

I'm sure I'm off base with these triggers. I have little experience using them, but I've been trying to learn as I go. I do have some programming experience (Java, C++, etc.) but going through all of these little drop down menus trying to find the option that works best for you is maddening.

Please assist me if you are able. I think it would be great fun if I could get this spell to work and I'd love to share a working edition with the rest of you. If you have any questions I'll check in on this post periodically throughout the day as well as many times when I'm home for the evening.

Thank you in advance!
-impyshaz
 
Level 28
Joined
Mar 25, 2008
Messages
2,955
Hell, that's a request.
I wished more could act like you and not "help plz i need help" :>

For the first one: Search in the object editor for a field called something like 'Mana Regeneration" followed by a real. Set this one to 0 to deactivate mana regeneration (i hope i understood the issue correctly)

For your mark of blood, use
  • Events
    • Unit - A unit starts the effect of an ability
  • Conditions
    • Ability being cast equal to Mark of Blood
  • Actions
    • Unit - Cause (Triggering unit) to damage (Target unit of ability being cast), dealing x damage of attack type Spells and damage type Normal
and base the ability of Faerie fire to get sight ;)

Well your actual heart seeker trigger would go something like this
  • Events
    • Unit - A unit starts the effect of an ability
  • Conditions
    • Ability being cast equal to Heart Seeker
  • Actions
    • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      • IF-Conditions
        • (Target unit of ability being cast) has buff Mark of Blood equal to true
        • Percentage Life of (Target unit of ability being cast) less or equal than 25%
        • Level of Heart Seeker for (Triggering unit)) Equal to 1
      • THEN-Actions
        • Unit - Kill (Target unit of ability being cast)
      • ELSE-Actions
        • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          • IF-Conditions
            • (Target unit of ability being cast) has buff Mark of Blood equal to true
            • Percentage Life of (Target unit of ability being cast) less or equal than 50%
            • Level of Heart Seeker for (Triggering unit)) Equal to 2
          • THEN-Actions
            • Unit - Kill (Target unit of ability being cast)
          • ELSE-Actions
The trigger checks the following:

Ability being cast equal to Heart Seeker [Ability comparison] -> if the proper ability is being cast

(Target unit of ability being cast) has buff Heart Seeker equal to true [Boolean Comparison - Unit has specific buff] -> whether the target has the buff

Percentage Life of (Target unit of ability being cast) less or equal than x% [Real comparison - Unit - Percentage Life] -> The target's health

Level of Heart Seeker for (Triggering unit)) Equal to x [Integer Comparison - Level of ability for unit] -> The level of the ability

If all conditions are met, the trigger fires.

Note: This is a freetyped trigger and therefore, there can be some slight differences to the actual trigger PLUS there could be some improvements concerning the stucture of this trigger.
If so, excuse me for this :)
Furthermore, i hope, it helps you working with your map

(and yes i also can be nice ^.^)

//edit: 750th post :p
 
Level 1
Joined
Aug 7, 2008
Messages
2
Thank you very much Squiggy. I'm going to spend my free time this weekend seeing if I can get these two spells to work together properly. I'm absolutely sure your guidance will assist me more than a little.

If I do get it working I'll be sure to post it up here, and perhaps a link to the spell in this thread so you can see your help in action.

Thanks again,

-impyshaz

P.S. I believe I've done what you've asked about the mana regeneration rate, but intelligence seems to add it's own mana regeneration rate. I'll tinker with it some more, but I think if you have intelligence (even if you have a 0 mana regen rate) the intelligence will still cause you to regenerate mana slowly. Like I said, I'll mess with it some more to make sure I'm correct however.
 
Level 12
Joined
Aug 18, 2006
Messages
1,193
you wanted the Heart Seeker spell to only be able to be casted on targets with the Mark of Blood buff, right? Then you should do something like this

  • Heart Seeker check
  • Events
    • Unit - A unit Begins casting an ability
  • Conditions
    • (Unit has Mark of Blood buff) Equal to False
    • (Ability being cast) Equal to Heart Seeker
  • Actions
    • Unit - Order (Casting unit) to Stop
this trigger will execute just before the Blood Elf Archer actually casts the Heart Seeker spell. If the target doesnt have Mark of Blood on himself, he will stop casting the spell

there is a more efficient way, but its quite complicated and could be bugged if you have certain units
 
Last edited:
Status
Not open for further replies.
Top