Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Robot salvage system #30456

Merged
merged 46 commits into from
May 23, 2019
Merged

Robot salvage system #30456

merged 46 commits into from
May 23, 2019

Conversation

Fris0uman
Copy link
Contributor

@Fris0uman Fris0uman commented May 12, 2019

Summary

SUMMARY: Content "Make robots salvageable"

Purpose of change

Follow #30282 and Kevins suggestions about salvageable modules that would be require to re-build some robots.

Describe the solution

  • Add salvageable modules
  • Make parts available in descontruction of appropriate robot corpse
  • Add schematics for every robots
  • Add recipe for every robots
  • Add deconstruction recipe to salavage electronics and scrap from modules
  • Make sure that salvageability of modules is affected by damage to robot

Describe alternatives you've considered

Additional context

The list of salvageable modules is open to discussion
Difficulty of recipe is also debatable, it's a bit difficult to judge

Schematics could use a better name
Schematics are super rare, if factories ever get mainlined they probably should spawn there, or any other robot making facilities
Schematics could be rewards from robofac.

Now damage done to a monster with BROKEN death function will be transfered to its body which in turns affect the probability to get component when disassembling.

Some robot part like treads, and legs could be converted to vehicle part when the vehicle code can support it.

data/json/items/generic.json Outdated Show resolved Hide resolved
data/json/items/generic.json Outdated Show resolved Hide resolved
data/json/items/generic.json Outdated Show resolved Hide resolved
data/json/items/generic.json Outdated Show resolved Hide resolved
data/json/items/generic.json Outdated Show resolved Hide resolved
data/json/items/generic.json Outdated Show resolved Hide resolved
data/json/items/generic.json Outdated Show resolved Hide resolved
data/json/items/generic.json Outdated Show resolved Hide resolved
data/json/items/generic.json Outdated Show resolved Hide resolved
data/json/items/generic.json Outdated Show resolved Hide resolved
@ifreund ifreund added <Enhancement / Feature> New features, or enhancements on existing [JSON] Changes (can be) made in JSON Items / Item Actions / Item Qualities Items and how they work and interact Monsters Monsters both friendly and unfriendly. labels May 12, 2019
@Greevv
Copy link
Contributor

Greevv commented May 12, 2019 via email

@Fris0uman Fris0uman changed the title [WIP] Robot salvage system Robot salvage system May 20, 2019
@kevingranade
Copy link
Member

WOW, so much detail in here. This does exactly what I was hoping for, and you threw in a ton of extra content on top of that. I'll have to take a much closer look at balance when I have time, but I very much doubt there are any major issues.
One specific thing I noticed is consider upping the amount of RAM for more advanced bots.

@kevingranade kevingranade merged commit 90c58fa into CleverRaven:master May 23, 2019
@darktoes
Copy link
Contributor

Ooooooooh! Mainline friendly robot content? Yes please!

@Fris0uman
Copy link
Contributor Author

This PR just add parts and recipe for inactive bot, this does not guarantee that the robot will be friendly. If you manage to re-assemble a chicken bot you're very likely to get killed when turning it on.

Mooses2k added a commit to Mooses2k/Cataclysm-DDA that referenced this pull request May 23, 2019
mlangsdorf suggestion on saving ally_rule

remove redunancy

comma

mlangsdorf suggested scope fix

rules.

This makes it work, but text is backwards

fixes so lines up with text in dialogue
CHANGES THE DEFAULT FOLLOW DISTANCE TO 2

Rock as a spare part

Switch build configurations away from trusty

For clang-4 we use the Trusty source on Xenial.

For clang-5 that trick doesn't work, so we retain the Trusty host.

Fix coverage CXXFLAGS code

This was setting CXXFLAGS and LDFLAGS, when it should have been
appending to them.  Without this, Travis builds will fail because they
can't disable warnings on old compilers.

Improve .travis.yml comments

Try trimming down build somewhat

Add clang-7, clang-8 Travis builds

Disable clang-6 and -7 builds on PRs

Don't install unnecessary 32-bit libraries

These two Travis builds were installing 32-bit libraries, for which
there should be no need.

add fire barrels

Update data/json/recipes/recipe_others.json

update per review

Co-Authored-By: Alexey Mostovoy <[email protected]>

Update data/json/recipes/recipe_others.json

update per review

Co-Authored-By: Alexey Mostovoy <[email protected]>

Update furniture.json

update per review

Update furniture.json

Add description to furniture.json

Update data/json/furniture.json

Co-Authored-By: matskuman5 <[email protected]>

Update data/json/items/tool/deployable.json

Co-Authored-By: matskuman5 <[email protected]>

Update data/json/furniture.json

Co-Authored-By: matskuman5 <[email protected]>

Update data/json/items/tool/deployable.json

Co-Authored-By: matskuman5 <[email protected]>

avatar::memorial

moved memorial out of player into the new avatar class

added NPC text

Fix missing declarations (CleverRaven#30739)

* Fix missing declarations
Mark functions with no prior declarations as static, and remove the
unused ones.
* Move debug_is_safe_string definition
Put it inside !WIN32 since it's only used there.

fixed typo in NR-031 description

typo!

acorn_roasted: remove duplicate entry for itype acorn_roasted

There are two acorn_roasted entries in this file. The one removed is
defined prior to the itype it copies from (acorns). The remaining entry
is immediately following the definition of acorns, and can be loaded
without being deferred.

Change to variable name and logic requested by mlangsdorf

Avoid undefined shift

Avoid uninitialized value in jmapgen_int

NOLINT undefined shifts in legacy hash code

Enable clang-analyzer-core.UndefinedBinaryOperatorResult

Have fixed all warnings for this check.

Remove legacy hash code

This was only present in the tests, contained undefined behaviour, and
was obsolete.

Add a --user-dir option to the tests

This gives control over where the tests write files, which allows
parallel test runs to be performed without stepping on each other's
toes.

Use separate user_dir for modded tests

Now the tests can run in parallel, have one of them write to a different
location to avoid failures due to filesystem race conditions.

Changed weight and volume values to be more realistic.

Fixed silly JSON error.

Linted JSON.

Added empty newline at the end of the file to satisfy the JSON linting gods.

Move hydroponics mod folders out of a subfolder

Replaced battery spawn with full pocket batteries

Moved Brawling martial art autolearn code to json

Logic that determines if a martial arts style is learned each turn is controlled by json instead of hardcoded.

Astyle typo fixes

Update MARTIALART_JSON.md

Saving some future person a bunch of time

Add clean water to makeshift steam engine recipe

Allows the player to use clean water to make makeshift steam engines.

Fix copy-from for overmap specials

Restore minimap enemy blink/fade functionality (CleverRaven#30745)

* start conditional panel update infrastructure

* Revert "Remove unnecessary `draw_panels()` calls"

This reverts commit 2db3b84.

* Revert "Only draw panels on first entry into game::get_player_input()"

This reverts commit d629d93.

* commit include file change

* preserve panel spacing (so minimap draws in right location)

* comments are fun.

* adjust draw_panels invocations to force redraw when appropriate

* cleanup of things that shouldn't have been reverted

Fixes cell phone and talking doll weirdness (CleverRaven#30742)

* Added charged phone group.

* Removed initial_charges from cell phone

* Began the work

Added a proper item template to everyone who needs a charged cell phone starting out. This is gonna suck...

* First pass on professions.json

* Fixed professions.json

* Fixed the mods too!

* Removed initial_charges from creepy_doll and talking_doll

* Update data/json/professions.json

Co-Authored-By: ZhilkinSerg <[email protected]>

* Update data/json/professions.json

Co-Authored-By: ZhilkinSerg <[email protected]>

* Modified home_mechanic to have a charged phone

They didn't really need it, but I did it for consistency.

Game report: add precise version and name for systems. (CleverRaven#30729)

* Add precise versions for Windows systems.

* Add Android system version retrieval.

* Simplify formatting for Windows version.

* Add Linux system version.

* make operating_system_version() return '<unknown>' if the version can't be determined.

- Invert condition on Linux version function;

* Simplify Android version retrieval.

* Extract shell execution function.

- will be reused by Linux, Mac and BSD.

* Add MacOS system version.

* Sort methods alphabetically.

* Add BSD version retrieval.

* Fix structure init. Fix error in macos function.

* Fix typo in output...

Robot salvage system (CleverRaven#30456)

* nervous sytem modules
* motor system
* structural system
* tank tread
* ai core
* more AI cores
* Uncraft Robots
* gun fix
* uncraft nursebot
* uncraft turret
* inactive turrets recipe
* manhack recipe
* uncraft hazmatbot
* Add schematics for bots
* schematics item group
* item_groups fro schematics
* recipe for every bot
* uncraft modules
* add self_monitoring_module to nurse and cleaner bots
* Damage overflow from a robot is transfered to its corpse
* sane crafting time
* flavor on robot death
* can't repair broken robot items
* electronics is used skill, mechanics is required

mall miscellanious files

pallet, overmap_terrain, item_groups, multitile_city_buildings entries

2nd story, roof enhancements

Adds 2nd story and more work on the roof

move item_group

per feedback

Add AT4 (CleverRaven#30734)

* Added AT4 to guns_launcher_rocket itemgroup
* Add AT4

disp_name and skin_name

stomach and guts

Fix some typos in uninstall bionic (CleverRaven#30763)

* fix uninstall typos
@Fris0uman Fris0uman deleted the robot_salvage branch June 17, 2019 11:26
@Rail-Runner Rail-Runner mentioned this pull request Sep 3, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
<Enhancement / Feature> New features, or enhancements on existing Items / Item Actions / Item Qualities Items and how they work and interact [JSON] Changes (can be) made in JSON Monsters Monsters both friendly and unfriendly.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

8 participants