void ToggleBodyPart(CharacterGraphic charGraphic, BodyPart bodyPart, bool value) { switch (bodyPart) { case BodyPart.Hair: charGraphic.TogglePart(BodyPart.Hair, value); break; case BodyPart.Head: charGraphic.TogglePart(BodyPart.Head, value); break; case BodyPart.Torso: charGraphic.TogglePart(BodyPart.Torso, value); break; case BodyPart.ArmUpperRight: charGraphic.TogglePart(BodyPart.ArmUpperRight, value); break; case BodyPart.ArmLowerRight: charGraphic.TogglePart(BodyPart.ArmLowerRight, value); break; case BodyPart.RightHand: charGraphic.TogglePart(BodyPart.RightHand, value); break; case BodyPart.ArmUpperLeft: charGraphic.TogglePart(BodyPart.ArmUpperLeft, value); break; case BodyPart.ArmLowerLeft: charGraphic.TogglePart(BodyPart.ArmLowerLeft, value); break; case BodyPart.LeftHand: charGraphic.TogglePart(BodyPart.LeftHand, value); break; case BodyPart.Hips: charGraphic.TogglePart(BodyPart.Hips, value); break; case BodyPart.RightLeg: charGraphic.TogglePart(BodyPart.RightLeg, value); break; case BodyPart.LeftLeg: charGraphic.TogglePart(BodyPart.LeftLeg, value); break; default: break; } }
void Awake() { storySheet = Resources.Load("Data/" + dataLoadName) as Entity_Story1; storyID = storySheet.param[readStartNumber].ID; storyCharacterName = storySheet.param[storyID].Name; storySheetText = storySheet.param[storyID].Story; storyNumber = storySheet.param[storyID].StoryNumber; c_graphic = GetComponent <CharacterGraphic>(); c_graphic.storyID = storyID; c_graphic.readStartNumber = readStartNumber; }
CombatCard SelectPriorityCard(List<CombatCard> availableCards, CharacterGraphic character) { CombatCard priorityCard = availableCards[0]; int maxStaminaCost = priorityCard.staminaCost; if (priorityCard.useUpAllStamina) maxStaminaCost = character.GetStamina(); foreach (CombatCard card in availableCards) { int realCardStaminaCost = card.staminaCost; if (card.useUpAllStamina) realCardStaminaCost = character.GetStamina(); if (realCardStaminaCost > maxStaminaCost) { priorityCard = card; maxStaminaCost = realCardStaminaCost; } else { if (realCardStaminaCost == maxStaminaCost) { if (Random.value > 0.5f) priorityCard = card; } } } //If no stamina-based card was chosen, choose an ammo-based card instead if (priorityCard == null) { int maxAmmoCost = 0; foreach (CombatCard card in availableCards) { if (card.ammoCost > maxAmmoCost) { priorityCard = card; maxAmmoCost = card.ammoCost; } else { if (card.ammoCost == maxAmmoCost) { if (Random.value > 0.5f) priorityCard = card; } } } } return priorityCard; }
public void AssignFloatingText(int value, Transform startPoint, CharacterGraphic.Resource resourceType) { transform.SetParent(startPoint, false); numberText.text=value.ToString(); if (resourceType == CharacterGraphic.Resource.Health) numberText.color = healthColor; if (resourceType == CharacterGraphic.Resource.Armor) numberText.color = armorColor; if (resourceType == CharacterGraphic.Resource.Stamina) numberText.color = staminaColor; if (resourceType == CharacterGraphic.Resource.Ammo) numberText.color = ammoColor; StartCoroutine(MoveUpdward()); }
public void Equip(GameObject target) { GameObject equipmentGraphic = null; BaseStats baseStats = target.GetComponent <BaseStats>(); bool isMale = baseStats.IsMale(); string graphicName = isMale ? maleGraphicGameObjectName : femaleGraphicGameObjectName; if (this.itemType == ItemEnum.WEAPON) { defaultAnimatorOverrideController = target.GetComponent <Animator>().runtimeAnimatorController; target.GetComponent <CharacterEquipmentSlot>().EquipOnSlot(bodyPart, this); target.GetComponent <WeaponManager>().weaponSlots[0].EquipWeapon(this as ScriptableWeapon); // Instantiate weapon graphic here // Hardcode for right hand for now // instance = Instantiate(this.weaponPrefab, target.GetComponent<WeaponManager>().weaponSlots[0].gameObject.transform); target.GetComponent <Animator>().runtimeAnimatorController = this.animatorOverrideController as RuntimeAnimatorController; return; } foreach (Transform t in target.GetComponentsInChildren <Transform>(true)) { if (t.gameObject.name == graphicName) { equipmentGraphic = t.gameObject; break; } } if (equipmentGraphic == null) { return; } equipmentGraphic.SetActive(true); CharacterGraphic charGraphic = target.GetComponent <CharacterGraphic>(); ToggleBodyPart(charGraphic, bodyPart, false); target.GetComponent <CharacterEquipmentSlot>().EquipOnSlot(bodyPart, this); }
/// <summary>Gets and converts BasicFontData to a BasicGraphic, then draws it.</summary> /// <param name="C"></param> /// <param name="Leftpos"></param> /// <param name="Toppos"></param> /// <param name="FG"></param> /// <returns></returns> private void DrawChar(Char C, int Leftpos, int Toppos, ConsoleColor FG) { //Draw a space if (C == ' ') { return; } //If the character is not in this font, draw a box. if (!ContainsChar(C)) { DrawNullChar(Leftpos, Toppos, FG); return; } //Turn the BasicFontData into BasicGraphic BasicGraphic Character = new CharacterGraphic(GetChar(C), FG); //Draw it Character.Draw(Leftpos, Toppos); }
public bool TrySelectCardToPlay(out CombatCard playedCard, CharacterGraphic character) { List<CombatCard> playableCards = SortOutPlayableEnemyCards(character); if (playableCards.Count > 0) { playedCard = SelectPriorityCard(playableCards, character); if (playedCard == null) throw new System.Exception("SelectPriorityCard failed to return a card!"); if (playedCard == null) throw new System.Exception("character is null!"); //print("Setting AI card user char"); playedCard.SetUserChar(character); EnemyGraphic enemy = character as EnemyGraphic; //enemy.RemovePlayedCardFromHand(playedCard); return true; } else { playedCard = null; return false; } }
public void Unequip(GameObject target) { GameObject equipmentGraphic = null; BaseStats baseStats = target.GetComponent <BaseStats>(); bool isMale = baseStats.IsMale(); string graphicName = isMale ? maleGraphicGameObjectName : femaleGraphicGameObjectName; if (this.itemType == ItemEnum.WEAPON) { target.GetComponent <CharacterEquipmentSlot>().EquipOnSlot(bodyPart, null); target.GetComponent <Animator>().runtimeAnimatorController = defaultAnimatorOverrideController as RuntimeAnimatorController; target.GetComponent <WeaponManager>().weaponSlots[0].UnequipWeapon(); Destroy(instance); return; } foreach (Transform t in target.GetComponentsInChildren <Transform>(true)) { if (t.gameObject.name == graphicName) { equipmentGraphic = t.gameObject; break; } } equipmentGraphic.SetActive(false); CharacterGraphic charGraphic = target.GetComponent <CharacterGraphic>(); ToggleBodyPart(charGraphic, bodyPart, true); target.GetComponent <CharacterEquipmentSlot>().EquipOnSlot(bodyPart, null); }
void TriggerEffect(CharacterGraphic rangedCardPlayer, RangedCard playedCard) { if (rangedCardPlayer == appliedToCharacter) foreach (CharacterGraphic enemy in playedCard.targetChars) enemy.TryPlaceCharacterStipulationCard(new CrossFire(false)); }
protected override bool ExtenderPrerequisitesMet(CharacterGraphic user) { return user.GetStamina()>0; }
void TriggerCard(CharacterGraphic cardPlayer, RangedCard playedCard) { if (cardPlayer == appliedToCharacter) { playedCard.SetIgnoresBlocks(true); //affectedCard = playedCard; //affectedCard.SetIgnoresBlocks(true); //appliedToCharacter.RemoveCharacterStipulationCard(this); } }
void PutCardToCharacter(ICombatCard playedCardObject, CharacterGraphic character) { if (character == null) throw new System.Exception("Null character!"); playedCardObject.GetTransform().SetParent(character.appliedCardsGroup, false); playedCardObject.GetTransform().SetAsLastSibling(); }
public void SelectEnemyCharacter(CharacterGraphic newSelectedCharacter) { selectedCharacter = newSelectedCharacter; EnemyCharacterSelectedInCombat(); EnemyGraphic enemy = selectedCharacter as EnemyGraphic; enemy.StartedTurn(); }
protected override bool ExtenderPrerequisitesMet(CharacterGraphic user) { if (user.GetAmmo() == 0) return true; else return false; }
protected override bool ExtenderPrerequisitesMet(CharacterGraphic user) { if (user.GetArmor() > 0 && !CombatCardTargeter.main.HasMeleeTargetEnemy()) return true; else return false; }
List<CombatCard> SortOutPlayableEnemyCards(CharacterGraphic character) { List<CombatCard> playableCards = new List<CombatCard>(); EnemyGraphic enemy = character as EnemyGraphic; List<CombatCard> cardsInHand = enemy.GetCharacterHand(); if (cardsInHand.Count > 0) { foreach (CombatCard card in cardsInHand) { if (combatManager.EligibleCombatCardType(card) && character.CharacterMeetsCardRequirements(card)) playableCards.Add(card); } } return playableCards; }
public bool SpecialPrerequisitesMet(CharacterGraphic user) { bool prerequisitesMet = true; if (targetType == TargetType.SelectFriendlyOther) { if (user.GetType() == typeof(EnemyGraphic)) prerequisitesMet = CardsScreen.main.GetCurrentEnemyCount() > 1; if (user.GetType() == typeof(MercGraphic)) prerequisitesMet = CardsScreen.main.GetCurrentMercCount() > 1; } if (!ExtenderPrerequisitesMet(user)) prerequisitesMet = false; return prerequisitesMet; }
protected override bool ExtenderPrerequisitesMet(CharacterGraphic user) { return (user.GetStamina() > 0 && user.GetArmor()==0); }
public void PlayCard(CharacterGraphic playToCharacter) { if (addedCombatCards.Count>0) playToCharacter.AddCardsToCurrentDeck(addedCombatCards.ToArray()); if (placedStipulationCard != null) playToCharacter.TryPlaceCharacterStipulationCard(placedStipulationCard); }
void Detonate(CharacterGraphic cardPlayer, MeleeCard playedCard) { if (cardPlayer.GetType() != typeof(MercGraphic)) { CombatManager.main.RemoveRoomStipulationCard(this); cardPlayer.TakeDamage(damage); } }
void TriggerEffect(CharacterGraphic meleeCardPlayer, MeleeCard playedCard) { if (playedCard.targetChars.Contains(appliedToCharacter)) appliedToCharacter.TakeDamage(damagePerMeleeAttack); }
public void PlayAssignedCard(CharacterGraphic playToCharacter) { assignedCard.PlayCard(playToCharacter); }
void TriggerEffect(CharacterGraphic rangedCardPlayer, RangedCard playedCard) { if (rangedCardPlayer.GetType() == appropriateAttackerType && playedCard.targetChars[0] == appliedToCharacter) appliedToCharacter.TakeDamage(damagePerRangedAttack); }
void NullifySelectedCharacter() { selectedCharacter = null; characterManager.ResetSelectionArrow(); }
void TryTriggerBlock(CharacterGraphic cardPlayer, RangedCard playedCard) { if (playedCard.targetChars.Contains(appliedToCharacter) && !playedCard.ignoresBlocks) { playedCard.targetChars.Remove(appliedToCharacter); RemoveStipulationCard(); } }
public void CharacterKilled(CharacterGraphic killedCharGraphic) { if (selectedCharacter == killedCharGraphic) NullifySelectedCharacter(); characterManager.DoCharacterDeathCleanup(killedCharGraphic); }
void ExplosionEffect(CharacterGraphic cardPlayer, RangedCard playedCard) { CombatManager.main.RemoveRoomStipulationCard(this); MissionCharacterManager.main.DamageOpposingTeam(damageToOpposingTeam); }
public void SetUserChar(CharacterGraphic userChar) { userCharGraphic = userChar; }
void Detonate(CharacterGraphic cardPlayer, MeleeCard playedCard) { CombatManager.main.RemoveRoomStipulationCard(this); cardPlayer.TakeDamage(damage); }
public void SetDefaultState() { damage=0; staminaDamage=0; ammoDamage = 0; damagePerStaminaPoint = 0; unarmoredBonusDamage = 0; usedUpStaminaPoints = 0; ammoCost=0; staminaCost=0; maxStaminaCost = 0; removeHealthCost = 0; takeDamageCost = 0; ignoresArmor = false; ignoresBlocks = false; userCharGraphic = null; targetChars.Clear(); ExtenderConstructor(); }
void ExplosionEffect(CharacterGraphic cardPlayer, RangedCard playedCard) { CombatManager.main.RemoveRoomStipulationCard(this); MissionCharacterManager.main.DamageAllCharacters(damageToEveryone); }
void TriggerEffect(CharacterGraphic rangedCardPlayer, RangedCard playedCard) { if (rangedCardPlayer.GetType() == typeof(MercGraphic)) appliedToCharacter.IncrementArmor(armorGainPerRangedAttack); }
void Trigger(CharacterGraphic cardPlayer, RangedCard playedCard) { //CardsScreen.main.RemoveRoomCard(this); cardPlayer.TakeDamage(rangedAttackDamagePenalty); }
public void ActivateCard(CharacterGraphic applyCardTo) { if (!lastsIndefinitely) { CombatManager.ERoundIsOver += RoundOver; currentRoundsActive = 0; } appliedToCharacter = applyCardTo; if (addedCombatCards.Count > 0) appliedToCharacter.AddCardsToCurrentDeck(addedCombatCards.ToArray()); ExtenderSpecificActivation(); }
protected virtual bool ExtenderPrerequisitesMet(CharacterGraphic user) { return true; }