예제 #1
0
 private static void DamageSelf(ISceneParentRef scene, IActorParentRef actor, ProjectArena.Engine.Objects.Immaterial.Buffs.Buff buff, float time)
 {
     if (time > 0)
     {
         actor.Damage(buff.Mod * time, buff.Native.Tags);
     }
 }
예제 #2
0
 private static void DoDamageSkill(ISceneParentRef scene, IActorParentRef owner, Tile targetTile, ProjectArena.Engine.Objects.Immaterial.Skill skill)
 {
     if (targetTile.TempObject != null)
     {
         float mod = skill.CalculateModSkillPower(targetTile.TempObject.Native.Tags);
         targetTile.TempObject.Damage(mod, skill.AggregatedTags);
     }
 }
예제 #3
0
 public BuffManager(IActorParentRef parent)
 {
     this.Parent = parent;
     Armor       = new List <TagSynergy>();
     Attack      = new List <TagSynergy>();
     Buffs       = new List <Buff>();
     Armor.AddRange(parent.DefaultArmor);
     CanMove = true;
     CanAct  = true;
 }
예제 #4
0
 public Skill(IActorParentRef parent, SkillNative skill, string visualization, string enemyVisualization, float?cd, float?mod, int?cost, int?range)
     : base(parent.Parent)
 {
     this.Visualization      = visualization ?? skill.DefaultVisualization;
     this.EnemyVisualization = enemyVisualization ?? skill.DefaultEnemyVisualization;
     this.range    = range ?? skill.DefaultRange;
     this.Mod      = mod ?? skill.DefaultMod;
     this.cost     = cost ?? skill.DefaultCost;
     this.cd       = cd ?? skill.DefaultCd;
     this.Native   = skill;
     this.parent   = parent;
     this.Revealed = false;
 }
예제 #5
0
 private static void DamageSelfPurge(ISceneParentRef scene, IActorParentRef actor, ProjectArena.Engine.Objects.Immaterial.Buffs.Buff buff)
 {
     DamageSelf(scene, actor, buff, 1);
 }