Beispiel #1
0
 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;
 }
Beispiel #2
0
 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);
 }
Beispiel #3
0
 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);
 }
Beispiel #4
0
 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);
 }
Beispiel #5
0
        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();
        }
Beispiel #6
0
 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();
             }
         }
     }
 }
Beispiel #7
0
 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);
     }
 }
Beispiel #8
0
 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));
 }
Beispiel #9
0
        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;
            }
        }