private void OnUpdateAttackTarget(BaseMonoEntity entity) { if ((entity != null) && this._isTutorialAvailable) { MonsterActor attackee = Singleton <EventManager> .Instance.GetActor <MonsterActor>(entity.GetRuntimeID()); BaseMonoAvatar localAvatar = Singleton <AvatarManager> .Instance.GetLocalAvatar(); AvatarActor actor = Singleton <EventManager> .Instance.GetActor <AvatarActor>(localAvatar.GetRuntimeID()); EntityNature attackerNature = (EntityNature)attackee.metaConfig.nature; EntityNature attribute = (EntityNature)actor.avatarDataItem.Attribute; float num = DamageModelLogic.GetNatureDamageBonusRatio(attackerNature, attribute, attackee); if (((((attackee != null) && (actor != null)) && ((base.step == 0) && (base.GetCurrentStepState() == BaseLevelTutorial.StepState.Sleep))) && ((!this.IsAllStepDone() && (num > 1f)) && ((base.step == 0) && (base.GetCurrentStepState() == BaseLevelTutorial.StepState.Sleep)))) && !this.IsAllStepDone()) { this.ActiveCurrentStep(); this.WaitShowTutorialStep(this.GetDelayTime(base.step), new Action(this.ShowTutorialStep0)); } if ((((attackee != null) && (actor != null)) && ((this._killAmount >= 2) && (this._monsterCreatedAmount > 2))) && (((num > 1f) && (base.step == 2)) && ((base.GetCurrentStepState() == BaseLevelTutorial.StepState.Sleep) && !this.IsAllStepDone()))) { this.ActiveCurrentStep(); this.WaitShowTutorialStep(this.GetDelayTime(base.step), new Action(this.ShowTutorialStep2)); } } }
public static float GetNatureDamageBonusRatio(EntityNature attackerNature, EntityNature attackeeNature, BaseAbilityActor attackee) { if (attackee is MonsterActor) { return(GetFixedDamageBonusFactor(DEFAULT_MONSTER_NATURE_DAMAGE_TABLE[(int)attackerNature, (int)attackeeNature])); } if (attackee is AvatarActor) { return(DEFAULT_AVATAR_NATURE_DAMAGE_TABLE[(int)attackerNature, (int)attackeeNature]); } return(0f); }
public void SetupNatureBonus() { BaseMonoAvatar localAvatar = Singleton <AvatarManager> .Instance.GetLocalAvatar(); EntityNature attribute = (EntityNature)Singleton <EventManager> .Instance.GetActor <AvatarActor>(localAvatar.GetRuntimeID()).avatarDataItem.Attribute; EntityNature nature = (EntityNature)this._currentMonster.metaConfig.nature; int natureBonusType = DamageModelLogic.GetNatureBonusType(attribute, nature); base.transform.Find("DamageMark/Up").gameObject.SetActive(natureBonusType == 1); base.transform.Find("DamageMark/Down").gameObject.SetActive(natureBonusType == -1); }
private int GetAmountOfSameEntityNatureAvatarInTeam(EntityNature entityNature) { List <AvatarDataItem> memberList = Singleton <LevelScoreManager> .Instance.memberList; int num = 0; foreach (AvatarDataItem item in memberList) { if (item.Attribute == this.targetNature) { num++; } } return(num); }
public static int GetNatureBonusType(EntityNature attackerNature, EntityNature attackeeNature) { return(DEFAULT_NATURE_CIRCLE[(int)attackerNature, (int)attackeeNature]); }
public MaxAvatarNatureInTeamChallenge(LevelChallengeHelperPlugin helper, LevelChallengeMetaData metaData) : base(helper, metaData) { this._finished = false; this.targetNum = base._metaData.paramList[0]; this.targetNature = base._metaData.paramList[1]; }