Pent wrote
First of all:
HOLY SHIT.
Secondly, every single one of the things you just listed is incredibly awesome and interesting; can you link the code where they're located?
Smith needs hammer is on line 2745 of human.cpp
if(!GetMainWielded() || !GetMainWielded()->CanBeUsedBySmith())
{
ADD_MESSAGE("\"Sorry, I need an intact hammer to practise the art of smithing.\"");
return;
}
CanBeUsedBySmith is a script attribute used in item.dat, which is only true on warhammers, hammers, thunder hammers, and the gorovits family hammer.
Kamikaze dwarf thing is on line 4761 of human.cpp
void veterankamikazedwarf::PostConstruct()
{
kamikazedwarf::PostConstruct();
ivantime Time;
game::GetTime(Time);
int Modifier = Time.Day - KAMIKAZE_INVISIBILITY_DAY_MIN;
if(Time.Day >= KAMIKAZE_INVISIBILITY_DAY_MAX
|| (Modifier > 0
&& RAND_N(KAMIKAZE_INVISIBILITY_DAY_MAX - KAMIKAZE_INVISIBILITY_DAY_MIN) < Modifier))
GainIntrinsic(INVISIBLE);
}
KAMIKAZE_INVISIBILITY_DAY_MIN/MAX are both defined in balance.h
Danger level not increasing naturally until day 5 and from thereon increasing a little by itself is part of balance.h and called on line 996 of game.cpp.
Same goes for attribute bonuses to normal monsters past day 10, it's also defined in balance.h and called on line 458 of game.cpp
Enner's things I'm not going to bother posting out here, but the relevant things are from line 58 onward of human.cpp
I'm currently working on wiki articles for AP and stamina, but I do have one written up on Eating and NP.
Same for
Petrus, his section is very large in human.cpp, line 246 onward.
Singing kamikaze dwarves taking AP to sing are from line 5071 of human.cpp onward, with the AP cost being defined at line 5131.
chaostrom wrote
So far as I know, non-player creatures don't actually starve.
Don't they? Huh, I never noticed.
Monsters definitely do get hungry and eat or refuse to eat if too full though.
I guess it makes sense though since a lot of people outside of dungeons are just sitting there and waiting long enough would kill everyone in Attnam by starvation.