mirror of
https://github.com/islehorse/HISP.git
synced 2025-04-22 20:55:52 +12:00
Remove " " space from the names
This commit is contained in:
parent
bef3032886
commit
8e451633dc
59 changed files with 391 additions and 391 deletions
139
Horse Isle Server/HorseIsleServer/Game/Npc.cs
Normal file
139
Horse Isle Server/HorseIsleServer/Game/Npc.cs
Normal file
|
@ -0,0 +1,139 @@
|
|||
using HISP.Player;
|
||||
using HISP.Server;
|
||||
using System.Collections.Generic;
|
||||
|
||||
|
||||
namespace HISP.Game
|
||||
{
|
||||
class Npc
|
||||
{
|
||||
public struct NpcReply
|
||||
{
|
||||
public int Id;
|
||||
public string ReplyText;
|
||||
public int GotoChatpoint;
|
||||
public int RequiresQuestIdCompleted;
|
||||
public int RequiresQuestIdNotCompleted;
|
||||
}
|
||||
public struct NpcChat
|
||||
{
|
||||
public int Id;
|
||||
public string ChatText;
|
||||
public int ActivateQuestId;
|
||||
|
||||
public NpcReply[] Replies;
|
||||
}
|
||||
public struct NpcEntry
|
||||
{
|
||||
public int Id;
|
||||
public string Name;
|
||||
public string AdminDescription;
|
||||
public string ShortDescription;
|
||||
public string LongDescription;
|
||||
public bool Moves;
|
||||
public int X;
|
||||
public int Y;
|
||||
public string StayOn;
|
||||
public int RequiresQuestIdCompleted;
|
||||
public int RequiresQuestIdNotCompleted;
|
||||
public string UDLRScript;
|
||||
public int UDLRStartX;
|
||||
public int UDLRStartY;
|
||||
public bool AdminOnly;
|
||||
public bool LibarySearchable;
|
||||
public int IconId;
|
||||
|
||||
public NpcChat[] Chatpoints;
|
||||
}
|
||||
|
||||
public static List<NpcEntry> NpcList = new List<NpcEntry>();
|
||||
|
||||
public static NpcReply GetNpcReply(NpcEntry npc, int id)
|
||||
{
|
||||
|
||||
foreach (NpcChat chatpoint in npc.Chatpoints)
|
||||
{
|
||||
foreach (NpcReply reply in chatpoint.Replies)
|
||||
{
|
||||
if (reply.Id == id)
|
||||
return reply;
|
||||
}
|
||||
}
|
||||
throw new KeyNotFoundException("Npc reply with " + id + " not found!");
|
||||
}
|
||||
|
||||
public static NpcReply GetNpcReply(NpcChat chatpoint, int id)
|
||||
{
|
||||
foreach(NpcReply reply in chatpoint.Replies)
|
||||
{
|
||||
if (reply.Id == id)
|
||||
return reply;
|
||||
}
|
||||
throw new KeyNotFoundException("Npc reply with " + id + " not found!");
|
||||
}
|
||||
public static NpcChat GetNpcChatpoint(NpcEntry npc, int chatpointId)
|
||||
{
|
||||
foreach(Npc.NpcChat chatpoint in npc.Chatpoints)
|
||||
{
|
||||
if(chatpoint.Id == chatpointId)
|
||||
{
|
||||
return chatpoint;
|
||||
}
|
||||
}
|
||||
|
||||
throw new KeyNotFoundException("Npc chatpoint id: " + chatpointId + " not found!");
|
||||
}
|
||||
|
||||
public static int GetDefaultChatpoint(User user, NpcEntry npc)
|
||||
{
|
||||
if (Database.HasNpcStartpointSet(user.Id, npc.Id))
|
||||
return Database.GetNpcStartPoint(user.Id, npc.Id);
|
||||
else
|
||||
return 0;
|
||||
}
|
||||
|
||||
public static void SetDefaultChatpoint(User user, NpcEntry npc, int chatpointId)
|
||||
{
|
||||
if (Database.HasNpcStartpointSet(user.Id, npc.Id))
|
||||
Database.SetNpcStartPoint(user.Id, npc.Id, chatpointId);
|
||||
else
|
||||
Database.AddNpcStartPoint(user.Id, npc.Id, chatpointId);
|
||||
}
|
||||
|
||||
|
||||
public static bool NpcExists(int id)
|
||||
{
|
||||
try
|
||||
{
|
||||
GetNpcById(id);
|
||||
return true;
|
||||
}
|
||||
catch (KeyNotFoundException)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
public static NpcEntry GetNpcById(int id)
|
||||
{
|
||||
foreach(NpcEntry npc in NpcList)
|
||||
{
|
||||
if (npc.Id == id)
|
||||
return npc;
|
||||
}
|
||||
throw new KeyNotFoundException("Npc id: " + id + " not found!");
|
||||
}
|
||||
|
||||
public static NpcEntry[] GetNpcByXAndY(int x, int y)
|
||||
{
|
||||
List<NpcEntry> npcs = new List<NpcEntry>();
|
||||
|
||||
foreach(NpcEntry npc in NpcList)
|
||||
{
|
||||
if (npc.X == x && npc.Y == y)
|
||||
npcs.Add(npc);
|
||||
}
|
||||
return npcs.ToArray();
|
||||
}
|
||||
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue