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

Overmap 4.6: Anomalous Activity #1991

Merged
merged 51 commits into from
Jun 30, 2023
Merged
Show file tree
Hide file tree
Changes from 4 commits
Commits
Show all changes
51 commits
Select commit Hold shift + click to select a range
6b84413
Does The Thing
Erikafox May 29, 2023
a323f49
linterinos?
Erikafox May 29, 2023
02ed49e
update
Erikafox May 29, 2023
3be7a7a
Update RockGenerator.dm
Erikafox May 29, 2023
f434ea5
Update anomalies_bioscrambler.dm
Erikafox May 30, 2023
cc89df8
Update anomalies.dm
Erikafox May 30, 2023
eff8f8b
workworkwork
Erikafox Jun 2, 2023
d4b84eb
bhhhhhh
Erikafox Jun 2, 2023
6f7a84d
h
Erikafox Jun 2, 2023
68a3cfd
d
Erikafox Jun 2, 2023
83cb4d6
as
Erikafox Jun 2, 2023
fef0f00
Update anomalies_static.dm
Erikafox Jun 4, 2023
864c1dc
Update anomalies_static.dm
Erikafox Jun 4, 2023
066f9cc
Update anomalies_static.dm
Erikafox Jun 4, 2023
58a7c86
Finishes the PR for real this time
Erikafox Jun 6, 2023
9813241
Merge branch 'master' into planetary-anomalies
Erikafox Jun 7, 2023
239938f
I could have sworn I removed this.
Erikafox Jun 8, 2023
01f17bb
Merge remote-tracking branch 'upstream/master' into planetary-anomalies
Erikafox Jun 9, 2023
96ea168
Merge branch 'master' into planetary-anomalies
Erikafox Jun 9, 2023
9b302e5
Update WasteGenerator.dm
Erikafox Jun 9, 2023
aa18542
Update WasteGenerator.dm
Erikafox Jun 9, 2023
3397ec7
Merge remote-tracking branch 'upstream/master' into planetary-anomalies
Erikafox Jun 9, 2023
f3519ec
Update SnowGenerator.dm
Erikafox Jun 9, 2023
229a97f
unthrongles for the fourth time
Erikafox Jun 9, 2023
d706e14
balance changes from tm
Erikafox Jun 9, 2023
a722c41
more improvements
Erikafox Jun 9, 2023
b75e9bb
Update anomalies_plasmasoul.dm
Erikafox Jun 9, 2023
bf3b334
Update anomalies_melter.dm
Erikafox Jun 10, 2023
72e49c9
update
Erikafox Jun 10, 2023
eaaa271
Merge remote-tracking branch 'upstream/master' into planetary-anomalies
Erikafox Jun 16, 2023
ba5a305
Merge remote-tracking branch 'upstream/master' into planetary-anomalies
Erikafox Jun 16, 2023
6c5e712
Update curse.dm
Erikafox Jun 16, 2023
ce9e5bf
update
Erikafox Jun 17, 2023
6559138
reduces spawn chances More
Erikafox Jun 18, 2023
4d07c56
Update SandGenerator.dm
Erikafox Jun 18, 2023
88d18e3
Update lootdrop.dm
Erikafox Jun 18, 2023
369e168
Update lootdrop.dm
Erikafox Jun 19, 2023
8c91617
more updates
Erikafox Jun 20, 2023
0ac3f04
trying more changes
Erikafox Jun 21, 2023
8e8a8fc
cleans the code up more
Erikafox Jun 25, 2023
a5bbb38
final adjustment
Erikafox Jun 25, 2023
9acc158
Apply suggestions from code review
Erikafox Jun 27, 2023
a9f17f1
Update code/modules/mob/living/carbon/status_procs.dm
Erikafox Jun 27, 2023
1c22c7d
Update code/game/objects/effects/anomalies/anomalies_bluespace.dm
Erikafox Jun 27, 2023
938e7e6
Update code/game/objects/effects/anomalies/anomalies_vortex.dm
Erikafox Jun 27, 2023
142ffb8
Update anomalies_hallucination.dm
Erikafox Jun 27, 2023
0fc9b30
changes
Erikafox Jun 27, 2023
fcd169e
Merge branch 'planetary-anomalies' of https://github.com/Bjarl/Shipte…
Erikafox Jun 27, 2023
394bc4f
Merge remote-tracking branch 'upstream/master' into planetary-anomalies
Erikafox Jun 27, 2023
2cbc9be
Update anomalies_hallucination.dm
Erikafox Jun 27, 2023
6b03aab
Update _anomalies.dm
Erikafox Jun 27, 2023
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
64 changes: 64 additions & 0 deletions code/__DEFINES/anomalies.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
// Max amounts of cores you can make
#define MAX_CORES_BLUESPACE 8
#define MAX_CORES_GRAVITATIONAL 8
#define MAX_CORES_FLUX 8
#define MAX_CORES_VORTEX 8
#define MAX_CORES_PYRO 8
#define MAX_CORES_HALLUCINATION 8
#define MAX_CORES_BIOSCRAMBLER 8
#define MAX_CORES_DIMENSIONAL 8

///Defines for the different types of explosion a flux anomaly can have
#define FLUX_NO_EXPLOSION 0
#define FLUX_EXPLOSIVE 1
#define FLUX_LOW_EXPLOSIVE 2

/// Chance of anomalies moving every process tick
#define ANOMALY_MOVECHANCE 45

/// Blacklist of parts which should not appear when bioscrambled, largely because they will make you look totally fucked up
GLOBAL_LIST_INIT(bioscrambler_parts_blacklist, typecacheof(list (
/obj/item/bodypart/chest/larva,
/obj/item/bodypart/head/larva,
/obj/item/bodypart/leg/left/monkey,
/obj/item/bodypart/leg/right/monkey,
/obj/item/bodypart/head,
/obj/item/bodypart/head/alien,

)))

/// Blacklist of organs which should not appear when bioscrambled.
/// Either will look terrible outside of intended host, give you magical powers, are irreversible, or kill you
GLOBAL_LIST_INIT(bioscrambler_organs_blacklist, typecacheof(list (
/obj/item/organ/ears/invincible,
/obj/item/organ/ears/dullahan,
/obj/item/organ/eyes/dullahan,
/obj/item/organ/heart/cursed,
/obj/item/organ/heart/cursed/wizard,
/obj/item/organ/heart/demon,
/obj/item/organ/heart/cursed,
/obj/item/organ/tongue/golem_honk, //hatred
/obj/item/organ/tongue/uwuspeak,//see last comment
/obj/item/organ/vocal_cords,
/obj/item/organ/vocal_cords/adamantine,
/obj/item/organ/vocal_cords/colossus,
/obj/item/organ/zombie_infection,
/obj/item/organ/brain,
/obj/item/organ/brain/alien,
/obj/item/organ/brain/nightmare,
/obj/item/organ/brain/dullahan,
/obj/item/organ/brain/mmi_holder,
/obj/item/organ/brain/mmi_holder/posibrain,
/obj/item/organ/alien/eggsac,
/obj/item/organ/alien/hivenode,
/obj/item/organ/alien/plasmavessel/large/queen,
/obj/item/organ/alien/plasmavessel/large,
/obj/item/organ/body_egg,
/obj/item/organ/body_egg/alien_embryo,
/obj/item/organ/body_egg/changeling_egg,
)))

/// List of body parts we can apply to people
GLOBAL_LIST_EMPTY(bioscrambler_valid_parts)
/// List of organs we can apply to people
GLOBAL_LIST_EMPTY(bioscrambler_valid_organs)
11 changes: 11 additions & 0 deletions code/__DEFINES/maths.dm
Original file line number Diff line number Diff line change
Expand Up @@ -260,3 +260,14 @@
power++ //Transfer to output, increment power, repeat until the input pile is all used

return output


/// Converts a probability/second chance to probability/seconds_per_tick chance
/// For example, if you want an event to happen with a 10% per second chance, but your proc only runs every 5 seconds, do `if(prob(100*SPT_PROB_RATE(0.1, 5)))`
#define SPT_PROB_RATE(prob_per_second, seconds_per_tick) (1 - (1 - (prob_per_second)) ** (seconds_per_tick))

//make spawners use this -Erika

/// Like SPT_PROB_RATE but easier to use, simply put `if(SPT_PROB(10, 5))`
#define SPT_PROB(prob_per_second_percent, seconds_per_tick) (prob(100*SPT_PROB_RATE((prob_per_second_percent)/100, (seconds_per_tick))))
// )
2 changes: 2 additions & 0 deletions code/__DEFINES/mobs.dm
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,8 @@

//Bodypart change blocking flags
#define BP_BLOCK_CHANGE_SPECIES (1<<0)
#define BODYTYPE_BIOSCRAMBLE_COMPATIBLE (BODYTYPE_HUMANOID)
#define BODYTYPE_CAN_BE_BIOSCRAMBLED(bodytype) (!(bodytype & BODYTYPE_ROBOTIC) && (bodytype & BODYTYPE_BIOSCRAMBLE_COMPATIBLE))

//Defines for Species IDs
#define SPECIES_ABDUCTOR "abductor"
Expand Down
3 changes: 2 additions & 1 deletion code/datums/mapgen/planetary/JungleGenerator.dm
Original file line number Diff line number Diff line change
Expand Up @@ -180,7 +180,8 @@
feature_spawn_chance = 0.5
feature_spawn_list = list(
/obj/item/pickaxe/rusted = 1,
/obj/structure/spawner/ice_moon = 1
/obj/structure/spawner/ice_moon = 1,
/obj/effect/spawner/lootdrop/anomaly = 1
)

/datum/biome/cave/jungle/dirt
Expand Down
13 changes: 10 additions & 3 deletions code/datums/mapgen/planetary/LavaGenerator.dm
Original file line number Diff line number Diff line change
Expand Up @@ -93,7 +93,13 @@
/obj/structure/flora/ash/puce = 5,
)
feature_spawn_chance = 0.3
feature_spawn_list = list(/obj/structure/flora/rock/hell = 5, /obj/structure/elite_tumor = 1, /obj/structure/geyser/random = 1)
feature_spawn_list = list(
/obj/structure/flora/rock/hell = 5,
/obj/structure/elite_tumor = 1,
/obj/structure/geyser/random = 1,
/obj/effect/spawner/lootdrop/anomaly = 1,
/obj/effect/spawner/lootdrop/anomaly/big = 1
)
mob_spawn_chance = 4
mob_spawn_list = list(
/mob/living/simple_animal/hostile/asteroid/goliath/beast/random = 50,
Expand Down Expand Up @@ -147,8 +153,9 @@
open_turf_types = list(/turf/open/floor/plating/grass/lava = 50)
feature_spawn_chance = 5
feature_spawn_list = list(
/obj/structure/flora/tree/dead/barren = 1,
/obj/structure/flora/tree/dead/tall/grey = 1,
/obj/structure/flora/tree/dead/barren = 50,
/obj/structure/flora/tree/dead/tall/grey = 49,
/obj/effect/spawner/lootdrop/anomaly = 1
)

/datum/biome/lavaland/plains/dense/mixed
Expand Down
23 changes: 18 additions & 5 deletions code/datums/mapgen/planetary/RockGenerator.dm
Original file line number Diff line number Diff line change
Expand Up @@ -83,8 +83,13 @@
/datum/biome/rock
open_turf_types = list(/turf/open/floor/plating/asteroid/rockplanet/lit = 1)

feature_spawn_chance = 0.1
feature_spawn_list = list(/obj/structure/geyser/random = 1, /obj/structure/elite_tumor = 2)
feature_spawn_chance = 0.25
feature_spawn_list = list(
/obj/structure/geyser/random = 2,
/obj/structure/elite_tumor = 1,
/obj/effect/spawner/lootdrop/anomaly = 5,
/obj/effect/spawner/lootdrop/anomaly/big = 1 //get out of here stalker
)

flora_spawn_chance = 5
mob_spawn_chance = 3
Expand All @@ -105,7 +110,9 @@
)

/datum/biome/rock/icecap
open_turf_types = list(/turf/open/floor/plating/asteroid/snow/lit/rockplanet = 1, /turf/open/floor/plating/asteroid/snow/lit/rockplanet = 5)
open_turf_types = list(
/turf/open/floor/plating/asteroid/snow/lit/rockplanet = 1,
/turf/open/floor/plating/asteroid/snow/lit/rockplanet = 5)
flora_spawn_chance = 1
mob_spawn_chance = 2

Expand Down Expand Up @@ -138,8 +145,14 @@
/obj/structure/flora/ash/fern = 2,
/obj/structure/flora/ash/puce = 1,
)
feature_spawn_chance = 0.3
feature_spawn_list = list(/obj/structure/geyser/random = 1, /obj/structure/elite_tumor = 2, /obj/structure/spawner/ice_moon/rockplanet = 4)
feature_spawn_chance = 0.5
feature_spawn_list = list(
/obj/structure/geyser/random = 2,
/obj/structure/elite_tumor = 1,
/obj/structure/spawner/ice_moon/rockplanet = 4,
/obj/effect/spawner/lootdrop/anomaly = 3,
/obj/effect/spawner/lootdrop/anomaly/big = 2,
)
mob_spawn_chance = 6
mob_spawn_list = list(
/mob/living/simple_animal/hostile/netherworld/asteroid = 20,
Expand Down
7 changes: 6 additions & 1 deletion code/datums/mapgen/planetary/SandGenerator.dm
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,12 @@
/obj/structure/flora/ash/stem_shroom = 4 ,
)
feature_spawn_chance = 0.1
feature_spawn_list = list(/obj/structure/geyser/random = 1, /obj/structure/elite_tumor = 2)
feature_spawn_list = list(
/obj/structure/geyser/random = 4,
/obj/structure/elite_tumor = 2,
/obj/effect/spawner/lootdrop/anomaly = 4,
/obj/effect/spawner/lootdrop/anomaly/big = 1
)
mob_spawn_chance = 4
mob_spawn_list = list(
/mob/living/simple_animal/hostile/asteroid/goliath/beast/random = 50,
Expand Down
11 changes: 8 additions & 3 deletions code/datums/mapgen/planetary/SnowGenerator.dm
Original file line number Diff line number Diff line change
Expand Up @@ -112,7 +112,8 @@
feature_spawn_list = list(
/obj/structure/spawner/ice_moon/demonic_portal = 1,
/obj/structure/spawner/ice_moon/demonic_portal/ice_whelp = 1,
/obj/structure/spawner/ice_moon/demonic_portal/snowlegion = 1
/obj/structure/spawner/ice_moon/demonic_portal/snowlegion = 1,
/obj/effect/spawner/lootdrop/anomaly = 1
)

/datum/biome/snow/lush
Expand Down Expand Up @@ -191,7 +192,9 @@
/obj/structure/spawner/ice_moon/demonic_portal = 1,
/obj/structure/spawner/ice_moon/demonic_portal/ice_whelp = 1,
/obj/structure/spawner/ice_moon/demonic_portal/snowlegion = 1,
/obj/structure/spawner/ice_moon/demonic_portal/brimdemon = 1
/obj/structure/spawner/ice_moon/demonic_portal/brimdemon = 1,
/obj/effect/spawner/lootdrop/anomaly = 1,
/obj/effect/spawner/lootdrop/anomaly/big = 1
)


Expand Down Expand Up @@ -234,7 +237,8 @@
/obj/structure/spawner/ice_moon/demonic_portal/ice_whelp = 1,
/obj/structure/spawner/ice_moon/demonic_portal/snowlegion = 1,
/obj/structure/spawner/ice_moon = 1,
/obj/structure/spawner/ice_moon/polarbear = 1
/obj/structure/spawner/ice_moon/polarbear = 1,
/obj/effect/spawner/lootdrop/anomaly = 1
)

/datum/biome/cave/snow/thawed
Expand Down Expand Up @@ -271,6 +275,7 @@
/obj/structure/spawner/ice_moon/demonic_portal/snowlegion = 1,
/obj/structure/spawner/ice_moon = 3,
/obj/structure/spawner/ice_moon/polarbear = 3,
/obj/effect/spawner/lootdrop/anomaly = 1
)

/datum/biome/cave/volcanic/lava
Expand Down
Loading