19 #ifndef psAttack_HEADER 20 #define psAttack_HEADER 24 #include <csutil/csstring.h> 25 #include <csutil/weakreferenced.h> 91 bool Load(iResultRow& row);
96 bool CanAttack(
Client* client);
190 virtual void Trigger();
MathScript * damage_script
Chance of Success.
Pure virtual base quest prerequisite operator class.
ProgressionScript is the imperative script container.
This struct holds data for generic attack types This could be for example an assassin attack which wo...
A specific MathEnvironment to be used in a MathScript.
MathExpression * aoeRadius
AOE Radius: (Power, WaySkill, RelatedStat) -> Meters.
csString name
The stored name of the attack.
A MathScript is a mini-program to run.
psAttackType * GetType() const
csRef< psQuestPrereqOp > TypeRequirements
all Attack Type based requirements(not handled as a script)
MathExpression * attackDelay
Delay in milliseconds before attack "hits" or has an effect.
INVENTORY_SLOT_NUMBER
Holds a list of the possible socket identifiers that items can be attached to.
int id
The stored ID of the attack.
uint32_t AttackerCID
ClientID of attacker.
float FinalDamage
Final damage applied to target.
csRef< psQuestPrereqOp > requirements
all non weapon based attack requirements.
csString animation
possible attack animation
const csString & GetDescription() const
Gets the attack description.
The base expression class.
csArray< psWeaponType * > weaponTypes
non-zero if it requires 1 specific weapon.
MathExpression * aoeAngle
AOE Angle: (Power, WaySkill, RelatedStat) -> Degrees.
Any semi-autonomous object, either a player or an NPC.
This class handles all calculations around combat, using statistics and information from the pspcchar...
PSSKILL related_stat
if it is a dual weilding based attack it willb e flagged here, that means it requires 2 weapons and e...
psAttackType * type
the attack type
ProgressionScript * outcome
The progression script: (Power, Caster, Target) -> (side effects)
psItem * weapon
the attacking weapon
unsigned int weaponID
the name of the attack type
bool OneHand
if list is not empty, weapon must be one of the types in the list.
const csString & GetName() const
Gets the Name.
INVENTORY_SLOT_NUMBER GetWeaponSlot()
csWeakRef< gemActor > target
Entity who is target of this attack.
This class collects data of a netclient.
This event actually triggers an attack.
uint32_t TargetCID
ClientID of target.
csWeakRef< gemActor > attacker
Entity who instigated this attack.
csString image
the address/id of the icon for the attack
int GetID() const
gets the id
const csString & GetImage() const
Gets the attack icon string.
psAttack * attack
The attack.
INVENTORY_SLOT_NUMBER AttackLocation
Which slot should we check the armor of?
csString name
the id number, corresponding to its id in the database
All scheduled events must inherit from this class.
csString description
the attack description
MathExpression * attackRange
The Max Range of the attack (Meters)
INVENTORY_SLOT_NUMBER weaponSlot
Identifier of the slot for which this attack event should process.
This class embodies item instances in the game.