public static void OnCombatEnd(UnitCard victoriousUnit) { instance.selectedTile.AddCard(victoriousUnit); DeSelectTile(); instance.turnLocation.SetParent(instance.turnLocationRect); CardPreviewWindow.OnCombatEnd(); }
public virtual int UserDamageModifiers(int damage, AttackCard attack, UnitCard target, bool heal = false) { if (!heal) { if (attack.type == AttackType.PHYSICAL) { //aggresion damage += aggression; //berserk if (currentHealth <= Defines.criticalHp && berserk) { damage *= Defines.criticalHpMultiplier; } } else //type == AttackType.MAGICAL { //analytic damage += analytic; //overdrive if (currentHealth <= Defines.criticalHp && overdrive) { damage *= Defines.criticalHpMultiplier; } } if (infiltrate > 0 && Infiltrated()) { damage += infiltrate; } } return(damage); }
public override void OnCombatEnd(UnitCard player1Unit, UnitCard player2Unit) { player1Unit.masterySpirit -= 10; player2Unit.masterySpirit -= 10; player.DiscardLocationCard(this); }
public void UpdateStrengthText() { UnitCard card = (UnitCard)Card; StrengthText.text = card.Strength.ToString(); if (!card.Hero) { if (card.Strength > card.GetBaseStrength()) { StrengthText.color = new Color32(6, 100, 42, 255); } else if (card.Strength < card.GetBaseStrength()) { StrengthText.color = Color.red; } else { StrengthText.color = Color.black; } } else { StrengthText.color = Color.white; } }
public void AddUnitCard(string name, int cost, Faction f, string uType, string flavor, int r, int m, int hp, List <Ability> a) { UnitCard c = new UnitCard(cost, name, f, uType, flavor, r, m, hp, a.ToArray()); Console.WriteLine("~~~\n" + c.ToString()); listOfCards.Add(name, c); }
public void RenderCard() { background.sprite = factions[cardData.Faction].cardBackground; cardName.text = cardData.Name; string mainText = (cardData as UnitCard)?.MainText; description.text = (mainText == null ? cardData.MainText : mainText); cardCost.text = cardData.DeployCost.ToString(); if (cardData.FlavorText != "") { flavourText.text = cardData.FlavorText; } else { flavourText.gameObject.SetActive(false); } if (cardData is UnitCard) { UnitCard unitCardData = cardData as UnitCard; unitType.text = unitCardData.UnitType; rangedDamage.text = unitCardData.RangedAttack.ToString(); meleeDamage.text = unitCardData.MeleeAttack.ToString(); health.text = unitCardData.HealthPoints.ToString(); } }
public override void OnInspectorGUI() { DrawDefaultInspector(); UnitCard card = ((GameObject)target).GetComponent <UnitCard>(); DrawInspector(card); }
public PlayUnitCardAction(UnitCard card, Lane lane, int sideIndex, int position) { this.cardTarget = new SendableTarget <Card>("card", card); this.laneTarget = new SendableTarget <Lane>("lane", lane); this.pos = position; this.sideIndex = sideIndex; }
public override void OnCombatEnd(UnitCard winner, UnitCard loser) { if (affectedCard != null) { affectedCard.masteryAgility -= 5; } }
private Card GenerateCard(GameObject holder) { TurnManager tm = TurnManager.instance; Card randomCard = tm.RandomCard(); if (randomCard.GetType() == typeof(UnitCard)) { UnitCard randomCardComponent = (UnitCard)holder.AddComponent(randomCard.GetType()); randomCardComponent.copyUnitCard((UnitCard)randomCard); return(randomCardComponent); } else if (randomCard.GetType() == typeof(SpellCard)) { SpellCard randomCardComponent = (SpellCard)holder.AddComponent(randomCard.GetType()); randomCardComponent.copySpellCard((SpellCard)randomCard); return(randomCardComponent); } else { Debug.LogError("Card type error! : " + randomCard.GetType().ToString()); } return(new Card()); }
public override int DamageModifiers(int damage, AttackCard attack, UnitCard user, UnitCard enemy, bool heal = false) { if (attack is HealAttackCard) { return(damage + 10); } return(damage); }
protected void Intimidate(UnitCard enemy) { if (intimidate > 0) { LogWindow.Log(name + "'s Intimidate activates"); enemy.currentSpirit -= intimidate; } }
protected void Hypnosis(UnitCard enemy) { if (hypnosis > 0) { LogWindow.Log(name + "'s Hypnosis activates"); enemy.currentWisdom -= hypnosis; } }
protected void Weaken(UnitCard enemy) { if (weaken > 0) { LogWindow.Log(name + "'s Weaken activates"); enemy.currentStrength -= weaken; } }
protected void Restrain(UnitCard enemy) { if (restrain > 0) { LogWindow.Log(name + "'s Restrain activates"); enemy.currentAgility -= restrain; } }
public virtual void OnCombatStart(UnitCard enemy) { Weaken(enemy); Restrain(enemy); Hypnosis(enemy); Intimidate(enemy); Support(); }
public void AddToDiscardPile(UnitCard unitCard) { if (unitCard != null) { unitCard.OnDeath(); } AddToDiscardPile((Card)unitCard); }
private PlayUnitCardAction CreatePlayCardAction(UnitCard card) { return(new PlayUnitCardAction( card, Driver.instance.gameManager.Lanes[laneIndex], Driver.instance.sideIndex, positionIndex )); }
public Delta[] GetDeployDeltas(UnitCard card, int side, int pos, GameManager gm) { List <Delta> deltas = new List <Delta>() { new AddToLaneDelta(this, card, side, pos, gm) }; return(deltas.ToArray()); }
public bool CanDestroyUnit(UnitCard unit) { Debug.Log("ENEMY ROW OBJECT:" + this.ToRow.name.Substring(5) + "UNIT TO ROW NAME: " + unit.ToRow.name); if (this.ToRow.name == unit.ToRow.name && !(unit is HeroUnit)) { return(true); } return(false); }
public void LoadCardData(UnitCardData card) { cardData = card; LoadRegularCardData(card); UnitCard unitCard = GetComponent <UnitCard>(); //references unitCard.healthText = healthText; unitCard.strengthText = strengthText; unitCard.agilityText = agilityText; unitCard.wisdomText = wisdomText; unitCard.spiritText = spiritText; //stats unitCard.originalHealth = cardData.health; unitCard.originalStrength = cardData.strength; unitCard.originalAgility = cardData.agility; unitCard.originalWisdom = cardData.wisdom; unitCard.originalSpirit = cardData.spirit; //keywords unitCard.aggression = cardData.aggression; unitCard.analytic = cardData.analytic; unitCard.masteryStrength = cardData.masteryStrenght; unitCard.masteryAgility = cardData.masteryAgility; unitCard.masteryWisdom = cardData.masteryWisdom; unitCard.masterySpirit = cardData.masterySpirit; unitCard.weaken = cardData.weaken; unitCard.restrain = cardData.restrain; unitCard.hypnosis = cardData.hypnosis; unitCard.intimidate = cardData.intimidate; unitCard.supportStrenght = cardData.supportStrenght; unitCard.supportAgility = cardData.supportAgility; unitCard.supportWisdom = cardData.supportWisdom; unitCard.supportSpirit = cardData.supportSpirit; unitCard.infiltrate = cardData.infiltrate; unitCard.berserk = cardData.berserk; unitCard.overdrive = cardData.overdrive; unitCard.armor = cardData.armor; unitCard.endurance = cardData.endurance; unitCard.reckless = cardData.reckless; unitCard.regenerate = cardData.regenerate; unitCard.defiant = cardData.defiant; unitCard.stubborn = cardData.stubborn; unitCard.piercer = cardData.piercer; //unitCard.taunt = cardData.taunt; }
void CreateCard(Unit unit) { UnitCard card = Instantiate(unitCardPrefab, content).GetComponent <UnitCard>(); allUnitCards.Add(unit, card); units.Add(unit); card.Initialize(unit); unit.deathAction += DeleteDeadUnitCard; }
public override void OnCombatStart(UnitCard player1Unit, UnitCard player2Unit) { if (player1Unit.nation == Nation.EARTH) { player1Unit.currentStrength++; } if (player2Unit.nation == Nation.EARTH) { player2Unit.currentStrength++; } }
public override void OnCombatEnd(UnitCard winner, UnitCard loser) { if (affectedCard1 != null) { affectedCard1.armor -= 5; } if (affectedCard2 != null) { affectedCard2.armor -= 5; } }
public static void DrawInspector(UnitCard card) { EditorGUILayout.LabelField("ID", card.ID.ToString()); EditorGUILayout.LabelField("Name", card.Name); EditorGUILayout.LabelField("Art", card.Art); EditorGUILayout.LabelField("Section", card.Section.ToString()); EditorGUILayout.LabelField("Hero", card.Hero.ToString()); EditorGUILayout.LabelField("Ability", card.Ability.ToString()); if (card.Ability == Card.Abilities.Avenger) { EditorGUILayout.LabelField("Avenger", card.Avenger.ToString()); } else if (card.Ability == Card.Abilities.Muster) { EditorGUILayout.LabelField("Muster", card.Muster); } else if (card.Ability == Card.Abilities.Scorch) { EditorGUILayout.LabelField("Scorch Value", card.ScorchThreshold.ToString()); //EditorGUILayout.HelpBox("The value that a row must be greater than for the Scorch ability to activate", MessageType.Info); } else if (card.Ability == Card.Abilities.Bond) { EditorGUILayout.LabelField("Bond", card.Bond.ToString()); } EditorGUILayout.Toggle("Ability Used", card.AbilityUsed); if (card.Hero) { EditorGUILayout.LabelField("Strength", card.Strength.ToString()); } else { GUILayout.Label("Strength"); // ---------------------------- // | space | Total [Strength] | // | space | Base [Strength] | // ---------------------------- EditorGUILayout.BeginHorizontal(); //Horizontal contains tab + ints GUILayout.Space(20); //Tab in 20 pixels //https://forum.unity.com/threads/indenting-guilayout-objects.113494/ EditorGUILayout.BeginVertical(); //Vertical contains ints EditorGUILayout.LabelField("Total", card.Strength.ToString()); EditorGUILayout.LabelField("Base", card.GetBaseStrength().ToString()); EditorGUILayout.EndVertical(); EditorGUILayout.EndHorizontal(); EditorGUILayout.LabelField("Morale", card.Morale.ToString()); EditorGUILayout.Toggle("Horn", card.Horn); } }
public override void OnCombatStart(UnitCard player1Unit, UnitCard player2Unit) { if (string.Equals(player1Unit.name, "Princess Izumi", System.StringComparison.OrdinalIgnoreCase)) { player1Unit.ModifyHealth(-10, true); } if (string.Equals(player2Unit.name, "Princess Izumi", System.StringComparison.OrdinalIgnoreCase)) { player2Unit.ModifyHealth(-10, true); } }
public override void OnCombatStart(UnitCard player1Unit, UnitCard player2Unit) { if (player1Unit.currentWisdom >= 5) { player1Unit.ModifyHealth(-5, true); } if (player2Unit.currentWisdom >= 5) { player2Unit.ModifyHealth(-5, true); } }
public override void OnCombatStart(UnitCard player1, UnitCard player2) { if (player1.nation == Nation.WATER) { player1.ModifyHealth(-10, true); } if (player2.nation == Nation.WATER) { player2.ModifyHealth(-10, true); } }
public void loadHeroCard() { Debug.Log("Loading Heroes for " + this.name); if (this.gameObject.name == "Deck1") { HeroCard1 = findHero(); } else { HeroCard2 = findHero(); } }
public override void OnCombatStart(UnitCard player1Unit, UnitCard player2Unit) { if (player1Unit.nation == Nation.EARTH) { affectedCard1 = player1Unit; player1Unit.armor += 5; } if (player2Unit.nation == Nation.EARTH) { affectedCard2 = player2Unit; player2Unit.armor += 5; } }
public override void OnCombatStart(UnitCard player1Unit, UnitCard player2Unit) { if (player1Unit.currentAgility < 5) { player1Unit.currentStrength -= 1; player1Unit.currentSpirit -= 1; } if (player2Unit.currentAgility < 5) { player2Unit.currentStrength -= 1; player2Unit.currentSpirit -= 1; } }
Texture2D SetTextureStats(Texture2D texture, UnitCard card) { Texture2D healthTexture = (Texture2D) Resources.Load("GUI/Cards/health/" + TranslateFactionToColourString() + "/health" + card.Health); int healthHeight = healthTexture.height; int healthWidth = healthTexture.width; var health = healthTexture.GetPixels(0, 0, healthWidth, healthHeight); texture.SetPixels(154,165, healthWidth, healthHeight, health); Texture2D attackTexture = (Texture2D) Resources.Load("GUI/Cards/attack/" + TranslateFactionToColourString() + "/attack" + card.Attack); int attackHeight = attackTexture.height; int attackWidth = attackTexture.width; var attack = attackTexture.GetPixels(0, 0, attackWidth, attackHeight); texture.SetPixels(46,164, attackWidth, attackHeight, attack); Texture2D movementTexture = (Texture2D) Resources.Load("GUI/Cards/movement/" + TranslateFactionToColourString() + "/movement" + card.Movement); int movementHeight = movementTexture.height; int movementWidth = movementTexture.width; var movement = movementTexture.GetPixels(0, 0, movementWidth, movementHeight); texture.SetPixels(95,167, movementWidth, movementHeight, movement); return texture; }