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

[Aftershock] UICA Shuttle Bases #79144

Merged

Conversation

QuillInkwell
Copy link
Contributor

@QuillInkwell QuillInkwell commented Jan 13, 2025

Summary

Mods "[Aftershock] Add UICA Shuttlebases to the Exo-Planet"

Purpose of change

Completes the desired UICA Outpost mapgen conversion. Though I ended up only loosely using the Military Helipad as a reference. Increase the variety of structures that can be found on the Exoplanet. Increase the amount of traders the player can trade with on the Exoplanet.

Describe the solution

Add a new location the UICA Shuttle Base to the Exo-Planet. Completing the desired Military Helipad conversion.

image
Starting with the first floor:
We have a concrete wall around the entire installation. There is a small little gate office manned by a Foot Solider.
The road in leads to the garage which can store up to 2 Lynx Explorers. Its extremely likely it will spawn with at least 1 but up to 2 can spawn in the garage.
If you follow the path from the Gate house you'll pass the habitat and arrive at the Shuttle landing pads. There are two small shuttlepads though they might be more fit for Aerocraft. Directly adjacent to the Shuttlepads is the Hanger.
Both the Garage and hanger contain workshops for maintaining the vehicles assisted by machinery. I am imaging in bad weather the UICA would tow the shuttles into the hanger and close up both the hanger and garage to protect the vehicles and otherwise try to keep the cost of maintenance low.

I put two capacitors between the landing pads in case a shuttle needs to come in for a quick re-charge to supplement whatever onboard reactor it may have.

For the Habitat I tried to make it look like there were two distinct prefab modules that had been connected via a glass tube.

The North Module has the warehouse, reactor room, drone storage and drone repair workshop. Both doors to the reactor are electronically sealed.

The South Module holds the Airlock, commanding officer's office, life support room, and another smaller office.

image
The second floor of the south module holds the armory, mess hall, and communications room. The door to the armory is electronically sealed and a man stands inside on guard.

The second floor of the north module holds the barracks and bathrooms.

Though you aren't really meant to steal from this location, nearly everything spawns the items you would expect. The Drone workshop has tools and parts. Alongside the hangar and garage that spawn items from the new vehicle repair group (stub). The crates currently spawn civilian goods but once I get time to add the military variants I will go back in and change that. The armory spawns UICA gear. (Though I probably missed a whole bunch in the item group stubs.) And the breakroom stores food.

So technically if you hated the UICA and really wanted to fight that many NPCS and Irradiants I guess you could steal a lot of good loot?

New NPCS:
UICA Foot Solider:
image
Pretty much a port of the UICA Naval Police to ground combatants. They wear Tip of the Spear Helmets and IPAV armor. They carry a G&W SR-P77 SMG and a Marsec. 4 Pistol. They keep two spare mags for the SMG in an ammo satchel and all come with ablative combat cloaks.

UICA Engineer:
The Engineer has nearly the same kit as the foot soldier but they wear HERC rigs and carry plasma torches. They also have much better skill in mechanics, fabrication, and electronics. They also have slightly different talk topics. They exist mainly as a stub for someone to add more content once it's available.

UICA Officer:
image
The officer spawns with the same kit as the foot soldier. They have slightly different talk topics. But they exist mostly as a stub for someone else to come along and flesh out when the content is available. In the future they could possibly become a mission offering NPC or some such.

UICA Quartermaster:
image
The Quartermaster has the same kit as a UICA foot soldier. What sets them apart is that they can be traded with. When talking to them ask about buying supplies. They will direct you to go elsewhere for supplies, but you can attempt to persuade them with a bribe. If they accept the bribe you will open a trade window starting with the bribe amount as debt. If you fail to pay the bribe you will need to convince them to trade with again. If you do pay the bribe and complete the trade they will remember. And continue trading with you in the future.

They use the new UICA military item groups and mostly sell the same stuff that spawns in their military lockers. So you can get a smattering of UICA guns, ammo, armor, and some medical supplies. The Quartermaster has less money on hand than the shops of Port Augustmoon. But more than someone of their station should probably have, implying they sell off gear to other Salvors as well.

They buy pretty much anything right now. (Because I don't know how to change any of that, or if I should.) But the UICA is supposed to be pretty corrupt out this far. So I imagine they have ways and motivation to sell off anything weird you bring them.

Newish Monster:
The UICA Irradiant:
It's an Irradiant but UICA branded and doesn't want to murder everyone in the shuttle base.

New Vehicles:
Lynx Explorer:
image
The Lynx explorer is an Atomic Powered military vehicle. It's something like an all terrain buggy with an enclosed canopy and a turret mount. It's got a mounted Accipiter Hawk-00 Machine gun. It uses a large storage battery powered by a mini-reactor to run it's enhanced electric motor. It can get pretty fast despite being heavily armored. It also has a recharging station in the trunk.

New Terrains:
Heated Metal Floor:
Copy of Metal floor but it emits the geovent emission. Same as the Heated Strong Concrete.

Describe alternatives you've considered

I was initially going to make the bribe only $500 but then I remembered that was like, the price of one grenade. So I bumped it up to 3k. Might still be too low. But the Quartermaster also profits off selling you gear and buying lucrative loot you sell them to trade off. So I don't want it to be too high. Just high enough to justify the risk they take in doing business with you.

I considered putting a battering ram on the Lynx Explorer but for now opted against it.

I considered spawning loot inside the Lynx but I am saving that for whenever you might be able to find them in other locations. I will likely add them to Map Extras. But I want that to be something like a "Icy Wastes Expansion" PR.

I could always add more items to the UICA groups but I don't personally know which items go in and which stay out. I could have used the Augustmoon trader groups for the quartermaster but I didn't feel that was appropriate here.

There could be a non-illegal way to trade with the quartermaster, one where he requires you to also have an armament license for most of the gear. Something like if you have enough trust from the UICA or are working closely with them you just get automatic access to their traders. Currently left that out since there is no way I know of to increase your UICA trust.

I could have added more topics and dialog to the NPCs but that's for someone better at writing than me!

There could defiantly be some UICA specific robots milling around the base but those don't currently exist so we went Wraitheon.

I would put a giant frick off laser turret on top of the gate house but there isn't currently one for the UICA and I ran out of steam. If someone makes one though I will put it in.

Testing

Loaded world with the structure. Spawned the Structure. Verified items spawning in correct locations in sufficient(ish) amounts. NPCs are spawned in their posts. Monsters spawn where expected. Monsters do not violently rip and tear the player or NPCS. NPCS do not pick fight with monsters. Vehicles spawning where expected in amounts expected.

Quartermaster behaves as expected. Quartermaster must be re-convinced if you do not pay bribe. Quartermaster won't let you bribe them for another 24 hours if you fail to convince them. Quartermaster remembers when you paid the bribe and won't ask for it again.

Drove the Lynx around, seems to behave fine. Expecting good performance from vehicle.

Additional context

Tiled Map Pre-Export
image
image
image

@github-actions github-actions bot added [JSON] Changes (can be) made in JSON Mods Issues related to mods or modding Map / Mapgen Overmap, Mapgen, Map extras, Map display Vehicles Vehicles, parts, mechanics & interactions Spawn Creatures, items, vehicles, locations appearing on map Fields / Furniture / Terrain / Traps Objects that are part of the map or its features. Mods: Aftershock Anything to do with the Aftershock mod Items: Armor / Clothing Armor and clothing labels Jan 13, 2025
@github-actions github-actions bot added json-styled JSON lint passed, label assigned by github actions astyled astyled PR, label is assigned by github actions labels Jan 13, 2025
@github-actions github-actions bot added the BasicBuildPassed This PR builds correctly, label assigned by github actions label Jan 13, 2025
@QuillInkwell QuillInkwell changed the title [Aftershock] UICA Shuttlebases [Aftershock] UICA Shuttle Bases Jan 14, 2025
Copy link
Contributor

Spell checker encountered unrecognized words in the in-game text added in this pull request. See below for details.

Click to expand
  • &You find the Quartermaster lazily reclined against a stack of intermodal crates. <npc_name> barely acknowledges your presence, their eyes never leaving their PDA as they address you. Need something salvor?

This alert is automatically generated. You can simply disregard if this is inaccurate, or (optionally) you can also add the new words to tools/spell_checker/dictionary.txt so they will not trigger an alert next time.

Hints for adding a new word to the dictionary
  • If the word is normally in all lowercase, such as the noun word or the verb does, add it in its lower-case form; if the word is a proper noun, such as the surname George, add it in its initial-caps form; if the word is an acronym or has special letter case, such as the acronym CDDA or the unit mW, add it by preserving the case of all the letters. A word in the dictionary will also match its initial-caps form (if the word is in all lowercase) and all-uppercase form, so a word should be added to the dictionary in its normal letter case even if used in a different letter case in a sentence.
  • For a word to be added to the dictionary, it should either be a real, properly-spelled modern American English word, a foreign loan word (including romanized foreign names), or a foreign or made-up word that is used consistently and commonly enough in the game. Intentional misspelling (including eye dialect) of a word should not be added unless it has become a common terminology in the game, because while someone may have a legitimate use for it, another person may spell it that way accidentally.

@GuardianDll GuardianDll merged commit 522fa94 into CleverRaven:master Jan 14, 2025
27 of 30 checks passed
@John-Candlebury
Copy link
Member

I would put a giant frick off laser turret on top of the gate house but there isn't currently one for the UICA and I ran out of steam. If someone makes one though I will put it in.

Do you prefer a laser machinegun or a laser tank cannon?

@QuillInkwell QuillInkwell deleted the aftershock_uica_shuttlebase branch January 14, 2025 17:01
b3brodie added a commit to b3brodie/Cataclysm-DDA that referenced this pull request Jan 18, 2025
* Make storage unit pallete and array of objects

All of the other JSON in data/json is.

* Gun variants: Better common token & dupe checking

Require at least 3 letters for common tokens, with some explicit
exceptions. It might be worth going to 4 letters, but going to 3 cleaned
up some issues.

Also make the dupe check an actual error (resulting in test failure)
than just a silent one.

The guns caught by the dupe check are allowed as separate by the variant
criteria, but it may be being too lenient there and they should instead
be combined.

Fix the errors that surfaced.
- two guns had 16" and 20" barrels, name the longer one long-barreled
- Two revolvers (chiappa_rhino and colt_python) were named the same,
  name the python to indicate it looks like a old west revolver
- Name the BLR magazine with a common identifier to the the gun
- Give the FN57 an identifier (FN)
- Add pistol to BAD_IDENTIFIERS, so the USP identifier is detected

Both the FN57 and USP pistol were using "pistol" as the identifier.
The BLR was using "ing".

* Sort gun variant script valid identifier list

So it's stable and looks nicer.

* Remove some unused CBM snippets

* Reuse built clang-tidy plugin across the shards

* makes lit candle more distinct

* Update NPC.md

* Initial commit

* Fire action accounts for all kinds of shoulder straps

I've noticed only "adjustable strap" works with the fire action to drawn
weapon, and only with default format (hanging like backpack). Happens
that code checks for that specific item. Solution is to check for a flag
instead, and so works with all kinds of attachments

* initial commit

* A couple small C++20 fixes

* Add versioning to vcpkg setup

* make xedra translocators examinable in faction territory

* Set SDL_HINT_APP_NAME for tiles

See https://wiki.libsdl.org/SDL2/SDL_HINT_APP_NAME

* [Xedra Evolved] Add `fey_magick` magic type (CleverRaven#79113)

* Initial commit

* Add NO_SPELLCASTING to flags too

* Focus the default selection in popups

* [Magiclysm] Biomancy is disturbing (CleverRaven#79117)

* Initial commit

* Add pain effects to some spells

* Reduce amount of pain caused

* Fix scroll name

* Fix ClangBuildAnalyzer workflow

* [MoM] Fix Mind-sight goggles special vision sprite (CleverRaven#79119)

* Extended description window shows potential deconstruction and bash yields (CleverRaven#79107)

* Basic addition of deconstruction yields to extended description

* Deduplicate and add skill info

* Add bash yields replacing the Smashable tag

* Add the extended description keybind text to the look around window

* Less lazy formatting

* [Xedra Evolved] Increase mana cost on Arvore mana-using traits (CleverRaven#79096)

* Remove ghc/filesystem polyfill now that we are on C++17 (CleverRaven#79092)

* Remove ghc/filesystem shim now that we are on C++17

* fixies

* astyle

* teach clang-tidy about <filesystem>

* Battery compartment mod can use medium storage batteries (CleverRaven#79091)

* Update toolmod.json

* Lint

---------

Co-authored-by: Anton Simakov <[email protected]>

* [MoM] Fix Leukocyte Accumulation class (CleverRaven#79123)

* Initial commit

* Add magic class

* remove const from distance_limit

* [Xedra Evolved] Fix treesung baselard recipe (CleverRaven#79131)

* Extract special vision descriptions for translation (CleverRaven#79108)

* Extract special vision descriptions for translation

* Add includes

* Add origin arguments

* Attempt to appease flake8

* Missed iterating an array

* Fix typo

* Our flake8 makes me want to commit war crimes

* Fix various flake8 errors

* Weekly Changelog 2025-01-06 to 2025-01-13 (CleverRaven#79127)

* Weekly Changelog 2025-01-06 to 2025-01-13

* Apply suggestions from code review

---------

Co-authored-by: David Seguin <[email protected]>
Co-authored-by: Maleclypse <[email protected]>

* {CR} Adds three new lore log snippets! (CleverRaven#79058)

* new lore log snippets (draft)

the lore log snippets are one of my favorite things to be featured in cataclysm, and I wanted to write some of my own!

* Update e_logs.json

* Add three new lore log snippets

* Update data/json/snippets/e_logs.json

Co-authored-by: Procyonae <[email protected]>

* Update data/json/snippets/e_logs.json

Co-authored-by: Procyonae <[email protected]>

* Update data/json/snippets/e_logs.json

Co-authored-by: Procyonae <[email protected]>

* lint changes

* Update data/json/snippets/e_logs.json

Co-authored-by: Procyonae <[email protected]>

* Update data/json/snippets/e_logs.json

Co-authored-by: Procyonae <[email protected]>

* Update data/json/snippets/e_logs.json

Co-authored-by: Procyonae <[email protected]>

* Update data/json/snippets/e_logs.json

Co-authored-by: Procyonae <[email protected]>

* Update data/json/snippets/e_logs.json

* replace 3 spaces with 2 spaces

---------

Co-authored-by: Procyonae <[email protected]>
Co-authored-by: Anton Simakov <[email protected]>
Co-authored-by: Maleclypse <[email protected]>

* Weekly Changelog 2024-12-30 to 2025-01-06 (CleverRaven#78977)

* Weekly Changelog 2024-12-30 to 2025-01-06

* Apply suggestions from code review

---------

Co-authored-by: David Seguin <[email protected]>
Co-authored-by: Maleclypse <[email protected]>
Co-authored-by: Anton Simakov <[email protected]>

* Fix Irradiant weapon attack

* Move refugee center start from isolationist to its own scenario (CleverRaven#79140)

* Change to start outside refugee center entrance

* Move refugee center start to its own option

* Starting on path by entrance

* use test monsters in shotgun tests (CleverRaven#79141)

* use test monsters

* Apply suggestions from code review

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* Don't try to GENERATE typed coordinates (CleverRaven#79137)

* Don't try to GENERATE typed coordinates

* Adjusted according to comments

* [MoM] Add null grenades (CleverRaven#79147)

* Initial commit

* Add expended grenades

* Add snippet

* Change id to avoid confusion with _null terrain etc

* Create user mods dir automatically. (CleverRaven#79057)

* mod manager

* Update src/mod_manager.cpp

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

---------

Co-authored-by: Maleclypse <[email protected]>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* [Magiclysm] Fix werewolf aura (CleverRaven#79151)

* Initial commit

* Fixes

* typified a-f

* [Magiclysm] Rename 'Introduction to the Divine' to 'The Limits of Magical Recovery' (CleverRaven#79153)

* Initial commit

* Itemgroup changes

* Update data/mods/Magiclysm/items/spellbooks.json

---------

Co-authored-by: Anton Simakov <[email protected]>

* Aftershock: Genetech Mutation system or Genetically engineered Catgirls. (CleverRaven#79128)

* Aftershock Genetech

* Apply suggestions from code review

Co-authored-by: Marc <[email protected]>

---------

Co-authored-by: Anton Simakov <[email protected]>
Co-authored-by: Marc <[email protected]>

* [Aftershock] Add human++ genemods (CleverRaven#79149)

* Add genemods

* Add hobbies

* Add Genemod: Beauty

* Fix errors

* Spelling

* [Aftershock] UICA Shuttle Bases (CleverRaven#79144)

* Add UICA Shuttlebases to the Exo-Planet

* Lint

* Add a Quartermaster NPC. They can be bribed to sell you UICA gear and supplies.

* Lint

* Add Lynx Explorer Vehicle, Quartermaster has less stuff to sell, Shuttlebase spawns ground vehicles

* Add Vehicle Repair group stub

* Bump up Bribe to $3000

* Rewrite some Quartermaster dialog

* Please test gods

* Test gods please, I beg

* Correct Shuttlebase to Shuttle Base

* [ Xedrea Evolved ] Gracken Legs first tier (CleverRaven#79122)

* Legs first tier

Update harvest_monster_hunter_gracken.json

* Apply suggestions from code review

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* Update data/mods/Xedra_Evolved/items/gracken_trait_improvements.json

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Anton Simakov <[email protected]>

* Sort docs into subfolders

* update paths to moved docs

* better name for LORE_FAQ doc, as suggested by Kevin (thanks!)

* [MoM] Concentrating on powers at higher Nether Attunement has a chance of backlash (CleverRaven#79163)

* Initial commit

* Check for backlash on concentration breaking too.

* Change backlash messages to not reference unleashing powers

* Nether Attunement vitamin at 15 or higher, not powers maintained at 15 or higher

* Spelling

* Temporary script to automate this

* Remove meaningless weight fields

* Fix compile error, remove unneeded string initialisation, correct translation, don't write required mutation string if we're about to overwrite it with incompatible bionics

* Update skyscraper_lab_modular.json

* monstergroups "name" -> "id" in /data/json

* Commit the script so out of repo + personal mods can use it

* monstergroups "name" -> "id" in /data/mods

* Update deserialisation

* Get annoyed at flake8

* Put the script in the wrong folder like a numpty

* Fix MSVC build with lld linker

* Add an ignorable error and legacy load

* flake8 is rood

* Change C++ ids called "name" to something better too

* Rename doc/COMPILING/ -> doc/c++/

* Remove string spawn item overloads (CleverRaven#79173)

* Remove evil overloads

* Deal with fallout

* Rename map:: get_global->get_abs, bub_from_abs->get_bub, omt_from_abs->get_omt (CleverRaven#79167)

* Renamed map:: getglobal->get_abs, bub_from_abs->get_bub, omt_from_abs->get_omt

* astyle

* [Magiclysm] Remove duplicate religious professions (CleverRaven#79162)

* Update professions.json

* Redirect Lost Faith to vanilla professions, add books

* Reformat item field?

* Update data/mods/Magiclysm/scenarios.json

* Add scenario EoC

* Remove debug message

* Kick tests

---------

Co-authored-by: Anton Simakov <[email protected]>

* [ Xedra Evolved ] Fix Renfield Drops (CleverRaven#79166)

* typify game.h/cpp

* use typed point in android code

* Use sub_bodypart_str_id::NULL_ID() where appropriate

* Add attack_vector_id::NULL_ID()

* typify g - lightmap

* [MoM] Update and simplify Nether Attunement backlash EoC (CleverRaven#79175)

* More updates

* More edits

* Updating remaining effects

* Initial commit

* Initial commit

* Expand bodypart_str_id::NULL_ID() usage where appropriate

* Deal with /tests fallout

* Initial commit

* please clang

* Add CMake function do debug targets

* Add targets with dynamic linking

* Use VCPKG dynamic linking triplet

* Obey linter

* Apply review suggestions

* Fix Debug configuration linking with MSVS + LLD

* Fix zlib linking

* Prevent initialising an activity actor's type every turn it's active

* [MoM] Fix Research Facility having an oldlab underneath (CleverRaven#79191)

* Initial commit

* Implement suggestions from code review

* fix not being able to move items with charges with AIM (CleverRaven#79183)

* fix can move items with charges

* astyle

---------

Co-authored-by: marilynias <[email protected]>

* [Aftershock] Gene Clinics (CleverRaven#79197)

* Implement Gene Clinic variant 1

* Renovate Clinic to Add service room. Add Murder Bots and Moxies. Implement powered down gene editor

* Add most of the item spawn groups

* Add item groups, Monster Spawns, and Mapgen Nests

* Add trash to the ground in looted variant. Adjust spawn rates of looted vrs unlooted to 60-40 in the players favor

* Geneclinics also spawn without the Exo-Planet

* Remove redudant spawn of the larger genetech disposable group, low tier already spawns worker and combat rarely

* Mapgen now correctly murders plants when power is out

* String fixes for test gods

* Slime body can't hold cbms (CleverRaven#79086)

* [MoM] Switch mi-go psions to copy-from, giver the mindrender a power-based telepathic attack (CleverRaven#79199)

* Initial commit

* Kick tests

* [Aftershock] Ensure Outfitter always has at least one full EVA suit (CleverRaven#79218)

* Outfitter always has at least one full suit.

* Lint

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* Update fema_evacuee_1.json (CleverRaven#79203)

---------

Co-authored-by: anothersimulacrum <[email protected]>
Co-authored-by: Sab Pyrope <[email protected]>
Co-authored-by: moxian <[email protected]>
Co-authored-by: gettingusedto <[email protected]>
Co-authored-by: EliadOArias <[email protected]>
Co-authored-by: Standing-StormStanding-Storm git config --global user.name Standing-Storm git config --global user.name Standing-Storm <[email protected]>
Co-authored-by: Andrew Rosa <[email protected]>
Co-authored-by: GuardianDll <[email protected]>
Co-authored-by: Dee Anzorge <[email protected]>
Co-authored-by: Standing-Storm <[email protected]>
Co-authored-by: Maleclypse <[email protected]>
Co-authored-by: Anton Simakov <[email protected]>
Co-authored-by: Procyonae <[email protected]>
Co-authored-by: gisaku33 <[email protected]>
Co-authored-by: Kevin Granade <[email protected]>
Co-authored-by: David Seguin <[email protected]>
Co-authored-by: 7erracotta <[email protected]>
Co-authored-by: John Candlebury <[email protected]>
Co-authored-by: Further Reading <[email protected]>
Co-authored-by: osuphobia <[email protected]>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: PatrikLundell <[email protected]>
Co-authored-by: EArias <[email protected]>
Co-authored-by: Marc <[email protected]>
Co-authored-by: akrieger <[email protected]>
Co-authored-by: mqrause <[email protected]>
Co-authored-by: alef <[email protected]>
Co-authored-by: marilynias <[email protected]>
Co-authored-by: marilynias <[email protected]>
Co-authored-by: Risuga <[email protected]>
Maleclypse added a commit that referenced this pull request Jan 18, 2025
* adjust dreaming spell xp requirements

* remove old xp eoc

* Add max book learn value and use for dream magic type

* method definition fix

* add casting_xp_formula_id which calculates how much xp is gained per cast and add a simple use for dream magic

* add failure cost percent field

* dream spells use 10% mana on failure

* add failure_eocs field to magic_type

* add failure_exp_percent and make dream magic give full xp on failure

* astyle

* documentation

* Fix Conflict (#2)

* Make storage unit pallete and array of objects

All of the other JSON in data/json is.

* Gun variants: Better common token & dupe checking

Require at least 3 letters for common tokens, with some explicit
exceptions. It might be worth going to 4 letters, but going to 3 cleaned
up some issues.

Also make the dupe check an actual error (resulting in test failure)
than just a silent one.

The guns caught by the dupe check are allowed as separate by the variant
criteria, but it may be being too lenient there and they should instead
be combined.

Fix the errors that surfaced.
- two guns had 16" and 20" barrels, name the longer one long-barreled
- Two revolvers (chiappa_rhino and colt_python) were named the same,
  name the python to indicate it looks like a old west revolver
- Name the BLR magazine with a common identifier to the the gun
- Give the FN57 an identifier (FN)
- Add pistol to BAD_IDENTIFIERS, so the USP identifier is detected

Both the FN57 and USP pistol were using "pistol" as the identifier.
The BLR was using "ing".

* Sort gun variant script valid identifier list

So it's stable and looks nicer.

* Remove some unused CBM snippets

* Reuse built clang-tidy plugin across the shards

* makes lit candle more distinct

* Update NPC.md

* Initial commit

* Fire action accounts for all kinds of shoulder straps

I've noticed only "adjustable strap" works with the fire action to drawn
weapon, and only with default format (hanging like backpack). Happens
that code checks for that specific item. Solution is to check for a flag
instead, and so works with all kinds of attachments

* initial commit

* A couple small C++20 fixes

* Add versioning to vcpkg setup

* make xedra translocators examinable in faction territory

* Set SDL_HINT_APP_NAME for tiles

See https://wiki.libsdl.org/SDL2/SDL_HINT_APP_NAME

* [Xedra Evolved] Add `fey_magick` magic type (#79113)

* Initial commit

* Add NO_SPELLCASTING to flags too

* Focus the default selection in popups

* [Magiclysm] Biomancy is disturbing (#79117)

* Initial commit

* Add pain effects to some spells

* Reduce amount of pain caused

* Fix scroll name

* Fix ClangBuildAnalyzer workflow

* [MoM] Fix Mind-sight goggles special vision sprite (#79119)

* Extended description window shows potential deconstruction and bash yields (#79107)

* Basic addition of deconstruction yields to extended description

* Deduplicate and add skill info

* Add bash yields replacing the Smashable tag

* Add the extended description keybind text to the look around window

* Less lazy formatting

* [Xedra Evolved] Increase mana cost on Arvore mana-using traits (#79096)

* Remove ghc/filesystem polyfill now that we are on C++17 (#79092)

* Remove ghc/filesystem shim now that we are on C++17

* fixies

* astyle

* teach clang-tidy about <filesystem>

* Battery compartment mod can use medium storage batteries (#79091)

* Update toolmod.json

* Lint

---------

Co-authored-by: Anton Simakov <[email protected]>

* [MoM] Fix Leukocyte Accumulation class (#79123)

* Initial commit

* Add magic class

* remove const from distance_limit

* [Xedra Evolved] Fix treesung baselard recipe (#79131)

* Extract special vision descriptions for translation (#79108)

* Extract special vision descriptions for translation

* Add includes

* Add origin arguments

* Attempt to appease flake8

* Missed iterating an array

* Fix typo

* Our flake8 makes me want to commit war crimes

* Fix various flake8 errors

* Weekly Changelog 2025-01-06 to 2025-01-13 (#79127)

* Weekly Changelog 2025-01-06 to 2025-01-13

* Apply suggestions from code review

---------

Co-authored-by: David Seguin <[email protected]>
Co-authored-by: Maleclypse <[email protected]>

* {CR} Adds three new lore log snippets! (#79058)

* new lore log snippets (draft)

the lore log snippets are one of my favorite things to be featured in cataclysm, and I wanted to write some of my own!

* Update e_logs.json

* Add three new lore log snippets

* Update data/json/snippets/e_logs.json

Co-authored-by: Procyonae <[email protected]>

* Update data/json/snippets/e_logs.json

Co-authored-by: Procyonae <[email protected]>

* Update data/json/snippets/e_logs.json

Co-authored-by: Procyonae <[email protected]>

* lint changes

* Update data/json/snippets/e_logs.json

Co-authored-by: Procyonae <[email protected]>

* Update data/json/snippets/e_logs.json

Co-authored-by: Procyonae <[email protected]>

* Update data/json/snippets/e_logs.json

Co-authored-by: Procyonae <[email protected]>

* Update data/json/snippets/e_logs.json

Co-authored-by: Procyonae <[email protected]>

* Update data/json/snippets/e_logs.json

* replace 3 spaces with 2 spaces

---------

Co-authored-by: Procyonae <[email protected]>
Co-authored-by: Anton Simakov <[email protected]>
Co-authored-by: Maleclypse <[email protected]>

* Weekly Changelog 2024-12-30 to 2025-01-06 (#78977)

* Weekly Changelog 2024-12-30 to 2025-01-06

* Apply suggestions from code review

---------

Co-authored-by: David Seguin <[email protected]>
Co-authored-by: Maleclypse <[email protected]>
Co-authored-by: Anton Simakov <[email protected]>

* Fix Irradiant weapon attack

* Move refugee center start from isolationist to its own scenario (#79140)

* Change to start outside refugee center entrance

* Move refugee center start to its own option

* Starting on path by entrance

* use test monsters in shotgun tests (#79141)

* use test monsters

* Apply suggestions from code review

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* Don't try to GENERATE typed coordinates (#79137)

* Don't try to GENERATE typed coordinates

* Adjusted according to comments

* [MoM] Add null grenades (#79147)

* Initial commit

* Add expended grenades

* Add snippet

* Change id to avoid confusion with _null terrain etc

* Create user mods dir automatically. (#79057)

* mod manager

* Update src/mod_manager.cpp

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

---------

Co-authored-by: Maleclypse <[email protected]>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* [Magiclysm] Fix werewolf aura (#79151)

* Initial commit

* Fixes

* typified a-f

* [Magiclysm] Rename 'Introduction to the Divine' to 'The Limits of Magical Recovery' (#79153)

* Initial commit

* Itemgroup changes

* Update data/mods/Magiclysm/items/spellbooks.json

---------

Co-authored-by: Anton Simakov <[email protected]>

* Aftershock: Genetech Mutation system or Genetically engineered Catgirls. (#79128)

* Aftershock Genetech

* Apply suggestions from code review

Co-authored-by: Marc <[email protected]>

---------

Co-authored-by: Anton Simakov <[email protected]>
Co-authored-by: Marc <[email protected]>

* [Aftershock] Add human++ genemods (#79149)

* Add genemods

* Add hobbies

* Add Genemod: Beauty

* Fix errors

* Spelling

* [Aftershock] UICA Shuttle Bases (#79144)

* Add UICA Shuttlebases to the Exo-Planet

* Lint

* Add a Quartermaster NPC. They can be bribed to sell you UICA gear and supplies.

* Lint

* Add Lynx Explorer Vehicle, Quartermaster has less stuff to sell, Shuttlebase spawns ground vehicles

* Add Vehicle Repair group stub

* Bump up Bribe to $3000

* Rewrite some Quartermaster dialog

* Please test gods

* Test gods please, I beg

* Correct Shuttlebase to Shuttle Base

* [ Xedrea Evolved ] Gracken Legs first tier (#79122)

* Legs first tier

Update harvest_monster_hunter_gracken.json

* Apply suggestions from code review

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* Update data/mods/Xedra_Evolved/items/gracken_trait_improvements.json

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Anton Simakov <[email protected]>

* Sort docs into subfolders

* update paths to moved docs

* better name for LORE_FAQ doc, as suggested by Kevin (thanks!)

* [MoM] Concentrating on powers at higher Nether Attunement has a chance of backlash (#79163)

* Initial commit

* Check for backlash on concentration breaking too.

* Change backlash messages to not reference unleashing powers

* Nether Attunement vitamin at 15 or higher, not powers maintained at 15 or higher

* Spelling

* Temporary script to automate this

* Remove meaningless weight fields

* Fix compile error, remove unneeded string initialisation, correct translation, don't write required mutation string if we're about to overwrite it with incompatible bionics

* Update skyscraper_lab_modular.json

* monstergroups "name" -> "id" in /data/json

* Commit the script so out of repo + personal mods can use it

* monstergroups "name" -> "id" in /data/mods

* Update deserialisation

* Get annoyed at flake8

* Put the script in the wrong folder like a numpty

* Fix MSVC build with lld linker

* Add an ignorable error and legacy load

* flake8 is rood

* Change C++ ids called "name" to something better too

* Rename doc/COMPILING/ -> doc/c++/

* Remove string spawn item overloads (#79173)

* Remove evil overloads

* Deal with fallout

* Rename map:: get_global->get_abs, bub_from_abs->get_bub, omt_from_abs->get_omt (#79167)

* Renamed map:: getglobal->get_abs, bub_from_abs->get_bub, omt_from_abs->get_omt

* astyle

* [Magiclysm] Remove duplicate religious professions (#79162)

* Update professions.json

* Redirect Lost Faith to vanilla professions, add books

* Reformat item field?

* Update data/mods/Magiclysm/scenarios.json

* Add scenario EoC

* Remove debug message

* Kick tests

---------

Co-authored-by: Anton Simakov <[email protected]>

* [ Xedra Evolved ] Fix Renfield Drops (#79166)

* typify game.h/cpp

* use typed point in android code

* Use sub_bodypart_str_id::NULL_ID() where appropriate

* Add attack_vector_id::NULL_ID()

* typify g - lightmap

* [MoM] Update and simplify Nether Attunement backlash EoC (#79175)

* More updates

* More edits

* Updating remaining effects

* Initial commit

* Initial commit

* Expand bodypart_str_id::NULL_ID() usage where appropriate

* Deal with /tests fallout

* Initial commit

* please clang

* Add CMake function do debug targets

* Add targets with dynamic linking

* Use VCPKG dynamic linking triplet

* Obey linter

* Apply review suggestions

* Fix Debug configuration linking with MSVS + LLD

* Fix zlib linking

* Prevent initialising an activity actor's type every turn it's active

* [MoM] Fix Research Facility having an oldlab underneath (#79191)

* Initial commit

* Implement suggestions from code review

* fix not being able to move items with charges with AIM (#79183)

* fix can move items with charges

* astyle

---------

Co-authored-by: marilynias <[email protected]>

* [Aftershock] Gene Clinics (#79197)

* Implement Gene Clinic variant 1

* Renovate Clinic to Add service room. Add Murder Bots and Moxies. Implement powered down gene editor

* Add most of the item spawn groups

* Add item groups, Monster Spawns, and Mapgen Nests

* Add trash to the ground in looted variant. Adjust spawn rates of looted vrs unlooted to 60-40 in the players favor

* Geneclinics also spawn without the Exo-Planet

* Remove redudant spawn of the larger genetech disposable group, low tier already spawns worker and combat rarely

* Mapgen now correctly murders plants when power is out

* String fixes for test gods

* Slime body can't hold cbms (#79086)

* [MoM] Switch mi-go psions to copy-from, giver the mindrender a power-based telepathic attack (#79199)

* Initial commit

* Kick tests

* [Aftershock] Ensure Outfitter always has at least one full EVA suit (#79218)

* Outfitter always has at least one full suit.

* Lint

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* Update fema_evacuee_1.json (#79203)

---------

Co-authored-by: anothersimulacrum <[email protected]>
Co-authored-by: Sab Pyrope <[email protected]>
Co-authored-by: moxian <[email protected]>
Co-authored-by: gettingusedto <[email protected]>
Co-authored-by: EliadOArias <[email protected]>
Co-authored-by: Standing-StormStanding-Storm git config --global user.name Standing-Storm git config --global user.name Standing-Storm <[email protected]>
Co-authored-by: Andrew Rosa <[email protected]>
Co-authored-by: GuardianDll <[email protected]>
Co-authored-by: Dee Anzorge <[email protected]>
Co-authored-by: Standing-Storm <[email protected]>
Co-authored-by: Maleclypse <[email protected]>
Co-authored-by: Anton Simakov <[email protected]>
Co-authored-by: Procyonae <[email protected]>
Co-authored-by: gisaku33 <[email protected]>
Co-authored-by: Kevin Granade <[email protected]>
Co-authored-by: David Seguin <[email protected]>
Co-authored-by: 7erracotta <[email protected]>
Co-authored-by: John Candlebury <[email protected]>
Co-authored-by: Further Reading <[email protected]>
Co-authored-by: osuphobia <[email protected]>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: PatrikLundell <[email protected]>
Co-authored-by: EArias <[email protected]>
Co-authored-by: Marc <[email protected]>
Co-authored-by: akrieger <[email protected]>
Co-authored-by: mqrause <[email protected]>
Co-authored-by: alef <[email protected]>
Co-authored-by: marilynias <[email protected]>
Co-authored-by: marilynias <[email protected]>
Co-authored-by: Risuga <[email protected]>

* clang stuff

---------

Co-authored-by: anothersimulacrum <[email protected]>
Co-authored-by: Sab Pyrope <[email protected]>
Co-authored-by: moxian <[email protected]>
Co-authored-by: gettingusedto <[email protected]>
Co-authored-by: EliadOArias <[email protected]>
Co-authored-by: Standing-StormStanding-Storm git config --global user.name Standing-Storm git config --global user.name Standing-Storm <[email protected]>
Co-authored-by: Andrew Rosa <[email protected]>
Co-authored-by: GuardianDll <[email protected]>
Co-authored-by: Dee Anzorge <[email protected]>
Co-authored-by: Standing-Storm <[email protected]>
Co-authored-by: Maleclypse <[email protected]>
Co-authored-by: Anton Simakov <[email protected]>
Co-authored-by: Procyonae <[email protected]>
Co-authored-by: gisaku33 <[email protected]>
Co-authored-by: Kevin Granade <[email protected]>
Co-authored-by: David Seguin <[email protected]>
Co-authored-by: 7erracotta <[email protected]>
Co-authored-by: John Candlebury <[email protected]>
Co-authored-by: Further Reading <[email protected]>
Co-authored-by: osuphobia <[email protected]>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: PatrikLundell <[email protected]>
Co-authored-by: EArias <[email protected]>
Co-authored-by: Marc <[email protected]>
Co-authored-by: akrieger <[email protected]>
Co-authored-by: mqrause <[email protected]>
Co-authored-by: alef <[email protected]>
Co-authored-by: marilynias <[email protected]>
Co-authored-by: marilynias <[email protected]>
Co-authored-by: Risuga <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
astyled astyled PR, label is assigned by github actions BasicBuildPassed This PR builds correctly, label assigned by github actions Fields / Furniture / Terrain / Traps Objects that are part of the map or its features. Items: Armor / Clothing Armor and clothing [JSON] Changes (can be) made in JSON json-styled JSON lint passed, label assigned by github actions Map / Mapgen Overmap, Mapgen, Map extras, Map display Mods: Aftershock Anything to do with the Aftershock mod Mods Issues related to mods or modding Spawn Creatures, items, vehicles, locations appearing on map Vehicles Vehicles, parts, mechanics & interactions
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants