Scripts/Instances: Add dungeon encounter data
Port From (https://github.com/TrinityCore/TrinityCore/commit/46e0056196dd6e56077aeeb67d41ec520046a79e)
This commit is contained in:
@@ -146,7 +146,7 @@ namespace Game.Maps
|
||||
}
|
||||
}
|
||||
|
||||
void LoadDungeonEncounterData(DungeonEncounterData[] encounters)
|
||||
public void LoadDungeonEncounterData(DungeonEncounterData[] encounters)
|
||||
{
|
||||
foreach (DungeonEncounterData encounter in encounters)
|
||||
LoadDungeonEncounterData(encounter.BossId, encounter.DungeonEncounterId);
|
||||
@@ -986,10 +986,16 @@ namespace Game.Maps
|
||||
bool _combatResurrectionTimerStarted;
|
||||
}
|
||||
|
||||
class DungeonEncounterData
|
||||
public class DungeonEncounterData
|
||||
{
|
||||
public uint BossId;
|
||||
public uint[] DungeonEncounterId = new uint[4];
|
||||
|
||||
public DungeonEncounterData(uint bossId, params uint[] dungeonEncounterIds)
|
||||
{
|
||||
BossId = bossId;
|
||||
DungeonEncounterId = dungeonEncounterIds;
|
||||
}
|
||||
}
|
||||
|
||||
public class DoorData
|
||||
|
||||
@@ -109,7 +109,6 @@ namespace Scripts.Argus.AntorusTheBurningThrone.GarothiWorldbreaker
|
||||
public const uint MaxTargetsSize = 6;
|
||||
|
||||
public const byte SummonGroupIdSurgingFel = 0;
|
||||
public const uint EncounterIdGarothiWorldbreaker = 2076;
|
||||
public const ushort AnimKitIdCannonDestroyed = 13264;
|
||||
public const uint DataLastFiredCannon = 0;
|
||||
|
||||
@@ -208,7 +207,6 @@ namespace Scripts.Argus.AntorusTheBurningThrone.GarothiWorldbreaker
|
||||
_JustDied();
|
||||
Talk(TextIds.SayDeath);
|
||||
CleanupEncounter();
|
||||
instance.SendBossKillCredit(MiscConst.EncounterIdGarothiWorldbreaker);
|
||||
instance.SendEncounterUnit(EncounterFrameType.Disengage, me);
|
||||
}
|
||||
|
||||
|
||||
@@ -79,7 +79,22 @@ namespace Scripts.Argus.AntorusTheBurningThrone
|
||||
new DoorData(GameObjectIds.Rock, DataTypes.GarothiWorldbreaker, DoorType.Passage)
|
||||
};
|
||||
|
||||
public instance_antorus_the_burning_throne() : base("instance_antorus_the_burning_throne", 757) { }
|
||||
static DungeonEncounterData[] encounters =
|
||||
{
|
||||
new DungeonEncounterData(DataTypes.GarothiWorldbreaker, 2076),
|
||||
new DungeonEncounterData(DataTypes.FelhoundsOfSageras, 2074),
|
||||
new DungeonEncounterData(DataTypes.AntoranHighCommand, 2070),
|
||||
new DungeonEncounterData(DataTypes.PortalKeeperHasabel, 2064),
|
||||
new DungeonEncounterData(DataTypes.EonarTheLifeBinder, 2075),
|
||||
new DungeonEncounterData(DataTypes.ImonarTheSoulhunter, 2082),
|
||||
new DungeonEncounterData(DataTypes.Kingaroth, 2088),
|
||||
new DungeonEncounterData(DataTypes.Varimathras, 2069),
|
||||
new DungeonEncounterData(DataTypes.TheCovenOfShivarra, 2073),
|
||||
new DungeonEncounterData(DataTypes.Aggramar, 2063),
|
||||
new DungeonEncounterData(DataTypes.ArgusTheUnmaker, 2092)
|
||||
};
|
||||
|
||||
public instance_antorus_the_burning_throne() : base("instance_antorus_the_burning_throne", 1712) { }
|
||||
|
||||
class instance_antorus_the_burning_throne_InstanceMapScript : InstanceScript
|
||||
{
|
||||
@@ -89,6 +104,7 @@ namespace Scripts.Argus.AntorusTheBurningThrone
|
||||
SetBossNumber(BossIds.EncounterCount);
|
||||
LoadObjectData(creatureData, null);
|
||||
LoadDoorData(doorData);
|
||||
LoadDungeonEncounterData(encounters);
|
||||
}
|
||||
|
||||
public override void OnCreatureCreate(Creature creature)
|
||||
|
||||
@@ -60,6 +60,13 @@ namespace Scripts.EasternKingdoms.BaradinHold
|
||||
new DoorData(GameObjectIds.AlizabalDoor, DataTypes.Alizabal, DoorType.Room),
|
||||
};
|
||||
|
||||
static DungeonEncounterData[] encounters =
|
||||
{
|
||||
new DungeonEncounterData(DataTypes.Argaloth, 1033),
|
||||
new DungeonEncounterData(DataTypes.Occuthar, 1250),
|
||||
new DungeonEncounterData(DataTypes.Alizabal, 1332)
|
||||
};
|
||||
|
||||
public instance_baradin_hold() : base(nameof(instance_baradin_hold), 757) { }
|
||||
|
||||
class instance_baradin_hold_InstanceMapScript : InstanceScript
|
||||
@@ -73,6 +80,7 @@ namespace Scripts.EasternKingdoms.BaradinHold
|
||||
SetHeaders("BH");
|
||||
SetBossNumber(3);
|
||||
LoadDoorData(doorData);
|
||||
LoadDungeonEncounterData(encounters);
|
||||
}
|
||||
|
||||
public override void OnCreatureCreate(Creature creature)
|
||||
|
||||
+10
@@ -49,6 +49,15 @@ namespace Scripts.EasternKingdoms.BlackrockMountain.BlackrockCaverns
|
||||
new ObjectData(CreatureIds.RazTheCrazed, DataTypes.RazTheCrazed)
|
||||
};
|
||||
|
||||
static DungeonEncounterData[] encounters =
|
||||
{
|
||||
new DungeonEncounterData(DataTypes.RomoggBonecrusher, 1040),
|
||||
new DungeonEncounterData(DataTypes.Corla, 1038),
|
||||
new DungeonEncounterData(DataTypes.KarshSteelbender, 1039),
|
||||
new DungeonEncounterData(DataTypes.Beauty, 1037),
|
||||
new DungeonEncounterData(DataTypes.AscendantLordObsidius, 1036)
|
||||
};
|
||||
|
||||
public instance_blackrock_caverns() : base(nameof(instance_blackrock_caverns), 645) { }
|
||||
|
||||
class instance_blackrock_caverns_InstanceMapScript : InstanceScript
|
||||
@@ -58,6 +67,7 @@ namespace Scripts.EasternKingdoms.BlackrockMountain.BlackrockCaverns
|
||||
SetHeaders("BRC");
|
||||
SetBossNumber(5);
|
||||
LoadObjectData(creatureData, null);
|
||||
LoadDungeonEncounterData(encounters);
|
||||
}
|
||||
|
||||
public override bool SetBossState(uint type, EncounterState state)
|
||||
|
||||
+1
-1
@@ -160,7 +160,7 @@ namespace Scripts.EasternKingdoms.BlackrockMountain.BlackrockSpire
|
||||
{
|
||||
public instance_blackrock_spireMapScript(InstanceMap map) : base(map)
|
||||
{
|
||||
SetHeaders("BRS");
|
||||
SetHeaders("BRSv1");
|
||||
SetBossNumber(BRSMiscConst.EncounterCount);
|
||||
LoadDoorData(BRSMiscConst.doorData);
|
||||
|
||||
|
||||
+13
-3
@@ -25,9 +25,6 @@ using Framework.Constants;
|
||||
|
||||
namespace Scripts.EasternKingdoms.BlackrockMountain.BlackwingLair
|
||||
{
|
||||
//uint const EncounterCount = 8;
|
||||
|
||||
|
||||
struct DataTypes
|
||||
{
|
||||
// Encounter States/Boss GUIDs
|
||||
@@ -141,6 +138,18 @@ namespace Scripts.EasternKingdoms.BlackrockMountain.BlackwingLair
|
||||
[Script]
|
||||
class instance_blackwing_lair : InstanceMapScript
|
||||
{
|
||||
static DungeonEncounterData[] encounters =
|
||||
{
|
||||
new DungeonEncounterData(DataTypes.RazorgoreTheUntamed, 610),
|
||||
new DungeonEncounterData(DataTypes.VaelastrazTheCorrupt, 611),
|
||||
new DungeonEncounterData(DataTypes.BroodlordLashlayer, 612),
|
||||
new DungeonEncounterData(DataTypes.Firemaw, 613),
|
||||
new DungeonEncounterData(DataTypes.Ebonroc, 614),
|
||||
new DungeonEncounterData(DataTypes.Flamegor, 615),
|
||||
new DungeonEncounterData(DataTypes.Chromaggus, 616),
|
||||
new DungeonEncounterData(DataTypes.Nefarian, 617)
|
||||
};
|
||||
|
||||
public instance_blackwing_lair() : base(nameof(instance_blackwing_lair), 469) { }
|
||||
|
||||
class instance_blackwing_lair_InstanceMapScript : InstanceScript
|
||||
@@ -156,6 +165,7 @@ namespace Scripts.EasternKingdoms.BlackrockMountain.BlackwingLair
|
||||
SetBossNumber(BWLMisc.EncounterCount);
|
||||
LoadDoorData(BWLMisc.doorData);
|
||||
LoadObjectData(BWLMisc.creatureData, BWLMisc.gameObjectData);
|
||||
LoadDungeonEncounterData(encounters);
|
||||
|
||||
// Razorgore
|
||||
EggCount = 0;
|
||||
|
||||
@@ -41,7 +41,7 @@ namespace Scripts.EasternKingdoms.BlackrockMountain.MoltenCore.BaronGeddon
|
||||
[Script]
|
||||
class boss_baron_geddon : BossAI
|
||||
{
|
||||
public boss_baron_geddon(Creature creature) : base(creature, BossIds.BaronGeddon) { }
|
||||
public boss_baron_geddon(Creature creature) : base(creature, DataTypes.BaronGeddon) { }
|
||||
|
||||
public override void JustEngagedWith(Unit victim)
|
||||
{
|
||||
|
||||
@@ -40,7 +40,7 @@ namespace Scripts.EasternKingdoms.BlackrockMountain.MoltenCore.Garr
|
||||
[Script]
|
||||
class boss_garr : BossAI
|
||||
{
|
||||
public boss_garr(Creature creature) : base(creature, BossIds.Garr) { }
|
||||
public boss_garr(Creature creature) : base(creature, DataTypes.Garr) { }
|
||||
|
||||
public override void JustEngagedWith(Unit victim)
|
||||
{
|
||||
|
||||
@@ -32,7 +32,7 @@ namespace Scripts.EasternKingdoms.BlackrockMountain.MoltenCore.Gehennas
|
||||
[Script]
|
||||
class boss_gehennas : BossAI
|
||||
{
|
||||
public boss_gehennas(Creature creature) : base(creature, BossIds.Gehennas) { }
|
||||
public boss_gehennas(Creature creature) : base(creature, DataTypes.Gehennas) { }
|
||||
|
||||
public override void JustEngagedWith(Unit victim)
|
||||
{
|
||||
|
||||
@@ -46,7 +46,7 @@ namespace Scripts.EasternKingdoms.BlackrockMountain.MoltenCore.Golemagg
|
||||
[Script]
|
||||
class boss_golemagg : BossAI
|
||||
{
|
||||
public boss_golemagg(Creature creature) : base(creature, BossIds.GolemaggTheIncinerator) { }
|
||||
public boss_golemagg(Creature creature) : base(creature, DataTypes.GolemaggTheIncinerator) { }
|
||||
|
||||
public override void Reset()
|
||||
{
|
||||
@@ -117,7 +117,7 @@ namespace Scripts.EasternKingdoms.BlackrockMountain.MoltenCore.Golemagg
|
||||
if (HealthAbovePct(50) || _instance == null)
|
||||
return;
|
||||
|
||||
Creature pGolemagg = ObjectAccessor.GetCreature(me, _instance.GetGuidData(BossIds.GolemaggTheIncinerator));
|
||||
Creature pGolemagg = ObjectAccessor.GetCreature(me, _instance.GetGuidData(DataTypes.GolemaggTheIncinerator));
|
||||
if (pGolemagg)
|
||||
{
|
||||
if (pGolemagg.IsAlive())
|
||||
|
||||
@@ -23,7 +23,7 @@ using System;
|
||||
|
||||
namespace Scripts.EasternKingdoms.BlackrockMountain.MoltenCore
|
||||
{
|
||||
struct BossIds
|
||||
struct DataTypes
|
||||
{
|
||||
public const uint Lucifron = 0;
|
||||
public const uint Magmadar = 1;
|
||||
@@ -91,6 +91,20 @@ namespace Scripts.EasternKingdoms.BlackrockMountain.MoltenCore
|
||||
[Script]
|
||||
class instance_molten_core : InstanceMapScript
|
||||
{
|
||||
static DungeonEncounterData[] encounters =
|
||||
{
|
||||
new DungeonEncounterData(DataTypes.Lucifron, 663),
|
||||
new DungeonEncounterData(DataTypes.Magmadar, 664),
|
||||
new DungeonEncounterData(DataTypes.Gehennas, 665),
|
||||
new DungeonEncounterData(DataTypes.Garr, 666),
|
||||
new DungeonEncounterData(DataTypes.Shazzrah, 667),
|
||||
new DungeonEncounterData(DataTypes.BaronGeddon, 668),
|
||||
new DungeonEncounterData(DataTypes.SulfuronHarbinger, 669),
|
||||
new DungeonEncounterData(DataTypes.GolemaggTheIncinerator, 670),
|
||||
new DungeonEncounterData(DataTypes.MajordomoExecutus, 671),
|
||||
new DungeonEncounterData(DataTypes.Ragnaros, 672)
|
||||
};
|
||||
|
||||
public instance_molten_core() : base(nameof(instance_molten_core), 409) { }
|
||||
|
||||
class instance_molten_core_InstanceMapScript : InstanceScript
|
||||
@@ -104,7 +118,8 @@ namespace Scripts.EasternKingdoms.BlackrockMountain.MoltenCore
|
||||
public instance_molten_core_InstanceMapScript(InstanceMap map) : base(map)
|
||||
{
|
||||
SetHeaders("MC");
|
||||
SetBossNumber(BossIds.MaxEncounter);
|
||||
SetBossNumber(DataTypes.MaxEncounter);
|
||||
LoadDungeonEncounterData(encounters);
|
||||
_executusSchedule = false;
|
||||
_ragnarosAddDeaths = 0;
|
||||
}
|
||||
@@ -168,9 +183,9 @@ namespace Scripts.EasternKingdoms.BlackrockMountain.MoltenCore
|
||||
{
|
||||
switch (type)
|
||||
{
|
||||
case BossIds.GolemaggTheIncinerator:
|
||||
case DataTypes.GolemaggTheIncinerator:
|
||||
return _golemaggTheIncineratorGUID;
|
||||
case BossIds.MajordomoExecutus:
|
||||
case DataTypes.MajordomoExecutus:
|
||||
return _majordomoExecutusGUID;
|
||||
}
|
||||
|
||||
@@ -182,11 +197,11 @@ namespace Scripts.EasternKingdoms.BlackrockMountain.MoltenCore
|
||||
if (!base.SetBossState(bossId, state))
|
||||
return false;
|
||||
|
||||
if (state == EncounterState.Done && bossId < BossIds.MajordomoExecutus)
|
||||
if (state == EncounterState.Done && bossId < DataTypes.MajordomoExecutus)
|
||||
if (CheckMajordomoExecutus())
|
||||
SummonMajordomoExecutus();
|
||||
|
||||
if (bossId == BossIds.MajordomoExecutus && state == EncounterState.Done)
|
||||
if (bossId == DataTypes.MajordomoExecutus && state == EncounterState.Done)
|
||||
DoRespawnGameObject(_cacheOfTheFirelordGUID, TimeSpan.FromDays(7));
|
||||
|
||||
return true;
|
||||
@@ -198,7 +213,7 @@ namespace Scripts.EasternKingdoms.BlackrockMountain.MoltenCore
|
||||
if (!_majordomoExecutusGUID.IsEmpty())
|
||||
return;
|
||||
|
||||
if (GetBossState(BossIds.MajordomoExecutus) != EncounterState.Done)
|
||||
if (GetBossState(DataTypes.MajordomoExecutus) != EncounterState.Done)
|
||||
{
|
||||
instance.SummonCreature(MCCreatureIds.MajordomoExecutus, MCMiscConst.SummonPositions[0]);
|
||||
instance.SummonCreature(MCCreatureIds.FlamewakerHealer, MCMiscConst.SummonPositions[1]);
|
||||
@@ -220,10 +235,10 @@ namespace Scripts.EasternKingdoms.BlackrockMountain.MoltenCore
|
||||
|
||||
bool CheckMajordomoExecutus()
|
||||
{
|
||||
if (GetBossState(BossIds.Ragnaros) == EncounterState.Done)
|
||||
if (GetBossState(DataTypes.Ragnaros) == EncounterState.Done)
|
||||
return false;
|
||||
|
||||
for (byte i = 0; i < BossIds.MajordomoExecutus; ++i)
|
||||
for (byte i = 0; i < DataTypes.MajordomoExecutus; ++i)
|
||||
if (GetBossState(i) != EncounterState.Done)
|
||||
return false;
|
||||
|
||||
|
||||
@@ -32,7 +32,7 @@ namespace Scripts.EasternKingdoms.BlackrockMountain.MoltenCore.Lucifron
|
||||
[Script]
|
||||
class boss_lucifron : BossAI
|
||||
{
|
||||
public boss_lucifron(Creature creature) : base(creature, BossIds.Lucifron) { }
|
||||
public boss_lucifron(Creature creature) : base(creature, DataTypes.Lucifron) { }
|
||||
|
||||
public override void JustEngagedWith(Unit victim)
|
||||
{
|
||||
|
||||
@@ -39,7 +39,7 @@ namespace Scripts.EasternKingdoms.BlackrockMountain.MoltenCore.Magmadar
|
||||
[Script]
|
||||
class boss_magmadar : BossAI
|
||||
{
|
||||
public boss_magmadar(Creature creature) : base(creature, BossIds.Magmadar) { }
|
||||
public boss_magmadar(Creature creature) : base(creature, DataTypes.Magmadar) { }
|
||||
|
||||
public override void Reset()
|
||||
{
|
||||
|
||||
@@ -52,7 +52,7 @@ namespace Scripts.EasternKingdoms.BlackrockMountain.MoltenCore.Majordomo
|
||||
[Script]
|
||||
class boss_majordomo : BossAI
|
||||
{
|
||||
public boss_majordomo(Creature creature) : base(creature, BossIds.MajordomoExecutus) { }
|
||||
public boss_majordomo(Creature creature) : base(creature, DataTypes.MajordomoExecutus) { }
|
||||
|
||||
public override void KilledUnit(Unit victim)
|
||||
{
|
||||
@@ -93,7 +93,7 @@ namespace Scripts.EasternKingdoms.BlackrockMountain.MoltenCore.Majordomo
|
||||
{
|
||||
_scheduler.Update(diff);
|
||||
|
||||
if (instance.GetBossState(BossIds.MajordomoExecutus) != EncounterState.Done)
|
||||
if (instance.GetBossState(DataTypes.MajordomoExecutus) != EncounterState.Done)
|
||||
{
|
||||
if (!UpdateVictim())
|
||||
return;
|
||||
|
||||
@@ -79,7 +79,7 @@ namespace Scripts.EasternKingdoms.BlackrockMountain.MoltenCore
|
||||
bool _hasSubmergedOnce;
|
||||
bool _isBanished;
|
||||
|
||||
public boss_ragnaros(Creature creature) : base(creature, BossIds.Ragnaros)
|
||||
public boss_ragnaros(Creature creature) : base(creature, DataTypes.Ragnaros)
|
||||
{
|
||||
Initialize();
|
||||
_introState = 0;
|
||||
@@ -153,7 +153,7 @@ namespace Scripts.EasternKingdoms.BlackrockMountain.MoltenCore
|
||||
break;
|
||||
case EventIds.Intro4:
|
||||
Talk(TextIds.SayArrival5Rag);
|
||||
Creature executus = ObjectAccessor.GetCreature(me, instance.GetGuidData(BossIds.MajordomoExecutus));
|
||||
Creature executus = ObjectAccessor.GetCreature(me, instance.GetGuidData(DataTypes.MajordomoExecutus));
|
||||
if (executus)
|
||||
Unit.Kill(me, executus);
|
||||
break;
|
||||
|
||||
@@ -48,7 +48,7 @@ namespace Scripts.EasternKingdoms.BlackrockMountain.MoltenCore.Shazzrah
|
||||
[Script]
|
||||
class boss_shazzrah : BossAI
|
||||
{
|
||||
public boss_shazzrah(Creature creature) : base(creature, BossIds.Shazzrah) { }
|
||||
public boss_shazzrah(Creature creature) : base(creature, DataTypes.Shazzrah) { }
|
||||
|
||||
public override void JustEngagedWith(Unit target)
|
||||
{
|
||||
|
||||
@@ -41,7 +41,7 @@ namespace Scripts.EasternKingdoms.BlackrockMountain.MoltenCore.Sulfuron
|
||||
[Script]
|
||||
class boss_sulfuron : BossAI
|
||||
{
|
||||
public boss_sulfuron(Creature creature) : base(creature, BossIds.SulfuronHarbinger) { }
|
||||
public boss_sulfuron(Creature creature) : base(creature, DataTypes.SulfuronHarbinger) { }
|
||||
|
||||
public override void JustEngagedWith(Unit victim)
|
||||
{
|
||||
|
||||
@@ -113,6 +113,21 @@ namespace Scripts.EasternKingdoms.Karazhan
|
||||
new Position(-10899.903320f, -2085.573730f, 49.474449f, 1.38f) // Rokad the Ravager
|
||||
};
|
||||
|
||||
static DungeonEncounterData[] encounters =
|
||||
{
|
||||
new DungeonEncounterData(DataTypes.Attumen, 652),
|
||||
new DungeonEncounterData(DataTypes.Moroes, 653),
|
||||
new DungeonEncounterData(DataTypes.MaidenOfVirtue, 654),
|
||||
new DungeonEncounterData(DataTypes.OperaPerformance, 655),
|
||||
new DungeonEncounterData(DataTypes.Curator, 656),
|
||||
new DungeonEncounterData(DataTypes.Aran, 658),
|
||||
new DungeonEncounterData(DataTypes.Terestian, 657),
|
||||
new DungeonEncounterData(DataTypes.Netherspite, 659),
|
||||
new DungeonEncounterData(DataTypes.Chess, 660),
|
||||
new DungeonEncounterData(DataTypes.Malchezzar, 661),
|
||||
new DungeonEncounterData(DataTypes.Nightbane, 662)
|
||||
};
|
||||
|
||||
public instance_karazhan() : base(nameof(instance_karazhan), 532) { }
|
||||
|
||||
class instance_karazhan_InstanceMapScript : InstanceScript
|
||||
@@ -142,6 +157,7 @@ namespace Scripts.EasternKingdoms.Karazhan
|
||||
{
|
||||
SetHeaders("KZ");
|
||||
SetBossNumber(12);
|
||||
LoadDungeonEncounterData(encounters);
|
||||
|
||||
// 1 - Oz, 2 - Hood, 3 - Raj, this never gets altered.
|
||||
OperaEvent = RandomHelper.URand(1, 3);
|
||||
|
||||
@@ -119,6 +119,14 @@ namespace Scripts.EasternKingdoms.MagistersTerrace
|
||||
[Script]
|
||||
class instance_magisters_terrace : InstanceMapScript
|
||||
{
|
||||
static DungeonEncounterData[] encounters =
|
||||
{
|
||||
new DungeonEncounterData(DataTypes.SelinFireheart, 1897),
|
||||
new DungeonEncounterData(DataTypes.Vexallus, 1898),
|
||||
new DungeonEncounterData(DataTypes.PriestessDelrissa, 1895),
|
||||
new DungeonEncounterData(DataTypes.KaelthasSunstrider, 1894)
|
||||
};
|
||||
|
||||
public instance_magisters_terrace() : base(nameof(instance_magisters_terrace), 585) { }
|
||||
|
||||
class instance_magisters_terrace_InstanceMapScript : InstanceScript
|
||||
@@ -132,6 +140,7 @@ namespace Scripts.EasternKingdoms.MagistersTerrace
|
||||
SetBossNumber(4);
|
||||
LoadObjectData(MiscConst.creatureData, MiscConst.gameObjectData);
|
||||
LoadDoorData(MiscConst.doorData);
|
||||
LoadDungeonEncounterData(encounters);
|
||||
}
|
||||
|
||||
public override uint GetData(uint type)
|
||||
|
||||
Reference in New Issue
Block a user