Growlith1223 / ArsMagica2

Ars Magica 2 Bug Tracker
65 stars 32 forks source link

Summon slots taken up by dead/missing mages. #323

Open KnightOfDusk opened 7 years ago

KnightOfDusk commented 7 years ago

I got the mage band I and II perk and i got a mage to follow me, when he dies i was like "eh i will get a new one later" then i got extra summons and got another right before a server restart on the server i play on, when i got back the mage was gone. when i tried getting another mage they kept saying that my party was already full. please help

xenxero1 commented 7 years ago

I'm having a similar issue on my server. Although the initial mage binding/death occured on -17B, the issue persists into the .8 version. Can I ask what versions you have validated this on?

Growlith1223 commented 7 years ago

will be fixed when i get internet(tomorrow), i have a feeling the value isn't checked on so, even though you have no mages around you, it doesn't remove them. i'll take a look into it soon!

ghost commented 7 years ago

Having the same issue with summoning a skeleton I got off of a dropped spell. Have most up-to-date version of mod (1.5.0-18 it says)

Edit: I'm playing Craft of the Titans modpack, they have some pre-made spells... but as far as I can tell, it's a "projectile summon skeleton" spell

xenxero1 commented 7 years ago

Dropped spell?

TheIcyOne commented 7 years ago

Values are checked, but checks did not previously confirm that they were dead, as entity == null no longer returns true for dead entities from what I can tell. Another issue may be that summoned and bound entities will often leave their owner's side if they get too far away, so can be quite easily lost forever.

TheIcyOne commented 7 years ago

Turns out there are actually a few missing calls to set it though.

Haerar commented 6 years ago

Quick point of note, this issue is still present but a thought on how to handle it gracefully; on the "@SubscribeEvent public void entityDeath(LivingDeathEvent e) {

}" handler, would it not be possible to check if the entity isSummon == true, do a getOwner from EntityUtils to find the summoning player, and simply decrement their summon count by 1 at this stage? Quick and easy fix; but I don't know how much else that might break. Might try it out on a private build and let you guys know. Additionally, if the summon is meant to die on owner log out (think I saw that somewhere) no matter what, would possibly be worth doing a check on log in to make sure the player's summon count is 0 immediately after logging in as well... That's assuming that the only reason that this particular issue crops up is due to an integer tracking number of summons/minions, of course.
TheIcyOne commented 6 years ago

I think those checks already exist, IIRC there was an issue with the entity extension at some point that nobody ever got around to fixing because it is a bit of a mess of old code.

LemADEC commented 6 years ago

I thought the mod was no longer maintained?

Mowmaster commented 6 years ago

Pretty sure I saw a post that they were going to do a full rewrite of it so all issues are going to be ign9red for the time being

Growlith1223 commented 6 years ago

Correct, the mod is still being worked on, i just decided that with all the bugs and whatnot that came with porting, it would be best to rewrite it rather than trying to patch up a horse that's close to death.

LemADEC commented 6 years ago

ok, good to know, I guess I've missed the message about it