Skip to content

Commit

Permalink
Aftershock Crafting System (#37707)
Browse files Browse the repository at this point in the history
  • Loading branch information
John-Candlebury authored Mar 6, 2020
1 parent af71a29 commit e66362c
Show file tree
Hide file tree
Showing 15 changed files with 441 additions and 39 deletions.
67 changes: 67 additions & 0 deletions data/mods/Aftershock/crafting_system.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
# Scrap Crafting System

## Overview

As one of its main goals, Aftershock allows the crafting of miscellaneous, highly technological devices that have no actual basis in reality. To make the crafting of these devices more balanced an intuitive, and to make adding more recipes and items easier, aftershock utilizes a crafting a system in which abstracted pieces of increasingly rare scrap are used to craft increasingly useful tools.


### Current Scrap Categories

The following table lists the currently planned/implemented scrap categories and their tiers.

| Category | Tier 1 | Tier 2 | Tier 3 | Tier 4 | Tier 5 |
| ----------------- | -------------------- | ------------------------ | -------------------------- | ------------------------- | ------------------------------------ |
| `Circuitry` | scrap photonics | photonic circuitry | photonic computation core | hypergeometric photonics | acausal logic permutator |
| `Energy Storage` | Nanowire battery | ultracapacitor | Ultracapacitor array | Superconductive Coil | zero-point energy extractor |
| `Material` | Composite Superalloy | vacuum cast Carbide | Nanoprinted Alloys | crystal forged neutrite | phase-uneven matter |
| `Cloth` | E-textile | monofilament silk | graphene weave | woven metamaterial | |
| `Magnet` | Emag | cryo electromagnet | super conductive emag | ferrofluid dynamo | |
| `Optics ` | | Laser Optics | Phased Array Optics | Nano-optics | |
| `Neural I/O` | peripheral electrode | neural electrode | Brain implant prod | Synthetic Neural Tissue | neurosynaptic interface matrix |
| `Biomaterial` | monomeric slurry | micellular growth medium | artificial muscle fibers | self healing polymers | autologous totipotent tissue culture |

Note that more categories can be added, and that it inst necessary for a category to encompass the five tiers, although its better if they do.

## Scrap Tiers Briefly Explained

### Tier 1

Tier 1 scrap is plentiful, and can be easily found even when you aren't specifically looking for it. It might be dropped by defeating common enemies, or by disassembling common household objects. Ideally Tier 1 scrap is mostly used as a filler component in more advanced recipes. Things that might be crafted using only this tier of scrap must be single-use and not very effective, and should see little use outside of the early game.For example

- Makeshift ammunition of all kinds, that might risk damaging your gun.
- Weak grenades with very limited range.

### Tier 2

Tier 2 scrap remains common, but requires some measure of effort to acquire. Perhaps it spawns only in certain locations or requires specialized tools and skills to extract. This scrap might be used to craft disposable tools and weapons or to make decent quality ammunition and explosives. For example:

- Bulky, makeshift version of an UPS with very limited charge capacity.
- A rail gun/laser that works only for a limited number of shots before melting.
- A grenade that emits a low range electric field.

### Tier 3

Much like tier 2 above, this type of scrap is common, but is only meant to spawn in locations that might prove dangerous to a mid-game characters. Additionally, it should always need tools and skills to extract. Tier 3 scrap might be used to craft basic rechargeable tools, mid-quality weapons and exotic ammunition and grenades. For example:

- UPS
- Non relaodable charge packs for Laser Weapons
- Shoddy laser Rifle

### Tier 4

This tier of scrap is properly uncommon, it spawns should be limited to the 'boss rooms' of mid-game and to end-game dungeons, and should prove challenging to acquire. It might be used to craft tools that provide great convenience in the non combat aspects of the game, single use items that grant very powerful abilities and good quality weapons. For Example

- Most utility bionics.
- Laser Weapons.
- Atomic tools.
- Singe use invisibility cloak.

### Tier 5

Very rare loot occasionally dropped by endgame threats and dungeons, extracting it requires very high skills and specialized tools. Thematically linked to the dimensional technology that caused the cataclysm. Might be used to craft items that severely and permanently alter the combat aspects of gameplay. For example:

- Hologram Cloak Mk. II
- Rechargeable Spell Casters
- CBMs that interact with space-time
- Most combat bionics.

49 changes: 49 additions & 0 deletions data/mods/Aftershock/items/crafting_scrap/abstract_scrap.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
[
{
"abstract": "afs_scrap_1",
"type": "GENERIC",
"category": "spare_parts",
"name": "ur-scrap",
"description": "A small techno doodad.",
"looks_like": "e_scrap",
"price": 500,
"price_postapoc": 1000,
"weight": "250 g",
"volume": "50 ml",
"to_hit": -3,
"symbol": "*",
"color": "light_gray"
},
{
"type": "GENERIC",
"abstract": "afs_scrap_2",
"name": "ur-scrap",
"copy-from": "afs_scrap_1",
"price": 5000,
"price_postapoc": 10000
},
{
"type": "GENERIC",
"abstract": "afs_scrap_3",
"name": "ur-scrap",
"copy-from": "afs_scrap_1",
"price": 5000,
"price_postapoc": 50000
},
{
"type": "GENERIC",
"abstract": "afs_scrap_4",
"name": "ur-scrap",
"copy-from": "afs_scrap_1",
"price": 50000,
"price_postapoc": 100000
},
{
"type": "GENERIC",
"abstract": "afs_scrap_5",
"name": "ur-scrap",
"copy-from": "afs_scrap_1",
"price": 500000,
"price_postapoc": 1000000
}
]
42 changes: 42 additions & 0 deletions data/mods/Aftershock/items/crafting_scrap/circuity_scrap.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
[
{
"type": "GENERIC",
"id": "afs_circuitry_1",
"copy-from": "afs_scrap_1",
"name": "scrap photonics",
"description": "Small circuits blue and gold, transmitting signals through light.",
"looks_like": "scrap"
},
{
"type": "GENERIC",
"id": "afs_circuitry_2",
"copy-from": "afs_scrap_2",
"name": "photonic circuitry",
"description": "A resplendent golden grid inlaid on dark blue substrate.",
"looks_like": "scrap"
},
{
"type": "GENERIC",
"id": "afs_circuitry_3",
"copy-from": "afs_scrap_3",
"name": "photonic computation core",
"description": "A monolithic circuit shaped as a glowing cube of crystal.",
"looks_like": "scrap"
},
{
"type": "GENERIC",
"id": "afs_circuitry_4",
"copy-from": "afs_scrap_4",
"name": "hypergeometric photonics",
"description": "In your hands lies a self-contained digital universe. Its programs glowing like stars fixed on computational shells infinitely layered.",
"looks_like": "scrap"
},
{
"type": "GENERIC",
"id": "afs_circuitry_5",
"copy-from": "afs_scrap_5",
"name": "acausal logic permutator",
"description": "It has given you an answer, but you are yet to ask anything.",
"looks_like": "scrap"
}
]
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
[
{
"type": "GENERIC",
"id": "afs_energy_storage_1",
"copy-from": "afs_scrap_1",
"name": "nanowire battery",
"description": "A small battery component with a very high energy density.",
"looks_like": "scrap"
},
{
"type": "GENERIC",
"id": "afs_energy_storage_2",
"copy-from": "afs_scrap_2",
"name": "ultracapacitor",
"description": "A capacitor made from exotic compounds, capable of storing a high amount of electric charge.",
"looks_like": "scrap"
},
{
"type": "GENERIC",
"id": "afs_energy_storage_3",
"copy-from": "afs_scrap_3",
"name": "ultracapacitor array",
"description": "Ultracapacitors assembled into a finely tunned energy storage array.",
"looks_like": "scrap"
},
{
"type": "GENERIC",
"id": "afs_energy_storage_4",
"copy-from": "afs_scrap_4",
"name": "superconductive coil",
"description": "Superconductive wire warped upon itself manipulates the electromagnetic spectrum to store vast amounts of power.",
"looks_like": "scrap"
},
{
"type": "GENERIC",
"id": "afs_energy_storage_5",
"copy-from": "afs_scrap_5",
"name": "zero-point energy extractor",
"description": "A complex grid pins space-time to the surface of the multiversal hyper-torus, allowing the energies within to leak into our sliver of existence.",
"looks_like": "scrap"
}
]
26 changes: 26 additions & 0 deletions data/mods/Aftershock/items/crafting_scrap/magnet_scrap.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
[
{
"type": "GENERIC",
"id": "afs_magnet_1",
"copy-from": "afs_scrap_1",
"name": "high quality electromagnet",
"description": "A sturdy, industrially crafted electromagnet.",
"looks_like": "scrap"
},
{
"type": "GENERIC",
"id": "afs_magnet_2",
"copy-from": "afs_scrap_2",
"name": "cryo electromagnet",
"description": "A powerful super conductive electromagnet, that must be kept at very low temperatures to operate.",
"looks_like": "scrap"
},
{
"type": "GENERIC",
"id": "afs_magnet_3",
"copy-from": "afs_scrap_3",
"name": "super conductive electromagnet",
"description": "A powerful electromagnet made from a room temperature superconductor .",
"looks_like": "scrap"
}
]
42 changes: 42 additions & 0 deletions data/mods/Aftershock/items/crafting_scrap/material_scrap.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
[
{
"type": "GENERIC",
"id": "afs_material_1",
"copy-from": "afs_scrap_1",
"name": "composite alloy",
"description": "Miscellaneous scrap pieces made from a composite alloy.",
"looks_like": "scrap"
},
{
"type": "GENERIC",
"id": "afs_material_2",
"copy-from": "afs_scrap_2",
"name": "vacuum cast carbide",
"description": "Malleable carbide cast by forges on high earth orbit.",
"looks_like": "scrap"
},
{
"type": "GENERIC",
"id": "afs_material_3",
"copy-from": "afs_scrap_1",
"name": "nanoprinted alloy",
"description": "A meta material fabricated by precisely layering different elements at an atomic scale.",
"looks_like": "scrap"
},
{
"type": "GENERIC",
"id": "afs_material_4",
"copy-from": "afs_scrap_4",
"name": "crystal forged neutrite",
"description": "Great forges within the Earth's core wrought hydrogen into flaming metal and poured it within lattices of super conductive lanthanum. Locked in magnetic equilibrium, it was left to cool into a dark unbreakable metal",
"looks_like": "scrap"
},
{
"type": "GENERIC",
"id": "afs_material_5",
"copy-from": "afs_scrap_5",
"name": "phase uneven matter",
"description": "Matter condensed from the liminal spaces between dimmensions.",
"looks_like": "scrap"
}
]
42 changes: 42 additions & 0 deletions data/mods/Aftershock/items/crafting_scrap/neural_io_scrap.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
[
{
"type": "GENERIC",
"id": "afs_neural_io_1",
"copy-from": "afs_scrap_1",
"name": "peripheral electrode",
"description": "A thin strand of wire and a clamp, meant to be spliced into the smaller nerves of the human body.",
"looks_like": "scrap"
},
{
"type": "GENERIC",
"id": "afs_neural_io_2",
"copy-from": "afs_scrap_2",
"name": "neural electrode",
"description": "A small array of metallic needles allows complex communication between machine and human mind.",
"looks_like": "scrap"
},
{
"type": "GENERIC",
"id": "afs_neural_io_3",
"copy-from": "afs_scrap_3",
"name": "brain implant prod",
"description": "A complexly etched rod of metal interfaces with the corpus callosum of the patient, granting increased control of bionic functions.",
"looks_like": "scrap"
},
{
"type": "GENERIC",
"id": "afs_neural_io_4",
"copy-from": "afs_scrap_4",
"name": "artificial neural tissue",
"description": "Photonic axons process thought at speeds far surpassing primitive, chemical-driven communication.",
"looks_like": "scrap"
},
{
"type": "GENERIC",
"id": "afs_neural_io_5",
"copy-from": "afs_scrap_5",
"name": "neurosynaptic interface matrix",
"description": "A membrane of artificial neurons envelops the cerebral cortex, melding machine and human intellect into a gestalt much greater than its individual parts.",
"looks_like": "scrap"
}
]
24 changes: 24 additions & 0 deletions data/mods/Aftershock/items/grenades.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
[
{
"id": "afs_electroshock_grenade_1",
"type": "TOOL",
"copy-from": "grenade_canister",
"category": "weapons",
"looks_like": "grenade_emp",
"name": "electroshock grenade",
"description": "This is an electronic weapon that will emit a short ranged electric field. When activated, you'll have five turns before it starts doing so; throwing it before that would be a good idea.",
"countdown_action": { "menu_text": "Pull pin", "type": "transform", "target": "afs_electroshock_grenade_1_act" }
},
{
"id": "afs_electroshock_grenade_1_act",
"type": "TOOL",
"copy-from": "afs_electroshock_grenade_1",
"looks_like": "grenade_emp_act",
"name": "armed electroshock grenade",
"description": "This electroshock grenade is currently creating a dangerous electric field.",
"emits": [ "emit_shock_cloud" ],
"countdown_interval": 20,
"countdown_action": { "type": "transform", "target": "null" },
"flags": [ "TRADER_AVOID" ]
}
]
18 changes: 18 additions & 0 deletions data/mods/Aftershock/items/item_groups.json
Original file line number Diff line number Diff line change
Expand Up @@ -78,6 +78,24 @@
[ "schematics_searchlight", 50 ]
]
},
{
"id": "science",
"//": "extension of vanilla itemgroup",
"type": "item_group",
"items": [ [ "bionic_maintenance_toolkit", 20 ] ]
},
{
"id": "tools_medical",
"//": "extension of vanilla itemgroup",
"type": "item_group",
"items": [ [ "bionic_maintenance_toolkit", 20 ] ]
},
{
"id": "surgery",
"//": "extension of vanilla itemgroup",
"type": "item_group",
"items": [ [ "bionic_maintenance_toolkit", 20 ] ]
},
{
"id": "jewelry_accessories",
"type": "item_group",
Expand Down
2 changes: 1 addition & 1 deletion data/mods/Aftershock/items/items.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
"type": "TOOL",
"name": { "str": "precision solderers", "str_pl": "precision solderers" },
"flags": "TRADER_AVOID",
"qualities": [ [ "SAW_M_FINE", 1 ], [ "SCREW_FINE", 1 ], [ "CUT_FINE", 2 ] ]
"qualities": [ [ "SAW_M_FINE", 1 ], [ "SCREW_FINE", 1 ], [ "CUT_FINE", 2 ], [ "BIONIC_ASSEMBLY", 2 ] ]
},
{
"type": "GENERIC",
Expand Down
5 changes: 5 additions & 0 deletions data/mods/Aftershock/items/tool_quality.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,5 +4,10 @@
"id": "CHURN",
"name": "churn",
"//": "Delete this when you mainline Dairy products existing PR"
},
{
"type": "tool_quality",
"id": "BIONIC_ASSEMBLY",
"name": "bionic assembly"
}
]
Loading

0 comments on commit e66362c

Please sign in to comment.