Closed lumagatto closed 11 months ago
Ok, i remembered incorrectly NoDamI apparently. Your implementation is then better.
For the separate feature, what would you do, make it use the direct attacker UUID instead of the attacker's? Why do you think it wouldn't be viable in vanilla (smp)? What do you mean by the bow will kill instantly?
make it use the direct attacker UUID instead of the attacker's?
maybe make it use both? i don't recall how zombie attacks function, would need to check.
Why do you think it wouldn't be viable in vanilla (smp)? What do you mean by the bow will kill instantly?
There's no limit to how fast someone can throw damage potions. and i'm pretty sure three arrows hitting can kill.
Although to be fair you will be able to specifiy in the feature which damage types should use the current behaviour and which should filter by direct attacker UUID, so as long as you configure it right i guess it's not a problem?
Yes a multishot crossbow would kill a unarmored player if all three hit. Would the same damage to a full diamond player as a power 5 bow. Both a pow 5 bow and a multishot crossbow would kill an unarmored player, the crossbow will have a close to 100% chance of doing so while the bow a 47.5% chance (100% with flame). The bow can do so from far away.
Sorry, my bad, damage potions have a 4 tick delay in my plans (they are also stackable). Still, in vanilla, i think they would be balanced even if you can spam them, since they occupy 1 slot each and deal 2 hearts to a full prot 4 player. Against mobs it would be powerful but expensive. Ultimately i think magic should play a bigger role in pvp. It would just add options to combat, not replace anything.
Thank you for the interest and for planning to make it configurable :)
i'm assuming you mean throwing delay and not damage delay. (in which case dispencers most certanly don't) i could ONLY count projectile UUIDs when there's an actuall attacker, which would fix dispencers. but that also breaks quickly when modded users are in play. i'm not sure about the feature as it's easy to poke holes in, so honestly i'm not sure you'd even end up using it after testing and adding a feature no one would use is very silly.
and sure i'm interested in hearing about balance changes but, uh
time is low
same
also considering how much configuring you're doing you might be interested in fabrications fscript compat. (i just point it out since outside of gh issues it's not really an advertized feature)
it's also how this feature would end up being configurable (since fabrication still dosn't have a config system beyond features.ini)
https://github.com/FalsehoodMC/Fabrication/assets/1879846/5f7bef9d-6135-468a-8003-8c9198b3d517
i could ONLY count projectile UUIDs when there's an actuall attacker, which would fix dispencers. but that also breaks quickly when modded users are in play.
Why not use only direct attacker UUID? what purpose does the UUID of the player that actually launched the arrow serve? Question just out of curiosity.
Anyway, ths way to solve this maybe is just to make projectiles, instant effects, etc., not trigger invulnerability frames, just like the combat tests do. And as far as i understand it should be compatible with your source dependent Invulnerability frames. Heck it could even be editable with just a tag.
also considering how much configuring you're doing you might be interested in fabrications fscript compat. (i just point it out since outside of gh issues it's not really an advertized feature)
thank you, I will be checking that out as soon as i can (from mobile rn)
Anyway, here is the armor and protection rebalance: https://www.desmos.com/calculator/2oxtcl62jl I put all that together a couple days ago from other various notes, not sure how legible and comprehensible it is.
Why not use only direct attacker UUID? what purpose does the UUID of the player that actually launched the arrow.
the purpose is making sure there was a player that launched an arrow. dispencers could otherwise do absurd damage. the proposed change assumes that there's a limit on how fast projectiles can be spammed and that's not true in vanilla and especially not in modded.
look just do me a favour download the source code
checkout whatever branch you're using (3.0/1.16 .. 3.0/1.20.2)
goto source_dependent_iframes/MixinLivingEntity.java#L40 and change the 3 getAttacker
calls to getSource
.
and just test it out a bit.
open the root of the source code directory and run ./gradlew build
or ./gradlew.bat build
on windows. the mod will be in build/libs
and after since that will probably be broken with dispencers change source.getSource() == null ||
to source.getAttacker() == null || source.getSource() == null ||
i doubt i'll add it to the main version (since i think it's too fragile for generic use, maybe you'll prove me wrong idk), happy to help you have a custom version though if you need programming pointers.
will do, thanks a lot
tried fscript, the thing is great
I'll try testing getSource
the whole next week/s while playing, I'll report back to you with any conclusions.
Opinion on the armor and protection rework?
neat glad you like it
I dunno i really like fabrications old_armor tweaks so i honestly don't even think about shifting existing calculations.
Fabrication's old_armor is very good, I am currently using it, but it removes one layer of depth to armors, making durability and toughness the only two factors. Armors with the same durability (iron and chainmail) are identical, and you still can't have armors that gives more than 80% damage reduction (with datapacks or mods). Again borrowing from hypixel skyblock, the formula they use is in practice pretty similar to mine (they don't use an exponential IIRC but it is similar)
I was trying to create something that at least fixes vanilla problems and that can be expanded later by the user.
Anyway thats the armor part, the enchantments part is another thing.
In the combat tests you could hit with all 3 multishot arrows. I remember a mod, now discontinued afaik, that did this by making invulnerability frames UUID independent, and source dependent only when UUID didn't make sense (fire, lava, etc).
Idk but i feel like 1 arrow hitting and 2 bouncing back into your face is wrong lol and this option should fix that.
Thanks anyway it's still very useful even if you decide not to change it :)