Hitting moving distant targets with arrows should give more XP #6080
Labels
No Label
1. kind/balancing
1. kind/breaking
1. kind/bug
1. kind/construction
1. kind/documentation
1. kind/enhancement
1. kind/griefing
1. kind/invalid
1. kind/meme
1. kind/node limit
1. kind/other
1. kind/protocol
2. prio/controversial
2. prio/critical
2. prio/elevated
2. prio/good first issue
2. prio/interesting
2. prio/low
3. source/art
3. source/client
3. source/engine
3. source/ingame
3. source/integration
3. source/lag
3. source/license
3. source/mod upstream
3. source/unknown
3. source/website
4. step/approved
4. step/at work
4. step/blocked
4. step/discussion
4. step/help wanted
4. step/needs confirmation
4. step/partially fixed
4. step/question
4. step/ready to deploy
4. step/ready to QA test
4. step/want approval
5. result/cannot reproduce
5. result/duplicate
5. result/fixed
5. result/maybe
5. result/wontfix
ugh/petz
ugh/QA main
ugh/QA NOK
ugh/QA OK
No Milestone
No project
No Assignees
3 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: your-land/bugtracker#6080
Loading…
Reference in New Issue
No description provided.
Delete Branch "%!s(<nil>)"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
hm. there's not an easy path to implement this currently via y_bows/ballistics - it's coded so that the target is
punch
ed by the player who shot the arrow, so xp_redo would have no idea that the source was an arrow.If we ever want to do different types (pierce, slash, blunt, magic, ... or a combination thereof) of damage, we need a way to tell the receiver what they were damaged with. Is that some similar thing or am I offtopic?
i figure arrows would do piercing (or "piercey", to follow minetest conventions) damage, and that'd be handled by the
tool_capabilities
. but there's no way to distinguish that from other sources of piercing damage (spears, whatever else). per the documentation,on_player_hpchange
callbacks can have additional values provided by a mod, but there's no way to use the game's existing API (object:punch(...)
) to supply such values, at least currently. ballistics could override all theon_player_hpchange
andon_dieplayer
callbacks and supply the relevant information, but that's pretty hacky.if the "puncher" object was instead the arrow's object, we could determine that the source of the damage was an arrow, but we'd lose out on the automatic integration with pvp_plus and possibly some other things.
Can one hit do two punches?
like, one as the arrow, and one as the source player? if the first punch did 0 damage,
on_player_hpchange
wouldn't get called, and if didn't do 0 damage, it'd get ignored by pvp_plus. or am i misunderstanding?Yes. Would have been a makeshift group damage/multisource thing.
that's also very hacky. honestly i'd prefer to do the "override all
on_player_hpchange
andon_dieplayer
" thing - after thinking about it a bit more, i don't see any clear ways that it'd break when other mods change their behavior, if we tag the new parameters properly.