The `npc_spellclick_spells` table
This table holds information about spells to be cast upon receiving聽CMSG_SPELLCLICK.
That opcode is sent for quests in which you have to loot creatures, who are already dead at spawning. Examples are聽Planning for the Future聽and聽Rifle the bodies.
Table Structure
Field | Type | Attributes | Key | Null | Default | Extra | Comment |
---|---|---|---|---|---|---|---|
npc_entry | INT | UNSIGNED | PRI | NO | NULL | Reference to the creature_template table | |
spell_id | INT | UNSIGNED | PRI | NO | NULL | The ID of the spell to be cast | |
cast_flags | TINYINT | UNSIGNED | NO | NULL | Who casts the spell on who, creature <=> player (values: 0-3) | ||
user_type | SMALLINT | UNSIGNED | NO | 0 | Relation with summoner: 0-no 1-friendly 2-raid 3-party player can click |
Description of the fields
Reference to creature_template.entry
The spell which should be cast.
Note that for several quests there are more than one spell per click.
Planing for the Future聽for example has聽Planning for the Future: Create Snowfall Glade Pup聽which will create the item in the player鈥檚 inventory and聽Planning for the Future: Create Snowfall Glade Pup Cover聽which despawns the creature.
This creates the illusion that the creature has been looted.
On every spellclick event, a player and a creature "participate". This field defines who casts the spell on who. Lower bit defines caster: 1=Clicker, 0=Clickee; higher bit defines target, same mapping as caster bit. You can use that table for the actual value:
Caster | Target | cast_flags value |
---|---|---|
Creature | Clickee | 0 |
Clicker | Clickee | 1 |
Clickee | Clicker | 2 |
Clicker | Clicker | 3 |
Relation with summoner: defines who is able to use this spellclick.
Value | Description |
---|---|
0 | Only self |
1 | Friendly |
2 | Raid |
3 | Party |