public void EnterBloodLust() { Log.Debug("Entered blood lust", BloodLust049.Instance.Config.Debug); bloodLustActive = true; if (Instance.Config.EnableAdrenalineEffect) { Invigorated adrenaline = Scp049.ReferenceHub.playerEffectsController.GetEffect <Invigorated>(); adrenaline.Intensity = 5; Scp049.ReferenceHub.playerEffectsController.EnableEffect(adrenaline); Log.Debug("Adrenaline effect given", BloodLust049.Instance.Config.Debug); } if (Instance.Config.EnableBleedEffect) { Bleeding bleeding = Scp049.ReferenceHub.playerEffectsController.GetEffect <Bleeding>(); Scp049.ReferenceHub.playerEffectsController.EnableEffect(bleeding); Log.Debug("Adrenaline effect given", BloodLust049.Instance.Config.Debug); } Scp207 scp207 = Scp049.ReferenceHub.playerEffectsController.GetEffect <Scp207>(); scp207.Intensity = (byte)Instance.Config.Scp207Intensity; Scp049.ReferenceHub.playerEffectsController.EnableEffect(scp207); Log.Debug("207 effect given", BloodLust049.Instance.Config.Debug); Scp049.Broadcast(3, Instance.Config.BloodLustMessage); }
public Action <ICharacterClass, ICondition> GetConditionImplementationApply() { return((characterClass, condition) => { Bleeding bleeding = condition as Bleeding; characterClass.TakeDamage(bleeding.DamagePerTick); }); }
protected override void DoCast() { GetEnemyTarget(); //算好傷害等下丟給buff用 CalcDamage(); Bleeding bleeding = new Bleeding(unit) { dotDamage = damageInfo.physicDamage }; TargetApplyBuff(unit, new List <Buff>() { bleeding }); }
public void Use(SkillContext context) { if (context.Distance > MaxDistance) { return; } if (context.Target is Player player) { var ratio = 1f; if (_source is ISkilled skilled) { ratio = skilled.GetSkillPower(this, context); } var debuff = new Bleeding(_source, context.Target, this, DateTime.Now + DebuffDuration, BaseDamage * ratio); player.AddBuff(debuff); _lastUseTime = DateTime.Now; OnSuccessUsed?.Invoke(this, context); return; } throw new NotImplementedException(); }
public Cleave(Entity abilityOwner) : base("Cleave", $"Deals {DamageMod}% extra damage and bleeding effect.", 6, 1, abilityOwner, TargetType.Hostile, false) { _bleedingEffect = new Bleeding(abilityOwner); }