1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 |
- --[[
- Script Name : SpawnScripts/Castleview/planter_5.lua
- Script Purpose : planter_5
- Script Author : Scatman
- Script Date : 2009.10.02
- Script Notes :
- --]]
- local HIGH_ELF_MENTOR_QUEST_2 = 224
- local HIGH_ELF_MENTOR_QUEST_3 = 225
- local HIGH_ELF_MENTOR_QUEST_4 = 226
- function spawn(NPC)
- SetRequiredQuest(NPC, HIGH_ELF_MENTOR_QUEST_2, 5)
- SetPlayerProximityFunction(NPC, 10, "InRange2", "LeaveRange")
- SetPlayerProximityFunction(NPC, 10, "InRange3", "LeaveRange")
- end
- function hailed(NPC, Spawn)
- end
- function respawn(NPC)
- spawn(NPC)
- end
- function casted_on(Target, Caster, SpellName)
- if HasQuest(Caster, HIGH_ELF_MENTOR_QUEST_2) and not QuestStepIsComplete(Caster, HIGH_ELF_MENTOR_QUEST_2, 5) and SpellName == "Plant Seeds" then
- conversation = CreateConversation()
- AddConversationOption(conversation, "Plant the seeds.", "PlantSeeds")
- StartDialogConversation(conversation, 1, Target, Caster, "This is one of the planters that Vindain spoke of.")
- end
- end
- function PlantSeeds(NPC, Spawn)
- SetStepComplete(Spawn, HIGH_ELF_MENTOR_QUEST_2, 5)
- local GreenWisp = SpawnMob(GetZone(Spawn), 2360169, false, 712, -15.4961, -162.534, 200)
- local agitated_spirit = SpawnMob(GetZone(Spawn), 2360057, false, 712, -15.4961, -162.534, 200)
- if agitated_spirit ~= nil then
- AddHate(agitated_spirit, Spawn, 100)
- end
- Despawn(GreenWisp, 300000)
-
- conversation = CreateConversation()
- AddConversationOption(conversation, "Leave the planter.")
- StartDialogConversation(conversation, 1, NPC, Spawn, "You place a seed, some soil, and some water into the planter. The Green Wisp plant begins to grow, but then gurgles and pulls itself from the planter!")
- end
- function InRange2(NPC, Spawn)
- Say(NPC, "InRange2")
- if HasQuest(Spawn, HIGH_ELF_MENTOR_QUEST_3) and GetQuestStep(Spawn, HIGH_ELF_MENTOR_QUEST_3) == 2 then
- Say(NPC, "Passed quest check, spawning shrub")
- local corrupted_green_wisp = GetSpawn(Spawn, 2360130)
- if corrupted_green_wisp == nil then
- corrupted_green_wisp = SpawnMob(GetZone(NPC), 2360130, false, 712.015, -15.4941, -162.501, 200)
- Despawn(corrupted_green_wisp, 180000)
- end
- end
- end
- function InRange3(NPC, Spawn)
- if HasQuest(Spawn, HIGH_ELF_MENTOR_QUEST_4) and GetQuestStep(Spawn, HIGH_ELF_MENTOR_QUEST_4) == 1 then
- local Spirit = SpawnMob(GetZone(NPC), 2360059, false, 710.408, -15.5306, -161.493, 200)
- Despawn(Spirit, 120000)
- end
- end
- function LeaveRange(NPC, Spawn)
- end
|