![]() |
#1 |
Veteran
Join Date: Jan 2009
Location: Manhattan Beach, CA
Posts: 2,127
![]() |
?Acquirement location of reading revisited
I know this has been discussed before, with the conclusion that the location of reading ?Acquirement did not matter. However, I am convinced that it does, although I haven't parsed through the code. In the code for the ?Acquirement, is it checking the dl @ is actually on, or is it checking the dl of the particular location?
My understanding is that certain locations in vaults are identified with an "8", "9", or ",", signifying treasure 20, 7, or 7 levels out of depth, respectively. When the ?Acquirement is read at an "8" location, it seems to consistently deliver better results than when read elsewhere. |
![]() |
![]() |
![]() |
#2 |
Prophet
Join Date: Dec 2009
Posts: 9,022
![]() |
You're imagining things. The only thing that matters for where you read Acquirement is the depth of the dungeon you're at.
...well, I guess if you read the scroll in a location where there was no room to drop an item, then that would matter, because you'd lose the item generated. So don't do that. ![]() EDIT: to clarify, the acquirement effect simply calls make_object() with the "good" and "great" flags set and an appropriate item level. Only after it has been made is it "moved" to the position in the dungeon where you are standing (or an adjacent location as appropriate). make_object() has no idea where you are and does not care. Last edited by Derakon; October 20, 2014 at 00:52. |
![]() |
![]() |
![]() |
#3 |
Veteran
Join Date: Jan 2009
Location: Manhattan Beach, CA
Posts: 2,127
![]() |
Ah, but what is the appropriate item level? When a vault is created, isn't the same item generation happening, with good and great flags set to the depth, but with the depth modified at certain locations within the vault? How is make_object() choosing the depth? Are you certain that the depth measurement for ?Acquirement is not taking into account the location just like the vault generation? I've tested it out empirically and I can say that there seems to be a definite difference when standing on an "8" location.
Last edited by Ingwe Ingweron; October 20, 2014 at 01:53. |
![]() |
![]() |
![]() |
#4 | |
Prophet
Join Date: Dec 2009
Posts: 9,022
![]() |
Quote:
Code:
void acquirement(int y1, int x1, int level, int num, bool great) { object_type *i_ptr; object_type object_type_body; /* Acquirement */ while (num--) { /* Get local object */ i_ptr = &object_type_body; /* Wipe the object */ object_wipe(i_ptr); /* Make a good (or great) object (if possible) */ if (!make_object(cave, i_ptr, level, TRUE, great, TRUE, NULL, 0)) continue; i_ptr->origin = ORIGIN_ACQUIRE; i_ptr->origin_depth = p_ptr->depth; /* Drop the object */ drop_near(cave, i_ptr, 0, y1, x1, TRUE); } } Code:
case EF_ACQUIRE: { acquirement(py, px, p_ptr->depth, 1, TRUE); *ident = TRUE; return TRUE; } case EF_ACQUIRE2: { acquirement(py, px, p_ptr->depth, randint1(2) + 1, TRUE); *ident = TRUE; return TRUE; } |
|
![]() |
![]() |
![]() |
#5 | |
Vanilla maintainer
Join Date: Apr 2007
Location: Canberra, Australia
Age: 57
Posts: 9,481
Donated: $60
![]() ![]() |
Quote:
After the restructure who knows, anything might happen ![]()
__________________
One for the Dark Lord on his dark throne In the Land of Mordor where the Shadows lie. |
|
![]() |
![]() |
![]() |
#6 |
Veteran
Join Date: Jan 2009
Location: Manhattan Beach, CA
Posts: 2,127
![]() |
Thanks Derakon and Nick. Ugh, I just need to get my head examined.
![]() |
![]() |
![]() |
![]() |
Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
Thread Tools | |
Display Modes | |
|
|
![]() |
||||
Thread | Thread Starter | Forum | Replies | Last Post |
Reading scrolls from inventory menu | Ingwe Ingweron | Vanilla | 1 | October 22, 2013 12:42 |
Nightlies: Bug reading Rune scroll off ground | Max Stats | Development | 2 | April 17, 2011 16:13 |
crash after reading scroll of trap creation in town | Maupin | Development | 1 | August 3, 2009 08:21 |
Debugging/cheating revisited... | delicreep | Vanilla | 1 | April 15, 2008 22:52 |
strange C code in Angband (am I reading this right?) | will_asher | Idle chatter | 3 | February 4, 2008 09:07 |