Only abilities that gives artifacts are called at the spawn. This is how an RPG ability is broken down:Azmodan wrote:Aren't the functions only called once when you spawn? And like I said, I don't think it is necessary to check each ability but only HP and adrenalin.
Code: Select all
//this is called every time there's a change in the player's RPG Stats Menu
static simulated function int Cost(RPGPlayerDataObject Data, int CurrentLevel);
//this is called every time a bot considers purchasing stat points (happens about once every few seconds)
static function int BotBuyChance(Bot B, RPGPlayerDataObject Data, int CurrentLevel);
//This is the one that is called when the player spawns. Gives artifacts and modify player defaults such as speed.
static simulated function ModifyPawn(Pawn Other, int AbilityLevel);
//Called every time the player changes weapon.
static simulated function ModifyWeapon(Weapon Weapon, int AbilityLevel);
//Called every time the player enters a vehicle
static simulated function ModifyVehicle(Vehicle V, int AbilityLevel);
//Called every time the player leaves a vehicle
static simulated function UnModifyVehicle(Vehicle V, int AbilityLevel);
//This is called every time the player deals damage and takes damage. Note: Even damage from retaliation, poison, burning, self damage, healing damage, even calls this function. A shot from flak primary may call this function multiple times.
static function HandleDamage(out int Damage, Pawn Injured, Pawn Instigator, out vector Momentum, class<DamageType> DamageType, bool bOwnedByInstigator, int AbilityLevel);
//This is called every time a player kills something.
static function ScoreKill(Controller Killer, Controller Killed, bool bOwnedByKiller, int AbilityLevel);
//This is called every time the player dies.
static function bool PreventDeath(Pawn Killed, Controller Killer, class<DamageType> DamageType, vector HitLocation, int AbilityLevel, bool bAlreadyPrevented);
//This is called every time the player dies.
static function bool PreventSever(Pawn Killed, name boneName, int Damage, class<DamageType> DamageType, int AbilityLevel);
//This is called every time the player picks something up.
static function bool OverridePickupQuery(Pawn Other, Pickup item, out byte bAllowPickup, int AbilityLevel);