diff options
author | Your Name <you@example.com> | 2021-04-20 12:40:37 -0400 |
---|---|---|
committer | Your Name <you@example.com> | 2021-04-20 12:40:37 -0400 |
commit | cd57ad6e208728bafcbc8c7d7b85d88603706978 (patch) | |
tree | 7cb0fc9511a0e8124e497d53edbe38d646dd8299 /src/dmtool.cc | |
parent | 2cae1aa33f80ce0844fb54a84ce103146a7fe7ad (diff) | |
download | dmtool-cd57ad6e208728bafcbc8c7d7b85d88603706978.tar.gz dmtool-cd57ad6e208728bafcbc8c7d7b85d88603706978.tar.bz2 dmtool-cd57ad6e208728bafcbc8c7d7b85d88603706978.zip |
Updated natural armor and skills
Diffstat (limited to 'src/dmtool.cc')
-rw-r--r-- | src/dmtool.cc | 27 |
1 files changed, 21 insertions, 6 deletions
diff --git a/src/dmtool.cc b/src/dmtool.cc index 7f2c72c..f9d32ab 100644 --- a/src/dmtool.cc +++ b/src/dmtool.cc @@ -17,24 +17,34 @@ void usage(string exename) { cout << indDesc << "List creatures and objects.\n"; cout << indOpt << "cp old-path new-path\n"; cout << indDesc << "Copy old-path to new-path.\n"; + cout << indOpt << "mv old-path new-path\n"; + cout << indDesc << "Move old-path to new-path.\n"; cout << indOpt << "rm path\n"; cout << indDesc << "Remove existing creature, object, or directory.\n"; cout << indOpt << "roll path name\n"; cout << indDesc << "Roll a skill check, save, or attack.\n"; cout << indOpt << "damage path amount [type]\n"; cout << indDesc << "Damage creature by amount. Type defaults to \"force\".\n"; + cout << indOpt << "heal path amount\n"; + cout << indDesc << "Heal creature by amount.\n"; + cout << indOpt << "reset path\n"; + cout << indDesc << "Reset creature to full health (as if completing a long rest).\n"; cout << indOpt << "set path field value\n"; cout << indDesc << "Set a field to a new value, where field is any of:\n"; cout << indDesc << " ability (str, dex, con, int, wis, cha); value is new ability score\n"; cout << indDesc << " skill (athletics, \"sleight of hand\", etc.); value is (none|proficient|expert)\n"; - cout << indDesc << " name; value is new given name\n"; - cout << indOpt << "add path object\n"; - cout << indDesc << "Add object to creature's inventory. If it is armor or a weapon, it will automatically be equipped (if applicable)\n"; - + cout << indDesc << " name; value is new given name.\n"; + cout << indOpt << "add path entry\n"; + cout << indDesc << "Add entry to creature, where entry is an item or spell.\n"; cout << indOpt << "help\n"; cout << indDesc << "Show this help.\n"; } +void print(string path) { + creature::Creature c(utils::loadJson(path)); + cout << genText(c); +} + void list(vector<string> args) { string baseDir = settings::getString("savedir"); vector<string> listPaths; @@ -48,8 +58,7 @@ void list(vector<string> args) { for(auto listPath : listPaths) { if(fs::is_regular_file(fs::status(listPath))) { // Try loading and printing stuff about it - creature::Creature c(utils::loadJson(listPath)); - cout << genText(c); + print(listPath); } else if(fs::is_directory(fs::status(listPath))) { for(fs::directory_entry path : filesystem::directory_iterator(listPath)) { @@ -64,9 +73,12 @@ void list(vector<string> args) { } void cp(vector<string> args) {} +void mv(vector<string> args) {} void rm(vector<string> args) {} void roll(vector<string> args) {} void damage(vector<string> args) {} +void heal(vector<string> args) {} +void reset(vector<string> args) {} void set(vector<string> args) {} void add(vector<string> args) {} @@ -82,9 +94,12 @@ int main(int argc, char *argv[]) { args.erase(args.begin()); if(cmd == "ls") list(args); else if(cmd == "cp") cp(args); + else if(cmd == "mv") mv(args); else if(cmd == "rm") rm(args); else if(cmd == "roll") roll(args); else if(cmd == "damage") damage(args); + else if(cmd == "heal") heal(args); + else if(cmd == "reset") reset(args); else if(cmd == "set") set(args); else if(cmd == "add") add(args); else if(cmd == "help") usage(exename); |