Dr Terrible (Partial Fix)
Credits to @rangewolf5 for the code. I added some more shtuff
and fixed the loot behaviors and set a little bit of cool-downs. He might spam your chat :|
and fixed the loot behaviors and set a little bit of cool-downs. He might spam your chat :|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 _ Madlab = Behav()
.Init(0x0976, Behaves("Dr Terrible",
new RunBehaviors(
Cooldown.Instance(4950, new SimpleTaunt("Have a taste of my Putrid Concoction, Hahaha!")),
Cooldown.Instance(5000, TossEnemyAtPlayer.Instance(10, 0x0978)),
Cooldown.Instance(10000, TossEnemyAtPlayer.Instance(10, 0x12aa)),
SimpleWandering.Instance(2, 1)
),
new RunBehaviors(
Cooldown.Instance(7000, new SimpleTaunt("If my calulations are correct, this will hurt you.")),
Cooldown.Instance(3000, TossEnemyAtPlayer.Instance(10, 0x0978)),
Cooldown.Instance(10000, TossEnemyAtPlayer.Instance(10, 0x12aa)),
SimpleWandering.Instance(2, 1)
),
HpLesserPercent.Instance(0.3f,
new RunBehaviors(
Once.Instance(SetConditionEffect.Instance(ConditionEffectIndex.Invulnerable)),
Once.Instance(new SimpleTaunt("ARGHH! You have not deafeated me! Minions KILL THEM!!!")),
Once.Instance(SpawnMinion.Instance(0x1e25, 1, 2, 0, 100)),
Once.Instance(SpawnMinion.Instance(0x1e23, 1, 2, 0, 100)),
Once.Instance(SpawnMinion.Instance(0x1e24, 1, 2, 0, 100)),
Once.Instance(SpawnMinion.Instance(0x1e25, 1, 2, 0, 100)),
Once.Instance(SpawnMinion.Instance(0x1e23, 1, 2, 0, 100)),
Once.Instance(SpawnMinion.Instance(0x1e24, 1, 2, 0, 100)),
Cooldown.Instance(20000, Once.Instance(UnsetConditionEffect.Instance(ConditionEffectIndex.Invulnerable)))
)),
loot: new LootBehavior(LootDef.Empty,
Tuple.Create(100, new LootDef(0, 3, 0, 3,
Tuple.Create(0.03, (ILoot)new ItemLoot("Scepter of Fulmination")),
Tuple.Create(0.05, (ILoot)new ItemLoot("Conducting Wand")),
Tuple.Create(0.04, (ILoot)new ItemLoot("Robe of the Mad Scientist")),
Tuple.Create(0.10, (ILoot)new ItemLoot("Experimental Ring")),
Tuple.Create(0.01, (ILoot)new ItemLoot("Wine Cellar Incantation")),
Tuple.Create(0.05, (ILoot)new TierLoot(5, ItemType.Ability)),
Tuple.Create(0.05, (ILoot)new TierLoot(11, ItemType.Weapon)),
Tuple.Create(0.05, (ILoot)new TierLoot(12, ItemType.Armor)),
Tuple.Create(0.05, (ILoot)new TierLoot(5, ItemType.Ring)),
Tuple.Create(1.0, (ILoot)new StatPotionLoot(StatPotion.Wis))
)))))
.Init(0x1e25, Behaves("Dr Terrible Mini Bot",
new RunBehaviors(
Chasing.Instance(3, 25, 3, null),
Cooldown.Instance(1000, MultiAttack.Instance(10, 20 * (float)Math.PI / 180, 2, 0, 0))
)))
.Init(0x1e24, Behaves("Dr Terrible Rampage Cyborg",
new RunBehaviors(
Chasing.Instance(5, 25, 1, null),
Cooldown.Instance(800, SimpleAttack.Instance(10, 0)),
Cooldown.Instance(300, RingAttack.Instance(8, 1, 0, 1))
)))
.Init(0x1e23, Behaves("Dr Terrible Escaped Experiment",
new RunBehaviors(
SimpleWandering.Instance(2, 1),
Cooldown.Instance(800, SimpleAttack.Instance(10, 0))
)))
.Init(0x0978, Behaves("Green Potion",
new RunBehaviors(
Cooldown.Instance(3000, RingAttack.Instance(6, 6, 0, 0)),
Cooldown.Instance(3010, Die.Instance)
)))
.Init(0x12aa, Behaves("Turret Attack",
new RunBehaviors(
Cooldown.Instance(1000, MultiAttack.Instance(10, 20 * (float)Math.PI / 180, 2, 0, 0)),
Cooldown.Instance(9950, Die.Instance)
)));
}
}
