public override IEnumerable <object> Run() { ChannelMember member = base.Entity.FindMember(base.Operation.CID); if (member == null || member.SharingInfo == null) { base.Finished = true; yield return(new FailMessage("[SharingResponseProcessor] member.SharingInfo") { Reason = FailMessage.ReasonCode.LogicalFail }); } else if (!base.Operation.Accept) { member.SharingInfo = null; } else { AddStatusEffect op = new AddStatusEffect { Type = member.SharingInfo.StatusEffect, Level = member.SharingInfo.EffectLevel, RemainTime = member.SharingInfo.DurationSec }; member.CharacterConn.RequestOperation(op); } yield break; }
// Token: 0x0600001E RID: 30 RVA: 0x000029E0 File Offset: 0x00000BE0 public static AddStatusEffect AddStatusEffectChance(ImbueEffectPreset effect, int chance, string statusEffectName) { AddStatusEffect addStatusEffect = effect.transform.Find("Effects").gameObject.AddComponent <AddStatusEffect>(); addStatusEffect.SetChanceToContract(chance); addStatusEffect.Status = ResourcesPrefabManager.Instance.GetStatusEffectPrefab(statusEffectName); addStatusEffect.OverrideEffectCategory = EffectSynchronizer.EffectCategories.Hit; return(addStatusEffect); }
public void Save(dynamic Data) { AddStatusEffect EffectData = (AddStatusEffect)Data; EffectData.StatusEffect = (VPTU.BattleManager.Data.Status_Afflictions)Status_Effects.SelectedItem; //EffectData.StatusExpiry_Method = (object)Expiry_Method.SelectedItem; EffectData.StatusExpiry_Time = (int)Expiry_Turns.Value; EffectData.StatusEffect_Force = (bool)Effect_Forced.IsChecked; EffectData.StatusEffect_Persistant = (bool)Effect_Persistant.IsChecked; }
public void Load(dynamic Data) { AddStatusEffect EffectData = (AddStatusEffect)Data; try { Status_Effects.SelectedItem = EffectData.StatusEffect; } catch { } //try { Expiry_Method.SelectedItem = EffectData.StatusExpiry_Method; } catch{ } try { Expiry_Turns.Value = EffectData.StatusExpiry_Time; } catch { } try { Effect_Forced.IsChecked = EffectData.StatusEffect_Force; } catch { } try { Effect_Persistant.IsChecked = EffectData.StatusEffect_Persistant; } catch { } }
public Effect ParseEffect(string effectConfig) { Effect effect = null; if (!string.IsNullOrEmpty(effectConfig) && effectConfig.Contains("=")) { var arr = effectConfig.Split('='); var effectType = arr[0]; var effectId = arr[1]; if (effectType == "Damage") { var damageEffectConfig = ConfigHelper.Get <SkillDamageEffectConfig>(int.Parse(effectId)); var damageEffect = new DamageEffect(); effect = damageEffect; damageEffect.DamageValueFormula = damageEffectConfig.ValueFormula; damageEffect.TriggerProbability = damageEffectConfig.Probability; if (damageEffectConfig.Target == "自身") { damageEffect.AddSkillEffectTargetType = AddSkillEffetTargetType.Self; } if (damageEffectConfig.Target == "技能目标") { damageEffect.AddSkillEffectTargetType = AddSkillEffetTargetType.SkillTarget; } if (damageEffectConfig.Type == "魔法伤害") { damageEffect.DamageType = DamageType.Magic; } if (damageEffectConfig.Type == "物理伤害") { damageEffect.DamageType = DamageType.Physic; } if (damageEffectConfig.Type == "真实伤害") { damageEffect.DamageType = DamageType.Real; } } if (effectType == "AddStatus") { var addStatusEffectConfig = ConfigHelper.Get <SkillAddStatusEffectConfig>(int.Parse(effectId)); var addStatusEffect = new AddStatusEffect(); effect = addStatusEffect; addStatusEffect.AddStatus = Resources.Load <StatusConfigObject>($"StatusConfigs/Status_{addStatusEffectConfig.StatusID}"); if (addStatusEffect.AddStatus == null) { addStatusEffect.AddStatus = Resources.Load <StatusConfigObject>($"StatusConfigs/BaseStatus/Status_{addStatusEffectConfig.StatusID}"); } addStatusEffect.Duration = (uint)(float.Parse(addStatusEffectConfig.Duration) * 1000); ParseParam(addStatusEffectConfig.Param1); ParseParam(addStatusEffectConfig.Param2); void ParseParam(string paramStr) { if (!string.IsNullOrEmpty(paramStr)) { arr = paramStr.Split('='); addStatusEffect.Params.Add(arr[0], arr[1]); } } } } else { effect = new CustomEffect() { CustomEffectType = effectConfig }; } return(effect); }
public AddStatusEffectWrapper(AddStatusEffect line) { AddStatusEffectLine = line; }