Suggestion: Make mobs protected by a level 2 rune immune to elec sword's explosive damage #5329

Closed
opened 2023-09-26 20:59:56 +00:00 by rewired_X · 11 comments

#5328 is mainly why im making this after my freak accident, but imo it should be made that explosive damage from an electrumese sword should be nullified with a level 2 rune

#5328 is mainly why im making this after my freak accident, but imo it should be made that explosive damage from an electrumese sword should be nullified with a level 2 rune
AliasAlreadyTaken added the
1. kind/bug
3. source/integration
labels 2023-09-27 07:08:44 +00:00
Member

i'm not certain it's possible to differentiate explosion damage from the electrumese sword vs. other explosions

i'm not certain it's possible to differentiate explosion damage from the electrumese sword vs. other explosions

maybe we need to make explosive damage "owned" by whoever sends it? your-land/administration#163

maybe we need to make explosive damage "owned" by whoever sends it? https://gitea.your-land.de/your-land/administration/issues/163
Member

the bullets already track that info and pass it to the explosion, so the pvp stuff can make it behave by those rules... that's an idea.

the bullets already track that info and pass it to the explosion, so the pvp stuff can make it behave by those rules... that's an idea.
Member

i tweaked our TNT fork so that

  1. when tnt causes damage to a mob, if there was a "puncher" (player who caused the explosion), that is passed to the obj:punch call instead of the object itself. note there's still a race condition where the player shoots a bullet and then logs off, the animal will still "punch itself"...
  2. on_blast callbacks for objects and nodes get an additional argument, the "owner" of the explosion.

however, as mobs_redo implements an on_blast callback already, we're going to have to override that for every tamable mob...

i tweaked our TNT fork so that 1. when tnt causes damage to a mob, if there was a "puncher" (player who caused the explosion), that is passed to the `obj:punch` call instead of the object itself. note there's still a race condition where the player shoots a bullet and then logs off, the animal will still "punch itself"... 2. on_blast callbacks for objects and nodes get an additional argument, the "owner" of the explosion. however, as mobs_redo implements an `on_blast` callback already, we're going to have to override that for every tamable mob...
Member

overriding on_blast: 40e0490937

overriding on_blast: https://gitea.your-land.de/your-land/yl_commons/commit/40e0490937a9d4a89c24e4be0798b23a73f272f7
Member

hm, that didn't work....

hm, that didn't work....
Member

actually protection isn't working at all on my local server, i need to dig into that more. not today though, not sure when i'll get back to this.

actually protection isn't working *at all* on my local server, i need to dig into that more. not today though, not sure when i'll get back to this.
flux added this to the flux's TODO list project 2023-11-11 00:40:01 +00:00
flux self-assigned this 2023-11-23 20:43:38 +00:00
flux added the
4. step/at work
label 2023-11-23 20:43:49 +00:00
Member

actually protection isn't working at all on my local server, i need to dig into that more. not today though, not sure when i'll get back to this.

turns out protection runes only work if the mob is also in a protection area that the player doesn't have access to. explosions are still killing them though...

> actually protection isn't working *at all* on my local server, i need to dig into that more. not today though, not sure when i'll get back to this. turns out protection runes only work if the mob is also in a protection area that the player doesn't have access to. explosions are still killing them though...
Member

figured out the main issue - the protection code wasn't executing due to an error.

mobs with protection and in protection areas are now protected against damage from explosions that originate from a player.

ae3663c2e2

figured out the main issue - the protection code wasn't executing due to an error. mobs with protection and in protection areas are now protected against damage from explosions that originate from a player. https://gitea.your-land.de/your-land/yl_commons/commit/ae3663c2e239640aca863b6f7273db98d102f988
flux added
4. step/ready to QA test
and removed
4. step/at work
labels 2023-11-23 22:01:22 +00:00
AliasAlreadyTaken added this to the 1.1.122 milestone 2023-11-23 22:06:42 +00:00

QA

I can still explode my own cows, but now those of someone else.

QA I can still explode my own cows, but now those of someone else.
AliasAlreadyTaken added the
ugh/QA OK
label 2023-12-03 23:02:33 +00:00
Member

this is live

this is live
flux closed this issue 2023-12-17 23:54:43 +00:00
flux removed this from the flux's TODO list project 2023-12-17 23:54:50 +00:00
flux removed their assignment 2023-12-17 23:54:55 +00:00
Sign in to join this conversation.
No Milestone
No project
No Assignees
3 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: your-land/bugtracker#5329
No description provided.