Angband Forums

Angband Forums (http://angband.oook.cz/forum/index.php)
-   Vanilla (http://angband.oook.cz/forum/forumdisplay.php?f=3)
-   -   Bugs and issues in 4.1.2 (http://angband.oook.cz/forum/showthread.php?t=8772)

Sky January 13, 2018 13:55

where are my stairs ?
https://i.imgur.com/PMpweRF.png

PowerWyrm January 13, 2018 14:14

Obviously in an area you didnt explore... Bottom right area at the end of the small corridor seems to be the most likely place.

Sky January 13, 2018 14:28

i see that the implications of my question have eluded you.

Derakon January 13, 2018 14:54

They're eluding me as well, so why don't you explicate a bit?

Sky January 13, 2018 16:05

recently stairs placement has changed, instead of being randomly distributed, they are mostly placed in small side corridors or in some select rooms. however, they can now be all bunched up in the same spot, 5-6 down stairs all in one 5x5 room, with nothing else in the rest of the dungeon. if you want to get out of the level, but cannot get past that one 1-shot mob who is sitting between you and ALL THE STAIRS IN THE LEVEL, that can be a problem.

Tibarius January 13, 2018 18:21

stairs location
 
Quote:

Originally Posted by Sky (Post 127469)
recently stairs placement has changed, instead of being randomly distributed, they are mostly placed in small side corridors or in some select rooms. however, they can now be all bunched up in the same spot, 5-6 down stairs all in one 5x5 room, with nothing else in the rest of the dungeon. if you want to get out of the level, but cannot get past that one 1-shot mob who is sitting between you and ALL THE STAIRS IN THE LEVEL, that can be a problem.

Yes i noticed it too that sometimes stairs are not realy distributed over the level. I hadn't such a situation yet you describe.

Sky January 13, 2018 18:32

it doesnt have to be that one situation, and yet i still feel stairs should be more evenly spread out. i'm ok with a "stairs room" that has 2+ stairs in it arranged in a cool way, but that should count as 1 stair, not multiple.

Nick January 13, 2018 21:05

Quote:

Originally Posted by Sky (Post 127462)
where are my stairs ?

They're not your stairs, they're Morgoth's :)

Ingwe Ingweron January 15, 2018 03:38

Quote:

Originally Posted by Nick (Post 127321)
The only reason I haven't reproduced the weapon description thing is that I haven't tried yet :)

Any ETA on this bug-fix? It's such a pain in the butt having to pick up weapons from the floor, wield them, remember the blow/damage amounts, re-wield principal weapon, then compare. It was so much better when Inspecting the weapon on the ground or in the pack gave accurate information.

PowerWyrm January 15, 2018 09:21

Quote:

Originally Posted by Ingwe Ingweron (Post 127505)
Any ETA on this bug-fix? It's such a pain in the butt having to pick up weapons from the floor, wield them, remember the blow/damage amounts, re-wield principal weapon, then compare. It was so much better when Inspecting the weapon on the ground or in the pack gave accurate information.

Looking at the code, the only difference is that now it uses calc_bonuses() instead of doing some hack for off weapon extra blows.

Old code:

Code:

extra_blows = 0;
-
-        /* Start with blows from the weapon being examined */
-        extra_blows += obj->known->modifiers[OBJ_MOD_BLOWS];
-
-        /* Then we need to look for extra blows on other items, as
-        * state does not track these */
-        for (i = 0; i < player->body.count; i++) {
-                struct object *helper = slot_object(player, i);
-
-                if ((i == slot_by_name(player, "weapon")) || !helper)
-                        continue;
-
-                extra_blows += helper->known->modifiers[OBJ_MOD_BLOWS];
-        }

The problem I think is that calc_bonuses() doesn't handle modifiers properly:

Code:

/* Apply modifiers */
                        state->stat_add[STAT_STR] += obj->modifiers[OBJ_MOD_STR]
* p->obj_k->modifiers[OBJ_MOD_STR];
...
extra_blows += obj->modifiers[OBJ_MOD_BLOWS]
* p->obj_k->modifiers[OBJ_MOD_BLOWS];

I think the code should use the known part here, not rune knowledge. In PWMAngband, I have:

Code:

s32b modifiers[OBJ_MOD_MAX];

for (j = 0; j < OBJ_MOD_MAX; j++) {
modifiers[j] = obj->modifiers[j];
if (known_only && !object_is_known(p, obj) && !object_modifier_is_known(obj, j, aware)) modifiers[j] = 0;
}
...
extra_blows += modifiers[OBJ_MOD_BLOWS];



All times are GMT +1. The time now is 01:13.

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2018, vBulletin Solutions Inc.