another one IVAN fork (build: 2025, Apr 18)

Mar 7, 4:36 am
Joined: Dec 3, 2007
Occupation: Chaos Weaver
Location: Standing between all life and death
Posts: 2,922
vasiliy wrote
rings of teleport and polymorph are ignored too, unless the monster have a way to control their effects.

I dunno, that's how half the people new to IVAN find out what those do, really. It's either "what the hell is going on with that enemy" or "oh shit I have no control over this thing". I reckon rings should fall under "that looks nice, I'll put it on".
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
Mar 7, 8:11 am
Joined: Sep 5, 2010
Interests: make more ivans!
Posts: 430
i think that new player will simply put the ring on, and see. also, there are mushrooms in UT, even magic mushrooms sometimes. and even rare spawn of chameleon, so the player will learn about various magic effects quite quickly.

i blocked them due to balancing, not because i wanted monsters to be smarter. those rings are not rare spawn — i mean, i can find them even on UT. not each time, but… it seemed to me that the game get to unfair territory without that block.

but yeah, it's hard to tell if it really is, or if it's just a series of bad runs. maybe make it int-dependent? the finder AI currently cannot include randomness, but any stable checks are ok. i'd like to enable picking those rings up too, the block looks like "gum solution", yes.

p.s.: what we REALLY need to telegraph better is the effect of worm ring. the description gives a hint, but most descriptions are just a fluff text, so the player will quickly learn to ignore them. maybe some kind of "inspect" command, which will allow intelligent player to learn about artifact properties? it's not like "identify", the artifact is fully usable without it; just informational. or wizards (or librarians?) may tell you about artifacts if you'll show them items. but i don't know yet how to make it work nice, without stupid raw stats and flags dumping. this needs some flavor text too, i guess.
Mar 7, 1:33 pm
Joined: Sep 5, 2010
Interests: make more ivans!
Posts: 430
so, i made polymorph ring block int-dependent (int >= 14). teleport ring is allowed for everyone, let's have some fun!
Mar 7, 2:12 pm
Joined: Sep 5, 2010
Interests: make more ivans!
Posts: 430
it is now possible to buy a strong-box from a smith. because why not? it's a useful item, and i see no reason to not give it to the player. it costs 300gp (normal strong-box costs 250gp), i think it's a fair price.
Mar 7, 11:32 pm
Joined: Sep 5, 2010
Interests: make more ivans!
Posts: 430
it is now possible to add notes to inventory items. notes will remain if you drop and then pick up the item (imagine a little magic sticker .

it is useful when you have, for example, several chests/strongboxes, and want to use one for scrolls, another for potions, etc. instead of remembering which one is for what, just name it!

bone files will not retain notes.
Mar 8, 2:06 am
Joined: Dec 3, 2007
Occupation: Chaos Weaver
Location: Standing between all life and death
Posts: 2,922
vasiliy wrote
p.s.: what we REALLY need to telegraph better is the effect of worm ring. the description gives a hint, but most descriptions are just a fluff text, so the player will quickly learn to ignore them. maybe some kind of "inspect" command, which will allow intelligent player to learn about artifact properties? it's not like "identify", the artifact is fully usable without it; just informational. or wizards (or librarians?) may tell you about artifacts if you'll show them items. but i don't know yet how to make it work nice, without stupid raw stats and flags dumping. this needs some flavor text too, i guess.

Hmm, perhaps a healer or librarian could tell you? Someone with actual knowledge.

By the way the sticky notes on boxes is a fabulous idea.
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
Mar 8, 6:17 am
Joined: Sep 5, 2010
Interests: make more ivans!
Posts: 430
chaostrom wrote
Hmm, perhaps a healer or librarian could tell you? Someone with actual knowledge.
yeah, that's what i was thinking. now i need another flavour text, because if scholar will repeat the same descrption, the player will prolly think that it's just for atmosphere.

chaostrom wrote
By the way the sticky notes on boxes is a fabulous idea.
i just found myself trying to remember which one of those 3 boxes is for potions… of course, open without taking anything doesn't spend time, but i want to teleport that Guugzamesh fast! and i don't know why i was looking for a potion box.
Mar 9, 11:28 am
Joined: Sep 5, 2010
Interests: make more ivans!
Posts: 430
added diety relation text to pray interface. because why not? it is possible to offer some small thing at the altar to know it, and generally the player has this info. and it is annoying to try to remember wtf was going on with each god, especially if you're not playing the session in one seat.
Mar 9, 8:21 pm
Joined: Sep 5, 2010
Interests: make more ivans!
Posts: 430
i really cannot understand why Merka is indifferent about the one paying customer he have. so, tried to make Merka and his guards to fight any monster which will attack the player in the shop. it might create some mayhem, but should be more fun that seeing them standing still while their customer is dying. also, one more strategy: if in trouble, run to the shop!

the quick-and-dirty implementation seems to work, except some mysterious segfaults which cannot happen at all, but… will investigate. maybe it is due to wizard cheating.


upd: found the bug. i used `SetTeam()` instead of `ChangeTeam()`. oops. now everything seems to work as expected.
Mar 9, 10:56 pm
Joined: Sep 5, 2010
Interests: make more ivans!
Posts: 430
added option to use blurred images instead of the checkered pattern for memorized squares. dunno if it is better this way, hence the option. i'm not happy with it, but the pattert is not fun too.
Mar 10, 3:36 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: 43
vasiliy wrote
NetHack I Smell!
Hey! Just plain old Dungeons & Dragons lol
Mar 10, 10:57 am
Joined: Sep 5, 2010
Interests: make more ivans!
Posts: 430
heh. i never played real D&D, never even read the rules or the monster compendum. NetHack is the new D&D!
Mar 10, 11:07 am
Joined: Sep 5, 2010
Interests: make more ivans!
Posts: 430
also, i need to make the game harder again. i almost stopped dying in UT.

tried scimitar run for the first time in my life. (really!) it turned out to be a good weapon. was killed by Guug, as usual: he doesn't look very special, and always manages to dismember and behead me in several turns, before i have a chance to do anything. the one game i wasn't killed by him was the game where he spawned on Enner level. i found just the dead body and items. then Enner killed me too.

p.s.: now Merka is ready to do anything to protect the customer, even breaking all his for-sale bottles while fighting for my life. that's the dedication!
Mar 10, 12:46 pm
Joined: Sep 5, 2010
Interests: make more ivans!
Posts: 430
by the way: was lantern changed in vanilla? the wiki says that "(lanterns) shatter rather easily, being especially vulnerable to explosions", which i have never ever seen. i mean, in my inventory. even Enner is unable to break my lantern. i prolly not going to change this (lanterns are everywhere, so replacing one is not a challenge, just an annoyance), but i'm interested if they are more fragile in vanilla.

p.s.: btw, in current k8I build skeletons have a small chance to drop a crystal skull. just for fun.
Mar 10, 11:56 pm
Joined: Dec 3, 2007
Occupation: Chaos Weaver
Location: Standing between all life and death
Posts: 2,922
Well yeah, back in 0.50 they did break pretty easily. I'm unable to recall any discussion on making them less prone to breaking though?
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
Mar 11, 12:52 am
Joined: Sep 5, 2010
Interests: make more ivans!
Posts: 430
chaostrom wrote
Well yeah, back in 0.50 they did break pretty easily. I'm unable to recall any discussion on making them less prone to breaking though?
thank you! i will prolly check if lanterns are different in CVS later.
Mar 11, 1:04 am
Joined: Sep 5, 2010
Interests: make more ivans!
Posts: 430
implemented in-engine simple "set property tracker" for databases. the database now knows if it got the field from the parent db, and if it was set by the current config. so it is now possible to properly check if required fields (like default strengthes) are missing. i implemented the simple check, will prolly implement better checks later.

"database" is configuration info in invaneese. base config is #0. and the game now tracks which fields were copied, and which were (re)defined. i had to spend some time decifering (again) how all that works.

fun facts:
room scripts traverse the inheritance chain in runtime to find property value. this is done in interesting way, and missing value (up to the base level) could cause a segfault.

other script objects simply copying the basic configuration as a whole instead, so no runtime lookups are done after parsing the scripts. this is faster, but also means that changed database values in runtime won't be automatically propagated to child configurations. not that the game ever does that, but still good to know.

the whole database system is a mess, and hard to follow if you don't already have the mental picture of the actual implementation. but the implementation itself is quite smart.

adding/removing character configuration will make the save invalid. i.e. if you will add a new character config, remove a config, or add/remove a character, old saves will be broken. it can be fixed, but currently i see no reason in doing so. this includes changing "can create golem" material flags, and `UndeadVersions` character property (because those properties are used to create golems, zombies, ghosts and skeletons). character definition order matters too.

speculation: there are prolly 2 or 3 persons on the whole planed who understand how that shit works. i'm not one of them.
Mar 11, 11:45 am
Joined: Sep 5, 2010
Interests: make more ivans!
Posts: 430
while i was asleep, i got the idea. while we don't have sound propagation system (yet, i hope , it is possible to make at least shopkeepers more … "realistic", lol.

i already have the concept of "protective" teams. protective team will turn hostile along with the team it protects. this was done so Kaethos will turn hostile if you attack villagers: Kaethos need its own team for game mechanics reasons (tourists follows the leader of tourist guide team; btw, have you noticed that Kaethos really goes to various map spots, and tourists follow him?), and hardcoding special rules looked wrong.

now, i can introduce a flag which will not turn protective teams hostile along with the main, and use it when we need to make shopkeeper hostile for stealing, for example. this way, if the shopkeeper is in its own team (with guards! , and the player tries to steal something (and failed), only the shopkeeper and the guards will turn hostile. but! if the player will attack them in retallation, then the whole Attnam will run for help due to "protective" relations.

so, you'll be able to steal from the shop, run away (teleport, etc.), and get out of the city. then return, and as long as you'll manage to not reply with offensive actions, the city will not hunt you.

now, as we can have shopkeepers in their own teams, this opens other interesting possibilities. for example, if you return to the city, the shopkeeper instead of immediately attacking may demand you to pay your debt (prolly *5 or something). so if you'll manage to find a wand of teleport, you can… lift that Great Item, run away, sell half of GC to Merka, return, and pay your debt.

looks like interesting small mechanics to me, and not that hard to implement (sound propagation is much, much more compex).

p.s.: and if you don't have enought money… there is still no reason to kill you. the shopkeeper could simply take all your money, all your inventory, and give you filthy tunic and bone dagger instead (not omel bone! . and i can make it even more fun by freezing current danger level. i.e. the danger level could go up, but won't go down, effectively making the game think that you still possess your old gear, and spawn monsters accordingly. ahahaha.
Mar 11, 5:41 pm
Joined: Sep 5, 2010
Interests: make more ivans!
Posts: 430
with more team system improvements, Attnam should work like this: killing some citizen will not make other citizens hostile (but those surrounding the scene will panic). instead the city guards will start hunting you. killing two city guards will turn temple guards hostile. killing a temple guard will turn lords hostile. killing a lord will turn Petrus hostile. i think it will be more fun this way.

and if you are interested how guards know… all of them will carry The Holy Radio Device (property of Divine TeleCom Inc.). yes, picked up radio can be activated. you'd better don't do that.
Mar 12, 4:33 pm
Joined: Sep 5, 2010
Interests: make more ivans!
Posts: 430
implemented "guarded room" concept. this is the new type of the room, which could have "guard team" assigned. if any monster attacks the player in such room, guard team will kill the monster (by moving it to the special "perpetrator" team, so they won't hunt for all monsters on the map . currently it is used for Kharaz Arad entry in GC: four guards there are not for nothing, and they will not tolerate fights. guard team doesn't need a master, and its members need not to be in a room itself, so it is possible to use this to create various rooms with "external guard".

SPOILER ALERT. Click here to see text.
what the f… is "Anvitas the gigantic mutant hedgehog", and where i got it from?! i wanted to summon the good old hedgehog from UT to test the feature, not this beast!
Mar 12, 7:55 pm
Joined: Sep 5, 2010
Interests: make more ivans!
Posts: 430
i implemented and now testing "Attnam hierarchy".

SPOILER ALERT. Click here to see text.
now, if you will attack a citizen, other citizens who see this will run away, and city guards will try to kill you. if you manage to kill some city guards, "business people" of Attnam and temple guard will try to kill you. if you'll kill some temple guards, elite temple guard will run for you. then Lords, then Petrus. non-guard temple people will eventually join too. also, Attnam citizens don't care about rebellions, so if you start with guards, citizens won't mind: who cares what is the current name of the High Priest after all?

if you attack Petrus, "free" warrior princess will join you (and probably die . if you'll give a weapon to imprisoned pricess, she will ask if you want her to join (let's pretend that guards won't mind), but she will refuse to leave Attnam without her sister.

also, Petrus' wives will not join the fight. (one husband or another… they're all the same!) ambassadors will not join too: it is none of their business, they are ready to make a deal with any Petrus.

now everything looks way more logical, i believe.

note that we now have "hostile after N kills" team option, so you have to actually kill several people to make such team hostile.
Mar 13, 5:47 am
Joined: Apr 2, 2014
Occupation: Navastating
Location: Aslona
Posts: 854
vasiliy wrote
* as we don't have "Hotness", made napalm and lava acidious instead. sorry.

Maybe make them "acidous" but with fire damage instead of acid damage?

Sticky notes on items are wonderful!

vasiliy wrote
implemented "guarded room" concept.

Ooooh! This would work great in TX's priestess room, I think. She is non-hostile and has several guards in her room.

Anvitas is from CLIVAN.

vasiliy wrote
i implemented and now testing "Attnam hierarchy".

This is really great.
Mar 13, 5:52 am
Joined: Apr 2, 2014
Occupation: Navastating
Location: Aslona
Posts: 854
BTW, will this not override their default inventory? It's just a lantern, but it looks nice as the patrol guards moves around.
Mar 13, 6:07 am
Joined: Sep 5, 2010
Interests: make more ivans!
Posts: 430
red_kangaroo wrote
Maybe make them "acidous" but with fire damage instead of acid damage?
interesting idea! i haven't thought about that. this will require a new property (easy), and some new code (which i don't know where to add yet), but it is definitely better than my current workaround.

red_kangaroo wrote
Sticky notes on items are wonderful!
thanks!


red_kangaroo wrote
Ooooh! This would work great in TX's priestess room, I think. She is non-hostile and has several guards in her room.
yeah. in k8I it is now possible to make interesting team configs. for example, shop guards and the shopkeeper need not to be in the same team anymore. guards could be set as "protective" for the shopkeeper team instead. this way, if you'll attack the shopkeeper, guards will protect him. but if you'll attack the guard, the shopkeeper may actually wait until you kill one of them before joining the party. i will prolly change Merka config to this, it looks more logical for me. i.e. why the shopkeeper should do the work he is paying his guards for? but if some guard is killed, it is prolly "emergency situation", so there is some sense to help them.

red_kangaroo wrote
Anvitas is from CLIVAN.
yeah, i found it later. when i started k8I, i merged everything from CLIVAN, but Anvitas is not used anywhere, and prolly way too strong to spawn by itself, so i've never seen it. it was… frightening. it also ruined my experiment by slaying all guards in no time.
Mar 13, 6:11 am
Joined: Sep 5, 2010
Interests: make more ivans!
Posts: 430
red_kangaroo wrote
BTW, will this not override their default inventory? It's just a lantern, but it looks nice as the patrol guards moves around.
ooooh! thank you! i totally forgot that it is possible to set default inventory for characters. and of course i tested it with "see all map" cheat, so never noticed. you are right, i should implement a way to add items to their inventory, not fully override it. or maybe just put the radio to default inventory, assuming that all official guards should have it (which was the original idea anyway).
Jump to