void Start() { animations = new PlayerAnimations(this); //last_aim_direction=last_move_direction=Vector3.forward; legit_timer = new Timer(888, OnLegit); onGround_timer = new Timer(200, OnGroundTimer); mp_regen_timer = new Timer(stats.MP_regen_delay, OnMPregenTimer); hp = stats.HP; mp = stats.MP; if (regen_multi == -1) { mp = 0; } //Data set ability_containers = new List <AbilityContainer>(); for (int i = 0; i < Data.Abilities.Count; i++) { var abb = new AbilityContainer(this, Data.Abilities[i]); ability_containers.Add(abb); } _Color = Data.color; controllerNumber = Data.controllerNumber; //NotificationCenter.Instance.addListener(OnExplosion,NotificationType.Explode); NotificationCenter.Instance.addListener(OnKnockback, NotificationType.HaxKnockback); }
public void Load() { if (File.Exists(Application.persistentDataPath + "/AbilityData.dat")) { var bf = new BinaryFormatter(); FileStream file = File.Open(Application.persistentDataPath + "/AbilityData.dat", FileMode.Open); AbilityContainer abilityData; try { abilityData = (AbilityContainer)bf.Deserialize(file); } catch { abilityData = new AbilityContainer(); Debug.Log("Unable to load existing ability data set"); } file.Close(); _abilities = abilityData.Data; } if (!_abilities.AbilitiesCreated) { InitialiseAbilities(); } }
public void Init(AbilityContainer owner) { LastStartTime = 0; Controller = owner; Pawn = owner.GetComponent <BasePawn>(); OnInit(); }
protected override void OnInit() { WasAlive = true; Stamina = Pawn.GetComponent <Stamina>(); Abilities = Pawn.GetComponent <AbilityContainer>(); Abilities.Init(); this.InitList(ref AllModules); var foundModules = new List <AIModule>(); foundModules.AddRange(GetComponentsInChildren <AIModule>()); // Add Pawn modules, if they are present if (!Pawn.transform.IsChildOf(transform) && !transform.IsChildOf(Pawn.transform)) { foundModules.AddRange(Pawn.GetComponentsInChildren <AIModule>()); } foreach (var module in foundModules) { module.Init(this); } AllModules.AddRange(foundModules.Where(m => !m.DebugDisable)); SwitchModule(PickBestModule()); }
public void Init(AbilityContainer controller) { Controller = controller; Pawn = Controller.GetComponent <BasePawn>(); LastBegin = 0; OnInit(); }
public void DisableThis() { if (!Controller) { Controller = GetComponentInChildren <AbilityContainer>() ?? GetComponentInParent <AbilityContainer>(); } Controller.DisableAbility(this); }
private void DamageTarget(NetIncomingMessage message, MessageTemplate template) { CharacterPlayer character = MapContainer.FindCharacterByID(message.SenderConnection.RemoteUniqueIdentifier); AbilityHead abi = AbilityContainer.GetAbilityByName(template.JsonMessage); Entity entity = Scene.FindEntity(character._name); PlayerComponent pcomp = entity.GetComponent <PlayerComponent>(); if (pcomp != null && abi != null && pcomp.Target != null) { pcomp.Target.GetComponent <DamageComponent>().DealDamageToEntity(abi.BaseDamage); } }
public void Save() { var bf = new BinaryFormatter(); FileStream file = File.Open(Application.persistentDataPath + "/AbilityData.dat", FileMode.OpenOrCreate); AbilityContainer abilityData = new AbilityContainer { Data = _abilities }; bf.Serialize(file, abilityData); file.Close(); }
public void ClearAbilityData() { var bf = new BinaryFormatter(); FileStream file = File.Open(Application.persistentDataPath + "/AbilityData.dat", FileMode.Create); var blankAbilityData = new AbilityContainer { Data = new AbilityContainer.AbilityDataType() }; bf.Serialize(file, blankAbilityData); file.Close(); Load(); Debug.Log("Ability Data Cleared"); }
public override void InitializeAllContainers() { MapIds = new[] { Maps.MapIds.Test }; MapModelContainer = new MapModelContainer(); MapLogicContainer = new MapLogicContainer(); MapNpcContainer = new MapNpcContainer(); PartyMemberIds = new[] { Party.PartyMemberIds.Test1, Party.PartyMemberIds.Test2, Party.PartyMemberIds.Test3, Party.PartyMemberIds.Test4 }; PartyMemberStatsContainer = new PartyMemberStatsContainer(); PartyMemberBattleLogicContainer = new PartyMemberBattleLogicContainer(); PartyMemberPowerSetContainer = new PartyMemberPowerSetContainer(); PartyMemberEquipmentLayoutContainer = new PartyMemberEquipmentLayoutContainer(); EnemyIds = new[] { Enemies.EnemyIds.AmethystGolem, Enemies.EnemyIds.CaveBug, Enemies.EnemyIds.GraveHand }; EnemyMetadataContainer = new EnemyMetadataContainer(); EnemyAiContainer = new EnemyAiContainer(); EnemyStatsContainer = new EnemyStatsContainer(); EnemyBattleLogicContainer = new EnemyBattleLogicContainer(); AbilityAnimationContainer = new AbilityAnimationContainer(); AbilityContainer = new AbilityContainer(); GiftContainer = new GiftContainer(); GiftTypeContainer = new GiftTypeContainer(); ItemTypeDetailsContainer = new ItemTypeDetailsContainer(); ItemContainer = new ItemContainer(); }
public Server() : base() { //Setup game settings Window.AllowUserResizing = true; DebugRenderEnabled = true; PauseOnFocusLost = false; IsFixedTimeStep = true; TargetElapsedTime = TimeSpan.FromSeconds(1f / 144f); ItemContainer.GenerateItems(); AbilityContainer.LoadAbilities(); //setup constant values //Getting credentials from file CredentialInfo credentialInfo = FileManager.GetCredentialInformation("Credentials.json"); ConstantValues.ConnectionID = credentialInfo.ID; ConstantValues.ConnectionCredential = credentialInfo.ConnectionCredential; ConstantValues.ServerString = credentialInfo.ServerString; ConstantValues.Port = credentialInfo.Port; }
private void StartChanneling(MessageTemplate template, NetIncomingMessage message) { ChannelTemplate ct = Newtonsoft.Json.JsonConvert.DeserializeObject <ChannelTemplate>(template.JsonMessage); if (ct.ChannelType.Equals(ChannelType.Ability)) { AbilityHead ability = AbilityContainer.GetAbilityByName(ct.ChannelName); CharacterPlayer character = MapContainer.FindCharacterByID(message.SenderConnection.RemoteUniqueIdentifier); Entity entity = Scene.FindEntity(character._name); PlayerComponent pc = entity.GetComponent <PlayerComponent>(); if (pc != null && !pc.isChanneling) { if (ability != null) { entity.AddComponent(new DamageChannelingComponent(pc, ability.ChannelTime, ability)); } else { entity.AddComponent(new ChannelingComponent(pc, 4)); } } } }
public override void SetDefaults(NPC npc) { base.SetDefaults(npc); this.NPC = npc; if (DictionaryHelper.NPC(npc).ContainsKey(npc.type)) { NPCTypeInfo typeInfo = DictionaryHelper.NPC(npc)[npc.type]; AbilityContainer abilityContainer = typeInfo.Container; float chance = ModContent.GetInstance <Config>().HiddenAbilityChancePercent; AbilityID ability = abilityContainer.PrimaryAbility; if (abilityContainer.SecondaryAbility != AbilityID.None) { if (Main.rand.NextDouble() <= 0.5) { ability = abilityContainer.SecondaryAbility; } } if (abilityContainer.HiddenAbility != AbilityID.None) { if (Main.rand.NextDouble() <= (chance * 0.01)) { ability = abilityContainer.HiddenAbility; } } CurrentAbilityID = ability; //Main.NewText( // $"NPC: {NPCID.GetUniqueKey(npc.type)}. " + // $"Possible Abilities: {abilityContainer.PrimaryAbility}, {abilityContainer.SecondaryAbility}, ({abilityContainer.HiddenAbility}). " + // $"Selected Ability: {AbilityID}. "); } }
bool AutoCanBeTriggered(AbilityContainer c) { _Game.bCheckAutoMode = true; _Game.bAutoCanBeTriggered = false; c.card.CheckAbilities(c.cardState, c.effectOwner); _Game.bCheckAutoMode = false; return _Game.bAutoCanBeTriggered; }
void Start() { animations=new PlayerAnimations(this); //last_aim_direction=last_move_direction=Vector3.forward; legit_timer = new Timer(888, OnLegit); onGround_timer= new Timer(200, OnGroundTimer); mp_regen_timer= new Timer(stats.MP_regen_delay, OnMPregenTimer); hp=stats.HP; mp=stats.MP; if (regen_multi==-1) mp=0; //Data set ability_containers = new List<AbilityContainer>(); for (int i=0; i<Data.Abilities.Count; i++){ var abb = new AbilityContainer(this,Data.Abilities[i]); ability_containers.Add(abb); } _Color=Data.color; controllerNumber=Data.controllerNumber; //NotificationCenter.Instance.addListener(OnExplosion,NotificationType.Explode); NotificationCenter.Instance.addListener(OnKnockback,NotificationType.HaxKnockback); }
void SetIsRunning(AbilityContainer container, bool isRunning) { container.isRunning = isRunning; }
void LoadAbilities() { TextAsset textAsset = (TextAsset)Resources.Load(_abilityFile.name); _abilityData = AbilityContainer.LoadFromText(textAsset.text)._data; }