initial commit
This commit is contained in:
@@ -0,0 +1,184 @@
|
||||
/*
|
||||
* Copyright (C) 2012-2017 CypherCore <http://github.com/CypherCore>
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
namespace Framework.Constants
|
||||
{
|
||||
public class MapConst
|
||||
{
|
||||
//Grids
|
||||
public const int MaxGrids = 64;
|
||||
public const float SizeofGrids = 533.33333f;
|
||||
public const float CenterGridCellId = (MaxCells * MaxGrids / 2);
|
||||
public const float CenterGridId = (MaxGrids / 2);
|
||||
public const float CenterGridOffset = (SizeofGrids / 2);
|
||||
public const float CenterGridCellOffset = (SizeofCells / 2);
|
||||
|
||||
//Cells
|
||||
public const int MaxCells = 8;
|
||||
public const float SizeofCells = (SizeofGrids / MaxCells);
|
||||
public const int TotalCellsPerMap = (MaxGrids * MaxCells);
|
||||
public const float MapSize = (SizeofGrids * MaxGrids);
|
||||
public const float MapHalfSize = (MapSize / 2);
|
||||
|
||||
public const uint MaxGroupSize = 5;
|
||||
public const uint MaxRaidSize = 40;
|
||||
public const uint MaxRaidSubGroups = MaxRaidSize / MaxGroupSize;
|
||||
public const uint TargetIconsCount = 8;
|
||||
public const uint RaidMarkersCount = 8;
|
||||
public const uint ReadycheckDuration = 35000;
|
||||
|
||||
//Liquid
|
||||
public const int MapLiquidTypeNoWater = 0x00;
|
||||
public const int MapLiquidTypeWater = 0x01;
|
||||
public const int MapLiquidTypeOcean = 0x02;
|
||||
public const int MapLiquidTypeMagma = 0x04;
|
||||
public const int MapLiquidTypeSlime = 0x08;
|
||||
public const int MapLiquidTypeDarkWater = 0x10;
|
||||
public const int MapLiquidTypeWMOWater = 0x20;
|
||||
public const int MapAllLiquidTypes = (MapLiquidTypeWater | MapLiquidTypeOcean | MapLiquidTypeMagma | MapLiquidTypeSlime);
|
||||
public const float LiquidTileSize = (533.333f / 128.0f);
|
||||
|
||||
public const int MinMapUpdateDelay = 50;
|
||||
public const int MinGridDelay = (Time.Minute * Time.InMilliseconds);
|
||||
|
||||
public const int MapResolution = 128;
|
||||
public const float DefaultHeightSearch = 50.0f;
|
||||
public const float InvalidHeight = -100000.0f;
|
||||
public const float MaxHeight = 100000.0f;
|
||||
public const float MaxFallDistance = 250000.0f;
|
||||
|
||||
public const string MapMagic = "MAPS";
|
||||
public const string MapVersionMagic = "v1.8";
|
||||
public const string MapAreaMagic = "AREA";
|
||||
public const string MapHeightMagic = "MHGT";
|
||||
public const string MapLiquidMagic = "MLIQ";
|
||||
|
||||
public const string mmapMagic = "MMAP";
|
||||
public const int mmapVersion = 8;
|
||||
|
||||
public const string VMapMagic = "VMAP_4.5";
|
||||
public const float VMAPInvalidHeightValue = -200000.0f;
|
||||
}
|
||||
|
||||
public enum NewWorldReason
|
||||
{
|
||||
Normal = 16, // Normal map change
|
||||
Seamless = 21, // Teleport to another map without a loading screen, used for outdoor scenarios
|
||||
}
|
||||
|
||||
public enum InstanceResetWarningType
|
||||
{
|
||||
WarningHours = 1, // WARNING! %s is scheduled to reset in %d hour(s).
|
||||
WarningMin = 2, // WARNING! %s is scheduled to reset in %d minute(s)!
|
||||
WarningMinSoon = 3, // WARNING! %s is scheduled to reset in %d minute(s). Please exit the zone or you will be returned to your bind location!
|
||||
Welcome = 4, // Welcome to %s. This raid instance is scheduled to reset in %s.
|
||||
Expired = 5
|
||||
}
|
||||
|
||||
public enum InstanceResetMethod
|
||||
{
|
||||
All,
|
||||
ChangeDifficulty,
|
||||
Global,
|
||||
GroupDisband,
|
||||
GroupJoin,
|
||||
RespawnDelay
|
||||
}
|
||||
|
||||
public enum GridMapTypeMask
|
||||
{
|
||||
None = 0x00,
|
||||
Corpse = 0x01,
|
||||
Creature = 0x02,
|
||||
DynamicObject = 0x04,
|
||||
GameObject = 0x08,
|
||||
Player = 0x10,
|
||||
AreaTrigger = 0x20,
|
||||
Conversation = 0x40,
|
||||
All = 0x7F,
|
||||
|
||||
//GameObjects, Creatures(except pets), DynamicObject, Corpse(Bones), AreaTrigger
|
||||
AllGrid = GameObject | Creature | DynamicObject | Corpse | AreaTrigger | Conversation,
|
||||
|
||||
//Player, Pets, Corpse(resurrectable), DynamicObject(farsight)
|
||||
AllWorld = Player | Creature | Corpse | DynamicObject
|
||||
}
|
||||
|
||||
public enum ZLiquidStatus
|
||||
{
|
||||
NoWater = 0x00,
|
||||
AboveWater = 0x01,
|
||||
WaterWalk = 0x02,
|
||||
InWater = 0x04,
|
||||
UnderWater = 0x08
|
||||
}
|
||||
|
||||
public enum EncounterFrameType
|
||||
{
|
||||
SetCombatResLimit = 0,
|
||||
ResetCombatResLimit = 1,
|
||||
Engage = 2,
|
||||
Disengage = 3,
|
||||
UpdatePriority = 4,
|
||||
AddTimer = 5,
|
||||
EnableObjective = 6,
|
||||
UpdateObjective = 7,
|
||||
DisableObjective = 8,
|
||||
Unk7 = 9, // Seems To Have Something To Do With Sorting The Encounter Units
|
||||
AddCombatResLimit = 10
|
||||
}
|
||||
|
||||
public enum EncounterState
|
||||
{
|
||||
NotStarted = 0,
|
||||
InProgress = 1,
|
||||
Fail = 2,
|
||||
Done = 3,
|
||||
Special = 4,
|
||||
ToBeDecided = 5
|
||||
}
|
||||
|
||||
public enum EncounterCreditType
|
||||
{
|
||||
KillCreature = 0,
|
||||
CastSpell = 1
|
||||
}
|
||||
|
||||
public enum DoorType
|
||||
{
|
||||
Room = 0, // Door can open if encounter is not in progress
|
||||
Passage = 1, // Door can open if encounter is done
|
||||
SpawnHole = 2, // Door can open if encounter is in progress, typically used for spawning places
|
||||
Max
|
||||
}
|
||||
|
||||
public enum EnterState
|
||||
{
|
||||
CanEnter = 0,
|
||||
CannotEnterAlreadyInMap = 1, // Player Is Already In The Map
|
||||
CannotEnterNoEntry, // No Map Entry Was Found For The Target Map Id
|
||||
CannotEnterUninstancedDungeon, // No Instance Template Was Found For Dungeon Map
|
||||
CannotEnterDifficultyUnavailable, // Requested Instance Difficulty Is Not Available For Target Map
|
||||
CannotEnterNotInRaid, // Target Instance Is A Raid Instance And The Player Is Not In A Raid Group
|
||||
CannotEnterCorpseInDifferentInstance, // Player Is Dead And Their Corpse Is Not In Target Instance
|
||||
CannotEnterInstanceBindMismatch, // Player'S Permanent Instance Save Is Not Compatible With Their Group'S Current Instance Bind
|
||||
CannotEnterTooManyInstances, // Player Has Entered Too Many Instances Recently
|
||||
CannotEnterMaxPlayers, // Target Map Already Has The Maximum Number Of Players Allowed
|
||||
CannotEnterZoneInCombat, // A Boss Encounter Is Currently In Progress On The Target Map
|
||||
CannotEnterUnspecifiedReason
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user