26 #include <csutil/csstring.h> 80 bool Load(iResultRow &row);
98 float PowerLevel(
psCharacter* caster,
float kFactor)
const;
99 float ChanceOfCastSuccess(
psCharacter* caster,
float kFactor)
const;
100 float ChanceOfResearchSuccess(
psCharacter* researcher);
105 bool MatchGlyphs(
const csArray<psItemStats*> &glyphs);
113 bool CanCast(
gemActor* caster,
float kFactor, csString &reason,
bool canCastAllSpells);
127 void Affect(
gemActor* caster,
gemObject* target,
float range,
float kFactor,
float power,
Client* client, csTicks castingDuration)
const;
147 double CalcFunction(
MathEnvironment* env,
const char* functionName,
const double* params);
150 return name.GetDataSafe();
218 csTicks castingDuration,
228 virtual void Trigger();
const csString & GetName() const
int targetTypes
Bit field if valid target types for this spell.
ProgressionScript is the imperative script container.
float npcSpellRelativePower
Relative Power of spell, used as a hint to npc perception system.
Client * client
The client that cast the spell, NULL if superclient.
A specific MathEnvironment to be used in a MathScript.
uint32_t npcSpellCategoryID
Hash ID of category of spell, use in network compression to npc perception system.
MathExpression * castDuration
Math for various properties. Casting duration: (Power, WaySkill, RelatedStat) -> Seconds.
csArray< psItemStats * > glyphList_t
The base expression class.
csArray< psItemStats * > glyphList
List of glyphs required to assemble the technique.
Any semi-autonomous object, either a player or an NPC.
ProgressionScript * outcome
The progression script: (Power, Caster, Target) -> (side effects)
This event actually triggers a spell, after the casting wait time.
csArray< psItemStats * > & GetGlyphList()
MathExpression * aoeAngle
AOE Angle: (Power, WaySkill, RelatedStat) -> Degrees.
MathExpression * aoeRadius
AOE Radius: (Power, WaySkill, RelatedStat) -> Meters.
This class collects data of a netclient.
float maxPower
The Power (P) cap.
gemObject * target
Entity who is target of this spell.
MathExpression * range
Maximum range to target allowed: (Power, WaySkill, RelatedStat) -> Meters.
const psSpell * spell
The spell that is cast.
csString npcSpellCategory
Name of category of spell, which will sent to npc perception system.
A gemObject is any solid, graphical object visible in PS with normal physics and normal collision det...
const csString & GetImage() const
const csString & GetDescription() const
All scheduled events must inherit from this class.
This class generically allows objects to be notified when a gemObject is removed. ...
PSSKILL related_stat_skill
gemActor * caster
Entity who casting this spell.