private void PredictAbilitiesHelper(MTile tile, MAbility ability, bool lWeapon, CWeapon parentWeapon, bool wpnAbility) { var target = tile.GetCurrentOccupant() as CChar; var prediction = new AgentAbilityData(); prediction.Ability = ability; prediction.LWeapon = lWeapon; prediction.ParentWeapon = parentWeapon; prediction.Target = target; prediction.Weight = 0; prediction.WpnAbiltiy = wpnAbility; if (ability.Data.Hostile) { if (target.Proxy.LParty != this._agent.Proxy.LParty) { this.HandleAbility(prediction); this._predictions.Add(prediction); } } else { if (target.Proxy.LParty == this._agent.Proxy.LParty) { this.HandleAbility(prediction); this._predictions.Add(prediction); } } }
private void InitPredictAbility() { this.ActiveAbility = AbilityTable.Instance.Table[this._data.Ability]; this.ActiveAbility.Data.ParentAction = this; if (this.Data.ParentWeapon != null) { this.ActiveAbility.Data.ParentWeapon = this.Data.ParentWeapon.Model; } }
public List <Sprite> GetSingleFXSprites(MAbility a) { var path = StringUtil.PathBuilder(ATTACK_PATH, a.Type.ToString()); var stuff = Resources.LoadAll(path); var sprites = new List <Sprite>(); for (int i = 1; i < stuff.Length; i++) { sprites.Add(stuff[i] as Sprite); } return(sprites); }
private void HandleAoEHover(CTile t, MAbility active) { var sprite = MapBridge.Instance.GetTileHighlightSprite(); var tiles = t.Model.GetAoETiles((int)(active.Data.AoE)); foreach (var tile in tiles) { if (tile.Liquid) { this._aoeTiles.Add(this.DecorateTileHandle(tile.Controller.LiquidHandle, sprite)); } this._aoeTiles.Add(this.DecorateTileHandle(tile.Controller.Handle, sprite)); } }
private void InitProcessAbility() { GUIManager.Instance.SetGUILocked(true); GUIManager.Instance.SetInteractionLocked(true); this.ActiveAbility = AbilityTable.Instance.Table[this._data.Ability]; this.ActiveAbility.Data.ParentAction = this; if (this.Data.ParentWeapon != null) { this.ActiveAbility.Data.ParentWeapon = this.Data.ParentWeapon.Model; } if (this.ActiveAbility.Data.CastDuration > 0 && this._castingInitialized == false) { this._castingTurnsRemaining = this.ActiveAbility.Data.CastDuration; this._castingInitialized = true; } }
private void HandleRaycastHover(CTile t, MAbility active) { var sprite = MapBridge.Instance.GetTileHighlightSprite(); var source = CombatManager.Instance.GetCurrentlyActing().Tile; MTile initTile = null; if (source.Model.IsTileN(t.Model, active.Data.Range)) { initTile = source.Model.GetN(); } else if (source.Model.IsTileNE(t.Model, active.Data.Range)) { initTile = source.Model.GetNE(); } else if (source.Model.IsTileNE(t.Model, active.Data.Range)) { initTile = source.Model.GetNE(); } else if (source.Model.IsTileSE(t.Model, active.Data.Range)) { initTile = source.Model.GetSE(); } else if (source.Model.IsTileS(t.Model, active.Data.Range)) { initTile = source.Model.GetS(); } else if (source.Model.IsTileSW(t.Model, active.Data.Range)) { initTile = source.Model.GetSW(); } else if (source.Model.IsTileNW(t.Model, active.Data.Range)) { initTile = source.Model.GetNW(); } var tiles = source.Model.GetConvertedRaycastTiles(initTile, active.Data.Range); foreach (var tile in tiles) { if (tile.Liquid) { this._aoeTiles.Add(this.DecorateTileHandle(tile.Controller.LiquidHandle, sprite)); } this._aoeTiles.Add(this.DecorateTileHandle(tile.Controller.Handle, sprite)); } }
public void AddAbility(MAbility a) { if (a.WpnAbility) { var exists = this._wpnAbilities.Find(x => x.Type == a.Type); if (exists == null) { this._wpnAbilities.Add(a); } } else { var exists = this._activeAbilities.Find(x => x.Type == a.Type); if (exists == null) { this._activeAbilities.Add(a); } } }
private void HandleArcHover(CTile t, MAbility active) { var args = new AbilityArgs(); args.Source = CombatManager.Instance.GetCurrentlyActing(); args.Target = t; var tiles = active.GetTargetedTiles(args); tiles.Remove(t); var sprite = MapBridge.Instance.GetTileHighlightSprite(); foreach (var tile in tiles) { if (tile.Model.Liquid) { this._aoeTiles.Add(this.DecorateTileHandle(tile.LiquidHandle, sprite)); } this._aoeTiles.Add(this.DecorateTileHandle(tile.Handle, sprite)); } }
public Sprite GetAttackSprite(MAbility a) { var path = StringUtil.PathBuilder(ATTACK_PATH, a.Type.ToString()); return(this.GetSprite(path)); }