User:FIQ/DevTeam

From NetHackWiki
< User:FIQ
Revision as of 10:53, 9 November 2017 by FIQ (talk | contribs) (Formatting)
Jump to navigation Jump to search

Below is a list of messages sent to the DevTeam for anyone interested, starting from August 28th. Most, but not all, concern bugs in NetHack 3.6.0.

Sent via mail

Rogue starting inventory -- "+9" lockpicks

(Sent 2017-08-27 22:19 UTC, fixed in 06d211f75c76a69dcb29e5c5a7c2c10f63cc7d4d)

Hi. Rogues seem to start with a lockpick with the spe 9. Why is that? Is it for historical reason (was introduced with 3.3.1 [wiki note: incorrect, it was introduced in 3.0] it seems), or was it just a typo?

/FIQ

Wand of teleportation quirks in muse

(Sent 2017-08-30 15:58 UTC, fixed in 8d1e0d17565ca7567cd6c75565a3e5c6e87f8db1)

Hi. While backporting a FIQhack change into a bilious patch for 3.6.0, I reordered some of the musables (as part of the patch). Notably, MUSE_WAN_TELEPORTATION was changed to 13 from 15. The source didn't like this; this made MUSE_FIRE_HORN and MUSE_WAN_TELEPORTATION the same value which interfered in using offensive items. The MUSE_WAN_TELEPORTATION entry should probably be removed from m.has_offensive, because it can't actually be reached.

Another alternative is to combine the "enums" into a single one, to prevent cases like this, so that you can use one item for several cases.

/FIQ

Own issues on the dev bugtracker

(Sent 2017-09-24 01:52 UTC)

Hi. It would be very nice if it was possible for someone to see a list of their own bug reports to the bugtracker, possibly authored by email. This would allow me to later reference my own reports to you without having to remember to save the report. For example, in my last report (potion handling in thitu), I accidentally backed out in my browser, making me unable to gather the bug ID and other relevant info for future reference. Another dev helpfully gave me the bug ID, but not having to do this would be great.

/FIQ

Sent using the bugtracker

Monks and martial arts

(Reply: http://sprunge.us/GehF)

Below is what you submitted to The_DevTeam on Wednesday, August 30, 2017 at 12:09:36 The ID number for this message is '#H5955'

mailversion: master:1.57

nhversion: 3.6.0

nhfrom: Our git repository - please list branch and ref below

hardware: Desktop 64bit computer

software: 30aea05f47073bec06127af3d33f7d851ab2fc60

comments: A lot of players end up using weapons when playing Monks eventually due to their comparably weak martial arts (despite the bonuses). To improve their martial arts, I suggest making the enchantment of your gloves matter if fighting bare-handed, at least if doing so with martial arts with Gauntlets of Power.

Lycanthropy and polymorph control

(Fixed in 5710944258a683ad5219d262ea055ac9a41f0571)

Below is what you submitted to The_DevTeam on Tuesday, September 5, 2017 at 11:55:44 The ID number for this message is '#H5990'

mailversion: master:1.58

nhversion: 3.6.0

nhfrom: Our git repository - please list branch and ref below

hardware: Linux x64 desktop

software: 056ac5fe6428f56b855e78090a2485dc7f2d0687

comments: Lycanthropy prompts are very sudden, and answering y can potentially destroy armor (werewolf lycanthropy). So it should be possible to set up paranoid for that prompt.

Github PRs + 3.6.0 statuscolors

(This message got stuck in a spam filter at first)

Below is what you submitted to The_DevTeam on Thursday, September 7, 2017 at 21:17:49 The ID number for this message is '#H6006'

mailversion: master:1.58

nhversion: 3.6.0

nhfrom: Our git repository - please list branch and ref below

hardware: Linux x64 computer

software: 70ac8a12af0957844d8078df80f7e227e3ff69b7

comments: Hi. I don't know how frequently (if at all?) you follow the GitHub pull request list for your GitHub mirror at https://github.com/NetHack/NetHack/pulls . There's plenty of PRs there that should be noncontroversial (bug fixes/similar) where merging should be straightforward.

As for more complex/potentially controversial changes, I'd like to bring special attention to:

 - attack_mode to enhance safe_pet/confirm for various styles of play, https://github.com/NetHack/NetHack/pull/11 
 - colored walls, https://github.com/NetHack/NetHack/pull/6 


Also, I'm not sure if you've seen this bilious patch (also by tungtn). It's basically a rework of the 3.4.3 statuscolors patch, adapted to be more windowport-agnostic (which I think was the merit behind not porting said patch as part of 3.6.0), and contains all of the added configurability that you got with status_highlights (attribute gain/loss highlighting comes to mind), and would likely be very welcomed by the community.

The patch can be found at: https://bilious.alt.org/?477

Sorry if this comes off as redundant or intrusive. I just wanted to remind you about these community enhancements, in case you wasn't aware of them.

/FIQ

Conflict and player monsters

Below is what you submitted to The_DevTeam on Thursday, September 14, 2017 at 08:20:10 The ID number for this message is '#H6051'

mailversion: master:1.58

nhversion: 3.6.0

nhfrom: Our git repository - please list branch and ref below

hardware: Linux x64 desktop

software: cd8f0283529f6d66b01547f821cc67ff78d971e2

comments: Player monsters are flavoured as basically being other advanturing players. Chatting with them even implies they are players. As such, they should ignore conflict, since conflict has no effect on players (for obvious reasons).

There's also other things that could be done for enhanced symmetry (delayed stoning, skills, casting player spells...) but they're not nearly as easy (and noncontroversial) to change.

/FIQ

No potion handling in thitu

(Fixed in 719af503e763b316cc6642c7584fff8402dd5955)

Below is what you submitted to The_DevTeam on Friday, September 22, 2017 at 14:52:21 The ID number for this message is '#H6104'

mailversion: master:1.58

nhversion: 3.6.0

nhfrom: Our git repository - please list branch and ref below

hardware: Linux x64 desktop

software: 83056d45d78fba85f98f3ecac2804e1660e5feff

comments: thitu, which is called from scatter among other things, lacks correct handling for potions, meaning you don't get the proper effect for them (potionhit()). I know at least one case where this matters: landmine scattering items, potions not being destroyed (1% saving throw), flings into the player's direction and has no potion effect.

Vorpal Blade exploit

(Fixed in 78756c9bd6ab760317b26f2d15f3e7a578149a12)

Below is what you submitted to The_DevTeam on Monday, September 25, 2017 at 19:47:26 The ID number for this message is '#H6125'

mailversion: master:1.58

nhversion: 3.6.0

nhfrom: Our git repository - please list branch and ref below

hardware: Linux x64 desktop

software: 596bc643412465261ebffb6e726360e17ff14508

comments: Hi! Due to improper updating of dieroll in uhitm, dieroll is not corectly updated when throwing things. This has several effects, but the major one is that you can "charge up" a behead with Vorpal by beheading in melee and then throwing it. Assuming it hits, it will behead 100% of the time until you do another melee attack, allowing you to behead, pick up, behead, rinse and repeat.

Found by barthouse on the GitHub issue tracker, I am just reporting it here for exposure.

/FIQ

Weak from hunger vs sustain ability

(Fixed in 024e9e122576db664e37df0937cfb4c06c436e0c)

Below is what you submitted to The_DevTeam on Friday, September 29, 2017 at 17:42:14 The ID number for this message is '#H6144'

mailversion: master:1.58

nhversion: 3.6.0

nhfrom: Our git repository - please list branch and ref below

hardware: Linux x64 desktop

software: 1027eacbcad68a7a402ac732a06429c1c4809125

comments: Hi. When you become Weak, you lose 1Str. This is regained by going above weak. By doing this, you can increase your str higher than what it was at:

  • Be hungry
  • Put on sustain ability
  • Become weak from hunger
  • Remove sustain ability
  • Eat something
  • Net result: +1str

This is a well-known issue that I assumed was fixed, but apparently wasn't.

/FIQ

Major pet AI bug

(Fixed in e4db58bdf3376eddf9ad6416c0664975e7787035)

Below is what you submitted to The_DevTeam on Saturday, September 30, 2017 at 18:28:49 The ID number for this message is '#H6151'

mailversion: master:1.58

nhversion: 3.6.0

nhfrom: Our git repository - please list branch and ref below

hardware: Linux x64 desktop

software: 1027eacbcad68a7a402ac732a06429c1c4809125

comments: Pets use mtrack to cut down on oscillation. This is very problematic, because it causes pets to randomly turn around and go in the other direction, away from its master, a lot in corridors, especially if they outspeed you.

Relevant code in dogmove.c:

       k = has_edog ? uncursedcnt : cnt; 
       for (j = 0; j < MTSZ && j < k - 1; j++) 
           if (nx == mtmp->mtrack[j].x && ny == mtmp->mtrack[j].y) 
               if (rn2(MTSZ * (k - j))) 
                   goto nxti; 

Solution: Remove the code

This introduces another potential issue, depending on whether or not you consider it an issue or not. If a pet is far away from you in some corridor, they have the potential to get stuck. I see these solutions:

  • Do nothing. The result is still much better than the current pet behaviour.
  • Enable the code if a pet is far away from its master (>8 tiles seems appropriate)
  • Kill pets' mtrack if you use a whistle (tin/magic), restoring their willingness to follow you
  • No matter what, the mtrack should never run for leashed pets.
  • Use the same logic as 'travel' does for players. I can see the merit on not doing this in general due to performance concerns, but doing it only for pets should be OK.

Minor text issue in data.base for EotO

Below is what you submitted to The_DevTeam on Friday, October 6, 2017 at 17:57:09 The ID number for this message is '#H6189'

mailversion: master:1.58

nhversion: 3.6.0

nhfrom: Our git repository - please list branch and ref below

hardware: Linux x64 desktop

software: 9a6c3b4192ddecb0d7ac8c0ab3c03d5b16dad643

comments: Eyes of the Overworld's database entry contains this wording: "... and finally there is "the Eyes of the Overworld".". From in-game when asking about single artifacts, this wording is a bit odd and should probably be removed.

/FIQ

Pet displacement during travel

Below is what you submitted to The_DevTeam on Monday, October 9, 2017 at 05:43:55 The ID number for this message is '#H6204'

mailversion: master:1.58

nhversion: 3.6.0

nhfrom: Our git repository - please list branch and ref below

hardware: Linux x64 desktop

software: 024e9e122576db664e37df0937cfb4c06c436e0c

comments: This commit: 715fd7e3d9aa109284f775f2b334ce96d054c4a2 makes travel displace pets rather than stop at them. However, there is an issue: it doesn't consider pet safety. This means that travel can do things like:

  • displace pets into water, drowning them
  • displace pets into traps

Etc.

Minor scroll reading quirk

(Fixed in 4fad1ba3cca44c2a8553c92531912fa05de4ab8a. Note that the bug ID referenced is incorrect)

Below is what you submitted to The_DevTeam on Thursday, October 19, 2017 at 08:27:52 The ID number for this message is '#H6283'

mailversion: master:1.58

nhversion: 3.6.0

nhfrom: Our git repository - please list branch and ref below

hardware: Linux x64 desktop

software: da9c3f0ed47ca79f28a05994e3b93a1ab433b0d4

comments: If your current monster form is of one that can normally talk, you will "pronounce the formula" on a scroll if blind -- even if you're currently being strangled.

flooreffects can credit the player erroneously + panic

Below is what you submitted to The_DevTeam on Thursday, October 19, 2017 at 17:51:35 The ID number for this message is '#H6285'

mailversion: master:1.58

nhversion: 3.6.0

nhfrom: Our git repository - please list branch and ref below

hardware: Linux x64 desktop

software: da9c3f0ed47ca79f28a05994e3b93a1ab433b0d4

comments: Hi. If a monster is inside a pit trap or similar and flooreffects runs with a boulder (for example, from scrolls of earth -- both by players and monsters), it will run hmon. If this call kills, the player is credited -- whether he was the source or not. There's also other issues (for example, using player damage bonuses/etc).

While trying to reproduce this issue, this happened. I was not able to reproduce this... My only theory for what caused this is monster entrapment not being cleared correctly when a pit is filled from scrolls of earth in some circumstances (I did successfully reproduce the original issue mentioned, too).

Suddenly, the dungeon collapses.

deltrap: no preceding trap!
Generating more information you may report:

[0] /home/fiq/nh/install/games/lib/nethackdir/nethack() [0x48829e]
[1] /home/fiq/nh/install/games/lib/nethackdir/nethack() [0x4890be]
[2] /home/fiq/nh/install/games/lib/nethackdir/nethack(panic+0x229) [0x48b299]
[3] /home/fiq/nh/install/games/lib/nethackdir/nethack(deltrap+0x131) [0x57be8a]
[4] /home/fiq/nh/install/games/lib/nethackdir/nethack(flooreffects+0x3be) [0x459699]
[5] /home/fiq/nh/install/games/lib/nethackdir/nethack(drop_boulder_on_monster+0x94c) [0x53970f]
[6] /home/fiq/nh/install/games/lib/nethackdir/nethack(use_offensive+0x6f0) [0x4f9cff]
[7] /home/fiq/nh/install/games/lib/nethackdir/nethack(mattacku+0x1565) [0x4cd71b]
[8] /home/fiq/nh/install/games/lib/nethackdir/nethack(dochug+0xff3) [0x4f0a44]
[9] /home/fiq/nh/install/games/lib/nethackdir/nethack(dochugw+0x1d1) [0x4f0e38]
[10] /home/fiq/nh/install/games/lib/nethackdir/nethack(movemon+0xd8) [0x4e6141]
[11] /home/fiq/nh/install/games/lib/nethackdir/nethack(moveloop+0x1022) [0x41e342]
[12] /home/fiq/nh/install/games/lib/nethackdir/nethack(main+0x71e) [0x5b1020]
[13] /usr/lib/libc.so.6(__libc_start_main+0xea) [0x7f05effc843a]
[14] /home/fiq/nh/install/games/lib/nethackdir/nethack(_start+0x2a) [0x41d1ba]

Circumstances that might help reproduce the panic above:

  • I genesis-ed a gnome and a hill orc
  • The hill orc was to read a scroll of earth while the gnome was trapped. The gnome should NOT die from the initial blow.

/FIQ

Genociding slimes should stop sliming

Below is what you submitted to The_DevTeam on Friday, October 20, 2017 at 19:39:54 The ID number for this message is '#H6292'

mailversion: master:1.58

nhversion: 3.6.0

nhfrom: Our git repository - please list branch and ref below

hardware: Linux x64 desktop

software: 0bf824a81e67e4a4723f74aa34b3a6370734f1a7

comments: Hi. Sliming consists of green slime slowly taking over your body. Thus, if you genocide green slimes during the process, it should probably stop.

/FIQ

Addressing a MKoT TODO in a commit

Below is what you submitted to The_DevTeam on Thursday, November 2, 2017 at 06:30:28 The ID number for this message is '#H6375'

mailversion: master:1.58

nhversion: 3.6.0

nhfrom: Our git repository - please list branch and ref below

hardware: Linux x64 desktop

software: 27e5f025f12c4e0cdde6f023cd63ca10b75252d8

comments: Hi! I made this pull request a while back to address a TODO mentioned in a commit by PatR (5c77360023f84a9a709f52fac10cf43fd3167d5f). Since, to my knowledge (as is clear by the recent pet AI fixes merge), not everyone reads pull requests, I add it here too for exposure, in case you find it of any use.

Link to pull request: https://github.com/NetHack/NetHack/pull/62

For those unable to use GitHub, I'll also post it below in patch format: http://home.fiq.se/nethack/0001-MKoT-change-detect-unseen.patch

/FIQ

Dormant bug with artifact charging

(Fixed in c59b7bf11b5fa7cea516f63da0615d8fe7d23072)

Below is what you submitted to The_DevTeam on Saturday, November 4, 2017 at 09:32:28 The ID number for this message is '#H6391'

mailversion: master:1.58

nhversion: 3.6.0

nhfrom: Our git repository - please list branch and ref below

hardware: Linux x64 desktop

software: 647ea55b1ac02f10ab88e4956fd8630d2503261d

comments: Hi! This code in artifact.c for blessed charging:

           b_effect = (obj->blessed 
                       && (Role_switch == oart->role || !oart->role)); 

Isn't correct. When "no role" is set, it is to NON_PM, which is -1. The "!oart->role" would only apply if role is set to PM_GIANT_ANT (0). It should rather check for oart->role == NON_PM.

/FIQ

hmonas and shades

Below is what you submitted to The_DevTeam on Thursday, November 9, 2017 at 05:48:18 The ID number for this message is '#H6422'

mailversion: master:1.58

nhversion: 3.6.0

nhfrom: Our git repository - please list branch and ref below

hardware: Linux x64 desktop

software: c2f767e1feb3a0f06ea66c24ca8e92ee897734a3

comments: Hi! Shade interaction with hmonas has a few issues. Namely, only boots for kicking attacks seem to be handled. The following is missing:

  • Blessed gloves for touch attacks should deal 1d4
  • Blessed OR artifact helm for headbutts. Artifacts should probably allow the attack to proceed as normal, blessed should just deal 1d4.
  • Blessed cloak->body armor->suit for hugs should deal 1d4

Also, this might just be my opinion, but while I was messing with uvm/mvm/mvu combat, I personally decided to handle shades like this, for consistency: Material touching:

  • Weapon attacks: weapon->gloves->rings
  • Kicks: boots
  • Headbutts: helms
  • Touch: gloves
  • Hugs: cloak->suit->shirt

Material effects:

  • Silver: +1d20 vs silver-haters
  • Blessed: +1d4 vs undead
  • Artifacts: allows attacks vs shades to proceed as normal, otherwise they will only take silver+blessed damage

/FIQ