summaryrefslogtreecommitdiff
path: root/custom.patch
diff options
context:
space:
mode:
Diffstat (limited to 'custom.patch')
-rw-r--r--custom.patch49
1 files changed, 46 insertions, 3 deletions
diff --git a/custom.patch b/custom.patch
index 8affbee..5c6cb5f 100644
--- a/custom.patch
+++ b/custom.patch
@@ -1,6 +1,6 @@
--- a/src/character.cpp
+++ b/src/character.cpp
-@@ -251,6 +251,7 @@
+@@ -288,9 +288,11 @@
static const trait_id trait_THRESH_INSECT( "THRESH_INSECT" );
static const trait_id trait_THRESH_PLANT( "THRESH_PLANT" );
static const trait_id trait_THRESH_SPIDER( "THRESH_SPIDER" );
@@ -8,15 +8,37 @@
static const trait_id trait_TOUGH_FEET( "TOUGH_FEET" );
static const trait_id trait_TRANSPIRATION( "TRANSPIRATION" );
static const trait_id trait_URSINE_EYE( "URSINE_EYE" );
-@@ -4775,7 +4775,7 @@
++static const trait_id trait_VAMP_HUNGER( "VAMP_HUNGER" );
+ static const trait_id trait_VISCOUS( "VISCOUS" );
+ static const trait_id trait_WATERSLEEP( "WATERSLEEP" );
+ static const trait_id trait_WEBBED( "WEBBED" );
+@@ -4545,6 +4547,7 @@
+ const bool npc_no_food = is_npc() && get_option<bool>( "NO_NPC_FOOD" );
+ const bool foodless = debug_ls || npc_no_food;
+ const bool mouse = has_trait( trait_NO_THIRST );
++ const bool vamp = has_trait( trait_VAMP_HUNGER );
+ const bool mycus = has_trait( trait_M_DEPENDENT );
+ const float kcal_per_time = bmr() / ( 12.0f * 24.0f );
+ const int five_mins = ticks_between( from, to, 5_minutes );
+@@ -4568,7 +4571,7 @@
+ }
+ // Mycus and Metabolic Rehydration makes thirst unnecessary
+ // since water is not limited by intake but by absorption, we can just set thirst to zero
+- if( mycus || mouse ) {
++ if( mycus || mouse || vamp ) {
+ set_thirst( 0 );
+ }
+ }
+@@ -4985,7 +4988,7 @@
- void Character::update_bodytemp()
+ void Character::update_bodytemp( const map &m, weather_manager &weather )
{
- if( has_trait( trait_DEBUG_NOTEMP ) ) {
+ if( has_trait( trait_DEBUG_NOTEMP ) || has_trait( trait_THRESH_VAMP ) ) {
temp_cur.fill( BODYTEMP_NORM );
temp_conv.fill( BODYTEMP_NORM );
return;
+
--- a/src/map_field.cpp
+++ b/src/map_field.cpp
@@ -88,6 +88,7 @@
@@ -153,6 +175,27 @@
"priority": 8,
"half_life": "30 minutes",
"phase": "gas",
+--- a/src/monattack.cpp
++++ b/src/monattack.cpp
+@@ -143,6 +143,7 @@
+ static const trait_id trait_TAIL_CATTLE( "TAIL_CATTLE" );
+ static const trait_id trait_THRESH_MARLOSS( "THRESH_MARLOSS" );
+ static const trait_id trait_THRESH_MYCUS( "THRESH_MYCUS" );
++static const trait_id trait_THRESH_VAMP( "THRESH_VAMP" );
+
+ static const mtype_id mon_ant_acid_larva( "mon_ant_acid_larva" );
+ static const mtype_id mon_ant_acid_queen( "mon_ant_acid_queen" );
+@@ -2758,6 +2759,9 @@
+ damage_instance dam = damage_instance();
+ dam.add_damage( DT_STAB, 6, 10, 0.6, 1 );
+ bool hit = sting_shoot( z, target, dam, range );
++ if( target->has_trait( trait_THRESH_VAMP ) ) {
++ return true;
++ }
+ if( hit ) {
+ //Add checks if previous NPC/player conditions are removed
+ dynamic_cast<player *>( target )->mutate();
+
--- a/data/json/mutations/mutation_ordering.json
+++ b/data/json/mutations/mutation_ordering.json
@@ -73,6 +73,7 @@