Inheritance: MonoBehaviour
Ejemplo n.º 1
0
 public void SetResting(bool isResting)
 {
     if (isResting != this.IsResting() & isResting && this.CanMerge())
     {
         List <Collider> list = (List <Collider>)Pool.GetList <Collider>();
         Vis.Colliders <Collider>(((Component)this).get_transform().get_position(), 0.5f, list, 512, (QueryTriggerInteraction)2);
         using (List <Collider> .Enumerator enumerator = list.GetEnumerator())
         {
             while (enumerator.MoveNext())
             {
                 BaseEntity baseEntity = ((Component)enumerator.Current).get_gameObject().ToBaseEntity();
                 if (Object.op_Implicit((Object)baseEntity))
                 {
                     FireBall server = baseEntity.ToServer <FireBall>();
                     if (Object.op_Implicit((Object)server) && server.CanMerge() && Object.op_Inequality((Object)server, (Object)this))
                     {
                         server.Invoke(new Action(this.Extinguish), 1f);
                         server.canMerge = false;
                         this.AddLife(server.TimeLeft() * 0.25f);
                     }
                 }
             }
         }
         // ISSUE: cast to a reference type
         Pool.FreeList <Collider>((List <M0>&) ref list);
     }
     this.SetFlag(BaseEntity.Flags.OnFire, isResting, false, true);
 }
Ejemplo n.º 2
0
    protected override IEnumerator SkillUpdate(Animator animator)
    {
        if (Input.GetKey(KeyCode.K) && force >= 50)
        {
            force -= 1;
            fireBallInstance.UpdateVols((initialForce - force) / (initialForce - 50));
            yield return(new WaitForEndOfFrame());

            damageVal += 0.5f;
            StartCoroutine(SkillUpdate(animator));
        }
        else
        {
            fireBallInstance.WhenBeReleased();
            if (force <= 150)
            {
                hero.audioCtrler.PlaySound(word);
            }
            fireBallInstance.GetComponent <FireBall>().damage = new RagnarosDamage((int)damageVal, damageType, gameObject.layer);
            animator.SetBool("Fireball_low", false);
            yield return(new WaitForSeconds(0.5f));

            fireBallInstance.transform.SetParent(GameController.instance.gameObject.transform);
            fireBallInstance.GetComponent <Rigidbody>().AddForce(-force, 0, 0);
            yield return(new WaitForEndOfFrame());

            force            = initialForce;
            fireBallInstance = null;
        }
    }
Ejemplo n.º 3
0
    private void Fire(eDirection dir)
    {
        GameObject gObj = Instantiate(fireBall, projectileSpawnPos.position, Quaternion.identity);
        FireBall   fb   = gObj.GetComponent <FireBall>();

        fb.direction = dir;
    }
Ejemplo n.º 4
0
    override protected void InitSkills(Transform owner)
    {
        Skill.SetGST(GameObject.Find("Manager").GetComponent <GlobalScriptTeam>());

        Transform attackPoint = owner.GetChild(2);


        Fist     fist     = new Fist(owner, "Fist", 10, 1, 0, 1f, Skill.SkillType.Melee, attackPoint, 100);
        Shuriken shuriken = new Shuriken(owner, "Shuriken", 25, 3, 10, 3f, Skill.SkillType.Ranged, 1000, 4, attackPoint);
        Grenade  grenade  = new Grenade(owner, "Grenade", 35, 12, 15, 10, Skill.SkillType.Ranged, 500, 5, attackPoint);

        _skills.set((int)AbilityType.Stype.None, fist);
        _skills.set((int)AbilityType.Stype.None, shuriken);
        _skills.set((int)AbilityType.Stype.None, grenade);

        FireBall fireBall = new FireBall(owner, "FireBall", 35, 3, 15, 3f, Skill.SkillType.Ranged, 1000, 4, attackPoint);

        _skills.set((int)AbilityType.Stype.Fire, fist);
        _skills.set((int)AbilityType.Stype.Fire, fireBall);

        Tornado tornado = new Tornado(owner, "Tornado", 100, 0, 20, 15, Skill.SkillType.OnArea, 5, 5);

        _skills.set((int)AbilityType.Stype.Wind, fist);
        _skills.set((int)AbilityType.Stype.Wind, tornado);
    }
 // Use this for initialization
 void Awake()
 {
     firstAbility  = new FireBall();
     secondAbility = new FireShield();
     thirdAbility  = new FireStorm();
     stats         = GetComponent <AbstractPlayerStats>();
 }
Ejemplo n.º 6
0
    public void SwipeAttack()
    {
        GameObject gObj = Instantiate(fireBall, transform.position, Quaternion.identity);
        FireBall   fb   = gObj.GetComponent <FireBall>();

        if (Mathf.Abs(lp.x - fp.x) > Mathf.Abs(lp.y - fp.y))
        {
            if (lp.x > fp.x)
            {
                // Swiped Right
                fb.direction = FireBall.eDirection.RIGHT;
            }
            else
            {
                // Swiped Left
                fb.direction = FireBall.eDirection.LEFT;
            }
        }
        else
        {
            if (lp.y > fp.y)
            {
                // Swiped Up
                fb.direction = FireBall.eDirection.UP;
            }
            else
            {
                // Swiped Down
                fb.direction = FireBall.eDirection.DOWN;
            }
        }
    }
Ejemplo n.º 7
0
    public override void ownAction(GameObject go)
    {
        // shoot a fireball with a given fire rate
        if (timingFire <= 0f)
        {
            timingFire = rateOfFire;

            GameObject newGO = GameObject.Instantiate(getArtifact(), player.getFirePivot().position, Quaternion.identity) as GameObject;
            // deactivate it so it doesn't interact with current game object creator
#if UNITY_4_AND_LATER
            newGO.SetActive(false);
#else
            newGO.active = false;
#endif
            newGO.tag = "PowerUp";
            FireBall fireball = newGO.GetComponent <FireBall>();
            fireball.setDestroyTime(getDestroyTime());
            fireball.setBouncing(true);
            fireball.setDir(player.getFireDir());
            fireball.setSpeed(getPower());
            fireball.addTargetLayer(LayerMask.NameToLayer(Layers.POWER_UP));
            newGO.transform.parent = null;
#if UNITY_4_AND_LATER
            newGO.SetActive(true);
#else
            newGO.active = true;
#endif
            use();
        }
    }
Ejemplo n.º 8
0
        static void Main(string[] args)
        {
            SpellsBook book   = new SpellsBook();
            WhirlWind  spell1 = new WhirlWind();
            FireBall   spell2 = new FireBall();

            book.AddSpell(spell1);
            book.AddSpell(spell2);

            Wizard gandalf = new Wizard("Gandalf");

            gandalf.AddItem(new Staff());
            gandalf.AddItem(book);

            Dwarf gimli = new Dwarf("Gimli");

            gimli.AddItem(new Axe());
            gimli.AddItem(new Helmet());
            gimli.AddItem(new Shield());

            Console.WriteLine($"Gimli has {gimli.Health} HP points");
            Console.WriteLine($"Gandalf attacks Gimli with {gandalf.AttackValue} points.");

            gimli.ReceiveAttack(gandalf.AttackValue);

            Console.WriteLine($"Gimli has {gimli.Health} HP");

            gimli.Cure();

            Console.WriteLine($"Gimli has {gimli.Health} HP");
        }
Ejemplo n.º 9
0
    void checkInputs()
    {
        if (Input.GetKey(KeyCode.H))
        {
            restoreHealth();
        }
        if (attacking && Time.time - attackTime >= .25)
        {
            attacking = false;
            endAttack();
        }

        if (Input.GetKeyDown(KeyCode.Space))
        {
            attack();
        }
        else if (Input.GetKeyDown(KeyCode.S) && bullets > 0)
        {
            bulletDisplay.GetComponent <BulletCountScript>().setBullets(--bullets);
            shoot();
        }
        else if (Input.GetKeyDown(KeyCode.F) && currentMana - FireBall.GetComponent <FireBallScript>().getManaCost() >= 0)
        {
            currentMana -= FireBall.GetComponent <FireBallScript>().getManaCost();
            manaBar.GetComponent <ManaBarScript>().setMana(currentMana);
            shootFire();
        }
        else if (!attacking)
        {
            sword.noAttack();
            bc.offset = new Vector2(0f, 0f);
            movement();
        }
    }
Ejemplo n.º 10
0
    public void castProjectile()
    {
        FireBall fireBallInstance = Instantiate(fireBall, projectileSpawn.position, projectileSpawn.rotation);

        fireBallInstance.damage    = damageToGive;
        fireBallInstance.direction = projectileSpawn.forward;
    }
Ejemplo n.º 11
0
        public void attackSpells(Characters attacker, Characters defender)
        {
            FireBall f = new FireBall();

            if (attacker.Mana >= f.ManaCost)
            {
                attacker.Mana -= f.ManaCost;
                int damage = attacker.SpellPower + f.Damage;
                if (defender.HasDefended == true)
                {
                    damage = damage / 2;
                    defender.HasDefended = false;
                }
                int finalDamage = attacker.SpellPower - defender.MagicDefense;
                if (finalDamage <= 0)
                {
                    finalDamage = 0;
                }
                defender.Health -= finalDamage;
                if (defender.Health == 0 || defender.Health <= 0)
                {
                    defender.Health = 0;
                    kill(attacker, defender);
                }
            }
        }
Ejemplo n.º 12
0
 public void SetResting(bool isResting)
 {
     if (isResting != this.IsResting() & isResting && this.CanMerge())
     {
         List <Collider> list = Pool.GetList <Collider>();
         Vis.Colliders <Collider>(base.transform.position, 0.5f, list, 512, QueryTriggerInteraction.Collide);
         foreach (Collider collider in list)
         {
             BaseEntity baseEntity = collider.gameObject.ToBaseEntity();
             if (!baseEntity)
             {
                 continue;
             }
             FireBall server = baseEntity.ToServer <FireBall>();
             if (!server || !server.CanMerge() || !(server != this))
             {
                 continue;
             }
             server.Invoke(new Action(this.Extinguish), 1f);
             server.canMerge = false;
             this.AddLife(server.TimeLeft() * 0.25f);
         }
         Pool.FreeList <Collider>(ref list);
     }
     base.SetFlag(BaseEntity.Flags.OnFire, isResting, false, true);
 }
Ejemplo n.º 13
0
    private void Fire()
    {
        if (Input.GetKeyDown(KeyCode.F))
        {
            if (_mana >= 15)
            {
                ApplyImpact(-15);

                _FBClone = Instantiate(_fireBall, new Vector3(_shootingPoint.position.x, _shootingPoint.position.y, 0),
                                       transform.rotation);
                _FBClone.transform.localScale = _shootingPoint.localScale;

                switch (_spell)
                {
                case SpellType.Damage:
                    _FBClone.SetColor(Color.red);
                    break;

                case SpellType.Heal:
                    _FBClone.SetColor(Color.green);
                    break;
                }

                _text.text = _mana.ToString();
            }
        }
    }
Ejemplo n.º 14
0
    public void CastProjectile()
    {
        FireBall fireballInstance = Instantiate(fireBall, ProjectileSpawn.position, ProjectileSpawn.rotation);

        fireballInstance.Direction = ProjectileSpawn.forward;

        fireballInstance.Damage = CurrentDamage;
    }
Ejemplo n.º 15
0
 // Start is called before the first frame update
 void Start()
 {
     anim                   = GetComponent <Animator>();
     hitHandler             = (position, scale) => CalculateDistanceToDie(position, scale);
     Hero_Controller.onHit += hitHandler;
     ball                   = Resources.Load <FireBall>("FireBall");
     InvokeRepeating("Shot", 1f, 2f);
 }
Ejemplo n.º 16
0
 // Use this for initialization
 void Start()
 {
     points = GameObject.FindGameObjectsWithTag("TelePoint");
     player = GameObject.FindGameObjectWithTag("Player");
     initiate(6f, 8f, 50, 50, 0);
     tele = GetComponent <Teleport>();
     fb   = GetComponent <FireBall>();
 }
Ejemplo n.º 17
0
        private void RemoveFireBall(FireBall fireBall)
        {
            if (fireBall == null || (fireBall?.IsDestroyed ?? true))
            {
                return;
            }

            fireBall.Kill();
        }
Ejemplo n.º 18
0
    public void PerformCastAttack()
    {
        GameObject fireBallObj = Instantiate(fireBallPreFab, castPoint.position, castPoint.rotation);
        FireBall   fireBall    = fireBallObj.GetComponent <FireBall>();

        fireBall.setEnemyLayers(enemyLayers);
        fireBall.setFriendlyLayers(friendlyLayers);
        fireBall.setFacingRight(m_FacingRight);
    }
Ejemplo n.º 19
0
    public void EnemyShooting()
    {
        //Disparo enemigo
        FireBall newFireBall = Instantiate(_fireShoot);

        newFireBall.transform.position = _shootPoint.transform.position;
        newFireBall.GetComponent <Rigidbody2D>().AddForce(Vector2.right * -this.transform.localScale.x * _shootForce, ForceMode2D.Impulse);
        newFireBall.SetDamage(_fireBallDamage);
    }
Ejemplo n.º 20
0
 public ReadyToBeSpatState(FireBall fireBall)
 {
     this.fireBall = fireBall;
     this.fireBall.IsCollidable = false;
     this.fireBall.XSpeed       = 0.0f;
     this.fireBall.YSpeed       = 0.0f;
     this.fireBall.gravity.Disable();
     this.fireBall.Sprite = new NullSprite(null, new Point(), new Point());
 }
Ejemplo n.º 21
0
    //======================================================================================== FIREBALL

    public IEnumerator FireBallCoroutine()
    {
        isAttacking = true;

        anim.SetTrigger("LineFireBallShrink");

        FxFireLeft.SetActive(true);
        FxFireRight.SetActive(true);

        yield return(new WaitForSeconds(4.2f));

        FxFireLeft.SetActive(false);
        FxFireRight.SetActive(false);

        Vector3 target = aimedPlayer.transform.position;

        Vector3 fireBallStartingPoint = transform.position + new Vector3(0f, 8.5f, 0f);// + 2.8f * dir;

        GameObject projectileFireBall = Instantiate(fireBallPrefab, fireBallStartingPoint, Quaternion.identity);
        FireBall   fireBall           = projectileFireBall.GetComponent <FireBall>();

        float travelTime = 0;

        if (fireBall != null)
        {
            fireBall.Init(fireBallDamage, fireBallDamageExplosion, fireBallRangeExplosion, fireBallSpeed);
            travelTime = fireBall.Launch(target + new Vector3(0f, 1.5f, 0f), fireBallStartingPoint);//offset so the fireball aims for the body of the player and not his/her feet
        }

        soundEmitter.PlaySound(1);

        //show indicator feedback
        //instanciate the fireball indicator
        GameObject fireBallIndicator = Instantiate(fireBallProjector, target + new Vector3(0f, 1.5f, 0f), Quaternion.identity) as GameObject;

        projectorList.Add(fireBallIndicator);
        fireBallProjector.transform.GetChild(0).gameObject.GetComponent <Projector>().orthographicSize = fireBallRangeExplosion * toleranceCoef;
        float timeStamp = Time.time;
        Color tempColor = Color.red;

        while (Time.time - timeStamp < travelTime)
        {
            //alpha starting from 0 finishing to 0.5
            tempColor.a = ((Time.time - timeStamp) / electricAoeTimeBetweenFeedbackAndCast) / 2;
            fireBallIndicator.transform.GetChild(0).gameObject.GetComponent <Projector>().material.color = tempColor;
            yield return(new WaitForEndOfFrame());
        }


        yield return(new WaitUntil(() => fireBall.willBeDestroyed));

        Destroy(fireBallIndicator);
        soundEmitter.PlaySound(2);

        nextAttack  = Time.time + Random.Range(minWaitTime, maxWaitTime);
        isAttacking = false;
    }
Ejemplo n.º 22
0
    private void CreateFireBall()
    {
        GameObject _fireBall  = Instantiate(fireBall, transform.position, Quaternion.identity);
        FireBall   _ball      = _fireBall.GetComponent <FireBall>();
        Vector3    _randomVec = new Vector3(Random.Range(-1f, 1f), Random.Range(-1f, 1f), Random.Range(-1f, 1f)).normalized;

        _ball.SetVelocity(_randomVec, 0.5f);
        _ball.SetRemoveTime(4);
    }
Ejemplo n.º 23
0
    // Update is called once per frame
    void Update()
    {
        //Select spell
        if (Input.GetKeyDown(KeyCode.Alpha1))
        {
            fire      = true;
            lightning = false;
        }
        else if (Input.GetKeyDown(KeyCode.Alpha2))
        {
            fire      = false;
            lightning = true;
        }

        //Use spell
        if (!InputManager.isPaused && Input.GetMouseButtonDown(0))
        {
            if (fire == true && fireCoolDown <= 0)
            {
                FireBall  ball = new FireBall();
                Rigidbody clone;
                clone          = Instantiate(fireBall, new Vector3(d.transform.position.x, d.transform.position.y, -1), Quaternion.identity);
                clone.velocity = transform.TransformDirection(Vector3.right * 10);
                fireCoolDown   = 1;
            }
            if (lightning == true && lightningCoolDown <= 0)
            {
                Lightning bolt = new Lightning();
                if (lightningCreate == false)
                {
                    lightningBolt   = Instantiate(lightningBolt, new Vector3(d.transform.position.x, d.transform.position.y, 0), Quaternion.identity);
                    lightningCreate = true;
                }
                buttonHold        = true;
                lightningCoolDown = 10;
            }
        }

        //Cooldowns
        fireCoolDown      -= Time.deltaTime;
        lightningCoolDown -= Time.deltaTime;

        if (Input.GetMouseButtonUp(0))
        {
            buttonHold = false;
        }

        if (buttonHold == true)
        {
            lightningBolt.transform.position = d.transform.position;
        }
        else
        {
            lightningBolt.transform.position = new Vector3(0, 10, 0);
        }
    }
Ejemplo n.º 24
0
 private void MakeFireBall()                                                                                             //makes the fire ball
 {
     if (playerInventory.currentMagic > 0)                                                                               //if player still got magic in the magic bar
     {
         Vector2  temp     = new Vector2(animator.GetFloat("moveX"), animator.GetFloat("moveY"));                        //for the blend tree animation of the fireBall
         FireBall fireBall = Instantiate(projectile, transform.position, Quaternion.identity).GetComponent <FireBall>(); //makes a fireBall clone thats in the player position
         fireBall.Setup(temp, ChooseFireBallDirection());                                                                //for moving the fire ball in
         reduceMagic.Raise();                                                                                            //send signal to decrease magic player has
     }
 }
Ejemplo n.º 25
0
        public void Shooting()
        {
            FireBall newFireBall = Instantiate(_fireShoot);

            newFireBall.transform.position   = _shootPoint.transform.position;
            newFireBall.transform.localScale = this.transform.localScale;
            AudioSource.PlayClipAtPoint(_shootClip, this.transform.position);
            newFireBall.GetComponent <Rigidbody2D>().AddForce(Vector2.right * this.transform.localScale.x * _shootForce, ForceMode2D.Impulse);
            newFireBall.SetDamage(_fireBallDamage);
        }
Ejemplo n.º 26
0
 void Update()
 {
     if (Input.GetKeyDown(KeyCode.RightShift) && player.isFlower)
     {
         FireBall ball = Instantiate(FireBall, gameObject.transform.position, gameObject.transform.rotation).GetComponent <FireBall>();
         ball.timeInGame = Time.time + ball.lifeTime;
         ball.Shoot();
         ball.rb.useGravity = true;
     }
 }
Ejemplo n.º 27
0
    void CastSpell(Vector2 target)
    {
        playerData.mana = playerData.mana - playerData.spellCost;
        GameObject projectile = Instantiate(playerData.fireball,
                                            gameObject.transform.position, Quaternion.identity, GameObject.FindGameObjectWithTag("Static").transform);
        FireBall fireballProjectile = projectile.GetComponent <FireBall>();

        fireballProjectile.target = target;
        fireballProjectile.Fly();
    }
Ejemplo n.º 28
0
 public DestroyedFireBallState(FireBall fireBall)
 {
     this.fireBall = fireBall;
     this.fireBall.gravity.Disable();
     this.fireBall.XSpeed       = 0.0f;
     this.fireBall.YSpeed       = 0.0f;
     this.fireBall.Sprite       = this.fireBall.SpriteFactory.CreateProduct(EffectTypes.FireWork);
     this.fireBall.IsCollidable = false;
     this.fireWorks             = (OneShotAtlasSprite)this.fireBall.Sprite;
 }
Ejemplo n.º 29
0
 public override void StartSkill(Animator animator)
 {
     StartCdColding();
     if (fireBallInstance == null)
     {
         damageVal        = initialDamage;
         fireBallInstance = KOFItem.InstantiateByPool(fireBall, leftHand.transform, gameObject.layer);
         StartCoroutine(SkillUpdate(animator));
     }
 }
Ejemplo n.º 30
0
    void Fire()
    {
        FireBall newFireBall = Instantiate(_fireShoot);

        newFireBall.transform.position = _shootPoint.transform.position;
        Vector2 _playerPosition = (_player.transform.position + correction) - _shootPoint.transform.position;

        newFireBall.GetComponent <Rigidbody2D>().AddForce(_playerPosition * _shootForce, ForceMode2D.Impulse);
        newFireBall.SetDamage(_fireBallDamage);
    }
Ejemplo n.º 31
0
 // Use this for initialization
 void Start () {
     playerHeart = GameObject.FindObjectOfType<PlayerHeart>();
     boomBitch = GetComponent<PointEffector2D>();
     fireAbilityParticle = GetComponent<ParticleSystem>();
     emission = fireAbilityParticle.emission;
     emission.enabled = false;
     boomBitch.enabled = false;
     firePlayer = GameObject.FindObjectOfType<Player>();
     fireBall = GameObject.FindObjectOfType<FireBall>();
     theGrad = fireAbilityParticle.colorOverLifetime;
     grads = GetComponent<FlickerGradients>();
 }
	void ReleaseFireBall(HandModel hand){


		if (currentFireBall && IsCastingStarted && !HandRecog.IsHandClenchingNonStrict (hand, clenchingAngle) && hand.GetLeapHand().Confidence > confidenceLevel) {

			currentFireBall.Release (hand.GetPalmDirection (), 5.0f);
			IsCastingStarted = false;
			currentFireBall = null;

			spellControl.ReleaseCastingControl ();
		}


	}
	void CastFireBall(HandModel hand){
		
		if (!IsCastingStarted && hand.GetLeapHand().Confidence >= confidenceLevel && !spellControl.SpellCasting()) {

			spellControl.SpellCasting ();

			IsCastingStarted = true;

			currentFireBall = GameObject.Instantiate (fireBallPrefab, GetFireBallSpawnPosition (hand, fireBallSpawnLocation), hand.gameObject.transform.rotation) as FireBall;

			//currentFireBall.transform.SetParent (handController.transform);
		}
			
	}
Ejemplo n.º 34
0
        public override ISkill CreateSkill(string skillName)
        {
            ISkill skill = null;

            if (skillName.ToLower().Equals("magicmissile"))
            {
                skill = new MagicMissile();
            }
            else if (skillName.ToLower().Equals("fireball"))
            {
                skill = new FireBall();
            }
            return skill;
        }
Ejemplo n.º 35
0
 public void MarioShoot()
 {
     if (mario.canShoot)
     {
         mario.canShoot = false;
         FireBall projectile = new FireBall(level, mario.isMovingRight, mario.location);
         level.marioProjectileList.Add(projectile);
         level.game.sounds.FireBall();
     }
 }
Ejemplo n.º 36
0
	//
	//Creates fireball object
	//
	void makeFireball()
	{
		//
		//Create fireBall
		//
		fireBall = (GameObject) Instantiate(PrefabStore.fireBall);
		fireBall.transform.eulerAngles = transform.eulerAngles;
		fireBall.transform.position = transform.position;
		fireBallScript = fireBall.GetComponent<FireBall>();
		fireBallScript.speed = fireBallScript.speed+forwardSpeed*2;

		//
		//Create fireSpray
		//
		fireSpray = (GameObject) Instantiate(PrefabStore.fireSpray);
		fireSpray.transform.eulerAngles = transform.eulerAngles;
		fireSpray.transform.position = transform.position;
		fireSpray.transform.Translate(Vector3.forward*1);

		//
		//Adjust particle system of fireSpray object
		//
		fireSprayParticle = fireSpray.GetComponent<ParticleSystem>();
		fireSprayParticle.startSpeed = 60+forwardSpeed*2;
		fireSprayParticle.Emit(50);
	}
Ejemplo n.º 37
0
    private void setItemOld()
    {
        var ret = new ItemBasis[12];
        ret[0] = new IronSword();
        (ret[0] as EquipmentItemBasis).init(2);
        ret[1] = new WoodArrow();
        ret[2] = new ConfusionPotion();
        ret[3] = new ParalyzePotion();
        ret[4] = new SleepPotion();
        ret[5] = new PoisonPotion();
        ret[6] = new AntiPoisonPotion();
        ret[7] = new DragonPotion();
        ret[8] = new FirePotion();
        ret[9] = new BullRush(5);
        ret[10] = new FireBall(5);
        ret[11] = new BombPot();
        Commodities.Add(new BronzeShield());
        Commodities.AddRange(ret);
        Commodities.Add(new WoodFlooring());
        Commodities.Add(new WoodPillar());
        Commodities.Add(new WoodWall());
        Commodities.Add(new MiddleBread());
        Commodities.Add(new HealPotion2());
        Commodities.Add(new Water());
        Commodities.Add(new WarpPotion());
        Commodities.Add(new STRUpPotion());
        Commodities.Add(new HPUpPotion());
        Commodities.Add(new HungerUpPotion());
        Commodities.Add(new HungerDownPotion());
        Commodities.Add(new SpeedUpPotion());
        Commodities.Add(new LevelDownPotion2());
        Commodities.Add(new LevelUpPotion2());
        Commodities.Add(new HealPotion3());
        Commodities.Add(new PerceptionPotion());
        Commodities.Add(new BlindPotion());
        //
        Commodities.Add(new LargeBread());
        Commodities.Add(new VeryLargeBread());
        //
        Commodities.Add(new AppraiseBook());
        Commodities.Add(new BakeryBook());
        Commodities.Add(new ConfusionBook());
        Commodities.Add(new CoatBook());
        Commodities.Add(new DontMoveBook());
        Commodities.Add(new EnemeyGatherBook());
        Commodities.Add(new EscapeBook());
        Commodities.Add(new ExorcismBook());
        Commodities.Add(new HawkEyeBook());
        Commodities.Add(new ItemGatherBook());
        Commodities.Add(new NoTitleBook());
        Commodities.Add(new PotExpantionBook());
        Commodities.Add(new PotHardeningBook());
        Commodities.Add(new Inazuma());
        Commodities.Add(new RockFallBook());
        Commodities.Add(new WeaponEnchantmentBook());
        Commodities.Add(new ShieldEnchantmentBook());
        Commodities.Add(new SleepBook());
        Commodities.Add(new TrapDestroyBook());
        Commodities.Add(new TrapMakeBook());
        Commodities.Add(new Suidashi());
        //
        Commodities.Add(new DecoyCane());
        Commodities.Add(new SealedCane());
        Commodities.Add(new AtkDownCane());
        Commodities.Add(new DefDownCane());
        Commodities.Add(new BombCane());
        Commodities.Add(new HealCane());
        Commodities.Add(new ExciteCane());
        Commodities.Add(new LevelUpCana());
        Commodities.Add(new LevelDownCane());
        Commodities.Add(new MissedSwingCana());
        Commodities.Add(new PalliativeCane());
        Commodities.Add(new ParalyzeCane());
        Commodities.Add(new PullOnCane());
        Commodities.Add(new SnatchCane());
        Commodities.Add(new SpeedUpCane());
        Commodities.Add(new SpeedDownCane());
        Commodities.Add(new SwapHpCane());
        Commodities.Add(new SwapPositionCane());
        Commodities.Add(new TenFeetStick());
        //
        Commodities.Add(new AppraisePot());
        Commodities.Add(new CompositionPot());
        Commodities.Add(new CursingPot());
        Commodities.Add(new EnhancedPot());
        Commodities.Add(new WeakenedPot());
        Commodities.Add(new ExoricismPot());
        Commodities.Add(new HealPot());
        Commodities.Add(new ItemChangePot());
        Commodities.Add(new MaterialPot());
        Commodities.Add(new SoldPot());
        Commodities.Add(new VanilaPot());
        Commodities.Add(new VoidPot());
        Commodities.Add(new WarehousePot());
        //
        Commodities.Add(new IronArrow());
        Commodities.Add(new SilverArrow());
        Commodities.Add(new PoisonArrow());
        Commodities.Add(new SagittariusArrow());

        //
        Commodities.Add(new TestBangle());
        Commodities.Add(new AntiPoisonBangle());
        Commodities.Add(new AntiParalyzeBangle());
        Commodities.Add(new AntiSleepBangle());
        Commodities.Add(new AntiConfusionBangle());
        Commodities.Add(new LongCastBangle());
        Commodities.Add(new STRUpBangle());
        Commodities.Add(new HealBangle());
        Commodities.Add(new AutoWarpBangle());
        Commodities.Add(new ExorcismBangle());
        Commodities.Add(new AutoExpGainBangle());
        Commodities.Add(new BombBangle());
        Commodities.Add(new ItemClairvoyanceBangle());
        Commodities.Add(new EnemyClairvoyanceBangle());
        Commodities.Add(new HawkEyeBangle());
        Commodities.Add(new AutoAppraiseBangle());
        Commodities.Add(new WallWalkBangle());
        Commodities.Add(new SneakWalkBangle());
        Commodities.Add(new CriticalBangle());
        Commodities.Add(new PainBlowBangle());
        ////
        Commodities.Add(new IronSield());
        Commodities.Add(new TowerShield());
        Commodities.Add(new TurtleShield());
        Commodities.Add(new AegisShield());
        Commodities.Add(new DragonSteelShield());
        Commodities.Add(new PotLidShield());
        Commodities.Add(new OldShield());
        Commodities.Add(new MagicReflectionShield());

        Commodities.FindAll(item => !item.IsInitalized).ForEach(item => item.init());
    }