public FreeFromInjuryBuff(Bot source, float time, BuffSystem owner) { this.Source = source; this.Owner = owner; this.BuffType = BuffType.buff; BuffEndRule = new RuleTimeOver(time); }
protected void targetGiveBuff(GameObject target, Buff buff) { int charDamage = (int)character.characterInfo.damage + character.characterInfo.addedDamage; Buff newBuff = buff.Clone(); // 버프 계수 계산 switch (buff.buffType) { case BuffType.ArmorDown: case BuffType.ArmorUP: case BuffType.AttackDown: case BuffType.AttackUP: case BuffType.DotDamage: case BuffType.DotHeal: newBuff.amount *= charDamage; break; } BuffSystem buffSystem = target.GetComponent <BuffSystem>(); if (buffSystem != null) { buffSystem.AddBuff(newBuff); } }
virtual protected void Awake() { animator = GetComponent <Animator>(); buffSystem = GetComponent <BuffSystem>(); spriteRenderer = GetComponent <SpriteRenderer>(); myAttack = GetComponent <Attack>(); myHealth = GetComponent <Health>(); }
public void Act(GameObject go) { _buffSystem = FindObjectOfType <BuffSystem>(); _buffOwner = go.GetComponent <CharCombatValues>(); AddBuff(); }
public Buff(YiObj owner, SkillId id, TimeSpan duration) { SkillId = id; Duration = duration; StartTime = DateTime.UtcNow; EndTime = DateTime.UtcNow.Add(Duration); RemoveJob = YiScheduler.Instance.DoReturn(Duration, () => BuffSystem.RemoveBuff(owner, this)); }
public MoveSpeedBuff(Bot source, float time, BuffSystem owner, float moveSpeedRate, BuffType buffType) { m_moveSpeedRate = moveSpeedRate; this.Source = source; this.Owner = owner; this.BuffType = buffType; this.BuffEndRule = new RuleTimeOver(time); m_originalMoveSpeed = Owner.owner.Abilities.MoveSpeedRate; }
public HeatBuff(Bot source, float time, BuffType buffType, BuffSystem owner, int heatDelta) { this.Source = source; this.Owner = owner; this.BuffType = buffType; m_heatDelta = heatDelta; m_timer = new Timer(); BuffEndRule = new RuleTimeOver(time); }
public MPBuff(Bot source, float time, BuffType buffType, BuffSystem owner, int mpDelta) { m_mpDelta = mpDelta; this.Source = source; this.Owner = owner; this.BuffType = buffType; m_timer = new Timer(); BuffEndRule = new RuleTimeOver(time); }
void Awake() { hero = Instantiate(hero); healthSystem = gameObject.GetComponent <HealthSystem>(); skillSystem = gameObject.GetComponent <SkillSystem>(); buffSystem = gameObject.GetComponent <BuffSystem>(); abilitySystem = gameObject.GetComponent <AbilitySystem>(); //AddRequiredComponents(); }
public void SetBuffSystem(BuffSystem buffSystem) { if (null != buffSystem) { buffSystem.OnBuffsChanged -= BuffSystem_OnBuffsChanged; } this.buffSystem = buffSystem; buffSystem.OnBuffsChanged += BuffSystem_OnBuffsChanged; BuffSystem_OnBuffsChanged(this, EventArgs.Empty); }
private static bool AddBuff(YiObj target, Skill skill) { var shieldBuff = new Buff(target, SkillId.AdvancedDispel, BuffDuration) { PhysDefMod = DefenseBonusPercent, Effect = StatusEffect.MagicShield, Description = $"MagicShield Level {skill.Level}: +{(DefenseBonusPercent*100)-100}% Physical Defense." }; BuffSystem.AddBuff(target, shieldBuff); return(true); }
private static bool AddBuff(YiObj target, Skill skill) { var shieldBuff = new Buff(target, SkillId.Shield, BuffDuration) { Effect = StatusEffect.Invisibility, Description = $"Invisibility Level {skill.Level}" }; target.RemoveStatusEffect(StatusEffect.XpList); BuffSystem.AddBuff(target, shieldBuff); return(true); }
void Awake() { mStateMachine = new StateMachine(); mBuffSystem = new BuffSystem(this); mRigidbody = GetComponent <Rigidbody>(); mAnimator = GetComponent <Animator>(); mAgent = GetComponent <NavMeshAgent>(); mCapsuleCollider = GetComponent <CapsuleCollider>(); mRenderers = GetComponentsInChildren <SkinnedMeshRenderer>(); aWake(); }
private static bool AddBuff(YiObj target, Skill skill) { var shieldBuff = new Buff(target, SkillId.Cyclone, BuffDuration) { SpeedMod = SpeedBonusPercent, Effect = StatusEffect.Cyclone, Description = "Cyclone: +100% Speed!" }; target.RemoveStatusEffect(StatusEffect.XpList); BuffSystem.AddBuff(target, shieldBuff); return(true); }
private static bool AddBuff(YiObj target, Skill skill) { var shieldBuff = new Buff(target, SkillId.Superman, BuffDuration) { PhysAtkMod = AttackBonusPercent, Effect = StatusEffect.SuperMan, Description = "Superman: +1.000% Attack!" }; target.RemoveStatusEffect(StatusEffect.XpList); BuffSystem.AddBuff(target, shieldBuff); return(true); }
void Start() { starvingTickTimer = GameObject.Find("Calendar").GetComponent <GameTime>().dayTime; resourceManager = MetaScript.getRes(); allUIGameObjects = GameObject.Find("AllUIObjectsCanvas"); npcManagerGameObject = allUIGameObjects.transform.GetChild(0).GetChild(0).gameObject; setNPCList(MetaScript.GetNPC()); player = GameObject.FindGameObjectWithTag("Player"); buffSystem = new BuffSystem(); noFood = false; //StartCoroutine (starvingTimer (starvingTickTimer)); }
private static void EndXPList(Player player, ref MsgAction packet) { player.Xp = 0; BuffSystem.Clear(player); player.RemoveStatusEffect(StatusEffect.XpList); player.RemoveStatusEffect(StatusEffect.Cyclone); player.RemoveStatusEffect(StatusEffect.SuperMan); player.RemoveStatusEffect(StatusEffect.XpShield); player.Send(packet); if (player.HasFlag(StatusEffect.Die)) { player.AddStatusEffect(StatusEffect.Die); } }
private void Awake() { entities = new List <Entity>(); newEntities = new Queue <Entity>(); expiredEntities = new Queue <Entity>(); entitySystem = new EntitySystem(this); inputSystem = new InputSystem(this); moveSystem = new MoveSystem(this); controllerSystem = new ControllerSystem(this); gunSystem = new GunSystem(this); bulletSystem = new BulletSystem(this); buffSystem = new BuffSystem(this); aiSystem = new AISystem(this); levelSystem = new LevelSystem(this); }
// Use this for initialization void Start() { stage = lifeStages.WAITING; timeSinceStageChange = currentStageDuration + 1; float scale = Random.Range(minScale, maxScale); Vector3 newScale = new Vector3(); newScale.x = scale; newScale.y = scale; newScale.z = scale; transform.localScale = newScale; timeToLive = Random.Range(minTimeToLive, maxTimeToLive); buffsys = new BuffSystem(); }
// Use this for initialization void Start() { Vector3 pos = transform.position; pos.y += startPosY; transform.position = pos; Vector3 scale = transform.localScale; scale.x = fallingScale; scale.y = fallingScale; scale.z = fallingScale; transform.localScale = scale; stage = lifeStage.FALLING; buffsys = new BuffSystem(); }
void EnemyAttack(GameObject gameObject) { if (takeDamageInfo.skillInfo.doUseBuff) { Buff newBuff = takeDamageInfo.skillInfo.buff.Clone(); // 버프 계수 계산 switch (newBuff.buffType) { case BuffType.ArmorDown: case BuffType.ArmorUP: case BuffType.AttackDown: case BuffType.AttackUP: case BuffType.DotDamage: case BuffType.DotHeal: newBuff.amount *= takeDamageInfo.damage; break; } BuffSystem buffSystem = gameObject.GetComponent <BuffSystem>(); if (buffSystem != null) { buffSystem.AddBuff(newBuff); } } float bloodPercent = takeDamageInfo.skillInfo.bloodPercent; if (targetTag != "unit") { bloodPercent = ArtifactManager.Instance.CalcBloodSucking(bloodPercent); } if (takeDamageInfo.skillInfo.bloodSucking) { if (user.gameObject.activeInHierarchy && user.characterInfo.currentHP > 0) { user.SendMessage("takeHeal", (takeDamageInfo.damage * bloodPercent)); } } gameObject.SendMessage("takeAttack", takeDamageInfo); }
private static bool AddBuff(YiObj target, Skill skill) { //Map map; //if (GameWorld.Maps.TryGetValue(target.MapId, out map)) //{ // if (map.Flags.HasFlag(MapFlags.DisableFly)) // target.GetMessage("SYSTEM", target.Name, "Flying forbidden on this map.", MsgTextType.Action); // return false; //} var flyBuff = new Buff(target, SkillId.Fly, BuffDuration) { Effect = StatusEffect.Flying, Description = $"XP Fly:{skill.Level}: Makes you fly :3" }; BuffSystem.AddBuff(target, flyBuff); target.RemoveStatusEffect(StatusEffect.XpList); return(true); }
private void OnTriggerEnter(Collider other) { if (other.tag == "MoveBuff") { BuffSystem.AddBuff(new MoveSpeedBuff(null, 2f, BuffSystem, 3f, BuffType.buff)); Destroy(other.gameObject); } if (other.tag == "HeatBuff") { BuffSystem.AddBuff(new HeatBuff(null, 10f, BuffType.buff, BuffSystem, -2)); Destroy(other.gameObject); } if (other.tag == "MPBuff") { BuffSystem.AddBuff(new MPBuff(null, 10f, BuffType.buff, BuffSystem, 3)); Destroy(other.gameObject); } if (other.tag == "FreeFromInjuryBuff") { BuffSystem.AddBuff(new FreeFromInjuryBuff(null, 3f, BuffSystem)); Destroy(other.gameObject); } }
// Use this for initialization void Start() { buffsys = new BuffSystem(); player = GameObject.FindGameObjectWithTag("Player"); }
// Use this for initialization void Start() { buffsys = new BuffSystem(); maxTime = Random.Range(minTimeToGrow, maxTimeToGrow); }
// Use this for initialization void Start() { buffsys = new BuffSystem(); }
private static async void Process(Player player, int npcIdoverride = 0) { if (Control == 255 && player.Online) { player.CurrentNpcId = 0; } if (player.CurrentNpcId == 0) { return; } var id = player.CurrentNpcId; if (npcIdoverride != 0) { id = npcIdoverride; } switch (id) { case 1337: { switch (Control) { case 255: player.CurrentNpcId = 1337; using (var packet = new NpcDialog(10)) { packet .Text("Select Char") .Link("Next", 1) .Link("Select", 10) .Link("New", 100) .Finish(); player.Send(packet); } break; case 1: var players = SelectorSystem.GetPlayersFor(player.AccountId).ToList(); var index = players.IndexOf(player); if (index + 1 > players.Count - 1) { index = 0; } else { index++; } player = SelectorSystem.SwapCharacter(player, players[index]); player.Send(LegacyPackets.CharacterInformation(player)); player.Send(MsgAction.MapShowPacket(player)); player.AddStatusEffect(StatusEffect.Frozen); ScreenSystem.Create(player); ScreenSystem.Update(player); break; case 10: player.RemoveStatusEffect(StatusEffect.Frozen); ScreenSystem.Create(player); player.AddSpawnProtection(); player.IncrementXp(); foreach (var kvp in player.Skills) { player.Send(MsgSkill.Create(kvp.Value)); } foreach (var prof in player.Profs) { player.Send(MsgProf.Create(prof.Value)); } EntityLogic.Recalculate(player); player.CurrentHp = player.MaximumHp; player.CurrentMp = player.MaximumMp; GameWorld.Maps[player.MapId].Enter(player); player.Send(MsgAction.Create(player, (int)player.PkMode, MsgActionType.ChangePkMode)); player.Send(MsgUpdate.Create(player, player.Stamina, MsgUpdateType.Stamina)); player.Send(MsgUpdate.Create(player, player.Class, MsgUpdateType.Class)); player.Online = true; if (player.HasFlag(StatusEffect.SuperMan)) { BuffSystem.Create(player); BuffSystem.AddBuff(player, new Buff(player, SkillId.Superman, TimeSpan.FromSeconds(10))); } if (player.HasFlag(StatusEffect.Cyclone)) { BuffSystem.Create(player); BuffSystem.AddBuff(player, new Buff(player, SkillId.Cyclone, TimeSpan.FromSeconds(10))); } if (player.PkPoints > 1) { player.PkPJob = new Job(TimeSpan.FromSeconds(15), () => player.PkPoints--); YiScheduler.Instance.Do(player.PkPJob); } ScreenSystem.Send(player, MsgAction.Create(player, player.UniqueId, MsgActionType.EntityRemove)); ScreenSystem.Send(player, MsgSpawn.Create(player)); break; case 100: SelectorSystem.CreateNewCharacterFor(player.AccountId); player.Disconnect(); break; } break; } default: { if (!await ScriptEngine.ActivateNpc(player, NpcId, (byte)Control, Input)) { if (GameWorld.Find(NpcId, out Npc npc) && Control == 0) { ConquerActionProcessor.ExecuteAction(npc, player, Control); } //Message.SendTo(player, $"[{player.CurrentNpcId}] Npc has no script.", MsgTextType.Talk); } break; } } }
protected void Awake() { buffSystem = new BuffSystem(this); }
public void UnBindBuffSystem() { buffSystem = null; HideAllUI_Buffs(); }
private void AddRequiredComponents() { healthSystem = gameObject.AddComponent <HealthSystem>(); skillSystem = gameObject.AddComponent <SkillSystem>(); buffSystem = gameObject.AddComponent <BuffSystem>(); }