Hey everybody,
I created a custom ability for the rogue. I took the Acid Flask item ability and turned it into a talent rather than an item use. It all works good, the only problem is that when I use the talent, there is no cooldown. I have the cooldown in my ABI_base_af.xls (the af stands for acid flask in case you're wondering) file set to 25 seconds, but it doesn't work. It's confusing because everything else in the file works like a charm.
Any ideas?
Coldown not working on custom ability
Débuté par
Prevch
, déc. 16 2009 06:55
#1
Posté 16 décembre 2009 - 06:55
#2
Posté 16 décembre 2009 - 07:52
Would be hard to say without seeing the entire XLS. For instance, did you make sure to change the abilitytype column from 4 (items I believe) to 1 (talents)?
Modifié par Challseus, 16 décembre 2009 - 07:52 .
#3
Posté 16 décembre 2009 - 07:56
I used GDapp to export an .xls and you can see it here f this will help http://www.cebcorps....ABI_Base_af.xls
#4
Posté 16 décembre 2009 - 10:09
Sorry, I don't see anything wrong with it. Do you have any existing working custom talents? If so, perhaps start with that one, and one by one add in the acid flask properties, to see where it breaks.
#5
Posté 16 décembre 2009 - 10:17
Actually this is the only one I have. It's weird I don't get it. Thanks for your help though!
Another interesting tidbit I just found out.....the talent doesn't do any damage for some reason!!! Any ideas?
Another interesting tidbit I just found out.....the talent doesn't do any damage for some reason!!! Any ideas?
Modifié par Prevch, 16 décembre 2009 - 10:21 .
#6
Posté 16 décembre 2009 - 10:52
Prevch wrote...
Actually this is the only one I have. It's weird I don't get it. Thanks for your help though!
Another interesting tidbit I just found out.....the talent doesn't do any damage for some reason!!! Any ideas?
*Light Bulb*
Just realized you're using the default script, item_aoe_instant.ncs. The problem here is, when your ability is called, it goes through a bunch of case statements, and finally gets here:
case ABILITY_ITEM_ACID_FLASK:
{
eEffect = EffectDamage(ACID_FLASK_DAMAGE, DAMAGE_TYPE_NATURE);
ApplyEffectOnObject(EFFECT_DURATION_TYPE_INSTANT, eEffect, oTarget, 0.0f, stEvent.oCaster, stEvent.nAbility);
break;
}
It will never catch your ability, because you have given it a new ID (777778), while this is checking for the value of ABILITY_ITEM_ACID_FLASH, which is 200120.
You're going to have to create your own version of item_aoe_instant.ncs, say, $module_name_item_aoe_instant.ncs, and check for your ID (777778). I would personally create my own constants file, and define the value there. Then, in your script, you would have something like...
case ABILITY_TALENT_ACID_FLASK:
{
eEffect = EffectDamage(ACID_FLASK_DAMAGE, DAMAGE_TYPE_NATURE);
ApplyEffectOnObject(EFFECT_DURATION_TYPE_INSTANT, eEffect, oTarget, 0.0f, stEvent.oCaster, stEvent.nAbility);
break;
}
...where ABILITY_TALENT_ACID_FLASH is set to 777778 in your constants file.
Hope this helps.
Modifié par Challseus, 16 décembre 2009 - 10:52 .
#7
Posté 17 décembre 2009 - 12:47
Wow, perhaps a little over my head haha but I am going to give it a shot. Thank you so much for the help!
#8
Posté 17 décembre 2009 - 03:18
OK, so I see what you're talking about, but I don't really understand the connection.
"It will never catch your ability, because you have given it a new ID (777778), while this is checking for the value of ABILITY_ITEM_ACID_FLASH, which is 200120."
So why does it check for that value? Isn't it running the script in the "item_aoe_instant.ncs" file?
Just not sure how all the dots connect I guess
"It will never catch your ability, because you have given it a new ID (777778), while this is checking for the value of ABILITY_ITEM_ACID_FLASH, which is 200120."
So why does it check for that value? Isn't it running the script in the "item_aoe_instant.ncs" file?
Just not sure how all the dots connect I guess
#9
Posté 17 décembre 2009 - 04:00
The way it is set up, each area of effect item calls that script when it is activated. The script then checks for that item triggered the effect and then does something different. In this case, it applies the damage and also hooks into the other functions for the cooldown etc.
However because your new ability ID doesn't exist as far as the default version of that script is concerned, when you activate that script nothing happens.
What you need to do is copy that entire script, and make your own version. Then you need to find the section with ABILITY_ITEM_ACID_FLASK and change it to the ID of your new ability. That way it will be triggered when your ability activates.
However because your new ability ID doesn't exist as far as the default version of that script is concerned, when you activate that script nothing happens.
What you need to do is copy that entire script, and make your own version. Then you need to find the section with ABILITY_ITEM_ACID_FLASK and change it to the ID of your new ability. That way it will be triggered when your ability activates.
#10
Posté 17 décembre 2009 - 06:56
Ashmaran, quick question as this somewhat relates to something I will want to eventually look into myself.
When editing the copied script, wouldn't it be better to copy and paste the ABILITY_ITEM_ACID_FLASK and change the ID on the duplicate then give a more unique name instead of changing the existing one?
Otherwise when it comes to anyone wanting to use the flask in any of their work they'd face the problem again?
Or are there other factors involved that mean that method wouldn't work?
When editing the copied script, wouldn't it be better to copy and paste the ABILITY_ITEM_ACID_FLASK and change the ID on the duplicate then give a more unique name instead of changing the existing one?
Otherwise when it comes to anyone wanting to use the flask in any of their work they'd face the problem again?
Or are there other factors involved that mean that method wouldn't work?
Modifié par Tikigod60, 17 décembre 2009 - 06:58 .
#11
Posté 17 décembre 2009 - 07:12
That makes more sense. I am going to get to work on this and see if I can get it going correctly.
#12
Posté 17 décembre 2009 - 09:33
EUREKA! As per your suggestions above, I created my own script based on the built in one and damage now works appropriately. Now my only issue is that cooldown still does not work....any further suggestions?





Retour en haut







