public OutlineWall(int x, int y, int x2, int y2, MagicWand magicWand, TSPlayer plr, int wallType, int color, Expression expression) : base(x, y, x2, y2, magicWand, plr) { this.wallType = wallType; this.color = color; this.expression = expression ?? new TestExpression(new Test(t => true)); }
public override bool Run() { try { Vector3 position = Target.Position; if (!Actor.RouteToDynamicObjectRadius(Target, 1.5f, null, new Route.RouteOption[0])) { return(false); } if (position == Target.Position) { if (MagicWand.PerformAnimation(Actor, OnPerform)) { Magic.EnsureSkill(Actor).IncreaseGoodSpellCount(); } } return(true); } catch (ResetException) { throw; } catch (Exception e) { Common.Exception(Actor, Target, e); return(false); } }
public override bool Run() { try { Actor.SynchronizationLevel = Sim.SyncLevel.NotStarted; Target.SynchronizationLevel = Sim.SyncLevel.NotStarted; Target.InteractionQueue.CancelAllInteractions(); if (BeginSocialInteraction(new SocialInteractionB.Definition(null, Common.Localize("GetRaise:MenuName", Actor.IsFemale), false), false, 3f, true)) { if (MagicWand.PerformAnimation(Actor, OnPerform)) { Magic.EnsureSkill(Actor).IncreaseEvilSpellCount(); } return(true); } return(false); } catch (ResetException) { throw; } catch (Exception e) { Common.Exception(Actor, Target, e); return(false); } }
/* * Es necesario testear que la implementación del setter del atributo Attack esté funcionando correctamente. */ public void MagicWandCorrectAttack() { MagicWand wand = new MagicWand(30, 0); wand.Attack = 100; Assert.AreEqual(expectedAttack, wand.Attack); }
/* * Es necesario testear que la implementación del setter del atributo Attack y su validación estén funcionando correctamente. */ public void MagicWandIncorrectAttack() { MagicWand wand = new MagicWand(50, 0); wand.Attack = -1; Assert.AreEqual(caseWrongAttack, wand.Attack); }
public SetWire(int x, int y, int x2, int y2, MagicWand magicWand, TSPlayer plr, int wire, bool state, Expression expression) : base(x, y, x2, y2, magicWand, plr) { this.expression = expression ?? new TestExpression(new Test(t => true)); this.state = state; this.wire = wire; }
public static Weapon CreateWeapon(List <string> args) { string weaponType = args[0]; string weaponName = args[1]; int strength = int.Parse(args[2]); int agility = int.Parse(args[3]); int intelligence = int.Parse(args[4]); Weapon weapon = null; if (weaponType == "Bow") { weapon = new Bow(weaponName, strength, agility, intelligence); } else if (weaponType == "Sword") { weapon = new Sword(weaponName, strength, agility, intelligence); } else if (weaponType == "MagicWand") { weapon = new MagicWand(weaponName, strength, agility, intelligence); } return(weapon); }
/* * Es necesario testear que la implementación del setter del atributo Defense esté funcionando correctamente. */ public void MagicWandCorrectDefense() { MagicWand wand = new MagicWand(70, 5); wand.Defense = 100; Assert.AreEqual(expectedDefense, wand.Defense); }
public List <GameObject> GetLoot(LootTable lootTable) { var loots = new List <GameObject>(); var random = Random.Range(0.0f, 1.0f); if (random < lootTable.WandChance) { GameObject wandGameObject = Instantiate(WandPrefab); MagicWand wand = wandGameObject.GetComponent <MagicWand>(); wand.SetOptions(MagicWand.GetOptions(depthConfig.PowerLevel)); loots.Add(wandGameObject); } random = Random.Range(0.0f, 1.0f); if (random < lootTable.BootsChance) { GameObject bootsGameObject = Instantiate(BootsPrefab); Boots boots = bootsGameObject.GetComponent <Boots>(); boots.SetOptions(Boots.GetOptions(depthConfig.PowerLevel)); loots.Add(bootsGameObject); } random = Random.Range(0.0f, 1.0f); if (random < lootTable.HealthPotionChance) { GameObject potionGameObject = Instantiate(PotionPrefab); loots.Add(potionGameObject); } return(loots); }
public static void UsePoints(Sim sim, int points, OccultTypes intended) { SpellcastingSkill spellCasting = sim.SkillManager.GetElement(SkillNames.Spellcasting) as SpellcastingSkill; MagicWand wand = MagicWand.GetWandToUse(sim, spellCasting); if (intended != OccultTypes.None) { if (PrivateUsePoints(sim, wand, points, intended)) { return; } } foreach (OccultTypes type in sMagicOccult) { if (type == intended) { continue; } if (PrivateUsePoints(sim, wand, points, type)) { return; } } }
public Move(int x, int y, int x2, int y2, MagicWand magicWand, TSPlayer plr, int down, int right, Expression expression) : base(x, y, x2, y2, magicWand, plr) { this.down = down; this.right = right; this.expression = expression ?? new TestExpression(new Test(t => true)); }
/* * Es necesario testear que la implementación del setter del atributo Defense y su validación estén funcionando correctamente. */ public void MagicWandIncorrectDefense() { MagicWand wand = new MagicWand(50, 0); wand.Defense = -1; Assert.AreEqual(caseWrongDefense, wand.Defense); }
public bool Run(T ths, IMagicalDefinition definition) { MagicControl control = MagicControl.GetBestControl(ths.Actor, definition); if (control == null) { return(false); } mWand = control.InitialPrep(ths.Actor, definition, out mWandCreated); if (mWand == null) { return(false); } mWand.PrepareForUse(ths.Actor); ths.Wand = mWand; bool twoPerson = (ths.Actor == ths.Target); if (!Hybrid.Settings.mEnforceTwoPersonAnimation) { twoPerson = false; } bool spellCastingEpiclyFailed; bool spellCastingSucceeded = !IsFailure(ths.Actor, control, definition, out spellCastingEpiclyFailed); if (!EpicFailureAllowed(ths)) { spellCastingEpiclyFailed = false; } if (!InitialPrep(ths, twoPerson, definition, control, spellCastingSucceeded, spellCastingEpiclyFailed)) { return(false); } ths.StandardEntry(); ths.BeginCommodityUpdates(); if (!SetupAnimation(ths, control, twoPerson)) { return(false); } control.ConsumeMana(ths.Actor, this, definition); if (!PerformResults(ths, "EpicFail", definition, control, spellCastingSucceeded, spellCastingEpiclyFailed)) { mSucceeded = false; } EventTracker.SendEvent(EventTypeId.kCastSpell, ths.Actor); ths.EndCommodityUpdates(mSucceeded); ths.StandardExit(); return(mSucceeded); }
public override MagicWand InitialPrep(Sim actor, IMagicalDefinition definition, out bool wandCreated) { actor.SkillManager.AddElement(SkillNames.Spellcasting); SpellcastingSkill element = actor.SkillManager.GetElement(SkillNames.Spellcasting) as SpellcastingSkill; wandCreated = false; return(MagicWand.GetWandToUse(actor, element)); }
public Outline(int x, int y, int x2, int y2, MagicWand magicWand, TSPlayer plr, int tileType, int color, bool active, Expression expression) : base(x, y, x2, y2, magicWand, plr) { this.tileType = tileType; this.color = color; this.active = active; this.expression = expression ?? new TestExpression(new Test(t => true)); }
/* * Es necesario corroborar que el método RemoveWand implementado efectivamente le quite éste item al mago */ public void TestingRemoveWand() { Wizard wizard1 = new Wizard("Phoenix"); MagicWand wand = new MagicWand(30, 30); wizard1.MagicWand = wand; wizard1.RemoveWand(); Assert.AreEqual(wizard1.MagicWand, null); }
/* * Es necesario corroborar que el método ChangeWand implementado efectivamente cumpla la función esperada, * esto es, reemplazar una MagicWand por una nueva. */ public void TestingChangeWand() { Wizard wizard1 = new Wizard("Phoenix"); wizard1.MagicWand = new MagicWand(30, 30); MagicWand newMagicWand = new MagicWand(50, 50); wizard1.ChangeWand(newMagicWand); Assert.AreEqual(newMagicWand, wizard1.MagicWand); }
MagicWandOptions GetWandOptions(int level) { var opts = MagicWand.GetOptions(level * 0.1f); opts.damageLayerMask = LayerMask.GetMask("Player"); opts.ProjectileLayer = LayerMask.NameToLayer("EnemyProjectile"); opts.ProjectileTag = "EnemyProjectile"; return(opts); }
private static bool PrivateUsePoints(Sim sim, MagicWand wand, int points, OccultTypes type) { if (!OccultTypeHelper.HasType(sim, type)) { return(false); } switch (type) { case OccultTypes.Genie: OccultGenie genie = sim.OccultManager.GetOccultType(OccultTypes.Genie) as OccultGenie; if (genie != null) { genie.MagicPoints.UsePoints(points); (Sims3.UI.Responder.Instance.HudModel as HudModel).FlashMagicMotiveBar(); return(true); } break; case OccultTypes.Fairy: sim.Motives.ChangeValue(CommodityKind.AuraPower, -points); (Sims3.UI.Responder.Instance.HudModel as HudModel).FlashMagicMotiveBar(); return(true); case OccultTypes.Witch: if (wand != null) { wand.DrainMotive(sim, CommodityKind.MagicFatigue, -points); return(true); } else { float num = (points * DefaultWand.kMotiveDrainMultiplier) * MagicWand.kMoonPhaseMotiveDrainMultiplier[World.GetLunarPhase()]; if (sim.BuffManager.HasElement(BuffNames.AnimalFamiliar)) { num *= MagicWand.kFamiliarMotiveMultiplier; } sim.Motives.ChangeValue(CommodityKind.MagicFatigue, -num); (Sims3.UI.Responder.Instance.HudModel as HudModel).FlashMagicMotiveBar(); } break; case OccultTypes.Unicorn: OccultUnicorn unicorn = sim.OccultManager.GetOccultType(OccultTypes.Unicorn) as OccultUnicorn; if (unicorn != null) { unicorn.MagicPoints.UsePoints(points); (Sims3.UI.Responder.Instance.HudModel as HudModel).FlashMagicMotiveBar(); return(true); } break; } return(false); }
private void SpawnWandAt(Vector3 position, float powerLevel) { if (wandPrefab == null) { wandPrefab = Resources.Load <MagicWand>("MagicWand"); } MagicWand newWand = Instantiate(wandPrefab, MapGenerator.transform); newWand.SetOptions(MagicWand.GetOptions(powerLevel)); newWand.transform.position = MapGenerator.GetScaled(position); }
protected WECommand(int x, int y, int x2, int y2, MagicWand magicWand, TSPlayer plr, bool minMaxPoints = true) { this.plr = plr; this.select = plr.GetPlayerInfo().Select ?? WorldEdit.Selections["normal"]; this.x = x; this.x2 = x2; this.y = y; this.y2 = y2; this.magicWand = magicWand ?? new MagicWand(); this.minMaxPoints = minMaxPoints; }
public Shape(int x, int y, int x2, int y2, MagicWand magicWand, TSPlayer plr, int shapeType, int rotateType, int flipType, bool wall, bool filled, int materialType, Expression expression) : base(x, y, x2, y2, magicWand, plr, false) { this.expression = expression ?? new TestExpression(new Test(t => true)); this.shapeType = shapeType; this.rotateType = rotateType; this.flipType = flipType; this.wall = wall; this.filled = filled; this.materialType = materialType; }
public MagePeacemaker() : base(AIType.AI_Mage, 5) { SetStr(40, 60); SetDex(40, 60); SetInt(220, 300); BaseWeapon weapon; switch (Utility.Random(2)) { case 0: weapon = new Scepter(); break; default: weapon = new MagicWand(); break; } weapon.Attributes.SpellChanneling = 1; AddItem(weapon); SetDamageType(ResistanceType.Physical, 0); if (Utility.RandomBool()) { SetDamageType(ResistanceType.Cold, 60); } else { SetDamageType(ResistanceType.Fire, 60); } if (Utility.RandomBool()) { SetDamageType(ResistanceType.Energy, 40); } else { SetDamageType(ResistanceType.Poison, 40); } SetSkill(SkillName.EvalInt, 90, 100); SetSkill(SkillName.Magery, 90, 100); SetSkill(SkillName.Necromancy, 0, 110); SetSkill(SkillName.SpiritSpeak, 90, 110); SetSkill(SkillName.MagicResist, 90, 120); SetSkill(SkillName.Tactics, 50, 70); SetSkill(SkillName.Macing, 60, 80); }
static void Main(string[] args) { var pluginloader = PluginLoader.GetInstance(); ContainerService containerService = ContainerService.GetInstance(); pluginloader.LoadPluginContainer(); IContainer container = containerService.GetContainer(pluginloader.GetListPlugin()); if (container == null) { Console.WriteLine("Ошибка получения контейнера"); Console.ReadLine(); return; } var str = "Lord Voldemort"; container.RegisterInstance <string>(str); container.RegisterSingleton <IInformer, ConsoleInformer>(); var informer = container.Resolve <IInformer>(); var informer2 = container.Resolve <IInformer>(); if (informer == informer2) { if (informer.Equals(informer2)) { Console.WriteLine("Это синглтон"); } } informer.Notify(); Console.WriteLine(new string('-', 42)); container.Register <IIlluminator, MagicWand>(); var light = container.Resolve <IIlluminator>(); light.LightUp(); Console.WriteLine(new string('-', 42)); var lighter = new MagicWand("Harry"); container.RegisterInstance <IIlluminator, MagicWand>(lighter); light = container.Resolve <IIlluminator>(); light.LightUp(); Console.ReadLine(); }
public void TestAbilityMagicWand() { // исходные данные IWeapon weapon = new MagicWand("Супер Магический жезл", 5); Hero actual = new Hero("Алена", 70, 10, weapon); double expected = 0; // получение значения actual.Weapon.UseAbility(actual); // сравнение ожидаемого результата с полученным Assert.AreEqual(expected, actual.Armor); }
public void UpdateUI(MagicWand wand) { if (this.wand != wand) { this.wand = wand; specs.text = "Damage: " + wand.options.ProjectileDamage.ToString("0.0") + "\n" + "Fire Rate: " + wand.options.fireRate.ToString("0.0") + " per second\n" + "Range: " + (wand.options.ProjectileSpeed * wand.options.ProjectileLifeTime).ToString("0.0") + "\n" + "Blast Radius: " + wand.options.ProjectileBlastAoE.ToString("0.0") + (wand.options.projectilesPerCast > 1 ? "\nShoots " + wand.options.projectilesPerCast + " projectiles" : ""); icon.color = wand.options.color; } }
public override bool Test(Sim a, Sim target, bool isAutonomous, ref GreyedOutTooltipCallback greyedOutTooltipCallback) { MagicControl control = MagicControl.GetBestControl(a, this); if (control == null) { greyedOutTooltipCallback = Common.DebugTooltip("No Control"); return(false); } if (a == target) { return(false); } if (!CastSpellEx.CommonSpellTests(a, target, isAutonomous, ref greyedOutTooltipCallback)) { return(false); } if (target.BuffManager.HasElement(BuffNames.ToadSim)) { return(false); } if (((target.OccultManager != null) && target.OccultManager.HasAnyOccultType()) || target.SimDescription.IsGhost) { greyedOutTooltipCallback = delegate { return(MagicWand.LocalizeString(a.IsFemale, "ImmuneToSpell", new object[0x0])); }; return(false); } if (target.SimDescription.IsVisuallyPregnant) { greyedOutTooltipCallback = delegate { return(MagicWand.LocalizeString(a.IsFemale, "ImmuneToSpell", new object[0x0])); }; return(false); } if (target.Service is GrimReaper) { greyedOutTooltipCallback = delegate { return(MagicWand.LocalizeString(a.IsFemale, "ImmuneToSpell", new object[0x0])); }; return(false); } return(true); }
public FloodFillDemo() { // _magicWandConfigs = new MagicWandConfigGroup(); BackgroundColor = Color.White; _defaultImg = new MemBitmap(400, 300); AggPainter p = AggPainter.Create(_defaultImg); p.Clear(Color.White); p.FillColor = Color.Black; p.FillEllipse(20, 20, 30, 30); for (int i = 0; i < 20; i++) { p.StrokeColor = Color.Black; p.DrawEllipse(i * 10, i * 10, 20, 20); } // this.PixelSize = 32; this.Gamma = 1; _tolerance = 30; _floodFill = new ColorBucket(Color.Red, _tolerance); _magicWand = new MagicWand(_tolerance); // //_lionPng = MemBitmapExtensions.LoadBitmap("../Data/lion1_v2_2.png"); //_lionPng = MemBitmapExtensions.LoadBitmap("../Data/lion1_v2_4_1.png"); _lionPng = MemBitmapExt.LoadBitmap("../Data/lion1.png"); //_lionPng = MemBitmapExtensions.LoadBitmap("../Data/lion_1_v3_2.png"); //_lionPng = MemBitmapExtensions.LoadBitmap("../Data/glyph_a.png"); _starsPng = MemBitmapExt.LoadBitmap("../Data/stars.png"); _test_glyphs = MemBitmapExt.LoadBitmap("../Data/test_glyphs.png"); _rect01 = MemBitmapExt.LoadBitmap("../Data/rect01.png"); //_v_shape = MemBitmapExtensions.LoadBitmap("../Data/shape_v.png"); //_v_shape = MemBitmapExtensions.LoadBitmap("../Data/shape_v3.png"); _bmpToFillOn = _defaultImg; OutlineReconstruction = true; WithOutlineSimplifier = true; }
public virtual MagicWand InitialPrep(Sim actor, IMagicalDefinition definition, out bool wandCreated) { IGameObject toAdd = GlobalFunctions.CreateObject("magicHandsLHR", ProductVersion.EP7, Vector3.OutOfWorld, 0x0, Vector3.UnitZ, null, null); MagicWand wand = toAdd as MagicWand; if (wand == null) { toAdd.Destroy(); wandCreated = false; } else { wandCreated = true; } return(wand); }
public string CreateWeapon(List <string> args) { var heroName = args[0]; var weaponType = args[1]; var weaponName = args[2]; var strength = int.Parse(args[3]); var agility = int.Parse(args[4]); var intelligence = int.Parse(args[5]); string result = ""; if (heroes.ContainsKey(heroName)) { Weapon weapon = null; switch (weaponType) { case "Bow": { weapon = new Bow(weaponName, strength, agility, intelligence); break; } case "MagicWand": { weapon = new MagicWand(weaponName, strength, agility, intelligence); break; } case "Sword": { weapon = new Sword(weaponName, strength, agility, intelligence); break; } default: return($"Invalid type weapon: {weaponType}."); } this.heroes[heroName].Weapon = weapon; result = $"Successfully armed hero {heroName} with weapon {weaponType}!"; } else { result = $"Hero with name: {heroName} does not exist!"; } return(result); }
private static bool PrivateUsePoints(Sim sim, MagicWand wand, int points, OccultTypes type) { if (!OccultTypeHelper.HasType(sim, type)) return false; switch (type) { case OccultTypes.Genie: OccultGenie genie = sim.OccultManager.GetOccultType(OccultTypes.Genie) as OccultGenie; if (genie != null) { genie.MagicPoints.UsePoints(points); (Sims3.UI.Responder.Instance.HudModel as HudModel).FlashMagicMotiveBar(); return true; } break; case OccultTypes.Fairy: sim.Motives.ChangeValue(CommodityKind.AuraPower, -points); (Sims3.UI.Responder.Instance.HudModel as HudModel).FlashMagicMotiveBar(); return true; case OccultTypes.Witch: if (wand != null) { wand.DrainMotive(sim, CommodityKind.MagicFatigue, -points); return true; } else { float num = (points * DefaultWand.kMotiveDrainMultiplier) * MagicWand.kMoonPhaseMotiveDrainMultiplier[World.GetLunarPhase()]; if (sim.BuffManager.HasElement(BuffNames.AnimalFamiliar)) { num *= MagicWand.kFamiliarMotiveMultiplier; } sim.Motives.ChangeValue(CommodityKind.MagicFatigue, -num); (Sims3.UI.Responder.Instance.HudModel as HudModel).FlashMagicMotiveBar(); } break; case OccultTypes.Unicorn: OccultUnicorn unicorn = sim.OccultManager.GetOccultType(OccultTypes.Unicorn) as OccultUnicorn; if (unicorn != null) { unicorn.MagicPoints.UsePoints(points); (Sims3.UI.Responder.Instance.HudModel as HudModel).FlashMagicMotiveBar(); return true; } break; } return false; }