Designing Spells
Moderator: Team Members
- thefoof
- Retired
- Posts: 630
- Joined: Wed Nov 07, 2012 7:36 pm
- Location: Florida
Re: Designing Spells
I'm going to start dirges, also do we have a way to not start a recast until after a spell has ended/been cancelled? Will need to add that if not.
-
Jabantiz
- Lead Developer
- Posts: 2912
- Joined: Wed Jul 25, 2007 2:52 pm
- Location: California
Re: Designing Spells
No we don't support recast after the spell ends.
Necro spells are done up to 20 to the best of my ability, I didn't do the roots, a buff, or the level 20 caster pet. I did collect the pet spells during CoE beta, are they hidden in the spell list somewhere or did they never get parsed? Also is there a way to edit npc's spell lists? at least create a list as we can add the list in LUA.
Necro spells are done up to 20 to the best of my ability, I didn't do the roots, a buff, or the level 20 caster pet. I did collect the pet spells during CoE beta, are they hidden in the spell list somewhere or did they never get parsed? Also is there a way to edit npc's spell lists? at least create a list as we can add the list in LUA.
- thefoof
- Retired
- Posts: 630
- Joined: Wed Nov 07, 2012 7:36 pm
- Location: Florida
Re: Designing Spells
Did most of the Dirge spells level 1-20, following is a list of spells I couldn't script completely and what functionality they need:
*Shroud - I need to tweak stealth a bit so it will work better for spells, could script this now but want to do it right
*Daro's Dull Blade - requires flanking/behind mechanics
*Verlien's Keen of Despair - mit debuff is scripted, needs snare support
*Selo's Accelerando (speed buff) - scripted but speed needs to be added into spellbonuses for it to work properly
*Jael's Dreadful Deprivation (range attack) - need a way to consume ammo
*Evade - need a way to reduce hate
*Shroud - I need to tweak stealth a bit so it will work better for spells, could script this now but want to do it right
*Daro's Dull Blade - requires flanking/behind mechanics
*Verlien's Keen of Despair - mit debuff is scripted, needs snare support
*Selo's Accelerando (speed buff) - scripted but speed needs to be added into spellbonuses for it to work properly
*Jael's Dreadful Deprivation (range attack) - need a way to consume ammo
-
Jabantiz
- Lead Developer
- Posts: 2912
- Joined: Wed Jul 25, 2007 2:52 pm
- Location: California
Re: Designing Spells
AddHate(Target, -20) will reduce hate by 20thefoof wrote:*Evade - need a way to reduce hate[/b]
- John Adams
- Retired
- Posts: 9684
- Joined: Thu Jul 26, 2007 6:27 am
- EQ2Emu Server: EQ2Emulator Test Center
- Characters: John
- Location: Arizona
- Contact:
Re: Designing Spells
Are you saying the pet spells are not in the Spells list now from SOE API? If they are, there is a RAW button that will sync what we know about the spell with your raw data collects.Jabantiz wrote:I did collect the pet spells during CoE beta, are they hidden in the spell list somewhere or did they never get parsed? Also is there a way to edit npc's spell lists? at least create a list as we can add the list in LUA.
Your collected spell data is in a raw format, and is not included in this run of spells because (as I discovered) tons of shit seemed to change or be missing (ie., you only have tier 9 mostly due to the buffs in Beta). I don't want to push Raw spell data into the SOE data until we are 100% sure we need it, which is when you tell me SOE doesn't have it - but guaranteed it is in-game.
- thefoof
- Retired
- Posts: 630
- Joined: Wed Nov 07, 2012 7:36 pm
- Location: Florida
Re: Designing Spells
Lol thanksJabantiz wrote:AddHate(Target, -20) will reduce hate by 20thefoof wrote:*Evade - need a way to reduce hate[/b]
-
Jabantiz
- Lead Developer
- Posts: 2912
- Joined: Wed Jul 25, 2007 2:52 pm
- Location: California
Re: Designing Spells
I glanced over the list quickly, late at night, will grab a spell name from a log later tonight and do a search
-
Jabantiz
- Lead Developer
- Posts: 2912
- Joined: Wed Jul 25, 2007 2:52 pm
- Location: California
Re: Designing Spells
Grim Embrace is a pet spell (1189-NecroPetsSpells.log), this is a spell the necro's pet gets players do not get this spell, I could not find it on our list and it is not is SOE.DATA as far as I can tell, I tend to suck searching the API though.
- John Adams
- Retired
- Posts: 9684
- Joined: Thu Jul 26, 2007 6:27 am
- EQ2Emu Server: EQ2Emulator Test Center
- Characters: John
- Location: Arizona
- Contact:
Re: Designing Spells
Just looked in my old parser logs:
16:09:43 I DB: Using database 'eq2_rawdata' at localhost 16:09:45 I Parser: Loading Data from Packet Log: 1189-NecroPetsSpells.log 16:09:47 I Parser: Loading Version Information... 16:09:47 I Parser: Verifying Opcodes... 16:09:47 I Parser: Using version '1189', version_range1: 1189 and version_range2: 1189 16:09:47 I Parser: Loading Language Type... 16:09:47 W Parser: Could not determine language type. Defaulting to US English! 16:09:47 W Parser: CONSOLIDATION mode... 16:09:47 I Parser: Processing Spawns... 16:09:47 D Parser: Zone Maps... 16:09:47 D Parser: Spawns... 16:09:51 I Merchant: Processing Merchant Items... 16:09:51 I Parser: Processing Spells and related data... 16:09:51 D Parser: Special Spells... 16:09:51 D Parser: Spells... 16:09:51 D Parser: AA List... 16:10:02 D Parser: Traits.... 16:10:02 D Parser: Advancements... 16:10:02 I Parser: Processing Titles... 16:10:02 I Parser: Processing Recipes... 16:10:02 I Parser: Processing Recipe Details... 16:10:02 I Parser: Processing Recipe Info... 16:10:02 I Parser: Processing POI Names... 16:10:02 I Parser: Processing POI Locations... 16:10:02 I Parser: Processing Factions... 16:10:02 I Parser: Processing Collections... 16:10:02 I Results: Took: 18 seconds. Processed file '1189-NecroPetsSpells.log' 16:10:02 I Results: Parsed: 16:10:02 I Results: 2148 Spawn Packets (80 unique, 23 new) 16:10:02 I Results: 19 Pet Names 16:10:02 I Results: 4 Abilities Packets (4 unique, 0 new) 16:10:02 I Results: 19 Traditions Packets (19 unique, 0 new) 16:10:02 I Results: 9 Trainings Packets (9 unique, 0 new) 16:10:02 I Results: 3504 Class AA Packets (146 unique, 3504 new) 16:10:02 I Results: 7 Factions Packets (7 unique, 0 new) 16:10:02 I Results: 1 Titles Packets (1 unique, 0 new)I do not see any Spells from that log, just AA, Traits, Trainings. And I could not find Grim Embrace on SOE data either, probably because it's not a spell a player gets.
-
Jabantiz
- Lead Developer
- Posts: 2912
- Joined: Wed Jul 25, 2007 2:52 pm
- Location: California
Re: Designing Spells
That's what I figured, odd it didn't parse though, here is the packet from the logAnd I could not find Grim Embrace on SOE data either, probably because it's not a spell a player gets.
Code: Select all
-- OP_ClientCmdMsg::OP_EqExamineInfoCmd --
10/24/2012 16:49:39
69.174.200.156 -> 192.168.1.3
0000: 01 3A C1 01 00 00 FF 75 02 00 00 00 00 01 FE 3E .:.....u.......>
0010: 83 C1 B4 3E 13 E4 01 FF FF 3B 01 04 00 7F 00 00 ...>.....;......
0020: 00 00 00 00 E3 D3 98 24 00 03 00 00 00 00 09 00 .......$........
0030: 00 1F 00 00 00 00 00 3B 00 90 E1 87 40 00 00 00 .......;....@...
0040: 00 00 00 00 00 02 00 2C 00 49 6E 66 6C 69 63 74 .......,.Inflict
0050: 73 20 31 38 39 36 20 2D 20 32 35 33 37 20 70 6F s 1896 - 2537 po
0060: 69 73 6F 6E 20 64 61 6D 61 67 65 20 6F 6E 20 74 ison damage on t
0070: 61 72 67 65 74 64 00 3A 00 49 6E 66 6C 69 63 74 argetd.:.Inflict
0080: 73 20 32 39 35 20 2D 20 34 39 32 20 70 6F 69 73 s 295 - 492 pois
0090: 6F 6E 20 64 61 6D 61 67 65 20 6F 6E 20 74 61 72 on damage on tar
00A0: 67 65 74 20 65 76 65 72 79 20 33 20 73 65 63 6F get every 3 seco
00B0: 6E 64 73 64 01 00 00 00 00 00 00 00 F0 41 78 00 ndsd.........Ax.
00C0: 00 00 78 00 00 00 04 00 01 00 00 01 6D E7 2B 3F ..x.........m.+?
00D0: 00 00 00 00 00 00 00 00 00 00 00 00 0C 47 72 69 .............Gri
00E0: 6D 20 45 6D 62 72 61 63 65 00 00 00 C1 B4 3E 13 m Embrace.....>.
00F0: E4 01 FF FF 3B 01 04 00 7F 00 00 00 00 00 00 E3 ....;...........
0100: D3 98 24 00 03 00 00 00 00 09 00 00 1F 00 00 00 ..$.............
0110: 00 00 3B 00 90 E1 87 40 00 00 00 00 00 00 00 00 ..;....@........
0120: 02 00 2C 00 49 6E 66 6C 69 63 74 73 20 32 31 31 ..,.Inflicts 211
0130: 32 20 2D 20 32 38 30 33 20 70 6F 69 73 6F 6E 20 2 - 2803 poison
0140: 64 61 6D 61 67 65 20 6F 6E 20 74 61 72 67 65 74 damage on target
0150: 64 00 3A 00 49 6E 66 6C 69 63 74 73 20 32 37 31 d.:.Inflicts 271
0160: 20 2D 20 34 35 31 20 70 6F 69 73 6F 6E 20 64 61 - 451 poison da
0170: 6D 61 67 65 20 6F 6E 20 74 61 72 67 65 74 20 65 mage on target e
0180: 76 65 72 79 20 33 20 73 65 63 6F 6E 64 73 64 01 very 3 secondsd.
0190: 00 00 00 00 00 00 00 F0 41 78 00 00 00 78 00 00 ........Ax...x..
01A0: 00 04 00 01 00 00 01 6D E7 2B 3F 00 00 00 00 00 .......m.+?.....
01B0: 00 00 00 00 00 00 00 0C 47 72 69 6D 20 45 6D 62 ........Grim Emb
01C0 72 61 63 65 00 00 00 race...
- John Adams
- Retired
- Posts: 9684
- Joined: Thu Jul 26, 2007 6:27 am
- EQ2Emu Server: EQ2Emulator Test Center
- Characters: John
- Location: Arizona
- Contact:
Re: Designing Spells
Even if Parser already had it, it would at least have found 1 unique, 0 new... so that packet is 100% exactly the same as a player-held spell? subtype, nothing is different? How does it look in Anal? Has to be a reason it got skipped.
How did you collect it, too? Curious only because of all the other spells that players don't get directly that we're going to have to invent.
I forgot to answer this:
The table is "spawn_npc_spells", if you wanted to build one locally and give me the SQL inserts later. It's a list_id (so multiple spawns can share 1 list), the spell ID and tier. Then you stick that list in the spawn_npcs table `spell_list_id` and you can even have a `secondary_spell_list_id`. Same with skills.
How did you collect it, too? Curious only because of all the other spells that players don't get directly that we're going to have to invent.
I forgot to answer this:
Yes, NPC spell lists are in the editor as well, you just can't access that editor until I finish refactoring the spawn class.Jabantiz wrote:Also is there a way to edit npc's spell lists? at least create a list as we can add the list in LUA.
The table is "spawn_npc_spells", if you wanted to build one locally and give me the SQL inserts later. It's a list_id (so multiple spawns can share 1 list), the spell ID and tier. Then you stick that list in the spawn_npcs table `spell_list_id` and you can even have a `secondary_spell_list_id`. Same with skills.
-
Jabantiz
- Lead Developer
- Posts: 2912
- Joined: Wed Jul 25, 2007 2:52 pm
- Location: California
Re: Designing Spells
Necro's and Conj have a possess minion spell allowing you to take control of your pet, when you do your hotbar is wiped clear and all the spells the pet has is put on your hotbar. I just examined them from there for all levels and versions of the pet.How did you collect it, too? Curious only because of all the other spells that players don't get directly that we're going to have to invent.
I don't have the opcodes for that version any more so I didn't use anal, manually looked it up. Will try to compare it with other spells to see if there is a difference in the examine.
- thefoof
- Retired
- Posts: 630
- Joined: Wed Nov 07, 2012 7:36 pm
- Location: Florida
LUA Tables
Gonna pitch an idea about something let me know some opinions
, so currently if an luaspell has > 1 target, you can't directly access the other targets. Obviously a few ways we could do this, I've read some stuff on LUA tables but not sure how complicated they are to use in scripts.
So if we didn't want to use tables another way we could do this would be, make a function to pull the size of a group, and run a while or for loop like we do in the server with another function to pull the spawn ->at(i). Example:
Just might be a little easier to read than lua tables, but I haven't used those so I'm not really sure. This isn't really something I have an immediate use for, but I'm sure we will at some point. I'm ok with either solution, would just like to know which would be the prefered method
So if we didn't want to use tables another way we could do this would be, make a function to pull the size of a group, and run a while or for loop like we do in the server with another function to pull the spawn ->at(i). Example:
Code: Select all
local i = 0
while i < GetSpellTargetSize() do
spawn = GetSpellTargetAtIndex(i)
SomeFunction(spawn)
i = i+1
end-
Jabantiz
- Lead Developer
- Posts: 2912
- Joined: Wed Jul 25, 2007 2:52 pm
- Location: California
Re: Designing Spells
GetGroup() returns a LUA table, or nil if not in a group, I have only had to use it once so far but here is an example
http://mmoemulators.com:9301/eq2db/edit ... ell_script
There are a few others that will also return a LUA table like GetHateList() and GetEncounterList(), I think there are others but can't remember off hand.
EDIT: This is just to show examples of how lua tables work
http://mmoemulators.com:9301/eq2db/edit ... ell_script
There are a few others that will also return a LUA table like GetHateList() and GetEncounterList(), I think there are others but can't remember off hand.
EDIT: This is just to show examples of how lua tables work
- thefoof
- Retired
- Posts: 630
- Joined: Wed Nov 07, 2012 7:36 pm
- Location: Florida
Re: Designing Spells
The next class I plan to work on are wardens, will take them 1-20. Going to work on them off and on though, adding some needed server support as well in the various areas we need it.
Who is online
Users browsing this forum: No registered users and 0 guests