Add "effects" to entity
Posted: Tue Oct 25, 2016 4:55 pm
This class would hold a list of the class "effect" with the following template
class Effect{
string EffectName; //The name of this effect
string Type; //Type of effect ( "Postive" | "Negative" | "Neutral" | "Both" | "None" )
float HealthBonusREL; //Relative health bonus (the bonus depends on the entity's max health)
float HealthBonusABS; //Absolute health bonus
float HealthRegBonus; //
float SpeedBonusREL; //Relative speed bonus (the bonus depends on the entity's max speed)
float SpeedBonusABS; //Absolute speed bonus
uint64 TicksToDie; //How many ticks this effect will last(or have left)
float DamagePerTick; //How much damage the entity recieves per tick
//don't know if the ones bellow are doable
IMG* EffectMask; //An image to overlay on the entity as effect
ANM* EffectAnm; //Some kind of animation to overlay on the entity
string pre_effect; //Name of event to be called right before the effect takes place
string pos_effect; //Name of event to be called right after the effect is over
}
The idea is to make entities (enemies, character or vehicles) able to receive effects given by other entities or world it self.
This would give Modders a lot of space to create lots os cools stuff like:
-Temporary max health bonus
-Temporary speed bonus
-Poison spitters (apply damage over time on other entities)
-More possible interactions between player and enemies
-Time Bomb?
class Effect{
string EffectName; //The name of this effect
string Type; //Type of effect ( "Postive" | "Negative" | "Neutral" | "Both" | "None" )
float HealthBonusREL; //Relative health bonus (the bonus depends on the entity's max health)
float HealthBonusABS; //Absolute health bonus
float HealthRegBonus; //
float SpeedBonusREL; //Relative speed bonus (the bonus depends on the entity's max speed)
float SpeedBonusABS; //Absolute speed bonus
uint64 TicksToDie; //How many ticks this effect will last(or have left)
float DamagePerTick; //How much damage the entity recieves per tick
//don't know if the ones bellow are doable
IMG* EffectMask; //An image to overlay on the entity as effect
ANM* EffectAnm; //Some kind of animation to overlay on the entity
string pre_effect; //Name of event to be called right before the effect takes place
string pos_effect; //Name of event to be called right after the effect is over
}
The idea is to make entities (enemies, character or vehicles) able to receive effects given by other entities or world it self.
This would give Modders a lot of space to create lots os cools stuff like:
-Temporary max health bonus
-Temporary speed bonus
-Poison spitters (apply damage over time on other entities)
-More possible interactions between player and enemies
-Time Bomb?