Welcome to the website of NerfedWar; an online gaming enthusiast, novice power-lifter and crossfitter, developer/contributor of unfinished open-source software/addons and a keen natural horseman.

I currently play RIFT, and am the author of a few popular (and unpopular) addons. I have limited time, you will sometimes find that addons can go for months (years...) without an update. If you can do a little coding then feel free to help out, drop me an email at nerfed dot war at gmail dot come and I'll provide
you with access to the project websites. 

Whenever there is a new addon being developed or updates I tend to write a short blog post, the latest of which can be found below.

Have fun and hope to see you online!

Rift Gadgets

posted 16 May 2012 04:21 by Nerfed War   [ updated 16 May 2012 04:22 ]

A pretty awesome addon has been written for Rift that provides a framework for desktop like gadgets (or sub addons).

First off, many thanks to WT for his hard work in bringing Gadgets to the Rift community, it is likely the best thought-out and presented addon out there and should 'hopefully' act as a base for other authors to develop their own gadgets.

To test out the framework I put together a simple image loading gadgets and was very impressed with the simplicity of the API (see Gadgets_Images).

Over the coming weeks I'm looking at bringing together some of my other addons into a cohesive whole as a package of gadgets called Gadgets_NerfedWar:
  • Images - pimp your UI with your own custom images. - DONE
  • Notes - attach notes to anything you can target in-game and share your comments with other Notes users. - TODO
  • Danger - provides an on HUD element that tells you how much danger you are in, based on incoming DPS, debuffs and how many enemies are targeting you.
  • KnowThineEnemy - provides a HUD that displays the calling and souls of whoever you target. - TODO
  • BookOfTheDead - provides a log of your PVP and PVE (elite or greater only) exploits. - TODO

NerfedButtons4Rift - Version 0.4beta

posted 25 Apr 2012 21:53 by Nerfed War

New version that actually works (and VERY WELL) uploaded together with install/usage instructions. Doubt I'll be doing much more with this project, as I said at the start, just a proof of concept.

Have fun all!

NerfedButtons4Rift - Version 0.2beta

posted 24 Apr 2012 14:41 by Nerfed War

Just uploaded a new version 0.2beta that fixes a few critical bugs that made it into version 0.1 beta (sorry, it was pretty much unusable). Give the new version a go and report back.

You can get NB4R at: http://code.google.com/p/nerfedbuttons4rift/

NerfedButtons4Rift (NB4R)

posted 20 Apr 2012 23:14 by Nerfed War   [ updated 22 Apr 2012 12:04 ]

With the advent of patch 1.8 and some new features like coordinates I decided to revisit my old RiftCastSequencer and see if could be improved to be more intuitive and functional. The end solution is I believe a worthy sibling to the original NerfedButtons addon for Warhammer Online.

Warning and disclaimer: Unlike the original WAR addon, NerfedButons4Rift does use an external program and therefore using it may/will get your account banned. NB4R is the result of a couple of afternoons where I needed a break from my day-job coding and is an exercise in 'is it possible?' rather than something designed to be used in-game.

What is NB4R

Just like it's older sibling, NB4R allows you to define prioritised conditions sequences of abilities. This is easiest explained using and example:

Rift itself supports a powerful macro facility that allows players to bind multiple abilities to a button. Here is a simple example of a basic Rift macro:

cast AbilityA
cast AbilityB
cast AbilityC

When the button is then pressed, Rift cycles through each ability and will 'use' the first ability that passes Rifts own internal 'condition checks':
  • the ability is not on cooldown
  • the target is in range of the ability
  • the ability can be cast on the target
  • etc.
Therefore if you have 3 abilities with a 10 second cooldown (and no other constraints), the following will happen each time you press the button tied to this macro:

  • 1st press: AbilityA will be cast and will begin cooldown.
  • 2nd press: AbilityB will be cast and will begin cooldown.
  • 3rd press: AbilityC will be cast and will begin cooldown.
  • 4th press: If this press happens with 10 seconds of the 1st press then all the abilities will already be on cooldown and nothing will happen.
  • 5th press: If AbilityA has completed it's cooldown then Ability will be cast again.
  • etc.
A problem arises if AbilityB and Ability C do not have cooldowns. In such a situation AbilityB it will always fire if AbilityA is on cooldown and we will never reach AbilityC. To solve this NerfedButtons provides a facility where you can add custom 'condition checks'. One sech check is 'virtual cooldown', where you can attach a cooldown to an ability even if doesn't have one (or increase the cooldown of an ability that does have one).

Virtual cooldown is just one example of the custom condition checks provided by NerfedButtons, others include: is my (or my target's health) below a certain threshold? Do I have X combo/attack points? Do I have a specific buff/debuff etc etc.

Adding custom condition checks into ability sequences can prove very powerful and enable to player to auto respond to events quicker (just like Rift macros, but in a more powerful manner).

Okay, that's enough of an intro, hopefully you haven't got bored and walked away just yet...

Using abilities and casting spells

The initial problem is that Trion (quite sensibly) do not allow you to do the following from an addon:
  1. Cast spells or use abilities
  2. Change the abilities bound to actionbar buttons
  3. Rewrite macros on the fly when in combat
The original NerfedButtons used option 2 to constantly update the abilities bound to actionbar buttons based on whatever checks were in your defined sequences. This is not possible in Rift (the addon api dev seems pretty sharp and is sensibly taking great care to limit what is possible via the addon API based on what Trion deem acceptable).

Overcoming the use/cast problem

As the addon API itself cannot use abilities I need something that can. To get around the limitation we have a simple AutoHotkey script that reads any output to the Rift console log file and if sees a string containing a hotkey in a specific format, it Send the hotkey to Rift, just as if the player pressed the button themselves.

To send output to the Rift console log all you need to do is type /log (into chat) and then any chat messages or addon console messages (sent with the print() function) will appear in the Rift logfile (Log.txt in the Rift directory).

The missing link

Now that we have one mechanism for sending key requests (the print("MYHOTKEY")) function and another mechanism for receiving these requests and acting upon them (the AutoHotkey script), we just need to write an addon that allows you to:
  1. define sequences of abilities/spells
  2. attach conditions to each ability/spell in the sequence
  3. work out which spell/ability should be used/cast when a button is pressed.
whew... still some work to do!

Defining sequences

Rift players are already familiar with the in-game macro facility and therefore NB4R sequences are also defined int he macro editor with a slightly different format. Instead of using the 'cast' keyword in your macro, you use nb, following by the ability name, then your conditions and finally a hotkey (we'll come to the hotkey bit last).

therefore instead of:

cast AbilityA
cast AbilityB
cast AbilityC


we have

nb AbilityA <conditions> <hotkey>
nb AbilityB <conditions> <hotkey>
nb AbilityC <conditions> <hotkey>


simply huh?

If you have no conditions you want attached to an ability then you can use the work 'None' as the conditions. Doing this for all 3 abilities will give us the same basic capabilities as the original macro.

nb AbilityA None <hotkey>
nb AbilityB None <hotkey>
nb AbilityC None <hotkey>

What is this <hotkey> parameter?

As we said earlier, Rift addons cannot use/cast abilities/spells. To get around this we put our abilities/spells on unused hotbars/buttons (side bars are a good choice) and bind keys that we don't normally use in gameplay to these buttons.

I for one never use keys with ALT-SHIFT or CTRL-SHIFT modifiers during gameplay, therefor I add a few sidebars and put abilities AbilityA, AbilityB and AbilityC onto these sidebars with keybinds ALT-SHIFT-1, ALT-SHIFT-2, ALT-SHIFT-3.

NB4R has a shorthand for modifier keys:

^ = CTRL
! = ALT
+ = SHIFT


therefore ALT-SHIFT-1 would be !+1. This gives us the following sequences:

nb AbilityA None !+1
nb AbilityB None !+2
nb AbilityC None !+3

What about those check conditions?

NerfedButtons would be nothing without its custom condition checking. Condition checks are defined as a colon seperated of key=value pairs as follows:

<CHECK>=<VALUE>:<CHECK>=<VALUE>:<CHECK>=<VALUE>


A collection of useful condition checks has been added to NB4R:

VC     (Virtual Cooldown) [0-3600]
TC     (Target Calling)   [M,W,R,C]
PH     (Player Health)    [percent]
TH     (Target Health)    [percent] 
CP     (Combo Points)     [1-5]  
PB     (Player De/Buff)   [name of buff, alphanumerics only] 
TB     (Target De/Buff)   [name of buff, alphanumerics only] 

Lets add virtual cooldowns to the out example sequence:

nb AbilityA None !+1
nb AbilityB VC=10 !+2
nb AbilityC VC=10 !+3
   
now AbilityB and Ability have 10s cooldowns. :)

Sequence Examples

The 'buff yourself' sequence

Some buffs have cooldowns and others haven't making it often a pain to keep yourself buffed. The virtual cooldown checks will help in this situation, but what if you only want to reapply buffs that are missing/stripped, saving time in the middle of combat from having to rebuff everything from scratch. Some buffs are toggles and therefore a simple virtual cooldown based check will just remove the buffs. We need some intelligent buffing! welcome to the PB (Player Buff) check.

Here are the buffs we want our BM/WL/VK warrior to keep up.
  • Bond of Might
  • Bond of Feline Grace
  • Bond of Vigor
  • Battlefield Distraction
  • Battlefield Awareness
  • Void
placing these into a NB4R macro would look like (we capitalise and remove all spaces from the ability names):

nb Bond of Might PB=BONDOFMIGHT ^+1
nb Bond of Feline Grace PB=BONDOFFELINEGRACE ^+1
nb Bond of Vigor PB=BONDOFVIGOR ^+1
nb Battlefield Distraction PB=BATTLEFIELDDISTRACTION ^+1
nb Battlefield Awareness PB=BATTLEFIELDAWARENESS ^+1
nb Void PB=VOID ^+1

hope you think that's as cool as I do :)

Target modifiers

Unfortunately nb4r does not support target modifiers @self, @focus like normal cast macro lines :(

You can however get around this by using seperate target lines in your macro:

nb ....
nb ....
target @self
nb ....
targetlasttarget
nb ....

== Reactives ==

If you have any abilities that are reactives then simply add them to your sequence as normal cast lines.

cast reactive
cast reactive
nb ....
nb ....

Off GCD Abilities

As per reactives, place your off GCD abilities before your nb lines in your sequence. A GCD firing will not affect NB4R from also firing an ability with the same keypress, no need to have your off-GCD abilities 'after' your on-GCD abilities (in fact that won't work very well anymore, put them first!).

Future Improvements

I've come to the end of my 8 or so hours developing NB4R and I doubt I'll work on this project again as this has been more an exercise in what can be achieved with no real consideration of whether this is good thing or not.

The autohotkey integration is very likely a violation of the license agreement (I haven't read it). If you do decide to try NB4R in-game and will likely get your account suspended/cancelled, so to be safe, don't use it!

Some potential improvement could include:

    Get the addon to use coloured 1px x 1px frames to broadcast hotekeys instead of using the console log. AUtohotekey could then use it's pixel reading capabilities to check the colours of these frames and determine what hotkey to send.
   
    Macros 'can' be tied to frames, but the macros must be 'clicked' (no keybinding). This may allow for small frames with each of the abilities in sequences to be precreated and for autohotkey to click these, removing the need to have sidebars with all the abilities you want to sequence on them. I like this idea, instead of sending hotkeys, the addon would send x,y coordinates for autohotkey to click these frames.

You can  get the addon/script from here.

Install Instructions

Install the addon just like any other Rift addon, run the NB4R.ahk script (you'll need autohotkey), turn on chat loggin in-game (/log) and enjoy.
   
That's all for now.

    Have fun coding,
            NerfedWar




Unfinished tutorials

posted 23 Nov 2011 01:07 by Nerfed War   [ updated 20 Apr 2012 23:00 ]

Received another couple of emails regarding the tutorials over the last few days, yes I get distracted easily! :) I'm going to finish off my new addon Book of the Fallen first and I'll then return to the tutorials in 2012.

Book of the Fallen

posted 23 Nov 2011 01:05 by Nerfed War

My new addon Book of the Fallen is coming along nicely. The design is complete and the core coding is almost finished, just need to write the output functions to display the right information on the various pages. The purpose of the addon is to keep track of all your PVP victories and defeats, be they solo or assisted.
Assisted victories/defeats are quite interesting and are an attempt to provide reward for those players who are not running a DPS build but instead heal, distract or simply contribute damage rather than get a solo kill and/or killing blow.

I'll try and get a beta version out this evening :)

LibNotify

posted 12 Oct 2011 23:45 by Nerfed War   [ updated 12 Oct 2011 23:46 ]

I've written a small addon that provides a simple way to display a fading stack of growl-like notification messages to players. The addon is designed to be embedded inside other addons and this is why I've also provided an example addon called DeathAlert. You can find links to everything on the My Software and Addons page.
 
Next-up, a series of tutorials for anyone who wants to write their own addons...

Redesign of website

posted 9 Oct 2011 12:03 by Nerfed War

Slowly redesigning the look of my website. Didn't like the old white text on black look and instead have gone for something which should be easier to read. I'm also moving a lot of addon content onto curse.com and removing a lot of the older static content from this website.

Rift Addons

posted 24 Sep 2011 10:59 by Nerfed War   [ updated 5 Oct 2011 17:04 ]

Now that Rift supports addons I'll be playing with the API over the next few days and getting a few small addons complete. My current task list is:
 * TableInfo - inspect LUA tables
 * LibNotify - Growl like notifications system
 * ChatAlert - notifications on incoming chat messages (supports filtering)
 * CombatAlert - notifications on combat events
 * LUAPad - In-game LUA editor
 
Should be fun :)

Rift Macros and Autohotkey

posted 20 Jul 2011 04:25 by Nerfed War   [ updated 20 Jul 2011 04:53 ]

Having been playing a Mage recently I was quite surprised at how much more difficult the class is to play due to the lack of reactives and abilities with cooldowns to using in sequences within macros.

My warrior quite easily gets away with 3 main buttons and a host of other buttons that are only ever used now and again. My main warrior attack button is a macro that has over 12 abilities lined up, cycling through them perfectly, using ranged or melee attacks where appropriate and instantly activating reactive and other abilities off the GCD.

Not my mage... has a load of dots with no cooldown, making it impossible to chain these together into a sequence within a macro. My buffs also have no cooldown (my warrior has 10 second cooldown on his buffs so I could apply them all from one button). My mage needs 5 buttons just to apply buffs. The list goes on... pretty much the mage class (maybe others as well gets the short-straw when it comes the the usefulness of macros).

This got me thinking, what about writing a simple Autohotkey script to bind sequences to button presses with custom cooldowns... pretty simple to do and here you can find the result, a short Autohotkey script that loads sequences from a configuration file. Now I can apply all my dots using 1 buttons instead of 7, yipeee!.

Will my account get banned if I use this? No idea, it was simply as exercise in using Autohotkey to be honest. I'm off back to play WAR for a bit anyway :)


1-10 of 21