speth / planetary-annihilation-db Goto Github PK
View Code? Open in Web Editor NEWUnit Database for Planetary Annihilation
License: MIT License
Unit Database for Planetary Annihilation
License: MIT License
A number of weapons are subject to firing_standard_deviation which controls accuracy. This is not shown in PA-DB.
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.
Error: 500 Internal Server Error
Sorry, the requested URL 'http://pa-db.com/?version=84260' caused an error:
Internal Server Error
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'
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
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"
]
},
...
The Typhoon shows as a white square rather than the unit's build icon.
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 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.
Steps to reproduce:
Expected behaviour: Icarus is selected for comparison
Current behaviour: Nothing happens
Workaround: Switch to category "Economy" and select Icarus there.
It would be great to add an additional class member to Units called "assists" that details the units that a given unit can assist.
Currently shows funny stuff like
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)
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.