public Thief(string cName, string pClass, int bDamage, int maxHp) : base(cName, pClass, bDamage, maxHp) { characterName = cName; baseDamage = bDamage; currentHealthPoints = maxHp; maxHealthPoints = maxHp; normalAttack = new NormalAttack(); specialAttack = new Backstab(); }
// Use this for initialization void Start() { rb = GetComponent <Rigidbody>(); isGrounded = true; attack = GetComponentInChildren <Backstab>(); //Create the pool of projectiles Projectiles = new GameObject[ProjectilePoolSize]; Vector3 pos = new Vector3(-100, 0, 0); for (int i = 0; i < ProjectilePoolSize; i++) { Projectiles[i] = (GameObject)Instantiate(ProjectilePrefab, pos, Quaternion.identity); } attack.attacking = false; }
public override bool CheckCast() { if (!base.CheckCast()) { return(false); } if (!CheckExpansion(Caster)) { Caster.SendLocalizedMessage(1063456); // You must upgrade to Samurai Empire in order to use that ability. return(false); } if (Caster.Skills[SkillName.Bushido].Value < RequiredSkill) { string args = String.Format("{0}\t{1}\t ", RequiredSkill.ToString("F1"), CastSkill.ToString()); Caster.SendLocalizedMessage(1063013, args); // You need at least ~1_SKILL_REQUIREMENT~ ~2_SKILL_NAME~ skill to use that ability. return(false); } else if (Caster.Mana < ScaleMana(RequiredMana)) { Caster.SendLocalizedMessage(1060174, RequiredMana.ToString()); // You must have at least ~1_MANA_REQUIREMENT~ Mana to use this ability. return(false); } if (HonorableExecution.UnderEffect(Caster) || LightningStrike.UnderEffect(Caster) || MomentumStrike.UnderEffect(Caster)) { return(true); } WeaponAbility ability = WeaponAbility.GetCurrentAbility(Caster); if (ability != null) { WeaponAbility.ClearCurrentAbility(Caster); } if (AnimalForm.UnderEffect(Caster)) { if (this is HonorableExecution || this is LightningStrike || this is MomentumStrike) { Caster.SendLocalizedMessage(1063024); // You cannot perform this special move right now. return(false); } } if (FocusAttack.UnderEffect(Caster)) { Caster.Send(new SetNewSpell(0xF5, 0)); FocusAttack.m_Table.Remove(Caster); BaseWeapon weapon = Caster.Weapon as BaseWeapon; if (weapon != null) { FocusAttack.RemoveBonus(weapon); } } if (DeathStrike.UnderEffect(Caster)) { Caster.Send(new SetNewSpell(0xF6, 0)); DeathStrike.m_Table.Remove(Caster); } if (KiAttack.UnderEffect(Caster)) { Caster.Send(new SetNewSpell(0xF8, 0)); KiAttack.m_Table.Remove(Caster); } if (SurpriseAttack.UnderEffect(Caster)) { Caster.Send(new SetNewSpell(0xF9, 0)); SurpriseAttack.m_Table.Remove(Caster); } if (Backstab.UnderEffect(Caster)) { Caster.Send(new SetNewSpell(0xFA, 0)); Backstab.m_Table.Remove(Caster); } return(true); }
public static PlayerClass ThiefClass() { var thief = new PlayerClass { Name = "Thief", IsBaseClass = true, ExperienceModifier = 2000, HelpText = new Help(), Skills = new List <Skill>(), ReclassOptions = new List <PlayerClass>(), MaxHpGain = 15, MinHpGain = 10, MaxManaGain = 15, MinManaGain = 10, MaxEnduranceGain = 15, MinEnduranceGain = 11, StatBonusStr = 1, StatBonusCon = 1 }; #region Lvl 1 skills var longBlades = LongBlades.LongBladesAb(); longBlades.Learned = true; thief.Skills.Add(longBlades); var shortBlades = ShortBlades.ShortBladesAb(); shortBlades.Learned = true; thief.Skills.Add(shortBlades); var staff = Staff.StaffAb(); staff.Learned = true; thief.Skills.Add(staff); var handToHand = HandToHand.HandToHandAb(); handToHand.Learned = true; thief.Skills.Add(handToHand); var lightArmour = LightArmour.LightArmourAb(); lightArmour.Learned = true; thief.Skills.Add(lightArmour); #endregion #region Lvl 2 skills var dodge = Player.Skills.Dodge.DodgeAb(); dodge.LevelObtained = 2; thief.Skills.Add(dodge); #endregion #region Lvl 3 skills var sneak = Player.Skills.Sneak.SneakAb(); sneak.LevelObtained = 3; thief.Skills.Add(dodge); var exotic = Exotic.ExoticAb(); exotic.LevelObtained = 3; thief.Skills.Add(exotic); #endregion #region Lvl 4 skills var kick = Player.Skills.Kick.KickAb(); kick.LevelObtained = 5; thief.Skills.Add(kick); #endregion #region Lvl 5 skills var blunt = BluntWeapons.BluntWeaponsAb(); blunt.LevelObtained = 5; thief.Skills.Add(blunt); #endregion #region Lvl 7 skills var trip = Trip.TripAb(); trip.LevelObtained = 7; thief.Skills.Add(trip); #endregion #region Lvl 8 skills var lore = Lore.LoreAb(); thief.Skills.Add(lore); #endregion #region Lvl 9 skills var hide = Hide.HideAb(); hide.LevelObtained = 9; thief.Skills.Add(hide); #endregion #region Lvl 10 skills var skick = SpinKick.KickAb(); thief.Skills.Add(skick); var peak = Peak.PeakAb(); thief.Skills.Add(peak); #endregion #region Lvl 11 skills var steal = Steal.StealAb(); thief.Skills.Add(steal); #endregion #region Lvl 12 skills var tumble = Tumble.TumbleAb(); thief.Skills.Add(tumble); #endregion #region Lvl 13 skills var picklock = LockPick.LockPickAb(); thief.Skills.Add(picklock); #endregion #region Lvl 14 skills var dkick = DirtKick.DirtKickAb(); dkick.LevelObtained = 14; thief.Skills.Add(dkick); #endregion #region Lvl 15 skills var bstab = Backstab.BackstabAb(); thief.Skills.Add(bstab); #endregion #region Lvl 16 skills var parry = Parry.ParryAb(); parry.LevelObtained = 16; thief.Skills.Add(parry); #endregion #region Lvl 18 skills var disarm = Disarm.DisarmAb(); disarm.LevelObtained = 18; thief.Skills.Add(disarm); #endregion #region Lvl 20 skills var feint = Feint.FeintAb(); thief.Skills.Add(feint); #endregion thief.ReclassOptions.Add(Ranger.RangerClass()); return(thief); }
// Use this for initialization void Start() { Player = GameObject.FindGameObjectWithTag("Player"); scoreText.text = "0"; PlayerScore = Player.GetComponent <Backstab>(); }
public static bool SetCurrentAbility(Mobile m, WeaponAbility a) { if (!Core.AOS) { ClearCurrentAbility(m); return(false); } if (!IsWeaponAbility(m, a)) { ClearCurrentAbility(m); return(false); } if (a != null && !a.Validate(m)) { ClearCurrentAbility(m); return(false); } if (a == null) { m_Table.Remove(m); } else { m_Table[m] = a; } m.CanReveal = true; if (HonorableExecution.UnderEffect(m)) { m.Send(new SetNewSpell(0x91, 0)); HonorableExecution.m_Table.Remove(m); } if (LightningStrike.UnderEffect(m)) { m.Send(new SetNewSpell(0x95, 0)); LightningStrike.m_Table.Remove(m); } if (MomentumStrike.UnderEffect(m)) { m.Send(new SetNewSpell(0x96, 0)); MomentumStrike.m_Table.Remove(m); } if (FocusAttack.UnderEffect(m)) { m.Send(new SetNewSpell(0xF5, 0)); FocusAttack.m_Table.Remove(m); BaseWeapon weapon = m.Weapon as BaseWeapon; if (weapon != null) { FocusAttack.RemoveBonus(weapon); } } if (DeathStrike.UnderEffect(m)) { m.Send(new SetNewSpell(0xF6, 0)); DeathStrike.m_Table.Remove(m); } if (KiAttack.UnderEffect(m)) { m.Send(new SetNewSpell(0xF8, 0)); KiAttack.m_Table.Remove(m); } if (SurpriseAttack.UnderEffect(m)) { m.Send(new SetNewSpell(0xF9, 0)); SurpriseAttack.m_Table.Remove(m); } if (Backstab.UnderEffect(m)) { m.Send(new SetNewSpell(0xFA, 0)); Backstab.m_Table.Remove(m); } return(true); }
void Awake() { viewId = instances.Count; instances.Add(this); if (!backstab) backstab = FindObjectOfType<Backstab>(); foreach (MethodInfo m in GetType().GetMethods(flags)) { foreach (Attribute a in m.GetCustomAttributes(true)) { RpcAttribute r = a as RpcAttribute; if (r != null) { RegisterRpc(m); } } } InvokeRepeating("OnSync", syncInterval, syncInterval); }
//CONSTRUCTOR public Thief(string name) : base(name) { specialAttack = new Backstab(); }