//
// Licensed under the MIT License. See LICENSE file in the project root for full license information.
//
namespace MUnique.OpenMU.Persistence.Initialization.VersionSeasonSix;
using MUnique.OpenMU.AttributeSystem;
using MUnique.OpenMU.DataModel.Attributes;
using MUnique.OpenMU.DataModel.Configuration;
using MUnique.OpenMU.GameLogic.Attributes;
using MUnique.OpenMU.GameLogic.MiniGames;
using MUnique.OpenMU.GameLogic.NPC;
using MUnique.OpenMU.Persistence.Initialization.Skills;
///
/// The initialization of all NPCs, which are no monsters.
///
internal partial class NpcInitialization : Version095d.NpcInitialization
{
///
/// Initializes a new instance of the class.
///
/// The persistence context.
/// The game configuration.
public NpcInitialization(IContext context, GameConfiguration gameConfiguration)
: base(context, gameConfiguration)
{
}
///
/// Creates all NPCs.
///
///
/// Extracted from Monsters.txt by Regex: (?m)^(\d+)\t1\t"(.*?)".*?$
/// Replace by: yield return new MonsterDefinition() { Number = $1, Designation="$2" };
/// yield return new (\w*) { Number = (\d+), Designation = (".*?").*?(, NpcWindow = (.*) ){0,1}};
/// Replace by: ();\n def.Number = $2;\n def.Designation = $3;\n def.NpcWindow = $5;\n this.GameConfiguration.Monsters.Add(def);\n}\n ]]>.
///
public override void Initialize()
{
base.Initialize();
{
var def = this.Context.CreateNew();
def.Number = 226;
def.Designation = "Pet Trainer";
def.NpcWindow = NpcWindow.PetTrainer;
def.ObjectKind = NpcObjectKind.PassiveNpc;
this.GameConfiguration.Monsters.Add(def);
def.SetGuid(def.Number);
}
{
var def = this.Context.CreateNew();
def.Number = 229;
def.Designation = "Marlon";
def.NpcWindow = NpcWindow.LegacyQuest;
def.ObjectKind = NpcObjectKind.PassiveNpc;
this.GameConfiguration.Monsters.Add(def);
def.SetGuid(def.Number);
}
{
var def = this.Context.CreateNew();
def.Number = 230;
def.Designation = "Alex";
def.NpcWindow = NpcWindow.Merchant;
def.ObjectKind = NpcObjectKind.PassiveNpc;
def.MerchantStore = this.CreateAlexStore(230);
this.GameConfiguration.Monsters.Add(def);
def.SetGuid(def.Number);
}
{
var def = this.Context.CreateNew();
def.Number = 231;
def.Designation = "Thompson the Merchant";
def.NpcWindow = NpcWindow.Merchant;
def.ObjectKind = NpcObjectKind.PassiveNpc;
def.MerchantStore = this.CreatePotionGirlItemStorage(def.Number);
this.GameConfiguration.Monsters.Add(def);
def.SetGuid(def.Number);
}
{
var def = this.Context.CreateNew();
def.Number = 232;
def.Designation = "Archangel";
def.ObjectKind = NpcObjectKind.PassiveNpc;
this.GameConfiguration.Monsters.Add(def);
def.SetGuid(def.Number);
}
{
var def = this.Context.CreateNew();
def.Number = 233;
def.Designation = "Messenger of Arch.";
def.NpcWindow = NpcWindow.BloodCastle;
def.ObjectKind = NpcObjectKind.PassiveNpc;
this.GameConfiguration.Monsters.Add(def);
def.SetGuid(def.Number);
}
{
var def = this.Context.CreateNew();
def.Number = 256;
def.Designation = "Lahap";
def.NpcWindow = NpcWindow.Lahap;
def.ObjectKind = NpcObjectKind.PassiveNpc;
this.GameConfiguration.Monsters.Add(def);
def.SetGuid(def.Number);
}
{
var def = this.Context.CreateNew();
def.Number = 257;
def.Designation = "Elf Soldier";
def.NpcWindow = NpcWindow.NpcDialog;
def.ObjectKind = NpcObjectKind.PassiveNpc;
this.GameConfiguration.Monsters.Add(def);
def.SetGuid(def.Number);
}
// Elf Soldier Buff
{
var buffEffect = this.Context.CreateNew();
this.GameConfiguration.MagicEffects.Add(buffEffect);
buffEffect.Number = (short)MagicEffectNumber.ElfSoldierBuff;
buffEffect.Name = "Elf Soldier Buff";
buffEffect.InformObservers = true;
buffEffect.StopByDeath = true;
// Duration: 60 minutes
buffEffect.Duration = this.Context.CreateNew();
buffEffect.Duration.ConstantValue.Value = 3600;
// Defense boost: 50 + (Level / 5)
var defensePowerUp = this.Context.CreateNew();
defensePowerUp.TargetAttribute = Stats.DefenseFinal.GetPersistent(this.GameConfiguration);
defensePowerUp.Boost = this.Context.CreateNew();
defensePowerUp.Boost.ConstantValue.Value = 50;
defensePowerUp.Boost.ConstantValue.AggregateType = AggregateType.AddFinal;
var defensePerLevel = this.Context.CreateNew();
defensePerLevel.InputAttribute = Stats.Level.GetPersistent(this.GameConfiguration);
defensePerLevel.InputOperand = 1f / 5;
defensePerLevel.InputOperator = InputOperator.Multiply;
defensePowerUp.Boost.RelatedValues.Add(defensePerLevel);
buffEffect.PowerUpDefinitions.Add(defensePowerUp);
// Damage boost: 45 + (Level / 3)
var damagePowerUp = this.Context.CreateNew();
damagePowerUp.TargetAttribute = Stats.GreaterDamageBonus.GetPersistent(this.GameConfiguration);
damagePowerUp.Boost = this.Context.CreateNew();
damagePowerUp.Boost.ConstantValue.Value = 45;
damagePowerUp.Boost.ConstantValue.AggregateType = AggregateType.AddRaw;
var damagePerLevel = this.Context.CreateNew();
damagePerLevel.InputAttribute = Stats.Level.GetPersistent(this.GameConfiguration);
damagePerLevel.InputOperand = 1f / 3;
damagePerLevel.InputOperator = InputOperator.Multiply;
damagePowerUp.Boost.RelatedValues.Add(damagePerLevel);
buffEffect.PowerUpDefinitions.Add(damagePowerUp);
var elfSoldier = this.GameConfiguration.Monsters.First(m => m.Number == 257);
var buff = this.Context.CreateNew();
buff.MagicEffectDefinition = buffEffect;
buff.MaximumLevel = 220;
elfSoldier.Buffs.Add(buff);
}
{
var def = this.Context.CreateNew();
def.Number = 259;
def.Designation = "Oracle Layla";
def.NpcWindow = NpcWindow.Merchant;
def.ObjectKind = NpcObjectKind.PassiveNpc;
def.MerchantStore = this.CreatePotionGirlItemStorage(def.Number);
this.GameConfiguration.Monsters.Add(def);
def.SetGuid(def.Number);
}
{
var def = this.Context.CreateNew();
def.Number = 375;
def.Designation = "Chaos Card Master";
def.ObjectKind = NpcObjectKind.PassiveNpc;
def.NpcWindow = NpcWindow.ChaosCardCombination;
this.GameConfiguration.Monsters.Add(def);
def.SetGuid(def.Number);
}
{
var def = this.Context.CreateNew();
def.Number = 376;
def.Designation = "Pamela the Supplier";
def.NpcWindow = NpcWindow.Merchant;
def.ObjectKind = NpcObjectKind.PassiveNpc;
def.MerchantStore = this.CreatePotionGirlItemStorage(def.Number);
this.GameConfiguration.Monsters.Add(def);
def.SetGuid(def.Number);
}
{
var def = this.Context.CreateNew();
def.Number = 377;
def.Designation = "Angela the Supplier";
def.NpcWindow = NpcWindow.Merchant;
def.ObjectKind = NpcObjectKind.PassiveNpc;
def.MerchantStore = this.CreatePotionGirlItemStorage(def.Number);
this.GameConfiguration.Monsters.Add(def);
def.SetGuid(def.Number);
}
{
var def = this.Context.CreateNew();
def.Number = 378;
def.Designation = "GameMaster";
def.ObjectKind = NpcObjectKind.PassiveNpc;
this.GameConfiguration.Monsters.Add(def);
def.SetGuid(def.Number);
}
{
var def = this.Context.CreateNew();
def.Number = 379;
def.Designation = "Fireworks Girl";
def.ObjectKind = NpcObjectKind.PassiveNpc;
this.GameConfiguration.Monsters.Add(def);
def.SetGuid(def.Number);
}
{
var def = this.Context.CreateNew();
def.Number = 371;
def.Designation = "Leo The Helper";
def.ObjectKind = NpcObjectKind.PassiveNpc;
this.GameConfiguration.Monsters.Add(def);
def.SetGuid(def.Number);
}
{
var def = this.Context.CreateNew();
def.Number = 372;
def.Designation = "Elite Skill Soldier";
def.ObjectKind = NpcObjectKind.PassiveNpc;
this.GameConfiguration.Monsters.Add(def);
def.SetGuid(def.Number);
}
{
var def = this.Context.CreateNew();
def.Number = 380;
def.Designation = "Stone Statue";
def.ObjectKind = NpcObjectKind.Statue;
this.GameConfiguration.Monsters.Add(def);
def.SetGuid(def.Number);
}
{
var def = this.Context.CreateNew();
def.Number = 381;
def.Designation = "MU Allies General";
def.ObjectKind = NpcObjectKind.PassiveNpc;
this.GameConfiguration.Monsters.Add(def);
def.SetGuid(def.Number);
}
{
var def = this.Context.CreateNew();
def.Number = 382;
def.Designation = "Illusion Elder";
def.ObjectKind = NpcObjectKind.PassiveNpc;
this.GameConfiguration.Monsters.Add(def);
def.SetGuid(def.Number);
}
{
var def = this.Context.CreateNew();
def.Number = 383;
def.Designation = "Alliance Item Storage";
def.ObjectKind = NpcObjectKind.PassiveNpc;
this.GameConfiguration.Monsters.Add(def);
def.SetGuid(def.Number);
}
{
var def = this.Context.CreateNew();
def.Number = 384;
def.Designation = "Illusion Item Storage";
def.ObjectKind = NpcObjectKind.PassiveNpc;
this.GameConfiguration.Monsters.Add(def);
def.SetGuid(def.Number);
}
{
var def = this.Context.CreateNew();
def.Number = 385;
def.Designation = "Mirage";
def.ObjectKind = NpcObjectKind.PassiveNpc;
this.GameConfiguration.Monsters.Add(def);
def.SetGuid(def.Number);
}
{
var def = this.Context.CreateNew();
def.Number = 215;
def.Designation = "Shield";
def.ObjectKind = NpcObjectKind.PassiveNpc;
this.GameConfiguration.Monsters.Add(def);
def.SetGuid(def.Number);
}
{
var def = this.Context.CreateNew();
def.Number = 216;
def.Designation = "Crown";
def.ObjectKind = NpcObjectKind.PassiveNpc;
this.GameConfiguration.Monsters.Add(def);
def.SetGuid(def.Number);
}
{
var def = this.Context.CreateNew();
def.Number = 217;
def.Designation = "Crown Switch1";
def.ObjectKind = NpcObjectKind.PassiveNpc;
this.GameConfiguration.Monsters.Add(def);
def.SetGuid(def.Number);
}
{
var def = this.Context.CreateNew();
def.Number = 218;
def.Designation = "Crown Switch2";
def.ObjectKind = NpcObjectKind.PassiveNpc;
this.GameConfiguration.Monsters.Add(def);
def.SetGuid(def.Number);
}
{
var def = this.Context.CreateNew();
def.Number = 219;
def.Designation = "Castle Gate Switch";
def.ObjectKind = NpcObjectKind.PassiveNpc;
this.GameConfiguration.Monsters.Add(def);
def.SetGuid(def.Number);
}
{
var def = this.Context.CreateNew();
def.Number = 220;
def.Designation = "Guard";
def.ObjectKind = NpcObjectKind.Guard;
def.MoveRange = 3;
def.AttackRange = 2;
def.ViewRange = 8;
def.IntelligenceTypeName = typeof(GuardIntelligence).FullName;
def.MoveDelay = new TimeSpan(400 * TimeSpan.TicksPerMillisecond);
def.AttackDelay = new TimeSpan(1500 * TimeSpan.TicksPerMillisecond);
def.RespawnDelay = new TimeSpan(3 * TimeSpan.TicksPerSecond);
def.NumberOfMaximumItemDrops = 0;
var attributes = new Dictionary
{
{ Stats.Level, 2 },
{ Stats.MaximumHealth, 500 },
{ Stats.MinimumPhysBaseDmg, 15 },
{ Stats.MaximumPhysBaseDmg, 30 },
{ Stats.AttackRatePvm, 30 },
{ Stats.DefenseRatePvm, 20 },
{ Stats.DefenseBase, 70 },
};
def.AddAttributes(attributes, this.Context, this.GameConfiguration);
this.GameConfiguration.Monsters.Add(def);
def.SetGuid(def.Number);
}
{
var def = this.Context.CreateNew();
def.Number = 221;
def.Designation = "Slingshot Attack";
def.ObjectKind = NpcObjectKind.PassiveNpc;
this.GameConfiguration.Monsters.Add(def);
def.SetGuid(def.Number);
}
{
var def = this.Context.CreateNew();
def.Number = 222;
def.Designation = "Slingshot Defense";
def.ObjectKind = NpcObjectKind.PassiveNpc;
this.GameConfiguration.Monsters.Add(def);
def.SetGuid(def.Number);
}
{
var def = this.Context.CreateNew();
def.Number = 223;
def.Designation = "Senior";
def.ObjectKind = NpcObjectKind.PassiveNpc;
this.GameConfiguration.Monsters.Add(def);
def.SetGuid(def.Number);
}
{
var def = this.Context.CreateNew();
def.Number = 224;
def.Designation = "Guardsman";
def.ObjectKind = NpcObjectKind.PassiveNpc;
this.GameConfiguration.Monsters.Add(def);
def.SetGuid(def.Number);
}
{
var def = this.Context.CreateNew();
def.Number = 277;
def.Designation = "Castle Gate1";
def.ObjectKind = NpcObjectKind.Gate;
this.GameConfiguration.Monsters.Add(def);
def.SetGuid(def.Number);
}
{
var def = this.Context.CreateNew();
def.Number = 278;
def.Designation = "Life Stone";
def.ObjectKind = NpcObjectKind.Statue;
this.GameConfiguration.Monsters.Add(def);
def.SetGuid(def.Number);
}
{
var def = this.Context.CreateNew();
def.Number = 283;
def.Designation = "Guardian Statue";
def.ObjectKind = NpcObjectKind.Statue;
this.GameConfiguration.Monsters.Add(def);
def.SetGuid(def.Number);
}
{
var def = this.Context.CreateNew();
def.Number = 285;
def.Designation = "Guardian";
def.ObjectKind = NpcObjectKind.Guard;
this.GameConfiguration.Monsters.Add(def);
def.SetGuid(def.Number);
}
{
var def = this.Context.CreateNew();
def.Number = 286;
def.Designation = "Battle Guard1";
def.ObjectKind = NpcObjectKind.Guard;
this.GameConfiguration.Monsters.Add(def);
def.SetGuid(def.Number);
}
{
var def = this.Context.CreateNew();
def.Number = 287;
def.Designation = "Battle Guard2";
def.ObjectKind = NpcObjectKind.Guard;
this.GameConfiguration.Monsters.Add(def);
def.SetGuid(def.Number);
}
{
var def = this.Context.CreateNew();
def.Number = 288;
def.Designation = "Canon Tower";
def.ObjectKind = NpcObjectKind.Trap;
def.AttackSkill = this.GameConfiguration.Skills.FirstOrDefault(s => s.Number == (short)SkillNumber.MonsterSkill);
this.GameConfiguration.Monsters.Add(def);
def.SetGuid(def.Number);
}
{
var def = this.Context.CreateNew();
def.Number = 367;
def.Designation = "Gateway Machine";
def.ObjectKind = NpcObjectKind.PassiveNpc;
this.GameConfiguration.Monsters.Add(def);
def.SetGuid(def.Number);
}
{
var def = this.Context.CreateNew();
def.Number = 368;
def.Designation = "Elphis";
def.NpcWindow = NpcWindow.ElphisRefinery;
def.ObjectKind = NpcObjectKind.PassiveNpc;
this.GameConfiguration.Monsters.Add(def);
def.SetGuid(def.Number);
}
{
var def = this.Context.CreateNew();
def.Number = 369;
def.Designation = "Osbourne";
def.NpcWindow = NpcWindow.RefineStoneMaking;
def.ObjectKind = NpcObjectKind.PassiveNpc;
this.GameConfiguration.Monsters.Add(def);
def.SetGuid(def.Number);
}
{
var def = this.Context.CreateNew();
def.Number = 370;
def.Designation = "Jerridon";
def.NpcWindow = NpcWindow.RemoveJohOption;
def.ObjectKind = NpcObjectKind.PassiveNpc;
this.GameConfiguration.Monsters.Add(def);
def.SetGuid(def.Number);
}
{
var def = this.Context.CreateNew();
def.Number = 404;
def.Designation = "MU Allies";
def.ObjectKind = NpcObjectKind.PassiveNpc;
this.GameConfiguration.Monsters.Add(def);
def.SetGuid(def.Number);
}
{
var def = this.Context.CreateNew();
def.Number = 405;
def.Designation = "Illusion Sorcerer";
def.ObjectKind = NpcObjectKind.PassiveNpc;
this.GameConfiguration.Monsters.Add(def);
def.SetGuid(def.Number);
}
{
var def = this.Context.CreateNew();
def.Number = 406;
def.Designation = "Priest Devin";
def.ObjectKind = NpcObjectKind.PassiveNpc;
def.NpcWindow = NpcWindow.LegacyQuest;
this.GameConfiguration.Monsters.Add(def);
def.SetGuid(def.Number);
}
{
var def = this.Context.CreateNew();
def.Number = 407;
def.Designation = "Werewolf Quarrel";
def.ObjectKind = NpcObjectKind.PassiveNpc;
this.GameConfiguration.Monsters.Add(def);
def.SetGuid(def.Number);
}
{
var def = this.Context.CreateNew();
def.Number = 408;
def.Designation = "Gatekeeper";
def.ObjectKind = NpcObjectKind.PassiveNpc;
this.GameConfiguration.Monsters.Add(def);
def.SetGuid(def.Number);
}
{
var def = this.Context.CreateNew();
def.Number = 415;
def.Designation = "Silvia";
def.ObjectKind = NpcObjectKind.PassiveNpc;
def.NpcWindow = NpcWindow.Merchant;
def.MerchantStore = this.CreatePotionGirlItemStorage(def.Number);
this.GameConfiguration.Monsters.Add(def);
def.SetGuid(def.Number);
}
{
var def = this.Context.CreateNew();
def.Number = 416;
def.Designation = "Rhea";
def.ObjectKind = NpcObjectKind.PassiveNpc;
def.NpcWindow = NpcWindow.Merchant;
def.MerchantStore = this.CreateRheaStore(def.Number);
this.GameConfiguration.Monsters.Add(def);
def.SetGuid(def.Number);
}
{
var def = this.Context.CreateNew();
def.Number = 417;
def.Designation = "Marce";
def.ObjectKind = NpcObjectKind.PassiveNpc;
def.MerchantStore = this.CreateMarceStore(def.Number);
def.NpcWindow = NpcWindow.Merchant;
this.GameConfiguration.Monsters.Add(def);
def.SetGuid(def.Number);
}
{
var def = this.Context.CreateNew();
def.Number = 450;
def.Designation = "Cherry Blossom Spirit";
def.NpcWindow = NpcWindow.CherryBlossomBranchesAssembly;
def.ObjectKind = NpcObjectKind.PassiveNpc;
this.GameConfiguration.Monsters.Add(def);
def.SetGuid(def.Number);
}
{
var def = this.Context.CreateNew();
def.Number = 451;
def.Designation = "Cherry Blossom Tree";
def.ObjectKind = NpcObjectKind.PassiveNpc;
this.GameConfiguration.Monsters.Add(def);
def.SetGuid(def.Number);
}
{
var def = this.Context.CreateNew();
def.Number = 452;
def.Designation = "Seed Master";
def.NpcWindow = NpcWindow.SeedMaster;
def.ObjectKind = NpcObjectKind.PassiveNpc;
this.GameConfiguration.Monsters.Add(def);
def.SetGuid(def.Number);
}
{
var def = this.Context.CreateNew();
def.Number = 453;
def.Designation = "Seed Researcher";
def.NpcWindow = NpcWindow.SeedResearcher;
def.ObjectKind = NpcObjectKind.PassiveNpc;
this.GameConfiguration.Monsters.Add(def);
def.SetGuid(def.Number);
}
{
var def = this.Context.CreateNew();
def.Number = 467;
def.Designation = "Snowman";
def.ObjectKind = NpcObjectKind.PassiveNpc;
this.GameConfiguration.Monsters.Add(def);
def.SetGuid(def.Number);
}
{
var def = this.Context.CreateNew();
def.Number = 468;
def.Designation = "Little Santa Yellow";
def.ObjectKind = NpcObjectKind.PassiveNpc;
this.GameConfiguration.Monsters.Add(def);
def.SetGuid(def.Number);
}
{
var def = this.Context.CreateNew();
def.Number = 469;
def.Designation = "Little Santa Green";
def.ObjectKind = NpcObjectKind.PassiveNpc;
this.GameConfiguration.Monsters.Add(def);
def.SetGuid(def.Number);
}
{
var def = this.Context.CreateNew();
def.Number = 470;
def.Designation = "Little Santa Red";
def.ObjectKind = NpcObjectKind.PassiveNpc;
this.GameConfiguration.Monsters.Add(def);
def.SetGuid(def.Number);
}
{
var def = this.Context.CreateNew();
def.Number = 471;
def.Designation = "Little Santa Blue";
def.ObjectKind = NpcObjectKind.PassiveNpc;
this.GameConfiguration.Monsters.Add(def);
def.SetGuid(def.Number);
}
{
var def = this.Context.CreateNew();
def.Number = 472;
def.Designation = "Little Santa White";
def.ObjectKind = NpcObjectKind.PassiveNpc;
this.GameConfiguration.Monsters.Add(def);
def.SetGuid(def.Number);
}
{
var def = this.Context.CreateNew();
def.Number = 473;
def.Designation = "Little Santa Black";
def.ObjectKind = NpcObjectKind.PassiveNpc;
this.GameConfiguration.Monsters.Add(def);
def.SetGuid(def.Number);
}
{
var def = this.Context.CreateNew();
def.Number = 474;
def.Designation = "Little Santa Orange";
def.ObjectKind = NpcObjectKind.PassiveNpc;
this.GameConfiguration.Monsters.Add(def);
def.SetGuid(def.Number);
}
{
var def = this.Context.CreateNew();
def.Number = 475;
def.Designation = "Little Santa Pink";
def.ObjectKind = NpcObjectKind.PassiveNpc;
this.GameConfiguration.Monsters.Add(def);
def.SetGuid(def.Number);
}
{
var def = this.Context.CreateNew();
def.Number = 476;
def.Designation = "Cursed Santa";
def.ObjectKind = NpcObjectKind.PassiveNpc;
this.GameConfiguration.Monsters.Add(def);
def.SetGuid(def.Number);
}
{
var def = this.Context.CreateNew();
def.Number = 477;
def.Designation = "Transformed Snowman";
def.ObjectKind = NpcObjectKind.PassiveNpc;
this.GameConfiguration.Monsters.Add(def);
def.SetGuid(def.Number);
}
{
var def = this.Context.CreateNew();
def.Number = 478;
def.Designation = "Delgado - Lucky Coins";
def.ObjectKind = NpcObjectKind.PassiveNpc;
this.GameConfiguration.Monsters.Add(def);
def.SetGuid(def.Number);
}
{
var def = this.Context.CreateNew();
def.Number = 479;
def.Designation = "Gatekeeper Titus";
def.ObjectKind = NpcObjectKind.PassiveNpc;
def.NpcWindow = NpcWindow.DoorkeeperTitusDuelWatch;
this.GameConfiguration.Monsters.Add(def);
def.SetGuid(def.Number);
}
{
var def = this.Context.CreateNew();
def.Number = 492;
def.Designation = "Moss The Merchant";
def.NpcWindow = NpcWindow.Merchant;
def.ObjectKind = NpcObjectKind.PassiveNpc;
this.GameConfiguration.Monsters.Add(def);
def.SetGuid(def.Number);
}
{
var def = this.Context.CreateNew();
def.Number = 522;
def.Designation = "Adviser Jerinteu";
def.ObjectKind = NpcObjectKind.PassiveNpc;
this.GameConfiguration.Monsters.Add(def);
def.SetGuid(def.Number);
}
{
var def = this.Context.CreateNew();
def.Number = 540;
def.Designation = "Lugard";
def.ObjectKind = NpcObjectKind.PassiveNpc;
this.GameConfiguration.Monsters.Add(def);
def.SetGuid(def.Number);
}
{
var def = this.Context.CreateNew();
def.Number = 541;
def.Designation = "Compensation Box";
def.ObjectKind = NpcObjectKind.PassiveNpc;
this.GameConfiguration.Monsters.Add(def);
def.SetGuid(def.Number);
}
{
var def = this.Context.CreateNew();
def.Number = 542;
def.Designation = "Golden Compensation Box";
def.ObjectKind = NpcObjectKind.PassiveNpc;
this.GameConfiguration.Monsters.Add(def);
def.SetGuid(def.Number);
}
{
var def = this.Context.CreateNew();
def.Number = 543;
def.Designation = "Gens Duprian";
def.NpcWindow = NpcWindow.NpcDialog;
def.ObjectKind = NpcObjectKind.PassiveNpc;
this.GameConfiguration.Monsters.Add(def);
def.SetGuid(def.Number);
}
{
var def = this.Context.CreateNew();
def.Number = 544;
def.Designation = "Gens Vanert";
def.NpcWindow = NpcWindow.NpcDialog;
def.ObjectKind = NpcObjectKind.PassiveNpc;
this.GameConfiguration.Monsters.Add(def);
def.SetGuid(def.Number);
}
{
var def = this.Context.CreateNew();
def.Number = 560;
def.Designation = "TvT Guard";
def.NpcWindow = NpcWindow.Undefined; // routed via IPlayerTalkToNpcPlugIn in a later task
def.ObjectKind = NpcObjectKind.PassiveNpc;
this.GameConfiguration.Monsters.Add(def);
def.SetGuid(def.Number);
}
{
var def = this.Context.CreateNew();
def.Number = 566;
def.Designation = "Mercenary Guild Felicia";
def.NpcWindow = NpcWindow.NpcDialog;
def.ObjectKind = NpcObjectKind.PassiveNpc;
this.GameConfiguration.Monsters.Add(def);
def.SetGuid(def.Number);
}
{
var def = this.Context.CreateNew();
def.Number = 152;
def.Designation = "Gate to Kalima 1 of {0}";
def.ObjectKind = NpcObjectKind.PassiveNpc;
this.GameConfiguration.Monsters.Add(def);
def.SetGuid(def.Number);
}
{
var def = this.Context.CreateNew();
def.Number = 153;
def.Designation = "Gate to Kalima 2 of {0}";
def.ObjectKind = NpcObjectKind.PassiveNpc;
this.GameConfiguration.Monsters.Add(def);
def.SetGuid(def.Number);
}
{
var def = this.Context.CreateNew();
def.Number = 154;
def.Designation = "Gate to Kalima 3 of {0}";
def.ObjectKind = NpcObjectKind.PassiveNpc;
this.GameConfiguration.Monsters.Add(def);
def.SetGuid(def.Number);
}
{
var def = this.Context.CreateNew();
def.Number = 155;
def.Designation = "Gate to Kalima 4 of {0}";
def.ObjectKind = NpcObjectKind.PassiveNpc;
this.GameConfiguration.Monsters.Add(def);
def.SetGuid(def.Number);
}
{
var def = this.Context.CreateNew();
def.Number = 156;
def.Designation = "Gate to Kalima 5 of {0}";
def.ObjectKind = NpcObjectKind.PassiveNpc;
this.GameConfiguration.Monsters.Add(def);
def.SetGuid(def.Number);
}
{
var def = this.Context.CreateNew();
def.Number = 157;
def.Designation = "Gate to Kalima 6 of {0}";
def.ObjectKind = NpcObjectKind.PassiveNpc;
this.GameConfiguration.Monsters.Add(def);
def.SetGuid(def.Number);
}
{
var def = this.Context.CreateNew();
def.Number = 158;
def.Designation = "Gate to Kalima 7 of {0}";
def.ObjectKind = NpcObjectKind.PassiveNpc;
this.GameConfiguration.Monsters.Add(def);
def.SetGuid(def.Number);
}
{
var def = this.Context.CreateNew();
def.Number = 131;
def.Designation = "Castle Gate";
def.ObjectKind = NpcObjectKind.Destructible;
var attributes = new Dictionary
{
{ Stats.MaximumHealth, 5000000 },
};
def.AddAttributes(attributes, this.Context, this.GameConfiguration);
def.SetGuid(def.Number);
this.GameConfiguration.Monsters.Add(def);
}
{
var def = this.Context.CreateNew();
def.Number = 132;
def.Designation = "Statue of Saint";
def.ObjectKind = NpcObjectKind.Destructible;
def.NumberOfMaximumItemDrops = 1;
var attributes = new Dictionary
{
{ Stats.MaximumHealth, 5000000 },
};
def.AddAttributes(attributes, this.Context, this.GameConfiguration);
def.SetGuid(def.Number);
this.GameConfiguration.Monsters.Add(def);
var questItemDrop = this.Context.CreateNew();
questItemDrop.SetGuid(132);
questItemDrop.Chance = 1;
questItemDrop.Description = "Archangel Weapon (Blood Castle)";
questItemDrop.Monster = def;
questItemDrop.PossibleItems.Add(this.GameConfiguration.Items.First(item => item.IsArchangelQuestItem()));
def.DropItemGroups.Add(questItemDrop);
this.GameConfiguration.DropItemGroups.Add(questItemDrop);
}
{
var def = this.Context.CreateNew();
def.Number = 133;
def.Designation = "Statue of Saint";
def.ObjectKind = NpcObjectKind.Destructible;
var attributes = new Dictionary
{
{ Stats.MaximumHealth, 5000000 },
};
def.AddAttributes(attributes, this.Context, this.GameConfiguration);
def.SetGuid(def.Number);
this.GameConfiguration.Monsters.Add(def);
}
{
var def = this.Context.CreateNew();
def.Number = 134;
def.Designation = "Statue of Saint";
def.ObjectKind = NpcObjectKind.Destructible;
var attributes = new Dictionary
{
{ Stats.MaximumHealth, 5000000 },
};
def.AddAttributes(attributes, this.Context, this.GameConfiguration);
def.SetGuid(def.Number);
this.GameConfiguration.Monsters.Add(def);
}
{
var def = this.Context.CreateNew();
def.Number = 579;
def.Designation = "David";
def.ObjectKind = NpcObjectKind.PassiveNpc;
def.SetGuid(def.Number);
this.GameConfiguration.Monsters.Add(def);
}
{
var def = this.Context.CreateNew();
def.Number = 577;
def.Designation = "Leina the General Goods Merchant";
def.MerchantStore = this.CreatePotionGirlItemStorage(def.Number);
def.NpcWindow = NpcWindow.Merchant;
def.ObjectKind = NpcObjectKind.PassiveNpc;
def.SetGuid(def.Number);
this.GameConfiguration.Monsters.Add(def);
}
{
var def = this.Context.CreateNew();
def.Number = 578;
def.Designation = "Weapons Merchant Bolo";
def.NpcWindow = NpcWindow.Merchant;
def.MerchantStore = this.CreateBoloStore(def.Number);
def.SetGuid(def.Number);
def.ObjectKind = NpcObjectKind.PassiveNpc;
this.GameConfiguration.Monsters.Add(def);
}
{
var def = this.Context.CreateNew();
def.Number = 545;
def.Designation = "Christine the General Goods Merchant";
def.NpcWindow = NpcWindow.Merchant;
def.ObjectKind = NpcObjectKind.PassiveNpc;
def.MerchantStore = this.CreatePotionGirlItemStorage(def.Number);
def.SetGuid(def.Number);
this.GameConfiguration.Monsters.Add(def);
}
{
var def = this.Context.CreateNew();
def.Number = 546;
def.Designation = "Jeweler Raul";
def.ObjectKind = NpcObjectKind.PassiveNpc;
def.SetGuid(def.Number);
this.GameConfiguration.Monsters.Add(def);
}
{
var def = this.Context.CreateNew();
def.Number = 547;
def.Designation = "Market Union Member Julia";
def.NpcWindow = NpcWindow.JuliaWarpMarketServer;
def.ObjectKind = NpcObjectKind.PassiveNpc;
def.SetGuid(def.Number);
this.GameConfiguration.Monsters.Add(def);
}
{
var def = this.Context.CreateNew();
def.Number = 568;
def.Designation = "Wandering Merchant Zyro";
def.NpcWindow = NpcWindow.NpcDialog;
def.ObjectKind = NpcObjectKind.PassiveNpc;
def.SetGuid(def.Number);
this.GameConfiguration.Monsters.Add(def);
}
{
var def = this.Context.CreateNew();
def.Number = 658;
def.Designation = "Cursed Statue";
def.ObjectKind = NpcObjectKind.Statue;
def.SetGuid(def.Number);
this.GameConfiguration.Monsters.Add(def);
}
{
var def = this.Context.CreateNew();
def.Number = 659;
def.Designation = "Captured Stone Statue (1)";
def.ObjectKind = NpcObjectKind.Statue;
def.SetGuid(def.Number);
this.GameConfiguration.Monsters.Add(def);
}
{
var def = this.Context.CreateNew();
def.Number = 660;
def.Designation = "Captured Stone Statue (2)";
def.ObjectKind = NpcObjectKind.Statue;
def.SetGuid(def.Number);
this.GameConfiguration.Monsters.Add(def);
}
{
var def = this.Context.CreateNew();
def.Number = 661;
def.Designation = "Captured Stone Statue (3)";
def.ObjectKind = NpcObjectKind.Statue;
def.SetGuid(def.Number);
this.GameConfiguration.Monsters.Add(def);
}
{
var def = this.Context.CreateNew();
def.Number = 662;
def.Designation = "Captured Stone Statue (4)";
def.ObjectKind = NpcObjectKind.Statue;
def.SetGuid(def.Number);
this.GameConfiguration.Monsters.Add(def);
}
{
var def = this.Context.CreateNew();
def.Number = 663;
def.Designation = "Captured Stone Statue (5)";
def.ObjectKind = NpcObjectKind.Statue;
def.SetGuid(def.Number);
this.GameConfiguration.Monsters.Add(def);
}
{
var def = this.Context.CreateNew();
def.Number = 664;
def.Designation = "Captured Stone Statue (6)";
def.ObjectKind = NpcObjectKind.Statue;
def.SetGuid(def.Number);
this.GameConfiguration.Monsters.Add(def);
}
{
var def = this.Context.CreateNew();
def.Number = 665;
def.Designation = "Captured Stone Statue (7)";
def.ObjectKind = NpcObjectKind.Statue;
def.SetGuid(def.Number);
this.GameConfiguration.Monsters.Add(def);
}
{
var def = this.Context.CreateNew();
def.Number = 666;
def.Designation = "Captured Stone Statue (8)";
def.ObjectKind = NpcObjectKind.Statue;
def.SetGuid(def.Number);
this.GameConfiguration.Monsters.Add(def);
}
{
var def = this.Context.CreateNew();
def.Number = 667;
def.Designation = "Captured Stone Statue (9)";
def.ObjectKind = NpcObjectKind.Statue;
def.SetGuid(def.Number);
this.GameConfiguration.Monsters.Add(def);
}
{
var def = this.Context.CreateNew();
def.Number = 668;
def.Designation = "Captured Stone Statue (10)";
def.ObjectKind = NpcObjectKind.Statue;
def.SetGuid(def.Number);
this.GameConfiguration.Monsters.Add(def);
}
}
}