PostSpider Den Behavior

Posts 1–6 of 6 · Page 1 of 1
Spider Den Behavior
Hey guys. Another behavior release. This is the full release of Arachna and her minions and the webs.
I made the behavior Nobody released it/made it. Attacks and web behaviors and minions made by me.

 
Credits
Credits to @Lunati for angle's and help with webs.
Credits also to @Stellar Spark for error help.


Code:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using wServer.realm;
using wServer.logic.attack;
using wServer.logic.movement;
using wServer.logic.loot;
using wServer.logic.taunt;
using wServer.logic.cond;
namespace wServer.logic
{
    partial class BehaviorDb
    {
        static _ SpiderDen = Behav()
            .Init(0x0936, Behaves("Arachna the Spider Queen",
            new RunBehaviors(
                Cooldown.Instance(5000, ReturnSpawn.Instance(3)),
               If.Instance(IsEntityPresent.Instance(10, null), Once.Instance(new SetKey(-1, 1))),
                IfEqual.Instance(-1, 1,
                new QueuedBehavior(
                    Once.Instance(SetConditionEffect.Instance(ConditionEffectIndex.Invulnerable)),
                    Once.Instance(TossEnemy.Instance(0 * (float)Math.PI / 180, 6, 0x093d)),
                    Once.Instance(TossEnemy.Instance(120 * (float)Math.PI / 180, 6, 0x093e)),
                    Once.Instance(TossEnemy.Instance(240 * (float)Math.PI / 180, 6, 0x093f)),
                    Once.Instance(TossEnemy.Instance(0 * (float)Math.PI / 180, 10, 0x0937)),
                    Once.Instance(TossEnemy.Instance(60 * (float)Math.PI / 180, 10, 0x0938)),
                    Once.Instance(TossEnemy.Instance(120 * (float)Math.PI / 180, 10, 0x0939)),
                    Once.Instance(TossEnemy.Instance(180 * (float)Math.PI / 180, 10, 0x093a)),
                    Once.Instance(TossEnemy.Instance(240 * (float)Math.PI / 180, 10, 0x093b)),
                    Once.Instance(TossEnemy.Instance(300 * (float)Math.PI / 180, 10, 0x093c)),
                    Cooldown.Instance(3000),
                    Once.Instance(UnsetConditionEffect.Instance(ConditionEffectIndex.Invulnerable)),
                    new SetKey(-1, 2),
                    Cooldown.Instance(5000)
                    )
                ),
                IfEqual.Instance(-1, 2,
                new RunBehaviors(
                    SimpleWandering.Instance(4, 3f),
                    Cooldown.Instance(3000, RingAttack.Instance(12, 0, 0, projectileIndex: 0)),
                    Cooldown.Instance(1000, SimpleAttack.Instance(10, projectileIndex: 0)),
                    Cooldown.Instance(2000, SimpleAttack.Instance(10, projectileIndex: 1))
                    )
                    )
                ),

                loot: new LootBehavior(LootDef.Empty,
                        Tuple.Create(100, new LootDef(0, 5, 0, 10,
                        Tuple.Create(0.2, (ILoot)new ItemLoot("Poison Fang Dagger")),
                        Tuple.Create(0.8, (ILoot)new ItemLoot("Golden Dagger"))
                            )))))
            .Init(0x0937, Behaves("Arachna Web Spoke 1",
            new RunBehaviors(
                    Once.Instance(SetConditionEffect.Instance(ConditionEffectIndex.Invulnerable)),
                                Cooldown.Instance(150, AngleAttack.Instance(180 * (float)Math.PI / 180, projectileIndex: 0)),
                                Cooldown.Instance(150, AngleAttack.Instance(120 * (float)Math.PI / 180, projectileIndex: 0)),
                                Cooldown.Instance(150, AngleAttack.Instance(240 * (float)Math.PI / 180, projectileIndex: 0))
                                )
                                ))
            .Init(0x0938, Behaves("Arachna Web Spoke 2",
            new RunBehaviors(
                    Once.Instance(SetConditionEffect.Instance(ConditionEffectIndex.Invulnerable)),
                                Cooldown.Instance(150, AngleAttack.Instance(240 * (float)Math.PI / 180, projectileIndex: 0)),
                                Cooldown.Instance(150, AngleAttack.Instance(180 * (float)Math.PI / 180, projectileIndex: 0)),
                                Cooldown.Instance(150, AngleAttack.Instance(300 * (float)Math.PI / 180, projectileIndex: 0))
                                )
                                ))
           .Init(0x0939, Behaves("Arachna Web Spoke 3",
            new RunBehaviors(
                    Once.Instance(SetConditionEffect.Instance(ConditionEffectIndex.Invulnerable)),
                                Cooldown.Instance(150, AngleAttack.Instance(300 * (float)Math.PI / 180, projectileIndex: 0)),
                                Cooldown.Instance(150, AngleAttack.Instance(240 * (float)Math.PI / 180, projectileIndex: 0)),
                                Cooldown.Instance(150, AngleAttack.Instance(0 * (float)Math.PI / 180, projectileIndex: 0))
                                )
                                ))
           .Init(0x093a, Behaves("Arachna Web Spoke 4",
            new RunBehaviors(
                    Once.Instance(SetConditionEffect.Instance(ConditionEffectIndex.Invulnerable)),
                                Cooldown.Instance(150, AngleAttack.Instance(0 * (float)Math.PI / 180, projectileIndex: 0)),
                                Cooldown.Instance(150, AngleAttack.Instance(60 * (float)Math.PI / 180, projectileIndex: 0)),
                                Cooldown.Instance(150, AngleAttack.Instance(300 * (float)Math.PI / 180, projectileIndex: 0))
                                )
                                ))
            .Init(0x093b, Behaves("Arachna Web Spoke 5",
            new RunBehaviors(
                    Once.Instance(SetConditionEffect.Instance(ConditionEffectIndex.Invulnerable)),
                                Cooldown.Instance(150, AngleAttack.Instance(60 * (float)Math.PI / 180, projectileIndex: 0)),
                                Cooldown.Instance(150, AngleAttack.Instance(0 * (float)Math.PI / 180, projectileIndex: 0)),
                                Cooldown.Instance(150, AngleAttack.Instance(120 * (float)Math.PI / 180, projectileIndex: 0))
                                )
                                ))
           .Init(0x093c, Behaves("Arachna Web Spoke 6",
            new RunBehaviors(
                    Once.Instance(SetConditionEffect.Instance(ConditionEffectIndex.Invulnerable)),
                                Cooldown.Instance(150, AngleAttack.Instance(120 * (float)Math.PI / 180, projectileIndex: 0)),
                                Cooldown.Instance(150, AngleAttack.Instance(60 * (float)Math.PI / 180, projectileIndex: 0)),
                                Cooldown.Instance(150, AngleAttack.Instance(180 * (float)Math.PI / 180, projectileIndex: 0))
                                )
                                ))
            .Init(0x93d, Behaves("Arachna Web Spoke 7",
            new RunBehaviors(
                    Once.Instance(SetConditionEffect.Instance(ConditionEffectIndex.Invulnerable)),
                                Cooldown.Instance(150, AngleAttack.Instance(180 * (float)Math.PI / 180, projectileIndex: 0)),
                                Cooldown.Instance(150, AngleAttack.Instance(120 * (float)Math.PI / 180, projectileIndex: 0)),
                                Cooldown.Instance(150, AngleAttack.Instance(240 * (float)Math.PI / 180, projectileIndex: 0))
                                )
                                ))
            .Init(0x093e, Behaves("Arachna Web Spoke 8",
            new RunBehaviors(
                    Once.Instance(SetConditionEffect.Instance(ConditionEffectIndex.Invulnerable)),
                                Cooldown.Instance(150, AngleAttack.Instance(360 * (float)Math.PI / 180, projectileIndex: 0)),
                                Cooldown.Instance(150, AngleAttack.Instance(240 * (float)Math.PI / 180, projectileIndex: 0)),
                                Cooldown.Instance(150, AngleAttack.Instance(300 * (float)Math.PI / 180, projectileIndex: 0))
                                )))
            .Init(0x093f, Behaves("Arachna Web Spoke 9",
            new RunBehaviors(
                    Once.Instance(SetConditionEffect.Instance(ConditionEffectIndex.Invulnerable)),
                                Cooldown.Instance(150, AngleAttack.Instance(0 * (float)Math.PI / 180, projectileIndex: 0)),
                                Cooldown.Instance(150, AngleAttack.Instance(60 * (float)Math.PI / 180, projectileIndex: 0)),
                                Cooldown.Instance(150, AngleAttack.Instance(120 * (float)Math.PI / 180, projectileIndex: 0))
                                )))
            .Init(0x021c, Behaves("Green Den Spider Hatchling",
            new RunBehaviors(
                SimpleWandering.Instance(2, 2f),
                Cooldown.Instance(1000, SimpleAttack.Instance(10, projectileIndex: 0))
                )))
            .Init(0x021d, Behaves("Black Den Spider",
            new RunBehaviors(
                SimpleWandering.Instance(4, 3f),
                Cooldown.Instance(1000, SimpleAttack.Instance(10, projectileIndex: 0))
                )))
            .Init(0x021e, Behaves("Red Spotted Den Spider",
            new RunBehaviors(
                SimpleWandering.Instance(4, 3f),
                Cooldown.Instance(1000, SimpleAttack.Instance(10, projectileIndex: 0))
                ),
                loot: new LootBehavior(LootDef.Empty,
                        Tuple.Create(100, new LootDef(0, 5, 0, 10,
                        Tuple.Create(0.2, (ILoot)new ItemLoot("Healing Ichor"))
                        ))))
                        )
             .Init(0x021f, Behaves("Black Spotted Den Spider",
             new RunBehaviors(
                 SimpleWandering.Instance(4, 2f),
                 Cooldown.Instance(1000, SimpleAttack.Instance(10, projectileIndex: 0))
                 ),
                 loot: new LootBehavior(LootDef.Empty,
                     Tuple.Create(100, new LootDef(0, 5, 0, 10,
                         Tuple.Create(0.2, (ILoot)new ItemLoot("Healing Ichor"))
                         ))))
                         )
             .Init(0x0220, Behaves("Brown Den Spider",
             new RunBehaviors(
                 SimpleWandering.Instance(4, 3f),
                 Cooldown.Instance(1000, MultiAttack.Instance(10, 0, 3, 0, projectileIndex: 0))
                 ),
                 loot: new LootBehavior(LootDef.Empty,
                     Tuple.Create(100, new LootDef(0, 5, 0, 10,
                         Tuple.Create(0.6, (ILoot)new ItemLoot("Healing Ichor"))
                         ))))
                         )
             .Init(0x021b, Behaves("Spider Egg Sac",
                 condBehaviors: new ConditionalBehavior[]
                 {
                 new DeathTransmute(0x021c, 3, 5)}
                 ));
    }
}
Wserver>Logic>db>Save as BehaviorDb.SpiderDen.cs
Nice! I see you removed the states on the web spokes, that was unnecessary anyways. xD
... hm i guess Lunar didnt want me to do the spider den after all
Quote Originally Posted by rangewolf5 View Post
... hm i guess Lunar didnt want me to do the spider den after all
Maybe he did. You probably took too long, or maybe Lunar assigned you a different task...
Posts 1–6 of 6 · Page 1 of 1
This thread is closed for replies.

Similar Threads

Tags for this Thread

Need help?