• 0

    posted a message on New DKP Web Application - BETA testing needed
    Lol, I can't believe you found that file. Nice Job ;P

    As you can see I just called it NamelessDKP for now. Maybe I'm way too picky about names, but I still haven't found one I liked. I'll spend some time working toward 1.0 this weekend and establish a page on Google Code.
    Posted in: General AddOns
  • 0

    posted a message on CrushChance 2.1 - Displays your combat table and chance to be crushed
    Ok, Survival of the Fittest should be correctly detected now. The updater sometimes takes a little while to update though.

    Update is r72558
    Posted in: General AddOns
  • 0

    posted a message on CrushChance 2.1 - Displays your combat table and chance to be crushed
    I completely missed the SoTF talent, sorry.

    I wish these functions were a bit more complete:
    GetCombatRating(CR_CRIT_TAKEN_MELEE)

    Seems to give you the %reduction from resilience but does not include talents, such as SoTF, or debuffs that would increase your chance to take critical hits.

    I'll update the addon for SoTF soon.
    Posted in: General AddOns
  • 0

    posted a message on CrushChance 2.1 - Displays your combat table and chance to be crushed
    Crush Chance 2.1 ChangeLog:

    * Added decimal places option
    * Defense skill now obtained through UnitDefense, which is more accurate
    * Detects if shield is equipped, block is zero if not
    * Tooltip now attempts to show your exact combat table
    * Floating and Fubar number now show your crush chance, not hit & crush

    I read through a lot of the combat table documentation and tried to recreate the combat table as closely as possible. I improved a lot of the calculation code as well. Unfortunately, I haven't found any way to get your increased chance to be hit/crit caused by debuffs such as imp faerie fire and imp seal of the crusader.

    In the next release I'll look at adding a few options to customize which fields are shown in each display.

    Do people want to be able to do something like this in FuBar?
    M:11.9 D:21.7 P:18.9 C:0.0 B:20.8 R:15.0 H:10.0

    Where you could toggle which are shown? And maybe have a display to hide values with zero.

    Also, in the floater I guess I could do the same kind of thing and maybe toggle vertical/horizontal layout.


    -Javek
    Posted in: General AddOns
  • 0

    posted a message on Determining if player has increased chance to be hit/crit from a debuff
    I'm trying to determine if a player has an increased chance to be hit or critically hit due to debuffs for Crush Chance. I tried running the following code while imp seal of the crusader was on the player and the numbers never changed. (Imp SotC increase chance to be critically hit by 3%.

    p('CTM Bonus ' ..GetCombatRatingBonus(CR_CRIT_TAKEN_MELEE))
    p('CTM ' .. GetCombatRating(CR_CRIT_TAKEN_MELEE))
    p('HTM Bonus ' ..GetCombatRatingBonus(CR_HIT_TAKEN_MELEE))
    p('HTM ' .. GetCombatRating(CR_HIT_TAKEN_MELEE))

    I know GetCombatRatingBonus(CR_CRIT_TAKEN_MELEE) returns the crit reduction due to resilience.

    Does anyone know how I can get at this information?


    -Javek
    Posted in: Lua Code Discussion
  • 0

    posted a message on Heal Organizer
    This addon is pretty dead I think. However, my next project is to create a Raid assignments addon, which will replace HealOrganizer's functionality. I'll make a post in General Addons when it's done.
    Posted in: General AddOns
  • 0

    posted a message on DKPmon & Bidder v2.0
    BossAuction probably took me a couple solid weekends to first get out. Inevitably they'll be bugs and edge cases you miss. So I would say expect to spend at least 20 hours or so working on it. More if you don't know lua very well.

    You can copy and paste chunks from the other modules, but there's a certain danger in this. I wrote a wiki page on DKPmon modules, but it was written fairly quickly and is more of a getting started guide.

    I've never worked with a zero sum system, but by default DKPmon has Bank and Disenchant entities you can award to. I expect zero sum will do what you want with the guild bank.

    I implemented timed dkp in Boss Auction. It simply creates a point award for X every Y minutes.
    I think the default fixed module had a Custom Points menu that I also copied in BossAuction. You can use this to give points to people showing up on time at the beginning.

    The attendance thing is your biggest hurdle. DKPmon does not track attendance. Potentially you could scan the logs to calculate attendance but the thing is you don't have all the logs if other officers ran dkp on past raids.

    Your solution to this problem is up to you. Essentially you need to make some attendance number accessible to DKPmon. Here are a few ideas:
    * Manually enter attendance numbers in the officer notes for players (only works if everyone is in your guild), then grab these numbers from your addon.
    * Save attendance in some file that you share or put on your website, then import this file before every raid. You might also generate this file somehow from a dkp web app.
    * Write some code to calculate attendance across all the logs and synchronize it among officers. (This has all kinds of problems and would be extremely difficult)

    Actually, to shamelessly toot my own horn, but you could potentially use my DKP web app and write a module that exports the attendance data. Then you could import this file. You'll have to wait until I finalize the module design first though.

    I tried using EQDKP once. It fit with DKPmon so poorly that I wrote my own dkp web application. I'm not sure how it calculates attendance or if it would get messed up by DKPmon imports.

    First thing I would do is install every module with the features you might want. (Fixed, BossAuction, ZeroSum) and see how each of them work. Then dig into the code and figure out how they implemented these features.


    -Javek
    Posted in: General AddOns
  • 0

    posted a message on CrushChance 2.1 - Displays your combat table and chance to be crushed
    Tixu, thanks for the clarification. I'll update CrushChance with this in mind.

    British, it should work fine for Druids, they just don't have a defense skill in their talent tree ;P

    I just realized that I may be doing some redundant calculations. If warriors have Anticipation, does it actually increase their Defense Skill? So it would say 370 instead of 350 in your skills tab? If this is the case I don't think I need to even look at their talents, just at their defense skill. I'll look at this on my roommate's warrior.
    Posted in: General AddOns
  • 0

    posted a message on LocaleGenerator - Automatically generates your Ace or Rock locale files.
    This is a little lua script I just rewrote recently that takes all those L['...'] strings and automatically generates a locale file for LibRockLocale-1.0 or AceLocale-2.2

    Simply check it out from SVN:
    http://dev.wowace.com/wowace/trunk/LocaleGenerator

    Copy the projects.example.lua file to projects.lua and define your projects.
    Run LocaleGenerator.lua and select the project to convert from the menu.

    The projects.lua file looks like this:
    --[[
      Project Definitions:
      
      The projects defined here will be printed in a menu by LocaleGenerator.lua
      
      Project Attributes:
      folder: The path to the project folder from this directory
      files: A list of files to search for L strings
      localeFile: The locale file to write to WARNING: This file will be overwritten by the script!
      localeEngine: 'LibRockLocale-1.0' or 'AceLocale-2.2'
      ]]
    
    projects={
      CrushChance={
       folder='../CrushChance',
       files={'main.lua'},
       localeFile='CrushChanceLocale-enUS.lua',
       localeType='LibRockLocale-1.0'
      }
    }


    Here's the script:
    --[[
      Generates locale files for your project
      
      Looks for:
      L['*']
      or
      L["*"]
      
      Note: If your L string is split across lines it won't be found.
      
      Define your projects in projects.lua
      ]]
    
    local r = io.open('projects.lua','r')
    if not r then
      print("Copy the projects.example.lua file to projects.lua and edit it for your projects.")
      return
    end
    r:close()
    dofile('projects.lua')
    
    -- Show Menu
    
    print("Projects:")
    local x = 1
    local map = {}
    table.foreach(projects,function(projectName,projectData)
      print(string.format("%d: %s",x,projectName))
      map[x] = projectName
      x = x + 1
    end)
    print("Enter the number of the project to generate locales for: ")
    io.flush()
    local projectNum = io.input():read()
    
    local projectName = map[projectNum + 0]
    
    
    function AddIfUnique(t, s)
      for i,v in ipairs(t) do
       if v == s then
         return
       end
      end
      table.insert(t,s)
    end
    -- Gather L strings
    
    local Lstrings = {}
    print('Generating locale for: '..projectName)
    local projectFolder = projects[projectName].folder
    
    table.foreach(projects[projectName].files, function(k,fileName)
      print('Searching '..fileName..'...')
      local filePath = projectFolder..'/'..fileName
      for line in io.lines(filePath) do
       for s in string.gmatch(line, "L%[%s*'.+'%s*%]") do
         local bracketStart = string.find(s,"%[")
         AddIfUnique(Lstrings, string.sub(s,bracketStart))
       end
       for s in string.gmatch(line, "L%[%s*\".+\"%s*%]") do
         local bracketStart = string.find(s,"%[")
         AddIfUnique(Lstrings, string.sub(s,bracketStart))
       end
      end
    end)
    
    -- Write to Locale File
    local localeFilePath = projectFolder..'/'..projects[projectName].localeFile
    local file = io.open(localeFilePath, 'w')
    
    local localeType = projects[projectName].localeType
    local num = 0
    if localeType=='LibRockLocale-1.0' then
      
      file:write(string.format('local L = Rock("LibRockLocale-1.0"):GetTranslationNamespace("%s")\n',projectName))
      file:write('L:AddTranslations("enUS", function() return {\n')
      table.foreach(Lstrings, function(k,v)
       file:write(string.format("  %s = true,\n",v))
       num = num + 1
      end)
      
      file:write('} end)\n\n')
      
    elseif localeType == 'AceLocale-2.2' then
    
      file:write(string.format('local L = AceLibrary("AceLocale-2.2"):new("%s")\n',projectName))
      file:write('local translations = {\n')
      
      table.foreach(Lstrings, function(k,v)
       file:write(string.format("  %s = true,\n",v))
       num = num + 1
      end)  
      
      file:write('}\n')
      file:write('L:RegisterTranslations("enUS", function() return translations end)\n\n')  
    else
      print("Unknown localeType!")
    end
    
    file:close()
    
    print(string.format("Wrote %d locale strings to %s",num,localeFilePath))




    -Javek
    Posted in: Lua Code Discussion
  • 0

    posted a message on CrushChance 2.1 - Displays your combat table and chance to be crushed
    I've released CrushChance 2.0 and updated the Wiki page. The main additions are FuBar integration and the FuBar tooltip summarizing the calculation. I also improved the code in general. Crush Chance should now accurately calculate for players of any level. Everything is event based and Crush Chance updates whenever your gear, auras, or defense level changes.

    Please reply to this thread with any bugs or feature requests. Also, tell me if you're interested in making a translation.


    -Javek
    Posted in: General AddOns
  • 0

    posted a message on GnomeCruncher: Multi-line Calculator
    I've made few small changes and released 1.1, I modified the first post with the change log.
    Posted in: General AddOns
  • 0

    posted a message on DKPmon & Bidder v2.0
    No, it broke in 2.4

    Wow changed the combat log API substantially. I thought I fixed it, but I think other Addons modify the combat filter and somehow the fix doesn't work. I need to do some more research on the new combat log system.

    For now, you'll just have to use the Boss Points menu. I'll try to fix it within a week.
    Posted in: General AddOns
  • 0

    posted a message on New DKP Web Application - BETA testing needed
    With DKPmon you upload your CSV file and then your logs. There's a points mismatch page in the admin tab that shows where the player's points disagree with the logs. (earned - spent - current != 0)

    Important
    * If you're using the MODx module, disable caching for now. It caches other people's session ids, causing all kinds of havoc. (Everyone gets the permissions of the person who created the cache)

    Known issues
    * Raid items screen is missing the Spent column in IE
    * Percent attendance needs to be rounded off
    Posted in: General AddOns
  • 0

    posted a message on DKPmon & Bidder v2.0
    I've released my DKP web application, see:
    http://www.wowace.com/forums/index.php?topic=12985.0

    I'll be getting an official site up soon, once I come up with a name.


    -Javek
    Posted in: General AddOns
  • 0

    posted a message on New DKP Web Application - BETA testing needed
    I've finally reached a release candidate stage for my DKP web application that I've been working on these past few months. Go take a look at it on my guild's website.

    You'll notice that clicking on a row will always do something, either pop up a detail view or a tooltip. Also, all the tables are paging and sortable server side, so you might have a thousand raids in your database, but only a screenful are downloaded at a time. I'm using the Dojotoolkit for all the javascript stuff.

    Right Now
    So right now I need people to load it up on their servers and inject it into their Content Management Systems and tell me if they have any trouble. Email: [email]javekDev@gmail.com[/email]

    Also, I need a name! I was thinking of calling it "DojoDKP", but I'm not sure I want to use the name of the javascript library in the name of the dkp app. Please reply with any name ideas you have. I'd like to avoid making it specific to Wow as I hope this dkp site can be used for other MMOs.

    Installing
    DojoDKP-0.9.zip
    DojoDKP-0.9.tar.gz
    1. Simply unzip it, and edit the config.php file.
    2. Open your web browser to the location you unziped to and login with the password 'admin'
    3. Go to the Administration tab, install, and click "Create Database"
    4. You should now change the passwords under modules/SimpleAuthentication/config.php
    5. Alternatively, look at the MODx module and try integrating in a similar fashion with your site's login system

    Important: If you're using a auth module that passes in the session id, like MODx, disable caching! Otherwise everyone will be using the session id of the cache.

    Current Status
    Don't dig into the theme or module system just yet as I may change it soon.

    Currently it only imports DKPmon logs and standings. However, I've made a modules system to make it easy to extend the import functionality. If you want to be able to import some other format send me a few samples of the export data from your addon and I'll write an import module.

    I've spent a lot of time testing the database and am confident that it's fairly stable, so don't be afraid to upload all your logs. When I make changes to the database I'll design it to upgrade your data.

    If you're interested in making a new theme start looking at the Dojo themes, in particular you'll be modifying the Grid theme under dojox/grid/_grid/tundraGrid.css. The tabs, grids, buttons etc are all controlled by the dojo theme. There are just a few CSS classes that I've added.

    The Future
    These are future features I plan to implement
    • Create a project website and develop documentation
    • Right now it's not particularly user friend as far as setup goes. You have to edit a config.php file to get started. I plan to create some nice guis for setting up the database and that kind of thing.
    • Filtering (Show warriors only, filter columns on some text)
    • Graphs of attendance, dkp, etc.
    • Online raid editor
    • More import modules


    -Javek

    Posted in: General AddOns
  • To post a comment, please or register a new account.