public WorldSong(TLoZPlayer player, Song song, SongVariant variant) { Player = player; Song = song; Variant = variant; Path = Song.GetPath(Variant); Duration = Song.GetDuration(Variant); }
public void Play(TLoZPlayer tlozPlayer, SongVariant variant) { //Main.PlaySound(Mod.GetSoundSlot(SoundType.Music, )) ModContent.GetInstance <TLoZWorld>().PlaySong(tlozPlayer, this, variant); Vector2 playerPosition = tlozPlayer.player.position; CombatText.NewText(new Rectangle((int)playerPosition.X, (int)playerPosition.Y, tlozPlayer.player.width, tlozPlayer.player.height), Color.PaleVioletRed, DisplayName); OnPlay(tlozPlayer, variant); }
public override void PostPlay(TLoZPlayer tlozPlayer, SongVariant variant) { Mount mount = new Mount(); if (!mount.CanMount(MountID.Unicorn, tlozPlayer.player)) { return; } mount.SetMount(MountID.Unicorn, tlozPlayer.player); //tlozPlayer.player.mount = mount; }
public bool TryPlay(TLoZPlayer tlozPlayer, SongVariant variant = SongVariant.Normal) { if (ModContent.GetInstance <TLoZWorld>().IsSongPlaying) { Main.NewText("There is already a song playing in the world!"); return(false); } if (!CanPlay(tlozPlayer)) { return(false); } Play(tlozPlayer, variant); return(true); }
public override void OnPlay(TLoZPlayer tlozPlayer, SongVariant variant) { for (int i = 0; i < Main.player.Length; i++) { Player player = Main.player[i]; if (!player.active || player.dead) { return; } for (int j = 0; j < player.CountBuffs(); j++) { int buffType = player.buffType[j]; if (Main.debuff[buffType] && BuffLoader.CanBeCleared(buffType)) { player.ClearBuff(buffType); } } } }
public override void PostPlay(TLoZPlayer tlozPlayer, SongVariant variant) { tlozPlayer.InvertedSongOfSoaringPosition = tlozPlayer.player.position; }
public override void OnPlay(TLoZPlayer tlozPlayer, SongVariant variant) { ModContent.GetInstance <TLoZWorld>().ToggleInvertedSongOfTime(); }
public virtual void PostPlay(TLoZPlayer tlozPlayer, SongVariant variant) { }
public int GetDuration(SongVariant variant) => variant == SongVariant.Normal ? NormalDuration : FullDuration;
public string GetPath(SongVariant variant) => variant == SongVariant.Normal ? NormalSongPath : FullSongPath;
public override void PostPlay(TLoZPlayer tlozPlayer, SongVariant variant) { tlozPlayer.player.Teleport(tlozPlayer.InvertedSongOfSoaringPosition, 4); tlozPlayer.InvertedSongOfSoaringPosition = default; }
public override void OnPlay(TLoZPlayer tlozPlayer, SongVariant variant) { }
public void PlaySong(TLoZPlayer player, Song song, SongVariant variant) { CurrentSong = new WorldSong(player, song, variant); TicksLeftOnSong = song.GetDuration(variant); }