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.
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’s 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 |