public override void Create() { Name = "Island"; var water1 = new Water(); var water2 = new Water(); var water3 = new Water(); var earth = new Earth(); Elements = new Element[] { water1, water2, water3, earth }; foreach (var element in Elements) { element.Create(); } var kraken = new Kraken(); var leviathan = new Leviathan(); var merfolk1 = new Merfolk(); var merfolk2 = new Merfolk(); var merfolk3 = new Merfolk(); Creatures = new Creature[] { kraken, leviathan, merfolk1, merfolk2, merfolk3 }; foreach (var creature in Creatures) { creature.Create(); } }
private void FinishEffect(Point3D p) { int count = Utility.RandomMinMax(5, 7); if (Hue != 0x8A0) { count += Utility.RandomMinMax(1, 2); } Map map = this.Map; Leviathan lev = new Leviathan(); lev.MoveToWorld(p, map); for (int i = 0; map != null && i < count; ++i) { BaseCreature spawn; switch (Utility.Random(4)) { default: case 0: spawn = new SeaSerpent(); break; case 1: spawn = new DeepSeaSerpent(); break; case 2: spawn = new WaterElemental(); break; case 3: spawn = new Kraken(); break; } int x = p.X, y = p.Y; for (int j = 0; j < 20; ++j) { int tx = p.X - 5 + Utility.Random(11); int ty = p.Y - 5 + Utility.Random(11); Tile t = map.Tiles.GetLandTile(tx, ty); if (t.Z == p.Z && ((t.ID >= 0xA8 && t.ID <= 0xAB) || (t.ID >= 0x136 && t.ID <= 0x137)) && !Spells.SpellHelper.CheckMulti(new Point3D(tx, ty, p.Z), map)) { x = tx; y = ty; break; } } spawn.MoveToWorld(new Point3D(x, y, p.Z), map); if (spawn is Kraken && 0.2 > Utility.RandomDouble()) { spawn.PackItem(new MessageInABottle(map == Map.Felucca ? Map.Felucca : Map.Trammel)); } } Delete(); }
public override void OnGameStart() { gameObject.SetLayerRecursively(Globals.LayerNumFluidTerrain); GameObject LeviathanGameObject = GameObject.Instantiate(LeviathanPrefab) as GameObject; Leviathan = LeviathanGameObject.GetComponent <WaterLeviathan> (); Leviathan.OnGameStart(); if (!GameManager.Get.Ocean) { gameObject.SetActive(false); } }
protected override void FinishEffect(Point3D p, Map map, Mobile from) { BaseCreature toSpawn; if (0.125 > Utility.RandomDouble()) { toSpawn = new Osiredon(from); } else { toSpawn = new Leviathan(from); } Spawn(p, map, toSpawn); base.FinishEffect(p, map, from); }
public override void Populate() { var kraken = new Kraken(); var leviathan = new Leviathan(); var merfolk1 = new Merfolk(); var merfolk2 = new Merfolk(); var merfolk3 = new Merfolk(); Creatures = new Creature[] { kraken, leviathan, merfolk1, merfolk2, merfolk3 }; foreach (var creature in Creatures) { creature.Speak(); } }
private static void Postfix(ref Leviathan __instance) { Leviathan levComp = __instance.GetComponent <Leviathan>(); if (!levComp) { return; } string levText = levComp.name; string aName = ""; //Mod.Log.LogInfo(string.Format("[AMP - Leviathan] Found {0} at {1} {2} {3}", levText, levComp.transform.position.x, levComp.transform.position.y, levComp.transform.position.z)); switch (levText) { case "Leviathan": case "Leviathan(Clone)": if (Mod.pinLeviathan.Value) { aName = "Leviathan"; } break; default: aName = ""; break; } if (aName != "") { //__instance.gameObject.AddComponent<PinnedObject>().Init(aName, spawnComp.transform.position); if (!Mod.pinItems.ContainsKey(levComp.transform.position)) { Mod.pinItems.Add(levComp.transform.position, aName); } } }
protected virtual void FinishEffect(Point3D p, Map map, Mobile from) { from.RevealingAction(); int count = Utility.RandomMinMax(1, 1); int onBoat = 0; string monster = ""; Point3D SpawnAt = p; switch (Utility.Random(7)) { case 0: monster = "StormGiant"; SpawnAt = from.Location; onBoat = 1; break; case 1: monster = "Leviathan"; break; case 2: monster = "DemonOfTheSea"; SpawnAt = from.Location; onBoat = 1; break; case 3: monster = "DeepWaterElemental"; break; case 4: monster = "KelpElemental"; break; case 5: monster = "IcebergElemental"; SpawnAt = from.Location; onBoat = 1; break; case 6: monster = "DeepSeaDragon"; break; } for (int i = 0; map != null && i < count; ++i) { BaseCreature spawn = new WaterNaga(); if (monster == "StormGiant") { spawn = new StormGiant(); } else if (monster == "Leviathan") { spawn = new Leviathan(); } else if (monster == "DemonOfTheSea") { spawn = new DemonOfTheSea(); } else if (monster == "DeepWaterElemental") { spawn = new DeepWaterElemental(); } else if (monster == "KelpElemental") { spawn = new KelpElemental(); } else if (monster == "IcebergElemental") { spawn = new IcebergElemental(); } else if (monster == "DeepSeaDragon") { spawn = new DeepSeaDragon(); } Spawn(SpawnAt, map, spawn, onBoat); spawn.WhisperHue = 999; // SO TASK MANAGER DELETES THEM EVENTUALLY spawn.Combatant = from; } Delete(); }