using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

class Speletajs
{
    // Piekļuves modifikators (Access Modifier) "public" ļauj citām klasēm piekļūt šiem laukiem
    public string Nosaukums;
    public double HP;
    public int DMG;
    public int DEF;
    public double ATKSPD;
    public int MP;

    // Konstruktors (Constructor) izmanto, lai objektu izveidotu ar sākuma vērtībām.
    public Speletajs(string nosaukums, double hp, int dmg, int def, double atkSpd, int mp)
    {
        Nosaukums = nosaukums;
        HP = hp;
        DMG = dmg;
        DEF = def;
        ATKSPD = atkSpd;
        MP = mp;
    }

    static void Main(string[] args)
    {
        // Objektu izveide ar konstruktoru (Object creation using constructor)
        Speletajs spel1 = new Speletajs("Juris", 100, 15, 14, 1.4, 150);
        Speletajs spel2 = new Speletajs("Raimonds", 110, 17, 21, 1.1, 200);

        Magija mag1 = new Magija("Uguns", 100, 10, 5, 45);
        Magija mag2 = new Magija("Ledus", 80, 8, 6, 64);

        Console.WriteLine("RPG SIMULACIJA");
        Console.WriteLine();

        spel1.CastMagic(spel2, mag1);
        spel1.CastMagic(spel2, mag2);

        spel2.CastMagic(spel1, mag1);
        spel2.CastMagic(spel1, mag2);
    }

    public void CastMagic(Speletajs pretinieks, Magija magija)
    {
        if (MP >= magija.MPC)
        {
            double galaDMG = (magija.DMG - pretinieks.DEF) * ATKSPD;
            if (galaDMG < 0) galaDMG = 0;

            MP = MP - magija.MPC;
            pretinieks.HP = pretinieks.HP - galaDMG;

            Console.WriteLine(Nosaukums + " izmantoja " + magija.Nosaukums);
            Console.WriteLine("Gala bojajums (DMG): " + galaDMG);
            Console.WriteLine(pretinieks.Nosaukums + " atlikusais HP: " + pretinieks.HP);

           
            Console.WriteLine(Nosaukums + " atlikusie MP: " + MP);

            Console.WriteLine();
            Console.WriteLine();
        }
        else
        {
            Console.WriteLine(Nosaukums + " nepietiek MP!");
        }
    }

    private void SpecialEffect()
    {

    }
}

class Magija
{
    public string Nosaukums;
    public int DMG;
    public int CD;
    public int Radius;
    public int MPC;

    // Konstruktors (Constructor)
    public Magija(string nosaukums, int dmg, int cd, int radius, int mpc)
    {
        Nosaukums = nosaukums;
        DMG = dmg;
        CD = cd;
        Radius = radius;
        MPC = mpc;
    }
}