diff options
Diffstat (limited to 'vampirism.patch')
-rw-r--r-- | vampirism.patch | 30 |
1 files changed, 7 insertions, 23 deletions
diff --git a/vampirism.patch b/vampirism.patch index 26c90a3..0299e0d 100644 --- a/vampirism.patch +++ b/vampirism.patch @@ -68,15 +68,9 @@ if( !( has_trait( trait_NOPAIN ) ) ) { add_msg_if_player( m_bad, _( "Your heart spasms painfully and stops." ) ); } else { -@@ -4879,11 +4879,12 @@ - } - g->events().send<event_type::dies_from_drug_overdose>( getID(), effect_jetinjector ); - set_part_hp_cur( bodypart_id( "torso" ), 0 ); -- } else if( get_effect_dur( effect_adrenaline ) > 50_minutes ) { -+ } else if( ( get_effect_dur( effect_adrenaline ) > 50_minutes ) && -+ !( has_trait( trait_VAMP_SKIN ) ) ) { - add_msg_if_player( m_bad, _( "Your heart spasms and stops." ) ); - g->events().send<event_type::dies_from_drug_overdose>( getID(), effect_adrenaline ); +@@ -4879,7 +4879,7 @@ + } + g->events().send<event_type::dies_from_drug_overdose>( getID(), effect_jetinjector ); set_part_hp_cur( bodypart_id( "torso" ), 0 ); - } else if( get_effect_int( effect_drunk ) > 4 ) { + } else if( ( get_effect_int( effect_drunk ) > 4 ) && !( has_trait( trait_VAMP_SKIN ) ) ) { @@ -506,7 +500,7 @@ @@ -2492,12 +2492,15 @@ } - if( killer == &g->u && ( !guaranteed_hostile() || hit_by_player ) ) { + if( get_killer() == &g->u && ( !guaranteed_hostile() || hit_by_player ) ) { + bool vampire = g->u.has_trait( trait_THRESH_REAL_VAMP ); bool cannibal = g->u.has_trait( trait_CANNIBAL ); bool psycho = g->u.has_trait( trait_PSYCHOPATH ) || g->u.has_trait( trait_KILLER ); @@ -542,16 +536,6 @@ add_msg_if_player( m_bad, _( "Your heart spasms painfully and stops, dragging you back to reality as you die." ) ); } else { -@@ -1065,6 +1065,9 @@ - // Determine the strength of effects or dreams based upon category strength - int strength = 0; // Category too weak for any effect or dream - if( crossed_threshold() ) { -+ if( has_trait( trait_THRESH_REAL_VAMP ) ) { -+ highcat = "REAL_VAMP"; -+ } - strength = 4; // Post-human. - } else if( highest >= 20 && highest < 35 ) { - strength = 1; // Low strength --- a/src/suffer.cpp +++ b/src/suffer.cpp @@ -565,9 +549,9 @@ static const trait_id trait_WEB_SPINNER( "WEB_SPINNER" ); static const trait_id trait_WEB_WEAVER( "WEB_WEAVER" ); @@ -251,7 +251,8 @@ - - void Character::suffer_while_underwater() - { + if( has_trait( trait_DEBUG_STAMINA ) ) { + return; + } - if( !has_trait( trait_GILLS ) && !has_trait( trait_GILLS_CEPH ) ) { + if( !has_trait( trait_GILLS ) && !has_trait( trait_GILLS_CEPH ) && + !has_trait( trait_VAMP_SKIN ) ) { |