Search Results
Searched for posts by red_kangaroo in all forums

Showing results 61 - 70 out of 754 total
Modify your search
Posted by red_kangaroo, Jan 22 at 2:37 am
That's a good question and a good find.
Posted by red_kangaroo, Jan 21 at 3:37 pm
You could also switch to wizard mode when that happens and turn on "see all" option. Maybe that will provide even more clues.
Posted by red_kangaroo, Jan 21 at 3:28 am
vasiliy wrote
i cannot stop thinking that the shields are overpowered with that change. like, i was fighting Jenny with oak shield, and she barely scratches me. she managed to hit me quite hard once, but most of the time she was harmless. i will prolly nerf the physical protection with `/2` at least. because with my current stats my physical resistense is 2, and shiled has 3, so i get 5. way too much. with `/2` the new total is `3`, which looks way more reasonable for me.

They are great in the early game, but fall off quickly afterwards. I think they are fine, because otherwise everyone will default to the "two attacks per round via dual-wielding" setup.
Posted by red_kangaroo, Jan 21 at 3:25 am
vasiliy wrote
also, Goblin Fort level generation often fails. it struggles to put living quarters, and sometimes even forge room. for now i workarouned it by increasing level sizes a little — the crashes are still there, but they are less frequent. i also added `FailureIsNotFailure` flag to room definitions (creative name, i know), which indicates that failing to place this room should not lead to ABORT. this flag leaks memory, of course, and is prone to crashes itself, but meh… (it mostly works for rooms without monsters, and with little objects… and it works only sometimes.)

i know what exactly IVAN struggles to place because k8ivan records source file and line for all scripts, and prints which room script failed. the better solution would be something akin to worldmap generation: abandon current efforts, and start over, but i don't know how to properly implement that. i can throw exception instead of aborting, but at this time the level is in "half-backed" state, and i have absolutely no idea how to clean up the things.

This doesn't happen in vanilla, but I think it has the "abandon and try again on failed dungeon generation" implemented. maybe try to steal the code from there?

See here: https://github.com/Attnam/ivan/pull/597
Posted by red_kangaroo, Jan 20 at 3:51 am
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.
Posted by red_kangaroo, Jan 20 at 3:49 am
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.
Posted by red_kangaroo, Jan 20 at 3:48 am
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;
}
Posted by red_kangaroo, Jan 19 at 3:44 pm
vasiliy wrote
…and i just remembered why i never used heavy weapons. for dual-wielder UT is a toy, Jenny doesn't stand a chance, and i can run around farming the plants to no end. but tried the same with long swords, and… killed by a hedgehogs. or plants. or Jenny. with more training heavy weapons will prolly perform better, but i never lived long enough to see that.

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. 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.
Posted by red_kangaroo, Jan 19 at 3:41 pm
vasiliy wrote
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.

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.
Posted by red_kangaroo, Jan 17 at 4:32 pm
vasiliy wrote
implemented long-time-awaited feature: it is now possible to chat through windows and bar walls. in the future we might have bars with bartenders, for example.