123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128 |
- --[[
- Script Name : SpawnScripts/Nektropos1/MaltusEverling.lua
- Script Author : smash
- Script Date : 2018.06.07
- Script Purpose :
- :
- --]]
- function spawn(NPC)
- SetPlayerProximityFunction(NPC, 15, "StartSpeech", "Filler")
- end
- function Filler()
- end
- function StartSpeech(NPC, Player)
- if GetTempVariable(NPC, "SpeechStarted") ~= "true" then
- FaceTarget(NPC, Player)
- SetTempVariable(NPC, "SpeechStaarted", "true")
- Say(NPC, "Why have you come to disturb me and my family?")
- AddTimer(NPC, 2500, "Speech2")
- SetTempVariable(NPC, "TargetPlayer", Player)
- end
- end
- function Speech2(NPC)
- Say(NPC, "You enter my home without welcome or being bid to enter.")
- AddTimer(NPC, 2500, "Speech3")
- end
- function Speech3(NPC)
- Say(NPC, "Then you attack my family and slaughter them.")
- AddTimer(NPC, 2500, "Speech4")
- end
- function Speech4(NPC)
- Say(NPC, "You have destroyed most of my research subjects.")
- AddTimer(NPC, 2500, "Speech5")
- end
- function Speech5(NPC)
- Say(NPC, "But it is a minor setback. I shall recreate them from your remains.")
- AddTimer(NPC, 2500, "Speech6")
- end
- function Speech6(NPC)
- Say(NPC, "Now to harvest the parts necessary to reconstruct my family.")
- AddTimer(NPC, 2500, "Speech7")
- end
- function Speech7(NPC)
- local pet = GetSpawnByLocationID(GetZone(NPC), 616650)
- if pet ~= nil then
- SetTempVariable(NPC, "pet", pet)
- end
-
- Say(NPC, "I should prepare the machine now, while my creations take care of you.")
- MoveToLocation(NPC, 211, -16, 8.2, 2, "", true)
- MoveToLocation(NPC, 215, -16, 9.2, 2, "", true)
- MoveToLocation(NPC, 214.6, -16, 16.56, 2, "", true)
- MoveToLocation(NPC, 211.9, -16, 17.79, 2, "DelayedPathing")
- end
- function DelayedPathing(NPC)
- SetHeading(NPC, 0)
- AddTimer(NPC, 2500, "DoDelayedPathing")
- end
- function DoDelayedPathing(NPC)
- MoveToLocation(NPC, 214.6, -16, 16.56, 2, "", true)
- MoveToLocation(NPC, 215, -16, 9.2, 2, "", true)
- MoveToLocation(NPC, 211.9, -16, 9.5, 2, "Speech8")
- end
- function Speech8(NPC)
- SetHeading(NPC, 180)
- AddTimer(NPC, 2500, "DelayedSpeech")
- end
- function DelayedSpeech(NPC)
- Say(NPC, "What, what is happening?")
- local zone = GetZone(NPC)
- --Spawn the lightning effects
- SpawnByLocationID(zone, 616653)
- SpawnByLocationID(zone, 616654)
- SpawnByLocationID(zone, 1585440)
- AddTimer(NPC, 2500, "Speech9")
- end
- function Speech9(NPC)
- local player = GetTempVariable(NPC, "TargetPlayer")
-
- if player ~= nil then
- FaceTarget(NPC, player)
- end
-
- Say(NPC, "What did you do to my machine? I know this is your fault!")
- AddTimer(NPC, 2500, "BeginAttack")
- end
- function BeginAttack(NPC)
- Say(NPC, "Stop what you are doing and destroy these intruders.")
- SpawnSet(NPC, "attackable", "1")
- local player = GetTempVariable(NPC, "TargetPlayer")
- local pet = GetTempVariable(NPC, "pet")
- if pet ~= nil then
- SpawnSet(pet, "attackable", "1")
- end
-
- local zone = GetZone(NPC)
- local laborer1 = GetSpawnByLocationID(zone, 616652)
- local laborer2 = GetSpawnByLocationID(zone, 616649)
-
- SpawnSet(laborer1, "attackable", "1")
- SpawnSet(laborer2, "attackable", "1")
- SpawnSet(laborer1, "show_level", "1")
- SpawnSet(laborer2, "show_level", "1")
-
- if player ~= nil then
- Attack(NPC, player)
- Attack(laborer1, player)
- Attack(laborer2, player)
- SpawnSet(laborer1, "show_leve", "1")
- SpawnSet(laborer2, "show_level", "1")
- SpawnSet(NPC, "show_level", "1")
- end
- end
|