Unidentified items
This commit is contained in:
parent
9ef1ec0a6a
commit
0e62c1083d
@ -5,6 +5,7 @@ using System;
|
|||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
//Blizzless Project 2022
|
//Blizzless Project 2022
|
||||||
using System.Text;
|
using System.Text;
|
||||||
|
using DiIiS_NA.Core.Logging;
|
||||||
|
|
||||||
namespace DiIiS_NA.Core.Helpers.Math
|
namespace DiIiS_NA.Core.Helpers.Math
|
||||||
{
|
{
|
||||||
@ -12,7 +13,9 @@ namespace DiIiS_NA.Core.Helpers.Math
|
|||||||
{
|
{
|
||||||
#region Static Fields
|
#region Static Fields
|
||||||
|
|
||||||
private static readonly FastRandom __seedRng = new FastRandom((int)Environment.TickCount);
|
private static readonly Logger Logger = LogManager.CreateLogger(nameof(FastRandom));
|
||||||
|
|
||||||
|
private static readonly FastRandom _seedRng = new(Environment.TickCount);
|
||||||
|
|
||||||
public static readonly FastRandom Instance = new FastRandom();
|
public static readonly FastRandom Instance = new FastRandom();
|
||||||
|
|
||||||
@ -32,7 +35,7 @@ namespace DiIiS_NA.Core.Helpers.Math
|
|||||||
|
|
||||||
public FastRandom()
|
public FastRandom()
|
||||||
{
|
{
|
||||||
Reinitialise(__seedRng.NextInt());
|
Reinitialise(_seedRng.NextInt());
|
||||||
}
|
}
|
||||||
|
|
||||||
public FastRandom(int seed)
|
public FastRandom(int seed)
|
||||||
@ -212,5 +215,12 @@ namespace DiIiS_NA.Core.Helpers.Math
|
|||||||
}
|
}
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Chance returns true if a random number between 0 and 100 is lesser than the specified value.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="successPercentage"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public bool Chance(float successPercentage) => Next(100) < successPercentage;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -384,7 +384,7 @@ namespace DiIiS_NA.GameServer.AchievementSystem
|
|||||||
lock (client._serviceLock)
|
lock (client._serviceLock)
|
||||||
{
|
{
|
||||||
if (additionalQuantity == 0) return;
|
if (additionalQuantity == 0) return;
|
||||||
Logger.Trace("UpdateQuantity(): id {0}", achievementId);
|
Logger.Debug("UpdateQuantity(): id {0}", achievementId);
|
||||||
if (client.Account.GameAccount.Achievements.Where(a => a.AchievementId == achievementId && a.Completion != -1).Count() > 0) return;
|
if (client.Account.GameAccount.Achievements.Where(a => a.AchievementId == achievementId && a.Completion != -1).Count() > 0) return;
|
||||||
|
|
||||||
ulong mainCriteriaId = GetMainCriteria(achievementId);
|
ulong mainCriteriaId = GetMainCriteria(achievementId);
|
||||||
@ -417,7 +417,7 @@ namespace DiIiS_NA.GameServer.AchievementSystem
|
|||||||
var achievement = new DBAchievements();
|
var achievement = new DBAchievements();
|
||||||
if (achs.Count == 0)
|
if (achs.Count == 0)
|
||||||
{
|
{
|
||||||
Logger.Trace("UpdateQuantity(): creating new ach data");
|
Logger.Debug("UpdateQuantity(): creating new ach data");
|
||||||
achievement.DBGameAccount = client.Account.GameAccount.DBGameAccount;
|
achievement.DBGameAccount = client.Account.GameAccount.DBGameAccount;
|
||||||
achievement.AchievementId = achievementId;
|
achievement.AchievementId = achievementId;
|
||||||
achievement.IsHardcore = IsHardcore(achievementId);
|
achievement.IsHardcore = IsHardcore(achievementId);
|
||||||
|
|||||||
@ -289,9 +289,6 @@ namespace DiIiS_NA.GameServer.CommandManager
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
player.Toon.GameAccount.NotifyUpdate();
|
player.Toon.GameAccount.NotifyUpdate();
|
||||||
if (player.Level >= 70)
|
if (player.Level >= 70)
|
||||||
return $"New paragon level: {player.ParagonLevel}";
|
return $"New paragon level: {player.ParagonLevel}";
|
||||||
|
|||||||
@ -64,8 +64,12 @@ namespace DiIiS_NA.GameServer.GSSystem.ItemsSystem
|
|||||||
|
|
||||||
public bool Unidentified
|
public bool Unidentified
|
||||||
{
|
{
|
||||||
get;
|
get => Attributes[GameAttribute.Unidentified];
|
||||||
set;
|
set
|
||||||
|
{
|
||||||
|
Attributes[GameAttribute.Unidentified] = value;
|
||||||
|
if (DBInventory is {} dbInventory) dbInventory.Unidentified = value;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public int EquipGemType
|
public int EquipGemType
|
||||||
@ -371,7 +375,7 @@ namespace DiIiS_NA.GameServer.GSSystem.ItemsSystem
|
|||||||
public void Identify()
|
public void Identify()
|
||||||
{
|
{
|
||||||
Unidentified = false;
|
Unidentified = false;
|
||||||
DBInventory.Unidentified = false;
|
// DBInventory.Unidentified = false;
|
||||||
Attributes[GameAttribute.Unidentified] = false;
|
Attributes[GameAttribute.Unidentified] = false;
|
||||||
|
|
||||||
Owner.World.Game.GameDBSession.SessionUpdate(DBInventory);
|
Owner.World.Game.GameDBSession.SessionUpdate(DBInventory);
|
||||||
|
|||||||
@ -1035,7 +1035,7 @@ namespace DiIiS_NA.GameServer.GSSystem.ItemsSystem
|
|||||||
|
|
||||||
// generates a random equip item (for vendors)
|
// generates a random equip item (for vendors)
|
||||||
public static Item GenerateRandomEquip(ActorSystem.Actor owner, int level, int minQuality = 1,
|
public static Item GenerateRandomEquip(ActorSystem.Actor owner, int level, int minQuality = 1,
|
||||||
int maxQuality = -1, ItemTypeTable type = null, ToonClass owner_class = ToonClass.Unknown,
|
int maxQuality = -1, ItemTypeTable type = null, ToonClass ownerClass = ToonClass.Unknown,
|
||||||
bool crafted = false)
|
bool crafted = false)
|
||||||
{
|
{
|
||||||
if (level < 0) level = owner.Attributes[GameAttribute.Level];
|
if (level < 0) level = owner.Attributes[GameAttribute.Level];
|
||||||
@ -1053,35 +1053,18 @@ namespace DiIiS_NA.GameServer.GSSystem.ItemsSystem
|
|||||||
&& !ObsoleteItems.Contains(def.Hash)
|
&& !ObsoleteItems.Contains(def.Hash)
|
||||||
&& UniqueItems.UniqueItemStats.ContainsKey(def.Hash)
|
&& UniqueItems.UniqueItemStats.ContainsKey(def.Hash)
|
||||||
&& def.Quality != ItemTable.ItemQuality.Special
|
&& def.Quality != ItemTable.ItemQuality.Special
|
||||||
&& (type == null
|
&& (type == null || ItemGroup.HierarchyToHashList(ItemGroup.FromHash(def.ItemTypesGBID)).Contains(type.Hash))
|
||||||
? true
|
&& (quality > 2 || !ItemGroup.HierarchyToHashList(ItemGroup.FromHash(def.ItemTypesGBID)).Contains(-740765630)) //not jewelry
|
||||||
: ItemGroup.HierarchyToHashList(ItemGroup.FromHash(def.ItemTypesGBID))
|
&& (ownerClass == ToonClass.Unknown || (ownerClass switch
|
||||||
.Contains(type.Hash))
|
{
|
||||||
&& (quality > 2
|
ToonClass.Barbarian => ItemGroup.FromHash(def.ItemTypesGBID).Usable.HasFlag(ItemFlags.Barbarian),
|
||||||
? true
|
ToonClass.Crusader => ItemGroup.FromHash(def.ItemTypesGBID).Usable.HasFlag(ItemFlags.Crusader),
|
||||||
: !ItemGroup.HierarchyToHashList(ItemGroup.FromHash(def.ItemTypesGBID))
|
ToonClass.Monk => ItemGroup.FromHash(def.ItemTypesGBID).Usable.HasFlag(ItemFlags.Monk),
|
||||||
.Contains(-740765630)) //not jewelry
|
ToonClass.Necromancer => ItemGroup.FromHash(def.ItemTypesGBID).Usable.HasFlag(ItemFlags.Necromancer),
|
||||||
&& (owner_class == ToonClass.Unknown
|
ToonClass.Wizard => ItemGroup.FromHash(def.ItemTypesGBID).Usable.HasFlag(ItemFlags.Wizard),
|
||||||
? true
|
ToonClass.DemonHunter => ItemGroup.FromHash(def.ItemTypesGBID).Usable.HasFlag(ItemFlags.DemonHunter),
|
||||||
: (owner_class == ToonClass.Barbarian
|
_ => ownerClass != ToonClass.WitchDoctor || ItemGroup.FromHash(def.ItemTypesGBID).Usable.HasFlag(ItemFlags.WitchDoctor)
|
||||||
? ItemGroup.FromHash(def.ItemTypesGBID).Usable.HasFlag(ItemFlags.Barbarian)
|
})
|
||||||
: (owner_class == ToonClass.Crusader
|
|
||||||
? ItemGroup.FromHash(def.ItemTypesGBID).Usable.HasFlag(ItemFlags.Crusader)
|
|
||||||
: (owner_class == ToonClass.Monk
|
|
||||||
? ItemGroup.FromHash(def.ItemTypesGBID).Usable.HasFlag(ItemFlags.Monk)
|
|
||||||
: (owner_class == ToonClass.Necromancer
|
|
||||||
? ItemGroup.FromHash(def.ItemTypesGBID).Usable
|
|
||||||
.HasFlag(ItemFlags.Necromancer)
|
|
||||||
: (owner_class == ToonClass.Wizard
|
|
||||||
? ItemGroup.FromHash(def.ItemTypesGBID).Usable
|
|
||||||
.HasFlag(ItemFlags.Wizard)
|
|
||||||
: (owner_class == ToonClass.DemonHunter
|
|
||||||
? ItemGroup.FromHash(def.ItemTypesGBID).Usable
|
|
||||||
.HasFlag(ItemFlags.DemonHunter)
|
|
||||||
: (owner_class == ToonClass.WitchDoctor
|
|
||||||
? ItemGroup.FromHash(def.ItemTypesGBID).Usable
|
|
||||||
.HasFlag(ItemFlags.WitchDoctor)
|
|
||||||
: true)))))))
|
|
||||||
)
|
)
|
||||||
).ToList()
|
).ToList()
|
||||||
, (quality > 8));
|
, (quality > 8));
|
||||||
@ -1101,37 +1084,22 @@ namespace DiIiS_NA.GameServer.GSSystem.ItemsSystem
|
|||||||
&& def.ItemLevel <= Math.Min(level + 3, 73)
|
&& def.ItemLevel <= Math.Min(level + 3, 73)
|
||||||
|
|
||||||
&& !ObsoleteItems.Contains(def.Hash) //obsolete 1.0.3 items
|
&& !ObsoleteItems.Contains(def.Hash) //obsolete 1.0.3 items
|
||||||
&& (type == null
|
&& (type == null || ItemGroup.HierarchyToHashList(ItemGroup.FromHash(def.ItemTypesGBID)).Contains(type.Hash))
|
||||||
? true
|
&& (quality > 2 || !ItemGroup.HierarchyToHashList(ItemGroup.FromHash(def.ItemTypesGBID)).Contains(-740765630)) //not jewelry
|
||||||
: ItemGroup.HierarchyToHashList(ItemGroup.FromHash(def.ItemTypesGBID)).Contains(type.Hash))
|
&& (ownerClass == ToonClass.Unknown || (ownerClass switch
|
||||||
&& (quality > 2
|
{
|
||||||
? true
|
ToonClass.Barbarian => ItemGroup.FromHash(def.ItemTypesGBID).Usable.HasFlag(ItemFlags.Barbarian),
|
||||||
: !ItemGroup.HierarchyToHashList(ItemGroup.FromHash(def.ItemTypesGBID))
|
ToonClass.Crusader => ItemGroup.FromHash(def.ItemTypesGBID).Usable.HasFlag(ItemFlags.Crusader),
|
||||||
.Contains(-740765630)) //not jewelry
|
ToonClass.Monk => ItemGroup.FromHash(def.ItemTypesGBID).Usable.HasFlag(ItemFlags.Monk),
|
||||||
&& (owner_class == ToonClass.Unknown
|
ToonClass.Wizard => ItemGroup.FromHash(def.ItemTypesGBID).Usable.HasFlag(ItemFlags.Wizard),
|
||||||
? true
|
ToonClass.DemonHunter => ItemGroup.FromHash(def.ItemTypesGBID).Usable
|
||||||
: (owner_class == ToonClass.Barbarian
|
.HasFlag(ItemFlags.DemonHunter),
|
||||||
?
|
ToonClass.Necromancer => ItemGroup.FromHash(def.ItemTypesGBID).Usable
|
||||||
ItemGroup.FromHash(def.ItemTypesGBID).Usable.HasFlag(ItemFlags.Barbarian)
|
.HasFlag(ItemFlags.Necromancer),
|
||||||
:
|
ToonClass.WitchDoctor => ItemGroup.FromHash(def.ItemTypesGBID).Usable
|
||||||
owner_class == ToonClass.Crusader
|
.HasFlag(ItemFlags.WitchDoctor),
|
||||||
? ItemGroup.FromHash(def.ItemTypesGBID).Usable.HasFlag(ItemFlags.Crusader)
|
_ => true
|
||||||
:
|
}))
|
||||||
(owner_class == ToonClass.Monk
|
|
||||||
? ItemGroup.FromHash(def.ItemTypesGBID).Usable.HasFlag(ItemFlags.Monk)
|
|
||||||
: (owner_class == ToonClass.Wizard
|
|
||||||
? ItemGroup.FromHash(def.ItemTypesGBID).Usable.HasFlag(ItemFlags.Wizard)
|
|
||||||
: (owner_class == ToonClass.DemonHunter
|
|
||||||
? ItemGroup.FromHash(def.ItemTypesGBID).Usable
|
|
||||||
.HasFlag(ItemFlags.DemonHunter)
|
|
||||||
: (owner_class == ToonClass.Necromancer
|
|
||||||
? ItemGroup.FromHash(def.ItemTypesGBID).Usable
|
|
||||||
.HasFlag(ItemFlags.Necromancer)
|
|
||||||
: (owner_class == ToonClass.WitchDoctor
|
|
||||||
? ItemGroup.FromHash(def.ItemTypesGBID).Usable
|
|
||||||
.HasFlag(ItemFlags.WitchDoctor)
|
|
||||||
: true
|
|
||||||
)))))))
|
|
||||||
).ToList()
|
).ToList()
|
||||||
, false //(quality > 8)
|
, false //(quality > 8)
|
||||||
);
|
);
|
||||||
@ -1350,7 +1318,7 @@ namespace DiIiS_NA.GameServer.GSSystem.ItemsSystem
|
|||||||
|
|
||||||
public static int GetItemHash(string name)
|
public static int GetItemHash(string name)
|
||||||
{
|
{
|
||||||
var item = Items.Where(i => i.Value.Name == name).FirstOrDefault();
|
var item = Items.FirstOrDefault(i => i.Value.Name == name);
|
||||||
return (item.Value == null ? -1 : item.Key);
|
return (item.Value == null ? -1 : item.Key);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1378,7 +1346,7 @@ namespace DiIiS_NA.GameServer.GSSystem.ItemsSystem
|
|||||||
|
|
||||||
Item item = GenerateRandomEquip(player, player.Level, minQuality, 10, itemType);
|
Item item = GenerateRandomEquip(player, player.Level, minQuality, 10, itemType);
|
||||||
|
|
||||||
item.Unidentified = false;
|
item.Unidentified = FastRandom.Instance.Chance(10f);
|
||||||
return item;
|
return item;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1396,6 +1364,7 @@ namespace DiIiS_NA.GameServer.GSSystem.ItemsSystem
|
|||||||
new object[] { owner.World, definition, forceQuality, crafted, seed });
|
new object[] { owner.World, definition, forceQuality, crafted, seed });
|
||||||
if (forceQuality == 9)
|
if (forceQuality == 9)
|
||||||
item.Attributes[GameAttribute.Item_Quality_Level] = 9;
|
item.Attributes[GameAttribute.Item_Quality_Level] = 9;
|
||||||
|
item.Unidentified = FastRandom.Instance.Chance(10f);
|
||||||
return item;
|
return item;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1444,17 +1413,17 @@ namespace DiIiS_NA.GameServer.GSSystem.ItemsSystem
|
|||||||
return (Items.ContainsKey(gbid)) ? Items[gbid] : null;
|
return (Items.ContainsKey(gbid)) ? Items[gbid] : null;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static List<ParagonBonusesTable> GetParagonBonusTable(ToonClass toon_class)
|
public static List<ParagonBonusesTable> GetParagonBonusTable(ToonClass toonClass)
|
||||||
{
|
{
|
||||||
Class gb_class = Class.None;
|
Class @class = Class.None;
|
||||||
if (toon_class == ToonClass.Barbarian) gb_class = Class.Barbarian;
|
if (toonClass == ToonClass.Barbarian) @class = Class.Barbarian;
|
||||||
if (toon_class == ToonClass.Crusader) gb_class = Class.Crusader;
|
if (toonClass == ToonClass.Crusader) @class = Class.Crusader;
|
||||||
if (toon_class == ToonClass.DemonHunter) gb_class = Class.DemonHunter;
|
if (toonClass == ToonClass.DemonHunter) @class = Class.DemonHunter;
|
||||||
if (toon_class == ToonClass.Monk) gb_class = Class.Monk;
|
if (toonClass == ToonClass.Monk) @class = Class.Monk;
|
||||||
if (toon_class == ToonClass.WitchDoctor) gb_class = Class.Witchdoctor;
|
if (toonClass == ToonClass.WitchDoctor) @class = Class.Witchdoctor;
|
||||||
if (toon_class == ToonClass.Wizard) gb_class = Class.Wizard;
|
if (toonClass == ToonClass.Wizard) @class = Class.Wizard;
|
||||||
if (toon_class == ToonClass.Necromancer) gb_class = Class.Necromancer;
|
if (toonClass == ToonClass.Necromancer) @class = Class.Necromancer;
|
||||||
return ParagonBonuses.Where(b => b.HeroClass == gb_class || b.HeroClass == Class.None).ToList();
|
return ParagonBonuses.Where(b => b.HeroClass == @class || b.HeroClass == Class.None).ToList();
|
||||||
}
|
}
|
||||||
|
|
||||||
public static RecipeTable GetRecipeDefinition(int gbid)
|
public static RecipeTable GetRecipeDefinition(int gbid)
|
||||||
@ -1464,8 +1433,8 @@ namespace DiIiS_NA.GameServer.GSSystem.ItemsSystem
|
|||||||
|
|
||||||
public static RecipeTable GetRecipeDefinition(string name)
|
public static RecipeTable GetRecipeDefinition(string name)
|
||||||
{
|
{
|
||||||
var recipe = Recipes.Where(r => r.Value.Name == name).FirstOrDefault();
|
var recipe = Recipes.FirstOrDefault(r => r.Value.Name == name);
|
||||||
return (recipe.Value == null) ? null : recipe.Value;
|
return recipe.Value;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static SocketedEffectTable GetGemEffectDefinition(int gem_gbid, int item_type)
|
public static SocketedEffectTable GetGemEffectDefinition(int gem_gbid, int item_type)
|
||||||
@ -1581,8 +1550,9 @@ namespace DiIiS_NA.GameServer.GSSystem.ItemsSystem
|
|||||||
itm.Attributes[GameAttribute.Durability_Cur] = instance.Durability;
|
itm.Attributes[GameAttribute.Durability_Cur] = instance.Durability;
|
||||||
itm.Attributes[GameAttribute.DyeType] = instance.DyeType;
|
itm.Attributes[GameAttribute.DyeType] = instance.DyeType;
|
||||||
itm.Attributes[GameAttribute.TransmogGBID] = instance.TransmogGBID;
|
itm.Attributes[GameAttribute.TransmogGBID] = instance.TransmogGBID;
|
||||||
itm.Unidentified = instance.Unidentified;
|
|
||||||
itm.DBInventory = instance;
|
itm.DBInventory = instance;
|
||||||
|
itm.Unidentified = instance.Unidentified;
|
||||||
|
|
||||||
if (instance.Version == 1)
|
if (instance.Version == 1)
|
||||||
itm.Attributes[GameAttribute.IsCrafted] = true;
|
itm.Attributes[GameAttribute.IsCrafted] = true;
|
||||||
|
|
||||||
|
|||||||
@ -797,7 +797,7 @@ namespace DiIiS_NA.GameServer.GSSystem.MapSystem
|
|||||||
}
|
}
|
||||||
public Item SpawnRandomEquip(Actor source, Player player, int forceQuality = -1, int forceLevel = -1, GameBalance.ItemTypeTable type = null, ToonClass toonClass = ToonClass.Unknown)
|
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);
|
Logger.Debug("SpawnRandomEquip(): quality {0}", forceQuality);
|
||||||
if (player != null)
|
if (player != null)
|
||||||
{
|
{
|
||||||
int level = (forceLevel > 0 ? forceLevel : source.Attributes[GameAttribute.Level]);
|
int level = (forceLevel > 0 ? forceLevel : source.Attributes[GameAttribute.Level]);
|
||||||
@ -812,7 +812,7 @@ namespace DiIiS_NA.GameServer.GSSystem.MapSystem
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
var item = ItemGenerator.GenerateRandomEquip(player, level, forceQuality, forceQuality, type: type,owner_class: toonClass);
|
var item = ItemGenerator.GenerateRandomEquip(player, level, forceQuality, forceQuality, type: type,ownerClass: toonClass);
|
||||||
if (item == null) return null;
|
if (item == null) return null;
|
||||||
player.GroundItems[item.GlobalID] = item;
|
player.GroundItems[item.GlobalID] = item;
|
||||||
|
|
||||||
|
|||||||
@ -314,7 +314,7 @@ namespace DiIiS_NA.GameServer.GSSystem.PlayerSystem
|
|||||||
asset.ConversationType != ConversationTypes.GlobalFloat)
|
asset.ConversationType != ConversationTypes.GlobalFloat)
|
||||||
player.CheckConversationCriteria(asset.Header.SNOId);
|
player.CheckConversationCriteria(asset.Header.SNOId);
|
||||||
|
|
||||||
Logger.Trace("Handling conversation for Conversation: {0}", SNOId);
|
Logger.Debug("Handling conversation for Conversation: {0}", SNOId);
|
||||||
if (player.World.Game.QuestProgress.QuestTriggers.ContainsKey(SNOId))
|
if (player.World.Game.QuestProgress.QuestTriggers.ContainsKey(SNOId))
|
||||||
{
|
{
|
||||||
var trigger = player.World.Game.QuestProgress.QuestTriggers[SNOId];
|
var trigger = player.World.Game.QuestProgress.QuestTriggers[SNOId];
|
||||||
@ -730,12 +730,12 @@ namespace DiIiS_NA.GameServer.GSSystem.PlayerSystem
|
|||||||
void ConversationEnded(object sender, EventArgs e)
|
void ConversationEnded(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
Conversation conversation = sender as Conversation;
|
Conversation conversation = sender as Conversation;
|
||||||
Logger.Trace(" (ConversationEnded) Sending a notify with type {0} and value {1}",
|
Logger.Debug(" (ConversationEnded) Sending a notify with type {0} and value {1}",
|
||||||
conversation.ConversationType, conversation.SNOId);
|
conversation.ConversationType, conversation.SNOId);
|
||||||
|
|
||||||
//quests.Notify(QuestStepObjectiveType.HadConversation, conversation.SNOId); //deprecated
|
//quests.Notify(QuestStepObjectiveType.HadConversation, conversation.SNOId); //deprecated
|
||||||
|
|
||||||
//<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
//Conversation ended
|
||||||
if (player.PlayerIndex == 0)
|
if (player.PlayerIndex == 0)
|
||||||
switch (conversation.SNOId)
|
switch (conversation.SNOId)
|
||||||
{
|
{
|
||||||
|
|||||||
Loading…
Reference in New Issue
user.block.title