- Requirements
- Latest ServUO!
Interactive Boss
I’m thrilled to share my Interactive Boss System with the ServUO community! This system spices up your shard with dynamic, engaging boss fights that challenge players with special attacks, devastating wipe mechanics, and immersive dialogue. Whether you’re running a high-fantasy shard or a custom world, this system lets you turn any mobile into a thrilling boss encounter with minimal effort. It’s packed with visual effects, a GUMP-based dodge mechanic, and randomized speech to keep players on their toes. Included are a test mob and a fiery dragon boss to get you started!
Hope you enjoy bringing epic battles to your players as much as I enjoyed building this!
I’m thrilled to share my Interactive Boss System with the ServUO community! This system spices up your shard with dynamic, engaging boss fights that challenge players with special attacks, devastating wipe mechanics, and immersive dialogue. Whether you’re running a high-fantasy shard or a custom world, this system lets you turn any mobile into a thrilling boss encounter with minimal effort. It’s packed with visual effects, a GUMP-based dodge mechanic, and randomized speech to keep players on their toes. Included are a test mob and a fiery dragon boss to get you started!
Hope you enjoy bringing epic battles to your players as much as I enjoyed building this!
Features
- Dynamic Attacks and Wipes: Bosses unleash special attacks (e.g., Fire, Poison) and wipe abilities (e.g., Volitile, Energy) that players must dodge via a timed GUMP or face resistance-based consequences.
- Immersive Speech: 20 randomized, generic dialogue lines for attacks, wipes, and failed wipes, fitting any effect type (e.g., “My might will crush you!” or “prepares deadly Fire”).
- Customizable Visuals: Stunning effects like FlameStrike, Lightning, and Explosion, with per-boss hue overrides.
- Resistance-Based Mechanics: Damage and wipe outcomes depend on player resistances (Physical, Fire, Cold, etc.), adding strategy.
- Easy Mobile Conversion: Transform any mobile into a boss by inheriting from InteractiveMobile and using SetInteractive() in the constructor.
- Admin Commands: Test effects, spawn bosses, and preview the GUMP with simple commands.
- Flexible Configuration: Tweak timers, effect hues, attack chances, and more via centralized settings.
- Persistent and Stable: Full serialization ensures boss states survive server restarts.
Installation
- Add the Scripts:
- Drag and drop the files into your Scripts/Custom folder (create it if needed).
- Compile your ServUO solution to ensure no errors.
- Server Startup:
- The system auto-initializes!
- Test It Out:
- Log in as an admin and try:
- [ITestMob to spawn a test boss with Force attacks and Fire wipes.
- [Add InteractiveDragon for a fire-themed dragon with Volitile wipes.
- [PlayEffect <AnimEffect> (e.g., [PlayEffect FlameStrike) to test effects.
- [PlayMultiEffect <AnimEffect> for multi-effects (e.g., [PlayMultiEffect ExplosionMulti).
- [OpenEffectGump to preview the dodge GUMP.
- Log in as an admin and try:
Usage
Turning Any Mobile into a Boss
To make any mobile a boss, inherit from InteractiveMobile and call SetInteractive() in the constructor. Here’s an example:
CustomLich:
using Server.Mobiles;
namespace Server.Custom
{
[CorpseName("a lich corpse")]
public class CustomLich : InteractiveMobile
{
[Constructable]
public CustomLich() : base(AIType.AI_Mage, FightMode.Closest)
{
Name = "a dread lich";
Body = 24; // Lich body
Hue = 1150; // Dark hue
SetHits(800);
SetDamage(8, 14);
// Set interactive properties: AttackType, WipeType, AttackHitChance, WipeTries, EffectHue, CanTalk, RevEffect
SetInteractive(InteractiveType.Poison, InteractiveType.Energy, 5, 4, 1153, true, true);
}
public CustomLich(Serial serial) : base(serial) { }
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.Write(0); // Version
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
reader.ReadInt();
}
}
}
- SetInteractive Parameters:
- AttackType: Type of special attack (e.g., InteractiveType.Poison).
- WipeType: Type of wipe attack (e.g., InteractiveType.Energy).
- AttackHitChance: Chance (1-100) for special attacks (e.g., 5 for 5%).
- WipeTries: Number of wipe attacks (e.g., 4).
- EffectHue: Visual effect hue (e.g., 1153, or -1 for default).
- CanTalk: Enable/disable speech (true for dialogue).
- RevEffect: Reverse multi-effect animation (true/false).
How It Works
- Combat Mechanics:
- Bosses track attackers in a Tagged list when damaged.
- Special Attacks: Trigger randomly (based on AttackHitChance) when health drops, dealing damage/healing with speech (e.g., “Feel my relentless strike!”).
- Wipe Attacks: Trigger at health thresholds (e.g., 80%, 60%, 40% for 5 wipes), up to WipeTries. Players get a GUMP to dodge within 3 seconds, with speech (e.g., “Your doom is upon you!” or “prepares deadly Volitile”).
- Failed Wipes: If no targets are tagged, wipes fizzle with speech (e.g., “You escaped... for now!” or “Volitile power fades”).
- Damage depends on player resistances (e.g., FireResistance for InteractiveType.Fire).
- Player Interaction:
- Wipe attacks show a GUMP with a dodge button. Clicking it removes the player from Tagged; failure may result in death (if KillOnWipe = true) based on resistance checks.
Customization
- Speech: Edit InteractiveSpeech.cs to tweak 20 generic lines per action (attacks, wipes, failed wipes, emotes). Lines work for all InteractiveType values (Force, Fire, Cold, etc.).
- Visuals: Modify EffectMappings in InteractiveSettings.cs to change effects/hues (e.g., FlameStrike for Fire).
- Mechanics: Adjust InteractiveSettings.cs for:
- GumpDelay (dodge time, default: 3s).
- AttackChance (default: 3%).
- WipeCount (default: 3 wipes).
- SpecialAttackDelay (cooldown, default: 10s).
- GUMP Look: Tweak InteractiveGump.cs for button images or layout.
- New Effects: Add to AnimEffect enum and InteractiveEffects.cs for custom visuals.
Example: InteractiveDragon
The included InteractiveDragon is a ready-to-use test boss: (Just a quick conversion 1 for 1 of Dragon)
- Interactive Setup: Fire attacks, Volitile wipes, 5 wipes, 3% attack chance, red hue (2734), with speech enabled.
- Speech: Uses InteractiveSpeech.cs for taunts like “My might will crush you!” or “channels a Volitile blast”.
Spawn it with [Add InteractiveDragon and watch it roast players!
Feedback
I’d love to hear how this system works on your shard! Drop a comment with feedback, suggestions, or cool bosses you’ve made. If you hit any snags, let me know, and I’ll help sort them out. Hope you and your players have a blast with these epic encounters!