void mortifer::Pray() { LastPray = 0; if(!Timer && Relation == 1000) { ADD_MESSAGE("You feel %s is very pleased.", GetName()); PrayGoodEffect(); AdjustTimer(100000); AdjustRelation(-500); game::ApplyDivineAlignmentBonuses(this, 100, true); PLAYER->EditExperience(WISDOM, 400, 1 << 11); if(Relation > 250 && !(RAND() % 2)) { character* Angel = CreateAngel(PLAYER->GetTeam()); if(Angel) ADD_MESSAGE("%s seems to be very friendly towards you.", Angel->CHAR_DESCRIPTION(DEFINITE)); } } else { ADD_MESSAGE("You feel you are not yet worthy enough for %s.", GetName()); PrayBadEffect(); AdjustTimer(50000); AdjustRelation(-100); game::ApplyDivineAlignmentBonuses(this, 20, false); PLAYER->EditExperience(WISDOM, -50, 1 << 10); if(Relation < -250 && !(RAND() % 3)) { character* Angel = CreateAngel(game::GetTeam(4), 10000); if(Angel) ADD_MESSAGE("%s seems to be hostile.", Angel->CHAR_DESCRIPTION(DEFINITE)); } } }
void atavus::PrayGoodEffect() { if(!Timer && Relation > 500 + RAND_N(500)) { item* Reward = bodyarmor::Spawn(PLATE_MAIL, NO_MATERIALS); Reward->InitMaterials(MAKE_MATERIAL(ARCANITE)); ADD_MESSAGE("%s materializes before you.", Reward->CHAR_NAME(INDEFINITE)); PLAYER->GetGiftStack()->AddItem(Reward); AdjustTimer(45000); AdjustRelation(-300); } else ADD_MESSAGE("Nothing happens."); }
truth scabies::PlayerVomitedOnAltar(liquid*) { if(Relation == 1000) { ADD_MESSAGE("%s exclaims: \"You have pleased me greatly, darling!\"", GetName()); if(PLAYER->GetMyVomitMaterial() != GREEN_SLIME) { PLAYER->SetNewVomitMaterial(GREEN_SLIME); } } else { ADD_MESSAGE("%s feels that you are indeed her follower.", GetName()); AdjustRelation(1); } return false; }
bool scabies::PlayerVomitedOnAltar(liquid*) { ADD_MESSAGE("%s feels that you are indeed her follower.", GetName()); AdjustRelation(1); return false; }