EQEmulator Forums

EQEmulator Forums (https://www.eqemulator.org/forums/index.php)
-   Spell Support (https://www.eqemulator.org/forums/forumdisplay.php?f=664)
-   -   Thoughts on Minor Illusion?? (https://www.eqemulator.org/forums/showthread.php?t=42368)

noudess 03-20-2019 03:16 PM

Thoughts on Minor Illusion??
 
So I have found that minor illusion often immediately fails. There are a few cases:

1) The client won't let you change at a location. In this case I get a message from the client saying "You are Unable to change form here". I am ok with that, but I see no message coming to the server when this happens. The buff stays up, but I stay myself - acceptable.

2) The client allows it. I change momentarily to an object and then the client sends OP_Buff to us. We immediately Fade the buff. I have looked at all the data in that packet, and I don't see anything in there that reliably tells us what to do. Where else does the client send OP_BUFF? It is not sent when I click off a buff, or when a buff runs out of time, or when I cast other buffs.

I added an error log to see when this OP_Buff gets sent. Right now, I only see it when Minor Illusion succeeds and then we tear it down.

I added a check inside client_packet.cpp in Handle_OP_Buff:

if (spid == 287)
return;

This makes minor illusion work properly, but I dont know what the client is trying to tell us.

It almost feels like the client has their logic reversed. We get this message when they say it works, and we do NOT get this message when they say it fails.

btw: fadebuff field seems random. I can't see any correlation.

noudess 05-03-2019 09:44 AM

Anyone? My change makes these "work" but since the client seems to be rejecting under good circumstances, the client is not imposing the movement limitation. I was in the process of submitting a PR that at least makes minor illusion work in spots where the client doesn't issue the "cant use that here", but I am guessing making the illusion work, but allowing movement won't be an improvement in many people's view.

I'd like to get the movement issue working as well.

Upon further testing:

- if the client outputs: you are unable to change form here, the client does not send the rejection packet and the client halts PC movement, but does not show the illusion.

- if the client outputs : you feel different (and actually changes your form), the client sends the rejection to the server, but does show the illusion until the server obeys and fades the buff.

I really think the clients logic is backwards here.

I need either (a) figure out why the client is taking this buff back down immediately on success (by the clients own messaging) and leaves it up on failure (again by the clients own messaging) or (b) ignore the clients rejection and somehow get the movement speed effect anyway.

noudess 05-03-2019 12:35 PM

At a suggestion made, I send Freeze when I get the incorrect rejection from the client and this is great, except I can't click off the buff :P

Huppy 05-03-2019 02:31 PM

If one goes into the database spell ID 287 and change buffdurationformula to 0, the minor illusion will work (and stick). The only problem with that, it doesn't show up in buff window and can't click it off. But as with any illusion, it's gone when you zone.

Huppy 05-03-2019 03:39 PM

I was doing some more snooping, because I was using an RoF2 client. So I changed that buffduration formula back to 3 and then logged in with A titanium client. The first time, I got that "unable to change form here" message. Then I went into database again and changed Max1 value to 0 (it was at 3). Using the Titanium client, the spell worked completely great. Showed up in buff window with 3 minute timer and I was able to click it off.

noudess 05-20-2019 09:41 AM

I "fixed" this to behave correctly by:

a) having the spell (287) use 142 on the server for the race
b) have the clients spells_us.txt file use 143.

This tricks the client into not screwing up and still ends up using 142, as the illusion packet from the server still sends 142.

chrsschb 05-20-2019 06:57 PM

Quote:

Originally Posted by noudess (Post 262548)
I "fixed" this to behave correctly by:

a) having the spell (287) use 142 on the server for the race
b) have the clients spells_us.txt file use 143.

This tricks the client into not screwing up and still ends up using 142, as the illusion packet from the server still sends 142.

Can confirm this works. Appreciate it.

Huppy 05-20-2019 10:01 PM

Just curious, when you say "use 142 on the server for the race", are you taking about the spells_new table ? I looked for that field and couldn't find anything but classes and deities. The item spell scroll (15287) definately has it, lol

chrsschb 05-21-2019 12:00 AM

Quote:

Originally Posted by Huppy (Post 262554)
Just curious, when you say "use 142 on the server for the race", are you taking about the spells_new table ? I looked for that field and couldn't find anything but classes and deities. The item spell scroll (15287) definately has it, lol

The effect for the spell targets a race. It should already be 142. You'll need to change the reference in the spells_us.txt though.

https://i.imgur.com/7uIBA9Y.jpg

Huppy 05-21-2019 12:59 AM

Quote:

Originally Posted by chrsschb (Post 262557)
The effect for the spell targets a race. It should already be 142. You'll need to change the reference in the spells_us.txt though.

https://i.imgur.com/7uIBA9Y.jpg

Oh yes, thank you. I already checked that out and noticed the 142 was already there. I changed the client file to 143. I never had a problem getting the illusion to simply cast and work, just when he said "fixed", I thought he was referring to his wanting to get "movement" out of it. That didn't work for me. So, if I change that -7000, this might be a go ? lol

EDIT: I changed that -7000 value to 3 and was able to move around under object illusion, but at some random times, when I clicked the illusion off, my character was stuck. I also had one incident in the PoK, after moving around, my runspeed (normal with SoW) was running as slow as when walking. Slow motion movie, lol


All times are GMT -4. The time now is 06:03 PM.

Powered by vBulletin®, Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.