public static bool mod_ShowOnSpellBar(GenericAbility ability, CharacterStats stats, int spellLevel)
        {
            if (ability.Passive)
            {
                return false;
            }
            GenericSpell genericSpell = ability as GenericSpell;
            GenericCipherAbility genericCipherAbility = ability as GenericCipherAbility;
            if (!genericSpell)
            {
                return genericCipherAbility && (spellLevel <= 0 || genericCipherAbility.SpellLevel == spellLevel);
            }

            if (genericSpell.SpellClass != stats.CharacterClass && spellLevel > 0 && genericSpell.SpellLevel == spellLevel && IEModOptions.HideAnticlassSpells)
            {
                return true;
            }

            if (genericSpell.SpellClass != stats.CharacterClass || (spellLevel > 0 && genericSpell.SpellLevel != spellLevel))
            {
                return false;
            }
            if (stats.CharacterClass != CharacterStats.Class.Wizard || !genericSpell.NeedsGrimoire)
            {
                return true;
            }
            Equipment component = stats.GetComponent<Equipment>();
            if (component == null || component.CurrentItems == null || component.CurrentItems.Grimoire == null)
            {
                return false;
            }
            Grimoire component2 = component.CurrentItems.Grimoire.GetComponent<Grimoire>();
            return !(component2 == null) && component2.HasSpell(genericSpell);
        }
Esempio n. 2
0
 // Use this for initialization
 void Start()
 {
     P1 = GameObject.FindGameObjectWithTag("Player1");
     P2 = GameObject.FindGameObjectWithTag ("Player2");
     playerHealth1 = P1.GetComponent<CharacterStats> ();
     playerHealth2 = P2.GetComponent<CharacterStats> ();
 }
    public override ControllState handleInput(BThirdPerson controller, CharacterStats stats)
    {
        Vector3 mousePoint = Vector3.zero;
        stats.healthRegenerationRate = 0f;
        stats.enduranceRegenerationRate = 0f;

        if(controller.stateTime < 0.1){
            controller.turnToReferenceObject();
            controller.controller.slotRightHand.GetComponent<OWeapon>().enable();
            shot = false;
        }

        if(Random.Range(1,10) < 3){
            shot = true;
        }

        if(controller.stateTime > 0.22f){
            if(shot){
                return ControllerZombie._ZombieATTACKB;
            }
            else{
                controller.controller.slotRightHand.GetComponent<OWeapon>().disable();
                return ControllerZombie._ZombieIDLE;
            }
        }

        return this;
    }
    public override ControllState handleInput(BThirdPerson controller, CharacterStats stats)
    {
        Vector3 mousePoint = Vector3.zero;
        stats.healthRegenerationRate = 0f;
        stats.enduranceRegenerationRate = 0f;

        if(controller.stateTime < 0.1){
            controller.controller.slotRightHand.GetComponent<OWeapon>().enable();
            shot = false;
            Vector2 inputVector = new Vector2(Input.GetAxis("Horizontal"),Input.GetAxis("Vertical"));
            Vector3 inputVectorTransformed = new Vector3(inputVector.x,0,-inputVector.y);
            Vector3 lookTarget = controller.position + (ControllerCamera.hingeUp.transform.rotation*inputVectorTransformed);
            controller.turn(lookTarget);
        }

        if(Input.GetButtonDown("attack") && stats.reduceEndurance(7) && !shot){
            shot = true;
        }

        if(controller.stateTime > 0.22f){
            if(shot){
                return ControllerKnight._KnightATTACKB;
            }
            else{
                controller.controller.slotRightHand.GetComponent<OWeapon>().disable();
                return ControllerKnight._KnightIDLE;
            }
        }

        return this;
    }
Esempio n. 5
0
    public static Character Slime()
    {
        var character = new Character();

        var baseStats = new CharacterStats();
        baseStats.SetStat(Const.Stats.MaxHp, 700d);
        baseStats.SetStat(Const.Stats.MaxMp, 150d);
        baseStats.SetStat(Const.Stats.Attack, 300d);
        baseStats.SetStat(Const.Stats.Defense, 150d);
        baseStats.SetStat(Const.Stats.Wisdom, 70d);
        baseStats.SetStat(Const.Stats.Agility, 100d);
        baseStats.SetStat(Const.Stats.Mind, 50d);
        baseStats.SetStat(Const.Stats.Critical, 0.05d);
        baseStats.SetStat(Const.Stats.Accuracy, 0.8d);
        baseStats.SetStat(Const.Stats.Evasion, 0.1d);

        character.Name = "Slime";
        character.BaseStats = baseStats;

        character.PortraitPath = "Characters/Slime/portrait";
        character.ModelPath = "Characters/Slime/model";
        character.AttackDistance = 2.5f;
        character.SizeOffset = 1.5f;
        character.Skills.Add(Skill.MeleeAttack());
        character.Movement = 2;

        character.PatternShape = Pattern.Single();

        return character;
    }
Esempio n. 6
0
 void Awake()
 {
     anim = GetComponent<Animator>();
     cc = this.GetComponent<CharacterController>();
     car = GetComponent<CharacterStats>();
     shot = GetComponent<Shooting>();
 }
Esempio n. 7
0
    public override ControllState handleInput(BThirdPerson controller, CharacterStats stats)
    {
        if(controller.stateTime > 5.625){

        }
        return this;
    }
        public void mod_SetButtonsAnticlassSpells(CharacterStats stats)
        {
            this.Label = null;
            int num = 0;
            foreach (GenericAbility current in stats.Abilities)
            {
                if (current is GenericSpell)
                {
                    CharacterStats.Class spellClass = ((GenericSpell)current).SpellClass;
                    if (spellClass != stats.CharacterClass || !CharacterStats.IsPlayableClass(spellClass))
                    {

                        if ((stats.CharacterClass == CharacterStats.Class.Wizard ||
                            stats.CharacterClass == CharacterStats.Class.Priest ||
                            stats.CharacterClass == CharacterStats.Class.Druid ||
                            stats.CharacterClass == CharacterStats.Class.Chanter ||
                            stats.CharacterClass == CharacterStats.Class.Cipher) && IEModOptions.HideAnticlassSpells)
                        {

                        }

                        else
                        {
                            this.SetButton(num, current.gameObject, UIAbilityBarButtonSet.AbilityButtonAction.CAST_SPELL_ABILITY, current.Icon);
                            num++;
                        }
                    }
                }
            }
            this.HideButtons(num);
            this.m_DoRefresh = true;
        }
 public virtual void Start()
 {
     characterStats = gameObject.GetCharacterStats();
     inventory = gameObject.GetInventory();
     playerMotor = gameObject.GetPlayerMotor();
     characterStats.Died += characterStats_Died;
 }
Esempio n. 10
0
	void Start(){
		playerControls = gameObject.GetComponent<PlayerControls> ();
		charStats = playerControls.characterStats;
		normalName = playerControls.controllerType+"Normal";
		specialName = playerControls.controllerType+"Special";
		horName = playerControls.controllerType+"Horizontal";
		verName = playerControls.controllerType+"Vertical";
	}
Esempio n. 11
0
 public void SubtractStats(CharacterStats statsToSubtract)
 {
     swagger -= statsToSubtract.swagger;
     strength -= statsToSubtract.strength;
     agility -= statsToSubtract.agility;
     mind -= statsToSubtract.mind;
     health -= statsToSubtract.health;
 }
Esempio n. 12
0
 public void AddStats(CharacterStats statsToAdd)
 {
     swagger += statsToAdd.swagger;
     strength += statsToAdd.strength;
     agility += statsToAdd.agility;
     mind += statsToAdd.mind;
     health += statsToAdd.health;
 }
    void Start()
    {
        anim = GetComponent<Animator>();
        playerController = GetComponent<PlayerMovementController>();
        characterStats = GetComponent<CharacterStats>();
        colliderr = GetComponent<CapsuleCollider>();

        characterControlInterface = GetComponent<CharacterControlInterface>();
    }
Esempio n. 14
0
    void Awake()
    {
        stats = GetComponentInParent<CharacterStats>();

        if (stats == null)
        {
            Debug.LogError("Can not found CharacterStats! " + this.gameObject.name);
        }
    }
Esempio n. 15
0
    //private Text text;
    void Start()
    {
        characterStats = character.GetComponent<CharacterStats>();
        HPBarRectTransform = HPBarImage.GetComponent<RectTransform>();
        originalSize = HPBarRectTransform.sizeDelta;
        originalLocalPosition = HPBarRectTransform.localPosition;

        //text = HPBarText.GetComponent<Text>();
    }
Esempio n. 16
0
    void Start()
    {
        characterStats = GetComponent<CharacterStats>();

        characterStats.HPScaler *= hpScale;
        characterStats.MovingSpeedModifier += movingSpeedModifier;

        transform.localScale *= sizeScale;
    }
Esempio n. 17
0
 public CharacterStats Clone()
 {
     var clone = new CharacterStats();
     foreach (var key in this._stats.Keys)
     {
         clone._stats[key] = this._stats[key];
     }
     return clone;
 }
Esempio n. 18
0
		public float GetCurrentBonusMultiplierNew(CharacterStats stats, GenericAbility abilityOrigin)
		{
			if (stats == null)
			{
				return 1f;
			}
			float bonus = 0f;
			if (IEModOptions.NPCDispositionFix || (GameState.s_playerCharacter != null && stats.gameObject == GameState.s_playerCharacter.gameObject)) // added ((Mod_GameOptions_GameMode)GameState.Mode).NPCDispositionFix || 
			{
				float single = 1f;
				if (abilityOrigin != null)
				{
					single = single * abilityOrigin.GatherAbilityModProduct(AbilityMod.AbilityModType.NegativeReligiousTraitMultiplier);
				}
				if (stats.CharacterClass == CharacterStats.Class.Priest)
				{
					global::Religion.DeityData deityDatum = this.FindDeityData(stats.Deity);
					if (deityDatum != null)
					{
						bonus = bonus + this.GetBonus(deityDatum.PositiveTrait[0], this.PositiveTraitBonus);
						bonus = bonus + this.GetBonus(deityDatum.PositiveTrait[1], this.PositiveTraitBonus);
						bonus = bonus + this.GetBonus(deityDatum.NegativeTrait[0], this.NegativeTraitBonus) * single;
						bonus = bonus + this.GetBonus(deityDatum.NegativeTrait[1], this.NegativeTraitBonus) * single;
					}
				}
				else if (stats.CharacterClass == CharacterStats.Class.Paladin)
				{
					global::Religion.PaladinOrderData paladinOrderDatum = this.FindPaladinOrderData(stats.PaladinOrder);
					if (paladinOrderDatum != null)
					{
						/* patching in dis/favored dispositions for Pallegina's order */
						if (stats.PaladinOrder == PaladinOrder.FrermasMesCancSuolias)
						{
							var favored1 = IEModOptions.PalleginaFavored1;
							var favored2 = IEModOptions.PalleginaFavored2;
							var disfavored1 = IEModOptions.PalleginaDisfavored1;
							var disfavored2 = IEModOptions.PalleginaDisfavored2;

							paladinOrderDatum.PositiveTrait = new Disposition.Axis[2];
							paladinOrderDatum.PositiveTrait[0] = favored1;
							paladinOrderDatum.PositiveTrait[1] = favored2;
							paladinOrderDatum.NegativeTrait = new Disposition.Axis[2];
							paladinOrderDatum.NegativeTrait[0] = disfavored1;
							paladinOrderDatum.NegativeTrait[1] = disfavored2;
						}
						/**************************************************************************************/

						bonus = bonus + this.GetBonus(paladinOrderDatum.PositiveTrait[0], this.PositiveTraitBonus);
						bonus = bonus + this.GetBonus(paladinOrderDatum.PositiveTrait[1], this.PositiveTraitBonus);
						bonus = bonus + this.GetBonus(paladinOrderDatum.NegativeTrait[0], this.NegativeTraitBonus) * single;
						bonus = bonus + this.GetBonus(paladinOrderDatum.NegativeTrait[1], this.NegativeTraitBonus) * single;
					}
				}
			}
			bonus = bonus + 1f;
			return bonus;
		}
Esempio n. 19
0
    Vector3 greenPos; //Position of the health bar relative to the character

    #endregion Fields

    #region Methods

    void Awake()
    {
        //loads enemy health value from healthScript
        healthScript = transform.parent.gameObject.GetComponent<CharacterStats>();
        curHealth = healthScript.health;
        maxHealth = healthScript.maxHealth;

        //stores two health values, will come in later
    }
Esempio n. 20
0
    void Start()
    {
        if (gameManager == null) {
          gameManager = Camera.main.GetComponent<GameManager>();
        }

        characterStats = GetComponent<CharacterStats>();

        previousHP = characterStats.MaxHP;
    }
Esempio n. 21
0
 public static CharacterStats Copy(CharacterStats original)
 {
     CharacterStats copy = new CharacterStats();
     copy.agility = original.agility;
     copy.strength = original.strength;
     copy.health = original.health;
     copy.mind = original.mind;
     copy.swagger = original.swagger;
     return copy;
 }
Esempio n. 22
0
	// Use this for initialization

	void Start () {
		ownColor = gameObject.GetComponent<SpriteRenderer>().color;
		_myStats = new CharacterStats(gameObject.tag.ToString());
		if( _myStats.load() ){
			hp = _myStats.getHp();
			exp = _myStats.getExp();
			coin = _myStats.getCoin();
			max_hp = hp;
		}
	}
Esempio n. 23
0
 public static void onHit(BThirdPerson controller, Collider collider, CharacterStats stats)
 {
     OStroke stroke = collider.gameObject.GetComponent<OStroke>();
     if(stroke){
         controller.hitBack(stroke.strokeForce, collider.gameObject);
         stats.reduceHealthImpact(stroke.strength);
     }
     else{
         stats.reduceHealthImpact(5f);
     }
 }
Esempio n. 24
0
    void Start()
    {
        characterStats = GetComponent<CharacterStats>();

        for (int i = 0; i < transform.childCount; ++i) {
          Renderer targetRenderer = transform.GetChild(i).GetComponent<Renderer>();
          if (targetRenderer != null) {
        targetRenderer.material.color = Color.green;
          }
        }
    }
Esempio n. 25
0
    //for testing...
    private CharacterStats GetRandomStats()
    {
        CharacterStats stats = new CharacterStats();
        stats.agility = Random.Range(5, 18);
        stats.health = Random.Range(5, 18);
        stats.mind = Random.Range(5, 18);
        stats.strength = Random.Range(5, 18);
        stats.swagger = Random.Range(5, 18);

        return stats;
    }
Esempio n. 26
0
	public static void SaveCharacterStats(GameObject player) {
		if (player.GetComponent<PlayerControls> () != null) {
			SaveCharStats.playerStats =  player.GetComponent<PlayerControls> ().characterStats;
			BinaryFormatter bf = new BinaryFormatter ();
			FileStream file = File.Create (Application.persistentDataPath + "/" + player.name + ".pfgon");
			bf.Serialize (file, SaveCharStats.playerStats);
			file.Close ();
		} else {
			Debug.Log ("Michael! You're and idiot! This doesn't have a CharacterStats!");
		}
	}
Esempio n. 27
0
 // Use this for initialization
 void Start()
 {
     player = GetComponent<Transform>();
     animator = GetComponent<Animator>();
     weaponColliders = GetComponentsInChildren<BoxCollider>();
     playerCollider = GetComponent<CapsuleCollider>();
     playerStats = GetComponent<CharacterStats>();
     foreach (Collider weaponCollider in weaponColliders)
     {
         Physics.IgnoreCollision(weaponCollider, playerCollider);
     }
 }
Esempio n. 28
0
    void Start()
    {
        characterStats = GetComponent<CharacterStats>();
        characterStats.MovingSpeedModifier += movingSpeedModifier;

        for (int i = 0; i < transform.childCount; ++i) {
          Renderer targetRenderer = transform.GetChild(i).GetComponent<Renderer>();
          if (targetRenderer != null) {
        targetRenderer.material.color = Color.red;
          }
        }
    }
Esempio n. 29
0
    // Use this for initialization
    void Start()
    {
        if (Stats == null)
        {
            Stats = FindObjectOfType<CharacterStats>();
        }
        BarsMaterials = new Material[2];
        BarsMaterials[0] = new Material(Bars[0].GetComponent<Image>().material);
        BarsMaterials[1] = new Material(Bars[1].GetComponent<Image>().material);

        Bars[0].GetComponent<Image>().material = BarsMaterials[0];
        Bars[1].GetComponent<Image>().material = BarsMaterials[1];
    }
 void SelectedChar()
 {
     _characterStats = characterSelected.GetComponent<CharacterStats>();
     if(_characterSelected.character1Selected == true){
         characterSelected = Characters[0];
     }
     if(_characterSelected.character2Selected == true){
         characterSelected = Characters[1];
     }
     if(_characterSelected.character3Selected == true){
         characterSelected = Characters[2];
     }
 }
Esempio n. 31
0
 void Start()
 {
     myStats = GetComponent <CharacterStats>();
 }
Esempio n. 32
0
    /// <summary>
    /// Determines how a card action takes effect
    ///
    /// More description/complexity will be required
    /// </summary>
    /// <param name="effect"></param>
    /// <param name="caster">Stats of the casting character</param>
    /// <param name="target">Stats of the target character</param>
    void ApplyAction(CardAction casterEffect, CardAction targetEffect, CharacterStats caster, CharacterStats target)
    {
        int damage   = casterEffect.damageVal;
        int cardHeal = casterEffect.healVal;

        damage -= targetEffect.defenseVal;
        if (damage < 0)
        {
            damage = 0;
        }

        //TODO: Change to an actual UI
        Debug.Log(caster.charName + " played " + casterEffect.cardName + ", dealing " + damage + " damage and healing  " + cardHeal);

        caster.changeHP(-cardHeal);
        target.changeHP(damage);
    }
Esempio n. 33
0
 //Initialize components
 void Start()
 {
     myStats       = GetComponent <CharacterStats>();
     playerMotor   = Player.instance.GetComponent <PlayerMotor2>();
     playerManager = PlayerManager.instance;
 }
Esempio n. 34
0
 void OnTriggerEnter(Collider collider)
 {
     //Reduce life by amount specified in enemyStrength
     CharacterStats.ReduceLife(enemyStrength);
 }
 public virtual void Attack(CharacterStats targetStats)
 {
 }
Esempio n. 36
0
 void Start()
 {
     _stats         = GetComponent <CharacterStats>();
     _thisTransform = GetComponent <Transform>();
 }
 public void DealDamage(CharacterStats _target)
 {
     _target.TakeDamage(m_physicalDamage, m_attackType);
     //   Debug.Log(transform.name + " Is dealing damage.");
 }
Esempio n. 38
0
            public static bool Prefix(CharacterStats __instance)
            {
                Character _c = __instance.GetComponent <Character>();

                if ((!(bool)CustomGameStats.PlayerConfig.GetValue(Settings.ToggleSwitch) &&
                     !(bool)CustomGameStats.AIConfig.GetValue(Settings.ToggleSwitch)) ||
                    NetworkLevelLoader.Instance.IsGameplayLoading ||
                    !_c.IsLateInitDone)
                {
                    return(true);
                }

                if (!PhotonNetwork.isNonMasterClientInRoom)
                {
                    if (!_c.IsAI)
                    {
                        if ((bool)CustomGameStats.PlayerConfig.GetValue(Settings.ToggleSwitch))
                        {
                            Instance.ApplyCustomStats(_c, CustomGameStats.PlayerConfig, Settings.PlayerStats, true);
                        }
                        else
                        {
                            Instance.ApplyCustomStats(_c, CustomGameStats.PlayerConfig, Settings.PlayerStats, false);
                        }
                    }
                    else
                    {
                        if ((bool)CustomGameStats.AIConfig.GetValue(Settings.ToggleSwitch))
                        {
                            Instance.ApplyCustomStats(_c, CustomGameStats.AIConfig, Settings.AIStats, true);
                        }
                        else
                        {
                            Instance.ApplyCustomStats(_c, CustomGameStats.AIConfig, Settings.AIStats, false);
                        }
                    }
                }
                else
                {
                    if (!Instance._playerSyncInit || !Instance._aiSyncInit)
                    {
                        Instance.RequestSync();
                    }

                    if (!_c.IsAI)
                    {
                        if (Instance.CurrentPlayerSyncInfo != null && Instance._playerSyncInit)
                        {
                            if ((bool)Instance.CurrentPlayerSyncInfo.GetValue(Settings.ToggleSwitch))
                            {
                                Instance.ApplyCustomStats(_c, Instance.CurrentPlayerSyncInfo, Settings.PlayerStats, true);
                            }
                            else
                            {
                                Instance.ApplyCustomStats(_c, Instance.CurrentPlayerSyncInfo, Settings.PlayerStats, false);
                            }
                        }
                    }
                    else
                    {
                        if (Instance.CurrentAISyncInfo != null && Instance._aiSyncInit)
                        {
                            if ((bool)Instance.CurrentAISyncInfo.GetValue(Settings.ToggleSwitch))
                            {
                                Instance.ApplyCustomStats(_c, Instance.CurrentAISyncInfo, Settings.AIStats, true);
                            }
                            else
                            {
                                Instance.ApplyCustomStats(_c, Instance.CurrentAISyncInfo, Settings.AIStats, false);
                            }
                        }
                    }
                }

                return(false);
            }
Esempio n. 39
0
 void Start()
 {
     EneemyManager = PlayerManager.instance;
     myStats       = GetComponent <CharacterStats>();
     parti.Stop();
 }
Esempio n. 40
0
 private void ClearCustomStat(CharacterStats stats, Tag statTag, string stackSource, bool mult)
 {
     stats.RemoveStatStack(statTag, stackSource, !mult);
     stats.RemoveStatStack(statTag, stackSource, mult);
 }
Esempio n. 41
0
        // monster switch statement ahead...
        private void SetCustomStat(CharacterStats stats, string stackSource, Tag statTag, float value, bool mult, ModConfig config)
        {
            ClearCustomStat(stats, statTag, stackSource, mult);
            stats.RefreshVitalMaxStat();
            Stat[] _dmg = (Stat[])AT.GetValue(typeof(CharacterStats), stats, "m_damageTypesModifier");
            Stat[] _pro = (Stat[])AT.GetValue(typeof(CharacterStats), stats, "m_damageProtection");
            Stat[] _res = (Stat[])AT.GetValue(typeof(CharacterStats), stats, "m_damageResistance");

            switch (statTag.TagName)
            {
            case "MaxHealth":
                stats.AddStatStack(statTag, new StatStack(stackSource, Modify(mult, AT.GetCharacterStat(stats, "m_maxHealthStat"), value, CharacterStats.MIN_MAXHEALTH_LIMIT, config)), mult);
                break;

            case "HealthRegen":
                stats.AddStatStack(statTag, new StatStack(stackSource, Modify(mult, AT.GetCharacterStat(stats, "m_healthRegen"), value, Settings.Minimum, config)), mult);
                break;

            case "HealthBurn":
                stats.AddStatStack(statTag, new StatStack(stackSource, Modify(mult, AT.GetCharacterStat(stats, "m_burntHealthModifier"), value, Settings.MinimumMod, config)), mult);
                break;

            case "MaxStamina":
                stats.AddStatStack(statTag, new StatStack(stackSource, Modify(mult, AT.GetCharacterStat(stats, "m_maxStamina"), value, CharacterStats.MIN_MAXSTAMINA_LIMIT, config)), mult);
                break;

            case "StaminaRegen":
                stats.AddStatStack(statTag, new StatStack(stackSource, Modify(mult, AT.GetCharacterStat(stats, "m_staminaRegen"), value, Settings.MinimumMod, config)), mult);
                break;

            case "StaminaUse":
            case "StaminaCostReduction":
                stats.AddStatStack(statTag, new StatStack(stackSource, Modify(mult, AT.GetCharacterStat(stats, "m_staminaUseModifiers"), value, Settings.Minimum, config)), mult);
                break;

            case "StaminaBurn":
                stats.AddStatStack(statTag, new StatStack(stackSource, Modify(mult, AT.GetCharacterStat(stats, "m_burntStaminaModifier"), value, Settings.MinimumMod, config)), mult);
                break;

            case "MaxMana":
                stats.AddStatStack(statTag, new StatStack(stackSource, Modify(mult, AT.GetCharacterStat(stats, "m_maxManaStat"), value, Settings.Minimum, config)), mult);
                break;

            case "ManaRegen":
                stats.AddStatStack(statTag, new StatStack(stackSource, Modify(mult, AT.GetCharacterStat(stats, "m_manaRegen"), value, Settings.Minimum, config)), mult);
                break;

            case "ManaUse":
                stats.AddStatStack(statTag, new StatStack(stackSource, Modify(mult, AT.GetCharacterStat(stats, "m_manaUseModifiers"), value, Settings.Minimum, config)), mult);
                break;

            case "ManaBurn":
                stats.AddStatStack(statTag, new StatStack(stackSource, Modify(mult, AT.GetCharacterStat(stats, "m_burntManaModifier"), value, Settings.MinimumMod, config)), mult);
                break;

            case "Impact":
                stats.AddStatStack(statTag, new StatStack(stackSource, Modify(mult, AT.GetCharacterStat(stats, "m_impactModifier"), value, Settings.Minimum, config)), mult);
                break;

            case "AllDamages":
                stats.AddStatStack(statTag, new StatStack(stackSource, Modify(mult, AT.GetCharacterStat(stats, "m_damageModifiers"), value, Settings.Minimum, config)), mult);
                break;

            case "PhysicalDamage":
                stats.AddStatStack(statTag, new StatStack(stackSource, Modify(mult, _dmg[0].CurrentValue, value, Settings.Minimum, config)), mult);
                break;

            case "EtherealDamage":
                stats.AddStatStack(statTag, new StatStack(stackSource, Modify(mult, _dmg[1].CurrentValue, value, Settings.Minimum, config)), mult);
                break;

            case "DecayDamage":
            case "DarkDamage":
                stats.AddStatStack(statTag, new StatStack(stackSource, Modify(mult, _dmg[2].CurrentValue, value, Settings.Minimum, config)), mult);
                break;

            case "ElectricDamage":
            case "LightDamage":
                stats.AddStatStack(statTag, new StatStack(stackSource, Modify(mult, _dmg[3].CurrentValue, value, Settings.Minimum, config)), mult);
                break;

            case "FrostDamage":
                stats.AddStatStack(statTag, new StatStack(stackSource, Modify(mult, _dmg[4].CurrentValue, value, Settings.Minimum, config)), mult);
                break;

            case "FireDamage":
                stats.AddStatStack(statTag, new StatStack(stackSource, Modify(mult, _dmg[5].CurrentValue, value, Settings.Minimum, config)), mult);
                break;

            case "DamageProtection":
                stats.AddStatStack(statTag, new StatStack(stackSource, Modify(mult, AT.GetCharacterStat(stats, "m_allDamageProtection"), value, Settings.Minimum, config)), mult);
                break;

            case "PhysicalProtection":
                stats.AddStatStack(statTag, new StatStack(stackSource, Modify(mult, _pro[0].CurrentValue, value, Settings.Minimum, config)), mult);
                break;

            case "EtherealProtection":
                stats.AddStatStack(statTag, new StatStack(stackSource, Modify(mult, _pro[1].CurrentValue, value, Settings.Minimum, config)), mult);
                break;

            case "DecayProtection":
                stats.AddStatStack(statTag, new StatStack(stackSource, Modify(mult, _pro[2].CurrentValue, value, Settings.Minimum, config)), mult);
                break;

            case "ElectricProtection":
                stats.AddStatStack(statTag, new StatStack(stackSource, Modify(mult, _pro[3].CurrentValue, value, Settings.Minimum, config)), mult);
                break;

            case "FrostProtection":
                stats.AddStatStack(statTag, new StatStack(stackSource, Modify(mult, _pro[4].CurrentValue, value, Settings.Minimum, config)), mult);
                break;

            case "FireProtection":
                stats.AddStatStack(statTag, new StatStack(stackSource, Modify(mult, _pro[5].CurrentValue, value, Settings.Minimum, config)), mult);
                break;

            case "DarkProtection":
                stats.AddStatStack(statTag, new StatStack(stackSource, Modify(mult, _pro[6].CurrentValue, value, Settings.Minimum, config)), mult);
                break;

            case "LightProtection":
                stats.AddStatStack(statTag, new StatStack(stackSource, Modify(mult, _pro[7].CurrentValue, value, Settings.Minimum, config)), mult);
                break;

            case "AllResistances":
            case "DamageResistance":
                stats.AddStatStack(statTag, new StatStack(stackSource, Modify(mult, AT.GetCharacterStat(stats, "m_resistanceModifiers"), value, Settings.Minimum, config)), mult);
                break;

            case "PhysicalResistance":
                stats.AddStatStack(statTag, new StatStack(stackSource, Modify(mult, _res[0].CurrentValue, value, Settings.Minimum, config)), mult);
                break;

            case "EtherealResistance":
                stats.AddStatStack(statTag, new StatStack(stackSource, Modify(mult, _res[1].CurrentValue, value, Settings.Minimum, config)), mult);
                break;

            case "DecayResistance":
                stats.AddStatStack(statTag, new StatStack(stackSource, Modify(mult, _res[2].CurrentValue, value, Settings.Minimum, config)), mult);
                break;

            case "ElectricResistance":
                stats.AddStatStack(statTag, new StatStack(stackSource, Modify(mult, _res[3].CurrentValue, value, Settings.Minimum, config)), mult);
                break;

            case "FrostResistance":
                stats.AddStatStack(statTag, new StatStack(stackSource, Modify(mult, _res[4].CurrentValue, value, Settings.Minimum, config)), mult);
                break;

            case "FireResistance":
                stats.AddStatStack(statTag, new StatStack(stackSource, Modify(mult, _res[5].CurrentValue, value, Settings.Minimum, config)), mult);
                break;

            case "DarkResistance":
                stats.AddStatStack(statTag, new StatStack(stackSource, Modify(mult, _res[6].CurrentValue, value, Settings.Minimum, config)), mult);
                break;

            case "LightResistance":
                stats.AddStatStack(statTag, new StatStack(stackSource, Modify(mult, _res[7].CurrentValue, value, Settings.Minimum, config)), mult);
                break;

            case "ImpactResistance":
                stats.AddStatStack(statTag, new StatStack(stackSource, Modify(mult, AT.GetCharacterStat(stats, "m_impactResistance"), value, Settings.Minimum, config)), mult);
                break;

            case "StabilityRegen":
                stats.AddStatStack(statTag, new StatStack(stackSource, Modify(mult, AT.GetCharacterStat(stats, "m_stabilityRegen"), value, Settings.MinimumMod, config)), mult);
                break;

            case "EnvColdProtection":
                stats.AddStatStack(statTag, new StatStack(stackSource, Modify(mult, AT.GetCharacterStat(stats, "m_coldProtection"), value, Settings.Minimum, config)), mult);
                break;

            case "EnvHeatProtection":
                stats.AddStatStack(statTag, new StatStack(stackSource, Modify(mult, AT.GetCharacterStat(stats, "m_heatProtection"), value, Settings.Minimum, config)), mult);
                break;

            case "ColdRegen":
                stats.AddStatStack(statTag, new StatStack(stackSource, Modify(mult, AT.GetCharacterStat(stats, "m_coldRegenRate"), value, Settings.MinimumMod, config)), mult);
                break;

            case "HeatRegen":
                stats.AddStatStack(statTag, new StatStack(stackSource, Modify(mult, AT.GetCharacterStat(stats, "m_heatRegenRate"), value, Settings.MinimumMod, config)), mult);
                break;

            case "Waterproof":
                stats.AddStatStack(statTag, new StatStack(stackSource, Modify(mult, AT.GetCharacterStat(stats, "m_waterproof"), value, Settings.Minimum, config)), mult);
                break;

            case "CorruptionResistance":
                stats.AddStatStack(statTag, new StatStack(stackSource, Modify(mult, AT.GetCharacterStat(stats, "m_corruptionResistance"), value, Settings.Minimum, config)), mult);
                break;

            case "TemperatureModifier":
                stats.AddStatStack(statTag, new StatStack(stackSource, Modify(mult, AT.GetCharacterStat(stats, "m_temperatureModifier"), value, Settings.Minimum, config)), mult);
                break;

            case "MovementSpeed":
                stats.AddStatStack(statTag, new StatStack(stackSource, Modify(mult, AT.GetCharacterStat(stats, "m_movementSpeed"), value, Settings.MinimumMod, config)), mult);
                break;

            case "Speed":
                stats.AddStatStack(statTag, new StatStack(stackSource, Modify(mult, AT.GetCharacterStat(stats, "m_speedModifier"), value, Settings.MinimumMod, config)), mult);
                break;

            case "AttackSpeed":
                stats.AddStatStack(statTag, new StatStack(stackSource, Modify(mult, AT.GetCharacterStat(stats, "m_attackSpeedModifier"), value, Settings.MinimumMod, config)), mult);
                break;

            case "DodgeInvulnerabilityModifier":
                stats.AddStatStack(statTag, new StatStack(stackSource, Modify(mult, AT.GetCharacterStat(stats, "m_dodgeInvulneratiblityModifier"), value, Settings.MinimumMod, config)), mult);
                break;

            case "Detectability":
                stats.AddStatStack(statTag, new StatStack(stackSource, Modify(mult, AT.GetCharacterStat(stats, "m_detectability"), value, Settings.Minimum, config)), mult);
                break;

            case "VisualDetectability":
                stats.AddStatStack(statTag, new StatStack(stackSource, Modify(mult, AT.GetCharacterStat(stats, "m_visualDetectability"), value, Settings.Minimum, config)), mult);
                break;

            case "PouchCapacity":
                stats.AddStatStack(statTag, new StatStack(stackSource, Modify(mult, AT.GetCharacterStat(stats, "m_pouchCapacity"), value, Settings.Minimum, config)), mult);
                break;

            case "FoodEffectEfficiency":
                stats.AddStatStack(statTag, new StatStack(stackSource, Modify(mult, AT.GetCharacterStat(stats, "m_foodEffectEfficiency"), value, Settings.Minimum, config)), mult);
                break;

            case "SkillCooldownModifier":
                stats.AddStatStack(statTag, new StatStack(stackSource, Modify(mult, AT.GetCharacterStat(stats, "m_skillCooldownModifier"), value, Settings.MinimumMod, config)), mult);
                break;

            case "BuyModifier":
                stats.AddStatStack(statTag, new StatStack(stackSource, Modify(mult, AT.GetCharacterStat(stats, "m_buyModifier"), value, Settings.MinimumMod, config)), mult);
                break;

            case "SellModifier":
                stats.AddStatStack(statTag, new StatStack(stackSource, Modify(mult, AT.GetCharacterStat(stats, "m_sellModifier"), value, Settings.MinimumMod, config)), mult);
                break;

            case "FoodDepleteRate":
                stats.AddStatStack(statTag, new StatStack(stackSource, Modify(mult, AT.GetPlayerStat(stats.GetComponent <PlayerCharacterStats>(), "m_foodDepletionRate"), value, Settings.MinimumMod, config)), mult);
                break;

            case "DrinkDepleteRate":
                stats.AddStatStack(statTag, new StatStack(stackSource, Modify(mult, AT.GetPlayerStat(stats.GetComponent <PlayerCharacterStats>(), "m_drinkDepletionRate"), value, Settings.MinimumMod, config)), mult);
                break;

            case "SleepDepleteRate":
                stats.AddStatStack(statTag, new StatStack(stackSource, Modify(mult, AT.GetPlayerStat(stats.GetComponent <PlayerCharacterStats>(), "m_sleepDepletionRate"), value, Settings.MinimumMod, config)), mult);
                break;
            }
        }
Esempio n. 42
0
 public abstract AbilityCaster Initialize(CharacterStats caster);
Esempio n. 43
0
 /// <summary>
 /// Given a card and stats for both a player and enemy, apply those effects to each other simultaneously
 /// </summary>
 /// <param name="playerCard"></param>
 /// <param name="playerStats"></param>
 /// <param name="enemyCard"></param>
 /// <param name="enemyStats"></param>
 public void BattleCalculations(CardAction playerCard, CharacterStats playerStats, CardAction enemyCard, CharacterStats enemyStats)
 {
     //apply card effects to both characters
     ApplyAction(playerCard, enemyCard, playerStats, enemyStats);
     ApplyAction(enemyCard, playerCard, enemyStats, playerStats);
 }
Esempio n. 44
0
 private void Start()
 {
     playerManager = PlayerManager.instance;
     myStats       = GetComponent <CharacterStats>();
 }
Esempio n. 45
0
 public override void ApplyEffect(CharacterStats stats)
 {
     stats.Heal(10);
 }
Esempio n. 46
0
 void Start()
 {
     stats = GetComponent <Player>().characterStats;
 }
Esempio n. 47
0
 private void Start()
 {
     spawnProjectile = transform.Find("ProjectileSpawn");
     characterStats  = GetComponent <CharacterStats>();
 }
Esempio n. 48
0
 private void Awake()
 {
     stats = GetComponent <CharacterStats>();
 }
Esempio n. 49
0
 public void Consume(CharacterStats stat)
 {
     throw new System.NotImplementedException();
 }
Esempio n. 50
0
    IEnumerator PickUp(Collider other)
    {
        gameObject.GetComponent <MeshRenderer>().enabled = false;
        gameObject.GetComponent <Collider>().enabled     = false;
        gameObject.GetComponent <ParticleSystem>().Stop();
        CharacterStats stats = other.GetComponent <CharacterStats>();
        Axe            axe   = other.GetComponentInChildren <Axe>();
        Sword          sword = other.GetComponentInChildren <Sword>();
        Spell          spell = other.GetComponentInChildren <Spell>();

        if (charBoost != null)
        {
            Destroy(Instantiate(charBoost.pickUpEffect, gameObject.transform.position, Quaternion.identity), 3f);
            Destroy(Instantiate(charBoost.pickUpSound, gameObject.transform.position, Quaternion.identity), 3f);

            Destroy(Instantiate(charBoost.pickUpText, gameObject.transform.position, Quaternion.identity), 5f);

            powerUpDuration = charBoost.boostDuration;
            if (powerUpDuration > 20f)
            {
                powerUpDuration = 20f;
            }
            stats.maxHealth  += charBoost.healthBoost;
            stats.maxMana    += charBoost.manaBoost;
            stats.moveSpeed  += charBoost.speedBoost;
            stats.jumpForce  += charBoost.jumpForceBoost;
            stats.replenishH += charBoost.healthRegenBoost;
            stats.replenishM += charBoost.manaRegenBoost;
        }
        else if (axeBoost != null)
        {
            Destroy(Instantiate(axeBoost.pickUpEffect, gameObject.transform.position, Quaternion.identity), 3f);
            Destroy(Instantiate(axeBoost.pickUpSound, gameObject.transform.position, Quaternion.identity), 3f);

            Destroy(Instantiate(axeBoost.pickUpText, gameObject.transform.position, Quaternion.identity), 3f);

            powerUpDuration = axeBoost.boostDuration;
            if (powerUpDuration > 20f)
            {
                powerUpDuration = 20f;
            }
            axe.axeMultiShot     = axeBoost.multiShooter;
            axe.axeConeSize      = axeBoost.shotSpread;
            axe.axeShotgunAmount = axeBoost.shotMultiply;

            for (int i = 0; i < axe.axeStats.Length; i++)
            {
                //Debug.Log("BOOSTED BY   " + axeBoost.GetAxeBoostArray()[i]);
                if (axeBoost.GetAxeBoostArray()[i] > 0)
                {
                    axe.axeStats[i] *= axeBoost.GetAxeBoostArray()[i];
                }

                //Debug.Log("AFTER BOOST VALUE  " + axe.axeStats[i]);
            }
        }
        else if (swordBoost != null)
        {
            Destroy(Instantiate(swordBoost.pickUpEffect, gameObject.transform.position, Quaternion.identity), 3f);
            Destroy(Instantiate(swordBoost.pickUpSound, gameObject.transform.position, Quaternion.identity), 3f);

            Destroy(Instantiate(swordBoost.pickUpText, gameObject.transform.position, Quaternion.identity), 3f);

            powerUpDuration = swordBoost.boostDuration;
            if (powerUpDuration > 20f)
            {
                powerUpDuration = 20f;
            }
            sword.swordMultiShot     = swordBoost.multiShooter;
            sword.swordConeSize      = swordBoost.shotSpread;
            sword.swordShotgunAmount = swordBoost.shotMultiply;

            for (int i = 0; i < sword.swordStats.Length; i++)
            {
                //Debug.Log("BOOSTED BY   " + swordBoost.GetSwordBoostArray()[i]);
                if (swordBoost.GetSwordBoostArray()[i] > 0)
                {
                    sword.swordStats[i] *= swordBoost.GetSwordBoostArray()[i];
                }

                //Debug.Log("AFTER BOOST VALUE  " + sword.swordStats[i]);
            }
        }
        else if (spellBoost != null)
        {
            Destroy(Instantiate(spellBoost.pickUpEffect, gameObject.transform.position, Quaternion.identity), 3f);
            Destroy(Instantiate(spellBoost.pickUpSound, gameObject.transform.position, Quaternion.identity), 3f);

            Destroy(Instantiate(spellBoost.pickUpText, gameObject.transform.position, Quaternion.identity), 3f);

            powerUpDuration = spellBoost.boostDuration;
            if (powerUpDuration > 20f)
            {
                powerUpDuration = 20f;
            }
            spell.spellMultiShot     = spellBoost.multiShooter;
            spell.spellConeSize      = spellBoost.shotSpread;
            spell.spellShotgunAmount = spellBoost.shotMultiply;

            for (int i = 0; i < spell.spellStats.Length; i++)
            {
                //Debug.Log("BOOSTED BY   " + spellBoost.GetSpellBoostArray()[i]);
                if (spellBoost.GetSpellBoostArray()[i] > 0)
                {
                    spell.spellStats[i] *= spellBoost.GetSpellBoostArray()[i];
                }

                //Debug.Log("AFTER BOOST VALUE  " + spell.spellStats[i]);
            }
        }

        yield return(new WaitForSeconds(powerUpDuration));

        if (axeBoost != null)
        {
            axe.LoadAxeStats();
            axe.axeMultiShot = false;
        }
        else if (swordBoost != null)
        {
            sword.LoadSwordStats();
            sword.swordMultiShot = false;
        }
        else if (spellBoost != null)
        {
            spell.LoadSpellStats();
            spell.spellMultiShot = false;
        }
        else if (charBoost != null)
        {
            stats.maxHealth  -= charBoost.healthBoost;
            stats.maxMana    -= charBoost.manaBoost;
            stats.moveSpeed  -= charBoost.speedBoost;
            stats.jumpForce  -= charBoost.jumpForceBoost;
            stats.replenishH -= charBoost.healthRegenBoost;
            stats.replenishM -= charBoost.manaRegenBoost;
        }

        Destroy(gameObject);
    }
Esempio n. 51
0
    public Weapon(int a)
    {
        base.itemDD = a;
        if (a == 0)
        {
            base.name        = "Axe of the Celestial Battalion";
            base.Description = "battleaxe forged by master dwarven and poladar blacksmiths and blessed \n" +
                               "by a great sorcerer, it was made for a poladar chief.\n ";
            base.cost        = 20;
            base.isDestroyed = false;
            base.Part        = "Weapon";
            base.Type        = "Axe";
            CharacterStats temp = new CharacterStats();
            temp.setCHA(0);
            temp.setCON(1);
            temp.setINT(0);
            temp.setDEX(2);
            temp.setSTR(0);
            temp.setWIS(0);
            base.bonus = temp;
        }
        else
        {
            if (a == 1)
            {
                base.name        = "Elven Blade";
                base.Description = "This sword (like the other eleven) has a generic metallic colored blade and a black hilt.\n" +
                                   "There is a small white symbol (See Symbol below) etched in on side of the black hilt.";
                base.cost        = 40;
                base.isDestroyed = false;
                base.Part        = "Weapon";
                base.Type        = "Sword";
                CharacterStats temp = new CharacterStats();
                temp.setCHA(1);
                temp.setCON(0);
                temp.setINT(1);
                temp.setDEX(1);
                temp.setSTR(0);
                temp.setWIS(1);
                base.bonus = temp;
            }
            else
            {
                if (a == 2)
                {
                    base.name        = "Warlord’s Bow";
                    base.Description = "This mithral elements of bow allows the shooter \nto attract and lead a number of followers ";

                    base.cost        = 60;
                    base.isDestroyed = false;
                    base.Part        = "Weapon";
                    base.Type        = "Bow";
                    CharacterStats temp = new CharacterStats();
                    temp.setCHA(4);
                    temp.setCON(0);
                    temp.setINT(1);
                    temp.setDEX(1);
                    temp.setSTR(0);
                    temp.setWIS(0);
                    base.bonus = temp;
                }
                else
                {
                    if (a == 3)
                    {
                        base.name        = "Demon Blade";
                        base.Description = "This blade is fashioned to make the warrior appear \n" +
                                           "to be a demon. The pictures on the blades shows a horned demon head";
                        base.cost        = 20;
                        base.isDestroyed = false;
                        base.Part        = "Weapon";
                        base.Type        = "Blade";
                        CharacterStats temp = new CharacterStats();
                        temp.setCHA(1);
                        temp.setCON(0);
                        temp.setINT(0);
                        temp.setDEX(1);
                        temp.setSTR(3);
                        temp.setWIS(0);
                        base.bonus = temp;
                    }
                    else
                    {
                        if (a == 5)
                        {
                            base.name        = "Dragonskin hook";
                            base.Description = "This hook is crafted from the hide of a great wyrm dragon.\n" +
                                               " At the warrior's command, the hook sprouts enormous dragon wings, \n" +
                                               "giving warrior more mobility .";
                            base.cost        = 60;
                            base.isDestroyed = false;
                            base.Part        = "Weapon";
                            base.Type        = "Hook";
                            CharacterStats temp = new CharacterStats();
                            temp.setCHA(0);
                            temp.setCON(0);
                            temp.setINT(1);
                            temp.setDEX(4);
                            temp.setSTR(1);
                            temp.setWIS(0);
                            base.bonus = temp;
                        }
                        else
                        {
                            if (a == 4)
                            {
                                base.name        = "Dagger of Luck";
                                base.Description = "This dagger gives wearer a  lot of bonuses ";
                                base.cost        = 40;
                                base.isDestroyed = false;
                                base.Part        = "Weapon";
                                base.Type        = "Dagger";
                                CharacterStats temp = new CharacterStats();
                                temp.setCHA(1);
                                temp.setCON(1);
                                temp.setINT(1);
                                temp.setDEX(1);
                                temp.setSTR(0);
                                temp.setWIS(1);
                                base.bonus = temp;
                            }
                        }
                    }
                }
            }
        }
    }
Esempio n. 52
0
    // takes in the stats of the character that we want to attack
    //public void Attack (CharacterStats targetStats, Animator anim)
    //{
    //    if (attackCooldown < 0f)
    //    {
    //        anim.SetTrigger("Hit1");
    //        StartCoroutine(DoDamage(targetStats, damageDelay));

    //        if (OnAttack != null)
    //        {
    //            OnAttack();
    //        }
    //        //play animation

    //        // the greater the attack speed the faster the cooldown
    //        attackCooldown = 1f / attackSpeed;
    //    }
    //}

    IEnumerator DoDamage(CharacterStats stats, float delay)
    {
        yield return(new WaitForSeconds(delay));

        stats.TakeDamage(myStats.damage.GetValue());
    }
Esempio n. 53
0
 public override void Equip(CharacterStats cs)
 {
     base.Equip(cs);
 }
Esempio n. 54
0
        public static bool ItemTransferValidNew(InventoryItem invitem, UIInventoryGridItem from, UIInventoryGridItem to,
                                                out string error, bool alreadyHeld = false)
        {
            UIInventoryItemZone owner;

            error = string.Empty;
            if (invitem == null || invitem.baseItem == null)
            {
                return(true);
            }
            if (from == to && UIGlobalInventory.Instance.DragOwnerIsSame())
            {
                return(true);
            }
            InventoryItem       inventoryItem       = invitem;
            UIInventoryGridItem uIInventoryGridItem = from;

            if (!to)
            {
                owner = null;
            }
            else
            {
                owner = to.Owner;
            }
            if (!UIInventoryGridItem.ItemTransferValid(inventoryItem, uIInventoryGridItem, owner, out error, alreadyHeld))
            {
                return(false);
            }
            if (!UIInventoryGridItem.ItemTakeValid(to, out error))
            {
                return(false);
            }

            //!+ ADDED CODE
            // this is to disallow items TO
            if (IEModOptions.UnlockCombatInv && GameState.InCombat &&
                (to.EquipmentSlot == Equippable.EquipmentSlot.Armor || ForbiddenToMoveItems.Contains(invitem.BaseItem.Name)))
            {
                // doesn't allow equipping/unequipping armor during combat, as well as summoned magical items such as druid cat claws
                error = GUIUtils.GetText(0xd7);
                return(false);
            }
            //!+ END ADD

            if (to && (to.Locked || to.Blocked || !to.EquipmentModifyValid()))
            {
                return(false);
            }
            if (to && to.EquipmentSlot != Equippable.EquipmentSlot.None)
            {
                error = GUIUtils.GetText(217);
                Equippable        equippable = invitem.baseItem as Equippable;
                EquipmentSoulbind component  = invitem.baseItem.GetComponent <EquipmentSoulbind>();
                if (!equippable)
                {
                    return(false);
                }
                if (!equippable.CanUseSlot(to.EquipmentSlot))
                {
                    return(false);
                }
                if (to.WeaponSetBuddy != null && !to.WeaponSetBuddy.Empty)
                {
                    if (equippable.BothPrimaryAndSecondarySlot)
                    {
                        error = GUIUtils.GetText(1737);
                        return(false);
                    }
                    Equippable invItem = to.WeaponSetBuddy.InvItem.baseItem as Equippable;
                    if (invItem && invItem.BothPrimaryAndSecondarySlot)
                    {
                        error = GUIUtils.GetText(1737);
                        return(false);
                    }
                }
                Equipment selectedEquipment = UIInventoryManager.Instance.Equipment.SelectedEquipment;
                if (selectedEquipment && selectedEquipment.IsSlotLocked(to.EquipmentSlot))
                {
                    return(false);
                }
                Equippable.CantEquipReason cantEquipReason = equippable.WhyCantEquip(UIInventoryManager.Instance.SelectedCharacter.gameObject);
                if (cantEquipReason != Equippable.CantEquipReason.None)
                {
                    CharacterStats selectedCharacter = UIInventoryManager.Instance.SelectedCharacter;
                    switch (cantEquipReason)
                    {
                    case Equippable.CantEquipReason.EquipmentLocked:
                    {
                        object[] name = new object[] { invitem.baseItem.Name, CharacterStats.Name(selectedCharacter) };
                        error = GUIUtils.Format(1003, name);
                        break;
                    }

                    case Equippable.CantEquipReason.ClassMismatch:
                    {
                        error = GUIUtils.Format(1003, new object[] { invitem.baseItem.Name, GUIUtils.GetClassString(selectedCharacter.CharacterClass, selectedCharacter.Gender) });
                        break;
                    }

                    case Equippable.CantEquipReason.SoulboundToOther:
                    {
                        error = GUIUtils.Format(2038, new object[] { equippable.Name, CharacterStats.Name(component.BoundGuid) });
                        break;
                    }

                    default:
                    {
                        goto case Equippable.CantEquipReason.EquipmentLocked;
                    }
                    }
                    return(false);
                }
            }
            if (from.EquipmentSlot != Equippable.EquipmentSlot.None)
            {
                Equipment equipment = UIInventoryManager.Instance.Equipment.SelectedEquipment;
                if (equipment && to && equipment.IsSlotLocked(to.EquipmentSlot))
                {
                    return(false);
                }
            }
            if (to && to.EquipmentSlot == Equippable.EquipmentSlot.Grimoire && UIInventoryManager.Instance.SelectedCharacter.EffectDisablesSpellcasting)
            {
                error = GUIUtils.GetText(1738);
                return(false);
            }
            if (to && to.RestrictByFilter != UIInventoryFilter.ItemFilterType.NONE && (invitem.baseItem.FilterType & to.RestrictByFilter) == UIInventoryFilter.ItemFilterType.NONE)
            {
                if (to.OrAllowEquipment == Equippable.EquipmentSlot.None || !(invitem.baseItem is Equippable) || !(invitem.baseItem as Equippable).CanUseSlot(to.OrAllowEquipment))
                {
                    return(false);
                }
            }
            return(true);
        }
Esempio n. 55
0
 public override void Unequip(CharacterStats cs)
 {
     base.Unequip(cs);
 }
Esempio n. 56
0
 private void Start()
 {
     characterStats = GetComponentInParent <CharacterStats>();
 }
Esempio n. 57
0
 private void Select(Transform target)
 {
     _target      = target;
     _targetStats = _target.GetComponent <CharacterStats>();
 }
Esempio n. 58
0
 public CharacterView(ContentManager content, string assetName, int frameWidth, int frameHeight, float xPos, float yPos, CharacterStats stats)
     : base(content, assetName, frameWidth, frameHeight, xPos, yPos)
 {
     this.stats = stats;
 }
Esempio n. 59
0
 public abstract void Cast(CharacterStats onTarget);
Esempio n. 60
0
 private void Unselect()
 {
     _target      = null;
     _targetStats = null;
 }