Custom Lava Boss behavior...

Posts 1–9 of 9 · Page 1 of 1
Custom Lava Boss behavior...
Hey guys! ^^

So i decided to make a boss fight dungeon boss. Idk what to call it so i named it epic shaitan... :/


Well just to explain the codes. The epic shaitan is having 2 guards cicling on it. I've made spawners thats supposed to be in the cornors of the boss room (works best in a small room) The lava spawners, spawns things like blobombs thats gonna explode at you every 30rd second. But no worries might sound a bit OP so i turned demage down for them. Else than that. When you kill the 2 circling guards the boss starts shooting. And you can't kill the spawners

A remind from last time: I put all codes in the same file this time ;D

(please note: Get some sprites yourself...)XML:

Code:
<Object type="0x5034" id="Epic shaitan">
    <Enemy/>
    <Class>Character</Class>
    <Level>20</Level>
    <NoArticle/>
    <StasisImmune/>
    <StunImmune/>
    <ParalyzeImmune/>
    <DazedImmune/>

   <AnimatedTexture>
        <File>chars16x16dEncounters2</File>
        <Index>108</Index>
      </AnimatedTexture> 

    <HitSound>monster/skeletons_hit</HitSound>
    <DeathSound>monster/skeletons_death</DeathSound>

    <Projectile id="0">
      <ObjectId>Red Fire</ObjectId>
      <Speed>60</Speed>
      <Damage>170</Damage>
      <Size>160</Size>
      <LifetimeMS>4000</LifetimeMS>
      <ArmorPiercing/>
      <MultiHit/>
    </Projectile>
    <Projectile id="1">
      <ObjectId>Illumination Fire</ObjectId>
      <Speed>60</Speed>
      <Damage>170</Damage>
      <Size>160</Size>
      <LifetimeMS>4000</LifetimeMS>
      <ArmorPiercing/>
      <MultiHit/>
    </Projectile>
    <Projectile id="2">
      <ObjectId>White Bullet</ObjectId>
      <Speed>60</Speed>
      <Damage>170</Damage>
      <Size>160</Size>
      <LifetimeMS>4000</LifetimeMS>
      <ArmorPiercing/>
      <MultiHit/>
    </Projectile>
    <Projectile id="3">
      <ObjectId>Red Fire</ObjectId>
      <Speed>60</Speed>
      <Damage>170</Damage>
      <Size>160</Size>
      <LifetimeMS>4000</LifetimeMS>
      <ArmorPiercing/>
      <MultiHit/>
    </Projectile>
    <Projectile id="4">
      <ObjectId>Illumination Fire</ObjectId>
      <Speed>60</Speed>
      <Damage>170</Damage>
      <Size>160</Size>
      <LifetimeMS>4000</LifetimeMS>
      <ArmorPiercing/>
      <MultiHit/>
    </Projectile>
    <Projectile id="5">
      <ObjectId>White Bullet</ObjectId>
      <Speed>60</Speed>
      <Damage>170</Damage>
      <Size>160</Size>
      <LifetimeMS>4000</LifetimeMS>
      <ArmorPiercing/>
      <MultiHit/>
    </Projectile>
    <Projectile id="6">
      <ObjectId>Red Fire</ObjectId>
      <Speed>60</Speed>
      <Damage>170</Damage>
      <Size>160</Size>
      <LifetimeMS>4000</LifetimeMS>
      <ArmorPiercing/>
      <MultiHit/>
    </Projectile>
    <Projectile id="7">
      <ObjectId>White Bullet</ObjectId>
      <Speed>60</Speed>
      <Damage>170</Damage>
      <Size>160</Size>
      <LifetimeMS>4000</LifetimeMS>
      <ArmorPiercing/>
      <MultiHit/>
    </Projectile>
    <Projectile id="8">
      <ObjectId>Illumination Fire</ObjectId>
      <Speed>60</Speed>
      <Damage>170</Damage>
      <Size>160</Size>
      <LifetimeMS>4000</LifetimeMS>
      <ArmorPiercing/>
      <MultiHit/>
    </Projectile>

    <MaxHitPoints>150000</MaxHitPoints>
    <Size>0</Size>
    <Defense>60</Defense>
  </Object>
  <Object type="0xf79" id="The Devils Hand">
    <Group>Shaitan</Group>
    <Enemy/>
    <Class>Character</Class>
    <Level>20</Level>
    <NoArticle/>

    <AnimatedTexture>
    <File>chars16x16dEncounters2</File>
      <Index>95</Index>
    </AnimatedTexture>

    <HitSound>monster/skeletons_hit</HitSound>
    <DeathSound>monster/skeletons_death</DeathSound>

    <Projectile id="0">
      <ObjectId>White Bullet</ObjectId>
      <Speed>5</Speed>
      <Damage>60</Damage>
      <Size>80</Size>
      <LifetimeMS>200</LifetimeMS>
      <MultiHit/>
      <ArmorPiercing/>
    </Projectile>

    <MaxHitPoints>10000</MaxHitPoints>
    <Size>60</Size>
    <Defense>60</Defense>
  </Object>
<Object type="0x1973" id="Epic Shaitan Minion Spawner">
    <Class>Character</Class>
    <Enemy/>
    <NoMiniMap/>
    <StasisImmune/>

    <Texture>
      <File>invisible</File>
      <Index>0</Index>
    </Texture>

    <MaxHitPoints>9999</MaxHitPoints>
    <Defense>0</Defense>
    <XpMult>0</XpMult>

    <Size>100</Size>
    <ShadowSize>0</ShadowSize>


    <HitSound>monster/chicken_hit</HitSound>
    <DeathSound>monster/chicken_death</DeathSound>

    <Projectile id="0">
      <ObjectId>Pink Dot</ObjectId>
      <Damage>100</Damage>
      <Speed>65</Speed>
      <Size>120</Size>
      <LifetimeMS>2000</LifetimeMS>
      <MultiHit />
    </Projectile>
  </Object>
<Object type="0x1974" id="Epic Flame Trigger">
    <Enemy />
    <Class>Character</Class>

   <Texture><File>lofiObjBig</File><Index>0x0a</Index></Texture>

    <HitSound>monster/medusa_hit</HitSound>
    <DeathSound>monster/trees_death</DeathSound>
    <Size>100</Size>
    <MaxHitPoints>50000</MaxHitPoints>
    <Defense>30</Defense>
    <XpMult>0.75</XpMult>
    <Projectile id="0">
      <ObjectId>Directed Explosion</ObjectId>
      <Speed>150</Speed>
      <Damage>100</Damage>
      <Size>200</Size>
      <LifetimeMS>400</LifetimeMS>
    </Projectile>


  </Object>
Add that in addition.xml!

Now make a file called: BehaviorDb.EpicShaitan.cs and copy paste this code:

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 _ EpicShaitan = Behav()
            .Init(0xf79, Behaves("The Devil's Hand",
                   new RunBehaviors(
                         Circling.Instance(2.0f, 25, 7, 0x5034),
                        CooldownExact.Instance(500, RingAttack.Instance(15, projectileIndex: 0))
                         ))
                         )
             .Init(0x5034, Behaves("The Devil Shaitan",
              Once.Instance(SetConditionEffect.Instance(ConditionEffectIndex.Invulnerable)),
            Cooldown.Instance(2500, RingAttack.Instance(20, 0, 90 * (float)Math.PI / 180, 1)),// blue circle of boomarang bullets at start


                If.Instance(EntityLesserThan.Instance(30, 1, 0xf79), // kill hands to start
                    new RunBehaviors(
                         
                        Once.Instance(IsEntityPresent.Instance(1, null)),
                                              
                new RunBehaviors(
                    UnsetConditionEffect.Instance(ConditionEffectIndex.Invulnerable),
                    Cooldown.Instance(3000, RingAttack.Instance(8, 0, 0, 0)),
                    HpLesserPercent.Instance(0.2f, new SetKey(-1, 3)),
                    Once.Instance(new SetKey(-1, 1)),
                    Cooldown.Instance(10000, (RingAttack.Instance(6, 0, 2, projectileIndex: 5))),
        #region Awake
 IfEqual.Instance(-1, 1,
                new RunBehaviors(
                    Cooldown.Instance(15000, (new SimpleTaunt("You dont know who your up against!"))),
                new QueuedBehavior(
                    Cooldown.Instance(100, MultiAttack.Instance(10, 5 * (float)Math.PI / 100, 9, 0, projectileIndex: 0)),
                    Cooldown.Instance(110, MultiAttack.Instance(10, 5 * (float)Math.PI / 100, 9, 0, projectileIndex: 1)),
                    Cooldown.Instance(2000)
                    ),


                new QueuedBehavior(
                    Cooldown.Instance(3000, (SetConditionEffect.Instance(ConditionEffectIndex.Invulnerable))),
                    Cooldown.Instance(5000, (UnsetConditionEffect.Instance(ConditionEffectIndex.Invulnerable)))
                    ),


                new QueuedBehavior(
                    Cooldown.Instance(15000),
                    new SetKey(-1, 2))


                    )
                ),
        #endregion


        #region Pissed
 IfEqual.Instance(-1, 2,
                new RunBehaviors(
                    Cooldown.Instance(15000, (new SimpleTaunt("Let flames consume you minion!!"))),
                new QueuedBehavior(
                    Cooldown.Instance(100, MultiAttack.Instance(10, 5 * (float)Math.PI / 100, 3, 0, projectileIndex: 2)),
                    Cooldown.Instance(140, MultiAttack.Instance(10, 5 * (float)Math.PI / 100, 3, 0, projectileIndex: 3)),
                    Cooldown.Instance(180, MultiAttack.Instance(10, 5 * (float)Math.PI / 100, 3, 0, projectileIndex: 4)),
                    Cooldown.Instance(220, MultiAttack.Instance(10, 5 * (float)Math.PI / 100, 3, 0, projectileIndex: 5)),
                    Cooldown.Instance(260, MultiAttack.Instance(10, 5 * (float)Math.PI / 100, 1, 0, projectileIndex: 6)),
                    Cooldown.Instance(800)
                    ),


                new QueuedBehavior(
                    Cooldown.Instance(3000, (SetConditionEffect.Instance(ConditionEffectIndex.Invulnerable))),
                    Cooldown.Instance(5000, (UnsetConditionEffect.Instance(ConditionEffectIndex.Invulnerable)))
                    ),


                new QueuedBehavior(
                    Cooldown.Instance(15000),
                    new SetKey(-1, 1))


                    )
                ),
        #endregion


        #region Extremely Pissed
 IfEqual.Instance(-1, 3,
                new RunBehaviors(
                    SimpleWandering.Instance(2, 3f),
                    Cooldown.Instance(860, MultiAttack.Instance(10, 5 * (float)Math.PI / 100, 1, 0, projectileIndex: 6)),
                    Cooldown.Instance(15000, (new SimpleTaunt("DIE DIE DIE!!"))),
                new QueuedBehavior(
                    Cooldown.Instance(100, MultiAttack.Instance(10, 5 * (float)Math.PI / 100, 3, 0, projectileIndex: 2)),
                    Cooldown.Instance(140, MultiAttack.Instance(10, 5 * (float)Math.PI / 100, 3, 0, projectileIndex: 3)),
                    Cooldown.Instance(180, MultiAttack.Instance(10, 5 * (float)Math.PI / 100, 3, 0, projectileIndex: 4)),
                    Cooldown.Instance(220, MultiAttack.Instance(10, 5 * (float)Math.PI / 100, 3, 0, projectileIndex: 5)),
                    Cooldown.Instance(260, MultiAttack.Instance(10, 5 * (float)Math.PI / 100, 1, 0, projectileIndex: 6)),
                    Cooldown.Instance(600) 
                     )))))
                            )));
                              static _ EpicSSpawner = Behav()
           .Init(0x1973, Behaves("Epic Shaitans Spawner",          
                    new RunBehaviors(
                         
                        Once.Instance(IsEntityPresent.Instance(1, null)),                                              
                         new RunBehaviors(
                SetConditionEffect.Instance(ConditionEffectIndex.Invulnerable),
             Cooldown.Instance(2500, SpawnMinionImmediate.Instance(0x1974, 1, 1, 1))
             ))
                            ))
        .Init(0x1974, Behaves("Epic flame trigger",
        new RunBehaviors(
            new SetKey(-1, 1),
            IfEqual.Instance(-1, 1,
        new RunBehaviors(
            Chasing.Instance(2.5f, 6, 1, null),
            If.Instance(IsEntityPresent.Instance(2, null), Flashing.Instance(150, 0xEB6CC2), new SetKey(-1, 2))
            )),
            IfEqual.Instance(-1, 2,
            new QueuedBehavior(
                CooldownExact.Instance(2000),
                RingAttack.Instance(30, projectileIndex: 0),
                Die.Instance
                )))
                 ));
    }
        #endregion
}

Thats it, if you have any questions quote this!
-Thanks


Enjoy!
maybe a video or gif, i don't own club source to test it xD
Quote Originally Posted by Kierze View Post
maybe a video or gif, i don't own club source to test it xD
No Problem! :P Gonna make a video today!
Quote Originally Posted by lkdjnfoskjednfblksjdfn View Post
No Problem! :P Gonna make a video today!
Great! //10 chars
Quote Originally Posted by Kierze View Post
Great! //10 chars



Here you go kierze! Please note: textures not added because im not creative ;D
Quote Originally Posted by lkdjnfoskjednfblksjdfn View Post



Here you go kierze! Please note: textures not added because im not creative ;D
awesome and fun behavior, if textures it would be better :P
Quote Originally Posted by Kierze View Post
awesome and fun behavior, if textures it would be better :P
Ik xD Demage is a bit op so i turned it down aaand something is wrong the main boss xml code server crashes if i put textures on it, lel but i'll salve it later :P At the end where it rages its gonna spawn a chest exacly the same place as it stands (tossenemyatplayer) and then go to rage phase. In the rageface its gonna chase you instead of SimpleWandering I'll quote the full code+xml when i've done the behavior. I spend like 15 minutes on this even tho it was late evening so when i get time i'll finish the behavior :P
How you add this Inventory ? pls call me!
and my archives of Rabcdasm is ASASM
I really enjoy this behavior. I recommend you to the contest! I think you could make it pretty far.
Posts 1–9 of 9 · Page 1 of 1

Post a Reply

Similar Threads

Tags for this Thread

None

Talk with us