another one IVAN fork

Yesterday, 8:05 pm
Joined: Sep 5, 2010
Interests: make more ivans!
Posts: 157
red_kangaroo wrote
If you've ported the shield changes from vanilla, it's actually rather fun going full turtle, since shields now give AV to all body parts, in addition to their block chance.

wow. thank you for pointing that! i haven't compared the whole code yet (it is HUGE! , only took the parts related to new items, characters and magic effects. so i'll take a look now!

i thought about doing something with shields myself. there is the thread here, where you proposing several changes, including adding shield bashing. that is something i am thinking about too.

currently (no changes to shields yet), i tried to go with a light shield and a short sword, and… meh. throwed the shield into some kobold soon enough, and picked up the second sword.

red_kangaroo wrote
It doesn't work well in end-game (crits and magic everywhere), but early to mid game can be quite successfully turtled with a good heavy armour and shield.

tbh, i never ever reached Oree without wiz mode. this prolly has something to do with my preferred playstyle: i HAET pets and praying! i am starting to think that the game should take a note that the player never prayed to anyone despite seeing altars and reading the books (or maybe forbid reading books too), and never tamed anyone, and spawn some better gears and stat raising fluids in this case. it should be subtle, and nothing in the game should hint at it, but it would be fun hidden mechanics, i believe. and maybe will give me a chance (still no, because of danger level .
Yesterday, 9:15 pm
Joined: Sep 5, 2010
Interests: make more ivans!
Posts: 157
hm. i checked it, and the shield code is exactly the same in k8ivan as in comm. fork (ok, let's call it "vanilla" from now on, because this is The Definitive Edition now .

i mean, i checked all places where `IsShield()` is checked.
Yesterday, 11:29 pm
Joined: Sep 5, 2010
Interests: make more ivans!
Posts: 157
implemented the dialog with Aslona emissary, so it is now possible to properly start the quest.

also, having the stupid encrypted scroll with you after accepting the quest doesn't seem right to me. so the player now asks the emissary if he can read what is written in the scroll, and the emissary takes the scroll away, promising to send it to Aslona wizard to decipher. this way the player will know for sure that Petrus' quest is no more.

now i have to implement "not on the same continent" flag for POIs.
Today, 12:00 am
Joined: Dec 3, 2007
Occupation: Chaos Weaver
Location: Standing between all life and death
Posts: 2,900
vasiliy wrote
but i'm more about making various "end game routes" mutually exclusive, because OP player will prolly wipe the floor with Oree and his minions, for example. it might be fun to show everybody who's The Boss, of course, but… i don't feel like it plays good with "the spirit of IVAN". also, this adds some strategy too: should i go for Elpuri and Petrus? or help Aslona officials? or rebels? or became a wizard? choosing one of those should close other routes. at least that's how i envision the game.

red_kangaroo wrote
Yup, that's the way it works in vanilla and I think it works well. Getting the loot from several dungeons quickly makes the player way too powerful. CLIVAN had this problems and it's also the only variant where I killed Oree.

This was previously discussed in various places. I don't know if it was actually implemented (since I haven't played any IVAN in years) but the solution was to enable only a single dungeon per game. You could also lock the magic-learning behind the generation of Ischaldirh's dungeon, if you go that route.
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
Today, 12:20 am
Joined: Sep 3, 2024
Occupation: Childcare Provider
Location: Victoria, British Columbia
Interests: Retro gaming, retro computers, TTRPGS, painting and crafting miniatures and terrain, wargames
Posts: 14
I just noticed that typing G and pushing a direction only moves me one square.
Today, 3:07 am
Joined: Sep 5, 2010
Interests: make more ivans!
Posts: 157
Yancakes wrote
I just noticed that typing G and pushing a direction only moves me one square.

movement aborts when there is a dangerous square nearby, or some unseen item/door, or a monster. some of that could be changed in options. check if there are nothing like that around. dangerous squares incluedes vomit, broken bottles, banana peels and such.
Today, 3:18 am
Joined: Sep 5, 2010
Interests: make more ivans!
Posts: 157
chaostrom wrote
This was previously discussed in various places. I don't know if it was actually implemented (since I haven't played any IVAN in years) but the solution was to enable only a single dungeon per game. You could also lock the magic-learning behind the generation of Ischaldirh's dungeon, if you go that route.

at least in k8ivan, GC can be found by just wandering around the map. but other quest dungeons only placed on the map by the respective quest giver, and most of them will take away the encrypted scroll. and you either require a scroll, or you should not start another quest to… well, take a quest.

so you still can go and slay Oree and Elpuri while being overpowered (and Petrus, because Attnam is here too), but you can only take one alternate quest.

if i'll add a wizard quest in Aslona, this will prolly require some way to block other Aslona "activities". maybe some kind of "wizard academy" or such, surrounded by impassable mountains and magic force field, so you won't be able to escape. so your only way will be to train yourself and face Izzy.
Today, 3:48 am
Joined: Apr 2, 2014
Occupation: Navastating
Location: Aslona
Posts: 786
vasiliy wrote
hm. i checked it, and the shield code is exactly the same in k8ivan as in comm. fork (ok, let's call it "vanilla" from now on, because this is The Definitive Edition now .

i mean, i checked all places where `IsShield()` is checked.

Here it is: https://github.com/Attnam/ivan/blob/master/Main/Source/human...

SPOILER ALERT. Click here to see text.
int humanoid::GetGlobalResistance(int Type) const
{
  int Resistance = GetResistance(Type);

  if(GetCloak())
    Resistance += GetCloak()->GetResistance(Type);

  if(GetRightWielded())
  {
    if(GetRightWielded()->IsShield(this))
      Resistance += GetRightWielded()->GetResistance(Type);
  }

  if(GetLeftWielded())
  {
    if(GetLeftWielded()->IsShield(this))
      Resistance += GetLeftWielded()->GetResistance(Type);
  }

  if(!(Type & PHYSICAL_DAMAGE))
  {
    if(GetAmulet())
      Resistance += GetAmulet()->GetResistance(Type);

    if(GetRightRing())
      Resistance += GetRightRing()->GetResistance(Type);

    if(GetLeftRing())
      Resistance += GetLeftRing()->GetResistance(Type);
  }

  return Resistance;
}
Today, 3:49 am
Joined: Apr 2, 2014
Occupation: Navastating
Location: Aslona
Posts: 786
vasiliy wrote
implemented the dialog with Aslona emissary, so it is now possible to properly start the quest.

also, having the stupid encrypted scroll with you after accepting the quest doesn't seem right to me. so the player now asks the emissary if he can read what is written in the scroll, and the emissary takes the scroll away, promising to send it to Aslona wizard to decipher. this way the player will know for sure that Petrus' quest is no more.

now i have to implement "not on the same continent" flag for POIs.

In vanilla, you first have to talk to Petrus (who takes your scroll away) before you can talk to the emissary. Or to the necromancer, for that matter.

Basically you give the scroll to Petrus, thus ending the "give scroll to Petrus" quest, and only then can you choose your following quest: GC/Aslona/Tomb.
Today, 3:51 am
Joined: Apr 2, 2014
Occupation: Navastating
Location: Aslona
Posts: 786
chaostrom wrote
This was previously discussed in various places. I don't know if it was actually implemented (since I haven't played any IVAN in years) but the solution was to enable only a single dungeon per game. You could also lock the magic-learning behind the generation of Ischaldirh's dungeon, if you go that route.

Yeah, you can only choose one quest/dungeon in vanilla and all the others become unavailable.
Today, 7:45 am
Joined: Sep 5, 2010
Interests: make more ivans!
Posts: 157
@red_kangaroo, wow! somehow i missed that part. thank you!

i ported most new dungeons now, and they seem to work. at least they don't crash the game outright, i consider this "working state".

in k8ivan, you have to give the scroll either to the necromancer, or to Petrus. (or to the emissary now.) i like it more this way. and the emissary will give the quest only of you haven't talked to Petrus yet. my idea is that there is That Main Quest most people will follow, but for those who are willing to explore Attnam first, there is a bonus (necromancer's quest). also, the player will prolly meet the emissary on his way to Petrus, and Aslona quest is a bonus for those who like to talk with people.

that is, i prefer the game to have more "hidden content". the player have to do something unusual (well… "something unusual" is IVAN motto anyway to find that the game is bigger than he thought. if i'll ever write "dungeon editor tool", i will prolly sneak more hidden quests in the same manner.
Today, 8:28 am
Joined: Sep 5, 2010
Interests: make more ivans!
Posts: 157
added new shield code, and the game immediately spawned the zombie with broken meteoritic steel acid shield on UT1. now tell me again that the game is not sentient!
Today, 10:58 am
Joined: Sep 5, 2010
Interests: make more ivans!
Posts: 157
by the way: Kaethos has 75% probability of science talk. and `BeTalkedTo()` is called only when science talk failed. as the player should came to liberate New Attnam with relatively high stats, it is quite hard to get the quest from him.

i believe that `BeTalkedTo()` should not be used for quests, healing, etc. we need a new method, like `truth QuestTalk()`, which will be called before trying a scitalk. currently this is workarounded with a hack: all quest NPCs have very low (or zero) scitalk probability — except Kaethos.

for now i lowered his scitalk probability to 25, but i don't like this solution at all.
Jump to