diff options
Diffstat (limited to 'custom.patch')
-rw-r--r-- | custom.patch | 49 |
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 @@ |