Skip to content

Commit

Permalink
[XE] Add Tier 5 of vampirism + related tweaks (#75199)
Browse files Browse the repository at this point in the history
* Add two more traits to the blooddrink exclusion list + make Fae blood vampire-edible + its effects on vampires

* Ensure the hallucination effects do not suddently interrupt themselves

* More dialogue, new scent, adding that tier 5 removes the need for anything but blood and make it grant calories if weight is low enough

* Begin adding the readable book that explains the steps in detail

* Write down the readable book's text

* Implement recipes, part 1. Also make march lord drop a skull

* Account for difference in size and amount of Fae blood

* Add stormwrought blood eocs

* Make Fae blood the same size as other bloods

* First iterations of the mosquito and the revenant

* First iteration of the Abyssal Hunger dungeon

* Add spells related to the last commit

* First round of fixes. The game can open now

* Fix tier 4 gain & make the book really readable

* Big bunch of bugfixing

* Other round of bugfixes

* Buff the dream-drainer so it's actually a threat

* Fixes the abyssal hunger's dungeon

* Lint achievements.json

* Lint effect_on_condition.json

* Lint effects.json

* Lint abyssal_hunger_eocs.json

* Lint misc_eoc.json

* Lint terrain_abyssal_hunger.json

* Lint harvest.json

* Lint headgear.json

* Lint book_lore.json

* Lint carnivore.json

* Lint resources.json

* Lint tools.json

* Lint abyssal_hunger_zone.json

* Lint missions.json

* Lint monster.json

* Lint monster_spells.json

* Lint mutation_eocs.json

* Lint mutations.json

* Lint vampire_trait_eocs.json

* Lint npc_vampiresacrifice_chat.json

* Lint talk_read_vampire_mentor_book.json

* Lint vampire_askblood.json

* Lint vampire_mentor.json

* Lint misc.json

* Lint scent_type.json

* Lint item_spells.json

* Lint vitamin.json

* Lint monster_spells.json and fix conflict

* Second attempt to fix conflict

* Lint monster_spells.json

* Satisfy checks part 1

* Satisfy checks part 2

* Satisfy checks part 3

* Fix grasping globule description
  • Loading branch information
SariusSkelrets authored Jul 28, 2024
1 parent bfeb1ff commit b7ae537
Show file tree
Hide file tree
Showing 28 changed files with 1,939 additions and 50 deletions.
14 changes: 14 additions & 0 deletions data/mods/Xedra_Evolved/achievements/achievements.json
Original file line number Diff line number Diff line change
Expand Up @@ -189,6 +189,20 @@
}
]
},
{
"id": "avchievement_gains_vampire5_trait",
"type": "achievement",
"name": "Fully walked the shadowed path of blood.",
"requirements": [
{
"event_statistic": "avatar_last_gains_mutation",
"is": "==",
"target": [ "trait_id", "BLOOD_DRINKER" ],
"description": "You reached the final state of vampirism, becoming worthy of the title of ruler of the night.",
"visible": "when_achievement_completed"
}
]
},
{
"id": "achievement_lvl_1_deduction",
"type": "achievement",
Expand Down
18 changes: 18 additions & 0 deletions data/mods/Xedra_Evolved/effects/effect_on_condition.json
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,24 @@
"condition": { "u_has_items": { "item": "book_teens_deduction", "count": 1 } },
"effect": [ { "u_message": "XE_SCRAGGY-BOO_MESSAGES_1", "snippet": true } ]
},
{
"type": "effect_on_condition",
"id": "faeblood_hallu_light",
"recurrence": [ "29 minutes", "29 minutes" ],
"global": true,
"condition": { "u_has_effect": "drank_fae_blood_hallucination", "intensity": 3 },
"effect": [ { "u_add_effect": "hallu", "intensity": 1, "duration": "30 minutes" } ]
},
{
"type": "effect_on_condition",
"id": "faeblood_hallu_hard",
"recurrence": [ "29 minutes", "29 minutes" ],
"condition": { "u_has_effect": "drank_fae_blood_hallucination", "intensity": 4 },
"effect": [
{ "u_add_effect": "hallu", "intensity": 1, "duration": "30 minutes" },
{ "u_add_effect": "visuals", "intensity": 1, "duration": "30 minutes" }
]
},
{
"type": "effect_on_condition",
"id": "EOC_EATER_CHECK",
Expand Down
80 changes: 78 additions & 2 deletions data/mods/Xedra_Evolved/effects/effects.json
Original file line number Diff line number Diff line change
Expand Up @@ -310,10 +310,38 @@
"blood_analysis_description": "Patient has multiple byproducts in blood stream suggesting extended drug binge.",
"base_mods": { "speed_mod": [ -15 ], "str_mod": [ -1 ], "stim_amount": [ -1 ], "stim_tick": [ 500 ], "stim_max_val": [ -50 ] }
},
{
"type": "effect_type",
"id": "drank_fae_blood_hallucination",
"name": [ "Altered vision", "Distorted vision", "Hallucination", "Severe hallucination" ],
"apply_message": [
[ "Your vision twists a little after drinking that Fae blood.", "mixed" ],
[ "Your vision starts distorting a little more as you drink the Fae blood.", "mixed" ],
[ "Your vision starts seeing things that aren't there as you drink the Fae blood.", "mixed" ],
[
"Drinking that much Fae blood has left your vision almost unable to differentiate between reality and illusion.",
"bad"
]
],
"decay_messages": [
[ "Your vision is normal again.", "good" ],
[ "Your vision is almost back to normal.", "good" ],
[ "You stopped seeing things, but your vision still twists and deforms what you see.", "good" ],
[ "Your ability to differentiate what is real and what isn't is a little better now.", "good" ]
],
"max_intensity": 4,
"blood_analysis_description": "Unknown Hallucinogens.",
"//": "Lighter scaling to factor the two hallucination effects the player will receive at intensity 3 and 4.",
"limb_score_mods": [
{ "limb_score": "reaction", "modifier": 0.8, "scaling": -0.05 },
{ "limb_score": "block", "modifier": 0.8, "scaling": -0.05 }
],
"flags": [ "EFFECT_LIMB_SCORE_MOD" ]
},
{
"type": "effect_type",
"id": "poisoned_blood",
"//": "Should happen if you consume blood treatments after gaining Vampire4 trait. Currently unobtainable.",
"//": "Should happen if you consume blood treatments after gaining Vampire4 trait.",
"name": [ "Poisoned blood" ],
"desc": [ "You have poisoned your own blood!" ],
"miss_messages": [ [ "You feel bad inside.", 1 ] ],
Expand All @@ -336,7 +364,7 @@
{
"type": "effect_type",
"id": "poisoned_blood2",
"//": "Should happen if you consume blood treatments after gaining Vampire5 trait. Currently unobtainable.",
"//": "Should happen if you consume blood treatments after gaining Vampire5 trait.",
"rating": "bad",
"chance_kill": [ [ 1, 1 ] ],
"chance_kill_resist": [ [ 1, 1 ] ],
Expand Down Expand Up @@ -1865,5 +1893,53 @@
"id": "called_daffodil",
"name": [ "Called the daffodil" ],
"desc": [ "You recently called some daffodils. You need to wait a day before you can call more." ]
},
{
"type": "effect_type",
"id": "effect_dream_drainer_speed",
"name": [ "Accelerated" ],
"desc": [ "A burst of speed." ],
"max_duration": "25 s",
"apply_message": "You feel your legs are much longer now.",
"remove_message": "Your body shrinks back into its normal space.",
"rating": "good",
"show_intensity": false,
"enchantments": [ { "values": [ { "value": "SPEED", "add": 70 } ] } ]
},
{
"type": "effect_type",
"id": "effect_dream_drainer_armor",
"name": [ "Armored" ],
"desc": [ "The bug is shielded. This is a bug if you have it." ],
"max_duration": "25 s",
"rating": "bad",
"show_intensity": false,
"show_in_info": true,
"enchantments": [
{
"condition": "ALWAYS",
"values": [
{ "value": "ARMOR_BASH", "add": -15 },
{ "value": "ARMOR_STAB", "add": -15 },
{ "value": "ARMOR_CUT", "add": -15 },
{ "value": "ARMOR_HEAT", "add": -15 },
{ "value": "ARMOR_COLD", "add": -15 },
{ "value": "ARMOR_ELEC", "add": -15 },
{ "value": "ARMOR_ACID", "add": -15 },
{ "value": "ARMOR_BULLET", "add": -15 }
]
}
]
},
{
"id": "effect_moon_withdrawal",
"type": "effect_type",
"max_duration": "11 s",
"name": [ "Moon-starved" ],
"desc": [ "Weakens the Luna-attuned revenant if they are out of the moonlight. This is a bug if you have it." ],
"rating": "bad",
"show_intensity": false,
"show_in_info": true,
"enchantments": [ { "condition": "ALWAYS", "values": [ { "value": "SPEED", "add": -130 } ] } ]
}
]
129 changes: 129 additions & 0 deletions data/mods/Xedra_Evolved/eocs/abyssal_hunger_eocs.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,129 @@
[
{
"type": "effect_on_condition",
"id": "EOC_ENTER_ABYSSAL_HUNGER_DUNGEON",
"effect": [
{ "u_location_variable": { "global_val": "original_loc" } },
{ "u_location_variable": { "global_val": "dungeon_loc" }, "z_adjust": 6, "z_override": true },
{ "u_location_variable": { "global_val": "dungeon_roof_loc" }, "z_adjust": 7, "z_override": true },
{ "revert_location": { "global_val": "dungeon_loc" }, "key": "abyssal_hunger", "time_in_future": "infinite" },
{
"place_override": { "global_val": "place_name", "default_str": "Inside the Abyssal Hunger" },
"key": "abyssal_hunger",
"length": "infinite"
},
{
"revert_location": { "global_val": "dungeon_roof_loc" },
"time_in_future": "infinite",
"key": "abyssal_hunger"
},
{ "mapgen_update": "abyssal_hunger_roof", "target_var": { "global_val": "dungeon_roof_loc" } },
{ "mapgen_update": "abyssal_hunger_dungeon", "target_var": { "global_val": "dungeon_loc" } },
{ "u_teleport": { "global_val": "dungeon_start" }, "fail_message": "Something is very wrong!", "force": true },
{ "math": [ "abyssal_hunger_level", "=", "1" ] },
{
"u_spawn_monster": "mon_bashing_globule",
"real_count": { "math": [ "rng( 1, 3 ) + abyssal_hunger_level" ] },
"min_radius": 7,
"max_radius": 30
},
{
"u_spawn_monster": "mon_grasping_globule",
"real_count": { "math": [ "rng( 1, 3 ) + abyssal_hunger_level" ] },
"min_radius": 7,
"max_radius": 30
},
{ "u_message": "You were devoured by the Abyssal Hunger!" }
]
},
{
"type": "effect_on_condition",
"id": "EOC_ENTER_ABYSSAL_HUNGER_NEXT_LEVEL",
"condition": { "math": [ "abyssal_hunger_level", "<", "5" ] },
"effect": [
{ "math": [ "abyssal_hunger_level", "++" ] },
{ "mapgen_update": "abyssal_hunger_cleanup", "target_var": { "global_val": "dungeon_loc" } },
{ "u_teleport": { "global_val": "dungeon_start" }, "fail_message": "Something is very wrong!", "force": true },
{ "mapgen_update": "abyssal_hunger_dungeon", "target_var": { "global_val": "dungeon_loc" } },
{
"u_spawn_monster": "mon_bashing_globule",
"real_count": { "math": [ "rng( 2, 4 ) + abyssal_hunger_level" ] },
"min_radius": 7,
"max_radius": 30
},
{
"u_spawn_monster": "mon_grasping_globule",
"real_count": { "math": [ "rng( 2, 4 ) + abyssal_hunger_level" ] },
"min_radius": 7,
"max_radius": 30
},
{
"u_spawn_monster": "mon_spewing_globule",
"real_count": { "math": [ "abyssal_hunger_level - rng( 1, 2 )" ] },
"min_radius": 7,
"max_radius": 30
},
{ "u_message": "You move through the monster's innards and reach another empty space." }
],
"false_effect": [
{ "math": [ "abyssal_hunger_level", "++" ] },
{ "mapgen_update": "abyssal_hunger_cleanup", "target_var": { "global_val": "dungeon_loc" } },
{ "u_teleport": { "global_val": "dungeon_start" }, "fail_message": "Something is very wrong!", "force": true },
{ "mapgen_update": "abyssal_hunger_brain", "target_var": { "global_val": "dungeon_loc" } },
{
"u_spawn_monster": "mon_bashing_globule",
"real_count": { "math": [ "rng( 1, 2 ) + abyssal_hunger_level" ] },
"min_radius": 7,
"max_radius": 30
},
{
"u_spawn_monster": "mon_grasping_globule",
"real_count": { "math": [ "rng( 1, 2 ) + abyssal_hunger_level" ] },
"min_radius": 7,
"max_radius": 30
},
{
"u_spawn_monster": "mon_spewing_globule",
"real_count": { "math": [ "abyssal_hunger_level - rng( 3, 4 )" ] },
"min_radius": 7,
"max_radius": 30
},
{ "u_message": "You reach the Abyssal Hunger's brain." }
]
},
{
"type": "effect_on_condition",
"id": "EOC_ABYSSAL_HUNGER_GRANT_SHARD",
"condition": { "math": [ "abyssal_hunger_level", "!=", "0" ] },
"effect": [ { "run_eocs": "EOC_ABYSSAL_HUNGER_EXIT" }, { "u_spawn_item": "abyssal_hunger_shard" } ]
},
{
"type": "effect_on_condition",
"id": "EOC_ABYSSAL_HUNGER_EXIT",
"condition": { "math": [ "abyssal_hunger_level", "!=", "0" ] },
"effect": [
{ "mapgen_update": "abyssal_hunger_cleanup", "target_var": { "global_val": "dungeon_loc" } },
{
"u_teleport": { "global_val": "original_loc" },
"success_message": "You return to where you performed the ritual.",
"fail_message": "Something is very wrong!",
"force": true
},
{ "alter_timed_events": "abyssal_hunger" },
{ "math": [ "abyssal_hunger_level", "=", "0" ] }
]
},
{
"id": "EOC_DEATH_ABYSSAL_HUNGER",
"type": "effect_on_condition",
"eoc_type": "AVATAR_DEATH",
"condition": { "math": [ "abyssal_hunger_level", "!=", "0" ] },
"effect": [
{
"u_message": "It is unclear if you were slain by an immune system or digested but suffice to say, you are no more.",
"popup": true
},
{ "run_eocs": "EOC_ABYSSAL_HUNGER_EXIT" }
]
}
]
Loading

0 comments on commit b7ae537

Please sign in to comment.