Project Phoenix 2 Boss Spawners

From Legends of Aria Admin and Modding Wiki
Revision as of 22:33, 21 August 2019 by Gizmo (talk | contribs)
Jump to: navigation, search

Welcome

The boss spawner is my way of creating a ultima online champion style spawn setup. This system is flexible in what it allows you to do with the spawn. It is also designed to allow easy modification for features you want to add.

Files

Below is a list of all the files that involve the merchant system or where the core structure is.

  • scripts\spawning\boss_spawner\boss_spawner.lua
  • scripts\spawning\boss_spawner\boss_spawner_tables.lua

Example Spawn

below is the example spawn that comes with project phoenix.

 BossSpawner.Mogus =
 {
 	--- the starting stage of the boss spawner
 	StartingStage = "Stage1",
 	--- table containing the stages of the spawn
 	Stages =
 	{
 		--- a stage entry which contains information needed by the boss spawner
 		--- this is to allow you to tweak settings.
 		Stage1 =
 		{
 			--- a list of template strings to randomly pick from and spawn during this stages waves
 			MonsterList = {"mogus_skeleton_warrior","mogus_skeleton_mage","mogus_skeleton_archer",},
 			--- a numeric value that controls how many waves are in this stage
 			TotalWaves = 1,
 			--- a table to control the amount of monsters to spawn every wave
 			--- Base is the minimum amount to spawn each round
 			--- Bonus is amount to add per wave.
 			MonstersPerWave = {Base = 5, Bonus=1},
 			--- min and max range to spawn objects
 			--- if range is not supplied the system uses 5 as default
 			Range = {Min = 1, Max = 7},
 			--- system message to aleart players the waves have begun
 			StartWaveMessage = "Mogus's minions grow stronger.",
 			--- when this stage is done, what is the next stage to move too.
 			NextStage = "Stage2",
 		},
 		Stage2 =
 		{
 			MonsterList = {"mogus_skeleton_warrior","mogus_skeleton_mage","mogus_skeleton_archer",},
 			TotalWaves = 1,
 			MonstersPerWave = {Base = 1, Bonus=1},
 			Range = {Min = 1, Max = 7},
 			StartWaveMessage = "Mogus's minions grow stronger.",
 			NextStage = "Stage3",
 		},		
 		Stage3 =
 		{
 			MonsterList = {"mogus_skeleton_warrior","mogus_skeleton_mage","mogus_skeleton_archer",},
 			TotalWaves = 1,
 			MonstersPerWave = {Base = 1, Bonus=1},
 			Range = {Min = 1, Max = 7},
 			StartWaveMessage = "Mogus's minions grow stronger.",
 			NextStage = "Stage4",
 		},		
 		Stage4 =
 		{
 			MonsterList = {"mogus_skeleton_warrior","mogus_skeleton_mage","mogus_skeleton_archer",},
 			TotalWaves = 1,
 			MonstersPerWave = {Base = 1, Bonus=1},
 			Range = {Min = 1, Max = 7},
 			StartWaveMessage = "Mogus's minions grow stronger.",
 			NextStage = "Stage5",
 		},		
 		Stage5 =
 		{
 			MonsterList = {"mogus_boss",},
 			TotalWaves = 1,
 			MonstersPerWave = {Base = 1, Bonus=0},
 			Range = {Min = 1, Max = 1},
 			StartWaveMessage = "[FF7700]Mogus:[-] Death to all who challange me.",
 			--- the last stage must have NextStage being "EndStage" so the system knows to shut down
 			--- and wait till the next spawn cycle.
 			NextStage = "EndStage"
 		},		
 	}
 }