mirror of
				https://bitbucket.org/Ioncannon/project-meteor-server.git
				synced 2025-05-20 08:26:59 -04:00 
			
		
		
		
	Merge branch 'ioncannon/quest_system' into Jorge/quest_system
This commit is contained in:
		| @@ -107,7 +107,7 @@ function doLevequestInit(player, aetheryte) | ||||
| 			 | ||||
| 				player:SendGameMessage(worldMaster, 50036, 0x20, glId, player); | ||||
| 				player:PlayAnimation(getGLStartAnimationFromSheet(guildleveData.borderId, guildleveData.plateId, true));				 | ||||
| 				director = player:GetZone():CreateGuildleveDirector(glId, difficulty, player); | ||||
| 				director = player.CurrentArea:CreateGuildleveDirector(glId, difficulty, player); | ||||
| 				player:AddDirector(director); | ||||
| 				director:StartDirector(true, glId) | ||||
| 			 | ||||
|   | ||||
| @@ -142,7 +142,7 @@ function doLevequestInit(player, aetheryte) | ||||
| 							 | ||||
| 				player:SendGameMessage(worldMaster, 50036, 0x20, glId, player); | ||||
| 				player:PlayAnimation(getGLStartAnimationFromSheet(guildleveData.borderId, guildleveData.plateId, true));				 | ||||
| 				director = player:GetZone():CreateGuildleveDirector(glId, difficulty, player); | ||||
| 				director = player.CurrentArea:CreateGuildleveDirector(glId, difficulty, player); | ||||
| 				player:AddDirector(director); | ||||
| 				director:StartDirector(true, glId); | ||||
| 				 | ||||
|   | ||||
| @@ -0,0 +1,83 @@ | ||||
| --[[ | ||||
|  | ||||
| PopulaceSpecialEventCryer Script | ||||
|  | ||||
| Actor Class script to handle the 6 NPCs (technically 3, the actors were duped) involved in the Foundation Day 2011 & 2012 events.   | ||||
| In 2011 they appear to be used for recruitment information for their respective Grand Company. | ||||
| In 2012, they were used for exchanging Over-aspected Crystals/Clusters for GC seals as part of the ongoing Atomos event. | ||||
|  | ||||
| Functions: | ||||
|  | ||||
| For 2011. | ||||
| eventTalkStep0(joined)      - NPC dialog about joining their cause to fight back Imperials. joined = 0 or 1. Function has hardcoded actor IDs, won't work with 2012 versions | ||||
| eventTalkNotGCmenber(npcGC) - NPC dialog when you're not part of their grand company. | ||||
|  | ||||
| For 2012. | ||||
| eventTalkCrystalExchange(player, npcGC, hasCrystal) - NPC dialog explaining they want over-aspected crystals. Brings up crystal exchange prompt if hasCrystal = 1. | ||||
| eventTalkCsOverflow(player, npcGC)                  - Error message that you can't hold the seals being offered. | ||||
| eventTalkCrystalExchange2(player, npcGC)            - NPC dialog for accepting exchange of crystals for seals | ||||
|  | ||||
| --]] | ||||
|  | ||||
| require ("global") | ||||
|  | ||||
| function init(npc) | ||||
| 	return false, false, 0, 0;	 | ||||
| end | ||||
|  | ||||
|  | ||||
| local gcRep = {  | ||||
|     [1001619] = 1, -- Maelstrom Representative 2011 | ||||
|     [1002105] = 1, -- Maelstrom Representative 2012 | ||||
|     [1001623] = 2, -- Adder Representative 2011 | ||||
|     [1002109] = 2, -- Adder Representative 2012 | ||||
|     [1001627] = 3, -- Flame Representative 2011 | ||||
|     [1002113] = 3, -- Flame Representative 2012 | ||||
| } | ||||
|  | ||||
|  | ||||
| function onEventStarted(player, npc, triggerName) | ||||
|     local playerGC = player.gcCurrent; | ||||
|     local npcId = npc:GetActorClassId(); | ||||
|     local npcGC = gcRep[npcId];  | ||||
|     local npcGCSeal = 1000200 + npcGC; | ||||
|     local hasCrystal = 1; | ||||
|     local crystal = 3020537; | ||||
|     local cluster = 3020413; | ||||
|     local eventMode = 2012; | ||||
|      | ||||
|     if eventMode == 2011 then | ||||
|         if playerGC == 0 then | ||||
|             callClientFunction(player, "eventTalkStep0", 0); | ||||
|         elseif playerGC == npcGC then | ||||
|             callClientFunction(player, "eventTalkStep0", 1);  | ||||
|         else | ||||
|             callClientFunction(player, "eventTalkNotGCmenber", npcGC); | ||||
|         end | ||||
|      | ||||
|     elseif eventMode == 2012 then | ||||
|         choice = callClientFunction(player, "eventTalkCrystalExchange", player, npcGC, hasCrystal); | ||||
|          | ||||
|         if choice == 1 then | ||||
|             --callClientFunction(player, "eventTalkCsOverflow", player, npcGC); | ||||
|             player:SendMessage(0x20, "", "You pretend to hand over four over-aspected crystals."); | ||||
|             callClientFunction(player, "eventTalkCrystalExchange2", player, npcGC);  | ||||
|             | ||||
|             local invCheck = player:GetItemPackage(INVENTORY_CURRENCY):AddItem(npcGCSeal, 1000, 1); | ||||
|             if invCheck == INV_ERROR_SUCCESS then | ||||
|                 player:SendGameMessage(player, GetWorldMaster(), 25071, MESSAGE_TYPE_SYSTEM, crystal, 1, npcGCSeal, 1, 4, 1000); | ||||
|             end | ||||
|         elseif choice == 2 then | ||||
|             player:SendMessage(0x20, "", "You pretend to hand over an over-aspected cluster."); | ||||
|             --callClientFunction(player, "eventTalkCsOverflow", player, npcGC); | ||||
|             callClientFunction(player, "eventTalkCrystalExchange2", player, npcGC);  | ||||
|              | ||||
|             local invCheck = player:GetItemPackage(INVENTORY_CURRENCY):AddItem(npcGCSeal, 3000, 1); | ||||
|             if invCheck == INV_ERROR_SUCCESS then | ||||
|                 player:SendGameMessage(player, GetWorldMaster(), 25071, MESSAGE_TYPE_SYSTEM, cluster, 1, npcGCSeal, 1, 1, 3000); | ||||
|             end             | ||||
|         end | ||||
|     end | ||||
| 	 | ||||
| 	player:EndEvent(); | ||||
| end | ||||
| @@ -19,7 +19,7 @@ function onBeginLogin(player) | ||||
| 	end | ||||
| 			 | ||||
| 	--For Opening. Set Director and reset position incase d/c | ||||
| 	if (player:HasQuest(110001) == true and player:GetZoneID() == 193) then | ||||
| 	if (player:HasQuest(110001) == true and player.CurrentArea.ZoneId == 193) then | ||||
| 		director = player:GetZone():CreateDirector("OpeningDirector", false);		 | ||||
| 		player:AddDirector(director); | ||||
| 		director:StartDirector(true); | ||||
| @@ -32,7 +32,7 @@ function onBeginLogin(player) | ||||
| 		player.rotation = 0.025; | ||||
| 		player:GetQuest(110001):ClearQuestData(); | ||||
| 		player:GetQuest(110001):ClearQuestFlags(); | ||||
| 	elseif (player:HasQuest(110005) == true and player:GetZoneID() == 166) then  | ||||
| 	elseif (player:HasQuest(110005) == true and player.CurrentArea.ZoneId == 166) then  | ||||
| 		director = player:GetZone():CreateDirector("OpeningDirector", false);		 | ||||
| 		player:AddDirector(director); | ||||
| 		director:StartDirector(false);		 | ||||
| @@ -45,7 +45,7 @@ function onBeginLogin(player) | ||||
| 		player.rotation = -1.26721; | ||||
| 		player:GetQuest(110005):ClearQuestData(); | ||||
| 		player:GetQuest(110005):ClearQuestFlags(); | ||||
| 	elseif (player:HasQuest(110009) == true and player:GetZoneID() == 184) then | ||||
| 	elseif (player:HasQuest(110009) == true and player.CurrentArea.ZoneId == 184) then | ||||
| 		--director = player:GetZone():CreateDirector("OpeningDirector", false);		 | ||||
| 		--player:AddDirector(director); | ||||
| 		--director:StartDirector(false);		 | ||||
|   | ||||
| @@ -14,6 +14,6 @@ local attackMagicHandlers = { | ||||
| } | ||||
|  | ||||
| function onEventStarted(player, command, triggerName, arg1, arg2, arg3, arg4, targetActor, arg5, arg6, arg7, arg8) | ||||
| 	player.Ability(command.actorId, targetActor); | ||||
| 	player.Ability(command.Id, targetActor); | ||||
| 	player:endEvent(); | ||||
| end | ||||
| @@ -14,7 +14,7 @@ local attackMagicHandlers = { | ||||
| } | ||||
|  | ||||
| function onEventStarted(player, command, triggerName, arg1, arg2, arg3, arg4, targetActor, arg5, arg6, arg7, arg8) | ||||
| 	player.Ability(command.actorId, targetActor); | ||||
| 	player.Ability(command.Id, targetActor); | ||||
| 	player:endEvent(); | ||||
| 	 | ||||
| end | ||||
| @@ -14,6 +14,6 @@ local attackMagicHandlers = { | ||||
| } | ||||
|  | ||||
| function onEventStarted(player, command, triggerName, arg1, arg2, arg3, arg4, targetActor, arg5, arg6, arg7, arg8) | ||||
| 	player.Cast(command.actorId, targetActor); | ||||
| 	player.Cast(command.Id, targetActor); | ||||
| 	player:endEvent(); | ||||
| end; | ||||
| @@ -21,6 +21,6 @@ function onEventStarted(player, command, triggerName, arg1, arg2, arg3, arg4, ta | ||||
|     if not player.aiContainer.IsEngaged() then | ||||
|         player.Engage(targetActor); | ||||
|     end; | ||||
|     player.WeaponSkill(command.actorId, targetActor); | ||||
|     player.WeaponSkill(command.Id, targetActor); | ||||
| 	player:endEvent(); | ||||
| end; | ||||
| @@ -13,9 +13,9 @@ function onEventStarted(player, actor, triggerName, name, arg1, arg2, arg3, baza | ||||
| 	local bazaarActor = nil; | ||||
|  | ||||
| 	if (name ~= nil) then | ||||
| 		bazaarActor = player:GetZone():FindPCInZone(name); | ||||
| 		bazaarActor = player.CurrentArea:FindPCInZone(name); | ||||
| 	elseif (bazaarActorId ~= nil) then | ||||
| 		bazaarActor = player:GetZone():FindActorInArea(bazaarActorId); | ||||
| 		bazaarActor = player.CurrentArea:FindActorInArea(bazaarActorId); | ||||
| 	end | ||||
| 	 | ||||
| 	if (bazaarActor ~= nil) then | ||||
|   | ||||
| @@ -18,7 +18,7 @@ function onEventStarted(player, actor, triggerName, rewardItem, seekItemOrCost, | ||||
| 	 | ||||
| 	--Get the bazaar actor | ||||
| 	if (bazaarActorId ~= nil) then | ||||
| 		bazaarActor = player:GetZone():FindActorInArea(bazaarActorId);		 | ||||
| 		bazaarActor = player.CurrentArea:FindActorInArea(bazaarActorId);		 | ||||
| 	end | ||||
| 	 | ||||
| 	--Abort if no actor | ||||
|   | ||||
| @@ -10,6 +10,7 @@ require ("global") | ||||
|  | ||||
| function onEventStarted(player, actor, triggerName, isGoobbue) | ||||
|  | ||||
| <<<<<<< HEAD | ||||
|     if (player:GetState() == 0) then         | ||||
|                  | ||||
|         worldMaster = GetWorldMaster();      | ||||
| @@ -48,4 +49,44 @@ function onEventStarted(player, actor, triggerName, isGoobbue) | ||||
|      | ||||
|     player:EndEvent(); | ||||
|      | ||||
| ======= | ||||
| 	if (player:GetState() == 0) then		 | ||||
| 				 | ||||
| 		worldMaster = GetWorldMaster();		 | ||||
| 		 | ||||
| 		if (isGoobbue ~= true) then | ||||
| 			player:ChangeMusic(83); | ||||
| 			player:SendGameMessage(player, worldMaster, 26001, 0x20); | ||||
| 			player:SetMountState(1); | ||||
| 		else | ||||
| 			player:ChangeMusic(98); | ||||
| 			player:SendGameMessage(player, worldMaster, 26019, 0x20); | ||||
| 			player:SetMountState(2); | ||||
| 		end | ||||
| 		 | ||||
| 		player:ChangeSpeed(0.0, 5.0, 10.0, 10.0); | ||||
| 		player:ChangeState(15); | ||||
| 	else | ||||
| 		player:ChangeMusic(player.CurrentArea.bgmDay); | ||||
| 		 | ||||
| 		worldMaster = GetWorldMaster(); | ||||
| 		 | ||||
| 		if (player.rentalExpireTime != 0) then | ||||
| 			player:SendGameMessage(player, worldMaster, 26004, 0x20); --You dismount. | ||||
| 		else | ||||
| 			if (player:GetMountState() == 1) then | ||||
| 				player:SendGameMessage(player, worldMaster, 26003, 0x20); --You dismount X. | ||||
| 			else | ||||
| 				player:SendGameMessage(player, worldMaster, 26021, 0x20); --You dismount your Gobbue. | ||||
| 			end | ||||
| 		end | ||||
| 		 | ||||
| 		player:SetMountState(0); | ||||
| 		player:ChangeSpeed(0.0, 2.0, 5.0, 5.0) | ||||
| 		player:ChangeState(0);  | ||||
| 	end | ||||
| 	 | ||||
| 	player:EndEvent(); | ||||
| 	 | ||||
| >>>>>>> ioncannon/quest_system | ||||
| end | ||||
| @@ -133,8 +133,8 @@ function onEventStarted(player, command, triggerName) | ||||
| 		return; | ||||
| 	end | ||||
| 	 | ||||
| 	if (weaponskillHandlers[command.actorId] ~= nil) then | ||||
| 		weaponskillHandlers[command.actorId](player); | ||||
| 	if (weaponskillHandlers[command.Id] ~= nil) then | ||||
| 		weaponskillHandlers[command.Id](player); | ||||
| 	else | ||||
| 		player:SendMessage(0x20, "", "That weaponskill is not implemented yet."); | ||||
| 	end	 | ||||
|   | ||||
| @@ -1,5 +1,5 @@ | ||||
| function onEventStarted(player, command, triggerName, arg1, arg2, arg3, arg4, targetActor, arg5, arg6, arg7, arg8) | ||||
| 	player.Cast(command.actorId, targetActor); | ||||
| 	player.Cast(command.Id, targetActor); | ||||
|      | ||||
| 	player:endEvent(); | ||||
| end | ||||
| @@ -1,5 +1,5 @@ | ||||
| function onEventStarted(player, command, triggerName, arg1, arg2, arg3, arg4, targetActor, arg5, arg6, arg7, arg8) | ||||
| 	player.Cast(command.actorId, targetActor); | ||||
| 	player.Cast(command.Id, targetActor); | ||||
|      | ||||
| 	player:endEvent(); | ||||
| end | ||||
| @@ -21,6 +21,6 @@ function onEventStarted(player, command, triggerName, arg1, arg2, arg3, arg4, ta | ||||
|     if not player.aiContainer.IsEngaged() then | ||||
|         player.Engage(targetActor); | ||||
|     end; | ||||
|     player.WeaponSkill(command.actorId, targetActor); | ||||
|     player.WeaponSkill(command.Id, targetActor); | ||||
| 	player:endEvent(); | ||||
| end; | ||||
| @@ -1,5 +1,5 @@ | ||||
| function onEventStarted(player, command, triggerName, arg1, arg2, arg3, arg4, targetActor, arg5, arg6, arg7, arg8) | ||||
| 	player.Cast(command.actorId, targetActor); | ||||
| 	player.Cast(command.Id, targetActor); | ||||
|      | ||||
| 	player:endEvent(); | ||||
| end | ||||
| @@ -1,5 +1,5 @@ | ||||
| function onEventStarted(player, command, triggerName, arg1, arg2, arg3, arg4, targetActor, arg5, arg6, arg7, arg8) | ||||
| 	player.Cast(command.actorId, targetActor); | ||||
| 	player.Cast(command.Id, targetActor); | ||||
|      | ||||
| 	player:endEvent(); | ||||
| end | ||||
| @@ -2,6 +2,6 @@ | ||||
| function onEventStarted(player, command, triggerName, arg1, arg2, arg3, arg4, targetActor, arg5, arg6, arg7, arg8) | ||||
| 	 | ||||
|  | ||||
| 	player.Cast(command.actorId, targetActor); | ||||
| 	player.Cast(command.Id, targetActor); | ||||
| 	player:endEvent(); | ||||
| end | ||||
| @@ -1,5 +1,5 @@ | ||||
| function onEventStarted(player, command, triggerName, arg1, arg2, arg3, arg4, targetActor, arg5, arg6, arg7, arg8) | ||||
| 	player.Cast(command.actorId, targetActor); | ||||
| 	player.Cast(command.Id, targetActor); | ||||
|      | ||||
| 	player:endEvent(); | ||||
| end | ||||
| @@ -10,6 +10,6 @@ Finds the correct weaponskill subscript to fire when a weaponskill actor is acti | ||||
| --]] | ||||
|  | ||||
| function onEventStarted(player, command, triggerName, arg1, arg2, arg3, arg4, targetActor, arg5, arg6, arg7, arg8) | ||||
| 	player.Ability(command.actorId, targetActor); | ||||
| 	player.Ability(command.Id, targetActor); | ||||
| 	player:endEvent(); | ||||
| end; | ||||
| @@ -14,6 +14,6 @@ local attackMagicHandlers = { | ||||
| } | ||||
|  | ||||
| function onEventStarted(player, command, triggerName, arg1, arg2, arg3, arg4, targetActor, arg5, arg6, arg7, arg8) | ||||
| 	player.Cast(command.actorId, targetActor); | ||||
| 	player.Cast(command.Id, targetActor); | ||||
| 	player:endEvent(); | ||||
| end; | ||||
| @@ -12,10 +12,10 @@ function onEventStarted(player, actor, triggerName, name, arg1, arg2, arg3, acto | ||||
|  | ||||
| 	--ActorID Search | ||||
| 	if (actorId ~= nil) then | ||||
| 		otherActor = player:GetZone():FindActorInArea(actorId); | ||||
| 		otherActor = player.CurrentArea):FindActorInArea(actorId); | ||||
| 	--Name Search | ||||
| 	elseif (name ~= nil) then | ||||
| 		otherActor = player:GetZone():FindPCInZone(name); | ||||
| 		otherActor = player.CurrentArea:FindPCInZone(name); | ||||
| 	end | ||||
| 	 | ||||
| 	if (otherActor ~= nil) then | ||||
|   | ||||
| @@ -24,7 +24,7 @@ function onSkillFinish(caster, target, skill, action, actionContainer) | ||||
|         local amount = buff.GetExtra(); | ||||
|         caster.AddMP(amount); | ||||
|  | ||||
|         actionContainer.AddMPAction(caster.actorId, 33007, amount); | ||||
|         actionContainer.AddMPAction(caster.Id, 33007, amount); | ||||
|         caster.statusEffects.RemoveStatusEffect(buff, actionContainer, 30329); | ||||
|     else | ||||
|         --Blissful mind takes 25% of CURRENT HP and begins storing MP up to that point, at which point the buff changes to indicate its full | ||||
|   | ||||
| @@ -15,7 +15,7 @@ function onTrigger(player, argc) | ||||
|     if player then | ||||
|         if player.target then | ||||
|             print("hi") | ||||
|             local id = player.target.actorId | ||||
|             local id = player.target.Id | ||||
|             print("hi") | ||||
|             player.currentParty:AddMember(id); | ||||
|             player.target.currentParty = player.currentParty; | ||||
|   | ||||
| @@ -8,9 +8,8 @@ properties = { | ||||
|  | ||||
| function onTrigger(player, argc, actorName) | ||||
|  | ||||
| 	if (actorName ~= nil) then		 | ||||
| 		zone = player:GetZone(); | ||||
| 		actor = zone:DespawnActor(actorName); | ||||
| 	if (actorName ~= nil) then | ||||
| 		actor = player.CurrentArea:DespawnActor(actorName); | ||||
| 	end | ||||
| 	 | ||||
| end; | ||||
| @@ -23,7 +23,7 @@ function onTrigger(player) | ||||
|      | ||||
| 	 | ||||
| 	player:SendMessage(messageID, sender, string.format("Position (XYZ-O): %.3f, %.3f, %.3f - %.3f", targetActor.positionX, targetActor.positionY, targetActor.positionZ, targetActor.rotation)); | ||||
| 	player:SendMessage(messageID, sender, string.format("Actor ID: 0x%X", targetActor.actorId)); | ||||
| 	player:SendMessage(messageID, sender, string.format("Actor ID: 0x%X", targetActor.Id)); | ||||
| 	player:SendMessage(messageID, sender, string.format("Class ID: %d", targetActor:GetActorClassId())); | ||||
| 	player:SendMessage(messageID, sender, string.format("Class Name: %s", targetActor.className));	 | ||||
| end | ||||
| @@ -46,13 +46,13 @@ function onTrigger(player, argc, command, var1, var2, var3) | ||||
|                        q2 = GetStaticActor(var1); | ||||
|                         | ||||
|                         if q2 ~= nil then  | ||||
|                         q3 = q2.actorId; | ||||
|                         q3 = q2.Id; | ||||
|                             message = ("removing quest "..var1); | ||||
|                             printf(q3); | ||||
|                             q4 = bit32.band(q3, 0xA0F00000); | ||||
|                             printf(q4); | ||||
|                              | ||||
|                             --player:RemoveQuest(quest.actorName); | ||||
|                             --player:RemoveQuest(quest.Name); | ||||
|                         end | ||||
|                     else | ||||
|                         message = ("remove error: either incorrect ID or quest "..var1.." isn't active on character"); | ||||
|   | ||||
| @@ -18,11 +18,11 @@ function onTrigger(player, argc, zone) | ||||
|      | ||||
|     if player then | ||||
|         local messageID = MESSAGE_TYPE_SYSTEM_ERROR; | ||||
|         zone = zone or player:GetZoneID(); | ||||
|         zone = zone or player.CurrentArea.ZoneId; | ||||
|         player:SendMessage(messageID, "[reloadzones] ", string.format("Reloading zone: %u", zone)); | ||||
|     --[[ todo: get this working legit | ||||
|         player:GetZone():Clear(); | ||||
|         player:GetZone():AddActorToZone(player); | ||||
|         player.CurrentArea:Clear(); | ||||
|         player.CurrentArea:AddActorToZone(player); | ||||
|         player:SendInstanceUpdate(); | ||||
|         ]] | ||||
|     end; | ||||
|   | ||||
| @@ -20,16 +20,24 @@ function onTrigger(player, argc, actorClassId, width, height) | ||||
|     local rot = pos[4]; | ||||
|     local zone = pos[5]; | ||||
|           | ||||
| <<<<<<< HEAD | ||||
|     actorClassId = tonumber(actorClassId); | ||||
|      | ||||
|     if (actorClassId ~= nil) then        | ||||
|         zone = player:GetZone(); | ||||
|         local w = tonumber(width) or 0; | ||||
| ======= | ||||
| 	actorClassId = tonumber(actorClassId); | ||||
| 	 | ||||
| 	if (actorClassId ~= nil) then | ||||
| 		local w = tonumber(width) or 0; | ||||
| >>>>>>> ioncannon/quest_system | ||||
|         local h = tonumber(height) or 0; | ||||
|         printf("%f %f %f", x, y, z); | ||||
|         --local x, y, z = player.GetPos(); | ||||
|         for i = 0, w do | ||||
|             for j = 0, h do | ||||
| <<<<<<< HEAD | ||||
|                 actor = zone:SpawnActor(actorClassId, "test", x + (i - (w / 2) * 3), y, z + (j - (h / 2) * 3), rot); | ||||
|                 actor.SetAppearance(1001149) | ||||
|             end | ||||
| @@ -40,4 +48,16 @@ function onTrigger(player, argc, actorClassId, width, height) | ||||
|         player:SendMessage(0x20, "", "This actor class id cannot be spawned."); | ||||
|     end | ||||
|      | ||||
| ======= | ||||
| 				actor = player.CurrentArea:SpawnActor(actorClassId, "test", pos[0] + (i - (w / 2) * 3), pos[1], pos[2] + (j - (h / 2) * 3), pos[3]); | ||||
| 				actor.SetAppearance(1001149) | ||||
| 			end | ||||
| 		end | ||||
| 	end | ||||
| 	 | ||||
| 	if (actor == nil) then | ||||
| 		player:SendMessage(0x20, "", "This actor class id cannot be spawned."); | ||||
| 	end | ||||
| 	 | ||||
| >>>>>>> ioncannon/quest_system | ||||
| end; | ||||
| @@ -108,7 +108,7 @@ function onTrigger(player, argc, name,  width, height, blockCount) | ||||
| 		for b = 0, blocks do | ||||
|             for i = 0, w do | ||||
|                 for j = 0, h do | ||||
|                     local actor = player.GetZone().SpawnActor(2104001, 'ass', x + (i * 1), y, z + (j * 1), rot, 0, 0, true); | ||||
|                     local actor = player.CurrentArea:SpawnActor(2104001, 'ass', x + (i * 1), y, z + (j * 1), rot, 0, 0, true); | ||||
|                     actor.ChangeNpcAppearance(modelIds[name]); | ||||
|                     actor.SetMaxHP(5000); | ||||
|                     actor.SetHP(5000); | ||||
|   | ||||
| @@ -18,7 +18,7 @@ function onTrigger(player, argc) | ||||
| 		player:SendGameMessage(player, worldMaster, 34108, 0x20);	 | ||||
| 		player:SendGameMessage(player, worldMaster, 50011, 0x20);	 | ||||
|  | ||||
| 		director = player:GetZone():CreateDirector("Quest/QuestDirectorMan0l001"); | ||||
| 		director = player.CurrentArea:CreateDirector("Quest/QuestDirectorMan0l001"); | ||||
| 		player:AddDirector(director); | ||||
| 		player:SetLoginDirector(director); | ||||
| 		 | ||||
|   | ||||
| @@ -31,7 +31,7 @@ function onTrigger(player, argc, animation, regionId, layoutId, maxLayoutId) | ||||
| 		actorClassId = tonumber(actorClassId); | ||||
| 		 | ||||
| 		if (actorClassId ~= nil) then		 | ||||
| 			zone = player:GetZone(); | ||||
| 			zone = player.CurrentArea; | ||||
| 			actor = zone:SpawnActor(actorClassId, "mapobj", pos[1], pos[2], pos[3], tonumber(regionId), tonumber(layoutId)); | ||||
| 			 | ||||
| 			 print("test"); | ||||
|   | ||||
| @@ -16,7 +16,7 @@ function onTrigger(player, argc) | ||||
|  | ||||
|     if player and player.currentTarget then | ||||
|         local actor = GetWorldManager():GetActorInWorld(player.currentTarget) or nil; | ||||
|         actor.Ability(23459, actor.actorId); | ||||
|         actor.Ability(23459, actor.Id); | ||||
|  | ||||
|     else | ||||
|         print(sender.."unable to add experience, ensure player name is valid."); | ||||
|   | ||||
| @@ -24,13 +24,13 @@ function onTrigger(player, argc, weather, updateTime, zonewide) | ||||
|         message = string.format("changed weather to %u ", weather); | ||||
|          | ||||
|         if zonewide ~= 0 then | ||||
|             message = string.format(message.."for zone %u", player:GetZoneID()); | ||||
|             message = string.format(message.."for zone %u", player.CurrentArea.ZoneId); | ||||
|         else | ||||
|             message = message..player:GetName(); | ||||
|         end; | ||||
|          | ||||
|         -- weatherid, updateTime | ||||
|         player:GetZone():ChangeWeather(weather, updateTime, player, zonewide ~= 0); | ||||
|         player.CurrentArea:ChangeWeather(weather, updateTime, player, zonewide ~= 0); | ||||
|         player:SendMessage(messageID, sender, message); | ||||
|     end; | ||||
|     print(sender..message); | ||||
|   | ||||
| @@ -159,7 +159,7 @@ function onTrigger(player, argc, width, height, blockCount) | ||||
|         for b = 0, blocks do | ||||
|             for i = 0, w do | ||||
|                 for j = 0, h do | ||||
|                     local actor = player.GetZone().SpawnActor(2104001, 'ass', x + (i * 1), y, z + (j * 1), rot, 0, 0, true); | ||||
|                     local actor = player.CurrentArea.SpawnActor(2104001, 'ass', x + (i * 1), y, z + (j * 1), rot, 0, 0, true); | ||||
|                     --actor.ChangeNpcAppearance(2200905); | ||||
|                     actor.SetMaxHP(500); | ||||
|                     actor.SetHP(500); | ||||
|   | ||||
| @@ -24,6 +24,6 @@ function onSkillFinish(caster, target, skill, action, actionContainer) | ||||
|     if caster != target then | ||||
|         caster.AddHP(action.amount / 2) | ||||
|         --33012: You recover [amount] HP. | ||||
|         actionContainer.AddHPAbsorbAction(caster.actorId, 33012, (action.amount / 2)); | ||||
|         actionContainer.AddHPAbsorbAction(caster.Id, 33012, (action.amount / 2)); | ||||
|     end | ||||
| end; | ||||
| @@ -39,6 +39,6 @@ function onSkillFinish(caster, target, skill, action, actionContainer) | ||||
|  | ||||
|         caster.AddMP(mpToReturn); | ||||
|         --30452: You recover x MP. | ||||
|         actionContainer.AddMPAbsorbAction(caster.actorId, 30452, mpToReturn); | ||||
|         actionContainer.AddMPAbsorbAction(caster.Id, 30452, mpToReturn); | ||||
|     end | ||||
| end; | ||||
| @@ -14,8 +14,8 @@ function onCreate(starterPlayer, contentArea, director) | ||||
| 	mob1 = GetWorldManager().SpawnBattleNpcById(3, contentArea); | ||||
| 	mob2 = GetWorldManager().SpawnBattleNpcById(4, contentArea); | ||||
|     mob3 = GetWorldManager().SpawnBattleNpcById(5, contentArea); | ||||
| 	starterPlayer.currentParty:AddMember(papalymo.actorId); | ||||
|     starterPlayer.currentParty:AddMember(yda.actorId); | ||||
| 	starterPlayer.currentParty:AddMember(papalymo.Id); | ||||
|     starterPlayer.currentParty:AddMember(yda.Id); | ||||
| 	starterPlayer:SetMod(modifiersGlobal.MinimumHpLock, 1); | ||||
| 	 | ||||
| 	 | ||||
|   | ||||
| @@ -88,7 +88,7 @@ function onEventStarted(player, actor, triggerName) | ||||
| 	wait(5); | ||||
| 	 | ||||
| 	player:SendMessage(0x20, "", "ContentFinished"); | ||||
| 	player:GetZone():ContentFinished();	 | ||||
| 	player.CurrentArea:ContentFinished();	 | ||||
| 	wait(5); | ||||
| 	player:SendMessage(0x20, "", "Remove from party"); | ||||
| 	player:RemoveFromCurrentPartyAndCleanup(); | ||||
| @@ -136,5 +136,5 @@ function onCommand(player, command) | ||||
| end | ||||
|  | ||||
| function main(director, contentGroup) | ||||
|     onCreateContentArea(director:GetPlayerMembers(), director, director:GetZone(), contentGroup); | ||||
|     onCreateContentArea(director:GetPlayerMembers(), director, director.CurrentArea, contentGroup); | ||||
| end; | ||||
| @@ -73,7 +73,7 @@ function onEventStarted(player, director, triggerName) | ||||
| 	]] | ||||
| 	 | ||||
| 	man0l0Quest:StartSequence(10);	 | ||||
| 	player:GetZone():ContentFinished(); | ||||
| 	player.CurrentArea:ContentFinished(); | ||||
| 	GetWorldManager():DoZoneChange(player, 230, "PrivateAreaMasterPast", 1, 15, -826.868469, 6, 193.745865, -0.008368492); | ||||
| 	player:EndEvent(); | ||||
| end | ||||
|   | ||||
| @@ -59,6 +59,6 @@ function onEventStarted(player, actor, triggerName) | ||||
| 	man0u0Quest:NextPhase(10);	 | ||||
| 	player:EndEvent();	 | ||||
| 	 | ||||
| 	player:GetZone():ContentFinished(); | ||||
| 	player.CurrentArea:ContentFinished(); | ||||
| 	GetWorldManager():DoZoneChange(player, 175, "PrivateAreaMasterPast", 3, 15, -22.81, 196, 87.82, 2.98); | ||||
| end | ||||
|   | ||||
| @@ -14,6 +14,6 @@ function onBlock(effect, attacker, defender, skill, action, actionContainer) | ||||
|  | ||||
|     --33008: You recover x HP from Aegis Boon | ||||
|     defender.AddHP(absorbAmount); | ||||
|     actionContainer.AddHPAction(defender.actorId, 33008, absorbAmount); | ||||
|     actionContainer.AddHPAction(defender.Id, 33008, absorbAmount); | ||||
|     defender.statusEffects.RemoveStatusEffect(effect, actionContainer); | ||||
| end; | ||||
| @@ -18,7 +18,7 @@ function onHit(effect, attacker, defender, skill, action, actionContainer) | ||||
|  | ||||
|         attacker.AddHP(absorbAmount); | ||||
|         --30332: You absorb hp from target | ||||
|         actionContainer.AddHPAbsorbAction(defender.actorId, 30332, absorbAmount) | ||||
|         actionContainer.AddHPAbsorbAction(defender.Id, 30332, absorbAmount) | ||||
|         --Bloodbath is lost after absorbing hp | ||||
|         defender.statusEffects.RemoveStatusEffect(effect,actionContainer, 30331, false); | ||||
|     end | ||||
|   | ||||
| @@ -22,7 +22,7 @@ function onDamageTaken(effect, attacker, defender, skill, action, actionContaine | ||||
|  | ||||
|         defender.AddHP(absorbAmount); | ||||
|         --30451: You recover [absorbAmount] HP. | ||||
|         actionContainer.AddHPAction(defender.actorId, 30451, absorbAmount) | ||||
|         actionContainer.AddHPAction(defender.Id, 30451, absorbAmount) | ||||
|         --Dread Spike is lost after absorbing hp | ||||
|         defender.statusEffects.RemoveStatusEffect(effect, actionContainer, 30331, false); | ||||
|     end | ||||
|   | ||||
| @@ -20,7 +20,7 @@ function onEvade(effect, attacker, defender, skill, action, actionContainer) | ||||
|     local mpToReturn = percent * action.amountMitigated; | ||||
|     defender.AddMP(math.ceil(mpToReturn)); | ||||
|     --33010: You recover x MP from Featherfoot | ||||
|     actionContainer.AddMPAction(defender.actorId, 33010, mpToReturn); | ||||
|     actionContainer.AddMPAction(defender.Id, 33010, mpToReturn); | ||||
|     --Featherfoot is lost after evading | ||||
|     defender.statusEffects.RemoveStatusEffect(effect, actionContainer, 30331, false); | ||||
| end; | ||||
| @@ -14,6 +14,6 @@ function onHit(effect, attacker, defender, skill, action, actionContainer) | ||||
|  | ||||
|         local amount = math.floor((healPercent * action.amount) + 1); | ||||
|         attacker.AddHP(amount); | ||||
|         actionContainer.AddHPAbsorbAction(defender.actorId, 30332, amount); | ||||
|         actionContainer.AddHPAbsorbAction(defender.Id, 30332, amount); | ||||
|     end | ||||
| end; | ||||
| @@ -10,6 +10,6 @@ function onHit(effect, attacker, defender, skill, action, actionContainer) | ||||
|  | ||||
|         local amount = math.floor((healPercent * action.amount) + 1); | ||||
|         attacker.AddHP(amount); | ||||
|         actionContainer.AddHPAbsorbAction(defender.actorId, 30332, amount); | ||||
|         actionContainer.AddHPAbsorbAction(defender.Id, 30332, amount); | ||||
|     end | ||||
| end; | ||||
| @@ -14,6 +14,6 @@ function onHit(effect, attacker, defender, skill, action, actionContainer) | ||||
|  | ||||
|         local amount = math.floor((healPercent * action.amount) + 1); | ||||
|         attacker.AddHP(amount); | ||||
|         actionContainer.AddHPAbsorbAction(defender.actorId, 30332, amount); | ||||
|         actionContainer.AddHPAbsorbAction(defender.Id, 30332, amount); | ||||
|     end | ||||
| end; | ||||
| @@ -6,7 +6,7 @@ function onHit(effect, attacker, defender, skill, action, actionContainer) | ||||
|         --Necrogenesis returns 75% of damage done rounded up(?) as MP. | ||||
|         local hpToReturn = math.ceil(0.75 * action.amount); | ||||
|         attacker.AddHP(hpToReturn); | ||||
|         actionContainer.AddHPAbsorbAction(defender.actorId, 33012, hpToReturn); | ||||
|         actionContainer.AddHPAbsorbAction(defender.Id, 33012, hpToReturn); | ||||
|         attacker.statusEffects.RemoveStatusEffect(effect, actionContainer, 30331, false); | ||||
|     end | ||||
| end | ||||
| @@ -19,6 +19,6 @@ function onBlock(effect, attacker, defender, skill, action, actionContainer) | ||||
|         local mpToReturn = math.ceil(0.10 * action.amount); | ||||
|         defender.AddMP(math.ceil(mpToReturn)); | ||||
|         --33009: You recover x MP from Outmaneuver | ||||
|         actionContainer.AddMPAction(defender.actorId, 33009, mpToReturn); | ||||
|         actionContainer.AddMPAction(defender.Id, 33009, mpToReturn); | ||||
|     end | ||||
| end; | ||||
| @@ -27,7 +27,7 @@ function onCrit(effect, attacker, defender, skill, action, actionContainer) | ||||
|     healAmount = math.Clamp(healAmount, 0, attacker.GetMaxHP() - attacker.GetHP()); | ||||
|     attacker.AddHP(healAmount); | ||||
|     --33012: You recover [healAmount] HP. | ||||
|     actionContainer.AddHPAbsorbAction(defender.actorId, 33008, healAmount); | ||||
|     actionContainer.AddHPAbsorbAction(defender.Id, 33008, healAmount); | ||||
| end; | ||||
|  | ||||
| --"Effect fades over time" | ||||
|   | ||||
| @@ -4,5 +4,5 @@ require("modifiers") | ||||
| function onDamageTaken(effect, attacker, defender, skill, action, actionContainer) | ||||
|     local mpToRestore = action.amount * 0.30; | ||||
|     defender.AddMP(mpToRestore); | ||||
|     actionContainer.AddMPAction(defender.actorId, 33011, mpToRestore); | ||||
|     actionContainer.AddMPAction(defender.Id, 33011, mpToRestore); | ||||
| end | ||||
| @@ -18,5 +18,5 @@ end; | ||||
| function onDamageTaken(effect, attacker, defender, skill, action, actionContainer) | ||||
|     local mpToRestore = action.amount * 0.30; | ||||
|     defender.AddMP(mpToRestore); | ||||
|     actionContainer.AddMPAction(defender.actorId, 33011, mpToRestore); | ||||
|     actionContainer.AddMPAction(defender.Id, 33011, mpToRestore); | ||||
| end | ||||
| @@ -10,6 +10,6 @@ function onDamageTaken(effect, attacker, defender, skill, action, actionContaine | ||||
|         --30350: Counter! You hit target for x points of damage | ||||
|         --There are counter messages for blocks, can Vengeance be blocked/parried? | ||||
|         attacker.DelHP(amount, actionContainer); | ||||
|         actionContainer.AddHitAction(attacker.actorId, 30350, amount); | ||||
|         actionContainer.AddHitAction(attacker.Id, 30350, amount); | ||||
|     end; | ||||
| end; | ||||
| @@ -263,7 +263,7 @@ function doExitDoor(player, quest, npc) | ||||
| 		 | ||||
| 		quest:StartSequence(SEQ_005); | ||||
| 		 | ||||
| 		contentArea = player:GetZone():CreateContentArea(player, "/Area/PrivateArea/Content/PrivateAreaMasterSimpleContent", "man0l01", "SimpleContent30002", "Quest/QuestDirectorMan0l001"); | ||||
| 		contentArea = player.CurrentArea:CreateContentArea(player, "/Area/PrivateArea/Content/PrivateAreaMasterSimpleContent", "man0l01", "SimpleContent30002", "Quest/QuestDirectorMan0l001"); | ||||
| 		 | ||||
| 		if (contentArea == nil) then | ||||
| 			return; | ||||
|   | ||||
		Reference in New Issue
	
	Block a user