Bugs and complaints on current master

Collapse
X
 
  • Time
  • Show
Clear All
new posts

  • Derakon
    replied
    Originally posted by PowerWyrm
    Latest source doesn't compile for me. The compiler complain about "ssize_t" not defined in set_del(). It works if I replace it with "int".
    Probably should be a size_t instead.

    Leave a comment:


  • PowerWyrm
    replied
    Latest source doesn't compile for me. The compiler complain about "ssize_t" not defined in set_del(). It works if I replace it with "int".

    Leave a comment:


  • PowerWyrm
    replied
    There's an amulet of infravision in the BM that doesn't display its +, is that normal?

    Leave a comment:


  • PowerWyrm
    replied
    Strange door placement: http://angband.oook.cz/screen-show.php?id=4265

    Also the game crashed on me while making that screenshot with a "no terrain feature with number 0" message.

    Leave a comment:


  • Pete Mack
    replied
    Reminder: lore.c, line 939 should be:
    Code:
    		chance2 = 12 + 83 * (chance - (race->ac * 2 / 3)) / chance;
    		if (chance2 < 12) chance2 = 12;
    For clarity, you may wish to use (100 - 17) instead of 83.

    Remove all the other nonsense in computing the probability to get a hit.

    Edit: As it stands, this is a real problem for Mages and Priests when figuring out what attack to use. The broken code significantly overestimates hit chance when chance is below 60%.
    Last edited by Pete Mack; April 5, 2017, 06:10.

    Leave a comment:


  • Nick
    replied
    Originally posted by PowerWyrm
    You don't need that. Just set dice=1 under effect:LIGHT_LEVEL and it'll work as intended.
    Aaargh, thank you

    Leave a comment:


  • PowerWyrm
    replied
    Originally posted by Pete Mack
    It's clear why it's happening.
    1. Detection region for objects is only 22d40 (like doors and traps) in *Enlightenment*.
    2. There's no object detection at all (or any other detection) for Enlightenment.

    I updated both to:

    effectETECT_GOLD
    dice:100d200
    effectETECT_OBJECTS
    dice:100d200

    (66x198 is actually big enough.)
    You don't need that. Just set dice=1 under effect:LIGHT_LEVEL and it'll work as intended.

    Leave a comment:


  • PowerWyrm
    replied
    I can confirm that potions of Enlightenment and *Enlightenment* are broken in latest build. They give fuzzy detection instead of full detection. In PWMAngband I don't have that problem, but I'm using p2 as a boolean to tell if the detection should be fuzzy or not, which is set to 1 for ENLIGHTENMENT activation and 0 for CLAIRVOYANCE.

    Code:
    static bool effect_handler_LIGHT_LEVEL(effect_handler_context_t *context)
    {
        bool full = (context->p2? true: false);
    
        if (full)
            msg(context->origin->player, "An image of your surroundings forms in your mind...");
        wiz_light(context->origin->player, context->cave, full);
        context->ident = true;
        return true;
    }
    EDIT: it's the same code in V, but using "dice" instead of "p2". In object.txt, "dice=1" is missing for both potions, that's why you get fuzzy detection.

    Leave a comment:


  • Nick
    replied
    Originally posted by Pete Mack
    LIGHT_LEVEL is essentially wiz_light. Since the priest spell and artifact activation changed, it's no longer possible to include full object detection as part of it.
    I'm sorry, I still don't follow - as I read it, wiz_light does object detection.

    Originally posted by Pete Mack
    Even without the above, it's good design to break the effects into components in the data file, to allow easy modification. That was a design decision adopted by you.
    That is a good point.

    Originally posted by Pete Mack
    Partial fix for annoying bug in verbose mode, procedure drop_near. Fixed the free memory read by making 'roll under feet' message happen whether or not the object still exists. Better than memory error (and crash in debug build.)

    Code:
            [COLOR="red"]bool dont_ignore = verbose && !ignore_item_ok(*dropped);
    	[/COLOR]drop_find_grid(*dropped, &best_y, &best_x);
    	if (floor_carry(c, best_y, best_x, *dropped, false)) {
    		sound(MSG_DROP);
    		if (dont_ignore && (c->squares[best_y][best_x].mon < 0))
    			msg("You feel something roll beneath your feet.");
    Thanks for that. There are quite a few bugs reported in this thread and still unfixed; my plan has been to get the monster changes in before getting to bugfixing, but I may vary that.

    Leave a comment:


  • Pete Mack
    replied
    Partial fix for annoying bug in verbose mode, procedure drop_near. Fixed the free memory read by making 'roll under feet' message happen whether or not the object still exists. Better than memory error (and crash in debug build.)

    Code:
            [COLOR="red"]bool dont_ignore = verbose && !ignore_item_ok(*dropped);
    	[/COLOR]drop_find_grid(*dropped, &best_y, &best_x);
    	if (floor_carry(c, best_y, best_x, *dropped, false)) {
    		sound(MSG_DROP);
    		if (dont_ignore && (c->squares[best_y][best_x].mon < 0))
    			msg("You feel something roll beneath your feet.");

    Leave a comment:


  • Pete Mack
    replied
    LIGHT_LEVEL is essentially wiz_light. Since the priest spell and artifact activation changed, it's no longer possible to include full object detection as part of it.

    Edit: Even without the above, it's good design to break the effects into components in the data file, to allow easy modification. That was a design decision adopted by you.
    Last edited by Pete Mack; April 4, 2017, 02:57.

    Leave a comment:


  • Nick
    replied
    Originally posted by Pete Mack
    It's clear why it's happening.
    1. Detection region for objects is only 22d40 (like doors and traps) in *Enlightenment*.
    2. There's no object detection at all (or any other detection) for Enlightenment.

    I updated both to:

    effectETECT_GOLD
    dice:100d200
    effectETECT_OBJECTS
    dice:100d200

    (66x198 is actually big enough.)
    My point is that that shouldn't be necessary, because the LIGHT_LEVEL effect currently calls wiz_light(cave, full), which should do full object detection. The object detection lines in *Enlightenment* should actually be unnecessary.

    Leave a comment:


  • Pete Mack
    replied
    It's clear why it's happening.
    1. Detection region for objects is only 22d40 (like doors and traps) in *Enlightenment*.
    2. There's no object detection at all (or any other detection) for Enlightenment.

    I updated both to:

    effectETECT_GOLD
    dice:100d200
    effectETECT_OBJECTS
    dice:100d200

    (66x198 is actually big enough.)

    Leave a comment:


  • Nick
    replied
    Originally posted by Pete Mack
    Potions of enlightenment only grant sense objects. (What's the point of carrying them?)
    Edit:
    And *Enlightenment* only detects objects in the neighborhood.

    This is a serious nerf, for no obvious reason?
    Can't see why this is happening - it looks like a bug.

    Leave a comment:


  • Pete Mack
    replied
    Potions of enlightenment only grant sense objects. (What's the point of carrying them?)
    Edit:
    And *Enlightenment* only detects objects in the neighborhood.

    This is a serious nerf, for no obvious reason?
    Last edited by Pete Mack; April 3, 2017, 17:01.

    Leave a comment:

Working...
😀
😂
🥰
😘
🤢
😎
😞
😡
👍
👎