Code Monkey home page Code Monkey logo

planetary-annihilation-db's People

Contributors

efitzkiwi avatar speth avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

planetary-annihilation-db's Issues

Doesn't track shot deviation

A number of weapons are subject to firing_standard_deviation which controls accuracy. This is not shown in PA-DB.

Orca missing torpedo

The Orca is listed with only four weapons, its cannons, but it also has a torpedo launcher which is not listed. This is correctly displayed in the Unit Database mod.

Fails to parse Legion Expansion mod units

I'm trying to use this to provide me an easy way to examine stats from the Legion Expansion mod.

I've used two padb.json setups:

{
    "pa_root": "C:/Program Files (x86)/Steam/steamapps/common/Planetary Annihilation Titans/media",
    "mods_root": "C:/Users/username/AppData/Local/Uber Entertainment/Planetary Annihilation/server_mods",
    "versions": []
}
{
    "pa_root": "C:/Users/username/Documents/GitHub/Legion-Expansion",
    "versions": []
}

The first worked correctly, but loading the Legion server mod did not result in the units being added to the unit list.

The second starts the web server correctly, but then errors when units.py tries to parse the unit files:

Error: 500 Internal Server Error

Sorry, the requested URL 'http://localhost:8080/' caused an error:

Internal Server Error
Exception:

AttributeError("'tuple' object has no attribute 'add'",)
Traceback:

Traceback (most recent call last):
  File "C:\Users\username\Documents\GitHub\planetary-annihilation-db-master\bottle.py", line 764, in _handle
    return route.call(**args)
  File "C:\Users\username\Documents\GitHub\planetary-annihilation-db-master\bottle.py", line 1575, in wrapper
    rv = callback(*a, **ka)
  File "C:\Users\username\Documents\GitHub\planetary-annihilation-db-master\webunits.py", line 228, in callback
    db = get_db()
  File "C:\Users\username\Documents\GitHub\planetary-annihilation-db-master\webunits.py", line 199, in get_db
    LOADED_DBS[key] = WebUnits(version, mods)
  File "C:\Users\username\Documents\GitHub\planetary-annihilation-db-master\webunits.py", line 69, in __init__
    self.load_units()
  File "C:\Users\username\Documents\GitHub\planetary-annihilation-db-master\units.py", line 194, in load_units
    self.apply_corrections()
  File "C:\Users\username\Documents\GitHub\planetary-annihilation-db-master\units.py", line 207, in apply_corrections
    self.units['titan_structure'].unit_types.add('Titan')
AttributeError: 'tuple' object has no attribute 'add'

Compare stats

would be nice if i could put two units side by side on the same webpage for easier comparison. also if it highlighted in red when on unit was worse in an area than the other

DPS calculation

I seems the DPS calculation does not account for multiple barrel weapons (which have more than one bone attached to the same tool weapon)

An example of this is the Orca, it has only two weapons, but each weapon has two barrels. The projectiles each do 50 damage, but the Orca fires two projectiles from each weapon every time they are fired. The result is that the Orca actually has double the stated DPS.

   ...
    {
      "spec_id": "/pa/units/sea/destroyer/destroyer_tool_weapon.json",
      "record_index": 0,
      "fire_event": "fired0",
      "aim_bone": "bone_pitch01",
      "projectiles_per_fire": 2, // see here we have double projectiles
      "muzzle_bone": [ 
        "socket_leftMuzzle01",
        "socket_rightMuzzle01"
      ]
    },
    ...

Getting this to work with a mod

Hi Speth, nice work on this!

Now that server mods are getting more complex, it would be nice if pa-db could support them. Would it be possible for padb.json to accept a new "pa_mod" attribute that points to a second directory? You could assume that the new folder has the same structure as the pa_root but some or most of the files may be missing. If a file is not in pa_mod, look for it in pa_root instead. This would let shadowed files override original PA files.

As an example, the mod I am trying to make a pa-db for is here: https://github.com/pamods/mods-conundrum/tree/master/cLeagueOfCommanders

Legion commanders don't show

Legion operates by replacing the Invictus and Aseon commanders with its own. However there's no way to view their stats in pa-db. Showing Commander variants does not display them.

Assist

It would be great to add an additional class member to Units called "assists" that details the units that a given unit can assist.

Ragnarok stats

Currently shows funny stuff like

  • Weapon energy consumption: 2 / s
  • Damage: 0.0 DPS: 0.0 damage every 1.00 seconds (1 shot per second)
  • Metal consumption: 56 per shot (56.0 per second)
  • Energy consumption: 1500000 per shot (1500000.0 per second)

Should display weapon as destroys planet in 56 seconds.

Look for ammo_type PBAOE and "planet_impact_spec" in the ammo spec file. In the tool spec, if start_fully_charged = false then

If ammo_source = metal or energy, economy consumption as usual and time till planet destruction as implied.

If ammo_source = time then you disregard whatever value is in ammo_demand and treat is as if it was ammo_demand = 1. So an ammo_per_shot of 100 = 100 seconds till the weapon fires. Assuming that ammo_per_shot is less or equal to ammo_capacity.

If ammo_source = infinite then time till weapon fires is same as for metal/energy except there is no economy consumption. ammo_per_shot/ammo_demand.

Otherwise if !start_fully_charged = false then you would disregard all the ammo calculations and just say instant destruction of the planet on completion.

You might also want to add the delay_time value in the ammo file in planet_impact_spec.

So in ragnarok's case where delay_time = 5, it would be planet destruction in 60 seconds (56 + 5 - 1 for game starting the count on 1 instead of 0)

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.