|
|
Click Click Item
__________________________________________________
About this mod
Adds meaning to doubleclicking for certain items and abilities:
Nymphora's Teleport teleports home
- :Portalkey:Portal Key,
Magebane's Flash,
Wretched Hag's Flash of Darkness and
Doctor Repulsor's Ludicruous Speed blink/charge towards home
Glacius' Ice Imprisonment,
Gladiator's Showdown and
Pebbles' Chuck are used on self.
Update: S2 implemented this mechanism in patch 1.0.3!
Their version is coded properly into the game and just as good as (if not better than) this mod, save for a few abilities they decided not to support (Ice Imprisonment, Teleport, Chuck, Flash, Flash of Darkness and Showdown).
The items and abilities supported by their implementation have since been removed from this mod, and you may now use this mod alongside their implementation to add the doubleclicking semantics for the not supported items and abilities as listed above.
__________________________________________________
Download
.honmod version (requires the Mod Manager)
No .s2z version as it'd be incompatible with most other mods out there anyway (any editing ui/game.interface).
__________________________________________________
Will this work with the keystrokes?
Yes, but only if you rebind your hotkeys on this mod's options page.
__________________________________________________
Changelog
v1.6.2 [21.01.12]: Updated to work after the game interface's large scale move to lua in patch 2.5.7.
v1.6.1 [18.02.11]: Updated to work with the new inventory slot numbers from patch 2.0.14.
v1.6 [08.02.11]:
- Removed support for all abilities and items which are supported by S2's implementation and made this mod able to work alongside.
- Now uses the variable S2's implementation uses to determine doubleclick speed (that speed can now be edited for both implementations using the slider in this mod's options).
- Removed camera centering after blinking (which was broken in that would move the camera to where you were before the blink).
- Removed option to "use on selected unit instead of on self".
v1.5.7 [02.02.11]: Removed "Boom Dust" (Bombardier) since with self-cast it's very difficult to cast multiple instances on other units. Added "Ludicruous Speed" (Doctor Repulsor) to charge towards home (until mana is empty).
v1.5.6 [08.01.11]:
- Added teleport positions for Grimm's Crossing and adjusted those for existing maps.
- Made it show up in options without a "Mod Options Framework" dummy.
v1.5.5 [14.12.10]: Updated for HoN 2.0, added support for "Boom Dust" (Bombardier).
v1.5.4 [02.07.10]: Added support for "Showdown" (Gladiator).
v1.5.3 [12.05.10]: Updated for game release.
v1.5.2 [05.05.10]: Removed incompatibility tag for Bangerz' update of Ignorance's Game Keys Replacement.
v1.5.1 [12.04.10]: Added support for The Chipper's Focus Buffer.
v1.5 [07.04.10]: Made "using on currently selected unit (if any)" optional, by default turned off.
v1.4.3 [30.03.10]: Fixed support for Watchtower and Darkwood Vale plus another minor bug.
v1.4.2 [25.03.10]: Adapted to new Mod Options Framework.
v1.4.1 [25.03.10]: Fixed for FE2.
v1.4 [24.03.10]: Cleaned up code *a lot*. Completely circumventing the alias fudge up bug now - should be working for EVERYONE now. Also fixes the console spam bug occurring when watching a replay before playing a game.
v1.3 [19.03.10]:
- Added Chuck (Pebbles).
- Fixed spamming centering the camera on the hero / the well.
- Fixed a bug where this mod would stop working for everyone but me (cause still unknown, but I managed to fix it!).
- Added MiniUI compatibility as requested by popular demand.
v1.2 [15.03.10]: Now supports abilities as well! (+ minor optimizations)
v1.1 [10.03.10]: Now creates an alias for each inventory slot so you can easily manually create bind. Now also supports Tisser's Mod Options Framework allowing easy binding and changing the doubleclick speed.
v1.0 [09.03.10]: Initial release.
Last edited by Notausgang; 01-21-2012 at 06:40 AM.
Can you also make it so double hotkey'ing an item, casts it on yourself? E.g. if you have a healthpotion on the first slot, then ALT+Q->ALT+Q will cast it on yourself?
Niiiice, now just make this work for spells too! (If possible)
Last edited by Lprsti99; 03-09-2010 at 05:20 PM.
I am so clever that sometimes I don't understand a single word of what I am saying.
~Oscar Wilde
Formerly Lprsti99
Well, mods cannot alter game binds properly, but you can manually rebind your keys to this more complex "action":
1. Unbind the key strokes you want to use (e.g. ALT+Q, ALT+W, etc) in HoN.
2. Close HoN.
3. Go to My Documents\Heroes of Newerth\game\ and open startup.cfg with a text editor.
4. Paste the following lines at the end of the file and save it.
To undo this just rebind the ALT+Q, ALT+W, etc keys in HoN options.Code:SetSave useitem28do "ActivateTool(28); Set(cci_tBool, HostTime - cci_lc28 le cci_speed); If (cci_tBool, If (StringEquals(cci_28, '/items/basic/homecoming_stone/icon.tga') or StringEquals(cci_28, '/items/recipes/post_haste/icon.tga') or StringEquals(cci_28, '/items/basic/portal_key/icon.tga'), MinimapClick(cci_x, cci_y))); If (cci_tBool, If (StringEquals(cci_28, '/items/basic/health_potion/icon.tga') or StringEquals(cci_28, '/items/basic/mana_potion/icon.tga') or StringEquals(cci_28, '/items/recipes/push_staff/icon.tga') or StringEquals(cci_28, '/items/recipes/stormspirit/icon.tga') or StringEquals(cci_28, '/items/recipes/charged_hammer/icon.tga') or StringEquals(cci_28, '/items/recipes/nullfire_blade/icon.tga'), SelectUnit(GetSelectedEntity()))); Set(cci_lc28, HostTime);" SetSave useitem29do "ActivateTool(29); Set(cci_tBool, HostTime - cci_lc29 le cci_speed); If (cci_tBool, If (StringEquals(cci_29, '/items/basic/homecoming_stone/icon.tga') or StringEquals(cci_29, '/items/recipes/post_haste/icon.tga') or StringEquals(cci_29, '/items/basic/portal_key/icon.tga'), MinimapClick(cci_x, cci_y))); If (cci_tBool, If (StringEquals(cci_29, '/items/basic/health_potion/icon.tga') or StringEquals(cci_29, '/items/basic/mana_potion/icon.tga') or StringEquals(cci_29, '/items/recipes/push_staff/icon.tga') or StringEquals(cci_29, '/items/recipes/stormspirit/icon.tga') or StringEquals(cci_29, '/items/recipes/charged_hammer/icon.tga') or StringEquals(cci_29, '/items/recipes/nullfire_blade/icon.tga'), SelectUnit(GetSelectedEntity()))); Set(cci_lc29, HostTime);" SetSave useitem30do "ActivateTool(30); Set(cci_tBool, HostTime - cci_lc30 le cci_speed); If (cci_tBool, If (StringEquals(cci_30, '/items/basic/homecoming_stone/icon.tga') or StringEquals(cci_30, '/items/recipes/post_haste/icon.tga') or StringEquals(cci_30, '/items/basic/portal_key/icon.tga'), MinimapClick(cci_x, cci_y))); If (cci_tBool, If (StringEquals(cci_30, '/items/basic/health_potion/icon.tga') or StringEquals(cci_30, '/items/basic/mana_potion/icon.tga') or StringEquals(cci_30, '/items/recipes/push_staff/icon.tga') or StringEquals(cci_30, '/items/recipes/stormspirit/icon.tga') or StringEquals(cci_30, '/items/recipes/charged_hammer/icon.tga') or StringEquals(cci_30, '/items/recipes/nullfire_blade/icon.tga'), SelectUnit(GetSelectedEntity()))); Set(cci_lc30, HostTime);" SetSave useitem31do "ActivateTool(31); Set(cci_tBool, HostTime - cci_lc31 le cci_speed); If (cci_tBool, If (StringEquals(cci_31, '/items/basic/homecoming_stone/icon.tga') or StringEquals(cci_31, '/items/recipes/post_haste/icon.tga') or StringEquals(cci_31, '/items/basic/portal_key/icon.tga'), MinimapClick(cci_x, cci_y))); If (cci_tBool, If (StringEquals(cci_31, '/items/basic/health_potion/icon.tga') or StringEquals(cci_31, '/items/basic/mana_potion/icon.tga') or StringEquals(cci_31, '/items/recipes/push_staff/icon.tga') or StringEquals(cci_31, '/items/recipes/stormspirit/icon.tga') or StringEquals(cci_31, '/items/recipes/charged_hammer/icon.tga') or StringEquals(cci_31, '/items/recipes/nullfire_blade/icon.tga'), SelectUnit(GetSelectedEntity()))); Set(cci_lc31, HostTime);" SetSave useitem32do "ActivateTool(32); Set(cci_tBool, HostTime - cci_lc32 le cci_speed); If (cci_tBool, If (StringEquals(cci_32, '/items/basic/homecoming_stone/icon.tga') or StringEquals(cci_32, '/items/recipes/post_haste/icon.tga') or StringEquals(cci_32, '/items/basic/portal_key/icon.tga'), MinimapClick(cci_x, cci_y))); If (cci_tBool, If (StringEquals(cci_32, '/items/basic/health_potion/icon.tga') or StringEquals(cci_32, '/items/basic/mana_potion/icon.tga') or StringEquals(cci_32, '/items/recipes/push_staff/icon.tga') or StringEquals(cci_32, '/items/recipes/stormspirit/icon.tga') or StringEquals(cci_32, '/items/recipes/charged_hammer/icon.tga') or StringEquals(cci_32, '/items/recipes/nullfire_blade/icon.tga'), SelectUnit(GetSelectedEntity()))); Set(cci_lc32, HostTime);" SetSave useitem33do "ActivateTool(33); Set(cci_tBool, HostTime - cci_lc33 le cci_speed); If (cci_tBool, If (StringEquals(cci_33, '/items/basic/homecoming_stone/icon.tga') or StringEquals(cci_33, '/items/recipes/post_haste/icon.tga') or StringEquals(cci_33, '/items/basic/portal_key/icon.tga'), MinimapClick(cci_x, cci_y))); If (cci_tBool, If (StringEquals(cci_33, '/items/basic/health_potion/icon.tga') or StringEquals(cci_33, '/items/basic/mana_potion/icon.tga') or StringEquals(cci_33, '/items/recipes/push_staff/icon.tga') or StringEquals(cci_33, '/items/recipes/stormspirit/icon.tga') or StringEquals(cci_33, '/items/recipes/charged_hammer/icon.tga') or StringEquals(cci_33, '/items/recipes/nullfire_blade/icon.tga'), SelectUnit(GetSelectedEntity()))); Set(cci_lc33, HostTime);" Alias useitem28 UICall main_panel Evaluate(useitem28do) Alias useitem29 UICall main_panel Evaluate(useitem29do) Alias useitem30 UICall main_panel Evaluate(useitem30do) Alias useitem31 UICall main_panel Evaluate(useitem31do) Alias useitem32 UICall main_panel Evaluate(useitem32do) Alias useitem33 UICall main_panel Evaluate(useitem33do) BindImpulse game ALT+Q Cmd "useitem28" BindImpulse game ALT+W Cmd "useitem29" BindImpulse game ALT+E Cmd "useitem30" BindImpulse game ALT+A Cmd "useitem31" BindImpulse game ALT+S Cmd "useitem32" BindImpulse game ALT+D Cmd "useitem33"
You must have this mod installed or these binds won't work!
THIS IS LARGELY UNTESTED, USE AT YOUR OWN RISK.
edit: I might actually try and incorporate the complicate part of this into the mod one day, but not today
I won't do this for spells as it's based on enumerating all the items it should activate on; and there are just too many spells, and I'm lazy.
Last edited by Notausgang; 03-09-2010 at 05:41 PM.
LOL I was just looking into making something like this, though I wanted to do it via entity files cause I didn't think this was possible. Huge thumps up!
Notausgang, by adding a pair of quotes in the appropriate location, you can add these as real binds to the game's interface. For the default keys you have to do some special things, though.
Look in Right Click Deny for details. It more or less seamlessly replaces right click.
Great mod, thanks for this.
Would love to have this for blacksmiths frenzy though :P
hey notausgang nice mod!
ofc your pasted code for alternative keybinds suffices.
but i'd rather see it implemented in your honmod for easy uninstall/reinstallation.
ask ignorance, asiapingpong or taion for help
all three did mods that rebind hotkeys nice and clean
I actually was planning to just use the Mod Options Framework to easily allow rebinding the keys, but I'll have a look at some of those mods to see how they did it.
And I know those lines I posted could use more quotes, but sadly when saving stuff to startup.cfg some things get lost; this already is a heavily altered version of what I'm using with my read-only startup.cfg.
Last edited by Notausgang; 03-10-2010 at 05:55 AM.