PDA

View Full Version : NPCs, that don't cast spells #2


Zothen
05-01-2011, 06:05 AM
Unfortunetely, the thread

http://www.eqemulator.org/forums/showthread.php?t=33348

seems broken, so I cant write any replies, there are simply no edit boxes or title bars.

Now to the topic:
I am playing a wood elf druid in gfay and was wondering why the orc oracles there dont cast any spells at all. So I took a look in my up-to-date PEQ database and was very surprised to see that some orc oracles dont have a valid npc_spellid. After I gave them a 6 for standard shaman list, their casting was fixed. Is this the proper way, I mean are they now casting the spells they are casting live?

And can you imagine any reason why the PEQ team havent given them a proper spellid?

And I wonder how many other mobs in the database are supposed to cast but cant cause they dont have a spellid...

Shamanistik08
05-03-2011, 07:28 PM
Long time since I fought in gfay.. lol but am not sure if the gfay oracles were actually casters. Maybe only crushbone were.. for difficulty purpose

trevius
05-04-2011, 03:47 AM
The only thing we know is accurate is info that can be collected with sniffers like items, zone points, and most NPC info. Spell lists are definitely not something we can collect, so it all has to be done manually. There is a high chance that many NPCs either don't have a spell list at all when they should or that their spell list is not fully accurate. Generally, they try to do things as accurate as possible, but there is only so accurate you can get without spending a ton of time playing live and collecting data manually by hand, or having a photographic memory :)

Zothen
05-04-2011, 04:11 AM
Okay, so now I assigned those level 5-7 oracles the shaman spell list, they won't cast spells above their level, will they?

Btw, I searched for a way to upload my avatar, but havent found an option yet. Is there one? Sorry for offtopic ;)

trevius
05-04-2011, 04:35 AM
No, they shouldn't cast spells above their level, but it all depends on how your spell set is set that the NPC is using.

For the avatar, maybe you can use this link:
http://www.eqemulator.org/forums/profile.php?do=editavatar

If the link doesn't work, you should be able to just go to User CP and then select Edit Avatar on the left side menu there. Not sure offhand if it is only an option for members with special status though, as I never really see anyone else with them.

Zothen
05-04-2011, 05:42 AM
It seems so, cause your link opens the avatar window, but doesnt offer any option to change it to me.

In the CP, I dont even see an edit avatar option. No biggie, but unusual compared to other forums.

sorvani
05-04-2011, 11:48 AM
Long time since I fought in gfay.. lol but am not sure if the gfay oracles were actually casters. Maybe only crushbone were.. for difficulty purpose

I jumped on the later Live progression server since they opened it up during free play week. a couple months back and I can definitely tell you that they were casting.

I am playing a wood elf druid in gfay and was wondering why the orc oracles there dont cast any spells at all. So I took a look in my up-to-date PEQ database and was very surprised to see that some orc oracles dont have a valid npc_spellid. After I gave them a 6 for standard shaman list, their casting was fixed. Is this the proper way, I mean are they now casting the spells they are casting live?

And can you imagine any reason why the PEQ team havent given them a proper spellid?

And I wonder how many other mobs in the database are supposed to cast but cant cause they dont have a spellid...

post the SQL UPDATE code and someone can get it put into the SVN. This is how the fine details get fixed. If you don't know how to write the SQL, post the ID of the NPCs you changed and I can write it for you.

devn00b
05-04-2011, 02:59 PM
ghetto fix would be to just do
update npc_types set npc_spells_id=6 where class=10 and npc_spells_id=0

This would set all shaman mobs to cast shaman spells if they have no spells assigned.

Course this prob has some unintended consequences such as shaman guildmasters now casting spells. I don't see this as an issue however.

sorvani
05-04-2011, 03:31 PM
ghetto fix would be to just do
update npc_types set npc_spells_id=6 where class=10 and npc_spells_id=0

This would set all shaman mobs to cast shaman spells if they have no spells assigned.

Course this prob has some unintended consequences such as shaman guildmasters now casting spells. I don't see this as an issue however.

I was thinking something along this line myself but those unintended consequences kept me from suggesting it. I'm only a tinkerer with EMU code and the DB

Zothen
05-05-2011, 01:59 AM
Well, that would make the behavior of caster guildmasters more realistic then. A matter of taste.

trevius
05-05-2011, 04:14 AM
GM Shamans are class 29:

http://www.eqemulator.net/wiki/wikka.php?wakka=ClassList

So, no worries there anyway unless you wanted to do them as well in a separate query.

Zothen
05-05-2011, 04:55 AM
This really sounds promising! Assigned all npcs of caster classes that hadnt have a spell_id the appropriate default spell list, including guildmasters... I am really curious how this will change the gameplay. What will Bard npcs do? Hope they dont crash the game.

sorvani
05-05-2011, 10:20 AM
post your update scripts zothen, i'd like to go tinker around in various zones and see the results on my test server.

Zothen
05-05-2011, 12:52 PM
I havent generated a script yet, I entered an update for every class directly into a query window.

lets take shaman again for example:

update npc_types set npc_spells_id=6 where (class=10 or class=29) and npc_spells_id=0

and so on for every caster class.

As reference, take the npc_spells table and the link trevius posted above.

It worked like a charm. At least kelethin and north freeport casters are behaving now like what they are: casters ;) Havent tested bard guild yet.

sorvani
05-05-2011, 10:49 PM
SQL i know, it's the C++ i am learning, but I was just hoping I wouldn't have to type it all out for all the classes if you had done it and saved it already.

The above reads "I was being lazy" :)

trevius
05-06-2011, 05:19 AM
SQL i know, it's the C++ i am learning, but I was just hoping I wouldn't have to type it all out for all the classes if you had done it and saved it already.

The above reads "I was being lazy" :)

LOL, it would take you the same amount of time or less using the SQL he provided and the class list link I provided as it took you to type that reply :P

sorvani
05-06-2011, 01:37 PM
-- update all NPC Spell casting classes that are missing a default spell id
-- Cleric
update npc_types set npc_spells_id=1 where (class=2 or class=21) and npc_spells_id=0;
-- Paladin
update npc_types set npc_spells_id=8 where (class=3 or class=22) and npc_spells_id=0;
-- Ranger
update npc_types set npc_spells_id=10 where (class=4 or class=23) and npc_spells_id=0;
-- Shadow Knight
update npc_types set npc_spells_id=9 where (class=5 or class=24) and npc_spells_id=0;
-- Druid
update npc_types set npc_spells_id=7 where (class=6 or class=25) and npc_spells_id=0;
-- Bard
update npc_types set npc_spells_id=11 where (class=8 or class=27) and npc_spells_id=0;
-- Shaman
update npc_types set npc_spells_id=6 where (class=10 or class=29) and npc_spells_id=0;
-- Necromancer
update npc_types set npc_spells_id=3 where (class=11 or class=30) and npc_spells_id=0;
-- Wizard
update npc_types set npc_spells_id=2 where (class=12 or class=31) and npc_spells_id=0;
-- Magician
update npc_types set npc_spells_id=4 where (class=13 or class=32) and npc_spells_id=0;
-- Enchanter
update npc_types set npc_spells_id=5 where (class=14 or class=33) and npc_spells_id=0;
-- Beatlord
update npc_types set npc_spells_id=12 where (class=15 or class=34) and npc_spells_id=0;
-- Cleric Affected rows: 679
-- Paladin Affected rows: 321
-- Ranger Affected rows: 133
-- Shadow Knight Affected rows: 483
-- Druid Affected rows: 361
-- Bard Affected rows: 107
-- Shaman Affected rows: 636
-- Necromancer Affected rows: 416
-- Wizard Affected rows: 585
-- Magician Affected rows: 192
-- Enchanter Affected rows: 256
-- Beatlord Affected rows: 34