示例#1
0
    /*
    public override void Attack_Status (System_Control.Phase Activate_On_What_Phase)
    {
        base.Attack_Status (Activate_On_What_Phase);
        if (Activate_On_What_Phase == Phase.Counter_Attack_Hit)
        {
            if (Activate_Once)
            {
                Activate_Once = false;
                //Creature_Attack.Hit_Me_Baby(Creature_Equipment);
            }
        }
    }*/
    public override void Activate(Creature_States Creature, Raycast Raycast, State State, Attack Attack)
    {
        base.Activate (Creature, Raycast, State, Attack);

        if (State == State.Counter_Attack_Hit)
        {

        }
    }
示例#2
0
 public override void Activate(Creature_States Creature, Raycast Raycast, State State, Attack Attack)
 {
     base.Activate (Creature, Raycast, State, Attack);
     if (State == State.Attack_Begin)
     {
         if (Attack.Advisory.Get_Stat(Stat.Energy) >= Siphon_Energy)
         {
             Attack.Advisory.Get_Stat(Stat.Energy, -Siphon_Energy);
             Creature.Get_Stat(Stat.Energy, Siphon_Energy);
         }
     }
 }
    private void Fall(Creature_States Creature, Raycast Raycast)
    {
        if (Raycast.SearchForCreature(Vector2.down,Creature.Storey -1) == false &&
            Creature.Storey > 1)
        {
            float x = Creature.transform.position.x;
            float y = Creature.transform.position.y;
            Vector2 FallLocation = new Vector2 (x, y - FallDistance);

            transform.position = FallLocation;
            Creature.Storey--;
        }
    }
    //    public List <float> Permanent_Stat_Bonus = new List<float>();
    //    public List <float> Temporary_Stat_Bonus = new List<float>();
    //You attach the defect to your weapon
    //Amensia
    public override void Activate(Creature_States Creature, Raycast Raycast, State State, Attack Attack)
    {
        base.Activate (Creature, Raycast, State, Attack);
        if (State == State.Beginning_Of_Turn)
        {
            Turns_Left--;
        }

        if (State == State.End_Of_Turn && Turns_Left < 1)
        {
            Creature.Defects.Remove(this);
            Destroy(this);
        }
    }
    public override void Activate(Creature_States Creature, Raycast Raycast, System_Control.State State, Attack Attack)
    {
        base.Activate (Creature, Raycast, State, Attack);
        Passives.ForEach(p => p.Activate(Creature,Raycast,State,Attack));

        if (State == State.Attack)
        {
            if (Creature.Get_Stat(Stat.Energy) > Get_Stat(Stat.Energy))
            {
                Creature.Get_Stat(Stat.Energy,-Get_Stat(Stat.Energy));
            }
        }

        if (State == State.Attack_Begin)
        {
            Attack.Dont_Negate_Energy = false;
            Calculate_Bonus_Multipler ();
            Attack.Damage_Bonus_Multiplier.Add(Damage_Bonus_Multiplier);
        }
    }
 public virtual void Activate(Creature_States Creature, Raycast Raycast, State State, Attack Attack)
 {
 }
示例#7
0
 public Attack(Creature_States Assign_Creature, Raycast Assign_Creature_Raycast, Creature_States Assign_Advisory)
 {
     Creature = Assign_Creature;
     Creature_Raycast = Assign_Creature_Raycast;
     Advisory = Assign_Advisory;
 }
示例#8
0
 //**************************************//
 //****************Passives**************//
 //**************************************//
 private void Passives(Creature_States Creature, State Assign_State)
 {
     Creature.Passives.ForEach(p => p.Activate(Creature,Creature_Raycast,Assign_State,this));
 }
 private void RecordHeight(Creature_States Creature, Raycast Raycast)
 {
     if (Raycast.SearchForCreature(Vector2.down,Creature.Storey -1))
         FallDistance = Raycast.TargetCreature.Height;
 }