Planeshift
|
Whenever a player casts a spell on himself, another player, or any npc, this perception is passed to npc's in the vicinity. More...
#include <perceptions.h>
Public Member Functions | |
virtual void | ExecutePerception (NPC *npc, float weight) |
All preconditions has been checked, now excecute the perception. | |
virtual gemNPCObject * | GetTarget () |
Some perception has a target/source. | |
virtual Perception * | MakeCopy () |
Make a copy of this perception. | |
virtual bool | ShouldReact (Reaction *reaction, NPC *npc) |
Check if this perception should react to a reaction. | |
SpellPerception (const char *name, gemNPCObject *caster, gemNPCObject *target, const char *spell_type, float severity) | |
Protected Attributes | |
csWeakRef< gemNPCActor > | caster |
float | spell_severity |
csWeakRef< gemNPCActor > | target |
Whenever a player casts a spell on himself, another player, or any npc, this perception is passed to npc's in the vicinity.
We cannot only use targeted NPCs because an npc in combat may want to react to a player healing his group mate, which helps his team and hurts the NPC indirectly. Right now, reactions are allowed by type of spell, and depending on the severity, it affects his/her hate list according to the weight supplied.
Definition at line 391 of file perceptions.h.
SpellPerception::SpellPerception | ( | const char * | name, |
gemNPCObject * | caster, | ||
gemNPCObject * | target, | ||
const char * | spell_type, | ||
float | severity | ||
) |
All preconditions has been checked, now excecute the perception.
npc | The target of the percpetion. |
weight | Indicate how much the HateList of the npc should be changed. Value comes from the reaction. |
Reimplemented from Perception.
virtual gemNPCObject* SpellPerception::GetTarget | ( | ) | [inline, virtual] |
Some perception has a target/source.
Reimplemented from Perception.
Definition at line 403 of file perceptions.h.
virtual Perception* SpellPerception::MakeCopy | ( | ) | [virtual] |
Check if this perception should react to a reaction.
reaction | The reaction to check for. |
npc | The NPC that might receive this. |
Reimplemented from Perception.
csWeakRef<gemNPCActor> SpellPerception::caster [protected] |
Definition at line 394 of file perceptions.h.
float SpellPerception::spell_severity [protected] |
Definition at line 396 of file perceptions.h.
csWeakRef<gemNPCActor> SpellPerception::target [protected] |
Definition at line 395 of file perceptions.h.