mirror of
https://github.com/sebastian-heinz/Arrowgene.DragonsDogmaOnline
synced 2026-08-03 11:12:41 -04:00
- Added a new EnemySetGenerator interface for selecting enemies for a particular enemy group.
- Implemented the following enemy set generators:
- QuestEnemySetGenerator
- EpitaphRoadEnemySetGenerator
- CautionSpotEnemySetGenerator
- WorldEnemySetGenerator
- Added a new EnemyPropertyGenerator for modifying attributes of selected enemies for a set.
- New scripting module was introduced to allow a variety of properties to be applied
- Implemented a new .csx script to auto assign BO to enemies in Epitaph Road dungeons
when certain requirements are met.
- Implemented a new ,csx script to handle adjustments of enemies in The Rift when
performing a pawn rescue.
- Updated EXP mixin interface and default implementation
- Added a new CharacterCommon parameter.
- Implemented an algorithm which attempts to calculate enemy exp
based on player level, enemy level and other properites such as
boss, quest and nameplate modifiers.
- Add support for enemy caution spots
- Implemented a new "World Manage" quest which handles sending the "Caution" message to
players when they come across a "Caution Spot".
- Added new scripting module which allows "Caution Spot" enemies to be defined.
- Implemented caution spots for:
- Hidell Plains
- Breya Coast
- Mysree Forest
- Volden Mines
- Dowe Valley
- Mysree Grove
- Deenan Woods
- Betland Plains
- Northern Betland Plains
- Zandora Wastelands
- Eastern Zandora
- Mergoda Ruins
49 lines
2.6 KiB
C#
49 lines
2.6 KiB
C#
using Arrowgene.Ddon.Database.Model;
|
|
using Arrowgene.Ddon.Server.Scripting;
|
|
using Arrowgene.Ddon.Shared;
|
|
using Microsoft.CodeAnalysis;
|
|
using Microsoft.CodeAnalysis.Scripting;
|
|
using System.Linq;
|
|
using System.Runtime.CompilerServices;
|
|
using System.Text;
|
|
|
|
namespace Arrowgene.Ddon.GameServer.Scripting
|
|
{
|
|
public abstract class GameServerScriptModule : ScriptModule
|
|
{
|
|
public override ScriptOptions Options()
|
|
{
|
|
return ScriptOptions.Default
|
|
.AddReferences(MetadataReference.CreateFromFile(typeof(AccountStateType).Assembly.Location))
|
|
.AddReferences(MetadataReference.CreateFromFile(typeof(AssetRepository).Assembly.Location))
|
|
.AddReferences(MetadataReference.CreateFromFile(typeof(DdonGameServer).Assembly.Location))
|
|
.AddReferences(MetadataReference.CreateFromFile(typeof(DynamicAttribute).Assembly.Location))
|
|
.AddReferences(MetadataReference.CreateFromFile(typeof(Enumerable).Assembly.Location))
|
|
.AddReferences(MetadataReference.CreateFromFile(typeof(LibDdon).Assembly.Location))
|
|
.AddReferences(MetadataReference.CreateFromFile(typeof(LibUtils).Assembly.Location))
|
|
.AddImports("System", "System.Linq")
|
|
.AddImports("System.Collections")
|
|
.AddImports("System.Collections.Generic")
|
|
.AddImports("System.Collections.ObjectModel")
|
|
.AddImports("System.Runtime.CompilerServices")
|
|
.AddImports("Arrowgene.Ddon.Database")
|
|
.AddImports("Arrowgene.Ddon.Database.Model")
|
|
.AddImports("Arrowgene.Ddon.GameServer")
|
|
.AddImports("Arrowgene.Ddon.GameServer.Characters")
|
|
.AddImports("Arrowgene.Ddon.GameServer.Chat")
|
|
.AddImports("Arrowgene.Ddon.GameServer.Context")
|
|
.AddImports("Arrowgene.Ddon.GameServer.Enemies")
|
|
.AddImports("Arrowgene.Ddon.GameServer.Party")
|
|
.AddImports("Arrowgene.Ddon.GameServer.Quests")
|
|
.AddImports("Arrowgene.Ddon.GameServer.Quests.Extensions")
|
|
.AddImports("Arrowgene.Ddon.GameServer.Scripting")
|
|
.AddImports("Arrowgene.Ddon.GameServer.Scripting.Interfaces")
|
|
.AddImports("Arrowgene.Ddon.Server.Scripting")
|
|
.AddImports("Arrowgene.Ddon.Shared")
|
|
.AddImports("Arrowgene.Ddon.Shared.Entity.PacketStructure")
|
|
.AddImports("Arrowgene.Ddon.Shared.Entity.Structure")
|
|
.AddImports("Arrowgene.Ddon.Shared.Model")
|
|
.AddImports("Arrowgene.Ddon.Shared.Model.Quest");
|
|
}
|
|
}
|
|
}
|