Merge branch 'test-stable' into community
This commit is contained in:
commit
004ab7f20b
45
.github/workflows/github-ci.yml
vendored
Normal file
45
.github/workflows/github-ci.yml
vendored
Normal file
@ -0,0 +1,45 @@
|
|||||||
|
name: Build
|
||||||
|
|
||||||
|
on:
|
||||||
|
# Triggers the workflow on push or pull request events but only for the selected branches
|
||||||
|
push:
|
||||||
|
branches: [ test-stable, community ]
|
||||||
|
pull_request:
|
||||||
|
branches: [ test-stable, community ]
|
||||||
|
|
||||||
|
# Allows you to run this workflow manually from the Actions tab
|
||||||
|
workflow_dispatch:
|
||||||
|
|
||||||
|
# A workflow run is made up of one or more jobs that can run sequentially or in parallel
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
runs-on: ${{ matrix.os }}
|
||||||
|
continue-on-error: ${{ matrix.allow_failures }}
|
||||||
|
name: ${{ matrix.name }} / ${{ matrix.config }}
|
||||||
|
strategy:
|
||||||
|
matrix:
|
||||||
|
config: [Debug, Release]
|
||||||
|
include:
|
||||||
|
# for the matrix leg matching the os and version
|
||||||
|
- os: ubuntu-22.04
|
||||||
|
name: Ubuntu 22.04 (.Net 7.0)
|
||||||
|
toolchain: dotnet-sdk-7.0
|
||||||
|
allow_failures: true
|
||||||
|
|
||||||
|
# Steps represent a sequence of tasks that will be executed as part of the job
|
||||||
|
steps:
|
||||||
|
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
|
||||||
|
- uses: actions/checkout@v3
|
||||||
|
|
||||||
|
- name: Install dependencies (apt)
|
||||||
|
if: runner.os == 'Linux'
|
||||||
|
run: |
|
||||||
|
wget https://packages.microsoft.com/config/ubuntu/22.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
|
||||||
|
sudo dpkg -i packages-microsoft-prod.deb
|
||||||
|
rm packages-microsoft-prod.deb
|
||||||
|
sudo apt-get update && sudo apt-get install -y ${{ matrix.toolchain }}
|
||||||
|
|
||||||
|
- name: Build (dotnet)
|
||||||
|
run: |
|
||||||
|
dotnet restore src/Blizzless-D3.sln
|
||||||
|
dotnet msbuild src/Blizzless-D3.sln /t:Build /p:Configuration=${{ matrix.config }}
|
||||||
@ -146,7 +146,8 @@ The command system allows you to get control of the game world if you have right
|
|||||||
|
|
||||||
Check the [report form](docs/report-form.md) before submitting issue, this will help people save time!
|
Check the [report form](docs/report-form.md) before submitting issue, this will help people save time!
|
||||||
|
|
||||||
# Development Roadmap – DiIiS Emulator
|
# Development Roadmap – DIII Emulator
|
||||||
|
|
||||||
### 1️⃣ Rift / Greater Rift System
|
### 1️⃣ Rift / Greater Rift System
|
||||||
|
|
||||||
GR closure: ensure the Greater Rift closes automatically after 15 minutes.
|
GR closure: ensure the Greater Rift closes automatically after 15 minutes.
|
||||||
|
|||||||
@ -0,0 +1,92 @@
|
|||||||
|
using DiIiS_NA.Core.Logging;
|
||||||
|
using DiIiS_NA.GameServer.GSSystem.ActorSystem;
|
||||||
|
using DiIiS_NA.GameServer.GSSystem.ActorSystem.Implementations.Hirelings;
|
||||||
|
using DiIiS_NA.GameServer.GSSystem.GameSystem;
|
||||||
|
using DiIiS_NA.GameServer.GSSystem.PlayerSystem;
|
||||||
|
using DiIiS_NA.GameServer.MessageSystem;
|
||||||
|
using System.Linq;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using DiIiS_NA.LoginServer.AccountsSystem;
|
||||||
|
using DiIiS_NA.GameServer.GSSystem.QuestSystem.QuestEvents;
|
||||||
|
using DiIiS_NA.GameServer.Core.Types.Math;
|
||||||
|
using DiIiS_NA.Core.Helpers.Math;
|
||||||
|
using DiIiS_NA.GameServer.Core.Types.TagMap;
|
||||||
|
using DiIiS_NA.GameServer.MessageSystem.Message.Definitions.Animation;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
using DiIiS_NA.GameServer.MessageSystem.Message.Definitions.Base;
|
||||||
|
using DiIiS_NA.D3_GameServer.Core.Types.SNO;
|
||||||
|
|
||||||
|
namespace DiIiS_NA.GameServer.GSSystem.QuestSystem.QuestEvents.Implementations
|
||||||
|
{
|
||||||
|
class SpawnSkeletons : QuestEvent
|
||||||
|
{
|
||||||
|
//ActorID: 0x7A3100DD
|
||||||
|
//ZombieSkinny_A_LeahInn.acr (2050031837)
|
||||||
|
//ActorSNOId: 0x00031971:ZombieSkinny_A_LeahInn.acr
|
||||||
|
|
||||||
|
private static readonly Logger Logger = LogManager.CreateLogger();
|
||||||
|
|
||||||
|
public SpawnSkeletons()
|
||||||
|
: base(151124)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
public override void Execute(MapSystem.World world)
|
||||||
|
{
|
||||||
|
if (world.Game.Empty) return;
|
||||||
|
//Logger.Debug("SpawnSkeletons event started");
|
||||||
|
Task.Delay(1000).ContinueWith(delegate
|
||||||
|
{
|
||||||
|
foreach (var plr in world.Game.Players.Values)
|
||||||
|
plr.InGameClient.SendMessage(new MessageSystem.Message.Definitions.Camera.CameraCriptedSequenceStartMessage() { Activate = true });
|
||||||
|
var SkeletonKing_Bridge = world.GetActorBySNO(ActorSno._trdun_skeletonking_bridge_active);
|
||||||
|
Task.Delay(1000).ContinueWith(delegate
|
||||||
|
{
|
||||||
|
foreach (var plr in world.Game.Players.Values)
|
||||||
|
plr.InGameClient.SendMessage(new MessageSystem.Message.Definitions.Camera.CameraFocusMessage() { ActorID = (int)SkeletonKing_Bridge.DynamicID(plr), Duration = 1f, Snap = false });
|
||||||
|
|
||||||
|
StartConversation(world, 17923);
|
||||||
|
|
||||||
|
SkeletonKing_Bridge.PlayAnimation(5, (AnimationSno)SkeletonKing_Bridge.AnimationSet.TagMapAnimDefault[AnimationSetKeys.Opening], 1f);
|
||||||
|
|
||||||
|
world.BroadcastIfRevealed(plr => new SetIdleAnimationMessage
|
||||||
|
{
|
||||||
|
ActorID = SkeletonKing_Bridge.DynamicID(plr),
|
||||||
|
AnimationSNO = AnimationSetKeys.Open.ID,
|
||||||
|
}, SkeletonKing_Bridge);
|
||||||
|
|
||||||
|
Task.Delay(3000).ContinueWith(delegate
|
||||||
|
{
|
||||||
|
foreach (var plr in world.Game.Players.Values)
|
||||||
|
{
|
||||||
|
plr.InGameClient.SendMessage(new BoolDataMessage(Opcodes.CameraTriggerFadeToBlackMessage) { Field0 = true });
|
||||||
|
plr.InGameClient.SendMessage(new SimpleMessage(Opcodes.CameraSriptedSequenceStopMessage) { });
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
var spawner = world.GetActorBySNO(ActorSno._trdun_rescuecainskelspawner);
|
||||||
|
while (spawner != null)
|
||||||
|
{
|
||||||
|
var monster = ActorSno._skeletonking_shield_skeleton;
|
||||||
|
world.SpawnMonster(monster, spawner.Position);
|
||||||
|
spawner.Destroy();
|
||||||
|
spawner = world.GetActorBySNO(ActorSno._trdun_rescuecainskelspawner);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private bool StartConversation(MapSystem.World world, Int32 conversationId)
|
||||||
|
{
|
||||||
|
foreach (var player in world.Players)
|
||||||
|
{
|
||||||
|
player.Value.Conversations.StartConversation(conversationId);
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue
user.block.title