public override AbstractSkill Copy() { Skill_Fireball skill = new Skill_Fireball(); skill.Speed = this.Speed; skill.DamageMultiplier = this.DamageMultiplier; skill.Debuff = this.Debuff; CopyInto(skill); return(skill); }
public void Skill(NetIncomingMessage msgIn) { { byte skillId = msgIn.ReadByte(); ushort casterId = msgIn.ReadUInt16(); ushort targetId = msgIn.ReadUInt16(); Entity caster = Data.GetEntity(casterId); Entity target = Data.GetEntity(targetId); if (target == null || caster == null) { return; } if (skillId == 0) { if (caster != null) { caster.PlayHitVFX(); } } else { GameObject skillObject = GameObject.Instantiate(SkillCollection.Instance.SkillObjects[skillId]); skillObject.transform.position = target.transform.position; if (caster != null && target != null) { Skill_Fireball moveTowards = skillObject.GetComponent <Skill_Fireball>(); if (moveTowards != null) { moveTowards.transform.position = caster.transform.position; moveTowards.Caster = caster; moveTowards.Target = target; } } } } }