Coder Social home page Coder Social logo

takp's People

Contributors

kai4785 avatar nikolas avatar nokiomanz avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

takp's Issues

Parsing action cleanup

The organic growth in action.c needs some cleanup. The whole "parseVerb" function is too long and isn't named right anymore.

Create an IO abstraction layer

There are a few things one must remember to do in order to read/write files across multiple platforms. Least of which is the O_BINARY flag that's only available on Windows, that we define as 0 on non-Windows platforms.

Specialize magical damage report

It can be useful to see magical damage by value. For instance, spell damage from a weapon proc separate from Damage Shields. Add an option to expand the magical damage report. Something like this:

Spell/DS(Total)            Soandso                47    6  0.13    726 121.00  15.45

Turns into this:

Spell/DS(32)               Soandso                47    3  0.13    726 121.00  15.45
Spell/DS(288)              Soandso                47    3  0.13    726 121.00  15.45

Where 32 damage is my Druid Damage Shield, and 288 is my Scepter of Destruction proc.

When xdotool isn't installed, help the user out

It's hard to see that the problem is that xdotool is missing. Make it easier to see, and help the user install xdotool.

$ ./takp_launcher.sh install
Unable to find config file, so I made one for you. Edit 'REDACTED' to set up your usernames and passwords.
Press Enter to continue

./takp_launcher.sh: line 317: xdotool: command not found
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  864k  100  864k    0     0  1937k      0 --:--:-- --:--:-- --:--:-- 1937k
system wine
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  3278    0  3278    0     0    609      0 --:--:--  0:00:05 --:--:--   793

Handle Ctrl+c

Handle crtl+c, so we can do cleanup on exit. Might be as simple as setting config->follow to false.

Capture Critical Blasts

Logs do not reflect damage done by other player spells, with the exception of critical hits. So let's capture those crits.
Those logs look like this:
Soandso delivers a critical blast! (1699)

Report program version and execution string

As a developer, debugging problems with reports if the report itself contained version and execution information. Add version strings and commandline arguments to the report output.

Sort reporting

Add sorting options to the report. Like
--sort [name,dps,damage]
etc

Report on exit

When --follow isn't specified, check to see if there's an unreported battle before exiting the program.

Handle Finishing Blows

Finishing blows land for 32000+ damage, completely destroying your DPS numbers. We should handle these separately.
Soandso scores a Finishing Blow!!

Report Deaths

It's usually interesting to report deaths that occur.

Human readable dates in Report

The date string is currently parsed into an int for comparison sake. During reporting, it is preferable to see a human-readable format. So we need an int->datestring conversion routine.

When awk isn't gawk, help the user out

When Ubuntu users haven't installed gawk, they get an obscure error:

awk: line 1: syntax error at or near ,

This happens in the gdown40 function that downloads the TAKP.zip from google drive.
Be nice, and help the user install gawk, and use gawk directly.

Parse holy blade

Paladin special melee attacks (like critical hits and crippling blows) look like this:
Soandso's holy blade cleanses his target!(2168)

Uniform code style

More uniformly apply coding style for the following things.

Function names should be StructName_functionName
Struct members should be prefixed with m_
if/for/while should not be followed by a space, ie if(foo).
Open parenthesis should not be followed by a space, neither should a close parenthesis be preceded by a space, ie: for(int i = 0; i ++; i < 10)
Mathematical operators (=, +, -, >, <, ect) should have a single space character on either side.
4 space indentation

What else?

Group reporting by Target

Reports are grouped by Source right now. Sometimes it's a little easier to read if the report is grouped by target.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.