anything relating to ivan you're too lazy to create a new topic for

Sep 10, 2014, 9:33 pm
Joined: Feb 20, 2012
Posts: 231
4zb4 wrote
After 30 in-game days veteran kamikaze dwarves have a chance to spawn with natural invisibility. After 50 days, all veteran kamikaze dwarves become invisible.

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?
Sep 10, 2014, 11:31 pm
Joined: Dec 3, 2007
Occupation: Chaos Weaver
Location: Standing between all life and death
Posts: 2,898
So far as I know, non-player creatures don't actually starve.
Uchuudonge wrote
creating stable chaos
making patterns where there should be none
sewing order into the chaos
you spit in the face of random numbers, of chaos
Sep 11, 2014, 12:55 am
Joined: Dec 11, 2008
Posts: 1,770
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.
System would indicate in graphic if person is mounted on horse or not.
Same system also show if person mounted on boar, elephant, polar bear etc.
Or if person mounted on ass.
Ivan find mounting on ass funny.
Sep 11, 2014, 1:59 am
Joined: Sep 8, 2010
Occupation: Petty Functionary
Location: Drinking pea soup in the world map
Interests: Mangoes
Posts: 1,216
I think petrus can heal his allies during combat, that's what those lines of code are for.
Batman? wrote
its been so long since i had gotten that far i didnt think it through. arrrr!!!!!!
Sep 11, 2014, 2:17 am
Joined: Dec 11, 2008
Posts: 1,770
Probably, I've never had the uh "pleasure" of seeing it in action though.
More entertaining is that he's got lines for healing the player, which probably will never happen outside of wizard mode or additions by us.
System would indicate in graphic if person is mounted on horse or not.
Same system also show if person mounted on boar, elephant, polar bear etc.
Or if person mounted on ass.
Ivan find mounting on ass funny.
Sep 11, 2014, 6:38 pm
Joined: Dec 11, 2008
Posts: 1,770
Attnam is located in a thick forest known as Pertturia, and is the capital of the Holy Empire of Perttuania.
The "continent" Attnam is located on is the Isle of Perttuera, and is the world's 324th largest sovereign state.
It's all snowy and cold in Attnam in-game because the game takes place in the middle of winter - see the freedom ending, where the player waits for the sea to thaw so he can catch a boat elsewhere.

Petrus became the high priest of Valpurus after slaying the previous high priest. This much is told to you by the game if you poke around enough.
What isn't told to you is that Petrus took advantage of the fact the previous high priest had expended his energy erecting the cathedral and walls of Attnam, and subsequently protecting it from wild beasts. Petrus attacked him while he was exhausted and easily won. After this he proceeded to proclaim himself the new high priest and supreme ruler of the empire, and went on to name everything after himself (he was previously known as Perttu)
Petrus has been ruling Attnam ever since, for several decades by the time the player begins his journey.
(docs/obsolete/attnam.txt)

I think it's therefore possible - considering Attnam is so small and the state of Perttuania is not very big either - that although Valpurus is almost definitely the king of the gods and carries the world on his back, it just so happens that he has a presence in Attnam, and he might be referred to under different names by different nations. Plus, he's described as being "frequently absent" and most decisions are handed down to the high priest.
I'd find it very odd if he only favored a small valpurium mining town in the backwaters of the world.
System would indicate in graphic if person is mounted on horse or not.
Same system also show if person mounted on boar, elephant, polar bear etc.
Or if person mounted on ass.
Ivan find mounting on ass funny.
Sep 14, 2014, 2:45 am
Joined: Dec 11, 2008
Posts: 1,770
There is a very small chance of spawning a friendly angel when you kneel at an altar (by sitting on it with _ )
System would indicate in graphic if person is mounted on horse or not.
Same system also show if person mounted on boar, elephant, polar bear etc.
Or if person mounted on ass.
Ivan find mounting on ass funny.
Sep 14, 2014, 8:48 am
Joined: Dec 17, 2007
Occupation: Taking Names, Formerly Kicking Ass
Location: New Jersey
Posts: 992
Is it random or is it affected by your relationship with the god?
Booooooooooo!
Sep 14, 2014, 3:59 pm
Joined: Dec 11, 2008
Posts: 1,770
Oh, lemme clarify since it seems I missed a little something.

If your relationship with the god is less than 500, you have a 1 in 20 chance to improve your relationship with them and your WIS.
If your relationship is greater than 500 you have what I believe is a 1 in 2500 chance to spawn a friendly angel, train your WIS by a much higher amount and improve your relationship with the god.
System would indicate in graphic if person is mounted on horse or not.
Same system also show if person mounted on boar, elephant, polar bear etc.
Or if person mounted on ass.
Ivan find mounting on ass funny.
Sep 14, 2014, 5:32 pm
Joined: Dec 17, 2007
Occupation: Taking Names, Formerly Kicking Ass
Location: New Jersey
Posts: 992
Is there a time-out on it? Or can you abuse this?
Booooooooooo!
Sep 14, 2014, 5:59 pm
Joined: Feb 20, 2012
Posts: 231
Well, you only get +2 relation when you kneel (and like 4zb4 said, even that only has a 1/20 chance of happening), so you'd most likely starve to death and/or lose several stat points before you got any worthwhile boost to your relation.

And once you go over 500 you can't even get that +2 anymore; just a tiny tiny chance of getting an angel and ~50 relation points. But it's a fairly low chance so you'll definitely find yourself in trouble if you try to overuse it.
Sep 15, 2014, 12:54 am
Joined: Dec 11, 2008
Posts: 1,770
Ascending stairs trains your leg strength. Descending them increases agility.
It trains your legs by 150 points, which is twice what you get from kicking things and (If I am reading the code right) takes less time.

Vomiting on Scabies' altar improves your relationship by 1.
System would indicate in graphic if person is mounted on horse or not.
Same system also show if person mounted on boar, elephant, polar bear etc.
Or if person mounted on ass.
Ivan find mounting on ass funny.
Sep 16, 2014, 1:50 am
Joined: Dec 3, 2007
Occupation: Chaos Weaver
Location: Standing between all life and death
Posts: 2,898
Incidentally, Scabies is the only one that'll accept vomit on the altar.
Uchuudonge wrote
creating stable chaos
making patterns where there should be none
sewing order into the chaos
you spit in the face of random numbers, of chaos
Sep 16, 2014, 7:41 pm
Joined: Dec 11, 2008
Posts: 1,770
Opening the coffin in the Attnamese catacombs is an evil deed (25 alignment shift to chaotic) and will spawn up to 10 ghosts. Breaking the coffin spawns up to 9 ghosts.

(I think we investigated this a while ago? Anyway, confirmed while looking through code again)
System would indicate in graphic if person is mounted on horse or not.
Same system also show if person mounted on boar, elephant, polar bear etc.
Or if person mounted on ass.
Ivan find mounting on ass funny.
Sep 16, 2014, 7:42 pm
Joined: Feb 20, 2012
Posts: 231
I thought it was only altering the contents of the coffin? Looking into it on its own does nothing (same as opening a chest but not placing/removing anything; it doesn't even use a turn/take time).
Sep 16, 2014, 8:11 pm
Joined: Dec 11, 2008
Posts: 1,770
Here's the code:
truth coffin::Open(character* Opener)
{
  if(!Opener->IsPlayer())
    return false;


  if(!game::TruthQuestion(
	 CONST_S("Disturbing the dead might not be wise... Continue? [y/N]")))
    return false;
  truth Success = olterraincontainer::Open(Opener);
  if(Success)
  {
    game::DoEvilDeed(25);
    for(int c = 0; c < RAND_N(10); ++c)
    {
      v2 Pos = GetLevel()->GetRandomSquare();
      if(Pos != ERROR_V2)
	GenerateGhost(GetLevel()->GetLSquare(Pos));
    }
  }
  return Success;
}

DoEvilDeed seems to be called as soon as the player confirms that they want to open the coffin.
System would indicate in graphic if person is mounted on horse or not.
Same system also show if person mounted on boar, elephant, polar bear etc.
Or if person mounted on ass.
Ivan find mounting on ass funny.
Sep 16, 2014, 9:15 pm
Joined: Feb 20, 2012
Posts: 231
See olterraincontainer::Open; the Open function only returns true if you actually place or remove an item in the container. If you just look inside of it it doesn't even count as an action (the same applies to itemcontainers, such as chests).

truth olterraincontainer::Open(character* Opener)
{
    if(!Opener->IsPlayer())
        return false;

    truth Success;

    switch(game::KeyQuestion(CONST_S("Do you want to (t)ake something from or (p)ut something in this container? [t,p]"), KEY_ESC, 3, 't', 'p', KEY_ESC))
{
        case 't':
        case 'T':
            Success = GetContained()->TakeSomethingFrom(Opener, GetName(DEFINITE));
            break;
        case 'p':
        case 'P':
            Success = GetContained()->PutSomethingIn(Opener, GetName(DEFINITE), GetStorageVolume(), 0);
            break;
        default:
            return false;
    }

    if(Success)
        Opener->DexterityAction(Opener->OpenMultiplier() * 5);

    return Success;
}

Note that "TakeSomethingFrom" and "PutSomethingIn" will only return true if you actually complete the action.
Sep 16, 2014, 9:43 pm
Joined: Dec 11, 2008
Posts: 1,770
Ah! Seems you're right.
Though perhaps opening the coffin should count as an evil deed considering the message directly before, and again if you remove things.
System would indicate in graphic if person is mounted on horse or not.
Same system also show if person mounted on boar, elephant, polar bear etc.
Or if person mounted on ass.
Ivan find mounting on ass funny.
Sep 17, 2014, 12:29 am
Joined: Sep 8, 2010
Occupation: Petty Functionary
Location: Drinking pea soup in the world map
Interests: Mangoes
Posts: 1,216
In that case there might need to be a message to the player about opening the coffin being an evil deed.
Batman? wrote
its been so long since i had gotten that far i didnt think it through. arrrr!!!!!!
Sep 17, 2014, 2:41 am
Joined: Dec 11, 2008
Posts: 1,770
The "Disturbing the dead might not be wise" message seems warning enough, besides it's not severe enough a penalty to warrant a serious warning IMO. Let the players discover for themselves (or completely miss) that disturbing the coffins of the dead is a bad thing for a lawful person to do.

Also I'm not entirely sure since there's very little documentation on the matter, but I believe Khaz-zadm the zombie is meant to spawn in the catacombs since the changelog has him added directly after the coffin and other catacombs things. I think he was probably meant to spring out of the coffin (hence the warning) but I cannot be sure. It's obvious the catacombs aren't finished as-is anyway.
System would indicate in graphic if person is mounted on horse or not.
Same system also show if person mounted on boar, elephant, polar bear etc.
Or if person mounted on ass.
Ivan find mounting on ass funny.
Sep 18, 2014, 3:51 pm
Joined: Sep 8, 2010
Occupation: Petty Functionary
Location: Drinking pea soup in the world map
Interests: Mangoes
Posts: 1,216
Yeah especially with all of that free liquor just lying around.
Batman? wrote
its been so long since i had gotten that far i didnt think it through. arrrr!!!!!!
Sep 19, 2014, 7:45 am
Joined: Dec 17, 2007
Occupation: Taking Names, Formerly Kicking Ass
Location: New Jersey
Posts: 992
The 30/50 day thing for invisible dwarves is cool. How often would a game get to 30 or 50 days though? I just came back to a guy i had been playing and killed petrus - and its only like day 9 or something, and i spent forever screwing around before i took on the big man.
Booooooooooo!
Sep 19, 2014, 8:18 am
Joined: Dec 11, 2008
Posts: 1,770
I guess it's meant to discourage grinding the everloving hell out of your characters. Then again, in my experience that's mostly what Sherry and especially Ischaldirh are for, but they get locked to the level they spawn in unless they follow you up the stairs.

Alternatively it could be set in place for IVAN being a much longer game than it is currently. There's no shortage of ideas and grand plans sitting about in the source repository.
System would indicate in graphic if person is mounted on horse or not.
Same system also show if person mounted on boar, elephant, polar bear etc.
Or if person mounted on ass.
Ivan find mounting on ass funny.
Sep 19, 2014, 4:18 pm
Joined: Feb 20, 2012
Posts: 231
Reading through all of the /doc/ stuff really makes one wonder how vastly different IVAN 1.0 would have been from the IVAN we know...
Sep 20, 2014, 2:49 am
Joined: Dec 3, 2007
Occupation: Chaos Weaver
Location: Standing between all life and death
Posts: 2,898
It is, in fact, possible to get up to day 30/50 and have a limbless kamikaze dwarf bite through your adamantine belt to destroy your groin.

If your name is Freelance Berserker.
Uchuudonge wrote
creating stable chaos
making patterns where there should be none
sewing order into the chaos
you spit in the face of random numbers, of chaos
Jump to