Notes |
(0006377)
due (developer)
2010-07-18 10:03
|
"You feel guilty" is simple piety loss as opposed to the god actually being angry with you. I presume that, in this instance, it was because your servant did something that Kiku dislikes. Not entirely sure what, but it certainly wasn't enough for him to put you under penance, merely to deduct a small total off your piety.
This is similar to Fedhas getting pissed when you accidentally kill toadstools, etc; there's no actual penance, most of the time, but there is a small piety loss. |
|
(0006381)
Amonchakad (reporter)
2010-07-18 11:33
|
I think that the point here is that there is no thing that Kiku dislikes (at least, no shown one), and AFAIK you don't get a "guilty" message when piety decreases from turns passed. |
|
(0006384)
angrykoopa (reporter)
2010-07-18 12:30
edited on: 2010-07-18 12:33
|
I know for sure it wasn't a do-nothing piety decrease as I had just gained piety from my slave killing something. See screenshot. So the question is what Amonchakad said: what could the zombie possibly have done to anger Kiku?
|
|
(0006385)
due (developer)
2010-07-18 12:45
|
As far as I can tell from the dock_piety function, there's no check to see whether or not the guilty lecture should be printed, just whether or not piety has decreased sufficiently.
void dock_piety(int piety_loss, int penance)
{
static long last_piety_lecture = -1L;
static long last_penance_lecture = -1L;
if (piety_loss <= 0 && penance <= 0)
return;
piety_loss = piety_scale(piety_loss);
penance = piety_scale(penance);
if (piety_loss)
{
if (last_piety_lecture != you.num_turns)
{
// output guilt message:
mprf("You feel%sguilty.",
(piety_loss == 1) ? " a little " :
(piety_loss < 5) ? " " :
(piety_loss < 10) ? " very "
: " extremely ");
}
last_piety_lecture = you.num_turns;
lose_piety(piety_loss);
}
if (you.piety < 1)
excommunication();
else if (penance) // only if still in religion
{
if (last_penance_lecture != you.num_turns)
{
god_speaks(you.religion,
"\"You will pay for your transgression, mortal!\"");
}
last_penance_lecture = you.num_turns;
_inc_penance(penance);
}
}
So, solution: the zombie did nothing. You just gained piety and then lost piety in the same turn, by the look of it. |
|
(0006429)
Kate (developer)
2010-07-20 08:07
|
I'm repeatedly getting "you feel guilty" messages as a worshipper of Makhleb when I kill stuff in the Abyss with Haunt. |
|
(0006431)
elliptic (developer)
2010-07-20 08:32
|
It seems that this bug is because collateral kills use the code below (in did_god_conduct) to determine piety gain:
piety_denom = level + 10 - you.experience_level/3;
piety_change = piety_denom - 6;
This can yield negative piety_change for a high-level char getting collateral kills of low-HD monsters. |
|
(0006432)
rob (developer)
2010-07-20 09:07
|
fixed, thanks |
|