group all silently adds invisible followers, including imms
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Newbie friendliness
- 74/100
Research direction
Start with the all branch of do_group in src/act_othe.cpp and compare its follower checks with the name-based lookup using get_char_room_vis. Check the room and visibility conditions described in the issue, then verify that group all only adds eligible followers and that the leader gets an appropriate message.
Written by the indexing model from the issue text.
Description
What happens
A mortal types group all while an invisible immortal is following them. The immortal is added to the mortal's group, and the mortal gets no message about it. The only sign is the immortal showing up in the MSDP group data.
Steps
- An immortal goes invisible (
invis 100) and follows a mortal. - The mortal types
group all. - The mortal sees nothing, but the immortal is now in the group (MSDP group data lists them).
Cause
The all branch of do_group (src/act_othe.cpp) adds every ungrouped follower who isn't on the other side. It never checks whether the leader can see the follower.
Grouping by name doesn't have this problem, because it finds the target with get_char_room_vis. So an invisible immortal can't be grouped by name, but group all adds them anyway.
It's silent because add_character_to_group sends "joins your group" with act()'s hide-invisible flag, and the leader can't see the immortal.
The same loop also has no same-room check, so group all adds followers who are in other rooms too.
History
The loop is the same in the oldest commit that has this file (ae69a1f8, 2018-03-23). PR #188 (2023) reformatted it without changing what it does.
- Dominant language
- C++
- Stars
- 3
- Forks
- 4
- Avg merge
- 18h 36m
- Merged PRs (30d)
- 87
Getting set up
- Ships a Dockerfile or Docker Compose file
- No pull request template
- No contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from returnoftheshadow/RotS_Live
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
returnoftheshadow/RotS_Live#521 ·
Maintainers usually reply within 1 day
-
Remove dead object refresh code (check_inventory_proto and friends)Possibly taken @drelidan7 claimed this 3 days ago. Open
Difficulty 2/5 1-3 hours Newbie friendliness 85/100
returnoftheshadow/RotS_Live#414 ·
Maintainers usually reply within 1 day
-
purge <player> idle-saves the immortal instead of the playerPossibly taken @bskalpavrukshab25-sketch claimed this 13 days ago. Open
Difficulty 1/5 Under an hour Newbie friendliness 92/100
returnoftheshadow/RotS_Live#411 · 1 comment ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
returnoftheshadow/RotS_Live#410 · 2 comments ·
Maintainers usually reply within 1 day
-
Every mob carries a damage meter that was never properly set upPossibly taken @drelidan7 claimed this 3 days ago. Openbug
returnoftheshadow/RotS_Live#540 · 1 comment · 1 assignee ·
Maintainers usually reply within 1 day
All issues in returnoftheshadow/RotS_Live
Similar issues
-
comp-view potential bug
Difficulty 2/5 1-3 hours Newbie friendliness 80/100
ClickHouse/ClickHouse#128410 ·
Maintainers usually reply within 1 day
-
A-tools P-high S-ready-to-start task
Difficulty 2/5 1-3 hours Newbie friendliness 85/100
Ryubara/coney#1348 · 1 comment ·
Maintainers usually reply within 1 day
-
[Python] Compatible xlang read silently drops fields when the peer writes camelCase/PascalCase namesOpen
Difficulty 2/5 1-3 hours Newbie friendliness 85/100
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
react/react-native#59722 ·
Maintainers usually reply within 2 days
-
Difficulty 1/5 Under an hour Newbie friendliness 85/100
objectionary/game-of-life#74 ·