mirror of
				https://bitbucket.org/Ioncannon/project-meteor-server.git
				synced 2025-05-20 08:26:59 -04:00 
			
		
		
		
	added helpers for DoW/DoM/DoH/DoH
- fixed allies not being able to aggro on roam - fixed static characters aggroing
This commit is contained in:
		| @@ -593,8 +593,15 @@ namespace FFXIVClassic_Map_Server | |||||||
|  |  | ||||||
|                             // todo: add to private areas, set up immunity, mob linking, |                             // todo: add to private areas, set up immunity, mob linking, | ||||||
|                             // - load skill/spell/drop lists, set detection icon, load pool/family/group mods |                             // - load skill/spell/drop lists, set detection icon, load pool/family/group mods | ||||||
|  |                             var allegiance = (CharacterTargetingAllegiance)reader.GetByte("allegiance"); | ||||||
|  |                             BattleNpc battleNpc = null; | ||||||
|  |  | ||||||
|                             var battleNpc = new BattleNpc(actorId, Server.GetWorldManager().GetActorClass(reader.GetUInt32("actorClassId")), |                             if (allegiance == CharacterTargetingAllegiance.Player) | ||||||
|  |                                 battleNpc = new Ally(actorId, Server.GetWorldManager().GetActorClass(reader.GetUInt32("actorClassId")), | ||||||
|  |                                 reader.GetString("scriptName"), area, reader.GetFloat("positionX"), reader.GetFloat("positionY"), reader.GetFloat("positionZ"), reader.GetFloat("rotation"), | ||||||
|  |                                 reader.GetUInt16("actorState"), reader.GetUInt32("animationId"), ""); | ||||||
|  |                             else | ||||||
|  |                                 battleNpc = new BattleNpc(actorId, Server.GetWorldManager().GetActorClass(reader.GetUInt32("actorClassId")), | ||||||
|                                 reader.GetString("scriptName"), area, reader.GetFloat("positionX"), reader.GetFloat("positionY"), reader.GetFloat("positionZ"), reader.GetFloat("rotation"), |                                 reader.GetString("scriptName"), area, reader.GetFloat("positionX"), reader.GetFloat("positionY"), reader.GetFloat("positionZ"), reader.GetFloat("rotation"), | ||||||
|                                 reader.GetUInt16("actorState"), reader.GetUInt32("animationId"), ""); |                                 reader.GetUInt16("actorState"), reader.GetUInt32("animationId"), ""); | ||||||
|                              |                              | ||||||
|   | |||||||
| @@ -472,7 +472,7 @@ namespace FFXIVClassic_Map_Server.Actors | |||||||
|             } |             } | ||||||
|         } |         } | ||||||
|  |  | ||||||
|         public Npc SpawnActor(uint classId, string uniqueId, float x, float y, float z, float rot = 0, ushort state = 0, uint animId = 0, bool isMob = true) |         public Npc SpawnActor(uint classId, string uniqueId, float x, float y, float z, float rot = 0, ushort state = 0, uint animId = 0, bool isMob = false) | ||||||
|         { |         { | ||||||
|             lock (mActorList) |             lock (mActorList) | ||||||
|             { |             { | ||||||
|   | |||||||
| @@ -168,15 +168,14 @@ namespace FFXIVClassic_Map_Server.actors.area | |||||||
|         public override void Update(DateTime tick) |         public override void Update(DateTime tick) | ||||||
|         { |         { | ||||||
|             base.Update(tick); |             base.Update(tick); | ||||||
|  |  | ||||||
|             foreach (var a in privateAreas.Values) |             foreach (var a in privateAreas.Values) | ||||||
|                 foreach(var b in a.Values) |                 foreach(var b in a.Values) | ||||||
|                     b.Update(tick); |                     b.Update(tick); | ||||||
|  |  | ||||||
|             foreach (var a in contentAreas.Values) |             foreach (var a in contentAreas.Values) | ||||||
|                 foreach (var b in a) |                 foreach (var b in a) | ||||||
|                 { |  | ||||||
|                     b.Update(tick); |                     b.Update(tick); | ||||||
|                 } |  | ||||||
|  |  | ||||||
|             // todo: again, this is retarded but debug stuff |             // todo: again, this is retarded but debug stuff | ||||||
|             var diffTime = tick - lastUpdate; |             var diffTime = tick - lastUpdate; | ||||||
|   | |||||||
| @@ -45,6 +45,19 @@ namespace FFXIVClassic_Map_Server.Actors | |||||||
|         public const int CLASSID_THM = 22; |         public const int CLASSID_THM = 22; | ||||||
|         public const int CLASSID_CNJ = 23; |         public const int CLASSID_CNJ = 23; | ||||||
|  |  | ||||||
|  |         public const int CLASSID_CRP = 29; | ||||||
|  |         public const int CLASSID_BSM = 30; | ||||||
|  |         public const int CLASSID_ARM = 31; | ||||||
|  |         public const int CLASSID_GSM = 32; | ||||||
|  |         public const int CLASSID_LTW = 33; | ||||||
|  |         public const int CLASSID_WVR = 34; | ||||||
|  |         public const int CLASSID_ALC = 35; | ||||||
|  |         public const int CLASSID_CUL = 36; | ||||||
|  |  | ||||||
|  |         public const int CLASSID_MIN = 39; | ||||||
|  |         public const int CLASSID_BTN = 40; | ||||||
|  |         public const int CLASSID_FSH = 41; | ||||||
|  |  | ||||||
|         public const int SIZE = 0; |         public const int SIZE = 0; | ||||||
|         public const int COLORINFO = 1; |         public const int COLORINFO = 1; | ||||||
|         public const int FACEINFO = 2; |         public const int FACEINFO = 2; | ||||||
| @@ -347,7 +360,7 @@ namespace FFXIVClassic_Map_Server.Actors | |||||||
|  |  | ||||||
|         public virtual bool IsValidTarget(Character target, ValidTarget validTarget) |         public virtual bool IsValidTarget(Character target, ValidTarget validTarget) | ||||||
|         { |         { | ||||||
|             return true; |             return !target.isStatic; | ||||||
|         } |         } | ||||||
|  |  | ||||||
|         public virtual bool CanAttack() |         public virtual bool CanAttack() | ||||||
| @@ -753,6 +766,26 @@ namespace FFXIVClassic_Map_Server.Actors | |||||||
|         { |         { | ||||||
|             return this is Ally; |             return this is Ally; | ||||||
|         } |         } | ||||||
|  |  | ||||||
|  |         public bool IsDiscipleOfWar() | ||||||
|  |         { | ||||||
|  |             return currentJob < CLASSID_THM; | ||||||
|  |         } | ||||||
|  |  | ||||||
|  |         public bool IsDiscipleOfMagic() | ||||||
|  |         { | ||||||
|  |             return currentJob >= CLASSID_THM && currentJob < CLASSID_CRP; | ||||||
|  |         } | ||||||
|  |  | ||||||
|  |         public bool IsDiscipleOfHand() | ||||||
|  |         { | ||||||
|  |             return currentJob >= CLASSID_CRP && currentJob < CLASSID_MIN; | ||||||
|  |         } | ||||||
|  |  | ||||||
|  |         public bool IsDiscipleOfLand() | ||||||
|  |         { | ||||||
|  |             return currentJob >= CLASSID_MIN; | ||||||
|  |         } | ||||||
|         #endregion lua helpers |         #endregion lua helpers | ||||||
|         #endregion ai stuff |         #endregion ai stuff | ||||||
|     } |     } | ||||||
|   | |||||||
| @@ -34,5 +34,20 @@ namespace FFXIVClassic_Map_Server.actors.chara.ai.controllers | |||||||
|             } |             } | ||||||
|             base.DoCombatTick(tick, contentGroupCharas); |             base.DoCombatTick(tick, contentGroupCharas); | ||||||
|         } |         } | ||||||
|  |         protected override void DoRoamTick(DateTime tick, List<Character> contentGroupCharas = null) | ||||||
|  |         { | ||||||
|  |             if (owner.currentContentGroup != null) | ||||||
|  |             { | ||||||
|  |                 contentGroupCharas = new List<Character>(owner.currentContentGroup.GetMemberCount()); | ||||||
|  |                 foreach (var charaId in owner.currentContentGroup.GetMembers()) | ||||||
|  |                 { | ||||||
|  |                     var chara = owner.zone.FindActorInArea<Character>(charaId); | ||||||
|  |  | ||||||
|  |                     if (chara != null) | ||||||
|  |                         contentGroupCharas.Add(chara); | ||||||
|  |                 } | ||||||
|  |             } | ||||||
|  |             base.DoRoamTick(tick, contentGroupCharas); | ||||||
|  |         } | ||||||
|     } |     } | ||||||
| } | } | ||||||
|   | |||||||
| @@ -127,7 +127,7 @@ namespace FFXIVClassic_Map_Server.actors.chara.ai.controllers | |||||||
|             // todo: |             // todo: | ||||||
|         } |         } | ||||||
|  |  | ||||||
|         protected virtual void DoRoamTick(DateTime tick) |         protected virtual void DoRoamTick(DateTime tick, List<Character> contentGroupCharas = null) | ||||||
|         { |         { | ||||||
|             if (owner.hateContainer.GetHateList().Count > 0) |             if (owner.hateContainer.GetHateList().Count > 0) | ||||||
|             { |             { | ||||||
| @@ -159,6 +159,7 @@ namespace FFXIVClassic_Map_Server.actors.chara.ai.controllers | |||||||
|                     owner.aiContainer.pathFind.SetPathFlags(PathFindFlags.None); |                     owner.aiContainer.pathFind.SetPathFlags(PathFindFlags.None); | ||||||
|                     owner.aiContainer.pathFind.PathInRange(owner.spawnX, owner.spawnY, owner.spawnZ, 1.5f, 50.0f); |                     owner.aiContainer.pathFind.PathInRange(owner.spawnX, owner.spawnY, owner.spawnZ, 1.5f, 50.0f); | ||||||
|                 } |                 } | ||||||
|  |                 lua.LuaEngine.CallLuaBattleFunction(owner, "onRoam", owner, contentGroupCharas); | ||||||
|             } |             } | ||||||
|  |  | ||||||
|  |  | ||||||
|   | |||||||
| @@ -18,6 +18,8 @@ namespace FFXIVClassic_Map_Server.actors.chara.npc | |||||||
|         { |         { | ||||||
|             aiContainer = new AIContainer(this, new AllyController(this), new PathFind(this), new TargetFind(this)); |             aiContainer = new AIContainer(this, new AllyController(this), new PathFind(this), new TargetFind(this)); | ||||||
|             this.allegiance = CharacterTargetingAllegiance.Player; |             this.allegiance = CharacterTargetingAllegiance.Player; | ||||||
|  |             this.isAutoAttackEnabled = true; | ||||||
|  |             this.isMovingToSpawn = false; | ||||||
|         } |         } | ||||||
|     } |     } | ||||||
| } | } | ||||||
|   | |||||||
| @@ -365,7 +365,6 @@ namespace FFXIVClassic_Map_Server.Actors | |||||||
|                 { |                 { | ||||||
|                     this.isMovingToSpawn = false; |                     this.isMovingToSpawn = false; | ||||||
|                 } |                 } | ||||||
|                 lua.LuaEngine.CallLuaBattleFunction(this, "onRoam", this); |  | ||||||
|             } |             } | ||||||
|         } |         } | ||||||
|  |  | ||||||
|   | |||||||
| @@ -31,19 +31,6 @@ namespace FFXIVClassic_Map_Server.Actors | |||||||
| { | { | ||||||
|     class Player : Character |     class Player : Character | ||||||
|     { |     { | ||||||
|         public const int CLASSID_CRP = 29; |  | ||||||
|         public const int CLASSID_BSM = 30; |  | ||||||
|         public const int CLASSID_ARM = 31; |  | ||||||
|         public const int CLASSID_GSM = 32; |  | ||||||
|         public const int CLASSID_LTW = 33; |  | ||||||
|         public const int CLASSID_WVR = 34; |  | ||||||
|         public const int CLASSID_ALC = 35; |  | ||||||
|         public const int CLASSID_CUL = 36; |  | ||||||
|  |  | ||||||
|         public const int CLASSID_MIN = 39; |  | ||||||
|         public const int CLASSID_BTN = 40; |  | ||||||
|         public const int CLASSID_FSH = 41; |  | ||||||
|  |  | ||||||
|         public const int MAXSIZE_INVENTORY_NORMAL = 200; |         public const int MAXSIZE_INVENTORY_NORMAL = 200; | ||||||
|         public const int MAXSIZE_INVENTORY_CURRANCY = 320; |         public const int MAXSIZE_INVENTORY_CURRANCY = 320; | ||||||
|         public const int MAXSIZE_INVENTORY_KEYITEMS = 500; |         public const int MAXSIZE_INVENTORY_KEYITEMS = 500; | ||||||
|   | |||||||
| @@ -11,78 +11,54 @@ function init() | |||||||
| end | end | ||||||
|  |  | ||||||
| function onCreateContentArea(players, director, contentArea, contentGroup) | function onCreateContentArea(players, director, contentArea, contentGroup) | ||||||
|  |  | ||||||
|     local worldManager = GetWorldManager(); |  | ||||||
|     --[[ |  | ||||||
|     --yda = GetWorldManager().SpawnBattleNpcById(6, contentArea); |  | ||||||
|     --papalymo = GetWorldManager().SpawnBattleNpcById(7, contentArea); |  | ||||||
|     --yda:ChangeState(2); |  | ||||||
|     mob1 = GetWorldManager().SpawnBattleNpcById(3, contentArea); |  | ||||||
|     mob2 = GetWorldManager().SpawnBattleNpcById(4, contentArea); |  | ||||||
|     mob3 = GetWorldManager().SpawnBattleNpcById(5, contentArea); |  | ||||||
|  |  | ||||||
|     --papalymo = contentArea:SpawnActor(2290005, "papalymo", 365.89, 4.0943, -706.72, -0.718); |  | ||||||
| 	--yda = contentArea:SpawnActor(2290006, "yda", 365.266, 4.122, -700.73, 1.5659);	 |  | ||||||
| 	--yda:ChangeState(2); |  | ||||||
| 	 |  | ||||||
| 	--mob1 = contentArea:SpawnActor(2201407, "mob1", 374.427, 4.4, -698.711, -1.942); |  | ||||||
| 	--mob2 = contentArea:SpawnActor(2201407, "mob2", 375.377, 4.4, -700.247, -1.992); |  | ||||||
| 	--mob3 = contentArea:SpawnActor(2201407, "mob3", 375.125, 4.4, -703.591, -1.54); |  | ||||||
| 	 |  | ||||||
| 	openingStoper = contentArea:SpawnActor(1090384, "openingstoper", 356.09, 3.74, -701.62, -1.41); |  | ||||||
| 	 |  | ||||||
|      |  | ||||||
|     local added = false; |  | ||||||
|     for player in players do |  | ||||||
|         if player.currentParty and not added then |  | ||||||
|             player.currentParty.members:Add(yda.actorId); |  | ||||||
|             print("cunt"); |  | ||||||
|             player.currentParty.members:Add(papalymo.actorId); |  | ||||||
|             print("dickbag"); |  | ||||||
|             added = true; |  | ||||||
|         end; |  | ||||||
|         -- dont let player die |  | ||||||
|         print("shittttt3"); |  | ||||||
|         player:SetMod(modifiersGlobal.MinimumHpLock, 1); |  | ||||||
|         print("shittttt2"); |  | ||||||
|         director:AddMember(player) |  | ||||||
|         print("shittttt1"); |  | ||||||
|     end; |  | ||||||
|     print("shit") |  | ||||||
|     director:AddMember(director); |  | ||||||
|     director:AddMember(yda); |  | ||||||
|     director:AddMember(papalymo); |  | ||||||
|     director:AddMember(mob1); |  | ||||||
|     director:AddMember(mob2); |  | ||||||
|     print("shit6") |  | ||||||
|     director:AddMember(mob3); |  | ||||||
|     print("dicks") |  | ||||||
| ]] |  | ||||||
| 	director:StartContentGroup(); | 	director:StartContentGroup(); | ||||||
| end | end | ||||||
|  |  | ||||||
| function onEventStarted(player, actor, triggerName) | function onEventStarted(player, actor, triggerName) | ||||||
|  |  | ||||||
| 	man0g0Quest = player:GetQuest("Man0g0"); | 	man0g0Quest = player:GetQuest("Man0g0"); | ||||||
| 	startTutorialMode(player); | 	startTutorialMode(player); | ||||||
| 	callClientFunction(player, "delegateEvent", player, man0g0Quest, "processTtrBtl001", nil, nil, nil); | 	callClientFunction(player, "delegateEvent", player, man0g0Quest, "processTtrBtl001", nil, nil, nil); | ||||||
| 	player:EndEvent(); | 	player:EndEvent(); | ||||||
| 	waitForSignal("playerActive"); | 	waitForSignal("playerActive"); | ||||||
| 	wait(2); --If this isn't here, the scripts bugs out. TODO: Find a better alternative. | 	wait(1); --If this isn't here, the scripts bugs out. TODO: Find a better alternative. | ||||||
| 	kickEventContinue(player, actor, "noticeEvent", "noticeEvent");	 | 	kickEventContinue(player, actor, "noticeEvent", "noticeEvent");	 | ||||||
| 	callClientFunction(player, "delegateEvent", player, man0g0Quest, "processTtrBtl002", nil, nil, nil); | 	callClientFunction(player, "delegateEvent", player, man0g0Quest, "processTtrBtl002", nil, nil, nil); | ||||||
| 	player:EndEvent(); | 	player:EndEvent(); | ||||||
|      | 	waitForSignal("playerAttack"); | ||||||
| 	closeTutorialWidget(player); | 	closeTutorialWidget(player); | ||||||
|  | 	showTutorialSuccessWidget(player, 9055); --Open TutorialSuccessWidget for attacking enemy | ||||||
| 	wait(3); | 	wait(3); | ||||||
|      |  | ||||||
|     man0g0Quest:NextPhase(5); |  | ||||||
| 	openTutorialWidget(player, CONTROLLER_KEYBOARD, TUTORIAL_TP); | 	openTutorialWidget(player, CONTROLLER_KEYBOARD, TUTORIAL_TP); | ||||||
|     wait(5); | 	waitForSignal("tpOver1000"); | ||||||
| 	 |  | ||||||
|     man0g0Quest:NextPhase(6); |  | ||||||
| 	closeTutorialWidget(player); | 	closeTutorialWidget(player); | ||||||
| 	print("ass") | 	openTutorialWidget(player, CONTROLLER_KEYBOARD, TUTORIAL_WEAPONSKILLS); | ||||||
|  |  | ||||||
|  | 	if player:IsDiscipleOfWar() then | ||||||
|  | 		waitForSignal("weaponskillUsed"); --Should be wait for weaponskillUsed signal | ||||||
|  | 	elseif player:IsDiscipleOfMagic() then | ||||||
|  | 		waitForSignal("spellUsed") | ||||||
|  | 	elseif player:IsDiscipleOfHand() then | ||||||
|  | 		waitForSignal("abilityUsed") | ||||||
|  | 	elseif player:IsDiscipleOfLand() then | ||||||
|  | 		waitForSignal("abilityUsed") | ||||||
|  | 	end | ||||||
|  | 	closeTutorialWidget(player); | ||||||
|  | 	showTutorialSuccessWidget(player, 9065); --Open TutorialSuccessWidget for weapon skill | ||||||
|  | 	 | ||||||
|  | 	waitForSignal("mobkill"); --Should be wait for mobkill | ||||||
|  | 	waitForSignal("mobkill"); | ||||||
|  | 	waitForSignal("mobkill"); | ||||||
|  | 	worldMaster = GetWorldMaster(); | ||||||
|  | 	player:SendDataPacket("attention", worldMaster, "", 51073, 2); | ||||||
|  | 	wait(7); | ||||||
|  | 	player:ChangeMusic(7); | ||||||
|  | 	player:ChangeState(0);  | ||||||
|  | 	kickEventContinue(player, actor, "noticeEvent", "noticeEvent"); | ||||||
|  | 	callClientFunction(player, "delegateEvent", player, man0g0Quest, "processEvent020_1", nil, nil, nil); | ||||||
|  | 	 | ||||||
|  | 	player:GetZone():ContentFinished(); | ||||||
|  |     player:EndEvent(); | ||||||
|  |     GetWorldManager():DoZoneChange(player, 155, "PrivateAreaMasterPast", 1, 15, 175.38, -1.21, -1156.51, -2.1); | ||||||
| 	--[[ | 	--[[ | ||||||
| 	IF DoW: | 	IF DoW: | ||||||
| 		OpenWidget (TP) | 		OpenWidget (TP) | ||||||
| @@ -104,7 +80,6 @@ function onEventStarted(player, actor, triggerName) | |||||||
| end | end | ||||||
|  |  | ||||||
| function onUpdate(deltaTime, area) | function onUpdate(deltaTime, area) | ||||||
|     print("fuck") |  | ||||||
| end | end | ||||||
|  |  | ||||||
| function onTalkEvent(player, npc) | function onTalkEvent(player, npc) | ||||||
| @@ -125,6 +100,5 @@ function onCommand(player, command) | |||||||
| end | end | ||||||
|  |  | ||||||
| function main(director, contentGroup) | function main(director, contentGroup) | ||||||
|     print("shitstain") |  | ||||||
|     onCreateContentArea(director:GetPlayerMembers(), director, director:GetZone(), contentGroup); |     onCreateContentArea(director:GetPlayerMembers(), director, director:GetZone(), contentGroup); | ||||||
| end; | end; | ||||||
| @@ -116,6 +116,14 @@ DAMAGE_TAKEN_TYPE_MAGIC = 2; | |||||||
| DAMAGE_TAKEN_TYPE_WEAPONSKILL = 3; | DAMAGE_TAKEN_TYPE_WEAPONSKILL = 3; | ||||||
| DAMAGE_TAKEN_TYPE_ABILITY = 4; | DAMAGE_TAKEN_TYPE_ABILITY = 4; | ||||||
|  |  | ||||||
|  | -- CLASSID | ||||||
|  | CLASSID_PUG = 2; | ||||||
|  | CLASSID_GLA = 3; | ||||||
|  | CLASSID_MRD = 4; | ||||||
|  | CLASSID_ARC = 7; | ||||||
|  | CLASSID_LNC = 8; | ||||||
|  | CLASSID_THM = 22; | ||||||
|  | CLASSID_CNJ = 23; | ||||||
|  |  | ||||||
|  |  | ||||||
| --UTILS | --UTILS | ||||||
|   | |||||||
| @@ -1,58 +0,0 @@ | |||||||
| require ("global") |  | ||||||
| require ("modifiers") |  | ||||||
| require ("ally") |  | ||||||
|  |  | ||||||
| function onSpawn(mob) |  | ||||||
|  |  | ||||||
| end; |  | ||||||
|  |  | ||||||
| function onDamageTaken(mob, attacker, damage, damageType) |  | ||||||
|     if attacker.IsPlayer() then |  | ||||||
|         local man0g0Quest = attacker:GetQuest("Man0g0"); |  | ||||||
|         if damageType == DAMAGE_TAKEN_TYPE_ATTACK then |  | ||||||
|             if man0g0Quest:GetPhase() == 5 then |  | ||||||
|                 closeTutorialWidget(player); |  | ||||||
|             	showTutorialSuccessWidget(player, 9055); --Open TutorialSuccessWidget for attacking enemy |  | ||||||
|                 man0g0Quest:NextPhase(6); |  | ||||||
|             end; |  | ||||||
|         elseif damageType == DAMAGE_TAKEN_TYPE_WEAPONSKILL or damageType == DAMAGE_TAKEN_TYPE_MAGIC then |  | ||||||
|             if man0g0Quest:GetPhase() == 6 then |  | ||||||
|                 closeTutorialWidget(player); |  | ||||||
|                 showTutorialSuccessWidget(player, 9065); --Open TutorialSuccessWidget for weapon skill |  | ||||||
|                 man0g0Quest:NextPhase(7); |  | ||||||
|             end; |  | ||||||
|         end; |  | ||||||
|     end; |  | ||||||
| end; |  | ||||||
|  |  | ||||||
| function onDeath(mob, player, lastAttacker) |  | ||||||
|     if player then |  | ||||||
|         local man0g0Quest = player:GetQuest("Man0g0"); |  | ||||||
|         if man0g0Quest and man0g0Quest:GetPhase() >= 7 then |  | ||||||
|             man0g0Quest:NextPhase(man0g0Quest:GetPhase() + 1); |  | ||||||
|             mob:SetTempVar("playerId", player.actorId); |  | ||||||
|             if man0g0Quest:GetPhase() == 10 then |  | ||||||
|             	local worldMaster = GetWorldMaster(); |  | ||||||
|                 player:SendDataPacket("attention", worldMaster, "", 51073, 1); |  | ||||||
|                 kickEventContinue(player, director, "noticeEvent", "noticeEvent"); |  | ||||||
|                 callClientFunction(player, "delegateEvent", player, man0g0Quest, "processEvent020_1", nil, nil, nil);	 |  | ||||||
|                 player:ChangeMusic(7); |  | ||||||
|                 player:Disengage(0x0000); |  | ||||||
|                 mob:SetTempVar("complete", 1); |  | ||||||
|             end; |  | ||||||
|         end; |  | ||||||
|     end; |  | ||||||
| end; |  | ||||||
|  |  | ||||||
| function onDespawn(mob) |  | ||||||
|     if zone then |  | ||||||
|         local player = zone.FindActorInArea(mob:GetTempVar("playerId")); |  | ||||||
|          |  | ||||||
|         if player and mob:GetTempVar("complete") == 1 then |  | ||||||
|             local man0g0Quest = player:GetQuest("Man0g0"); |  | ||||||
|             player:GetZone():ContentFinished(); |  | ||||||
|             player:EndEvent(); |  | ||||||
|             GetWorldManager():DoZoneChange(player, 155, "PrivateAreaMasterPast", 1, 15, 175.38, -1.21, -1156.51, -2.1); |  | ||||||
|         end; |  | ||||||
|     end; |  | ||||||
| end; |  | ||||||
| @@ -1,11 +1,22 @@ | |||||||
| require ("global") | require ("global") | ||||||
|  |  | ||||||
| require ("ally") | require ("ally") | ||||||
|  |  | ||||||
| function onSpawn(ally) | function onSpawn(ally) | ||||||
|  |     ally:SetMaxHP(69420) | ||||||
|  |     ally:SetHP(ally:GetMaxHP()) | ||||||
|     ally.isAutoAttackEnabled = false; |     ally.isAutoAttackEnabled = false; | ||||||
| end; |     ally.neutral = false | ||||||
|  | end | ||||||
|  |  | ||||||
| function onCombatTick(ally, target, tick, contentGroupCharas)	 | function onCombatTick(ally, target, tick, contentGroupCharas)	 | ||||||
|     allyGlobal.onCombatTick(ally, target, tick, contentGroupCharas); |     allyGlobal.onCombatTick(ally, target, tick, contentGroupCharas); | ||||||
| end; | end | ||||||
|  |  | ||||||
|  |  | ||||||
|  | function onRoam(ally, contentGroupCharas) | ||||||
|  |     ally.detectionType = 0xFF | ||||||
|  |     ally.isMovingToSpawn = false | ||||||
|  |     ally.neutral = false | ||||||
|  |     ally.animationId = 0 | ||||||
|  |     allyGlobal.onCombatTick(ally, nil, nil, contentGroupCharas) | ||||||
|  | end | ||||||
| @@ -3,9 +3,20 @@ require ("global") | |||||||
| require ("ally") | require ("ally") | ||||||
|  |  | ||||||
| function onSpawn(ally) | function onSpawn(ally) | ||||||
|  |     ally:SetMaxHP(69420) | ||||||
|  |     ally:SetHP(ally:GetMaxHP()) | ||||||
|     ally.isAutoAttackEnabled = false |     ally.isAutoAttackEnabled = false | ||||||
|  |     ally.neutral = false | ||||||
| end | end | ||||||
|  |  | ||||||
| function onCombatTick(ally, target, tick, contentGroupCharas)	 | function onCombatTick(ally, target, tick, contentGroupCharas)	 | ||||||
|     allyGlobal.onCombatTick(ally, target, tick, contentGroupCharas) |     allyGlobal.onCombatTick(ally, target, tick, contentGroupCharas) | ||||||
| end | end | ||||||
|  |  | ||||||
|  | function onRoam(ally, contentGroupCharas) | ||||||
|  |     ally.detectionType = 0xFF | ||||||
|  |     ally.isMovingToSpawn = false | ||||||
|  |     ally.neutral = false | ||||||
|  |     ally.animationId = 0 | ||||||
|  |     allyGlobal.onCombatTick(ally, contentGroupCharas) | ||||||
|  | end | ||||||
| @@ -65,71 +65,71 @@ CREATE TABLE `server_battlenpc_genus` ( | |||||||
| LOCK TABLES `server_battlenpc_genus` WRITE; | LOCK TABLES `server_battlenpc_genus` WRITE; | ||||||
| /*!40000 ALTER TABLE `server_battlenpc_genus` DISABLE KEYS */; | /*!40000 ALTER TABLE `server_battlenpc_genus` DISABLE KEYS */; | ||||||
| set autocommit=0; | set autocommit=0; | ||||||
| INSERT INTO `server_battlenpc_genus` VALUES (1,'Aldgoat',1,0,1,'Beast',1,100,100,100,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0); | INSERT INTO `server_battlenpc_genus` VALUES (1,'Aldgoat',1,8,1,'Beast',1,100,100,100,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0); | ||||||
| INSERT INTO `server_battlenpc_genus` VALUES (2,'Antelope',1,0,1,'Beast',1,100,100,100,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0); | INSERT INTO `server_battlenpc_genus` VALUES (2,'Antelope',1,8,1,'Beast',1,100,100,100,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0); | ||||||
| INSERT INTO `server_battlenpc_genus` VALUES (3,'Wolf',1,0,1,'Beast',2,100,100,100,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0); | INSERT INTO `server_battlenpc_genus` VALUES (3,'Wolf',1,8,1,'Beast',2,100,100,100,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0); | ||||||
| INSERT INTO `server_battlenpc_genus` VALUES (4,'Opo-opo',1,0,1,'Beast',1,100,100,100,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0); | INSERT INTO `server_battlenpc_genus` VALUES (4,'Opo-opo',1,8,1,'Beast',1,100,100,100,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0); | ||||||
| INSERT INTO `server_battlenpc_genus` VALUES (5,'Coeurl',1,0,1,'Beast',15,100,100,100,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0); | INSERT INTO `server_battlenpc_genus` VALUES (5,'Coeurl',1,8,1,'Beast',15,100,100,100,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0); | ||||||
| INSERT INTO `server_battlenpc_genus` VALUES (6,'Goobbue',1,0,1,'Beast',4,100,100,100,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0); | INSERT INTO `server_battlenpc_genus` VALUES (6,'Goobbue',1,8,1,'Beast',4,100,100,100,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0); | ||||||
| INSERT INTO `server_battlenpc_genus` VALUES (7,'Sheep',1,0,1,'Beast',1,100,100,100,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0); | INSERT INTO `server_battlenpc_genus` VALUES (7,'Sheep',1,8,1,'Beast',1,100,100,100,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0); | ||||||
| INSERT INTO `server_battlenpc_genus` VALUES (8,'Buffalo',1,0,1,'Beast',4,100,100,100,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0); | INSERT INTO `server_battlenpc_genus` VALUES (8,'Buffalo',1,8,1,'Beast',4,100,100,100,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0); | ||||||
| INSERT INTO `server_battlenpc_genus` VALUES (9,'Boar',1,0,1,'Beast',2,100,100,100,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0); | INSERT INTO `server_battlenpc_genus` VALUES (9,'Boar',1,8,1,'Beast',2,100,100,100,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0); | ||||||
| INSERT INTO `server_battlenpc_genus` VALUES (10,'Moon-Mouse?',1,0,1,'Beast',2,100,100,100,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0); | INSERT INTO `server_battlenpc_genus` VALUES (10,'Moon-Mouse?',1,8,1,'Beast',2,100,100,100,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0); | ||||||
| INSERT INTO `server_battlenpc_genus` VALUES (11,'Mole',1,0,1,'Beast',4,100,100,100,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0); | INSERT INTO `server_battlenpc_genus` VALUES (11,'Mole',1,8,1,'Beast',4,100,100,100,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0); | ||||||
| INSERT INTO `server_battlenpc_genus` VALUES (12,'Rodent',1,0,1,'Beast',2,100,100,100,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0); | INSERT INTO `server_battlenpc_genus` VALUES (12,'Rodent',1,8,1,'Beast',2,100,100,100,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0); | ||||||
| INSERT INTO `server_battlenpc_genus` VALUES (13,'Cactuar',1,0,2,'Plantoid',0,100,100,100,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0); | INSERT INTO `server_battlenpc_genus` VALUES (13,'Cactuar',1,8,2,'Plantoid',0,100,100,100,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0); | ||||||
| INSERT INTO `server_battlenpc_genus` VALUES (14,'Funguar',1,0,2,'Plantoid',0,100,100,100,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0); | INSERT INTO `server_battlenpc_genus` VALUES (14,'Funguar',1,8,2,'Plantoid',0,100,100,100,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0); | ||||||
| INSERT INTO `server_battlenpc_genus` VALUES (15,'Flying-trap',1,0,2,'Plantoid',0,100,100,100,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0); | INSERT INTO `server_battlenpc_genus` VALUES (15,'Flying-trap',1,8,2,'Plantoid',0,100,100,100,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0); | ||||||
| INSERT INTO `server_battlenpc_genus` VALUES (16,'Morbol',1,0,2,'Plantoid',0,100,100,100,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0); | INSERT INTO `server_battlenpc_genus` VALUES (16,'Morbol',1,8,2,'Plantoid',0,100,100,100,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0); | ||||||
| INSERT INTO `server_battlenpc_genus` VALUES (17,'Orobon',1,0,3,'Aquan',0,100,100,100,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0); | INSERT INTO `server_battlenpc_genus` VALUES (17,'Orobon',1,8,3,'Aquan',0,100,100,100,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0); | ||||||
| INSERT INTO `server_battlenpc_genus` VALUES (18,'Gigantoad',1,0,3,'Aquan',0,100,100,100,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0); | INSERT INTO `server_battlenpc_genus` VALUES (18,'Gigantoad',1,8,3,'Aquan',0,100,100,100,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0); | ||||||
| INSERT INTO `server_battlenpc_genus` VALUES (19,'Salamander',1,0,3,'Aquan',0,100,100,100,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0); | INSERT INTO `server_battlenpc_genus` VALUES (19,'Salamander',1,8,3,'Aquan',0,100,100,100,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0); | ||||||
| INSERT INTO `server_battlenpc_genus` VALUES (20,'Jelly-fish',1,0,3,'Aquan',0,100,100,100,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0); | INSERT INTO `server_battlenpc_genus` VALUES (20,'Jelly-fish',1,8,3,'Aquan',0,100,100,100,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0); | ||||||
| INSERT INTO `server_battlenpc_genus` VALUES (21,'Slug',1,0,3,'Aquan',0,100,100,100,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0); | INSERT INTO `server_battlenpc_genus` VALUES (21,'Slug',1,8,3,'Aquan',0,100,100,100,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0); | ||||||
| INSERT INTO `server_battlenpc_genus` VALUES (22,'Megalo-crab',1,0,3,'Aquan',0,100,100,100,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0); | INSERT INTO `server_battlenpc_genus` VALUES (22,'Megalo-crab',1,8,3,'Aquan',0,100,100,100,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0); | ||||||
| INSERT INTO `server_battlenpc_genus` VALUES (23,'Amaalja',1,0,4,'Spoken',0,100,100,100,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0); | INSERT INTO `server_battlenpc_genus` VALUES (23,'Amaalja',1,8,4,'Spoken',0,100,100,100,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0); | ||||||
| INSERT INTO `server_battlenpc_genus` VALUES (24,'Ixal',1,0,4,'Spoken',0,100,100,100,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0); | INSERT INTO `server_battlenpc_genus` VALUES (24,'Ixal',1,8,4,'Spoken',0,100,100,100,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0); | ||||||
| INSERT INTO `server_battlenpc_genus` VALUES (25,'Qiqirn',1,0,4,'Spoken',0,100,100,100,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0); | INSERT INTO `server_battlenpc_genus` VALUES (25,'Qiqirn',1,8,4,'Spoken',0,100,100,100,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0); | ||||||
| INSERT INTO `server_battlenpc_genus` VALUES (26,'Goblin',1,0,4,'Spoken',0,100,100,100,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0); | INSERT INTO `server_battlenpc_genus` VALUES (26,'Goblin',1,8,4,'Spoken',0,100,100,100,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0); | ||||||
| INSERT INTO `server_battlenpc_genus` VALUES (27,'Kobold',1,0,4,'Spoken',0,100,100,100,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0); | INSERT INTO `server_battlenpc_genus` VALUES (27,'Kobold',1,8,4,'Spoken',0,100,100,100,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0); | ||||||
| INSERT INTO `server_battlenpc_genus` VALUES (28,'Sylph',1,0,4,'Spoken',0,100,100,100,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0); | INSERT INTO `server_battlenpc_genus` VALUES (28,'Sylph',1,8,4,'Spoken',0,100,100,100,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0); | ||||||
| INSERT INTO `server_battlenpc_genus` VALUES (29,'Person',1,0,4,'Spoken',0,100,100,100,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0); | INSERT INTO `server_battlenpc_genus` VALUES (29,'Person',1,8,4,'Spoken',0,100,100,100,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0); | ||||||
| INSERT INTO `server_battlenpc_genus` VALUES (30,'Drake',1,0,5,'Reptilian',0,100,100,100,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0); | INSERT INTO `server_battlenpc_genus` VALUES (30,'Drake',1,8,5,'Reptilian',0,100,100,100,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0); | ||||||
| INSERT INTO `server_battlenpc_genus` VALUES (31,'Basilisk',1,0,5,'Reptilian',0,100,100,100,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0); | INSERT INTO `server_battlenpc_genus` VALUES (31,'Basilisk',1,8,5,'Reptilian',0,100,100,100,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0); | ||||||
| INSERT INTO `server_battlenpc_genus` VALUES (32,'Raptor',1,0,5,'Reptilian',0,100,100,100,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0); | INSERT INTO `server_battlenpc_genus` VALUES (32,'Raptor',1,8,5,'Reptilian',0,100,100,100,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0); | ||||||
| INSERT INTO `server_battlenpc_genus` VALUES (33,'Ant-ring',1,0,6,'Insect',0,100,100,100,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0); | INSERT INTO `server_battlenpc_genus` VALUES (33,'Ant-ring',1,8,6,'Insect',0,100,100,100,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0); | ||||||
| INSERT INTO `server_battlenpc_genus` VALUES (34,'Swarm',1,0,6,'Insect',0,100,100,100,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0); | INSERT INTO `server_battlenpc_genus` VALUES (34,'Swarm',1,8,6,'Insect',0,100,100,100,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0); | ||||||
| INSERT INTO `server_battlenpc_genus` VALUES (35,'Diremite',1,0,6,'Insect',0,100,100,100,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0); | INSERT INTO `server_battlenpc_genus` VALUES (35,'Diremite',1,8,6,'Insect',0,100,100,100,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0); | ||||||
| INSERT INTO `server_battlenpc_genus` VALUES (36,'Chigoe',1,0,6,'Insect',0,100,100,100,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0); | INSERT INTO `server_battlenpc_genus` VALUES (36,'Chigoe',1,8,6,'Insect',0,100,100,100,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0); | ||||||
| INSERT INTO `server_battlenpc_genus` VALUES (37,'Gnat',1,0,6,'Insect',0,100,100,100,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0); | INSERT INTO `server_battlenpc_genus` VALUES (37,'Gnat',1,8,6,'Insect',0,100,100,100,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0); | ||||||
| INSERT INTO `server_battlenpc_genus` VALUES (38,'Beetle',1,0,6,'Insect',0,100,100,100,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0); | INSERT INTO `server_battlenpc_genus` VALUES (38,'Beetle',1,8,6,'Insect',0,100,100,100,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0); | ||||||
| INSERT INTO `server_battlenpc_genus` VALUES (39,'Yarzon',1,0,6,'Insect',0,100,100,100,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0); | INSERT INTO `server_battlenpc_genus` VALUES (39,'Yarzon',1,8,6,'Insect',0,100,100,100,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0); | ||||||
| INSERT INTO `server_battlenpc_genus` VALUES (40,'Apkallu',1,0,7,'Avian',0,100,100,100,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0); | INSERT INTO `server_battlenpc_genus` VALUES (40,'Apkallu',1,8,7,'Avian',0,100,100,100,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0); | ||||||
| INSERT INTO `server_battlenpc_genus` VALUES (41,'Vulture',1,0,7,'Avian',0,100,100,100,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0); | INSERT INTO `server_battlenpc_genus` VALUES (41,'Vulture',1,8,7,'Avian',0,100,100,100,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0); | ||||||
| INSERT INTO `server_battlenpc_genus` VALUES (42,'Dodo',1,0,7,'Avian',0,100,100,100,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0); | INSERT INTO `server_battlenpc_genus` VALUES (42,'Dodo',1,8,7,'Avian',0,100,100,100,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0); | ||||||
| INSERT INTO `server_battlenpc_genus` VALUES (43,'Bat',1,0,7,'Avian',0,100,100,100,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0); | INSERT INTO `server_battlenpc_genus` VALUES (43,'Bat',1,8,7,'Avian',0,100,100,100,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0); | ||||||
| INSERT INTO `server_battlenpc_genus` VALUES (44,'Hippogryph',1,0,7,'Avian',0,100,100,100,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0); | INSERT INTO `server_battlenpc_genus` VALUES (44,'Hippogryph',1,8,7,'Avian',0,100,100,100,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0); | ||||||
| INSERT INTO `server_battlenpc_genus` VALUES (45,'Puk',1,0,7,'Avian',0,100,100,100,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0); | INSERT INTO `server_battlenpc_genus` VALUES (45,'Puk',1,8,7,'Avian',0,100,100,100,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0); | ||||||
| INSERT INTO `server_battlenpc_genus` VALUES (46,'Ghost',1,0,8,'Undead',0,100,100,100,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0); | INSERT INTO `server_battlenpc_genus` VALUES (46,'Ghost',1,8,8,'Undead',0,100,100,100,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0); | ||||||
| INSERT INTO `server_battlenpc_genus` VALUES (47,'The-Damned',1,0,8,'Undead',0,100,100,100,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0); | INSERT INTO `server_battlenpc_genus` VALUES (47,'The-Damned',1,8,8,'Undead',0,100,100,100,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0); | ||||||
| INSERT INTO `server_battlenpc_genus` VALUES (48,'Wight',1,0,8,'Undead',0,100,100,100,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0); | INSERT INTO `server_battlenpc_genus` VALUES (48,'Wight',1,8,8,'Undead',0,100,100,100,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0); | ||||||
| INSERT INTO `server_battlenpc_genus` VALUES (49,'Coblyn',1,0,9,'Cursed',0,100,100,100,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0); | INSERT INTO `server_battlenpc_genus` VALUES (49,'Coblyn',1,8,9,'Cursed',0,100,100,100,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0); | ||||||
| INSERT INTO `server_battlenpc_genus` VALUES (50,'Spriggan',1,0,9,'Cursed',0,100,100,100,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0); | INSERT INTO `server_battlenpc_genus` VALUES (50,'Spriggan',1,8,9,'Cursed',0,100,100,100,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0); | ||||||
| INSERT INTO `server_battlenpc_genus` VALUES (51,'Ahriman',1,0,10,'Voidsent',0,100,100,100,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0); | INSERT INTO `server_battlenpc_genus` VALUES (51,'Ahriman',1,8,10,'Voidsent',0,100,100,100,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0); | ||||||
| INSERT INTO `server_battlenpc_genus` VALUES (52,'Imp',1,0,10,'Voidsent',0,100,100,100,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0); | INSERT INTO `server_battlenpc_genus` VALUES (52,'Imp',1,8,10,'Voidsent',0,100,100,100,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0); | ||||||
| INSERT INTO `server_battlenpc_genus` VALUES (53,'Will-O-Wisp',1,0,10,'Voidsent',0,100,100,100,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0); | INSERT INTO `server_battlenpc_genus` VALUES (53,'Will-O-Wisp',1,8,10,'Voidsent',0,100,100,100,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0); | ||||||
| INSERT INTO `server_battlenpc_genus` VALUES (54,'Fire-Elemental',1,0,10,'Voidsent',0,100,100,100,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0); | INSERT INTO `server_battlenpc_genus` VALUES (54,'Fire-Elemental',1,8,10,'Voidsent',0,100,100,100,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0); | ||||||
| INSERT INTO `server_battlenpc_genus` VALUES (55,'Water-Elemental',1,0,10,'Voidsent',0,100,100,100,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0); | INSERT INTO `server_battlenpc_genus` VALUES (55,'Water-Elemental',1,8,10,'Voidsent',0,100,100,100,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0); | ||||||
| INSERT INTO `server_battlenpc_genus` VALUES (56,'Earth-Elemental',1,0,10,'Voidsent',0,100,100,100,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0); | INSERT INTO `server_battlenpc_genus` VALUES (56,'Earth-Elemental',1,8,10,'Voidsent',0,100,100,100,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0); | ||||||
| INSERT INTO `server_battlenpc_genus` VALUES (57,'Lightning-Elemental',1,0,10,'Voidsent',0,100,100,100,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0); | INSERT INTO `server_battlenpc_genus` VALUES (57,'Lightning-Elemental',1,8,10,'Voidsent',0,100,100,100,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0); | ||||||
| INSERT INTO `server_battlenpc_genus` VALUES (58,'Ice-Elemental',1,0,10,'Voidsent',0,100,100,100,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0); | INSERT INTO `server_battlenpc_genus` VALUES (58,'Ice-Elemental',1,8,10,'Voidsent',0,100,100,100,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0); | ||||||
| INSERT INTO `server_battlenpc_genus` VALUES (59,'Wind-Elemental',1,0,10,'Voidsent',0,100,100,100,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0); | INSERT INTO `server_battlenpc_genus` VALUES (59,'Wind-Elemental',1,8,10,'Voidsent',0,100,100,100,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0); | ||||||
| INSERT INTO `server_battlenpc_genus` VALUES (60,'Ogre',1,0,10,'Voidsent',0,100,100,100,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0); | INSERT INTO `server_battlenpc_genus` VALUES (60,'Ogre',1,8,10,'Voidsent',0,100,100,100,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0); | ||||||
| INSERT INTO `server_battlenpc_genus` VALUES (61,'Phurble',1,0,10,'Voidsent',0,100,100,100,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0); | INSERT INTO `server_battlenpc_genus` VALUES (61,'Phurble',1,8,10,'Voidsent',0,100,100,100,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0); | ||||||
| INSERT INTO `server_battlenpc_genus` VALUES (62,'Plasmoid',1,0,10,'Voidsent',0,100,100,100,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0); | INSERT INTO `server_battlenpc_genus` VALUES (62,'Plasmoid',1,8,10,'Voidsent',0,100,100,100,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0); | ||||||
| INSERT INTO `server_battlenpc_genus` VALUES (63,'Flan',1,0,10,'Voidsent',0,100,100,100,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0); | INSERT INTO `server_battlenpc_genus` VALUES (63,'Flan',1,8,10,'Voidsent',0,100,100,100,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0); | ||||||
| INSERT INTO `server_battlenpc_genus` VALUES (64,'Bomb',1,0,10,'Voidsent',0,100,100,100,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0); | INSERT INTO `server_battlenpc_genus` VALUES (64,'Bomb',1,8,10,'Voidsent',0,100,100,100,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0); | ||||||
| INSERT INTO `server_battlenpc_genus` VALUES (65,'Grenade',1,0,10,'Voidsent',0,100,100,100,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0); | INSERT INTO `server_battlenpc_genus` VALUES (65,'Grenade',1,8,10,'Voidsent',0,100,100,100,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0); | ||||||
| /*!40000 ALTER TABLE `server_battlenpc_genus` ENABLE KEYS */; | /*!40000 ALTER TABLE `server_battlenpc_genus` ENABLE KEYS */; | ||||||
| UNLOCK TABLES; | UNLOCK TABLES; | ||||||
| commit; | commit; | ||||||
| @@ -143,4 +143,4 @@ commit; | |||||||
| /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; | /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; | ||||||
| /*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; | /*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; | ||||||
|  |  | ||||||
| -- Dump completed on 2017-09-16  2:42:51 | -- Dump completed on 2017-10-11 14:48:52 | ||||||
|   | |||||||
| @@ -67,4 +67,4 @@ commit; | |||||||
| /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; | /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; | ||||||
| /*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; | /*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; | ||||||
|  |  | ||||||
| -- Dump completed on 2017-09-16  2:42:34 | -- Dump completed on 2017-10-11 14:44:48 | ||||||
|   | |||||||
| @@ -46,12 +46,14 @@ CREATE TABLE `server_battlenpc_pools` ( | |||||||
|  |  | ||||||
| LOCK TABLES `server_battlenpc_pools` WRITE; | LOCK TABLES `server_battlenpc_pools` WRITE; | ||||||
| /*!40000 ALTER TABLE `server_battlenpc_pools` DISABLE KEYS */; | /*!40000 ALTER TABLE `server_battlenpc_pools` DISABLE KEYS */; | ||||||
|  | set autocommit=0; | ||||||
| INSERT INTO `server_battlenpc_pools` VALUES (1,2104001,'wharf_rat',12,0,1,4200,1,0,0,0,0,0); | INSERT INTO `server_battlenpc_pools` VALUES (1,2104001,'wharf_rat',12,0,1,4200,1,0,0,0,0,0); | ||||||
| INSERT INTO `server_battlenpc_pools` VALUES (2,2205403,'bloodthirsty_wolf',3,0,1,4200,1,0,0,0,0,0); | INSERT INTO `server_battlenpc_pools` VALUES (2,2201407,'bloodthirsty_wolf',3,0,1,4200,1,0,0,0,0,0); | ||||||
| INSERT INTO `server_battlenpc_pools` VALUES (3,2290001,'yda',29,2,1,4200,1,0,0,0,0,0); | INSERT INTO `server_battlenpc_pools` VALUES (3,2290005,'yda',29,2,1,4200,1,0,0,0,0,0); | ||||||
| INSERT INTO `server_battlenpc_pools` VALUES (4,2290002,'papalymo',29,22,1,4200,1,0,0,0,0,0); | INSERT INTO `server_battlenpc_pools` VALUES (4,2290006,'papalymo',29,22,1,4200,1,0,0,0,0,0); | ||||||
| /*!40000 ALTER TABLE `server_battlenpc_pools` ENABLE KEYS */; | /*!40000 ALTER TABLE `server_battlenpc_pools` ENABLE KEYS */; | ||||||
| UNLOCK TABLES; | UNLOCK TABLES; | ||||||
|  | commit; | ||||||
| /*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */; | /*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */; | ||||||
|  |  | ||||||
| /*!40101 SET SQL_MODE=@OLD_SQL_MODE */; | /*!40101 SET SQL_MODE=@OLD_SQL_MODE */; | ||||||
| @@ -62,4 +64,4 @@ UNLOCK TABLES; | |||||||
| /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; | /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; | ||||||
| /*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; | /*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; | ||||||
|  |  | ||||||
| -- Dump completed on 2017-09-16  2:40:29 | -- Dump completed on 2017-10-11 14:47:40 | ||||||
|   | |||||||
| @@ -43,11 +43,11 @@ LOCK TABLES `server_battlenpc_spawn_locations` WRITE; | |||||||
| set autocommit=0; | set autocommit=0; | ||||||
| INSERT INTO `server_battlenpc_spawn_locations` VALUES (1,'test',1,25.584,200,-450,-2.514); | INSERT INTO `server_battlenpc_spawn_locations` VALUES (1,'test',1,25.584,200,-450,-2.514); | ||||||
| INSERT INTO `server_battlenpc_spawn_locations` VALUES (2,'test',1,20,200,-444,-3.14); | INSERT INTO `server_battlenpc_spawn_locations` VALUES (2,'test',1,20,200,-444,-3.14); | ||||||
| INSERT INTO `server_battlenpc_spawn_locations` VALUES (3,'bloodthirsty_wolf',2,-3.02,17.35,14.24,-2.81); | INSERT INTO `server_battlenpc_spawn_locations` VALUES (3,'bloodthirsty_wolf',2,374.427,4.4,-698.711,-1.942); | ||||||
| INSERT INTO `server_battlenpc_spawn_locations` VALUES (4,'bloodthirsty_wolf',2,0.02,17.35,14.24,-2.81); | INSERT INTO `server_battlenpc_spawn_locations` VALUES (4,'bloodthirsty_wolf',2,375.377,4.4,-700.247,-1.992); | ||||||
| INSERT INTO `server_battlenpc_spawn_locations` VALUES (5,'bloodthirsty_wolf',2,-6.02,17.35,14.24,-2.81); | INSERT INTO `server_battlenpc_spawn_locations` VALUES (5,'bloodthirsty_wolf',2,375.125,4.4,-703.591,-1.54); | ||||||
| INSERT INTO `server_battlenpc_spawn_locations` VALUES (6,'yshtola',3,-8,16.35,6,0.5); | INSERT INTO `server_battlenpc_spawn_locations` VALUES (6,'yda',3,365.266,4.122,-700.73,1.5659); | ||||||
| INSERT INTO `server_battlenpc_spawn_locations` VALUES (7,'papalymo',4,0,16.35,22,3); | INSERT INTO `server_battlenpc_spawn_locations` VALUES (7,'papalymo',4,365.89,4.0943,-706.72,-0.718); | ||||||
| /*!40000 ALTER TABLE `server_battlenpc_spawn_locations` ENABLE KEYS */; | /*!40000 ALTER TABLE `server_battlenpc_spawn_locations` ENABLE KEYS */; | ||||||
| UNLOCK TABLES; | UNLOCK TABLES; | ||||||
| commit; | commit; | ||||||
| @@ -61,4 +61,4 @@ commit; | |||||||
| /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; | /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; | ||||||
| /*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; | /*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; | ||||||
|  |  | ||||||
| -- Dump completed on 2017-09-16  2:43:52 | -- Dump completed on 2017-10-11 14:47:29 | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user