Merge branch 'community' into fromCommunity
This commit is contained in:
commit
e777064778
@ -42,8 +42,8 @@ namespace DiIiS_NA.Core.MPQ.FileFormats
|
||||
};
|
||||
public Header Header { get; private set; }
|
||||
public int SNOParentAnimSet { get; private set; }
|
||||
private TagMap TagMapAnimDefault;
|
||||
private TagMap[] AnimSetTagMaps;
|
||||
public TagMap TagMapAnimDefault { get; private set; }
|
||||
public TagMap[] AnimSetTagMaps;
|
||||
|
||||
|
||||
private Dictionary<int, AnimationSno> _animations;
|
||||
@ -63,7 +63,7 @@ namespace DiIiS_NA.Core.MPQ.FileFormats
|
||||
if (SNOParentAnimSet != -1)
|
||||
{
|
||||
var ani = (AnimSet)MPQStorage.Data.Assets[SNOGroup.AnimSet][SNOParentAnimSet].Data;
|
||||
return defaultAnimations.Union(ani.Animations.Where(x => !defaultAnimations.ContainsKey(x.Key))).ToDictionary(x => x.Key, x => (AnimationSno)x.Value);
|
||||
return defaultAnimations.Union(ani.Animations.Where(x => !defaultAnimations.ContainsKey(x.Key))).ToDictionary(x => x.Key, x => x.Value);
|
||||
}
|
||||
return defaultAnimations;
|
||||
}
|
||||
|
||||
@ -44,7 +44,22 @@ using static DiIiS_NA.Core.MPQ.FileFormats.GameBalance;
|
||||
|
||||
namespace DiIiS_NA.GameServer.CommandManager
|
||||
{
|
||||
[CommandGroup("invulnerable", "Makes you invulnerable")]
|
||||
|
||||
[CommandGroup("heal", "Heals yourself", Account.UserLevels.Tester)]
|
||||
public class HealCommand : CommandGroup
|
||||
{
|
||||
[DefaultCommand]
|
||||
public string Heal(string[] @params, BattleClient invokerClient)
|
||||
{
|
||||
if (invokerClient?.InGameClient?.Player is not {} player)
|
||||
return "You are not in game";
|
||||
|
||||
player.Heal();
|
||||
return "You have been healed";
|
||||
}
|
||||
}
|
||||
|
||||
[CommandGroup("invulnerable", "Makes you invulnerable", Account.UserLevels.GM)]
|
||||
public class InvulnerableCommand : CommandGroup
|
||||
{
|
||||
[DefaultCommand]
|
||||
@ -68,7 +83,7 @@ namespace DiIiS_NA.GameServer.CommandManager
|
||||
}
|
||||
}
|
||||
|
||||
[CommandGroup("spawn", "Spawns a mob.\nUsage: spawn [actorSNO] [amount]")]
|
||||
[CommandGroup("spawn", "Spawns a mob.\nUsage: spawn [actorSNO] [amount]", Account.UserLevels.GM)]
|
||||
public class SpawnCommand : CommandGroup
|
||||
{
|
||||
[DefaultCommand]
|
||||
@ -124,7 +139,7 @@ namespace DiIiS_NA.GameServer.CommandManager
|
||||
|
||||
}
|
||||
|
||||
[CommandGroup("levelup", "Levels your character.\nOptionally specify the number of levels: !levelup [count]")]
|
||||
[CommandGroup("levelup", "Levels your character.\nOptionally specify the number of levels: !levelup [count]", Account.UserLevels.GM)]
|
||||
public class LevelUpCommand : CommandGroup
|
||||
{
|
||||
[DefaultCommand]
|
||||
@ -172,7 +187,7 @@ namespace DiIiS_NA.GameServer.CommandManager
|
||||
}
|
||||
}
|
||||
|
||||
[CommandGroup("unlockart", "Unlock all artisans: !unlockart")]
|
||||
[CommandGroup("unlockart", "Unlock all artisans: !unlockart", Account.UserLevels.Tester)]
|
||||
public class UnlockArtCommand : CommandGroup
|
||||
{
|
||||
[DefaultCommand]
|
||||
@ -210,7 +225,7 @@ namespace DiIiS_NA.GameServer.CommandManager
|
||||
}
|
||||
|
||||
[CommandGroup("platinum",
|
||||
"Platinum for your character.\nOptionally specify the number of levels: !platinum [count]")]
|
||||
"Platinum for your character.\nOptionally specify the number of levels: !platinum [count]", Account.UserLevels.Tester)]
|
||||
public class PlatinumCommand : CommandGroup
|
||||
{
|
||||
[DefaultCommand]
|
||||
@ -244,7 +259,7 @@ namespace DiIiS_NA.GameServer.CommandManager
|
||||
}
|
||||
}
|
||||
|
||||
[CommandGroup("stashup", "Upgrade Stash.\n !stashup")]
|
||||
[CommandGroup("stashup", "Upgrade Stash.\n !stashup", Account.UserLevels.Tester)]
|
||||
public class StashUpCommand : CommandGroup
|
||||
{
|
||||
[DefaultCommand]
|
||||
@ -264,7 +279,7 @@ namespace DiIiS_NA.GameServer.CommandManager
|
||||
}
|
||||
}
|
||||
|
||||
[CommandGroup("gold", "Gold for your character.\nOptionally specify the number of gold: !gold [count]")]
|
||||
[CommandGroup("gold", "Gold for your character.\nOptionally specify the number of gold: !gold [count]", Account.UserLevels.GM)]
|
||||
public class GoldCommand : CommandGroup
|
||||
{
|
||||
[DefaultCommand]
|
||||
@ -292,7 +307,7 @@ namespace DiIiS_NA.GameServer.CommandManager
|
||||
}
|
||||
|
||||
[CommandGroup("achiplatinum",
|
||||
"Platinum for your character.\nOptionally specify the number of levels: !platinum [count]")]
|
||||
"Platinum for your character.\nOptionally specify the number of levels: !platinum [count]", Account.UserLevels.GM)]
|
||||
public class PlatinumAchiCommand : CommandGroup
|
||||
{
|
||||
[DefaultCommand]
|
||||
@ -330,7 +345,7 @@ namespace DiIiS_NA.GameServer.CommandManager
|
||||
}
|
||||
}
|
||||
|
||||
[CommandGroup("eff", "Platinum for your character.\nOptionally specify the number of levels: !eff [count]")]
|
||||
[CommandGroup("eff", "Platinum for your character.\nOptionally specify the number of levels: !eff [count]", Account.UserLevels.GM)]
|
||||
public class PlayEffectGroup : CommandGroup
|
||||
{
|
||||
[DefaultCommand]
|
||||
@ -357,7 +372,7 @@ namespace DiIiS_NA.GameServer.CommandManager
|
||||
}
|
||||
}
|
||||
|
||||
[CommandGroup("item", "Spawns an item (with a name or type).\nUsage: item [type <type>|<name>] [amount]")]
|
||||
[CommandGroup("item", "Spawns an item (with a name or type).\nUsage: item [type <type>|<name>] [amount]", Account.UserLevels.GM)]
|
||||
public class ItemCommand : CommandGroup
|
||||
{
|
||||
[DefaultCommand]
|
||||
@ -467,6 +482,41 @@ namespace DiIiS_NA.GameServer.CommandManager
|
||||
}
|
||||
}
|
||||
|
||||
[CommandGroup("drop", "Drops an epic item for your class.\nOptionally specify the number of items: !drop [1-20]", Account.UserLevels.Owner)]
|
||||
public class DropCommand : CommandGroup
|
||||
{
|
||||
[DefaultCommand]
|
||||
public string Drop(string[] @params, BattleClient invokerClient)
|
||||
{
|
||||
if (invokerClient?.InGameClient?.Player is not {} player)
|
||||
return "You can only invoke from the client.";
|
||||
|
||||
var amount = 1;
|
||||
if (@params != null && @params.Any())
|
||||
if (!Int32.TryParse(@params[0], out amount)) amount = 1;
|
||||
|
||||
amount = amount switch
|
||||
{
|
||||
< 1 => 1,
|
||||
> 20 => 20,
|
||||
_ => amount
|
||||
};
|
||||
|
||||
try
|
||||
{
|
||||
for (int i = 0; i < amount; i++)
|
||||
player.World.SpawnRandomEquip(player, player, 11, player.Level, toonClass: player.Toon.Class);
|
||||
}
|
||||
catch
|
||||
{
|
||||
for (int i = 0; i < amount; i++)
|
||||
player.World.SpawnRandomEquip(player, player, 8, player.Level, toonClass: player.Toon.Class);
|
||||
}
|
||||
return $"Dropped {amount} random equipment.";
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
[CommandGroup("tp", "Transfers your character to another world.")]
|
||||
public class TeleportCommand : CommandGroup
|
||||
{
|
||||
@ -692,12 +742,24 @@ namespace DiIiS_NA.GameServer.CommandManager
|
||||
invokerClient.InGameClient.Game.QuestManager.LaunchQuestTimer(eventId, (float)duration,
|
||||
new Action<int>((q) => { }));
|
||||
|
||||
return String.Format("Message sended.");
|
||||
return String.Format("Message sent.");
|
||||
}
|
||||
|
||||
//return matches.Aggregate(matches.Count >= 1 ? "Actor Matches:\n" : "No match found.",
|
||||
//(current, match) => current +
|
||||
// $"[{match.SNOId.ToString("D6")}] {match.Name} ({(match.Data as DiIiS_NA.Core.MPQ.FileFormats.Actor).Type} {(((match.Data as DiIiS_NA.Core.MPQ.FileFormats.Actor).Type == ActorType.Gizmo) ? ((int)(match.Data as DiIiS_NA.Core.MPQ.FileFormats.Actor).TagMap[ActorKeys.GizmoGroup]).ToString() : "")})\n");
|
||||
[Command("info", "Retrieves information about quest states.\n Usage: info")]
|
||||
public string Info(string[] @params, BattleClient invokerClient)
|
||||
{
|
||||
var questManager = invokerClient.InGameClient.Game.QuestManager;
|
||||
var act = questManager.CurrentAct;
|
||||
var quest = questManager.Game.CurrentQuest;
|
||||
var questStep = questManager.Game.CurrentStep;
|
||||
var currentSideQuest = questManager.Game.CurrentSideQuest;
|
||||
var currentSideQuestStep = questManager.Game.CurrentSideStep;
|
||||
return $"Act: {act}\n" +
|
||||
$"Quest: {quest}\n" +
|
||||
$"Quest Step: {questStep}\n" +
|
||||
$"Side Quest: {currentSideQuest}\n" +
|
||||
$"Side Quest Step: {currentSideQuestStep}";
|
||||
}
|
||||
}
|
||||
|
||||
[CommandGroup("lookup",
|
||||
|
||||
@ -58,7 +58,7 @@ namespace DiIiS_NA.GameServer.GSSystem.ActorSystem.Implementations
|
||||
|
||||
Logger.Trace("Breaked barricade, id: {0}", SNO);
|
||||
|
||||
if (AnimationSet.Animations.ContainsKey(AnimationSetKeys.DeathDefault.ID))
|
||||
if (AnimationSet.TagMapAnimDefault.ContainsKey(AnimationSetKeys.DeathDefault))
|
||||
World.BroadcastIfRevealed(plr => new PlayAnimationMessage
|
||||
{
|
||||
ActorID = DynamicID(plr),
|
||||
@ -69,7 +69,7 @@ namespace DiIiS_NA.GameServer.GSSystem.ActorSystem.Implementations
|
||||
new PlayAnimationMessageSpec()
|
||||
{
|
||||
Duration = 10,
|
||||
AnimationSNO = (int)AnimationSet.Animations[AnimationSetKeys.DeathDefault.ID], //{DeathDefault = 10217}
|
||||
AnimationSNO = AnimationSet.TagMapAnimDefault[AnimationSetKeys.DeathDefault], //{DeathDefault = 10217}
|
||||
PermutationIndex = 0,
|
||||
AnimationTag = 0,
|
||||
Speed = 1
|
||||
|
||||
@ -57,7 +57,7 @@ namespace DiIiS_NA.GameServer.GSSystem.ActorSystem.Implementations
|
||||
|
||||
Logger.Trace("Breaked barricade, id: {0}", SNO);
|
||||
|
||||
if (this.AnimationSet.Animations.ContainsKey(AnimationSetKeys.DeathDefault.ID))
|
||||
if (AnimationSet.TagMapAnimDefault.ContainsKey(AnimationSetKeys.DeathDefault))
|
||||
World.BroadcastIfRevealed(plr => new PlayAnimationMessage
|
||||
{
|
||||
ActorID = DynamicID(plr),
|
||||
@ -68,7 +68,7 @@ namespace DiIiS_NA.GameServer.GSSystem.ActorSystem.Implementations
|
||||
new PlayAnimationMessageSpec()
|
||||
{
|
||||
Duration = 10,
|
||||
AnimationSNO = (int)AnimationSet.Animations[AnimationSetKeys.DeathDefault.ID],
|
||||
AnimationSNO = AnimationSet.TagMapAnimDefault[AnimationSetKeys.DeathDefault],
|
||||
PermutationIndex = 0,
|
||||
AnimationTag = 0,
|
||||
Speed = 1
|
||||
|
||||
@ -41,7 +41,7 @@ namespace DiIiS_NA.GameServer.GSSystem.ActorSystem.Implementations
|
||||
{
|
||||
bool Activated = false;
|
||||
|
||||
this.PlayAnimation(5, AnimationSet.Animations[AnimationSetKeys.Opening.ID]);
|
||||
this.PlayAnimation(5, (AnimationSno)AnimationSet.TagMapAnimDefault[AnimationSetKeys.Opening]);
|
||||
Attributes[GameAttribute.Team_Override] = (Activated ? -1 : 2);
|
||||
Attributes[GameAttribute.Untargetable] = !Activated;
|
||||
Attributes[GameAttribute.NPC_Is_Operatable] = Activated;
|
||||
@ -81,7 +81,7 @@ namespace DiIiS_NA.GameServer.GSSystem.ActorSystem.Implementations
|
||||
}
|
||||
else
|
||||
{
|
||||
this.PlayAnimation(5, AnimationSet.Animations[AnimationSetKeys.Opening.ID]);
|
||||
this.PlayAnimation(5, (AnimationSno)AnimationSet.TagMapAnimDefault[AnimationSetKeys.Opening]);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
@ -106,7 +106,7 @@ namespace DiIiS_NA.GameServer.GSSystem.ActorSystem.Implementations
|
||||
(source as Player).AddAchievementCounter(74987243307171, 1);
|
||||
}
|
||||
|
||||
if (this.AnimationSet.Animations.ContainsKey(AnimationSetKeys.DeathDefault.ID))
|
||||
if (AnimationSet.TagMapAnimDefault.ContainsKey(AnimationSetKeys.DeathDefault))
|
||||
World.BroadcastIfRevealed(plr => new PlayAnimationMessage
|
||||
{
|
||||
ActorID = DynamicID(plr),
|
||||
@ -117,7 +117,7 @@ namespace DiIiS_NA.GameServer.GSSystem.ActorSystem.Implementations
|
||||
new PlayAnimationMessageSpec()
|
||||
{
|
||||
Duration = 10,
|
||||
AnimationSNO = (int)AnimationSet.Animations[AnimationSetKeys.DeathDefault.ID],
|
||||
AnimationSNO = AnimationSet.TagMapAnimDefault[AnimationSetKeys.DeathDefault],
|
||||
PermutationIndex = 0,
|
||||
AnimationTag = 0,
|
||||
Speed = 1
|
||||
|
||||
@ -98,7 +98,7 @@ namespace DiIiS_NA.GameServer.GSSystem.ActorSystem.Implementations
|
||||
new PlayAnimationMessageSpec()
|
||||
{
|
||||
Duration = 500,
|
||||
AnimationSNO = (int)AnimationSet.Animations[AnimationSetKeys.Opening.ID],
|
||||
AnimationSNO = AnimationSet.TagMapAnimDefault[AnimationSetKeys.Opening],
|
||||
PermutationIndex = 0,
|
||||
AnimationTag = 0,
|
||||
Speed = 1
|
||||
|
||||
@ -159,7 +159,7 @@ namespace DiIiS_NA.GameServer.GSSystem.ActorSystem.Implementations
|
||||
new PlayAnimationMessageSpec()
|
||||
{
|
||||
Duration = 50,
|
||||
AnimationSNO = (int)AnimationSet.Animations[AnimationSetKeys.Opening.ID],
|
||||
AnimationSNO = AnimationSet.TagMapAnimDefault[AnimationSetKeys.Opening],
|
||||
PermutationIndex = 0,
|
||||
AnimationTag = 0,
|
||||
Speed = 1
|
||||
|
||||
@ -37,7 +37,8 @@ namespace DiIiS_NA.GameServer.GSSystem.ActorSystem.Implementations
|
||||
if (!base.Reveal(player))
|
||||
return false;
|
||||
|
||||
var animation = Attributes[GameAttribute.Untargetable] ? AnimationSet.Animations[AnimationSetKeys.Open.ID] : AnimationSet.Animations[AnimationSetKeys.IdleDefault.ID];
|
||||
var animationTag = Attributes[GameAttribute.Untargetable] ? AnimationSetKeys.Open : AnimationSetKeys.IdleDefault;
|
||||
var animation = (AnimationSno)AnimationSet.TagMapAnimDefault[animationTag];
|
||||
PlayAnimation(5, animation);
|
||||
SetIdleAnimation(animation);
|
||||
|
||||
|
||||
@ -66,7 +66,7 @@ namespace DiIiS_NA.GameServer.GSSystem.ActorSystem.Implementations
|
||||
new PlayAnimationMessageSpec()
|
||||
{
|
||||
Duration = duration,
|
||||
AnimationSNO = (int)(ActorData.TagMap.ContainsKey(ActorKeys.DeathAnimationTag) ? AnimationSet.Animations[ActorData.TagMap[ActorKeys.DeathAnimationTag]] : AnimationSet.Animations[AnimationSetKeys.DeathDefault.ID]) ,
|
||||
AnimationSNO = ActorData.TagMap.ContainsKey(ActorKeys.DeathAnimationTag) ? AnimationSet.TagMapAnimDefault[ActorData.TagMap[ActorKeys.DeathAnimationTag]].Int : AnimationSet.TagMapAnimDefault[AnimationSetKeys.DeathDefault],
|
||||
PermutationIndex = 0,
|
||||
AnimationTag = 0,
|
||||
Speed = 1
|
||||
|
||||
@ -61,7 +61,7 @@ namespace DiIiS_NA.GameServer.GSSystem.ActorSystem.Implementations
|
||||
new PlayAnimationMessageSpec()
|
||||
{
|
||||
Duration = 50,
|
||||
AnimationSNO = (int)AnimationSet.Animations[AnimationSetKeys.Opening.ID],
|
||||
AnimationSNO = AnimationSet.TagMapAnimDefault[AnimationSetKeys.Opening],
|
||||
PermutationIndex = 0,
|
||||
AnimationTag = 0,
|
||||
Speed = 1
|
||||
|
||||
@ -71,7 +71,7 @@ namespace DiIiS_NA.GameServer.GSSystem.ActorSystem.Implementations.ScriptObjects
|
||||
new PlayAnimationMessageSpec()
|
||||
{
|
||||
Duration = 600,
|
||||
AnimationSNO = (int)AnimationSet.Animations[AnimationSetKeys.Opening.ID],
|
||||
AnimationSNO = AnimationSet.TagMapAnimDefault[AnimationSetKeys.Opening],
|
||||
PermutationIndex = 0,
|
||||
AnimationTag = 0,
|
||||
Speed = 1
|
||||
|
||||
@ -81,7 +81,7 @@ namespace DiIiS_NA.GameServer.GSSystem.ActorSystem.Implementations.ScriptObjects
|
||||
new PlayAnimationMessageSpec()
|
||||
{
|
||||
Duration = idDuration,
|
||||
AnimationSNO = (int)AnimationSet.Animations[AnimationSetKeys.Opening.ID],
|
||||
AnimationSNO = AnimationSet.TagMapAnimDefault[AnimationSetKeys.Opening],
|
||||
PermutationIndex = 0,
|
||||
AnimationTag = 0,
|
||||
Speed = 1
|
||||
|
||||
@ -84,7 +84,7 @@ namespace DiIiS_NA.GameServer.GSSystem.ActorSystem.Implementations.ScriptObjects
|
||||
new PlayAnimationMessageSpec()
|
||||
{
|
||||
Duration = 50,
|
||||
AnimationSNO = (int)AnimationSet.Animations[AnimationSetKeys.Opening.ID],
|
||||
AnimationSNO = AnimationSet.TagMapAnimDefault[AnimationSetKeys.Opening],
|
||||
PermutationIndex = 0,
|
||||
AnimationTag = 0,
|
||||
Speed = 1
|
||||
|
||||
@ -72,7 +72,7 @@ namespace DiIiS_NA.GameServer.GSSystem.ActorSystem.Implementations.ScriptObjects
|
||||
new PlayAnimationMessageSpec()
|
||||
{
|
||||
Duration = 1000,
|
||||
AnimationSNO = (int)AnimationSet.Animations[AnimationSetKeys.Opening.ID],
|
||||
AnimationSNO = AnimationSet.TagMapAnimDefault[AnimationSetKeys.Opening],
|
||||
PermutationIndex = 0,
|
||||
AnimationTag = 0,
|
||||
Speed = 1
|
||||
|
||||
@ -28,8 +28,8 @@ namespace DiIiS_NA.GameServer.GSSystem.ActorSystem.Implementations
|
||||
|
||||
if (Attributes[GameAttribute.Disabled]) return;
|
||||
|
||||
PlayAnimation(5, AnimationSet.Animations[AnimationSetKeys.Opening.ID]);
|
||||
SetIdleAnimation(AnimationSet.Animations[AnimationSetKeys.Opening.ID]);
|
||||
PlayAnimation(5, (AnimationSno)AnimationSet.TagMapAnimDefault[AnimationSetKeys.Opening]);
|
||||
SetIdleAnimation((AnimationSno)AnimationSetKeys.Open.ID);
|
||||
|
||||
Attributes[GameAttribute.Gizmo_Has_Been_Operated] = true;
|
||||
Attributes.BroadcastChangedIfRevealed();
|
||||
|
||||
@ -86,7 +86,7 @@ namespace DiIiS_NA.GameServer.GSSystem.GameSystem
|
||||
|
||||
public List<Player> ConnectedPlayers = new List<Player>();
|
||||
|
||||
public bool QuestSetuped = false;
|
||||
public bool QuestSetup = false;
|
||||
|
||||
public int LoadedPlayers = 0;
|
||||
|
||||
@ -931,7 +931,7 @@ namespace DiIiS_NA.GameServer.GSSystem.GameSystem
|
||||
{
|
||||
|
||||
if (PvP) return;
|
||||
if (!QuestSetuped)
|
||||
if (!QuestSetup)
|
||||
{
|
||||
QuestManager.SetQuests();
|
||||
DestinationEnterQuest = currQuest;
|
||||
@ -941,7 +941,7 @@ namespace DiIiS_NA.GameServer.GSSystem.GameSystem
|
||||
CurrentQuest = QuestsOrder[0];
|
||||
CurrentStep = -1;
|
||||
|
||||
if (CurrentAct == 3000)
|
||||
if (CurrentAct is 3000 or 0)
|
||||
{
|
||||
QuestManager.Quests[CurrentQuest].Steps[-1].OnAdvance.Invoke();
|
||||
return;
|
||||
@ -1068,7 +1068,7 @@ namespace DiIiS_NA.GameServer.GSSystem.GameSystem
|
||||
{
|
||||
SyncedData = new GameSyncedData
|
||||
{
|
||||
GameSyncedFlags = IsSeasoned == true ? IsHardcore == true ? 6 : 6 : IsHardcore == true ? 4 : 4,
|
||||
GameSyncedFlags = IsSeasoned ? IsHardcore ? 6 : 4 : IsHardcore == true ? 4 : 6,
|
||||
Act = Math.Min(CurrentAct, 3000), //act id
|
||||
InitialMonsterLevel = InitialMonsterLevel, //InitialMonsterLevel
|
||||
MonsterLevel = 0x7044248F, //MonsterLevel
|
||||
@ -1539,7 +1539,7 @@ namespace DiIiS_NA.GameServer.GSSystem.GameSystem
|
||||
//{[1013103213, {[Actor] [Type: Gizmo] SNOId:78439 GlobalId: 1013103213 Position: x:119.54008 y:140.65799 z:-4.535186 Name: Test_CainIntro_greybox_bridge_trOut_TempWorking}]}
|
||||
//Обрушиваем мостик //EffectGroup "CainIntro_shake", 81546
|
||||
var bridge = encWorld.GetActorBySNO(ActorSno._test_cainintro_greybox_bridge_trout_tempworking);
|
||||
bridge.PlayAnimation(5, bridge.AnimationSet.Animations[AnimationSetKeys.DeathDefault.ID]);
|
||||
bridge.PlayAnimation(5, (AnimationSno)bridge.AnimationSet.TagMapAnimDefault[AnimationSetKeys.DeathDefault]);
|
||||
//}
|
||||
foreach (var skeleton in Skeletons)
|
||||
{
|
||||
|
||||
@ -51,13 +51,7 @@ namespace DiIiS_NA.GameServer.GSSystem.GameSystem
|
||||
|
||||
public Game Game { get; set; }
|
||||
|
||||
public int CurrentAct
|
||||
{
|
||||
get
|
||||
{
|
||||
return Game.CurrentAct;
|
||||
}
|
||||
}
|
||||
public int CurrentAct => Game.CurrentAct;
|
||||
|
||||
public delegate void QuestProgressDelegate();
|
||||
public event QuestProgressDelegate OnQuestProgress = delegate { };
|
||||
@ -75,7 +69,7 @@ namespace DiIiS_NA.GameServer.GSSystem.GameSystem
|
||||
{
|
||||
Game.QuestProgress.SetQuests();
|
||||
Game.SideQuestProgress.SetQuests();
|
||||
Game.QuestSetuped = true;
|
||||
Game.QuestSetup = true;
|
||||
}
|
||||
|
||||
public void ClearQuests()
|
||||
@ -939,7 +933,7 @@ namespace DiIiS_NA.GameServer.GSSystem.GameSystem
|
||||
{
|
||||
while (MonsterCount < AdditionalTargetCounter + 20)
|
||||
{
|
||||
Core.Types.Math.Vector3D SSV = Scenes[RandomHelper.Next(0, Scenes.Count - 1)].Position;
|
||||
Core.Types.Math.Vector3D SSV = Scenes[RandomHelper.Next(0, Scenes.Count)].Position;
|
||||
Core.Types.Math.Vector3D SP = null;
|
||||
while (true)
|
||||
{
|
||||
|
||||
@ -6,7 +6,6 @@ using DiIiS_NA.D3_GameServer.Core.Types.SNO;
|
||||
//Blizzless Project 2022
|
||||
using DiIiS_NA.GameServer.Core.Types.Math;
|
||||
//Blizzless Project 2022
|
||||
using DiIiS_NA.GameServer.Core.Types.Misc;
|
||||
//Blizzless Project 2022
|
||||
using DiIiS_NA.GameServer.Core.Types.QuadTrees;
|
||||
//Blizzless Project 2022
|
||||
@ -50,6 +49,12 @@ using System.Linq;
|
||||
using System.Text;
|
||||
//Blizzless Project 2022
|
||||
using System.Threading.Tasks;
|
||||
using DiIiS_NA.Core.MPQ.FileFormats;
|
||||
using DiIiS_NA.LoginServer.Toons;
|
||||
using Actor = DiIiS_NA.GameServer.GSSystem.ActorSystem.Actor;
|
||||
using Circle = DiIiS_NA.GameServer.Core.Types.Misc.Circle;
|
||||
using Monster = DiIiS_NA.GameServer.GSSystem.ActorSystem.Monster;
|
||||
using ResolvedPortalDestination = DiIiS_NA.GameServer.MessageSystem.Message.Fields.ResolvedPortalDestination;
|
||||
|
||||
namespace DiIiS_NA.GameServer.GSSystem.MapSystem
|
||||
{
|
||||
@ -569,9 +574,9 @@ namespace DiIiS_NA.GameServer.GSSystem.MapSystem
|
||||
monster.EnterWorld(position);
|
||||
if (monster.AnimationSet != null)
|
||||
{
|
||||
var animationTag = new[] { AnimationSetKeys.Spawn.ID, AnimationSetKeys.Spawn2.ID }.FirstOrDefault(x => monster.AnimationSet.Animations.ContainsKey(x));
|
||||
var animationTag = new[] { AnimationSetKeys.Spawn, AnimationSetKeys.Spawn2 }.FirstOrDefault(x => monster.AnimationSet.TagMapAnimDefault.ContainsKey(x));
|
||||
|
||||
if (animationTag > 0)
|
||||
if (animationTag != null)
|
||||
{
|
||||
monster.World.BroadcastIfRevealed(plr => new PlayAnimationMessage
|
||||
{
|
||||
@ -583,7 +588,7 @@ namespace DiIiS_NA.GameServer.GSSystem.MapSystem
|
||||
new PlayAnimationMessageSpec()
|
||||
{
|
||||
Duration = 150,
|
||||
AnimationSNO = (int)monster.AnimationSet.Animations[animationTag],
|
||||
AnimationSNO = monster.AnimationSet.TagMapAnimDefault[animationTag],
|
||||
PermutationIndex = 0,
|
||||
Speed = 1
|
||||
}
|
||||
@ -790,18 +795,33 @@ namespace DiIiS_NA.GameServer.GSSystem.MapSystem
|
||||
|
||||
}, actor);
|
||||
}
|
||||
public void SpawnRandomEquip(Actor source, Player player, int forceQuality = -1, int forceLevel = -1)
|
||||
public Item SpawnRandomEquip(Actor source, Player player, int forceQuality = -1, int forceLevel = -1, GameBalance.ItemTypeTable type = null, ToonClass toonClass = ToonClass.Unknown)
|
||||
{
|
||||
//Logger.Debug("SpawnRandomEquip(): quality {0}", forceQuality);
|
||||
if (player != null)
|
||||
{
|
||||
int level = (forceLevel > 0 ? forceLevel : source.Attributes[GameAttribute.Level]);
|
||||
var item = ItemGenerator.GenerateRandomEquip(player, level, forceQuality);
|
||||
if (item == null) return;
|
||||
if (toonClass == ToonClass.Unknown && type == null)
|
||||
{
|
||||
var item = ItemGenerator.GenerateRandomEquip(player, level, forceQuality, forceQuality);
|
||||
if (item == null) return null;
|
||||
player.GroundItems[item.GlobalID] = item;
|
||||
|
||||
DropItem(source, null, item);
|
||||
return item;
|
||||
}
|
||||
else
|
||||
{
|
||||
var item = ItemGenerator.GenerateRandomEquip(player, level, forceQuality, forceQuality, type: type,owner_class: toonClass);
|
||||
if (item == null) return null;
|
||||
player.GroundItems[item.GlobalID] = item;
|
||||
|
||||
DropItem(source, null, item);
|
||||
return item;
|
||||
}
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
public void SpawnRandomLegOrSetEquip(Actor source, Player player)
|
||||
{
|
||||
|
||||
@ -530,8 +530,8 @@ namespace DiIiS_NA.GameServer.GSSystem.PlayerSystem
|
||||
var HubWorld = player.InGameClient.Game.GetWorld(WorldSno.x1_tristram_adventure_mode_hub);
|
||||
var NStone = HubWorld.GetActorBySNO(ActorSno._x1_openworld_lootrunobelisk_b);
|
||||
bool Activated = true;
|
||||
NStone.SetIdleAnimation(NStone.AnimationSet.Animations[AnimationSetKeys.IdleDefault.ID]);
|
||||
NStone.PlayActionAnimation(NStone.AnimationSet.Animations[AnimationSetKeys.Closing.ID]);
|
||||
NStone.SetIdleAnimation((AnimationSno)NStone.AnimationSet.TagMapAnimDefault[AnimationSetKeys.IdleDefault]);
|
||||
NStone.PlayActionAnimation((AnimationSno)NStone.AnimationSet.TagMapAnimDefault[AnimationSetKeys.Closing]);
|
||||
NStone.Attributes[GameAttribute.Team_Override] = (Activated ? -1 : 2);
|
||||
NStone.Attributes[GameAttribute.Untargetable] = !Activated;
|
||||
NStone.Attributes[GameAttribute.NPC_Is_Operatable] = Activated;
|
||||
|
||||
@ -1715,7 +1715,7 @@ namespace DiIiS_NA.GameServer.GSSystem.PlayerSystem
|
||||
|
||||
#region Активация
|
||||
NStone = World.GetActorBySNO(ActorSno._x1_openworld_lootrunobelisk_b);
|
||||
NStone.PlayAnimation(5, NStone.AnimationSet.Animations[AnimationSetKeys.Opening.ID]);
|
||||
NStone.PlayAnimation(5, (AnimationSno)NStone.AnimationSet.TagMapAnimDefault[AnimationSetKeys.Opening]);
|
||||
NStone.Attributes[GameAttribute.Team_Override] = (Activated ? -1 : 2);
|
||||
NStone.Attributes[GameAttribute.Untargetable] = !Activated;
|
||||
NStone.Attributes[GameAttribute.NPC_Is_Operatable] = Activated;
|
||||
@ -1852,7 +1852,7 @@ namespace DiIiS_NA.GameServer.GSSystem.PlayerSystem
|
||||
actor.Destroy();
|
||||
#region Активация
|
||||
NStone = World.GetActorBySNO(ActorSno._x1_openworld_lootrunobelisk_b);
|
||||
NStone.PlayAnimation(5, NStone.AnimationSet.Animations[AnimationSetKeys.Opening.ID]);
|
||||
NStone.PlayAnimation(5, (AnimationSno)NStone.AnimationSet.TagMapAnimDefault[AnimationSetKeys.Opening]);
|
||||
NStone.Attributes[GameAttribute.Team_Override] = (Activated ? -1 : 2);
|
||||
NStone.Attributes[GameAttribute.Untargetable] = !Activated;
|
||||
NStone.Attributes[GameAttribute.NPC_Is_Operatable] = Activated;
|
||||
@ -4896,86 +4896,86 @@ namespace DiIiS_NA.GameServer.GSSystem.PlayerSystem
|
||||
};
|
||||
public static void GeneratePLB()
|
||||
{
|
||||
long PreviosExp = 7200000;
|
||||
long previousExp = 7200000;
|
||||
ParagonLevelBorders.Add(7200000);
|
||||
for (int i = 0; i < 59; i++)
|
||||
{
|
||||
PreviosExp += 1440000;
|
||||
ParagonLevelBorders.Add(PreviosExp);
|
||||
previousExp += 1440000;
|
||||
ParagonLevelBorders.Add(previousExp);
|
||||
}
|
||||
for (int i = 0; i < 10; i++)
|
||||
{
|
||||
PreviosExp += 2880000;
|
||||
ParagonLevelBorders.Add(PreviosExp);
|
||||
previousExp += 2880000;
|
||||
ParagonLevelBorders.Add(previousExp);
|
||||
}
|
||||
for (int i = 0; i < 3; i++)
|
||||
{
|
||||
PreviosExp += 5040000;
|
||||
ParagonLevelBorders.Add(PreviosExp);
|
||||
previousExp += 5040000;
|
||||
ParagonLevelBorders.Add(previousExp);
|
||||
}
|
||||
PreviosExp += 3660000;
|
||||
ParagonLevelBorders.Add(PreviosExp);
|
||||
previousExp += 3660000;
|
||||
ParagonLevelBorders.Add(previousExp);
|
||||
for (int i = 0; i < 75; i++)
|
||||
{
|
||||
PreviosExp += 1020000;
|
||||
ParagonLevelBorders.Add(PreviosExp);
|
||||
previousExp += 1020000;
|
||||
ParagonLevelBorders.Add(previousExp);
|
||||
}
|
||||
for (int i = 0; i < 101; i++)
|
||||
{
|
||||
PreviosExp += 2040000;
|
||||
ParagonLevelBorders.Add(PreviosExp);
|
||||
previousExp += 2040000;
|
||||
ParagonLevelBorders.Add(previousExp);
|
||||
}
|
||||
for (int i = 0; i < 100; i++)
|
||||
{
|
||||
PreviosExp += 4080000;
|
||||
ParagonLevelBorders.Add(PreviosExp);
|
||||
previousExp += 4080000;
|
||||
ParagonLevelBorders.Add(previousExp);
|
||||
}
|
||||
for (int i = 0; i < 99; i++)
|
||||
{
|
||||
PreviosExp += 6120000;
|
||||
ParagonLevelBorders.Add(PreviosExp);
|
||||
previousExp += 6120000;
|
||||
ParagonLevelBorders.Add(previousExp);
|
||||
}
|
||||
for (int i = 0; i < 51; i++)
|
||||
{
|
||||
PreviosExp += 8160000;
|
||||
ParagonLevelBorders.Add(PreviosExp);
|
||||
previousExp += 8160000;
|
||||
ParagonLevelBorders.Add(previousExp);
|
||||
}
|
||||
for (int i = 0; i < 50; i++)
|
||||
{
|
||||
PreviosExp += 20400000;
|
||||
ParagonLevelBorders.Add(PreviosExp);
|
||||
previousExp += 20400000;
|
||||
ParagonLevelBorders.Add(previousExp);
|
||||
}
|
||||
for (int i = 0; i < 50; i++)
|
||||
{
|
||||
PreviosExp += 40800000;
|
||||
ParagonLevelBorders.Add(PreviosExp);
|
||||
previousExp += 40800000;
|
||||
ParagonLevelBorders.Add(previousExp);
|
||||
}
|
||||
for (int i = 0; i < 50; i++)
|
||||
{
|
||||
PreviosExp += 61200000;
|
||||
ParagonLevelBorders.Add(PreviosExp);
|
||||
previousExp += 61200000;
|
||||
ParagonLevelBorders.Add(previousExp);
|
||||
}
|
||||
for (int i = 0; i < 50; i++)
|
||||
{
|
||||
PreviosExp += 81600000;
|
||||
ParagonLevelBorders.Add(PreviosExp);
|
||||
previousExp += 81600000;
|
||||
ParagonLevelBorders.Add(previousExp);
|
||||
}
|
||||
for (int i = 0; i < 50; i++)
|
||||
{
|
||||
PreviosExp += 102000000;
|
||||
ParagonLevelBorders.Add(PreviosExp);
|
||||
previousExp += 102000000;
|
||||
ParagonLevelBorders.Add(previousExp);
|
||||
}
|
||||
for (int i = 0; i < 1500; i++)
|
||||
{
|
||||
PreviosExp += 122400000;
|
||||
ParagonLevelBorders.Add(PreviosExp);
|
||||
previousExp += 122400000;
|
||||
ParagonLevelBorders.Add(previousExp);
|
||||
}
|
||||
long boosterofup = 229500000;
|
||||
for (int i = 0; i < 17750; i++)
|
||||
{
|
||||
boosterofup += 102000;
|
||||
PreviosExp += boosterofup;
|
||||
ParagonLevelBorders.Add(PreviosExp);
|
||||
previousExp += boosterofup;
|
||||
ParagonLevelBorders.Add(previousExp);
|
||||
}
|
||||
}
|
||||
//public static List<long> ParagonLevelBorders = ((GameBalance)DiIiS_NA.Core.MPQ.MPQStorage.Data.Assets[SNOGroup.GameBalance][252616].Data).Experience.Select(row => row.DeltaXP).ToList();
|
||||
@ -5129,7 +5129,7 @@ namespace DiIiS_NA.GameServer.GSSystem.PlayerSystem
|
||||
}
|
||||
else
|
||||
{
|
||||
Attributes[GameAttribute.Experience_Next_Lo] = Attributes[GameAttribute.Experience_Next_Lo] + (int)LevelBorders[Attributes[GameAttribute.Level]];
|
||||
Attributes[GameAttribute.Experience_Next_Lo] += (int)LevelBorders[Attributes[GameAttribute.Level]];
|
||||
Toon.ExperienceNext = Attributes[GameAttribute.Experience_Next_Lo];
|
||||
}
|
||||
|
||||
@ -5197,13 +5197,13 @@ namespace DiIiS_NA.GameServer.GSSystem.PlayerSystem
|
||||
{
|
||||
GrantAchievement(74987243307039);
|
||||
if (!Toon.GameAccount.Flags.HasFlag(GameAccount.GameAccountFlags.HardcoreTormentUnlocked))
|
||||
Toon.GameAccount.Flags = Toon.GameAccount.Flags | GameAccount.GameAccountFlags.HardcoreTormentUnlocked;
|
||||
Toon.GameAccount.Flags |= GameAccount.GameAccountFlags.HardcoreTormentUnlocked;
|
||||
}
|
||||
else
|
||||
{
|
||||
GrantAchievement(74987243307100);
|
||||
if (!Toon.GameAccount.Flags.HasFlag(GameAccount.GameAccountFlags.TormentUnlocked))
|
||||
Toon.GameAccount.Flags = Toon.GameAccount.Flags | GameAccount.GameAccountFlags.TormentUnlocked;
|
||||
Toon.GameAccount.Flags |= GameAccount.GameAccountFlags.TormentUnlocked;
|
||||
}
|
||||
CheckLevelCap();
|
||||
break;
|
||||
@ -6020,5 +6020,12 @@ namespace DiIiS_NA.GameServer.GSSystem.PlayerSystem
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
public void Heal()
|
||||
{
|
||||
Attributes[GameAttribute.Hitpoints_Cur] = Attributes[GameAttribute.Hitpoints_Max_Total];
|
||||
Attributes[GameAttribute.Hitpoints_Total_From_Level] = Attributes[GameAttribute.Hitpoints_Max_Total];
|
||||
Attributes.BroadcastChangedIfRevealed();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -119,7 +119,7 @@ namespace DiIiS_NA.GameServer.GSSystem.PowerSystem.Implementations
|
||||
if (payload.Target == User && payload is DeathPayload)
|
||||
{
|
||||
if (User.GetActorsInRange(80f).Count > 100) return;
|
||||
User.PlayAnimation(11, User.AnimationSet.Animations[AnimationSetKeys.Explode.ID]);
|
||||
User.PlayAnimation(11, (AnimationSno)User.AnimationSet.TagMapAnimDefault[AnimationSetKeys.Explode]);
|
||||
for (int i = 0; i < 3; i++)
|
||||
{
|
||||
var monster = ActorFactory.Create(User.World, (User as Monster).SNOSummons[0], new TagMap());
|
||||
@ -170,7 +170,7 @@ namespace DiIiS_NA.GameServer.GSSystem.PowerSystem.Implementations
|
||||
SuicideTimer = null;
|
||||
var dmgTargets = GetEnemiesInRadius(User.Position, 6f);
|
||||
WeaponDamage(dmgTargets, 5.0f, DamageType.Physical);
|
||||
User.PlayAnimation(11, User.AnimationSet.Animations[AnimationSetKeys.Attack.ID]);
|
||||
User.PlayAnimation(11, (AnimationSno)User.AnimationSet.TagMapAnimDefault[AnimationSetKeys.Attack]);
|
||||
WeaponDamage(User, 1000.0f, DamageType.Physical);
|
||||
//(User as Living).Kill();
|
||||
//foreach (var anim in Target.AnimationSet.TagMapAnimDefault)
|
||||
|
||||
@ -1176,7 +1176,7 @@ namespace DiIiS_NA.GameServer.GSSystem.PowerSystem.Payloads
|
||||
|
||||
private AnimationSno FindBestDeathAnimationSNO()
|
||||
{
|
||||
if (Context != null)
|
||||
if (Context == null)
|
||||
return AnimationSno._NONE;
|
||||
|
||||
// check if power has special death animation, and roll chance to use it
|
||||
@ -1211,8 +1211,8 @@ namespace DiIiS_NA.GameServer.GSSystem.PowerSystem.Payloads
|
||||
|
||||
private AnimationSno GetSNOFromTag(TagKeyInt tag)
|
||||
{
|
||||
if (Target.AnimationSet != null && Target.AnimationSet.Animations.ContainsKey(tag.ID))
|
||||
return (AnimationSno)Target.AnimationSet.Animations[tag.ID];
|
||||
if (Target.AnimationSet != null && Target.AnimationSet.TagMapAnimDefault.ContainsKey(tag))
|
||||
return (AnimationSno)Target.AnimationSet.TagMapAnimDefault[tag];
|
||||
else
|
||||
return AnimationSno._NONE;
|
||||
}
|
||||
|
||||
@ -821,9 +821,9 @@ namespace DiIiS_NA.GameServer.GSSystem.PowerSystem.Payloads
|
||||
if (Target.World.BuffManager.GetFirstBuff<KnockbackBuff>(Target) == null &&
|
||||
Target.AnimationSet != null)
|
||||
{
|
||||
if (Target.AnimationSet.Animations.ContainsKey(AnimationSetKeys.GetHit.ID) && FastRandom.Instance.Next(100) < 33)
|
||||
if (Target.AnimationSet.TagMapAnimDefault.ContainsKey(AnimationSetKeys.GetHit) && FastRandom.Instance.Next(100) < 33)
|
||||
{
|
||||
var hitAni = Target.AnimationSet.Animations[AnimationSetKeys.GetHit.ID];
|
||||
var hitAni = (AnimationSno)Target.AnimationSet.TagMapAnimDefault[AnimationSetKeys.GetHit];
|
||||
if (hitAni != AnimationSno._NONE)
|
||||
{
|
||||
// HACK: hardcoded animation speed/ticks, need to base those off hit recovery speed
|
||||
|
||||
@ -85,12 +85,8 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem
|
||||
{
|
||||
if (Game.CurrentQuest == 87700 & Game.CurrentStep == -1)
|
||||
{
|
||||
//Указывает куда идти
|
||||
//ActiveArrow(this.Game.GetWorld(71150), 3739);
|
||||
|
||||
//Убираем лишнюю Лею
|
||||
var Leah = world.GetActorBySNO(ActorSno._leah, true);
|
||||
if (Leah != null) Leah.Hidden = true;
|
||||
var leah = world.GetActorBySNO(ActorSno._leah, true);
|
||||
if (leah != null) leah.Hidden = true;
|
||||
}
|
||||
});
|
||||
SetActorOperable(world, ActorSno._trout_newtristram_gate_town, false);
|
||||
@ -139,7 +135,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem
|
||||
}
|
||||
catch { }
|
||||
UnlockTeleport(0);
|
||||
if (world.GetActorsBySNO(ActorSno._trout_newtristram_gate_town).Where(d => d.Visible).FirstOrDefault() != null)
|
||||
if (world.GetActorsBySNO(ActorSno._trout_newtristram_gate_town).FirstOrDefault(d => d.Visible) != null)
|
||||
Open(world, ActorSno._trout_newtristram_gate_town);
|
||||
ActiveArrow(world, ActorSno._g_portal_rectangle_orange_icondoor, WorldSno.trout_tristram_inn);
|
||||
ListenConversation(151123, new Advance());
|
||||
@ -1220,8 +1216,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem
|
||||
ListenProximity(ActorSno._woodfencee_fields_trout, new Advance()); //if going through graveyard
|
||||
var Gate = world.GetActorBySNO(ActorSno._cemetary_gate_trout_wilderness_no_lock);
|
||||
Gate.Field2 = 16;
|
||||
var animation = Gate.AnimationSet.Animations[AnimationSetKeys.Opening.ID];
|
||||
Gate.PlayAnimation(5, animation);
|
||||
Gate.PlayAnimation(5, (AnimationSno)Gate.AnimationSet.TagMapAnimDefault[AnimationSetKeys.Opening]);
|
||||
world.BroadcastIfRevealed(plr => new MessageSystem.Message.Definitions.ACD.ACDCollFlagsMessage
|
||||
{
|
||||
ActorID = Gate.DynamicID(plr),
|
||||
@ -1896,8 +1891,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem
|
||||
var world = Game.GetWorld(WorldSno.trout_townattack_chapelcellar_a);
|
||||
foreach (var Table in world.GetActorsBySNO(ActorSno._trout_townattack_cellar_altar)) {
|
||||
Table.SetUsable(false);
|
||||
var animation = Table.AnimationSet.Animations[AnimationSetKeys.Open.ID];
|
||||
Table.SetIdleAnimation(animation);
|
||||
Table.SetIdleAnimation((AnimationSno)Table.AnimationSet.TagMapAnimDefault[AnimationSetKeys.Open]);
|
||||
}
|
||||
foreach (var Maghda in world.GetActorsBySNO(ActorSno._maghda_a_tempprojection)) Maghda.Destroy();
|
||||
});
|
||||
|
||||
@ -172,7 +172,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem.QuestEvents.Implementations
|
||||
var AllTablets = DrownedTempleWorld.GetActorsBySNO(ActorSno._a1dun_caves_nephalem_altar_tablet_a);
|
||||
foreach (var Tablet in AllTablets)
|
||||
{
|
||||
Tablet.PlayAnimation(5, Tablet.AnimationSet.Animations[AnimationSetKeys.Opening.ID]);
|
||||
Tablet.PlayAnimation(5, (AnimationSno)Tablet.AnimationSet.TagMapAnimDefault[AnimationSetKeys.Opening]);
|
||||
DrownedTempleWorld.BroadcastIfRevealed(plr => new SetIdleAnimationMessage
|
||||
{
|
||||
ActorID = Tablet.DynamicID(plr),
|
||||
|
||||
@ -65,7 +65,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem.QuestEvents.Implementations
|
||||
|
||||
StartConversation(world, 17923);
|
||||
|
||||
SkeletonKing_Bridge.PlayAnimation(5, SkeletonKing_Bridge.AnimationSet.Animations[AnimationSetKeys.Opening.ID], 1f);
|
||||
SkeletonKing_Bridge.PlayAnimation(5, (AnimationSno)SkeletonKing_Bridge.AnimationSet.TagMapAnimDefault[AnimationSetKeys.Opening], 1f);
|
||||
|
||||
world.BroadcastIfRevealed(plr => new SetIdleAnimationMessage
|
||||
{
|
||||
|
||||
@ -118,7 +118,7 @@ namespace DiIiS_NA
|
||||
{
|
||||
try
|
||||
{
|
||||
var uptime = (DateTime.Now - StartupTime).ToText();
|
||||
var uptime = (DateTime.Now - StartupTime).ToSmallText();
|
||||
// get total memory from process
|
||||
var totalMemory =
|
||||
(double)((double)Process.GetCurrentProcess().WorkingSet64 / 1024 / 1024 / 1024);
|
||||
@ -126,7 +126,7 @@ namespace DiIiS_NA
|
||||
using var proc = Process.GetCurrentProcess();
|
||||
var cpuTime = proc.TotalProcessorTime;
|
||||
var text =
|
||||
$"{name} | {PlayerManager.OnlinePlayers.Count()} onlines in {PlayerManager.OnlinePlayers.Count(s => s.InGameClient.Player.World != null)} worlds | Memory: {totalMemory:0.000} GB | CPU Time: {cpuTime.ToSmallText()} | Uptime: {uptime}";
|
||||
$"{name} | {PlayerManager.OnlinePlayers.Count()} onlines in {PlayerManager.OnlinePlayers.Count(s => s.InGameClient?.Player?.World != null)} worlds | Memory: {totalMemory:0.000} GB | CPU Time: {cpuTime.ToSmallText()} | Uptime: {uptime}";
|
||||
try
|
||||
{
|
||||
Console.Title = text;
|
||||
|
||||
Loading…
Reference in New Issue
user.block.title