Item that casts offensive spell on enemy unit.

Husky

Local Lurker
Reaction score
120
Is it possible to;

Player has "item X"
When player uses "item X" they can target a unit and then "throw item X".

For example; the player crafts a spear and then it is added to his inventory. He can then use the spear he has just crafted and throw it at enemy units.

Bonus: Once the spear is thrown, it can then be picked up again (this would be great).
 

vypur85

Hibernate
Reaction score
803
> it can then be picked up again

Just create another similar item at some desired point when the item is used.

Edit:
Or just use the 'A unit starts the effect of an ability' event to detect the position of target of ability being cast.

Code:
Event
 A unit starts the effect of an ability
Condition
 Ability being cast Equal to YourItemAbility
Actions
 Item - Create YourItem at Position of (Target unit of ability being cast)
 

Expelliarmus

Where to change the sig?
Reaction score
48
> Just create another similar item at some desired point when the item is used
Well, you must consider the spear doesn't 'reach' the target instantly...
 

vypur85

Hibernate
Reaction score
803
> doesn't 'reach' the target instantly

Well, this is not hard (Edit: but tedious :p) to trigger depending on what he wants. You may need a damage detection trigger and use Acid Bomb and a dummy to achieve what you want.
 

Expelliarmus

Where to change the sig?
Reaction score
48
or you can just
Code:
Wait until (((Target unit of ability being cast) has buff SpearHit) Equal to True), checking every 0.10 seconds
Unit - Remove SpearHit buff from (Target unit of ability being cast)
 

Husky

Local Lurker
Reaction score
120
Okay well; I created the item and it works fine (except I have yet to sort out the charge issues, will do that later). My only problem is with the art/arc, or lack thereof. Currently the spear just "appears" on the enemy unit then dissapears a second later. There is no "throwing/flight" action (I based the item of a Chain Lightning Crystal item).

If I can fix that one issue I am pretty much done, I will just need to fix the dropping issue and charge issue (charge on is easy).
 

Expelliarmus

Where to change the sig?
Reaction score
48
Base the ability spell off firebolt... you get both damage and 'moving projectile' (and buff if you are using it to detect)
 

Husky

Local Lurker
Reaction score
120
Base the ability spell off firebolt... you get both damage and 'moving projectile' (and buff if you are using it to detect)

Thanks, works great now. Now all I have to do is figure out a way to get around the "pick it back up thing".
 

Expelliarmus

Where to change the sig?
Reaction score
48
^_^ Buff Way?
Code:
Item
    Events
        Unit - A unit Starts the effect of an ability
    Conditions
        (Ability being cast) Equal to Fire Bolt
    Actions
        Wait until (((Target unit of ability being cast) has buff Bolted) Equal to True), checking every 0.10 seconds
        Unit - Remove Bolted buff from (Target unit of ability being cast)
        Item - Create 1 Spear at (Position of (Target unit of ability being cast))

Add a buff (a custom is an effect false will do) to firebolt, or whatever you based your ability on.
EDIT:
localize global target unit
 

vypur85

Hibernate
Reaction score
803
> Wait until (((Target unit of ability being cast)....

Haven't tested your trigger but it won't work as far as I know. You need a damage detection trigger... To make your way to work, you need this:

Code:
Item
    Events
        Unit - A unit Starts the effect of an ability
    Conditions
        (Ability being cast) Equal to Fire Bolt
    Actions
        Set Target = (Target unit of ability being cast)
        Wait until ((Target has buff Bolted) Equal to True), checking every 0.10 seconds
        Unit - Remove Bolted buff from Target
        Item - Create 1 Spear at (Position of Target)

But this is not MUI.

Edit:
> localize global target unit

Don't think pseudo locals work in 'Wait until conditions...' :p
 

Husky

Local Lurker
Reaction score
120
^_^ Buff Way?
Code:
Item
    Events
        Unit - A unit Starts the effect of an ability
    Conditions
        (Ability being cast) Equal to Fire Bolt
    Actions
        Wait until (((Target unit of ability being cast) has buff Bolted) Equal to True), checking every 0.10 seconds
        Unit - Remove Bolted buff from (Target unit of ability being cast)
        Item - Create 1 Spear at (Position of (Target unit of ability being cast))

Add a buff (a custom is an effect false will do) to firebolt, or whatever you based your ability on.

Hmm, that didn't work. It may be because of the way I constructed the item?

Item: "Spear"
Ability: "Throw Spear"
Buff: "Spear Lodged"

Mine looks like:

Code:
Spear PickUp
    Events
        Unit - Survivor 0001 <gen> Starts the effect of an ability
    Conditions
        (Ability being cast) Equal to Throw Spear (Item)
    Actions
        Wait until (((Target unit of ability being cast) has buff Spear Loged ) Equal to True), checking every 0.10 seconds
        Unit - Remove Throw Spear (Item) from (Target unit of ability being cast)
        Item - Create Spear at (Position of (Target unit of ability being cast))

Thoughts?


EDIT: I'll try vypur85's way.

EDIT 2: Where do you find "set target" in vypur85's "Actions"? Is it a Variable?
 

vypur85

Hibernate
Reaction score
803
> Is it a Variable?

Yeah. Variable type is 'Unit'.


> unit finishes casting an ability

This event doesn't have 'Target unit ability being cast' as event response.


Try the damage detection then:
Code:
First trigger
 Event
  A unit starts the effect of an ability
 Condition
  Ability being cast Equal to YourItemAbility
 Actions
  Unit - Create 1 Dummy at Position of (Triggering unit) facing somewhere
  Unit - Add 40 seconds generic expiration timer to (Last created unit)
  Unit - Hide (Last created unit)
  Unit - Add Acid Bomb to (Last created unit)
  Unit - Order (Last created unit) to Acid Bomb (Target unit ability being cast)

Code:
Second trigger
 Event
  A unit starts the effect of an ability
 Condition
  (Ability being cast) Equal to Acid Bomb
  (Target unit ability being cast) is in TempGroup Equal to False <-- [I]Boolean comparison[/I]
 Actions
  Trigger - Add Damage Taken <gen> to the event (Target unit of ability being cast) takes damage
  Unit group - Add (Target unit of ability being cast) to TempGroup

Code:
Damage Taken
 Event
 Condition
  (Triggering unit) has buff (Acid Bomb) Equal to True <-- [I]Boolean comparison[/I]
  Unit-type of (Damage Source) Equal to Dummy <-- [I]Unit-type comparison[/I]
 Actions
  Trigger - Turn off (This trigger)
  Item - Create YourItem at Position of (Triggering unit)
  Unit - Remove buff Acid Bomb from (Triggering unit)
  Unit - Remove (Damage source) from the game
  Trigger - Turn on (This trigger)
 

Husky

Local Lurker
Reaction score
120
Thanks. Was working on that trigger but one big thing (from the first trigger);

Code:
  Unit - Order (Last created unit) to Acid Bomb (Target unit ability being cast)

Is it meant to be Acid Bomb or replace Acid Bomb with my spell? Because if I am to replace it with my spell I can't because there's only a certain list to choose from. I had:

Code:
Unit - Order (Last created unit) to Neutral Alchemist - Acid Bomb (Target unit of ability being cast)

So I got the Acid Bomb there, but again, you can only choose from a list of preset spells, I can't choose my own version. I was using:

"Unit - Issue Order Targeting a Unit". Is it meant to be something else?

Thanks in advance.
 

Ghostwind

o________o
Reaction score
172
What about...

Code:
Custom Script:  call IssueInstantPointOrderById(..........)

...?

That way you don't have to do any of that Neutral Alchemist -- Acid Bomb bullshit.
 

vypur85

Hibernate
Reaction score
803
> So I got the Acid Bomb there

You're using the right one. The preset ones will work based off your original ability which is Acid Bomb.


Make sure that your item ability is some other unit-targetting ability (Curse, Frenzy etc etc...). It must not be the same Acid Bomb ability that you're using. By the way, the trigger I made wasn't tested :p. May not be efficient because I think it's possible to reduce to 2 triggers instead of 3 but just give it a try.
 
General chit-chat
Help Users
  • No one is chatting at the moment.

      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