summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjc_gargma <jc_gargma@iserlohn-fortress.net>2021-06-13 03:18:41 -0700
committerjc_gargma <jc_gargma@iserlohn-fortress.net>2021-06-13 03:18:41 -0700
commit8bd14b2ce259426f1a4eb068930d28b160a051f7 (patch)
tree979696be211c22ae2d538ed689d941d02862a8df
parentUpdated to 2006 (diff)
downloadcataclysm-bn-8bd14b2ce259426f1a4eb068930d28b160a051f7.tar.xz
Expand vampire patch so vampires take even more damage from sunlight
-rw-r--r--PKGBUILD4
-rw-r--r--custom.patch128
2 files changed, 77 insertions, 55 deletions
diff --git a/PKGBUILD b/PKGBUILD
index b8f9a40..e5afc4a 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -13,7 +13,7 @@ pkgbase=cataclysm-bn
pkgname=(cataclysm-bn cataclysm-bn-tiles)
pkgname=cataclysm-bn
pkgver=2006
-pkgrel=1.3
+pkgrel=1.4
pkgdesc="A post-apocalyptic roguelike."
#url="http://cataclysmrl.blogspot.com/"
#url="http://www.cataclysm.glyphgryph.com/"
@@ -104,7 +104,7 @@ b2sums=('e8228109ac7494ba3a5f5b42422926f116b9c0e002f89174872a26bb0bb88f540a5f830
'ce82294e480ad42f0001c799fd8131b60024b6097653f3c57564c75e54596616e376f0d7f1cf4e54d8c302a61ef164b4323f795bfa19b2c13ab9e927d37f1600'
'd723fcc6cce65aa296bc519a07a5d003122ad698a73a3d046dac3780ea5a00fef28f78da251bb46f80f2e0577baa26a6ae13cabf525f22a7a742435e95716dae'
'e9c8decf0ab74ac2dd02ddd537ca80ad2aa02d97faf6cfcb983965b4c3f400b47b2e0517f2927d1b2463c14370fd1a0bad5b4d00710b2b415b45d1a81724a9c9'
- '747b2c3c1423ecabc1eb7accdb061c8a130120cc7295f36d3567c94113f64562ae2e4bd399cde4b738a539545215d6315b5e0a228e3a479742e8d3b8d94a6ec5'
+ '0dc275d5e1aa79b2cf73f7e997ea2b602690787ae15e3abdd3b9195bb409d511c74d4f7dca4bf1753a9afb4618f04cb462769c24999357dea62593a379411f42'
'd45f849e595131c517f644e8a39473a4bec9515894b38d2e278a0b08c64c437fa755109077e98761166ce6eed227f5b8fb4fff9444670e583a49cbc778ba92f2'
'59d69127a79d1c9f09dd324903ed0b4793991ae1d3f45f01c4710e329cd222fafbf252a29275345072c370245931c3e897a586044a46a83c13225a288bc96993'
'8fc23de05cc0d4ea63e921dd5c575ee83715753d2f2d0b9f0d503cb14a3263af4970fa5fb19a9b8387414b501f3dc4b8b6c91db4c929f9543556a7973a84a3b1'
diff --git a/custom.patch b/custom.patch
index 5c6cb5f..d669295 100644
--- a/custom.patch
+++ b/custom.patch
@@ -73,16 +73,21 @@
if( u.has_trait( trait_THRESH_MYCUS ) || u.has_trait( trait_THRESH_MARLOSS ) ||
--- a/src/suffer.cpp
+++ b/src/suffer.cpp
-@@ -118,6 +118,8 @@
- static const trait_id trait_FRESHWATEROSMOSIS( "FRESHWATEROSMOSIS" );
- static const trait_id trait_GILLS( "GILLS" );
- static const trait_id trait_GILLS_CEPH( "GILLS_CEPH" );
+@@ -143,10 +143,13 @@
+ static const trait_id trait_SHOUT3( "SHOUT3" );
+ static const trait_id trait_SORES( "SORES" );
+ static const trait_id trait_SUNBURN( "SUNBURN" );
+static const trait_id trait_THRESH_GYNOID( "THRESH_GYNOID" );
+static const trait_id trait_THRESH_VAMP( "THRESH_VAMP" );
- static const trait_id trait_JITTERY( "JITTERY" );
- static const trait_id trait_KILLER( "KILLER" );
- static const trait_id trait_LEAVES( "LEAVES" );
-@@ -245,7 +247,8 @@
+ static const trait_id trait_TROGLO( "TROGLO" );
+ static const trait_id trait_TROGLO2( "TROGLO2" );
+ static const trait_id trait_TROGLO3( "TROGLO3" );
+ static const trait_id trait_UNSTABLE( "UNSTABLE" );
++static const trait_id trait_VAMP_CURSE( "VAMP_CURSE" );
+ static const trait_id trait_VOMITOUS( "VOMITOUS" );
+ static const trait_id trait_WEB_SPINNER( "WEB_SPINNER" );
+ static const trait_id trait_WEB_WEAVER( "WEB_WEAVER" );
+@@ -243,7 +246,8 @@
void Character::suffer_while_underwater()
{
@@ -92,6 +97,68 @@
oxygen--;
}
if( oxygen < 12 && worn_with_flag( "REBREATHER" ) ) {
+@@ -759,6 +763,17 @@
+ }
+ }
+
++ if( has_trait( trait_VAMP_CURSE ) && one_in( 10 ) ) {
++ if( !( weapon.has_flag( "RAIN_PROTECT" ) ) ) {
++ add_msg_if_player( m_bad, _( "The sunlight sears your skin!" ) );
++ if( has_effect( effect_sleep ) && !has_effect( effect_narcosis ) ) {
++ wake_up();
++ }
++ mod_pain( 5 );
++ hurtall( 5, nullptr );
++ }
++ }
++
+ if( ( has_trait( trait_TROGLO ) || has_trait( trait_TROGLO2 ) ) &&
+ g->weather.weather == WEATHER_SUNNY ) {
+ mod_str_bonus( -1 );
+--- 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/src/player_hardcoded_effects.cpp
++++ b/src/player_hardcoded_effects.cpp
+@@ -114,7 +114,9 @@
+ static const trait_id trait_NOPAIN( "NOPAIN" );
+ static const trait_id trait_SEESLEEP( "SEESLEEP" );
+ static const trait_id trait_SCHIZOPHRENIC( "SCHIZOPHRENIC" );
++static const trait_id trait_THRESH_GYNOID( "THRESH_GYNOID" );
+ static const trait_id trait_THRESH_MYCUS( "THRESH_MYCUS" );
++static const trait_id trait_THRESH_VAMP( "THRESH_VAMP" );
+ static const trait_id trait_WATERSLEEP( "WATERSLEEP" );
+
+ static void eff_fun_onfire( player &u, effect &it )
+@@ -1095,6 +1097,11 @@
+ // 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_VAMP ) ) {
++ highcat = "VAMP";
++ } else if( has_trait( trait_THRESH_GYNOID ) ) {
++ highcat = "GYNOID";
++ }
+ strength = 4; // Post-human.
+ } else if( highest >= 20 && highest < 35 ) {
+ strength = 1; // Low strength
--- a/data/json/field_type.json
+++ b/data/json/field_type.json
@@ -303,7 +303,7 @@
@@ -175,27 +242,6 @@
"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 @@
@@ -206,27 +252,3 @@
"VISCOUS"
],
"order": 1500
---- a/src/player_hardcoded_effects.cpp
-+++ b/src/player_hardcoded_effects.cpp
-@@ -114,7 +114,9 @@
- static const trait_id trait_NOPAIN( "NOPAIN" );
- static const trait_id trait_SEESLEEP( "SEESLEEP" );
- static const trait_id trait_SCHIZOPHRENIC( "SCHIZOPHRENIC" );
-+static const trait_id trait_THRESH_GYNOID( "THRESH_GYNOID" );
- static const trait_id trait_THRESH_MYCUS( "THRESH_MYCUS" );
-+static const trait_id trait_THRESH_VAMP( "THRESH_VAMP" );
- static const trait_id trait_WATERSLEEP( "WATERSLEEP" );
-
- static void eff_fun_onfire( player &u, effect &it )
-@@ -1095,6 +1097,11 @@
- // 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_VAMP ) ) {
-+ highcat = "VAMP";
-+ } else if( has_trait( trait_THRESH_GYNOID ) ) {
-+ highcat = "GYNOID";
-+ }
- strength = 4; // Post-human.
- } else if( highest >= 20 && highest < 35 ) {
- strength = 1; // Low strength