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

Ore Processing Framework #2766

Merged
merged 184 commits into from
Sep 9, 2024
Merged
Show file tree
Hide file tree
Changes from 20 commits
Commits
Show all changes
184 commits
Select commit Hold shift + click to select a range
0ad19e7
temp
dwasint Jul 29, 2024
f18d892
Update event.dm
dwasint Jul 29, 2024
6f48272
test
dwasint Jul 29, 2024
25140ea
updates some rulesets
dwasint Jul 29, 2024
b6670d1
Update client_procs.dm
dwasint Jul 30, 2024
ddfd14d
Update base.dm
dwasint Jul 30, 2024
d911d72
properly nulls phantoms
dwasint Jul 31, 2024
4a49ca0
smg tuning
dwasint Jul 31, 2024
2c3bae4
fixes
dwasint Aug 1, 2024
a070ba3
Update pirate_event.dm
wraith-54321 Aug 2, 2024
ca5cf3d
fixes maybe
dwasint Aug 3, 2024
4c97f5d
Update sound.dm
dwasint Aug 3, 2024
195cf2c
Update sound.dm
dwasint Aug 3, 2024
a9b3006
basics
dwasint Aug 8, 2024
e1bbe47
Update brine_chamber.dm
dwasint Aug 8, 2024
d2f475b
splitter
dwasint Aug 8, 2024
5e4302d
fixes
dwasint Aug 8, 2024
1d1d49b
stuff
dwasint Aug 8, 2024
8fe6ab7
lots of stuff
dwasint Aug 9, 2024
de53587
Update grabber.dm
dwasint Aug 9, 2024
a7ec43e
Update grabber.dm
dwasint Aug 9, 2024
938a49b
more stuff
dwasint Aug 10, 2024
e087c2a
more stuff
dwasint Aug 10, 2024
f5ac461
cleanup
dwasint Aug 10, 2024
ce61963
Update antibodyscanner.dm
dwasint Aug 10, 2024
6619fb3
:(
dwasint Aug 10, 2024
d75a8b0
reverts
dwasint Aug 10, 2024
93c654d
Update __spawning_component.dm
dwasint Aug 10, 2024
76371ec
debug
dwasint Aug 10, 2024
4b3e72e
Update datum.dm
dwasint Aug 10, 2024
49170ae
Update debug.dm
dwasint Aug 11, 2024
2dda596
Update debug.dm
dwasint Aug 11, 2024
91900ad
da
dwasint Aug 11, 2024
7d9a553
Update master.dm
dwasint Aug 11, 2024
d4bc374
Update debug.dm
dwasint Aug 11, 2024
c49b432
yea
dwasint Aug 11, 2024
5323aa4
Update button.dm
dwasint Aug 11, 2024
4b8b37c
start of filters
dwasint Aug 11, 2024
3465ab1
adds filter stuff
dwasint Aug 12, 2024
64e0f3b
Merge branch 'master' into mekanism
dwasint Aug 12, 2024
6331289
assembler base
dwasint Aug 12, 2024
d349b3f
Update assembler.dm
dwasint Aug 12, 2024
4015f3c
Update assembler.dm
dwasint Aug 12, 2024
5abe5e0
assembler fix
dwasint Aug 12, 2024
fedfdb2
adds examine for assembler
dwasint Aug 12, 2024
de95cad
qol stuff
dwasint Aug 12, 2024
1a1e688
molotovs are kinda wonky but everything else is fine
dwasint Aug 13, 2024
f4daad4
boulder thumpers
dwasint Aug 13, 2024
9f12ce0
the ore vents are real
dwasint Aug 13, 2024
df44540
some more stuff performance improvement by moving debug procs
dwasint Aug 13, 2024
43e53cf
fixes ore vents
dwasint Aug 13, 2024
8a315ae
what
dwasint Aug 13, 2024
1835815
oops
dwasint Aug 13, 2024
f7108a1
Update plague_rat.dm
dwasint Aug 14, 2024
8d9a2c6
fixes
dwasint Aug 14, 2024
e7e5394
Update chemical_injector.dm
dwasint Aug 14, 2024
b19bda9
Update ducts.dm
dwasint Aug 14, 2024
6b824ef
fixes
dwasint Aug 14, 2024
095e471
changes to reduce memory footpint
dwasint Aug 15, 2024
1ab325f
saves datums
dwasint Aug 15, 2024
c99c1dc
Update debug.dm
dwasint Aug 15, 2024
6fcd45f
fixes
dwasint Aug 15, 2024
39d3923
fixes
dwasint Aug 15, 2024
e7c8abf
Delete hypnagogicv3-1-0.exe
dwasint Aug 15, 2024
b1fbe28
fixes
dwasint Aug 15, 2024
17547ac
Merge branch 'master' into mekanism
dwasint Aug 15, 2024
ad668af
properlly adds the blueshield
dwasint Aug 15, 2024
b668702
whoops
dwasint Aug 15, 2024
7abfaf7
whoops 2
dwasint Aug 15, 2024
654a944
Update gun.dm
dwasint Aug 15, 2024
3351618
fixes
dwasint Aug 15, 2024
43daa0a
Update Blueshift.dmm
dwasint Aug 15, 2024
d502343
changes
dwasint Aug 16, 2024
7993b69
Update sleeping_carp.dm
dwasint Aug 16, 2024
740753d
fixes
dwasint Aug 16, 2024
a91d9de
Update _material.dm
dwasint Aug 16, 2024
bd9e8dc
revamps the drunkards liver to convert water to beer, as a byproduct …
dwasint Aug 16, 2024
a960a54
brewin of the brewin and chewing update
dwasint Aug 17, 2024
ddbd643
Update world.dm
dwasint Aug 17, 2024
a540603
fix
dwasint Aug 17, 2024
c4f12c1
Update patreon_data.dm
dwasint Aug 17, 2024
d0f5854
more stuff
dwasint Aug 18, 2024
bb648bd
Update StackCraft.js
dwasint Aug 18, 2024
ec7bec2
fixes
dwasint Aug 19, 2024
6f0541c
Update wardrobes.dm
dwasint Aug 19, 2024
e053d72
I hate tgui I hate tgui
dwasint Aug 19, 2024
3734ec2
some fixes to custom descs
dwasint Aug 19, 2024
940d188
fixes
dwasint Aug 19, 2024
e71433c
more stuff
dwasint Aug 20, 2024
fd211a3
Update other_reagents.dm
dwasint Aug 20, 2024
27aa086
test
dwasint Aug 20, 2024
32655d8
Update BoxStation.dmm
dwasint Aug 20, 2024
e324196
whoopsie
dwasint Aug 20, 2024
f5397ee
pain
dwasint Aug 20, 2024
fdcc69f
Update modified_reagents.dm
dwasint Aug 20, 2024
e464596
Merge branch 'master' into mekanism
dwasint Aug 20, 2024
69ac7a0
whoops
dwasint Aug 20, 2024
31b6e9a
adds readme and traits
dwasint Aug 20, 2024
acff3ec
Update opiods.dm
dwasint Aug 20, 2024
708fe44
Update _base.dm
dwasint Aug 20, 2024
da5d83d
Update disease_outbreak.dm
dwasint Aug 20, 2024
7b8dbbb
Update deforest.dm
dwasint Aug 20, 2024
7cec32b
Update traits.dm
dwasint Aug 20, 2024
e824063
halves robotic limb attachment pain
dwasint Aug 20, 2024
8c3ac0a
adds desc
dwasint Aug 20, 2024
62218ef
tweaks
dwasint Aug 20, 2024
c7aed4c
Update scream_for_me.dm
dwasint Aug 20, 2024
5966f54
Update _base.dm
dwasint Aug 20, 2024
5349c64
Update fortitude.dm
dwasint Aug 20, 2024
9f60541
fixes
dwasint Aug 20, 2024
836fe24
fixes
dwasint Aug 20, 2024
f264c99
fixes
dwasint Aug 20, 2024
dac28b3
Update custom.dm
dwasint Aug 20, 2024
993c81e
fixes
dwasint Aug 20, 2024
c4d749c
Update plague_rat.dm
dwasint Aug 20, 2024
904f701
more stuff
dwasint Aug 21, 2024
67bc67e
Update pain_items.dmi
dwasint Aug 21, 2024
e911b7e
fixes
dwasint Aug 21, 2024
0332456
more tweaks
dwasint Aug 21, 2024
3a0fa07
Update _actionspeed_modifier.dm
dwasint Aug 21, 2024
03391f4
wah
dwasint Aug 22, 2024
c2cd331
fixes for fryers
dwasint Aug 22, 2024
39c7dfd
stuff
dwasint Aug 22, 2024
0e0b748
more tweaks
dwasint Aug 22, 2024
f8db327
compresses steps
dwasint Aug 22, 2024
eb932c1
Update PersonalCrafting.tsx
dwasint Aug 22, 2024
a510c3f
hellish
dwasint Aug 22, 2024
a632d97
linters
dwasint Aug 22, 2024
628ae8c
Update holding_types.dm
dwasint Aug 22, 2024
85355e9
adds powerful painkillers to survival pens
dwasint Aug 22, 2024
d6d53fe
Update event.dm
dwasint Aug 22, 2024
3d07684
Update painkillers.dm
dwasint Aug 22, 2024
be89332
Update disease_outbreak.dm
dwasint Aug 22, 2024
dc114a6
changes
dwasint Aug 22, 2024
f37094a
Update debug.dm
dwasint Aug 23, 2024
e734567
more recipes
dwasint Aug 23, 2024
2b3b2a8
adds weapon pain damage
dwasint Aug 23, 2024
6689b94
whoops
dwasint Aug 23, 2024
7dd1b20
fixes
dwasint Aug 24, 2024
128344e
fixed
dwasint Aug 24, 2024
17bb159
Update mouse.dm
dwasint Aug 24, 2024
b90a0a5
ffs
dwasint Aug 24, 2024
a204555
base
dwasint Aug 25, 2024
76c5f1d
we ball
dwasint Aug 26, 2024
4b9ab65
Update particle.dm
dwasint Aug 26, 2024
c8a688b
fixed
dwasint Aug 26, 2024
b3881d4
Update _base.dm
dwasint Aug 26, 2024
65ae365
some pain feedback
dwasint Aug 27, 2024
4556661
some more visual stuff
dwasint Aug 27, 2024
ebc5a94
Update bullets.dm
dwasint Aug 27, 2024
5802d04
better recoil
dwasint Aug 27, 2024
aae03f2
start of slasher changes
dwasint Aug 30, 2024
4afc74a
Update assembler.dm
dwasint Sep 2, 2024
2f8d213
Update assembler.dm
dwasint Sep 2, 2024
62a512c
Update code_generator.dm
dwasint Sep 3, 2024
477aa29
moves slasher stuff to new lifes
dwasint Sep 4, 2024
516b07f
more stuff
dwasint Sep 4, 2024
b528d83
whoops
dwasint Sep 5, 2024
ced0a61
whoops
dwasint Sep 5, 2024
1619226
Revert "whoops"
dwasint Sep 5, 2024
348350a
Update gary_component.dm
dwasint Sep 5, 2024
dec86b6
Update stage4.dm
dwasint Sep 5, 2024
f487c10
Merge branch 'master' of https://github.com/Monkestation/Monkestation…
Absolucy Sep 7, 2024
f598821
Merge branch 'master' of https://github.com/Monkestation/Monkestation…
Absolucy Sep 8, 2024
bf96dba
Update declarations.dm
dwasint Sep 8, 2024
f39273a
fixes
dwasint Sep 8, 2024
245e3ce
Update _traits.dm
dwasint Sep 8, 2024
d161614
Update slasher_datum.dm
dwasint Sep 8, 2024
58305ff
Update scrap.dm
dwasint Sep 8, 2024
aa810e6
linters
dwasint Sep 8, 2024
482de15
Update species.dm
dwasint Sep 8, 2024
15c53d6
Update dismemberment.dm
dwasint Sep 8, 2024
e24b4e0
Update dismemberment.dm
dwasint Sep 8, 2024
0797270
Update deep_fryer.dm
dwasint Sep 8, 2024
9bfb8a1
Update deep_fryer.dm
dwasint Sep 8, 2024
cb0fd62
adds a new recipe step type reagent_choice
dwasint Sep 8, 2024
d9e07b7
Update add_reagent_choice.dm
dwasint Sep 8, 2024
86a55e3
fix mem stats flags
Absolucy Sep 8, 2024
098f954
Merge branch 'master' of https://github.com/Monkestation/Monkestation…
Absolucy Sep 8, 2024
ca25173
Update console.dm
dwasint Sep 9, 2024
e4b478b
Merge branch 'mekanism' of https://github.com/dwasint/Monkestation2.0…
dwasint Sep 9, 2024
3186f8b
fixes title screens
dwasint Sep 9, 2024
a732632
more recipes
dwasint Sep 9, 2024
6d62f81
Update mapload_space_verification.dm
dwasint Sep 9, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
253 changes: 106 additions & 147 deletions _maps/map_files/debug/runtimestation.dmm

Large diffs are not rendered by default.

12 changes: 12 additions & 0 deletions code/__DEFINES/materials.dm
Original file line number Diff line number Diff line change
Expand Up @@ -68,3 +68,15 @@
#define MATERIAL_SLOWDOWN_PLASTEEL (0.05)
/// The slowdown value of one [SHEET_MATERIAL_AMOUNT] of alien alloy.
#define MATERIAL_SLOWDOWN_ALIEN_ALLOY (0.1)

// The number of ore vents that will spawn boulders with this material.
/// Is this material going to spawn often in ore vents? (80% of vents on lavaland)
#define MATERIAL_RARITY_COMMON 12
/// Is this material going to spawn often in ore vents? (53% of vents on lavaland)
#define MATERIAL_RARITY_SEMIPRECIOUS 8
/// Is this material going to spawn uncommonly in ore vents? (33% of vents on lavaland)
#define MATERIAL_RARITY_PRECIOUS 5
/// Is this material going to spawn rarely in ore vents? (20% of vents on lavaland)
#define MATERIAL_RARITY_RARE 3
/// Is this material only going to spawn once in ore vents? (6% of vents on lavaland)
#define MATERIAL_RARITY_UNDISCOVERED 1
49 changes: 49 additions & 0 deletions code/__DEFINES/mining.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
// Defines related to the mining rework circa June 2023
/// Durability of a large size boulder from a large size vent.
#define BOULDER_SIZE_LARGE 15
/// Durability of a medium size boulder from a medium size vent.
#define BOULDER_SIZE_MEDIUM 10
/// Durability of a small size boulder from a small size vent.
#define BOULDER_SIZE_SMALL 5
/// How many boulders can a single ore vent have on it's tile before it stops producing more?
#define MAX_BOULDERS_PER_VENT 10
/// Time multiplier
#define INATE_BOULDER_SPEED_MULTIPLIER 3
// Vent type
/// Large vents, giving large boulders.
#define LARGE_VENT_TYPE "large"
/// Medium vents, giving medium boulders.
#define MEDIUM_VENT_TYPE "medium"
/// Small vents, giving small boulders.
#define SMALL_VENT_TYPE "small"

/// Proximity to a vent that a wall ore needs to be for 5 ore to be mined.
#define VENT_PROX_VERY_HIGH 3
/// Proximity to a vent that a wall ore needs to be for 4 ore to be mined.
#define VENT_PROX_HIGH 6
/// Proximity to a vent that a wall ore needs to be for 3 ore to be mined.
#define VENT_PROX_MEDIUM 15
/// Proximity to a vent that a wall ore needs to be for 2 ore to be mined.
#define VENT_PROX_LOW 32
/// Proximity to a vent that a wall ore needs to be for 1 ore to be mined.
#define VENT_PROX_FAR 64

/// The chance of ore spawning in a wall that is VENT_PROX_VERY_HIGH tiles to a vent.
#define VENT_CHANCE_VERY_HIGH 75
/// The chance of ore spawning in a wall that is VENT_PROX_HIGH tiles to a vent.
#define VENT_CHANCE_HIGH 18
/// The chance of ore spawning in a wall that is VENT_PROX_MEDIUM tiles to a vent.
#define VENT_CHANCE_MEDIUM 9
/// The chance of ore spawning in a wall that is VENT_PROX_LOW tiles to a vent.
#define VENT_CHANCE_LOW 5
/// The chance of ore spawning in a wall that is VENT_PROX_FAR tiles to a vent.
#define VENT_CHANCE_FAR 1

/// The number of points a miner gets for discovering a vent, multiplied by BOULDER_SIZE when completing a wave defense minus the discovery bonus.
#define MINER_POINT_MULTIPLIER 100
/// The multiplier that gets applied for automatically generated mining points.
#define MINING_POINT_MACHINE_MULTIPLIER 0.8

//String defines to use with CaveGenerator presets for what ore breakdown to use.
#define OREGEN_PRESET_LAVALAND "lavaland"
#define OREGEN_PRESET_TRIPLE_Z "triple_z"
5 changes: 4 additions & 1 deletion code/__DEFINES/skills.dm
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,9 @@
///The multiplier of the extra experience given by the fishing minigame based on difficulty. At the default difficulty of 15, the bonus will be of 21%.
#define FISHING_SKILL_DIFFIULTY_EXP_MULT 0.015
///How much exp one would gain per spent playing the fishing minigame at minimum difficulty.
#define FISHING_SKILL_EXP_PER_SECOND (SKILL_EXP_LEGENDARY / (22 MINUTES))
#define FISHING_SKILL_EXP_PER_SECOND (SKILL_EXP_LEGENDARY / (15 MINUTES * 0.1))
///The maximum amount of experience one can get per fishing minigame. I appreciate the effort though.
#define FISHING_SKILL_EXP_CAP_PER_GAME (SKILL_EXP_LEGENDARY / 5)

///The base modifier a boulder's size grants to the mining skill.
#define MINING_SKILL_BOULDER_SIZE_XP 10
6 changes: 6 additions & 0 deletions code/__DEFINES/traits.dm
Original file line number Diff line number Diff line change
Expand Up @@ -1350,4 +1350,10 @@ Remember to update _globalvars/traits.dm if you're adding/removing/renaming trai
///Trait given when a mob has been tipped
#define TRAIT_MOB_TIPPED "mob_tipped"

/// That which allows mobs to instantly break down boulders.
wraith-54321 marked this conversation as resolved.
Show resolved Hide resolved
#define TRAIT_INSTANTLY_PROCESSES_BOULDERS "instantly_processes_boulders"

/// Trait applied to objects and mobs that can attack a boulder and break it down. (See /obj/item/boulder/manual_process())
#define TRAIT_BOULDER_BREAKER "boulder_breaker"

// END TRAIT DEFINES
35 changes: 35 additions & 0 deletions code/_globalvars/lists/ores_spawned.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
/**
* Sets of global lists breaking down the base spawning distributions for various maps and stations.
*
* Currently used for ore vents on roundstart when the map is generated. (See ore_vent.dm, seedRuins() and ore_generation.dm)
* Ore vent lists here are copied to ore_vent_minerals on ruin seeding,
* in order to dynamically adjust the spawn rates as materials are picked and set a global ore distribution from vents.
*
* By default vents pull 4 unique materials each, but this can vary with subtypes.
*/

GLOBAL_LIST_INIT(ore_vent_minerals_lavaland, list(
/datum/material/iron = 13,
/datum/material/glass = 12,
/datum/material/plasma = 9,
/datum/material/titanium = 6,
/datum/material/silver = 5,
/datum/material/gold = 5,
/datum/material/diamond = 3,
/datum/material/uranium = 3,
/datum/material/bluespace = 3,
/datum/material/plastic = 1,
))

GLOBAL_LIST_INIT(ore_vent_minerals_triple_z, list(
/datum/material/iron = 24,
/datum/material/glass = 23,
/datum/material/plasma = 16,
/datum/material/titanium = 10,
/datum/material/silver = 8,
/datum/material/gold = 7,
/datum/material/diamond = 4,
/datum/material/uranium = 4,
/datum/material/bluespace = 3,
/datum/material/plastic = 1,
))
2 changes: 2 additions & 0 deletions code/_globalvars/traits.dm
Original file line number Diff line number Diff line change
Expand Up @@ -234,6 +234,7 @@ GLOBAL_LIST_INIT(traits_by_type, list(
"TRAIT_UNCATCHABLE" = TRAIT_UNCATCHABLE,
"TRAIT_DANGEROUS_OBJECT" = TRAIT_DANGEROUS_OBJECT,
"TRAIT_HAUNTED" = TRAIT_HAUNTED,
"TRAIT_INSTANTLY_PROCESSES_BOULDERS" = TRAIT_INSTANTLY_PROCESSES_BOULDERS,
),
/atom = list(
"TRAIT_KEEP_TOGETHER" = TRAIT_KEEP_TOGETHER,
Expand All @@ -250,6 +251,7 @@ GLOBAL_LIST_INIT(traits_by_type, list(
"TRAIT_VOIDSTORM_IMMUNE" = TRAIT_VOIDSTORM_IMMUNE,
"TRAIT_WEATHER_IMMUNE" = TRAIT_WEATHER_IMMUNE,
"TRAIT_RUNECHAT_HIDDEN" = TRAIT_RUNECHAT_HIDDEN,
"TRAIT_BOULDER_BREAKER" = TRAIT_BOULDER_BREAKER,
),
/obj/item/card/id = list(
"TRAIT_MAGNETIC_ID_CARD" = TRAIT_MAGNETIC_ID_CARD,
Expand Down
5 changes: 5 additions & 0 deletions code/_onclick/hud/new_player.dm
Original file line number Diff line number Diff line change
Expand Up @@ -190,6 +190,11 @@
to_chat(hud.mymob, span_boldwarning("The round is either not ready, or has already finished..."))
return

if(hud.mymob.client?.check_overwatch())
to_chat(hud.mymob, span_warning("Kindly wait until your connection has been authenticated before joining"))
message_admins("[hud.mymob.key] tried to use the Join button but failed the overwatch check.")
return

//Determines Relevent Population Cap
var/relevant_cap
var/hard_popcap = CONFIG_GET(number/hard_popcap)
Expand Down
6 changes: 6 additions & 0 deletions code/datums/brain_damage/magic.dm
Original file line number Diff line number Diff line change
Expand Up @@ -124,3 +124,9 @@
desc = "It's coming closer..."
image_icon = 'icons/mob/simple/lavaland/lavaland_monsters.dmi'
image_state = "curseblob"
var/datum/brain_trauma/magic/stalker_multiple/host

/obj/effect/client_image_holder/stalker_phantom/Destroy(force)
. = ..()
host.stalkers -= src
host = null
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
host = null
host = null
return ..()

also why are we tracking host here?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

idk but this fixed issues

Comment on lines +129 to +132
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
/obj/effect/client_image_holder/stalker_phantom/Destroy(force)
. = ..()
host.stalkers -= src
host = null
/obj/effect/client_image_holder/stalker_phantom/Destroy(force)
if(host)
host.stalkers -= src
host = null
return ..()

I'm seeing this runtime pop up a lot in grafana:
image

10 changes: 10 additions & 0 deletions code/datums/greyscale/config_types/greyscale_configs.dm
Original file line number Diff line number Diff line change
Expand Up @@ -1277,3 +1277,13 @@
name = "Worn Playbunny Ears"
icon_file = 'monkestation/icons/mob/clothing/head_32x48.dmi'
json_config = 'code/datums/greyscale/json_configs/playbunny_ears_worn.json'

/datum/greyscale_config/big_manipulator
name = "Big Manipulator"
icon_file = 'monkestation/code/modules/factory_type_beat/icons/big_manipulator_core.dmi'
json_config = 'code/datums/greyscale/json_configs/big_manipulator.json'

/datum/greyscale_config/manipulator_hand
name = "Manipulator Hand"
icon_file = 'monkestation/code/modules/factory_type_beat/icons/big_manipulator_hand.dmi'
json_config = 'code/datums/greyscale/json_configs/manipulator_hand.json'
15 changes: 15 additions & 0 deletions code/datums/greyscale/json_configs/big_manipulator.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
{
"core": [
{
"type": "icon_state",
"icon_state": "core",
"blend_mode": "overlay"
},
{
"type": "icon_state",
"icon_state": "core_colour",
"blend_mode": "overlay",
"color_ids": [ 1 ]
}
]
}
15 changes: 15 additions & 0 deletions code/datums/greyscale/json_configs/manipulator_hand.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
{
"hand": [
{
"type": "icon_state",
"icon_state": "hand",
"blend_mode": "overlay"
},
{
"type": "icon_state",
"icon_state": "hand_colour",
"blend_mode": "overlay",
"color_ids": [ 1 ]
}
]
}
6 changes: 6 additions & 0 deletions code/datums/materials/_material.dm
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,8 @@ Simple datum which is instanced once per type and is used for every object of sa
var/list/categories = list()
///The type of sheet this material creates. This should be replaced as soon as possible by greyscale sheets
var/sheet_type
/// What type of ore is this material associated with? Used for mining, and not every material has one.
var/obj/item/ore_type
///This is a modifier for force, and resembles the strength of the material
var/strength_modifier = 1
///This is a modifier for integrity, and resembles the strength of the material
Expand All @@ -51,6 +53,10 @@ Simple datum which is instanced once per type and is used for every object of sa
var/obj/item/shard_type
///What type of debris the tile will leave behind when shattered.
var/obj/effect/decal/debris_type
/// How likely this mineral is to be found in a boulder during mining.
var/mineral_rarity = MATERIAL_RARITY_COMMON
/// How many points per units of ore does this grant?
var/points_per_unit = 1

/** Handles initializing the material.
*
Expand Down
38 changes: 38 additions & 0 deletions code/datums/materials/basemats.dm
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,9 @@
categories = list(MAT_CATEGORY_ORE = TRUE, MAT_CATEGORY_RIGID = TRUE, MAT_CATEGORY_BASE_RECIPES = TRUE, MAT_CATEGORY_ITEM_MATERIAL=TRUE)
sheet_type = /obj/item/stack/sheet/iron
value_per_unit = 0.0025
ore_type = /obj/item/stack/ore/iron
mineral_rarity = MATERIAL_RARITY_COMMON
points_per_unit = 1 / SHEET_MATERIAL_AMOUNT

/datum/material/iron/on_accidental_mat_consumption(mob/living/carbon/victim, obj/item/source_item)
victim.apply_damage(10, BRUTE, BODY_ZONE_HEAD, wound_bonus = 5)
Expand All @@ -28,6 +31,9 @@
value_per_unit = 0.0025
beauty_modifier = 0.05
armor_modifiers = list(MELEE = 0.2, BULLET = 0.2, ENERGY = 1, BIO = 0.2, FIRE = 1, ACID = 0.2)
ore_type = /obj/item/stack/ore/glass
mineral_rarity = MATERIAL_RARITY_COMMON
points_per_unit = 1 / SHEET_MATERIAL_AMOUNT

/datum/material/glass/on_accidental_mat_consumption(mob/living/carbon/victim, obj/item/source_item)
victim.apply_damage(10, BRUTE, BODY_ZONE_HEAD, wound_bonus = 5, sharpness = TRUE) //cronch
Expand All @@ -48,6 +54,9 @@ Unless you know what you're doing, only use the first three numbers. They're in
sheet_type = /obj/item/stack/sheet/mineral/silver
value_per_unit = 0.025
beauty_modifier = 0.075
ore_type = /obj/item/stack/ore/silver
mineral_rarity = MATERIAL_RARITY_SEMIPRECIOUS
points_per_unit = 16 / SHEET_MATERIAL_AMOUNT

/datum/material/silver/on_accidental_mat_consumption(mob/living/carbon/victim, obj/item/source_item)
victim.apply_damage(10, BRUTE, BODY_ZONE_HEAD, wound_bonus = 5)
Expand All @@ -65,6 +74,9 @@ Unless you know what you're doing, only use the first three numbers. They're in
value_per_unit = 0.0625
beauty_modifier = 0.15
armor_modifiers = list(MELEE = 1.1, BULLET = 1.1, LASER = 1.15, ENERGY = 1.15, BOMB = 1, BIO = 1, FIRE = 0.7, ACID = 1.1)
ore_type = /obj/item/stack/ore/gold
mineral_rarity = MATERIAL_RARITY_PRECIOUS
points_per_unit = 18 / SHEET_MATERIAL_AMOUNT

/datum/material/gold/on_accidental_mat_consumption(mob/living/carbon/victim, obj/item/source_item)
victim.apply_damage(10, BRUTE, BODY_ZONE_HEAD, wound_bonus = 5)
Expand All @@ -83,6 +95,9 @@ Unless you know what you're doing, only use the first three numbers. They're in
value_per_unit = 0.25
beauty_modifier = 0.3
armor_modifiers = list(MELEE = 1.3, BULLET = 1.3, LASER = 0.6, ENERGY = 1, BOMB = 1.2, BIO = 1, FIRE = 1, ACID = 1)
ore_type = /obj/item/stack/ore/diamond
mineral_rarity = MATERIAL_RARITY_RARE
points_per_unit = 50 / SHEET_MATERIAL_AMOUNT

/datum/material/diamond/on_accidental_mat_consumption(mob/living/carbon/victim, obj/item/source_item)
victim.apply_damage(15, BRUTE, BODY_ZONE_HEAD, wound_bonus = 7)
Expand All @@ -99,6 +114,9 @@ Unless you know what you're doing, only use the first three numbers. They're in
value_per_unit = 0.05
beauty_modifier = 0.3 //It shines so beautiful
armor_modifiers = list(MELEE = 1.5, BULLET = 1.4, LASER = 0.5, ENERGY = 0.5, FIRE = 1, ACID = 1)
ore_type = /obj/item/stack/ore/uranium
mineral_rarity = MATERIAL_RARITY_SEMIPRECIOUS
points_per_unit = 30 / SHEET_MATERIAL_AMOUNT

/datum/material/uranium/on_applied(atom/source, amount, material_flags)
. = ..()
Expand Down Expand Up @@ -134,6 +152,9 @@ Unless you know what you're doing, only use the first three numbers. They're in
value_per_unit = 0.1
beauty_modifier = 0.15
armor_modifiers = list(MELEE = 1.4, BULLET = 0.7, ENERGY = 1.2, BIO = 1.2, ACID = 0.5)
ore_type = /obj/item/stack/ore/plasma
mineral_rarity = MATERIAL_RARITY_PRECIOUS
points_per_unit = 15 / SHEET_MATERIAL_AMOUNT

/datum/material/plasma/on_applied(atom/source, amount, material_flags)
. = ..()
Expand Down Expand Up @@ -166,6 +187,9 @@ Unless you know what you're doing, only use the first three numbers. They're in
beauty_modifier = 0.5
sheet_type = /obj/item/stack/sheet/bluespace_crystal
value_per_unit = 0.15
ore_type = /obj/item/stack/ore/bluespace_crystal
mineral_rarity = MATERIAL_RARITY_RARE
points_per_unit = 50 / SHEET_MATERIAL_AMOUNT

/datum/material/bluespace/on_accidental_mat_consumption(mob/living/carbon/victim, obj/item/source_item)
victim.reagents.add_reagent(/datum/reagent/bluespace, rand(5, 8))
Expand All @@ -183,6 +207,9 @@ Unless you know what you're doing, only use the first three numbers. They're in
value_per_unit = 0.5
beauty_modifier = 0.5
armor_modifiers = list(BOMB = 100, FIRE = 10) //Clowns cant be blown away.
ore_type = /obj/item/stack/ore/bananium
mineral_rarity = MATERIAL_RARITY_UNDISCOVERED
points_per_unit = 60 / SHEET_MATERIAL_AMOUNT

/datum/material/bananium/on_applied(atom/source, amount, material_flags)
. = ..()
Expand Down Expand Up @@ -211,6 +238,8 @@ Unless you know what you're doing, only use the first three numbers. They're in
value_per_unit = 0.0625
beauty_modifier = 0.05
armor_modifiers = list(MELEE = 1.35, BULLET = 1.3, LASER = 1.3, ENERGY = 1.25, BOMB = 1.25, BIO = 1, FIRE = 0.7, ACID = 1)
ore_type = /obj/item/stack/ore/titanium
mineral_rarity = MATERIAL_RARITY_SEMIPRECIOUS

/datum/material/titanium/on_accidental_mat_consumption(mob/living/carbon/victim, obj/item/source_item)
victim.apply_damage(15, BRUTE, BODY_ZONE_HEAD, wound_bonus = 7)
Expand All @@ -227,6 +256,8 @@ Unless you know what you're doing, only use the first three numbers. They're in
value_per_unit = 0.3
beauty_modifier = 0.5
armor_modifiers = list(MELEE = 1.35, BULLET = 2, LASER = 0.5, ENERGY = 1.25, BOMB = 1.25, BIO = 1, FIRE = 1.4, ACID = 1) //rune is weak against magic lasers but strong against bullets. This is the combat triangle.
mineral_rarity = MATERIAL_RARITY_UNDISCOVERED
points_per_unit = 100 / SHEET_MATERIAL_AMOUNT

/datum/material/runite/on_accidental_mat_consumption(mob/living/carbon/victim, obj/item/source_item)
victim.apply_damage(20, BRUTE, BODY_ZONE_HEAD, wound_bonus = 10)
Expand All @@ -244,6 +275,9 @@ Unless you know what you're doing, only use the first three numbers. They're in
value_per_unit = 0.0125
beauty_modifier = -0.01
armor_modifiers = list(MELEE = 1.5, BULLET = 1.1, LASER = 0.3, ENERGY = 0.5, BOMB = 1, BIO = 1, FIRE = 1.1, ACID = 1)
ore_type = /obj/item/stack/ore/slag
mineral_rarity = MATERIAL_RARITY_UNDISCOVERED //Nobody's found oil on lavaland yet.
points_per_unit = 4 / SHEET_MATERIAL_AMOUNT

/datum/material/plastic/on_accidental_mat_consumption(mob/living/carbon/eater, obj/item/food)
eater.reagents.add_reagent(/datum/reagent/plastic_polymers, rand(6, 8))
Expand Down Expand Up @@ -303,6 +337,8 @@ Unless you know what you're doing, only use the first three numbers. They're in
value_per_unit = 0.25
beauty_modifier = 0.4
armor_modifiers = list(MELEE = 1.5, BULLET = 1.5, LASER = 1.3, ENERGY = 1.3, BOMB = 1, BIO = 1, FIRE = 2.5, ACID = 1)
mineral_rarity = MATERIAL_RARITY_UNDISCOVERED //Doesn't naturally spawn on lavaland.
points_per_unit = 100 / SHEET_MATERIAL_AMOUNT

/datum/material/adamantine/on_accidental_mat_consumption(mob/living/carbon/victim, obj/item/source_item)
victim.apply_damage(20, BRUTE, BODY_ZONE_HEAD, wound_bonus = 10)
Expand All @@ -320,6 +356,8 @@ Unless you know what you're doing, only use the first three numbers. They're in
strength_modifier = 1.2
armor_modifiers = list(MELEE = 1.5, BULLET = 1.5, LASER = 1.5, ENERGY = 1.5, BOMB = 1.5, BIO = 1.5, FIRE = 1.5, ACID = 1.5)
beauty_modifier = 0.5
mineral_rarity = MATERIAL_RARITY_UNDISCOVERED //Doesn't naturally spawn on lavaland.
points_per_unit = 100 / SHEET_MATERIAL_AMOUNT

/* monkestation edit: this is given anyways by [/datum/material_trait/magical]
/datum/material/mythril/on_applied_obj(atom/source, amount, material_flags)
Expand Down
2 changes: 1 addition & 1 deletion code/game/gamemodes/dynamic/dynamic_rulesets_midround.dm
Original file line number Diff line number Diff line change
Expand Up @@ -372,7 +372,7 @@
)
required_enemies = list(3,3,3,3,3,2,1,1,0,0)
required_candidates = 5
weight = 5
weight = 0
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I suggest also disabling midround assault ops due to them pretty much being slower nukies causing them to often just not have enough time to do anything- wait why are you editing a midround ruleset, was it doing the funny thing where it decides its time to roll for no reason?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

we have our own version thats not this that respects antags

cost = 7
minimum_round_time = 70 MINUTES
requirements = REQUIREMENTS_VERY_HIGH_THREAT_NEEDED
Expand Down
4 changes: 2 additions & 2 deletions code/game/sound.dm
Original file line number Diff line number Diff line change
Expand Up @@ -256,13 +256,13 @@ GLOBAL_LIST_EMPTY(cached_mixer_channels)
S.status = SOUND_UPDATE
SEND_SOUND(src, S)

/client/proc/playtitlemusic(vol = 0.85)
/client/proc/playtitlemusic(vol = 85)
set waitfor = FALSE
UNTIL(SSticker.login_music_done) //wait for SSticker init to set the login music // monkestation edit: fix-lobby-music
UNTIL(fully_created)
if("[CHANNEL_LOBBYMUSIC]" in prefs.channel_volume)
if(prefs.channel_volume["[CHANNEL_LOBBYMUSIC]"] != 0)
vol *= prefs.channel_volume["[CHANNEL_LOBBYMUSIC]"] * 0.01
vol = prefs.channel_volume["[CHANNEL_LOBBYMUSIC]"]
vol *= prefs.channel_volume["[CHANNEL_MASTER_VOLUME]"] * 0.01

if((prefs && (!prefs.read_preference(/datum/preference/toggle/sound_lobby))) || CONFIG_GET(flag/disallow_title_music))
Expand Down
4 changes: 4 additions & 0 deletions code/modules/client/client_procs.dm
Original file line number Diff line number Diff line change
Expand Up @@ -966,6 +966,10 @@ GLOBAL_LIST_INIT(blacklisted_builds, list(
if(failed && !(ckey in GLOB.interviews.approved_ckeys))
message_admins(span_adminnotice("Proxy Detection: [key_name_admin(src)] Overwatch detected this is a [string]"))
interviewee = TRUE

if(ckey in GLOB.interviews.approved_ckeys)
return FALSE

return failed

/client/Click(atom/object, atom/location, control, params)
Expand Down
Loading
Loading