public AddChatiment(int value, int element, int duration, Fights.Fighter fighter, Engines.Spells.SpellLevel spell) : base(duration, true, fighter) { this.Element = element; this.Value = value; this.Spell = spell; }
public FightShield(Fighter caster, Fighter protectedFighter, Engines.Spells.SpellLevel spellLevel, int element) { this.Caster = caster; this.ProtectedFighter = protectedFighter; this.SpellLevel = spellLevel; this.ProtectedElements.Add(element); }
public FightTrap(Fighter owner, int spellID, int level, Engines.Spells.SpellLevel spellLevel, int cellID, int lenght, Enums.FightTrapType type) { this.Owner = owner; this.SpellLevel = spellLevel; this.CellID = cellID; this.Lenght = lenght; this.TrapType = type; this.ProcessCellsZone(); this.UsedEffect = Helper.SpellHelper.GetSpell(spellID).Engine.GetLevel(level); }
public FightTrap(Fighter owner, int spellID, int level, Engines.Spells.SpellLevel spellLevel, int cellID, int lenght, Enums.FightTrapType type, int trapColor, int turn) { this.Owner = owner; this.SpellLevel = spellLevel; this.CellID = cellID; this.Lenght = lenght; this.TrapType = type; this.TrapColor = trapColor; this.TurnDuration = turn; this.ProcessCellsZone(); this.UsedEffect = Helper.SpellHelper.GetSpell(spellID).Engine.GetLevel(level); this.Owner.OwnGlyph.Add(this); }
public static void SummonDouble(Fight fight, Engines.Spells.SpellEffect effect, Engines.Spells.SpellLevel spellLevel, Fighter caster, int cellID) { /* Create temp template for double summoned */ Database.Records.MonstersTemplateRecord tempTemplate = new Database.Records.MonstersTemplateRecord() { ID = -1, Color1 = caster.Character.Color1, Color2 = caster.Character.Color2, Color3 = caster.Character.Color3, Skin = caster.Character.Look, Name = caster.Nickname, Exp = 0, Kamas = "0,0", Drops = "", AI = 2, }; Database.Records.MonsterLevelRecord tempLevel = new Database.Records.MonsterLevelRecord() { ID = -1, TemplateID = -1, IsTempLevel = true, TempTemplate = tempTemplate, Level = caster.Level, AP = caster.Stats.GetMaxActionPoints, MP = caster.Stats.GetMaxMovementPoints, Life = caster.Stats.MaxLife, Size = caster.Character.Scal, Stats = "0,0,0,0,0", ProtectStats = "0,0,0,0", Spells = "", }; tempLevel.InitMonster(); Fighter summonedCreature = new Fighter(fight.CurrentEntityTempID, tempLevel, null); summonedCreature.CellID = cellID; summonedCreature.SummonOwner = caster.ID; summonedCreature.IsInvoc = true; fight.CurrentEntityTempID--; fight.AddPlayer(summonedCreature, caster.Team.ID, cellID); fight.TimeLine.RemixTimeLine(); fight.TimelineDisplay(); }
public static void SummonCreature(Fight fight, Engines.Spells.SpellEffect effect, Engines.Spells.SpellLevel spellLevel, Fighter caster, int cellID) { if (fight.GetFighterOnCell(cellID) == null) { Database.Records.MonstersTemplateRecord template = World.Helper.MonsterHelper.GetMonsterTemplate(effect.Value); if (template != null) { Database.Records.MonsterLevelRecord level = template.Levels.FirstOrDefault(x => x.Level == spellLevel.Level); if (level != null) { Fighter summonedCreature = new Fighter(fight.CurrentEntityTempID, level, null); summonedCreature.CellID = cellID; summonedCreature.SummonOwner = caster.ID; summonedCreature.IsInvoc = true; fight.CurrentEntityTempID--; fight.AddPlayer(summonedCreature, caster.Team.ID, cellID); fight.TimeLine.RemixTimeLine(); fight.TimelineDisplay(); } } } }
public static void AddChatiment(Fight fight, Fighter caster, Engines.Spells.SpellEffect effect, List <Fighter> targets, Engines.Spells.SpellLevel spellLevel) { foreach (Fighter target in targets) { target.AddBuff(caster.ID, new Spells.Buffs.AddChatiment(effect.Value2, effect.Value, 4, target, spellLevel), 0, effect.Value, true, effect); } }
public static void UseGlyph(Fight fight, Fighter caster, Engines.Spells.SpellEffect effect, Engines.Spells.SpellLevel spellLevel, int cell) { fight.AddGlyph(new FightTrap(caster, effect.Value, effect.Value2, spellLevel, cell, Engines.Pathfinding.GetDirNum(spellLevel.TypePO.Substring(1, 1)), Enums.FightTrapType.GLYPH, effect.Value3, effect.Turn)); }
public static void ApplyEffect(Fight fight, Engines.Spells.SpellEffect effect, Engines.Spells.SpellLevel spellLevel, Fighter caster, int cellID, List <Fighter> targets) { if (Program.DebugMode) { Utilities.ConsoleStyle.Debug("Used effect : " + effect.Effect.ToString() + "(" + spellLevel.TypeOfSpell.ToString() + ")"); } switch (effect.Effect) { case Enums.SpellsEffects.None: Teleport(fight, caster, cellID); break; case Enums.SpellsEffects.Teleport: Teleport(fight, caster, cellID); break; case Enums.SpellsEffects.DamageNeutre: DirectDamages(fight, caster, targets, effect, 1); break; case Enums.SpellsEffects.DamageLifeNeutre: DirectLifeDamages(fight, caster, targets, effect); break; case Enums.SpellsEffects.DamageTerre: DirectDamages(fight, caster, targets, effect, 1); break; case Enums.SpellsEffects.DamageFeu: DirectDamages(fight, caster, targets, effect, 2); break; case Enums.SpellsEffects.DamageEau: DirectDamages(fight, caster, targets, effect, 3); break; case Enums.SpellsEffects.DamageAir: DirectDamages(fight, caster, targets, effect, 4); break; case Enums.SpellsEffects.VolTerre: StealLifeDamages(fight, caster, targets, effect, 1); break; case Enums.SpellsEffects.VolFeu: StealLifeDamages(fight, caster, targets, effect, 2); break; case Enums.SpellsEffects.VolEau: StealLifeDamages(fight, caster, targets, effect, 3); break; case Enums.SpellsEffects.VolAir: StealLifeDamages(fight, caster, targets, effect, 4); break; case Enums.SpellsEffects.Heal: Heal(fight, caster, targets, effect); break; case Enums.SpellsEffects.AddPA: AddAPBuff(fight, caster, effect, targets); break; case Enums.SpellsEffects.AddPM: AddMPBuff(fight, caster, effect, targets); break; case Enums.SpellsEffects.AddVitalite: AddLifeBuff(fight, caster, effect, targets); break; case Enums.SpellsEffects.AddDamagePercent: AddDamagePercentBuff(fight, caster, effect, targets); break; case Enums.SpellsEffects.AddDamage: AddDamageFixBuff(fight, caster, effect, targets); break; case Enums.SpellsEffects.SubPA: SubAPBuff(fight, caster, effect, targets, false); break; case Enums.SpellsEffects.SubPAEsquive: SubAPBuff(fight, caster, effect, targets, true); break; case Enums.SpellsEffects.SubPM: SubMPBuff(fight, caster, effect, targets, false); break; case Enums.SpellsEffects.SubPMEsquive: SubMPBuff(fight, caster, effect, targets, true); break; case Enums.SpellsEffects.SubPO: SubPOBuff(fight, caster, effect, targets); break; case Enums.SpellsEffects.AddPO: AddPOBuff(fight, caster, effect, targets); break; case Enums.SpellsEffects.AddDamageCritic: AddCCBuff(fight, caster, effect, targets); break; case Enums.SpellsEffects.AddAgilite: AddAgilityBuff(fight, caster, effect, targets); break; case Enums.SpellsEffects.AddForce: AddStrenghtBuff(fight, caster, effect, targets); break; case Enums.SpellsEffects.DamageLife: DirectLifeDamages(fight, caster, targets, effect); break; case Enums.SpellsEffects.PushBack: PushBack(fight, caster, targets, cellID, effect); break; case Enums.SpellsEffects.PushFear: PushFear(fight, caster, cellID, effect); break; case Enums.SpellsEffects.PushFront: PushFront(fight, caster, targets, cellID, effect); break; case Enums.SpellsEffects.Transpose: Transpose(fight, caster, targets, cellID, effect); break; case Enums.SpellsEffects.MultiplyDamage: AddDamagePercentBuff(fight, caster, effect, targets); break; case Enums.SpellsEffects.UseTrap: UseTrap(fight, caster, effect, spellLevel, cellID); break; case Enums.SpellsEffects.AddCreature: SummonCreature(fight, effect, spellLevel, caster, cellID); break; case Enums.SpellsEffects.UseGlyph: UseGlyph(fight, caster, effect, spellLevel, cellID); break; case Enums.SpellsEffects.Invisible: UseInvisibleState(fight, caster, effect, targets, cellID); break; case Enums.SpellsEffects.UseCopyHuman: SummonDouble(fight, effect, spellLevel, caster, cellID); break; case Enums.SpellsEffects.ChangeSkin: ChangeSkin(fight, caster, effect, targets, cellID); break; case Enums.SpellsEffects.AddState: AddState(fight, caster, effect, targets, cellID); break; case Enums.SpellsEffects.LostState: LostState(fight, caster, effect, targets, cellID); break; case Enums.SpellsEffects.Porter: Wear(fight, caster, effect, targets, cellID); break; case Enums.SpellsEffects.Lancer: LaunchWeared(fight, caster, effect, targets, cellID); break; case Enums.SpellsEffects.AddChatiment: AddChatiment(fight, caster, effect, targets, spellLevel); break; case Enums.SpellsEffects.AddRenvoiDamage: AddReverseDamage(fight, caster, effect, targets); break; case Enums.SpellsEffects.LuckEcaflip: AddLuckEcaflip(fight, caster, effect, targets); break; case Enums.SpellsEffects.AddArmor: AddArmor(fight, caster, effect, targets); break; case Enums.SpellsEffects.AddReverseSpell: AddReverseSpell(fight, caster, effect, spellLevel, targets); break; } }