Beispiel #1
0
    void Update()
    {
        if (Witch.DistanceCheck(Witch.Stat.AttackDistance) && !Witch.TelAttack)
        {
            Witch.SetState(WitchState.Attack);
            return;
        }

        if (Witch.CloseTelCheck)
        {
            Witch.SkillSys.OnTeleport(Witch.Target.transform, 1);
            Witch.SetState(WitchState.Skill);
            return;
        }

        if (!Witch.DistanceCheck(Witch.CloseDistance))
        {
            if (!Witch.TelAttack)
            {
                Witch.RotateToTarget(Witch.Target.transform.position);
                Witch.SetAttack();
                Witch.MoveStop();
                Witch.TelAttack = true;
                return;
            }
        }
        if (!Witch.TelAttack)
        {
            Witch.MoveToTargetLookAt(Witch.Target.transform.position);
        }
    }
Beispiel #2
0
        public static IRole CreateRole()
        {
            IRole  shape = null;
            string json  = File.ReadAllText(@"SimpleFactory/Config.json");
            Dictionary <string, string> dic = JsonConvert.DeserializeObject <Dictionary <string, string> >(json);

            switch (dic["Role"])
            {
            case "Angle":
                shape = new Angle();
                break;

            case "Witch":
                shape = new Witch();
                break;

            case "Hero":
                shape = new Hero();
                break;

            default:
                throw new InvalidDataException();
            }
            return(shape);
        }
Beispiel #3
0
    void Update()
    {
        if (!Witch.SkillSys.CurrentSkill.IsOn)
        {
            if (Witch.CloseTelCheck)
            {
                Witch.Anim.speed = 1.0f;
                Witch.RotateToTarget(Witch.Target.transform.position);
                Witch.SetState(WitchState.Attack);
                return;
            }

            else
            {
                if (Witch.DistanceCheck(Witch.Stat.AttackDistance))
                {
                    Witch.SetState(WitchState.Attack);
                    return;
                }
            }

            Witch.SetState(WitchState.Chase);
            return;
        }
    }
 void Update()
 {
     if (Vector3.Distance(transform.position, m_hero.transform.position) <= 3.0f)
     {
         Witch.SetState(WitchState.Chase);
     }
 }
 public void Setup()
 {
     object1 = new Dagger("Object1", 20, 10);
     object2 = new IronNails("Object2", 10, 5);
     dummy1  = new Witch("Dummy", 100, object1, object2);
     dummy2  = new Witch("Dummy2", 100, object1, object2);
 }
Beispiel #6
0
 public void SetupMenu(Witch Witch, WitchBase thisWitchBase)
 {
     witch     = Witch;
     witchBase = thisWitchBase;
     Debug.Log(thisWitchBase == null);
     title.text = "Give order to " + witch.fullName;
 }
Beispiel #7
0
 void OnCollisionEnter(Collision col)
 {
     if (isActive)
     {
         //print (col.transform.tag);
         gameObject.GetComponent <Rigidbody> ().useGravity = true;
         gameObject.layer = 11;
         isActive         = false;
         if (col.gameObject.layer == 12 || col.gameObject.layer == 19)
         {
             Transform enemy          = col.transform;
             Bounds    enemyBounds    = enemy.GetComponent <Collider> ().bounds;
             float     topY           = enemyBounds.center.y + enemyBounds.extents.y + 0.2f;
             Vector3   damagePosition = new Vector3(enemy.position.x, topY + 0.4f, enemy.position.z);
             float     timeDelta      = Time.time - createdTime;
             int       intMax         = (int)(powerDivisor / Mathf.Pow(timeDelta, powerExp));
             if (intMax > 100)
             {
                 intMax = 100;
             }
             if (intMax < 50)
             {
                 Transform damageCanvas = ((GameObject)Resources.Load("GameObjects/DamageCanvas/Damage", typeof(GameObject))).transform;
                 Transform damager      = Instantiate(damageCanvas);
                 damager.position = damagePosition;
                 Damage damageScript = damager.GetComponent <Damage> ();
                 damageScript.SetDamage((int)(intMax * ui.GetDamageMultiplier()));
             }
             else
             {
                 Transform damageCanvas = ((GameObject)Resources.Load("GameObjects/DamageCanvas/DamageCrit", typeof(GameObject))).transform;
                 Transform damager      = Instantiate(damageCanvas);
                 damager.position = damagePosition;
                 DamageCrit damageScript = damager.GetComponent <DamageCrit> ();
                 damageScript.SetDamage((int)(intMax * ui.GetDamageMultiplier()));
             }
             if (col.transform.tag == "Skeleton" || col.transform.tag == "Zombie" || col.transform.tag == "Vampire" || col.transform.tag == "Ghost")
             {
                 Enemy enemyScript = enemy.GetComponent <Enemy> ();
                 enemyScript.Hit((int)(intMax * ui.GetDamageMultiplier()), transform.up);
             }
             else if (col.transform.tag == "Witch")
             {
                 Witch witch = enemy.GetComponent <Witch> ();
                 witch.WasHit((int)(intMax * ui.GetDamageMultiplier()), transform.up);
             }
         }
         else if (col.gameObject.layer == 25)
         {
             col.gameObject.GetComponent <Sign> ().Activated();
         }
         iTween.ScaleTo(gameObject, iTween.Hash("x", 0.1f, "y", 0.03f, "z", 0.1f, "time", 0.2f));
     }
     if (col.transform.tag == "Ground")
     {
         Destroy(gameObject, 0.3f);
         gameObject.layer = 11;
     }
 }
Beispiel #8
0
 void Update()
 {
     if (Witch.DistanceCheck(15.0f))
     {
         Witch.SetState(WitchState.Chase);
         return;
     }
 }
Beispiel #9
0
 void Update()
 {
     if (_spawn)
     {
         Witch.SetState(WitchState.Chase);
         return;
     }
 }
Beispiel #10
0
    // private bool IN1, IN2, IN3;

    // Use this for initialization
    void Start()
    {
        witch = transform.parent.GetComponentInChildren <Witch>();
        // for record chant
        word       = 0;
        weight     = 100;
        isChanting = false;
    }
Beispiel #11
0
        public void TestGetVillagerKiledFailed()
        {
            VillagerReport report = new VillagerReport();
            Witch          witch  = new Witch();

            witch.KillHistory = report.GetVillagerKilled(0);
            Assert.IsNull(witch.KillHistory);
        }
Beispiel #12
0
        public void TestGetPeopleKilledOnYearBornFailed()
        {
            VillagerReport report = new VillagerReport();
            Witch          witch  = new Witch();

            witch.KillHistory = report.GetVillagerKilled(0);
            int peoplekilled = report.GetPeopleKilledOnYearBorn(witch, 5);

            Assert.AreEqual(peoplekilled, -1);
        }
Beispiel #13
0
 public void GenerateNewWitchBase()
 {
     witches = new List <Witch>();
     for (int i = 0; i < numberOfWitches; i++)
     {
         Witch w = new Witch();
         w.RandomiseWitch();
         witches.Add(w);
     }
 }
Beispiel #14
0
    internal MyGame()
    {
        _myWitch       = new Witch();
        _opponentWitch = new Witch();

        _gamePotions = new List <Order>();
        _gameSpells  = new List <Order>();

        _isFirstTurn = true;
    }
    void Update()
    {
        if ((m_useSkill = SelectSkill()) == null)
        {
            Witch.SetState(WitchState.Idle);
        }

        m_useSkill.OnSkill(GameObject.Find("Player").transform);
        Witch.SetState(WitchState.Run);
    }
Beispiel #16
0
    void OnTriggerExit2D(Collider2D collision)
    {
        //Mendapatkan komponen Witch
        Witch witch = collision.gameObject.GetComponent <Witch>();

        //Menambahkan score jika burung tidak null dan burung belum mati;
        if (witch && !witch.IsDead())
        {
            witch.AddScore(1);
        }
    }
Beispiel #17
0
    public override void BeginState()
    {
        if (!Witch.CloseTelCheck)
        {
            Witch.SetAttack();
        }

        Witch.RotateToTarget(Witch.Target.transform.position);
        Witch.MoveStop();
        _randTel = false;
    }
Beispiel #18
0
    void OnTriggerExit2D(Collider2D collision)
    {
        //Mendapatkan komponen Witch
        Witch witch = collision.gameObject.GetComponent <Witch>();

        //Menambahkan score jika burung tidak null dan burung belum mati;
        if (witch && !witch.IsDead() && gameObject.activeSelf == true)
        {
            witch.AddScore(2);
            gameObject.SetActive(false);
        }
    }
Beispiel #19
0
        static void Main(string[] args)
        {
            //Parte de Agustina Benia
            Dagger    dagger    = new Dagger("Dagger", 88, 34);
            IronNails ironNails = new IronNails("Iron Nails", 34, 78);
            Witch     witch1    = new Witch("Manon", 100, dagger, ironNails);
            Witch     witch2    = new Witch("Asterin", 100, dagger, ironNails);

            Console.WriteLine(witch1.MessageCharacter());
            Console.WriteLine(witch2.MessageCharacter());
            Console.WriteLine(witch2.MessageHealth());
            witch1.MakeDmg(witch2);
            Console.WriteLine(witch2.MessageHealth());
            witch2.RestoreHealth();
            Console.WriteLine(witch2.MessageHealth());

            // Parte de Yonatan Morgades
            Hammer    h      = new Hammer("Mjölnir", 200, 0);
            MagicRing m      = new MagicRing("One ring", 0, 800);
            Dwarves   dwarv1 = new Dwarves("ThorEnano", 200, h, m);
            Dwarves   dwarv2 = new Dwarves("ThorEnano 2", 100, h, m);

            Console.WriteLine(dwarv1.MessageCharacter());
            Console.WriteLine(dwarv2.MessageCharacter());
            Console.WriteLine(dwarv2.MessageHealth());
            dwarv1.MakeDmg(dwarv2);
            Console.WriteLine(dwarv2.MessageHealth());
            dwarv2.RestoreHealth();
            Console.WriteLine(dwarv2.MessageHealth());

            // Parte de Fabio Luzzatto
            SolarSword   sword  = new SolarSword("Solar Sword", 100, 0);
            SolarShield  shield = new SolarShield("Solar Shield", 0, 8000);
            DefenderElf1 elf1   = new DefenderElf1("Defender Elf", 100, sword, shield);
            DefenderElf1 elf2   = new DefenderElf1("Defender Elf 2", 100, sword, shield);

            Console.WriteLine(elf1.MessageCharacter());
            Console.WriteLine(elf2.MessageCharacter());
            Console.WriteLine(elf2.MessageHealth());
            elf1.MakeDmg(elf2);
            Console.WriteLine(elf2.MessageHealth());
            elf2.RestoreHealth();
            Console.WriteLine(elf2.MessageHealth());

            //Parte de Nicolas Velazquez
            Spell       crucio        = new Spell("Crucio", 50, 20);
            Spellbook   libro_hechizo = new Spellbook("Libro hechizos", crucio);
            WizardStick palo          = new WizardStick("Palo magico", 60, 0);
            Wizard      merlin        = new Wizard("Merlin", 100, libro_hechizo, palo);

            Console.WriteLine(libro_hechizo.Dmg);
        }
Beispiel #20
0
    void FireShot()
    {
        fireSound.Play(0);

        Vector2 pos = Camera.main.ScreenToWorldPoint(Input.mousePosition);

        RaycastHit2D[] hits = Physics2D.RaycastAll(pos, new Vector2(0, 0), 0.01f);

        if (hits.Length > 0)
        {
            int enemiesHit = 0;

            for (int i = 0; i < hits.Length && enemiesHit <= 2; i++)
            {
                if (hits[i].collider.tag == "Ghost")
                {
                    enemiesHit++;
                    Destroy(hits[i].collider.gameObject);
                    Game.scoreValue += Ghost.points;
                    Game.enemiesRemaining--;
                }
                else if (hits[i].collider.tag == "Witch")
                {
                    Witch w = hits[i].collider.gameObject.GetComponent <Witch>();
                    w.health--;
                    enemiesHit++;

                    if (w.health == 0)
                    {
                        Destroy(hits[i].collider.gameObject);
                        Game.scoreValue += Witch.points;
                    }
                }
            }

            if (enemiesHit == 2)
            {
                Game.scoreValue += Crosshair.doubleKill;
            }
        }
        else
        {
            if (!pumpkinVisible)
            {
                pumpkin.SetActive(true);
                pumpkinVisible = true;
                StartCoroutine(PumpkinDisappear());
            }

            Game.scoreValue -= Crosshair.miss;
        }
    }
Beispiel #21
0
    void Update()
    {
        if (Witch.TelAttack)
        {
            if (Witch.CloseTelCheck)
            {
                Witch.SkillSys.OnTeleport(Witch.Target.transform, 1);
                Witch.TelAttack = false;
                Witch.SetState(WitchState.Skill);
                return;
            }
        }

        if (!Witch.DistanceCheck(Witch.Stat.AttackDistance) && !Witch.IsAttacking)
        {
            Witch.SetState(WitchState.Chase);
            return;
        }

        else if (!Witch.IsAttacking)
        {
            Witch.TelAttack = false;

            //if (Witch.TelAttack)
            //    return;
            _rand = Random.Range(0.0f, 100.0f);

            if (_rand >= 75.0f)
            {
                _randTel = true;

                if (_randTel)
                {
                    Witch.CloseTelCheck = false;
                    Witch.RotateToTarget(Witch.Target.transform.position);
                    Witch.SetAttack();
                    Witch.TelAttack = true;
                    return;
                }
            }
            //else if (_rand >= 50.0f)
            //{
            //    Witch.SetState(WitchState.AttackRelease);
            //    return;
            //}

            Witch.SetAttack();

            Witch.RotateToTarget(Witch.Target.transform.position);
        }
    }
Beispiel #22
0
    private void InitGroggyUpdate()
    {
        if (_init)
        {
            return;
        }

        if (Witch.DistanceCheck(Witch.Stat.ChaseDistance))
        {
            _init = true;
            Witch.SetState(WitchState.GroggyRelease);
            return;
        }
    }
    public void IssueLeaveBaseOrder()
    {
        Witch      witch         = mainUI.witch;
        WitchBase  thisWitchBase = GetComponentInParent <WitchSelectUI>().witchBase;
        GameObject goWUnit       = Instantiate(witchUnit);
        //wUnit.transform.position = thisWitchBase.transform.position
        WitchUnit wUnit = goWUnit.GetComponent <WitchUnit>();

        wUnit.witch = witch;
        wUnit.SetupWitchColours();
        thisWitchBase.witches.Remove(witch);
        wUnit.currentHex = thisWitchBase.pairedToThisTile;
        UnitMovement.BeginMovement(wUnit);
        Destroy(GetComponentInParent <WitchBaseUI>().gameObject);
    }
Beispiel #24
0
    private void NonInitGroggyUpdate()
    {
        if (!_init)
        {
            return;
        }

        _delayTime += Time.deltaTime;

        if (_delayTime >= WitchValueManager.I.GroggyDuration)
        {
            _delayTime = 0.0f;
            Witch.SetState(WitchState.GroggyRelease);
            return;
        }
    }
Beispiel #25
0
    void Update()
    {
        if (!_endAnim)
        {
            return;
        }

        if (Witch.DistanceCheck(Witch.Stat.AttackDistance))
        {
            Witch.SetState(WitchState.Attack);
            return;
        }
        else
        {
            Witch.SetState(WitchState.Chase);
            return;
        }
    }
Beispiel #26
0
    void Awake()
    {
        if (GameObject.FindGameObjectsWithTag("GameMaster").Length > 1)
        {
            Destroy(this.gameObject);
        }

        _instance = this;
        DontDestroyOnLoad(this.gameObject);
        score = 0;
        if (scoreText == null)
        {
            scoreText = GameObject.FindGameObjectWithTag("Score").GetComponent <Text>();
        }

        if (witch == null)
        {
            witch = GameObject.FindGameObjectWithTag("Witch").GetComponent <Witch>();
        }
    }
Beispiel #27
0
        private static Monster makeMonster(int lvl)
        {
            Random  rGen   = new Random();
            Monster newMon = new Goblin(lvl);

            switch (rGen.Next(0, 3))
            {
            case 0:
                newMon = new Goblin(lvl);
                break;

            case 1:
                newMon = new Witch(lvl);
                break;

            case 2:
                newMon = new Orc(lvl);
                break;
            }
            return(newMon);
        }
    private IEnumerator StartWitchEncounter(Witch attacking, Witch leaving)
    {
        MyAudio.PlayBackgroundMusic(WitcherFightMusic);
        var leavingTransform = leaving.transform;
        var witcherTransform = WitcherMotor.transform;
        WitcherMotor.MoveTo(leaving.transform.position);
        while ((leavingTransform.position - witcherTransform.position).magnitude > 1)
        {
            yield return null;
        }

        leaving.OpenPortal();

        while (Vector3.Distance(leavingTransform.position, witcherTransform.position) > 0.2f)
        {
            yield return null;
        }
        leaving.gameObject.SetActive(false);
        WitcherMotor.gameObject.SetActive(false);
        attacking.StartFight();
    }
Beispiel #29
0
    public static void Factory()
    {
        Sprite         sprite   = Resources.Load <Sprite>("Sprites/Tokens/Witch");
        GameObject     go       = new GameObject(typeof(Witch).ToString());
        SpriteRenderer renderer = go.AddComponent <SpriteRenderer>();

        renderer.sprite         = sprite;
        go.transform.localScale = new Vector3(10, 10, 10);

        Witch witch = go.AddComponent <Witch>();

        witch.Type = typeof(Witch).ToString();
        witch.Cell = null;

        if (GameManager.instance.players.Count == 4)
        {
            witch.PotionPrice = 5;
        }
        else
        {
            witch.PotionPrice = 4;
        }
    }
Beispiel #30
0
        public void SelectRequest(char c)
        {
            AbstractCharacterBuilder builder;
            var     director = new UserConstruct();
            Fighter fighter  = new Fighter();
            Caster  caster   = new Caster();

            switch (char.ToLower(c))
            {
            case 'd':  builder = new Duelist();
                director.Construct(builder);
                builder.Character.Show();
                fighter.ProcessType("Melee");
                break;

            case 'g':  builder = new Guardian();
                director.Construct(builder);
                builder.Character.Show();
                caster.ProcessType("Melee");
                break;

            case 'm':  builder = new Marauder();
                director.Construct(builder);
                builder.Character.Show();
                fighter.ProcessType("Melee");
                break;

            case 'w':  builder = new Witch();
                director.Construct(builder);
                builder.Character.Show();
                caster.ProcessType("Ranged");
                break;

            default: Console.WriteLine("Error, try again"); break;
            }
        }
 private void OnTriggerEnter2D(Collider2D other)
 {
     if (other.CompareTag("Player") && target == "player")
     {
         Debug.Log("touch");
         PlayerManager p = other.GetComponent <PlayerManager>();
         p.TakeDamage(strength, PlayerManager.DmgType.Fire);
         Destroy(gameObject);
     }
     if (other.CompareTag("Witch") && target == "mob")
     {
         Debug.Log(" mobtouch");
         Witch p = other.GetComponent <Witch>();
         p.TakeDamage(strength);
         Destroy(gameObject);
     }
     if (other.CompareTag("Zombie") && target == "mob")
     {
         Debug.Log("mobtouch");
         Zombie p = other.GetComponent <Zombie>();
         p.TakeDamage(strength);
         Destroy(gameObject);
     }
 }
Beispiel #32
0
        /// <summary>
        /// Creates a new card based on how many cards have already been made.
        /// </summary>
        /// <param name="card">
        /// The name of the card to be created.
        /// </param>
        /// <returns>
        /// The new created card.
        /// </returns>
        public static Card CreateCard(CardName card)
        {
            Contract.Requires(card != CardName.Backside & card != CardName.Empty);

            Contract.Ensures(Contract.Result<Card>().Name == card);

            Card c;
            switch (card)
            {
                case CardName.Copper:
                    c = new Copper();
                    break;
                case CardName.Silver:
                    c = new Silver();
                    break;
                case CardName.Gold:
                    c = new Gold();
                    break;
                case CardName.Curse:
                    c = new Curse();
                    break;
                case CardName.Estate:
                    c = new Estate();
                    break;
                case CardName.Duchy:
                    c = new Duchy();
                    break;
                case CardName.Province:
                    c = new Province();
                    break;
                case CardName.Gardens:
                    c = new Gardens();
                    break;
                case CardName.Cellar:
                    c = new Cellar();
                    break;
                case CardName.Chapel:
                    c = new Chapel();
                    break;
                case CardName.Chancellor:
                    c = new Chancellor();
                    break;
                case CardName.Village:
                    c = new Village();
                    break;
                case CardName.Woodcutter:
                    c = new Woodcutter();
                    break;
                case CardName.Workshop:
                    c = new Workshop();
                    break;
                case CardName.Feast:
                    c = new Feast();
                    break;
                case CardName.Moneylender:
                    c = new Moneylender();
                    break;
                case CardName.Remodel:
                    c = new Remodel();
                    break;
                case CardName.Smithy:
                    c = new Smithy();
                    break;
                case CardName.ThroneRoom:
                    c = new ThroneRoom();
                    break;
                case CardName.CouncilRoom:
                    c = new CouncilRoom();
                    break;
                case CardName.Festival:
                    c = new Festival();
                    break;
                case CardName.Laboratory:
                    c = new Laboratory();
                    break;
                case CardName.Library:
                    c = new Library();
                    break;
                case CardName.Market:
                    c = new Market();
                    break;
                case CardName.Mine:
                    c = new Mine();
                    break;
                case CardName.Adventurer:
                    c = new Adventurer();
                    break;
                case CardName.Bureaucrat:
                    c = new Bureaucrat();
                    break;
                case CardName.Militia:
                    c = new Militia();
                    break;
                case CardName.Spy:
                    c = new Spy();
                    break;
                case CardName.Thief:
                    c = new Thief();
                    break;
                case CardName.Witch:
                    c = new Witch();
                    break;
                case CardName.Moat:
                    c = new Moat();
                    break;
                default:
                    throw new NotImplementedException("Tried to create a card that was not implemented when CardFactory was last updated.");
            }

            c.Initialize(card, CardsMade[card]);
            CardsMade[card] += 1;
            createdCards.Add(c, true);
            return c;
        }
Beispiel #33
0
	// Use this for initialization
	void Start () {
		witch = GetComponentInParent<Witch>();

		GetComponent<SpriteRenderer>().color = witch.colors[color];
	}