As before, they get the Necromancy boost (like Mummies do) at xl 13 and 26.
Also, vampires can now cast spells while starving, but suffer a failure increase akin to that of Blade Hands. (I've no idea what these numbers actually mean, so this will most likely have to be changed as well.)
Updated tables.txt.
Still TODO:
Apart from that, they are ready for playtesting once again. As always, feedback would be much appreciated. :)
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@3528 c06c8d41-db1a-0410-9941-cceddc491573
TFNFP2YQA4EOVE4VIXBEQSGACZSXHWIQ2T4TIPQ46R2MJW2C4B5AC H7KLIGBECC2SCGAIFPZFZ7P2TVDKR67HQ7AG5LXPP5SVNL7RWAHAC PKMMQBEKTMP4EUYLUJFYIB3PRAQV5DPPDRBLNVMH4RQG2NMALWIQC PD4F7SBVT5V3JMWCNW3J4XL2G4FJCQ3OJIXX7YMTL4HHPETDQA3AC MO63IVZZMRHBHHH5BTVC7YHHZ4AZIRJ7BMPPTVBCNJ67TMGJWQUAC OAVLROPYRNLBXTZGNVY6DP6WF424OC3FAVMZ7ZAEEUZXKFEZ2UCQC UFWUMT4IRLCXZD6ERXU7UZ2QWMTCK7QOFWL4JNCIG7Z2HL7KE5LAC L6YPJVODN32IYLEZQQZE2ENH3XDAZ63IQIDX3PB4CJEK3A4NUNSAC M55DKMLPTAPYGJCNR45A25G6SMNZHDMLUV5AUKRCF2MZ4XQZ3SRQC ST3CXDUDCT4LYUREVQE6YDKTGM3XZTSGGNCHWKMYJDQVZ2VSFYZQC 5TG5LXU4DX65KMWCZ7YJHOB3VAETQAVBUHEUSQTPMA327XV2HQWAC MDAJYB6STTZPNHRQ2X66MMMSONMKXTESLHJSFPGN7H3D3TOVBAVAC P2ZCF3BBG523ZEOD6XQA4X5YEHBTWH3IM33YVHXP2SQ5POXZIH4QC CWTKS62IFZYYR3HGPDP5LW5C53CRWVAD6AAEOV4BSWNW52BCQH3QC K2CS6TCX2NDVL2ASEHGP4J4K4IJ6FP3ANNKTSIWVG43HPYSBX6ZQC 3D6NWJ44UYHLZMD3BOQIWXJUEGITAVCHK6Z2WWDQONVQC4HSBRXQC RPOZZWKG5GLPHVZZ7ZKMKS64ZMV2LDCQSARBJFJ6FZOTOKCQO7FAC GSS3OCYMI4MYKACCGNLFA267VDH2U7G4QVVDLMOVAUHZTYQ3QJDAC KBBSDMAXAGEDFMIVL6BSPMMSOBZKWPJTFCLBGCHRLE5DGTVAACSAC JK3HFJG76OOQHJMXJUSZRTR5CX5ZMS52LRVBLOR7E2NBI6PRSHHAC DMRXDEKHHBQNY37NPGZFAGUQPALWFANGGK4CUWIOQUPSLM2JBNFQC I2B33Z7NZGC33AMDSSK446AZZYWKPHWLAGULVHKKZU4MVB4BNJOAC KFULGQQOHWUTXOM3BXCCYPGGVGGY4Z6265XUFRCBPNLTZAEHJZSQC QDTVLBRGHDTRUVT7I3O72K6TMOYAUSAJBZUHGOEFU2RKJNUPWZSQC CLIEHAE2PP7ZIGLLIMYCWM4FC54KBOAN5AILOLAZJ5S26GTJM4RQC 3KAINFIXO7WNWGUGZB43EUNFRS2ZPBLQZDTY456QACMRHYIJ7WDAC 2H32CFFM2FNS63JJPNM2S6HMO543EX72GMPOU5GI6HTMQYPL6I3AC KBTDCQ7GYBRPB346ZEOJ4OM2XHOHN6FJMVMTOJ42EDK5KJX7VLIAC LPW5S327G7WSDHNED5A2UB72HVH27YYNFZGBYWUW5XSV7U4HPNQAC XCEZ7OA2INNPSYNAB5U6JB7XNDAD5BKU26YLFPPZ3SEESFZKADQAC SVY2PTCLXR3KNPQAWXVXTTGCC5DR334HOAKHYO3VDDRWM2BWMALAC P2YNOE2TUTZFAOBTHJOIVD6TCV7J7D2UKUX67LHZUL6QY44ZMENQC 25CH7HH4LKXFIZ75YNMXS3TSXO6O27DYSOPLOD45K4OCNFWLS4LQC BWAQ3FHBBM6G3K3KYP75CRTR343RDQZJRYX5ZGYUEXYBAC3APDLAC CGYTZT5QWIEGYKUOLOK7MFXSLJKLYRZONER5ZCDZO5XYWSLG475QC 5ZG33P3GHTV45HM5STF23BNSV7T4Z6MGCLPRGCNHIVCQUTHDPOTQC MLZSEZWNNZMSIDQNAAIOJJR4K7VSVJICL5SAGHD3ROM7SYDVZABAC JXOE7KJIEAJHPLMZAJ6O4YHDTRB6BGNP6XT3ZSEFYGSIUMHR77KQC RVST2QHYJ757ZHK4AUJ5NGPDZ44AD6RVFVXYPKQIBJXZBDNUCHXQC 5FECCMAC5QKG3SJ4ATZFE2QF7I3A4YKWKCU4XQEW2P2SWZ2J33YQC if (you.attribute[ATTR_TRANSFORMATION] == TRAN_BAT|| you.hunger_state <= HS_HUNGRY)
// Hungry/bat-form vampires are (much) more stealthyif (you.hunger_state <= HS_STARVING)stealth += (you.skills[SK_STEALTH] * 21);else if (you.attribute[ATTR_TRANSFORMATION] == TRAN_BAT|| you.hunger_state <= HS_HUNGRY)
item.sub_type = FOOD_CHUNK;item.quantity = 1 + random2( max_chunks );item.flags &= ~(ISFLAG_THROWN | ISFLAG_DROPPED);
item.sub_type = FOOD_CHUNK;item.quantity = 1 + random2( max_chunks );item.flags &= ~(ISFLAG_THROWN | ISFLAG_DROPPED);
mitm[o].plus = 0;mitm[o].plus2 = 0;mitm[o].special = 0;mitm[o].flags = 0;mitm[o].colour = mons_class_colour( mons_class );
mitm[o].plus = 0;mitm[o].plus2 = 0;mitm[o].special = 0;mitm[o].flags = 0;mitm[o].colour = mons_class_colour( mons_class );
if (you.species == SP_VAMPIRE){if (!one_chance_in(3))you.rotting = 0;if (!one_chance_in(3))you.duration[DUR_CONF] = 0;}else
// only fix rot when healed to fullif (you.hp == you.hp_max)
// healing depends on hungerif (you.hunger_state <= HS_HUNGRY) // !heal wounds{inc_hp((10 + random2avg(30,2)) / factor, false);mpr("You feel much better.");}else{if (you.hunger_state <= HS_FULL)inc_hp(5 + random2(10), false); // !healingelseinc_hp(2 + random2(5), false);mpr("You feel better.");}}else{if (you.omnivorous() || you.mutation[MUT_CARNIVOROUS]){// Likes itmpr("This tastes like blood.");lessen_hunger(200, true);}else{mpr("Blech - this tastes like blood!");if (!you.mutation[MUT_HERBIVOROUS] && one_chance_in(3))lessen_hunger(100, true);elsedisease_player( 50 + random2(100) );xom_is_stimulated(32);}}did_god_conduct(DID_DRINK_BLOOD, 1 + random2(3), was_known);break;
you.paralyse(2 + random2( 6 + you.duration[DUR_PARALYSIS] ));xom_is_stimulated(64);
you.paralyse((2 + random2( 6 + you.duration[DUR_PARALYSIS] )) / factor);xom_is_stimulated(64 / factor);
case POT_BLOOD:if (you.species == SP_VAMPIRE){const char* names[] = { "human", "rat", "goblin","elf", "goat", "sheep","sheep", "gnoll", "yak" };mprf("Yummy - fresh %s blood!", RANDOM_ELEMENT(names));lessen_hunger(1000, true);mpr("You feel better.");inc_hp(1 + random2(10), false);}else{if (you.omnivorous() || you.mutation[MUT_CARNIVOROUS]){// Likes itmpr("This tastes like blood.");lessen_hunger(200, true);}else{mpr("Blech - this tastes like blood!");if (!you.mutation[MUT_HERBIVOROUS] && one_chance_in(3))lessen_hunger(100, true);elsedisease_player( 50 + random2(100) );xom_is_stimulated(32);}}did_god_conduct(DID_DRINK_BLOOD, 1 + random2(3), was_known);break;
you.duration[DUR_RESIST_FIRE] += random2(pow) + 10;you.duration[DUR_RESIST_COLD] += random2(pow) + 10;you.duration[DUR_RESIST_POISON] += random2(pow) + 10;you.duration[DUR_INSULATION] += random2(pow) + 10;
you.duration[DUR_RESIST_FIRE] += (random2(pow) + 10) / factor;you.duration[DUR_RESIST_COLD] += (random2(pow) + 10) / factor;you.duration[DUR_RESIST_POISON] += (random2(pow) + 10) / factor;you.duration[DUR_INSULATION] += (random2(pow) + 10) / factor;
const int mons_type = food.plus;const bool cannibal = is_player_same_species(mons_type);const int intel = mons_intel(mons_type) - I_ANIMAL;
const int mons_type = food.plus;const bool cannibal = is_player_same_species(mons_type);const int intel = mons_intel(mons_type) - I_ANIMAL;
const int intel = mons_intel( food.plus ) - I_ANIMAL;const bool cannibal = is_player_same_species( food.plus );const bool rotten = food_is_rotten(food);
const int intel = mons_intel( food.plus ) - I_ANIMAL;const bool cannibal = is_player_same_species( food.plus );const bool rotten = food_is_rotten(food);
else if (wearing_amulet(AMU_THE_GOURMAND)){food_value = mass/3 + random2(you.experience_level * 5);mpr("Slurp.");did_god_conduct(DID_DRINK_BLOOD, 8);}else{mpr("It's not fresh enough.");return false;}
// start_delay( DELAY_EAT, 3 );start_delay( DELAY_EAT, 1 + mass/300 );
// The delay for eating a chunk (mass 1000) is 2// Here the base nutrition value equals that of chunks,// but the delay should be greater.start_delay( DELAY_EAT, mass / 400 );