On Tue, 28 Apr 1998, Mark Gerritsen wrote:
>At 06:33 PM 4/27/98 -0400, George wrote:
>>> maxdis = (1 + ((GET_SKILL(ch, SKILL_SCAN) * 5) / 100));
>>> if (GET_LEVEL(ch) >= LVL_IMMORT)
>>> maxdis = 7;
>>
>>Might as well not calculate it if you're just going to assign it again
>>later for immortals.
>
>Mortals use the calculation. On our MUD, everyone can scan into the
>adjecent rooms, but only thieves have the scan skill, and, depending on how
>well they've practiced it, get from (1 + ((0 * 5) / 100)) = 1 to (1 + ((100
>* 5) / 100)) = 6 rooms distance. Imm+ can scan 7 rooms in each direction,
>regardless of class.
I meant:
if (GET_LEVEL(ch) >= LVL_IMMORT)
maxdis = 7;
else
maxdis = (1 + ((GET_SKILL(ch, SKILL_SCAN) * 5) / 100));
It does add a jump, but removes a lot of variable work.
>>> is_in = ch->in_room;
>>> for (dir = 0; dir < NUM_OF_DIRS; dir++) {
>>> ch->in_room = is_in;
>>
>>I don't see a real use for the 'is_in' variable in there.
>>
>If that is_in wasn't there to reset ch->room to the actual room the char is
>in after every direction, you'd scan around corners, or even in circles.
>For instance, if your skill would grant you a distance of 2, your
>"scan-path" would be this:
I didn't see 'is_in' or 'ch->in_room' ever change in that code. I just
reviewed it and saw the assignment in there, so disregard that. :)
--
George Greer - Me@Null.net | Genius may have its limitations, but stupidity
http://www.van.ml.org/~greerga | is not thus handicapped. -- Elbert Hubbard
+------------------------------------------------------------+
| Ensure that you have read the CircleMUD Mailing List FAQ: |
| http://democracy.queensu.ca/~fletcher/Circle/list-faq.html |
+------------------------------------------------------------+
This archive was generated by hypermail 2b30 : 12/15/00 PST