Exemple #1
0
 public Scroll(Scroll s)
     : base(s.get_my_IDno(), s.get_my_gold_value(), s.get_my_name())
 {
     //Enums
     my_sType       = s.get_spell_type();
     spell_dmg_type = s.get_damage_type();
     my_prjType     = s.get_assoc_projectile();
     my_specAnim    = s.get_spec_impact_anim();
     myBufforDebuff = s.get_status_effect();
     //Ints
     scroll_tier         = s.get_tier();
     aoe_size            = s.get_aoe_size();
     max_range           = s.get_range();
     min_damage          = s.get_specific_damage(false);
     max_damage          = s.get_specific_damage(true);
     total_impacts       = s.get_t_impacts();
     mana_cost           = s.get_manaCost();
     buffDebuff_duration = s.get_duration();
     //Bools
     destroys_walls = s.spell_destroys_walls();
     melee_range    = s.is_melee_range_spell();
 }
Exemple #2
0
        //OKAY LETS Cut this down to one constructor. What stuff is absolutely vital to make one constructor
        //And what can be set later.
        //Start coord and end coord, type of projectile and content manager.
        //Also whether it's a monster projectile or not + attack area type
        public Projectile(gridCoordinate start_gCoord, gridCoordinate end_gCoord, projectile_type myType, ref ContentManager cmanage,
                          bool monster_proj, Scroll.Atk_Area_Type atk_a_typ, bool damage_projectile = true)
        {
            my_type = myType;
            int offset = 0;

            projectile_speed = 240;

            my_prj_type = my_type;
            switch (my_prj_type)
            {
            case projectile_type.Arrow:
                my_texture = cmanage.Load <Texture2D>("Projectiles/arrow");
                break;

            case projectile_type.Flamebolt:
                my_texture = cmanage.Load <Texture2D>("Projectiles/flamebolt");
                break;

            case projectile_type.Frostbolt:
                my_texture = cmanage.Load <Texture2D>("Projectiles/frostbolt");
                break;

            case projectile_type.Javelin:
                my_texture = cmanage.Load <Texture2D>("Projectiles/javelin");
                break;

            case projectile_type.Crossbow_Bolt:
                my_texture = cmanage.Load <Texture2D>("Projectiles/crossbowbolt");
                break;

            case projectile_type.AcidCloud:
                my_texture = cmanage.Load <Texture2D>("Projectiles/acidblob");
                break;

            case projectile_type.Bloody_AcidCloud:
                my_texture = cmanage.Load <Texture2D>("Projectiles/blood_acidblob");
                break;

            case projectile_type.Fireball:
                my_texture = cmanage.Load <Texture2D>("Projectiles/fireball");
                break;

            case projectile_type.Blank:
                my_texture       = cmanage.Load <Texture2D>("Projectiles/blank_projectile");
                projectile_speed = 480;
                break;

            case projectile_type.Lightning_Bolt:
                my_texture = cmanage.Load <Texture2D>("Projectiles/lightningbolt");
                break;

            case projectile_type.Bonespear:
                my_texture = cmanage.Load <Texture2D>("Projectiles/bonespear");
                break;
            }
            monster_projectile  = monster_proj;
            damaging_projectile = damage_projectile;

            my_start_coordinate = new gridCoordinate(start_gCoord);
            my_end_coordinate   = new gridCoordinate(end_gCoord);
            my_current_position = new Vector2((my_start_coordinate.x * 32) + offset, (my_start_coordinate.y * 32) + offset);
            my_end_position     = new Vector2((my_end_coordinate.x * 32) + offset, (my_end_coordinate.y * 32) + offset);

            my_rectangle           = new Rectangle((int)my_current_position.X, (int)my_current_position.Y, 32, 32);
            attack_type            = atk_a_typ;
            my_special_animation   = special_anim.None;
            my_previous_coordinate = new gridCoordinate(-1, -1);

            attached_status_effects = new List <StatusEffect>();
            Scll = null;
            Weap = null;
        }
Exemple #3
0
 public void attach_scroll(Scroll s)
 {
     Scll        = s;
     damage_type = s.get_damage_type();
 }