1
0
Fork 0
mirror of https://github.com/AquariaOSE/Aquaria.git synced 2024-12-29 08:15:46 +00:00
Aquaria/game_scripts/scripts/maps/node_songcavecrystal.lua

196 lines
4.2 KiB
Lua

-- Copyright (C) 2007, 2010 - Bit-Blot
--
-- This file is part of Aquaria.
--
-- Aquaria is free software; you can redistribute it and/or
-- modify it under the terms of the GNU General Public License
-- as published by the Free Software Foundation; either version 2
-- of the License, or (at your option) any later version.
--
-- This program is distributed in the hope that it will be useful,
-- but WITHOUT ANY WARRANTY; without even the implied warranty of
-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
--
-- See the GNU General Public License for more details.
--
-- You should have received a copy of the GNU General Public License
-- along with this program; if not, write to the Free Software
-- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
if not v then v = {} end
if not AQUARIA_VERSION then dofile("scripts/entities/entityinclude.lua") end
function init(me)
--[[
if isFlag(FLAG_SONGCAVECRYSTAL, 1) then
node_setCursorActivation(me, false)
else
node_setCursorActivation(me, true)
end
]]--
end
local function runScene(me)
setCutscene(1, 1)
setFlag(FLAG_SONGCAVECRYSTAL, 1)
local ghost = node_getNearestEntity(me, "ErulianGhost")
local oldx, oldy = entity_getPosition(ghost)
setCameraLerpDelay(1.0)
cam_toNode(getNode("CRYSTALCAM1"))
esetv(getNaija(), EV_LOOKAT, 0)
entity_idle(getNaija())
entity_swimToNode(getNaija(), getNode("NAIJACRYSTAL"))
entity_watchForPath(getNaija())
entity_idle(getNaija())
entity_flipToEntity(getNaija(), ghost)
overrideZoom(0.9, 10)
watch(2)
voice("Naija_SongCrystal1")
watchForVoice()
fadeOutMusic(3)
local n = getNode("NAIJATOUCHCRYSTAL")
entity_animate(getNaija(), "pushForward")
watch(0.4)
entity_setPosition(getNaija(), node_x(n), node_y(n), 1, 0, 0, 1)
watch(1.0)
entity_idle(getNaija())
watch(0.5)
entity_animate(getNaija(), "touchCrystal")
while entity_isAnimating(getNaija()) do
watch(FRAME_TIME)
end
entity_heal(getNaija(), 999)
watch(0.2)
local crystalNode = me
spawnParticleEffect("SongCrystalActivate", node_x(crystalNode), node_y(crystalNode))
playMusic("Mystery")
setSceneColor(0.5, 0.5, 1, 10)
watch(3)
entity_alpha(ghost, 0.5, 3)
setNaijaHeadTexture("")
cam_toEntity(ghost)
entity_setPosition(ghost, entity_x(ghost), entity_y(ghost)-256, 4, 0, 0, 1)
entity_alpha(ghost, 1, 4)
watch(1)
voice("Naija_SongCrystal2")
watch(2)
entity_idle(getNaija())
entity_animate(getNaija(), "look45", LOOP_INF, LAYER_HEAD)
watch(1)
cam_toNode(getNode("CRYSTALCAM2"))
local n = getNode("NAIJACRYSTAL")
entity_animate(getNaija(), "pushBack")
watch(0.2)
entity_setPosition(getNaija(), node_x(n), node_y(n), 1.0, 0, 0, 1)
entity_animate(getNaija(), "look45", LOOP_INF, LAYER_HEAD)
watch(0.5)
spawnParticleEffect("Erulian", entity_x(ghost), entity_y(ghost))
watch(0.5)
entity_idle(getNaija())
entity_animate(getNaija(), "look45", LOOP_INF, LAYER_HEAD)
watchForVoice()
watch(0.5)
voice("Naija_SongCrystal3")
watch(2.5)
vision("Erulian", 4, true)
watchForVoice()
spawnParticleEffect("SongCrystalActivate", node_x(crystalNode), node_y(crystalNode))
overrideZoom(1.5, 2)
entity_alpha(ghost, 0, 5)
fadeOutMusic(6)
setNaijaHeadTexture("Pain")
esetv(ghost, EV_LOOKAT, 0)
cam_toEntity(getNaija())
entity_animate(getNaija(), "look-45", LOOP_INF, LAYER_HEAD)
voice("Naija_SongCrystal3b")
watchForVoice()
watch(1.5)
voice("Naija_SongCrystal4")
watch(1.4)
overrideZoom(1, 1)
cam_toNode(getNode("CRYSTALCAM2"))
setNaijaHeadTexture("")
entity_idle(getNaija())
watchForVoice()
entity_idle(getNaija())
cam_toEntity(getNaija())
setSceneColor(1, 1, 1, 4)
watch(2)
setCameraLerpDelay(0)
wait(1)
node_setCursorActivation(me, false)
overrideZoom(0)
learnSong(SONG_PULL)
setCutscene(0)
setControlHint(getStringBank(36), 0, 0, 0, 10, "", SONG_BIND)
playMusic("Cave")
voice("naija_song_bind")
entity_setPosition(ghost, oldx, oldy)
esetv(getNaija(), EV_LOOKAT, 1)
setBeacon(BEACON_ENERGYTEMPLE, true, -100, -50, 1, 0.25, 0.25)
beaconEffect(BEACON_ENERGYTEMPLE)
end
function activate(me)
runScene(me)
end
function update(me, dt)
if isFlag(FLAG_SONGCAVECRYSTAL, 0) and node_isEntityIn(me, getNaija()) then
runScene(me)
end
end