Download
(47 Kb)
Download
Updated: 03/06/18 08:03 PM
Compatibility:
Morrowind (3.0)
Updated:03/06/18 08:03 PM
Created:06/09/16 12:38 AM
Monthly downloads:127
Total downloads:17,668
Favorites:52
MD5:
Innocent Blade of Woe (and Vampire Feed)  Popular! (More than 5000 hits)
Version: 1.24
by: dorrino [More]
Version 1.2. Major revision. (thanks Coolio_Wolfus for the feedback!) Now if you have "Prevent Attacking Innocents" on and still managed to get in a fight with one, you will be able to fight back without manually turning "Prevent Attacking Innocents" off.

In order to be able to hit an innocent while having "Prevent Attacking Innocents" on you'll need:

1. You both need to be in combat.
2. You can not be crouching.
3. You need to directly target him with your reticle.

Please report any problems.


Description

A very simple addon that turns off "Prevent Attacking Innocents" if you have "Blade of Woe" or "Vampire Feed" synergy popup on your screen and turns if back on otherwise.

If you have "Prevent Attacking Innocents" manually turned off the addon has no effect.

The options to disable addon separately for "Blade of Wow" and "Vampire Feed" are provided. If both are off - the addon is disabled.

The reason why i created this addon was that i prefer to play with "Prevent Attacking Innocents" on to avoid randomly hitting something in the middle of a city and turning it on and off just for Blade of Woe (or using a keybind) felt like too much hustle.


Enjoy!

Notes:
  • The addon allows to attack innocents using ANY kind of ability, not just Blade of Woe/Vampire Feed, while the popup is on the screen.

  • Vampire Feed has been added, but NOT tested. Please report any problems with it.

If you like this addon, please check out my other addons Zone Name Alert and Poison Tracker. Thank you!
1.24 - added compatibility fix for Lui

1.23 - api bump for Morrowind patch

1.21 - API bump and LibAddonMenu update.

1.2
Major revision. Added retaliation against innocents:)

1.11
Slight rewrite of the code. Using synergy event instead of prehook to avoid any possible conflicts.

1.1
Added Vampire Feed. Reworked options.

1.01
Now this addon will work with ESO clients in any language.
Archived Files (7)
File Name
Version
Size
Uploader
Date
1.23
47kB
dorrino
05/22/17 10:47 AM
1.21
41kB
dorrino
08/02/16 01:03 AM
1.2
37kB
dorrino
06/15/16 12:42 AM
1.11
36kB
dorrino
06/09/16 05:05 PM
1.1
36kB
dorrino
06/09/16 01:33 PM
1.01
36kB
dorrino
06/09/16 09:24 AM
1.0
36kB
dorrino
06/09/16 12:38 AM


Post A Reply Comment Options
Unread 06/09/16, 07:13 PM  
TairenSoul
 
TairenSoul's Avatar

Forum posts: 0
File comments: 24
Uploads: 0
Great Mod!

Thanks so much for this! Love it!
Report comment to moderator  
Reply With Quote
Unread 06/10/16, 10:59 AM  
dorrino
AddOn Author - Click to view AddOns

Forum posts: 50
File comments: 203
Uploads: 10
Re: Great Mod!

Originally Posted by TairenSoul
Thanks so much for this! Love it!
You're welcome! I'm enjoying it myself I think this should be a toggle in ZOS default interface.
Report comment to moderator  
Reply With Quote
Unread 06/14/16, 09:37 AM  
Coolio_Wolfus

Forum posts: 0
File comments: 28
Uploads: 0
Exclamation Flaw found.

Major flaw:
If you hit an innocent with a weapon or vamp feed, yes it suppresses for the hit/feed...
BUT they become innocent immediately after so you can't finish them off, just let them rail on you.

The issue here is that the Blade of Woe is an instant kill, other attacks and feeding usually leave the target hurt alive and hostile.

Suggestion:

1. (Tougher)
Is it possible to log the target hit and monitor their hostile state, and suppress the innocent block for that target whilst they are hostile/alive.

2. (Easier)
Add a keybind that whilst pressed suppresses the innocent block, this would allow a player to finish off a target whilst still being able to drop straight back to not attacking other innocents.
Last edited by Coolio_Wolfus : 06/14/16 at 09:45 AM.
Report comment to moderator  
Reply With Quote
Unread 06/14/16, 12:07 PM  
dorrino
AddOn Author - Click to view AddOns

Forum posts: 50
File comments: 203
Uploads: 10
Re: Flaw found.

Originally Posted by Coolio_Wolfus
Major flaw:
If you hit an innocent with a weapon or vamp feed, yes it suppresses for the hit/feed...
BUT they become innocent immediately after so you can't finish them off, just let them rail on you.

The issue here is that the Blade of Woe is an instant kill, other attacks and feeding usually leave the target hurt alive and hostile.

Suggestion:

1. (Tougher)
Is it possible to log the target hit and monitor their hostile state, and suppress the innocent block for that target whilst they are hostile/alive.

2. (Easier)
Add a keybind that whilst pressed suppresses the innocent block, this would allow a player to finish off a target whilst still being able to drop straight back to not attacking other innocents.
Thanks! This is indeed a flaw/inconvenience.

At the moment my goal is to make the addon work naturally, without any additional user input, so i'd really like NOT to add special keybinds and stuff.

I'll think about the best solution, in the meanwhile, what if you'll be allowed to attack innocents while you're in combat? I have a feeling it can open a can of worms, but imo it's a thing to consider.
Last edited by dorrino : 06/14/16 at 12:07 PM.
Report comment to moderator  
Reply With Quote
Unread 06/14/16, 12:53 PM  
votan
 
votan's Avatar
AddOn Author - Click to view AddOns

Forum posts: 577
File comments: 1670
Uploads: 40
Re: Re: Flaw found.

Originally Posted by dorrino
Thanks! This is indeed a flaw/inconvenience.

At the moment my goal is to make the addon work naturally, without any additional user input, so i'd really like NOT to add special keybinds and stuff.

I'll think about the best solution, in the meanwhile, what if you'll be allowed to attack innocents while you're in combat? I have a feeling it can open a can of worms, but imo it's a thing to consider.
You may look at Troublemaker for additional situations to turn off "Prevent Attacking Innocents".
What about GetUnitReaction("reticleover")==UNIT_REACTION_HOSTILE ?

/edit: And IsTrespassing()
Last edited by votan : 06/14/16 at 01:04 PM.
Report comment to moderator  
Reply With Quote
Unread 06/14/16, 03:19 PM  
dorrino
AddOn Author - Click to view AddOns

Forum posts: 50
File comments: 203
Uploads: 10
Re: Re: Re: Flaw found.

Originally Posted by votan
You may look at Troublemaker for additional situations to turn off "Prevent Attacking Innocents".
What about GetUnitReaction("reticleover")==UNIT_REACTION_HOSTILE ?

/edit: And IsTrespassing()
Thanks, votan. I already did look into it. And its implementation is too rough to my taste. It's more or less allows to attack innocents as long as you have bounty on you. So it kind of allows for 2 distinct states: a 'normal citizen' who won't attack anybody and a 'fugitive' who can kill anybody he wants.

I see my addon as a 'normal citizen' mode only. You don't want to be able to kill anybody as long as it's not Blade of Woe/Feed. Only 2 distinct cases.

As i've been demonstrated (thanks Coolio_Wolfus!), it needs to handle the situation, when you so happen to end up being attacked by an innocent and you can not retaliate.

Right now the method to solve this, that i'm testing is to allow attacking innocents iff you have a bounty on you, you're in combat and not hidden and your 'reticleover' is in combat, is a 'monster' and is hostile to you. This way hopefully i can reduce the relevant cases to the retaliation vs innocents.

Unfortunately i wasn't able to find 2 things:

1. Is there a way to determine that the target you're currently fighting (UNIT_REACTION_HOSTILE) was previously neutral UNIT_REACTION_NEUTRAL? As opposed to being hostile even before the combat.

2. Is there a way to determine that the target is an innocent, unrelated to its reaction state?

I'd really appreciated any help with those 2.

Basically i need a way to determine if my "reticleover" is an innocent. For now i'm trying to find a workaround.


edit: Btw GetUnitReaction("reticleover") is tricky as hell. For instance it reports UNIT_REACTION_HOSTILE for default state (when your reticle is not on any unit).

Forgot about the 3rd question:

3. Does "reticleovertarget" do anything at all? None of the functions on it return non-nil/false results. Examples: GetUnitType("reticleovertarget"), GetUnitReaction("reticleovertarget"), IsUnitPlayer("reticleovertarget"). At least for mobs.
Last edited by dorrino : 06/14/16 at 03:44 PM.
Report comment to moderator  
Reply With Quote
Unread 06/15/16, 06:18 AM  
Coolio_Wolfus

Forum posts: 0
File comments: 28
Uploads: 0
Lightbulb Thoughts

  1. Innocent and hostile target may be a combination to work from.

  2. A timed suppression, so that once you use an attack you get 5-10 seconds of suppression to kill the target or any innocent but hostile adds.
    This time limit could be configurable in the options to make it more suitable for each playstyle.

  3. A timed suppression when the target is the one hit with innocents suppressed, so once triggered it's on a timer for the now hostile innocent(s) yet if you target another innocent the attack would be blocked.

  4. I agree with voltan that having an option to suppress the block whilst trespassing would be nice too.

  5. URL="http://esodata.uesp.net/100010/src/ingame/reticle/reticle.lua.html"]http://esodata.uesp.net/100010/src/ingame/reticle/reticle.lua.html[/url]

  6. EVENT_RETICLE_TARGET_CHANGED (eventId)
    Somehow use this to suppress on hostiles?

  7. ... (Still thinking...)
Couple of things there that may give further ideas.

Oh and looking at voltan's post it's "reticleover" not "reticleovertarget"
(I have reason to think the overtarget one is used for interactables rather than mobs)

Note: List of DB API changes: https://forums.elderscrollsonline.co...change-log-pts


Ok I think I have found something,
Innocents have a white border (unsure how to detect this state) but I believe this is used to prevent attacking innocents and using:
Azurah - Interface Advanced
With it running I can see their 'disposition' is 'yellow' neutral, when attacked it changes to 'red' hostile, but their border remains 'white' - innocent.
Last edited by Coolio_Wolfus : 06/16/16 at 06:55 PM.
Report comment to moderator  
Reply With Quote
Unread 06/15/16, 08:51 AM  
dorrino
AddOn Author - Click to view AddOns

Forum posts: 50
File comments: 203
Uploads: 10
Re: Thoughts

The new version is out (1.2) please check it out

Originally Posted by Coolio_Wolfus
[*]Innocent and hostile target may be a combination to work from.
Done.

Originally Posted by Coolio_Wolfus
[*]A timed suppression, so that once you use an attack you get 5-10 seconds of suppression to kill the target or any innocent but hostile adds.
This time limit could be configurable in the options to make it more suitable for each playstyle.
Too complicated.

Originally Posted by Coolio_Wolfus
[*]A timed suppression when the target is the one hit with innocents suppressed, so once triggered it's on a timer for the now hostile innocent(s) yet if you target another innocent the attack would be blocked.
Last part is done.

Originally Posted by Coolio_Wolfus
[*]I agree with voltan that having an option to suppress the block whilst trespassing would be nice too.
I tried to do this, then i realized that while trespassing your goal will STILL will be not to attack innocents, because you don't generally want to accumulate bounty. And the new version should manage combat situations. So i gave up the idea to treat trespassing differently.

Originally Posted by Coolio_Wolfus
[*]EVENT_RETICLE_TARGET_CHANGED (eventId)
Somehow use this to suppress on hostiles?
Done

Originally Posted by Coolio_Wolfus
With it running I can see their 'disposition' is 'yellow' neutral, when attacked it changes to 'red' hostile, but their border remains 'white' - innocent.
i'm running azurah as well. Will take a closer look.
Report comment to moderator  
Reply With Quote
Unread 06/15/16, 12:48 PM  
Coolio_Wolfus

Forum posts: 0
File comments: 28
Uploads: 0
Arrow Back with more feedback...

Key parts work perfectly...

2 Concerns:
  1. Can't kill pet "level 1" chickens, cattle, etc as they are innocent.
    Innocent block exemption for Lv1 or named types 'Chicken' etc.?

  2. Wouldn't hitting a hostile innocent with an AOE also hit other innocents?
    May need to suppress AOE's if targeting a hostile innocent if this becomes an issue.
Report comment to moderator  
Reply With Quote
Unread 06/15/16, 04:30 PM  
dorrino
AddOn Author - Click to view AddOns

Forum posts: 50
File comments: 203
Uploads: 10
Re: Back with more feedback...

Originally Posted by Coolio_Wolfus
Key parts work perfectly...
Awesome!

[*]Can't kill pet "level 1" chickens, cattle, etc as they are innocent.
Innocent block exemption for Lv1 or named types 'Chicken' etc.?
This is the first time i ever hear about innocent small creatures. While i'm checking on them could you provide some specific examples? Like exact location and the name of the creature. Because i can't remember one i couldn't kill with Prevent option on.

[*]Wouldn't hitting a hostile innocent with an AOE also hit other innocents?
May need to suppress AOE's if targeting a hostile innocent if this becomes an issue.
VERY fortunately the game does that for us already. You can not attack an innocent with aoe as long as he is not in combat with you, even if Prevent is permanently turned off.

So with my implementation the ONLY way for you to attack an innocent NOT in combat with you with Prevent on - is to use blade of woe/vampire feeding. Hopefully
Last edited by dorrino : 06/15/16 at 06:50 PM.
Report comment to moderator  
Reply With Quote
Unread 06/16/16, 05:40 AM  
Coolio_Wolfus

Forum posts: 0
File comments: 28
Uploads: 0
Arrow Back with more feedback...

Originally Posted by dorrino
Originally Posted by Coolio_Wolfus
Key parts work perfectly...
Awesome!
Am glad you approve of my testing, I do the best I can.

Originally Posted by dorrino
This is the first time i ever hear about innocent small creatures. While i'm checking on them could you provide some specific examples? Like exact location and the name of the creature. Because i can't remember one i couldn't kill with Prevent option on.
It was in Daggerfall, with a few of the 'OWNED' chickens running around, it seems that wild chickens are obviously not so innocent.
I'll try to get a screenshot.

Edit 1:
Having thought about it, I believe these innocent critters are part of the Justice kill achievements, like the Guar Pony and similar.
https://forums.elderscrollsonline.com/en/discussion/156082/where-to-find-killable-livestock
https://www.youtube.com/watch?v=Dv79JkH3w2w
Edit 2:
Screenshots. (In spoiler)
Warning: Spoiler

Originally Posted by dorrino
VERY fortunately the game does that for us already. And you can not attack an innocent with aoe as long as he is not in combat with you.
Glad to read it.

Originally Posted by dorrino
So with my implementation the ONLY way for you to attack an innocent NOT in combat with you - is to use blade of woe/vampire feeding. Hopefully
With your implementation:
You can attack an innocent with ANY attack as long as the 'Press [X]' is shown when you attack.
This includes using the BoW (as apposed to 'a bow', referencing the 'Blade of Woe'), any normal weapon attack or use of a combat ability (including Vampire feeding).
^ This could be restricted by catching the [X] event unblocking and triggering [X] internally, but...
I feel that would be a waste of your time, it's fine the way it is* because...

If you have the 'Press [X]' up you will be looking to attack an innocent anyway.

(* Except for the pet poultry immunity issue, I call a Fowl. )
The added bonus of innocent combat when they are hostile helps with defending against and/or defeating them after feeding, during thefts (pickpocketing, stealing from storage/surfaces, opening strongboxes) or any other combat situation that causes or may cause innocents to attack you.
Last edited by Coolio_Wolfus : 06/16/16 at 03:58 PM.
Report comment to moderator  
Reply With Quote
Unread 06/17/16, 01:46 AM  
dorrino
AddOn Author - Click to view AddOns

Forum posts: 50
File comments: 203
Uploads: 10
Re: Back with more feedback...

Originally Posted by Coolio_Wolfus
Edit 1:[indent]Having thought about it, I believe these innocent critters are part of the Justice kill achievements, like the Guar Pony and similar.
If that's the case, then people trying to kill those chicken are creating a massacre intentionally So they can manually disable the prevent option just for that. Other small creatures should be attackable without problems. Correct?

Originally Posted by Coolio_Wolfus

With your implementation:
You can attack an innocent with ANY attack as long as the 'Press [X]' is shown when you attack.
This includes using the BoW (as apposed to 'a bow', referencing the 'Blade of Woe'), any normal weapon attack or use of a combat ability (including Vampire feeding).
This is correct. And, thinking about it, it even gives options as to how to approach to kiliing those innocents, instead of being restricted into BoW or feeding. I don't think misfires will happen too often and it shouldn't be a problem.

[indent]^ This could be restricted by catching the [X] event unblocking and triggering [X] internally, but...
I feel that would be a waste of your time, it's fine the way it is* because...
I agree with you. I don't really know how to do it exactly, so this thing (if it's even possible) will take hours of investigations.

(* Except for the pet poultry immunity issue, I call a Fowl. )
The poultry is getting out of control!

The added bonus of innocent combat when they are hostile helps with defending against and/or defeating them after feeding, during thefts (pickpocketing, stealing from storage/surfaces, opening strongboxes) or any other combat situation that causes or may cause innocents to attack you.
Exactly.
Last edited by dorrino : 06/17/16 at 01:47 AM.
Report comment to moderator  
Reply With Quote
Unread 06/17/16, 06:16 AM  
Coolio_Wolfus

Forum posts: 0
File comments: 28
Uploads: 0
Talking Back with yet more feedback...

Originally Posted by dorrino
Originally Posted by Coolio_Wolfus
Edit 1: Having thought about it, I believe these innocent critters are part of the Justice kill achievements, like the Guar Pony and similar.
If that's the case, then people trying to kill those chicken are creating a massacre intentionally So they can manually disable the prevent option just for that.
Other small creatures should be attackable without problems. Correct?
Yes, but...
I happen to believe there are a couple of other solutions to the innocent critters dilemma:
  1. Suppress on all level 1 targets.
    Pros:
    • Will allow attacking of the fowl creatures.

    Cons:
    • Will allow the slaughter of innocents on the starter islands.

    • Will break once the game gets fully scaling zones.

  2. Suppress based on a list of named target groups.
    Pros:
    • Will also allow you to attack the fowl creatures.

    • Should still work once the game gets fully scaling zones.

    • Should be able to be included alongside the innocent but hostile check.
      Something along the lines of: If hostile suppress, if on named list suppress, otherwise do nothing.

    • Several of the other addons use similar lists, so this method is tried and tested.

    • Would be expandable to cover any future (DLC) named target groups (like 'Chicken's) that require suppression.

    Cons:
    • The list will have to include the translated names in order to work in all language variants of the game.
      You could however ask for feedback for help translating the list.

    • The list will need updating whenever new targets need adding.
      Not really a con since the addon needs it's version updating for each DLC anyway.

It should be obvious I'd like to see the second version added

Throw in a suppression toggle keybind with an optional mid screen message (tied to the keybind) stating you may or may not attack innocents in an RP style message and I think that would cover everything.

So 3 modes for your "Innocent Assassin (With Vampire Feeding and Fowl Play)" addon:
  1. Innocent
    Assassin
    Mode Selected


  2. Fowl Play
    Mode Selected


  3. Uncontrolled
    Aggression
    Mode Selected
The first with the addon as is, the second with the added group list suppression active and the third with full supression.

Originally Posted by dorrino
The poultry is getting out of control!
Tell me about it...
Last edited by Coolio_Wolfus : 06/17/16 at 06:48 AM.
Report comment to moderator  
Reply With Quote
Unread 06/23/16, 11:33 AM  
Coolio_Wolfus

Forum posts: 0
File comments: 28
Uploads: 0
Exclamation Am now using 'Troublemaker'...

I'm now using 'Troublemaker' an OUT OF DATE addon...
Because your addon is lacking in a feature that would let players have the option to kill owned livestock for a number of achievements...
Report comment to moderator  
Reply With Quote
Unread 06/23/16, 02:25 PM  
dorrino
AddOn Author - Click to view AddOns

Forum posts: 50
File comments: 203
Uploads: 10
Re: Am now using 'Troublemaker'...

Originally Posted by Coolio_Wolfus
I'm now using 'Troublemaker' an OUT OF DATE addon...
Because your addon is lacking in a feature that would let players have the option to kill owned livestock for a number of achievements...
I'll take a look at it when i find the time. No ETA(tm).

ps. By now i see it as the functionality you're asking to be implemented doesn't fit in this particular addon.
Last edited by dorrino : 06/23/16 at 02:38 PM.
Report comment to moderator  
Reply With Quote
Post A Reply



Category Jump: