| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- using GadgetCore.API;
- using System;
- using System.Collections;
- using System.Collections.Generic;
- using System.Linq;
- using System.Reflection;
- using System.Text;
- using UnityEngine;
- namespace UltimateNPCWeapons.Infos
- {
- public class RingaboltsVengeanceItemInfo : ItemInfo
- {
- public RingaboltsVengeanceItemInfo(ItemType Type, string Name, string Desc, Texture Tex, int Value = -1, EquipStats Stats = default, Texture HeldTex = null, Texture HeadTex = null, Texture BodyTex = null, Texture ArmTex = null)
- : base(Type, Name, Desc, Tex, Value, Stats, HeldTex, HeadTex, BodyTex, ArmTex)
- {
- }
- public RingaboltsVengeanceItemInfo(ItemType Type, string Name, string Desc, Material Mat, int Value = -1, EquipStats Stats = default, Material HeldMat = null, Material HeadMat = null, Material BodyMat = null, Material ArmMat = null)
- : base(Type, Name, Desc, Mat, Value, Stats, HeldMat, HeadMat, BodyMat, ArmMat)
- {
- }
- private static readonly FieldInfo canAttack = typeof(PlayerScript).GetField("canAttack", BindingFlags.NonPublic | BindingFlags.Instance);
- private static readonly FieldInfo attacking = typeof(PlayerScript).GetField("attacking", BindingFlags.NonPublic | BindingFlags.Instance);
- private static readonly FieldInfo t = typeof(PlayerScript).GetField("t", BindingFlags.NonPublic | BindingFlags.Instance);
- private static readonly FieldInfo r = typeof(PlayerScript).GetField("r", BindingFlags.NonPublic | BindingFlags.Instance);
- public IEnumerator Attack(PlayerScript script)
- {
- canAttack.SetValue(script, false);
- attacking.SetValue(script, true);
- script.StartCoroutine(script.ATKSOUND());
- //script.GetComponent<AudioSource>().PlayOneShot((AudioClip)Resources.Load("Au/excal"), Menuu.soundLevel / 10f);
- script.Animate(3);
- yield return new WaitForSeconds(0.3f);
- script.attackCube.SetActive(true);
- yield return new WaitForSeconds(0.2f);
- script.attackCube.SetActive(false);
- attacking.SetValue(script, false);
- yield return new WaitForSeconds(0.1f);
- canAttack.SetValue(script, true);
- yield break;
- }
- }
- }
|