Skip to content

Commit

Permalink
merge master into branch to enable mission completion (#22)
Browse files Browse the repository at this point in the history
* reorganized to support expansion

* reorganized to support expansion

* removed sentences that shouldn't be there

* fixed log stable appearing as kitchen construction

* Reworked to push expansions back to the top level + doc

* testing disallows base name recipe changes

* removal of characters in middle of token managed to offend secret json format mandate

* Adjusted to CleverRaven#46278

* incorporated some old reverse conflict changes

* reorganized the stuff added while this PR was suspended

* reorganized the stuff added while this PR was suspended

* Fix bike shop variant roof

Fix the bike shop variant 1 having an empty roof

* Change stairs to ladder

Changed stairs down to ladder down

* Update the table of contents

* Remove duplicate shortcut keys from interaction menu

Fixes CleverRaven#51772

Co-authored-by: David Seguin <davidseguin@live.ca>

* Jsonified dead scientists map extra

* Use string_id for update_mapgen and nested_mapgen

These ids were previously just using strings; better to use a dedicated
string_id type.

This required adding an actual type for the string_id to point to in
each case, wrapping the collection of mapgen_function_json objects.

* Update cooking_components.json

* Force recipes to provide (sub)category

As suggested in CleverRaven#50866, require all recipe definitions to provide a
category and subcategory when loading from JSON.

* Add subcategory to Magiclysm recipe

* Clarify description of mon_zombie_dog (CleverRaven#51801)

See <https://discord.com/channels/598523535169945603/598614717799596055/890213920957161472> on the dev discord.

* Test disabling expensive LGTM checks (CleverRaven#51806)

Disable one LGTM checks to see if there's hope of reducing the runtime
thereby.

* Mythos Mod Resubmission (CleverRaven#51796)

* Mythos Mod Resubmission

* Remove Occulti as maintainer

* Fix typo in "Storehouse survey" blueprint name

* Add dialog activity functions, and flag to prevent activity being interrupted (CleverRaven#51809)

* Add dialog stuff

* docs

* Update player_activities.json

* use snippets (CleverRaven#51663)

Co-authored-by: Saicchi <Saicchi@users.noreply.github.com>
Co-authored-by: Kevin Granade <kevin.granade@gmail.com>

* Blacksmithing tongs and cooking tongs are two diffrent things.  (CleverRaven#51672)

* Add blacksmithing tongs.

The tongs in game wouldn't be able to carry around a four kilo zweihander. They are designed for cooking and flipping food, so they are very lightweight and thing, they would most likely bend under the heat of the hot metal.

* Added the need to use blacksmithing (flatjaw) tongs for the Zweihander

Not using tongs for smithing is almost impossible.

* Change the blacksmithing toolset to include the tongs.

I also removed the tongs from the tools on the zweihander.

Co-authored-by: Anton Burmistrov <Night_Pryanik@mail.ru>
Co-authored-by: Kevin Granade <kevin.granade@gmail.com>

* More granular json-style and astyle (CleverRaven#51731)

* More granular json-style and astyle

* Melee practice and training dummies (CleverRaven#51598)

* Melee practice
Added some basic melee practice recipes, including 2 for training dodge.
* Training dummy for practice recipes
* Dummy recipe and resolve problems
* Intermediate recipes and heavy training dummy
* Changed the armored dummy recipe
The recipe is inspired by the scrap suit recipe.
* Added tanto as a possible weapon for stabbing training
* Punching bag

Co-authored-by: Marloss <78324429+MarlossCDDA@users.noreply.github.com>

* Write documentation for neighbor based chunk spawning (CleverRaven#51818)

* Resubmit Fix Tire Rims (CleverRaven#51798)

* Update goblin.json (CleverRaven#51799)

* Fix: Force stereo when opening audio device (CleverRaven#51754)

Co-authored-by: Kevin Granade <kevin.granade@gmail.com>

* Add support for weakpoint damage and crit multipliers (CleverRaven#51770)

* Weakpoints (Part 4.5): Add support for JSON inheritance and default weakpoints (CleverRaven#51822)

* Let contributors specify the default weakpoint, by providing an empty ID

* Add support for weakpoint inheritance.

* Reduce debug.log file size by folding consecutive identical errors (CleverRaven#51791)

* debug_fold_repetition: Fold identical errors to reduce log spam

* debug_fold_repetition: added timestamp and timeout

timestamp for repeated error folding group is that of the last folded
error
timeout is currently hardcoded to 100ms. If another repeated error is
registered that would be folded but is >100ms after the previous error
it starts a new folding group

* debug_fold_repetitions: bookended fold for readability, made output DRY

It's a little easier to read the log as `[First]<folded>[Last]` than
`[First]<folded with last timestamp>`
Need to test folding output during deinit and DebugLog, made a function
to remove repetition.

* debug_fold_repetitions: excess repetition error to forced prompt

As logged error the excessive repetition error causes breaks in folds
which make debug.log less clear while reading, and does not add information
Forced prompting once excess threshold is reached will prompt once per
excessive repetition set.

* Allow using any tool with the drilling quality to make a draw_plate (CleverRaven#51794)

Fixes CleverRaven#51688

* The (impotent) Sound and the Fury (CleverRaven#51803)

* update m231

Updated price(https://www.invaluable.com/auction-lot/incredibly-rare-colt-m231-port-firing-u-s-propert-2086-c-3574a02a1e), adjusted desc, set sight disp to that of other no-sight guns, adjusted mod locations.

* Rapidly changing light levels do not grant max vision to turrets (CleverRaven#51815)

* Update fake.json (CleverRaven#51819)

* Fix process effects crash (CleverRaven#51827)

* Add Complete missions dialog function (CleverRaven#51820)

* Complete missions

* Update npctalk.cpp

* Update npctalk.cpp

Co-authored-by: PatrikLundell <j.patrik.r.lundell@gmail.com>
Co-authored-by: SegaSaturnity <75910217+SegaSaturnity@users.noreply.github.com>
Co-authored-by: kevingranade <kevingranade@users.noreply.github.com>
Co-authored-by: UmbralReaper <67179462+UmbralReaper@users.noreply.github.com>
Co-authored-by: David Seguin <davidseguin@live.ca>
Co-authored-by: Valiant <Night_Pryanik@mail.ru>
Co-authored-by: John Bytheway <52664+jbytheway@users.noreply.github.com>
Co-authored-by: mythosmod <91185016+mythosmod@users.noreply.github.com>
Co-authored-by: Kevin Granade <kevin.granade@gmail.com>
Co-authored-by: actual-nh <74678550+actual-nh@users.noreply.github.com>
Co-authored-by: Angela Graves <rivet.the.zombie@gmail.com>
Co-authored-by: Binrui Dong <brett.browning.dong@gmail.com>
Co-authored-by: Eric <52087122+Ramza13@users.noreply.github.com>
Co-authored-by: Saicchi <47158232+Saicchi@users.noreply.github.com>
Co-authored-by: Saicchi <Saicchi@users.noreply.github.com>
Co-authored-by: GOFLUMPYOURSELFPORCAY <64309930+GOFLUMPYOURSELFPORCAY@users.noreply.github.com>
Co-authored-by: Termineitor244 <termineitor244@hotmail.com>
Co-authored-by: Marloss <78324429+MarlossCDDA@users.noreply.github.com>
Co-authored-by: Zhilkin Serg <ZhilkinSerg@users.noreply.github.com>
Co-authored-by: John Candlebury <johncandlebury@gmail.com>
Co-authored-by: The SzQ <37194372+SzQ1@users.noreply.github.com>
Co-authored-by: Joshua Chin <5422226+Joshua-Chin@users.noreply.github.com>
Co-authored-by: OrenAudeles <orenaudeles@gmail.com>
Co-authored-by: Tonkatsu <7764202+tenmillimaster@users.noreply.github.com>
Co-authored-by: Roy Berube <royberube1965@gmail.com>
Co-authored-by: ISuckM8 <87550905+ISuckM8@users.noreply.github.com>
Co-authored-by: ferociousdork <78301810+ferociousdork@users.noreply.github.com>
  • Loading branch information
1 parent 7c61c24 commit 7154c2d
Show file tree
Hide file tree
Showing 296 changed files with 2,459 additions and 1,086 deletions.
1 change: 1 addition & 0 deletions .lgtm.yml
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
# Disable FIXME query, in DDA it is as likely to be a future feature as a bug.
queries:
- exclude: cpp/fixme-comment
- exclude: cpp/non-constant-format
14 changes: 9 additions & 5 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -1149,8 +1149,10 @@ etags: $(ASTYLE_SOURCES)
etags $^
./tools/json_tools/cddatags.py

astyle: $(ASTYLE_SOURCES)
$(ASTYLE_BINARY) --options=.astylerc -n $(ASTYLE_SOURCES)
ASTYLE_CHECK_STAMPS = $(sort $(patsubst %,$(ODIR)/%.astyle-check-stamp,$(ASTYLE_SOURCES)))
astyle: $(ASTYLE_CHECK_STAMPS)
$(ASTYLE_CHECK_STAMPS): $(ODIR)/%.astyle-check-stamp : %
$(ASTYLE_BINARY) --options=.astylerc -n $< && mkdir -p $(@D) && touch $@

# Test whether the system has a version of astyle that supports --dry-run
ifeq ($(shell if $(ASTYLE_BINARY) -Q -X --dry-run src/game.h > /dev/null; then echo foo; fi),foo)
Expand All @@ -1166,10 +1168,12 @@ else
@echo Cannot run an astyle check, your system either does not have astyle, or it is too old.
endif

style-json: json_blacklist $(JSON_FORMATTER_BIN)
JSON_SOURCES := $(shell find data -name "*.json")
JSON_CHECK_STAMPS = $(sort $(patsubst %,$(ODIR)/%,$(JSON_SOURCES:.json=.jstyle-check-stamp)))
style-json : $(JSON_CHECK_STAMPS) $(JSON_FORMATTER_BIN)
$(JSON_CHECK_STAMPS) : $(ODIR)/%.jstyle-check-stamp : %.json $(JSON_FORMATTER_BIN)
ifndef CROSS
find data gfx -name "*.json" -print0 | grep -v -z -F -f json_blacklist | \
xargs -0 -L 1 $(JSON_FORMATTER_BIN)
$(JSON_FORMATTER_BIN) $< && mkdir -p $(@D) && touch $@
else
@echo Cannot run json formatter in cross compiles.
endif
Expand Down
2 changes: 1 addition & 1 deletion data/json/itemgroups/tools.json
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
[ "swage", 60 ],
[ "drift", 70 ],
[ "hotcut", 90 ],
[ "tongs", 90 ],
[ "metalworking_tongs", 90 ],
[ "hammer", 90 ],
[ "sandpaper", 90 ]
]
Expand Down
4 changes: 2 additions & 2 deletions data/json/items/fake.json
Original file line number Diff line number Diff line change
Expand Up @@ -60,12 +60,12 @@
"copy-from": "fake_item",
"type": "TOOL",
"name": { "str_sp": "autonomous surgical scalpels" },
"description": "A system of surgical grade scalpels. They allow you to make precise cuts and can also be used as a high-quality butchering tool.",
"description": "A system of surgical grade scalpels. They allow you to make precise cuts on corpses.",
"to_hit": 2,
"cutting": 8,
"techniques": [ "PRECISE" ],
"flags": [ "TRADER_AVOID", "NO_UNWIELD", "UNBREAKABLE_MELEE", "SPEAR" ],
"qualities": [ [ "CUT", 1 ], [ "CUT_FINE", 5 ], [ "BUTCHER", 50 ] ]
"qualities": [ [ "CUT", 1 ], [ "CUT_FINE", 5 ], [ "BUTCHER", 14 ] ]
},
{
"id": "fake_razor",
Expand Down
32 changes: 32 additions & 0 deletions data/json/items/generic.json
Original file line number Diff line number Diff line change
Expand Up @@ -3703,5 +3703,37 @@
"cutting": 4,
"to_hit": -3,
"flags": [ "TRADER_AVOID", "NO_REPAIR" ]
},
{
"type": "TOOL",
"id": "training_dummy_light",
"symbol": "@",
"color": "brown",
"name": { "str": "training dummy" },
"category": "other",
"description": "A hand-made humanoid figure, useful for training in close quarters combat. This one is made from wood and it has some duct tape to mark the striking points.",
"price": 15000,
"price_postapoc": 600,
"material": [ "wood" ],
"weight": "50 kg",
"volume": "80 L",
"bashing": 12,
"to_hit": -2
},
{
"type": "TOOL",
"id": "training_dummy_heavy",
"symbol": "@",
"color": "light_gray",
"name": { "str": "armored training dummy" },
"category": "other",
"description": "A hand-made humanoid figure, useful for training in close quarters combat. This one is covered in scrap armor and looks on guard.",
"price": 15000,
"price_postapoc": 1000,
"material": [ "steel", "wood" ],
"weight": "55 kg",
"volume": "80 L",
"bashing": 14,
"to_hit": -2
}
]
22 changes: 18 additions & 4 deletions data/json/items/gun/223.json
Original file line number Diff line number Diff line change
Expand Up @@ -527,22 +527,36 @@
"id": "m231pfw",
"copy-from": "m16a4",
"type": "GUN",
"name": { "str": "M16 open-bolt rifle" },
"description": "The M16 open-bolt rifle is an M16 rifle modified to fire with an open-bolt design. This makes the rifle fire at much higher speeds than most other assault rifles, but at the cost of accuracy. It is chambered in 5.56x45mm and accepts STANAG magazines.",
"name": { "str": "M16 firing port gun" },
"description": "The M16 firing port gun is an M16 rifle modified to fire with an open-bolt design at ludicrous speeds, without sights. It has a threaded handguard to screw into an armored vehicle's firing ports. It is chambered in 5.56x45mm and accepts STANAG magazines.",
"weight": "3330 g",
"volume": "2400 ml",
"longest_side": "727 mm",
"price": 90000,
"price": 3450000,
"price_postapoc": 3500,
"variant_type": "gun",
"variants": [
{
"id": "m231pfw",
"name": { "str": "M231 port firing weapon" },
"description": "The M231 PFW is an adaptation of the M16 assault rifle, designed to be used in the firing ports of the M2 Bradley Infantry Fighting Vehicle. It does not have a buttstock or front sight post, and the smooth front hand guard makes it slighly less ergonomic. It fires from an open bolt. The fire selector says only 'SAFE' and 'AUTO'. You can't help but wonder which one is preferable."
"description": "The M231 PFW is an adaptation of the M16 assault rifle, designed to be used in the firing ports of the M2 Bradley Infantry Fighting Vehicle. It does not have a buttstock or front sight post, and the smooth front hand guard does nothing to protect you from the potentially scorching hot barrel collar, making it slighly less than ergonomic. You could screw it into a firing port if you were so inclined. The fire selector says only 'SAFE' and 'AUTO'. You can't help but wonder which one is preferable."
}
],
"dispersion": 350,
"sight_dispersion": 500,
"valid_mod_locations": [
[ "accessories", 4 ],
[ "barrel", 1 ],
[ "bore", 1 ],
[ "brass catcher", 1 ],
[ "mechanism", 4 ],
[ "magazine", 1 ],
[ "muzzle", 1 ],
[ "rail mount", 2 ],
[ "sights mount", 1 ],
[ "stock mount", 1 ],
[ "underbarrel mount", 1 ]
],
"//": "This weapon has an extremely high rate of fire, due to the open bolt design. This is based on a cyclic rate of fire of 1150 RPM, which is close to 19 rounds per second. 6 rounds is comparable to to other weapons with similar rates, such as the MAC-11.",
"modes": [ [ "DEFAULT", "auto", 6 ] ]
},
Expand Down
19 changes: 18 additions & 1 deletion data/json/items/tool/metalworking.json
Original file line number Diff line number Diff line change
Expand Up @@ -293,7 +293,7 @@
"id": "tongs",
"type": "TOOL",
"name": { "str": "pair of metal tongs", "str_pl": "pairs of metal tongs" },
"description": "These are long, metal tongs. They are commonly used for cooking or in metalworking fabrication recipes.",
"description": "These are long, metal tongs. They are commonly used for cooking.",
"weight": "540 g",
"volume": "500 ml",
"price": 1600,
Expand All @@ -306,6 +306,23 @@
"use_action": [ "HEAT_FOOD" ],
"flags": [ "BELT_CLIP", "ALLOWS_REMOTE_USE" ]
},
{
"id": "metalworking_tongs",
"type": "TOOL",
"name": { "str": "pair of flatjaw tongs", "str_pl": "pairs of flatjaw tongs" },
"description": "These are a pair of flatjaw tongs. They are commonly used for metalworking, fabrication or forging recipes.",
"weight": "750 g",
"volume": "500 ml",
"price": 1600,
"price_postapoc": 10,
"bashing": 6,
"material": [ "steel" ],
"symbol": ";",
"color": "light_gray",
"qualities": [ [ "COOK", 1 ] ],
"use_action": [ "HEAT_FOOD" ],
"flags": [ "BELT_CLIP", "ALLOWS_REMOTE_USE" ]
},
{
"id": "sandpaper",
"type": "TOOL",
Expand Down
38 changes: 19 additions & 19 deletions data/json/items/vehicle/wheel.json
Original file line number Diff line number Diff line change
Expand Up @@ -70,10 +70,10 @@
"name": { "str": "medium steel rim" },
"description": "A medium size steel rim for a car tire.",
"weight": "5245 g",
"volume": "4 L",
"volume": "28 L",
"bashing": 8,
"to_hit": -4,
"longest_side": "254 mm",
"longest_side": "432 mm",
"price": 5000,
"price_postapoc": 500,
"material": [ "steel" ],
Expand All @@ -87,10 +87,10 @@
"name": { "str": "steel motorbike rim" },
"description": "A steel rim for a motorbike tire.",
"weight": "3000 g",
"volume": "4 L",
"volume": "12 L",
"bashing": 8,
"to_hit": -4,
"longest_side": "254 mm",
"longest_side": "508 mm",
"price": 5000,
"price_postapoc": 500,
"material": [ "steel" ],
Expand All @@ -104,10 +104,10 @@
"name": { "str": "wide steel rim" },
"description": "A wide steel rim for a larger tire.",
"weight": "7600 g",
"volume": "7500 ml",
"volume": "70 L",
"bashing": 10,
"to_hit": -4,
"longest_side": "254 mm",
"longest_side": "610 mm",
"price": 5000,
"price_postapoc": 500,
"material": [ "steel" ],
Expand All @@ -119,12 +119,12 @@
"type": "GENERIC",
"category": "veh_parts",
"name": { "str": "bicycle rim" },
"description": "A spoked rim for a bicycle tire.",
"description": "A large spoked rim for a bicycle tire.",
"weight": "750 g",
"volume": "5 L",
"volume": "11 L",
"bashing": 6,
"to_hit": -2,
"longest_side": "254 mm",
"longest_side": "686 mm",
"price": 5000,
"price_postapoc": 500,
"material": [ "steel" ],
Expand Down Expand Up @@ -256,7 +256,7 @@
"name": { "str": "deflated 17\" wheel" },
"description": "A car wheel. It is currently deflated and will need to be inflated to be used on a vehicle.",
"weight": "8845 g",
"volume": "10 L",
"volume": "28 L",
"longest_side": "432 mm",
"price": 10000,
"price_postapoc": 750,
Expand All @@ -274,7 +274,7 @@
"name": { "str": "deflated 16\" racing wheel" },
"description": "A wide, smooth wheel intended for racing. It is currently deflated and will need to be inflated to be used on a vehicle.",
"weight": "12600 g",
"volume": "13750 ml",
"volume": "28 L",
"longest_side": "407 mm",
"price": 24000,
"price_postapoc": 500,
Expand All @@ -291,7 +291,7 @@
"name": { "str": "deflated 16\" motorbike wheel" },
"description": "A motorbike wheel. It is currently deflated and will need to be inflated to be used on a vehicle.",
"weight": "5443 g",
"volume": "8250 ml",
"volume": "12 L",
"longest_side": "407 mm",
"price": 14000,
"price_postapoc": 500,
Expand All @@ -316,7 +316,7 @@
"name": { "str": "deflated 24\" wide wheel" },
"description": "A wide wheel. \\o/ This wide. It is currently deflated and will need to be inflated to be used on a vehicle.",
"weight": "22600 g",
"volume": "17500 ml",
"volume": "70 L",
"longest_side": "610 mm",
"price": 34000,
"price_postapoc": 750,
Expand All @@ -340,7 +340,7 @@
"name": { "str": "deflated 27\" bicycle wheel" },
"description": "A bicycle wheel. It is currently deflated and will need to be inflated to be used on a vehicle.",
"weight": "1500 g",
"volume": "7 L",
"volume": "11 L",
"longest_side": "686 mm",
"price": 4000,
"price_postapoc": 250,
Expand All @@ -364,7 +364,7 @@
"name": { "str": "wheel" },
"description": "A car wheel.",
"weight": "8845 g",
"volume": "10 L",
"volume": "28 L",
"longest_side": "432 mm",
"price": 10000,
"price_postapoc": 750,
Expand All @@ -383,7 +383,7 @@
"name": { "str": "racing wheel" },
"description": "A wide, smooth wheel intended for racing. The slick surface provides better speed on pavement but penalizes off-road speed.",
"weight": "12600 g",
"volume": "13750 ml",
"volume": "28 L",
"longest_side": "407 mm",
"price": 24000,
"price_postapoc": 500,
Expand Down Expand Up @@ -440,7 +440,7 @@
"name": { "str": "bicycle wheel" },
"description": "A bicycle wheel.",
"weight": "1500 g",
"volume": "7 L",
"volume": "11 L",
"longest_side": "686 mm",
"price": 4000,
"price_postapoc": 250,
Expand Down Expand Up @@ -556,7 +556,7 @@
"name": { "str": "motorbike wheel" },
"description": "A motorbike wheel.",
"weight": "5443 g",
"volume": "8250 ml",
"volume": "12 L",
"longest_side": "407 mm",
"price": 14000,
"price_postapoc": 500,
Expand Down Expand Up @@ -679,7 +679,7 @@
"name": { "str": "wide wheel" },
"description": "A wide wheel. \\o/ This wide.",
"weight": "22600 g",
"volume": "17500 ml",
"volume": "70 L",
"longest_side": "610 mm",
"price": 34000,
"price_postapoc": 750,
Expand Down
Loading

0 comments on commit 7154c2d

Please sign in to comment.