nornagon / cdda-guide Goto Github PK
View Code? Open in Web Editor NEWThe Hitchhiker's Guide to the Cataclysm
Home Page: https://cdda-guide.nornagon.net
License: GNU General Public License v3.0
The Hitchhiker's Guide to the Cataclysm
Home Page: https://cdda-guide.nornagon.net
License: GNU General Public License v3.0
It would be great to be able to choose either stable or experimental as the data source.
This poses a challenge in that the code is dependent on specifics of the data schema. e.g. sometimes data fields get renamed, so the version of the guide that can display the latest experimental won't necessarily be able to display the data from stable.
It might be worth it to have two separate versions of the guide, one which handles the latest stable and one which handles the latest experimental. When CDDA stable is released, the guide code can be frozen for the stable version, so it will continue to work as it did at the time stable was released. The stable version of the guide won't get new features that are available in the experimental version, but the data will all be correct and the guide should function just as it did when stable was released.
purifier_smart_shot currently has no "obtaining" section. It looks like it only spawns in nested mapgens.
$ fgrep -r _smart_shot src/ data/
data/json/items/comestibles/mutagen.json: "id": "purifier_smart_shot",
data/json/mapgen/lab/lab_modular/lab_nests_modular/lab_nested_mutagen.json: { "item": "purifier_smart_shot", "x": 5, "y": 1, "chance": 100 },
data/json/mapgen/lab/lab_modular/lab_nests_modular/lab_nested_mutagen.json: { "item": "purifier_smart_shot", "x": 5, "y": 6, "chance": 100 }
data/json/mapgen/lab/lab_floorplans_finale1level.json: "mapping": { "r": { "item": [ { "item": "purifier_smart_shot", "chance": 100 } ] } },
data/mods/No_Hope/Mapgen/lab_floorplans_finale1level.json: "mapping": { "r": { "item": [ { "item": "purifier_smart_shot", "chance": 100 } ] } },
The guide is currently missing information on how to obtain a lump of clay https://nornagon.github.io/cdda-guide/#/item/clay_lump
We should parse this:
https://github.com/CleverRaven/Cataclysm-DDA/blob/b757057ad12a9044424691b4a0476d1e172cd1ec/data/json/construction.json#L3259-L3271
Some tools provide qualities only when they are powered. One example is a cordless drill:
"charges_per_use": 5,
"qualities": [ [ "SCREW", 1 ] ],
"charged_qualities": [ [ "DRILL", 3 ] ],
The guide does not currently report that:
https://nornagon.github.io/cdda-guide/#/tool_quality/DRILL
it does, though. spawn there.
The item list is obviously great for finding out about a particular weapon, but I often find myself wanting to approach from the other direction. E.g. I want to look at every pistol, or every 5.56 rifle. It would be great if each weapon listed certain categories it belonged to, and if those categories had pages listing the relevant weapons, just like materials or mutation categories work currently. The relevant categories I can think of are:
These should also be visible and linked on the weapon's page and, in the case of weapon_category, on the various martial arts pages as well. Those could probably stand to list every weapon they include, actually.
(Thanks for adding martial arts, btw. That was starting to get real hard to keep track of.)
It could be handy to know when a specific item can be crafted as byproduct.
Example: you can get glycerol when you craft soap bars. This is not stated in the guide, it seems that the only way to obtain glycerol is looting, even though in the soap bar page there's glycerol listed as byproduct
It would be nice to be able to see the directory + file name from which the raw JSONs (recipe + item) have been pulled. If you want to modify something, you know immediately where to find it and you don't have to a do a search on all the json files for the name/id of the item :)
It may be worth considering adding the practice recipes to the guide. Not the most pressing thing, but worth considering.
Many vehicle parts use flags that don't show up in vp_flags.json (or anywhere else), which leaves the Flags catalog a little lacking. I've submitted CleverRaven/Cataclysm-DDA#49168, which would fix it without requiring any further code on this end.
Not sure what the right handling is for the LIGHT_# flags on items. (Merging them all into LIGHT? Pretending they don't exist?) They have special handling in item_factory.cpp and there are arbitrarily many of them.
Some items in the directory e.g. https://nornagon.github.io/cdda-guide/#/item/jacket_leather_tire are displaying encumbrance values for when they don't fit - that armor should show 10 encumbrance, not 20. This makes the listed encumbrance values confusing and inaccurate to what you'd get in the game if you found a piece that fit, or crafted it, or repaired a piece. Since not all items that have encumbrance even use the FIT flag it's unclear when looking at the guide whether the numbers are accurate.
It sounds annoying to program, but I suggest figuring out a way to make it so all items are shown with their FIT encumbrance values just for clarity's sake, or perhaps include a toggle so that people can see it either way.
https://nornagon.github.io/cdda-guide/?v=cdda-experimental-2021-12-31-0454#/item/clay_lump
There was a problem displaying this page. Not all versions of Cataclysm are supported by the Guide currently. Try selecting a different build.
too much recursion
Hello. Is there a way to change locale of the guide? I have troubles with english so it would be cool if i can somehow change it to other language, that i actually use ingame.
from the discord coversation over here
using a url such as https://nornagon.github.io/cdda-guide/#/search/atomic%20coffee
technically works, despite having atomic%20coffee
in the search box. it should probably be getting translated back to printables.
but some other terms do not work correctly from url form: scanner%20bed
claims no results, while scanner bed
provides one.
barbed%20wire
should have two matches, but also claims no results.
This page does not display anything (throws an exception). Looks similar to #26
https://nornagon.github.io/cdda-guide/#/item/flashlight
Other pages load fine
E.g., the steel frying pan has both level 3 and level 2 food cooking quality. Presumably because after extending from base_cookpot, it doesn't delete the COOK 3 quality. It does apply the extend COOK 2 quality though.
Relevant excerpts from dining_kitchen.json:
{
"abstract": "base_cookpot",
...
"qualities": [ [ "COOK", 3 ], [ "BOIL", 2 ], [ "CONTAIN", 1 ], [ "CHEM", 1 ] ],
},
{
"id": "steel_pan",
"name": { "str": "steel frying pan" },
"copy-from": "base_cookpot",
...
"delete": { "qualities": [ [ "COOK", 3 ] ] },
"extend": { "qualities": [ [ "COOK", 2 ] ] }
}
Addtionally linked to this, the food cooking tool quality page lists the steel frying pan as a level 3 food cooking item when it is only level 2 (though, I assume this will be fixed automatically once the base issue is fixed)
Maybe this is a bit weird, but can vehicles be added?
Hi,
the readme mentions that
"The Guide stores all its data locally and is offline-capable, so you can take it with you whereever you go. It's also installable, so you can pop it out of your browser like a regular app."
Could you add instructions for how to use the guide offline/install it locally? This gets asked on the CDDA Discord occasionally.
No entries load in firefox, either when searched or when input direct to the address bar.
"place_loot": [
...
{ "item": "baseball", "x": [ 1, 21 ], "y": [ 31, 46 ], "chance": 90 }
],
Unfortunately I am unlikely to get around to debugging this any time soon.
As said here, I'm seeing consistent lagging while filling search field. Win7 64, firefox 78.9.0esr. Attached profiling is showing me trying to search for "heavy duty frame" (without quotes, of course), which takes about 30 seconds to complete.
Suggested easy fix: add 0.5s-1s wait-after-last-keypress timer to search. We don't usually need to see each and every item fitting left(what we actually search for, N)
for each and every N
The browser doesn't seem to correctly show any results for anything. When initially opened, the browser can search for items correctly, but trying to click on items for more info pulls up a blank page. After this, even clicking the banner at the top doesn't bring one to the initial page.
Many types of ammunition are displaying the incorrect values. Specifically, every version of a particular kind of ammunition tends to display the damage, penetration, etc. of the base type. As an example, compare the three different types of 5x50mm ammo:
https://nornagon.github.io/cdda-guide/#/item/5x50dart
https://nornagon.github.io/cdda-guide/#/item/reloaded_5x50dart
https://nornagon.github.io/cdda-guide/#/item/5x50heavy
They all display as 20 damage and 30 pen, but in-game the reloaded has 18 damage, 21 pen, and Penetrator has 25 damage, 50 pen.
This seems to be an issue with how the Guide handles copy-from and the related "relative" and "proportional" fields, which a lot of ammo uses.
With recent additions and changes to mutations, existing resources like the wiki are growing increasingly outdated. It would be very helpful if the Guide could extract and display traits and mutations the way it does for items and monsters.
The most valuable feature would be the ability to select a given mutation line and see all mutations associated with it, ideally separated into pre- and post-threshold. For individual mutations, it would of course be good if the Guide could parse information like stat bonuses and attack frequency, but the only information that needs to be there is the name of the mutation, its description, what threshold(s) it's associated with and whether it requires crossing the threshold or not. Plus the raws, naturally.
It would be great if the Guide was able to include content from the mainline mods, notably Aftershock and Magiclysm.
Ideally, it would be possible to select which mods you want to have "active", and mod content should definitely be clearly marked as such.
perhaps on the front page?
from @novel on discord, would be useful for finding things you don't know the name of.
items could be categorized as in the game (book/ammo/armor/etc.)
monsters could be categorized by species or faction perhaps?
furniture doesn't really have a categorization...
This would be a more development/modding focused use case but would it be possible to input a mapgen palette id and then the guide could spit out the unused symbols remaining to be used?
Clicking on FLAG should also list items having that flag.
For example I want to find all foldable parts.
i think the item id needs to be url-decoded
"How do I get a long stick?" Our guide currently does not give a satisfactory answer. As far as I can tell you are supposed to bash a young tree. We do provide a reference from a tree to long stick, but not the other way around.
$ shopt -s globstar; jq '.[] | select(.bash | .. | .=="stick_long") | .id' data/json/**/*.json
"t_tree_alder"
"t_tree_alder_harvested"
"f_hedge_short"
"f_hedge_tall"
"f_topiary_abstract"
"f_topiary_animal"
"f_topiary_dragon"
"f_beaded_door"
"f_beaded_door_o"
"f_utility_pole"
"f_butcher_rack"
"t_tree_walnut"
"t_tree_walnut_harvested"
"t_tree_chestnut"
"t_tree_chestnut_harvested"
"t_tree_beech"
"t_tree_beech_harvested"
"t_tree_hazelnut"
"t_tree_hazelnut_harvested"
"t_tree"
"t_tree_harvested"
"t_tree_cottonwood"
"t_tree_elm"
"t_tree_dead"
"t_tree_young"
"t_tree_apple"
"t_tree_apple_harvested"
"t_tree_pear"
"t_tree_pear_harvested"
"t_tree_coffee"
"t_tree_coffee_harvested"
"t_tree_cherry"
"t_tree_cherry_harvested"
"t_tree_juniper"
"t_tree_juniper_harvested"
"t_tree_peach"
"t_tree_peach_harvested"
"t_tree_apricot"
"t_tree_apricot_harvested"
"t_tree_plum"
"t_tree_plum_harvested"
"t_tree_mulberry"
"t_tree_mulberry_harvested"
"t_tree_elderberry"
"t_tree_elderberry_harvested"
"t_tree_pine"
"t_tree_deadpine"
"t_tree_birch"
"t_tree_birch_harvested"
"t_tree_willow"
"t_tree_willow_harvested"
"t_tree_maple"
"t_tree_maple_tapped"
"t_tree_hickory"
"t_tree_hickory_harvested"
"t_tree_pistachio"
"t_tree_pistachio_harvested"
"t_tree_almond"
"t_tree_almond_harvested"
"t_tree_pecan"
"t_tree_pecan_harvested"
"t_tree_hickory_dead"
Items pages don't load.
Furniture and monster pages work normally.
this came up on the development discord that in the description for the guide, you advertise you can make an offline copy, but don't give instructions for how to do this.
i originally assumed the person was asking about installing it, but you mention installing as a separate thing from an offline copy
in my tests i wasn't able to determine how to make a local copy of the guide that actually functions. it'd be nice if there was something to indicate how to do that on at least the popular browsers
Per the discussion at https://discordapp.com/channels/598523535169945603/598523535169945607/832257276696985620, these flags apparently cause cut damage listed in the JSON for the weapon to be treated by the game as piercing and displayed as such when viewing the weapons ingame. The Guide mirroring this behavior would reduce confusion.
I cloned the repo and ran yarn dev
, but without unifont.woff
in ./public
all I see is a blank page
I really love this site and use it all the time however, I noticed that some (newer?) locations do not seem to show up on the site, despite it seeming to scan from the game's database of locations.
For instance, the Trans Coast Logistics lab does not appear at all in drop rates. Probably a few more as well however, this can lead to significant holes in loot table searches and similar.
Sticks are now stout branches and have the description, "A respectable length of tree branch, just big enough to wrap your hand around. Makes a decent melee weapon."
Long sticks are now long stout branches and have the description, "A straight section of wood from a tree branch, about eight feet long and a couple of inches in diameter. Makes a decent melee weapon, and can be broken into shorter pieces for crafting."
Both, bundles of stout branches and bundles of long stout branches use the antiquated name in their disassembly list.
Weapons data doesn't include noise values for firing or reloading.
It'd be nice if you could do, for example, -hhg vs zombie_hulk kevlar_hulk to get a two-paned page similar to the item comparison page ingame, or -hhg vs barrett ruger to get an item comparison between the two.
Just, each flag that's unique would be green on that side, each number that's bigger would be green on its side and red on the other, etc.
we already show what locations a particular item can be looted in. we should also show the inverse; what items can be looted in a particular location.
it might also be cool to show:
Item death drop chance is "0.00%" for some really rare items.
Maybe show something like "(< 0.01%)" when rounded result evaluates to 0.00%?
cdda-guide/src/types/Monster.svelte
Line 433 in 599f4db
In-game, the leather wallet isn't able to be cut up because it weighs less than a leather patch.
The way to obtaining be balm ans several other items is by foraging bushes. The guide does not currently say that.
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.