#region
using wServer.logic.behaviors;
using wServer.logic.loot;
using wServer.logic.transitions;
#endregion
namespace wServer.logic
{
partial class BehaviorDb
{
private _ Davic = () => Behav()
.Init("Da Vic",
new State(
new State("pause",
new ConditionalEffect(ConditionEffectIndex.Invulnerable),
new TimedTransition(1000, "start")
),
new State("start",
new ConditionalEffect(ConditionEffectIndex.Invulnerable),
new Taunt("Hmm, You Dare To Fight Me?"),
new TimedTransition(1500, "attack")
),
new State("attack",
new Prioritize(
new StayCloseToSpawn(0.3, 7)
),
new State("fight",
new Shoot(2, projectileIndex: 0, count: 3, fixedAngle: 40, coolDown: 100),
new Shoot(2, projectileIndex: 1, count: 3, fixedAngle: 30, coolDown: 100),
new Shoot(2, projectileIndex: 0, count: 3, fixedAngle: 20, coolDown: 100),
new Shoot(2, projectileIndex: 0, count: 3, predictive: 1, coolDown: 100),
new Shoot(2, projectileIndex: 0, count: 3, fixedAngle: 40, coolDown: 100)
),
new State("NubShield2.0",
new Shoot(2, projectileIndex: 0, count: 3, predictive: 1, coolDown: 100),
new Shoot(2, projectileIndex: 2, count: 3, fixedAngle: 80, coolDown: 100),
new Shoot(2, projectileIndex: 0, count: 3, predictive: 1, coolDown: 100),
new Shoot(2, projectileIndex: 1, count: 3, fixedAngle: 80, coolDown: 100),
new Shoot(2, projectileIndex: 0, count: 3, fixedAngle: 90, coolDown: 100)
),
new Shoot(25, projectileIndex: 1, count: 2, shootAngle: 10, predictive: 0.4, coolDown: 1000,
coolDownOffset: 500),
new Shoot(25, projectileIndex: 2, count: 3, shootAngle: 10, predictive: 0.6, coolDown: 1000,
coolDownOffset: 500),
new Shoot(25, projectileIndex: 1, count: 2, shootAngle: 10, predictive: 0.8, coolDown: 1000,
coolDownOffset: 500),
new TimedTransition(3000, "Warning")
),
new State("Warning",
new Prioritize(
new StayCloseToSpawn(0.5, 7)
),
new ConditionalEffect(ConditionEffectIndex.Invulnerable),
new Flash(0xff00ff00, 0.2, 15),
new TimedTransition(3000, "summon")
),
new State("summon",
new Prioritize(
new StayCloseToSpawn(0.85, 7)
),
new Shoot(10, projectileIndex: 0, coolDown: 1000),
new TossObject("Da Vic Ghost", 6, 45, 3100), //this has to change
new TossObject("Da Vic Ghost", 6, 135, 3100), //this has to change
new TossObject("Da Vic Ghost", 6, 225, 3100), //this has to change
new TossObject("Da Vic Ghost", 6, 315, 3100), //this has to chage
new State("invulnerable_clone",
new ConditionalEffect(ConditionEffectIndex.Invulnerable),
new TimedTransition(3000, "vulnerable_clone")
),
new State("NubShield2.0",
new TimedTransition(1200, "Warning2")
),
new TimedTransition(10000, "shit")
),
new State("NubShield2.0",
new Prioritize(
new StayCloseToSpawn(0.85, 7)
),
new ConditionalEffect(ConditionEffectIndex.Invulnerable),
new Flash(0xff00ff00, 0.2, 25),
new TimedTransition(5000, "shit")
),
new State("shit",
new Prioritize(
new StayCloseToSpawn(0.6, 7)
),
new Shoot(10, projectileIndex: 2, count: 3, shootAngle: 120, coolDown: 900),
new Shoot(10, projectileIndex: 2, count: 3, shootAngle: 15, fixedAngle: 40, coolDown: 1600,
coolDownOffset: 0),
new Shoot(10, projectileIndex: 2, count: 3, shootAngle: 15, fixedAngle: 220, coolDown: 1600,
coolDownOffset: 0),
new Shoot(10, projectileIndex: 2, count: 3, shootAngle: 15, fixedAngle: 130, coolDown: 1600,
coolDownOffset: 800),
new Shoot(10, projectileIndex: 2, count: 3, shootAngle: 15, fixedAngle: 310, coolDown: 1600,
coolDownOffset: 800),
new State("invulnerable_whoa",
new ConditionalEffect(ConditionEffectIndex.Invulnerable),
new TimedTransition(2600, "vulnerablew")
),
new State("vulnerablew",
new TimedTransition(1200, "invulnerable_whoa")
),
new TimedTransition(10000, "Absolutely_Massive")
),
new State("NubShield2.0",
new ChangeSize(13, 240),
new Prioritize(
new StayCloseToSpawn(0.2, 7),
new Wander(0.2)
),
new Shoot(10, projectileIndex: 0, count: 9, shootAngle: 40, fixedAngle: 40, coolDown: 1500,
coolDownOffset: 400),
new Shoot(10, projectileIndex: 0, count: 9, shootAngle: 40, fixedAngle: 60, coolDown: 2000,
coolDownOffset: 800),
new Shoot(10, projectileIndex: 2, count: 9, shootAngle: 40, fixedAngle: 50, coolDown: 2500,
coolDownOffset: 1200),
new Shoot(10, projectileIndex: 2, count: 9, shootAngle: 40, fixedAngle: 70, coolDown: 3000,
coolDownOffset: 1600),
new State("invulnerablem",
new ConditionalEffect(ConditionEffectIndex.Invulnerable),
new TimedTransition(2600, "vulnerablem")
),
new State("vulnerablem",
new TimedTransition(1000, "invulnerablem")
),
new TimedTransition(30000, "again")
),
new State("again",
new ChangeSize(-20, 100),
new ConditionalEffect(ConditionEffectIndex.Invulnerable),
new TimedTransition(3000, "attack")
)
),
new Threshold(1,
new ItemLoot("Potion of Life", 1)
),
new Threshold(0.03,
new ItemLoot("Suit", 0.2) //change
)
)
.Init("Da Vic Ghost",
new State(
new Prioritize(
new StayCloseToSpawn(0.85, range: 5)
),
new Shoot(10, coolDown: 1000),
new State("taunt",
new Taunt(0.09, "Protect the King"),
new TimedTransition(1000, "no_taunt")
),
new State("no_taunt",
new TimedTransition(1000, "taunt")
),
new Decay(17000)
)
)
.Init("Da Vic Eyes",
new State(
new State("attack",
new Shoot(10, predictive: 0.3, coolDown: 500),
new State("keep_distance",
new Prioritize(
new StayCloseToSpawn(1, 12),
new Orbit(0.7, 3, 10, "Da Vic")
),
new TimedTransition(2000, "go_anywhere")
),
new State("go_anywhere",
new TimedTransition(2000, "keep_distance")
)
)
)
)
;
}
}
XML's
code:
<Object type="0xefe8" id="Da Vic Ghost">
<Group>Gods</Group>
<Enemy/>
<Class>Character</Class>
<AnimatedTexture>
<File>chars16x16dEncounters2</File>
<Index>97</Index>
</AnimatedTexture>
<HitSound>monster/djinn_hit</HitSound>
<DeathSound>monster/djinn_death</DeathSound>
<Size>150</Size>
<MaxHitPoints>5000</MaxHitPoints>
<Defense>40</Defense>
<XpMult>1.0</XpMult>
<God/>
<Projectile id="0">
<ObjectId>White Beam</ObjectId>
<Damage>120</Damage>
<Speed>100</Speed>
<LifetimeMS>2000</LifetimeMS>
<Size>150</Size>
</Projectile>
</Object>
<Object type="0xefe7" id="Da Vic Eyes">
<Group>Gods</Group>
<Enemy/>
<Class>Character</Class>
<AnimatedTexture>
<File>chars16x16dEncounters2</File>
<Index>96</Index>
</AnimatedTexture>
<HitSound>monster/djinn_hit</HitSound>
<DeathSound>monster/djinn_death</DeathSound>
<Size>150</Size>
<MaxHitPoints>50000</MaxHitPoints>
<Defense>40</Defense>
<XpMult>0.5</XpMult>
<God/>
<Projectile id="0">
<ObjectId>Golden Blast</ObjectId>
<Damage>120</Damage>
<Speed>40</Speed>
<LifetimeMS>2000</LifetimeMS>
<ConditionEffect duration="3">Stunned</ConditionEffect>
<Size>150</Size>
</Projectile>
</Object>
<Object type="0xefe6" id="Da Vic">
<Group>Vic</Group>
<Enemy/>
<Class>Character</Class>
<AnimatedTexture>
<File>chars16x16dEncounters2</File>
<Index>95</Index>
</AnimatedTexture>
<HitSound>monster/djinn_hit</HitSound>
<DeathSound>monster/djinn_death</DeathSound>
<Size>150</Size>
<MaxHitPoints>200000</MaxHitPoints>
<Defense>40</Defense>
<XpMult>5.0</XpMult>
<God/>
<Projectile id="0">
<ObjectId>Da Vic S1</ObjectId>
<Damage>150</Damage>
<Speed>100</Speed>
<Size>70</Size>
<LifetimeMS>1500</LifetimeMS>
<MultiHit/>
</Projectile>
<Projectile id="1">
<ObjectId>Da Vic Blast</ObjectId>
<Damage>70</Damage>
<Speed>100</Speed>
<Size>100</Size>
<LifetimeMS>1500</LifetimeMS>
<ConditionEffect duration="2.75">Unstable</ConditionEffect>
<MultiHit/>
</Projectile>
<Projectile id="2">
<ObjectId>Da Vic S2</ObjectId>
<Damage>150</Damage>
<Speed>70</Speed>
<Size>100</Size>
<LifetimeMS>1500</LifetimeMS>
<MultiHit/>
</Projectile>
<DisplayId>{Da vic}</DisplayId>
</Object>
#region
using wServer.logic.behaviors;
using wServer.logic.loot;
using wServer.logic.transitions;
#endregion
namespace wServer.logic
{
partial class BehaviorDb
{
private _ Davic = () => Behav()
.Init("Da Vic",
new State(
new State("pause",
new ConditionalEffect(ConditionEffectIndex.Invulnerabl e),
new TimedTransition(1000, "start")
),
new State("start",
new ConditionalEffect(ConditionEffectIndex.Invulnerabl e),
new Taunt("Hmm, You Dare To Fight Me?"),
new TimedTransition(1500, "attack")
),
new State("attack",
new Prioritize(
new StayCloseToSpawn(0.3, 7)
),
new State("fight",
new Shoot(2, projectileIndex: 0, count: 3, fixedAngle: 40, coolDown: 100),
new Shoot(2, projectileIndex: 1, count: 3, fixedAngle: 30, coolDown: 100),
new Shoot(2, projectileIndex: 0, count: 3, fixedAngle: 20, coolDown: 100),
new Shoot(2, projectileIndex: 0, count: 3, predictive: 1, coolDown: 100),
new Shoot(2, projectileIndex: 0, count: 3, fixedAngle: 40, coolDown: 100)
),
new State("NubShield2.0",
new Shoot(2, projectileIndex: 0, count: 3, predictive: 1, coolDown: 100),
new Shoot(2, projectileIndex: 2, count: 3, fixedAngle: 80, coolDown: 100),
new Shoot(2, projectileIndex: 0, count: 3, predictive: 1, coolDown: 100),
new Shoot(2, projectileIndex: 1, count: 3, fixedAngle: 80, coolDown: 100),
new Shoot(2, projectileIndex: 0, count: 3, fixedAngle: 90, coolDown: 100)
),
new Shoot(25, projectileIndex: 1, count: 2, shootAngle: 10, predictive: 0.4, coolDown: 1000,
coolDownOffset: 500),
new Shoot(25, projectileIndex: 2, count: 3, shootAngle: 10, predictive: 0.6, coolDown: 1000,
coolDownOffset: 500),
new Shoot(25, projectileIndex: 1, count: 2, shootAngle: 10, predictive: 0.8, coolDown: 1000,
coolDownOffset: 500),
new TimedTransition(3000, "Warning")
),
new State("Warning",
new Prioritize(
new StayCloseToSpawn(0.5, 7)
),
new ConditionalEffect(ConditionEffectIndex.Invulnerabl e),
new Flash(0xff00ff00, 0.2, 15),
new TimedTransition(3000, "summon")
),
new State("summon",
new Prioritize(
new StayCloseToSpawn(0.85, 7)
),
new Shoot(10, projectileIndex: 0, coolDown: 1000),
new TossObject("Da Vic Ghost", 6, 45, 3100), //this has to change
new TossObject("Da Vic Ghost", 6, 135, 3100), //this has to change
new TossObject("Da Vic Ghost", 6, 225, 3100), //this has to change
new TossObject("Da Vic Ghost", 6, 315, 3100), //this has to chage
new State("invulnerable_clone",
new ConditionalEffect(ConditionEffectIndex.Invulnerabl e),
new TimedTransition(3000, "vulnerable_clone")
),
new State("NubShield2.0",
new TimedTransition(1200, "Warning2")
),
new TimedTransition(10000, "shit")
),
new State("NubShield2.0",
new Prioritize(
new StayCloseToSpawn(0.85, 7)
),
new ConditionalEffect(ConditionEffectIndex.Invulnerabl e),
new Flash(0xff00ff00, 0.2, 25),
new TimedTransition(5000, "shit")
),
new State("shit",
new Prioritize(
new StayCloseToSpawn(0.6, 7)
),
new Shoot(10, projectileIndex: 2, count: 3, shootAngle: 120, coolDown: 900),
new Shoot(10, projectileIndex: 2, count: 3, shootAngle: 15, fixedAngle: 40, coolDown: 1600,
coolDownOffset: 0),
new Shoot(10, projectileIndex: 2, count: 3, shootAngle: 15, fixedAngle: 220, coolDown: 1600,
coolDownOffset: 0),
new Shoot(10, projectileIndex: 2, count: 3, shootAngle: 15, fixedAngle: 130, coolDown: 1600,
coolDownOffset: 800),
new Shoot(10, projectileIndex: 2, count: 3, shootAngle: 15, fixedAngle: 310, coolDown: 1600,
coolDownOffset: 800),
new State("invulnerable_whoa",
new ConditionalEffect(ConditionEffectIndex.Invulnerabl e),
new TimedTransition(2600, "vulnerablew")
),
new State("vulnerablew",
new TimedTransition(1200, "invulnerable_whoa")
),
new TimedTransition(10000, "Absolutely_Massive")
),
new State("NubShield2.0",
new ChangeSize(13, 240),
new Prioritize(
new StayCloseToSpawn(0.2, 7),
new Wander(0.2)
),
new Shoot(10, projectileIndex: 0, count: 9, shootAngle: 40, fixedAngle: 40, coolDown: 1500,
coolDownOffset: 400),
new Shoot(10, projectileIndex: 0, count: 9, shootAngle: 40, fixedAngle: 60, coolDown: 2000,
coolDownOffset: 800),
new Shoot(10, projectileIndex: 2, count: 9, shootAngle: 40, fixedAngle: 50, coolDown: 2500,
coolDownOffset: 1200),
new Shoot(10, projectileIndex: 2, count: 9, shootAngle: 40, fixedAngle: 70, coolDown: 3000,
coolDownOffset: 1600),
new State("invulnerablem",
new ConditionalEffect(ConditionEffectIndex.Invulnerabl e),
new TimedTransition(2600, "vulnerablem")
),
new State("vulnerablem",
new TimedTransition(1000, "invulnerablem")
),
new TimedTransition(30000, "again")
),
new State("again",
new ChangeSize(-20, 100),
new ConditionalEffect(ConditionEffectIndex.Invulnerabl e),
new TimedTransition(3000, "attack")
)
),
new Threshold(1,
new ItemLoot("Potion of Life", 1)
),
new Threshold(0.03,
new ItemLoot("Suit", 0.2) //change
)
)
.Init("Da Vic Ghost",
new State(
new Prioritize(
new StayCloseToSpawn(0.85, range: 5)
),
new Shoot(10, coolDown: 1000),
new State("taunt",
new Taunt(0.09, "Protect the King"),
new TimedTransition(1000, "no_taunt")
),
new State("no_taunt",
new TimedTransition(1000, "taunt")
),
new Decay(17000)
)
)
.Init("Da Vic Eyes",
new State(
new State("attack",
new Shoot(10, predictive: 0.3, coolDown: 500),
new State("keep_distance",
new Prioritize(
new StayCloseToSpawn(1, 12),
new Orbit(0.7, 3, 10, "Da Vic")
),
new TimedTransition(2000, "go_anywhere")
),
new State("go_anywhere",
new TimedTransition(2000, "keep_distance")
)
)
)
)
;
}
}
<Object type="0xefe8" id="Da Vic Ghost">
<Group>Gods</Group>
<Enemy/>
<Class>Character</Class>
<AnimatedTexture>
<File>chars16x16dEncounters2</File>
<Index>97</Index>
</AnimatedTexture>
<HitSound>monster/djinn_hit</HitSound>
<DeathSound>monster/djinn_death</DeathSound>
<Size>150</Size>
<MaxHitPoints>5000</MaxHitPoints>
<Defense>40</Defense>
<XpMult>1.0</XpMult>
<God/>
<Projectile id="0">
<ObjectId>White Beam</ObjectId>
<Damage>120</Damage>
<Speed>100</Speed>
<LifetimeMS>2000</LifetimeMS>
<Size>150</Size>
</Projectile>
</Object>
<Object type="0xefe7" id="Da Vic Eyes">
<Group>Gods</Group>
<Enemy/>
<Class>Character</Class>
<AnimatedTexture>
<File>chars16x16dEncounters2</File>
<Index>96</Index>
</AnimatedTexture>
<HitSound>monster/djinn_hit</HitSound>
<DeathSound>monster/djinn_death</DeathSound>
<Size>150</Size>
<MaxHitPoints>50000</MaxHitPoints>
<Defense>40</Defense>
<XpMult>0.5</XpMult>
<God/>
<Projectile id="0">
<ObjectId>Golden Blast</ObjectId>
<Damage>120</Damage>
<Speed>40</Speed>
<LifetimeMS>2000</LifetimeMS>
<ConditionEffect duration="3">Stunned</ConditionEffect>
<Size>150</Size>
</Projectile>
</Object>
<Object type="0xefe6" id="Da Vic">
<Group>Vic</Group>
<Enemy/>
<Class>Character</Class>
<AnimatedTexture>
<File>chars16x16dEncounters2</File>
<Index>95</Index>
</AnimatedTexture>
<HitSound>monster/djinn_hit</HitSound>
<DeathSound>monster/djinn_death</DeathSound>
<Size>150</Size>
<MaxHitPoints>200000</MaxHitPoints>
<Defense>40</Defense>
<XpMult>5.0</XpMult>
<God/>
<Projectile id="0">
<ObjectId>Da Vic S1</ObjectId>
<Damage>150</Damage>
<Speed>100</Speed>
<Size>70</Size>
<LifetimeMS>1500</LifetimeMS>
<MultiHit/>
</Projectile>
<Projectile id="1">
<ObjectId>Da Vic Blast</ObjectId>
<Damage>70</Damage>
<Speed>100</Speed>
<Size>100</Size>
<LifetimeMS>1500</LifetimeMS>
<ConditionEffect duration="2.75">Unstable</ConditionEffect>
<MultiHit/>
</Projectile>
<Projectile id="2">
<ObjectId>Da Vic S2</ObjectId>
<Damage>150</Damage>
<Speed>70</Speed>
<Size>100</Size>
<LifetimeMS>1500</LifetimeMS>
<MultiHit/>
</Projectile>
<DisplayId>{Da vic}</DisplayId>
</Object>
*wink* *wink*