I can't tell for sure, based on your source code (I never attempted to run it), but you went WAY overboard on changing the files to make Trammel spawn. My best guess is you renamed a variable in one file somewhere, but missed renaming it somewhere else.

Invasion System.cs should be the only file you need to change.

Line 26 -> private Map _SpawnMap = Map.Trammel;
and then for every town -> SpawnMap = Map.Trammel;

Those should be the only changes you need to make for the system to work in Trammel.
 
Welp I was bored.... Lol...

Got this one to work on servuo57..huzzah...
Separate system for tram..

Kept having already existent methods and arguments didn't equate? Added tram to prevent duplicates..
Tried to add spawn map definitions and invasion towns for tram on original invasion system to have fel and tram but I lack know how to add a button for it on gump ....

So I made this guy...
 

Attachments

The gump is automatically generated based on the entries in the configs. 1611438121553.png

Thats what the one looks like on my server.

public void OnStart()
{
if (!IsRunning)
{
InvasionTowns invading = InvasionTown;

switch (invading)
{
case InvasionTowns.Daft:
{
Top = new Point3D(4014, 626, 30);
Bottom = new Point3D(4113, 561, 0);
MinSpawnZ = 0;
MaxSpawnZ = 5;
SpawnMap = Map.Felucca;
TownInvaded = "Daft Guild";
break;
}

case InvasionTowns.CWBY:
{
Top = new Point3D(152, 303, -5);
Bottom = new Point3D(233, 295, 35);
MinSpawnZ = 20;
MaxSpawnZ = 30;
SpawnMap = Map.Tokuno;
TownInvaded = "CWBY Guild";
break;
}

case InvasionTowns.Ethereal:
{
Top = new Point3D(2416, 214, 0);
Bottom = new Point3D(2519, 166, 30);
MinSpawnZ = 0;
MaxSpawnZ = 5;
SpawnMap = Map.Felucca;
TownInvaded = "Ethereals House";
break;
}

}

foreach (Region r in Region.Regions)
{
if (r is GuardedRegion && r.Name == TownInvaded)
{
WasDisabledRegion = ((GuardedRegion) r).Disabled;

((GuardedRegion)r).Disabled = true;
}
}

Spawn();
}
}

public static MonsterTownSpawnEntry[] OreElementals = new MonsterTownSpawnEntry[]
{
//Monster //Amount (24)
new MonsterTownSpawnEntry( typeof( ShameIron ), 5 ),
new MonsterTownSpawnEntry( typeof( ShameDullCopperl ), 5 ),
new MonsterTownSpawnEntry( typeof( ShameShadowIron ), 5 ),
new MonsterTownSpawnEntry( typeof( ShameCopper ), 2 ),
new MonsterTownSpawnEntry( typeof( ShameBronze ), 2 ),
new MonsterTownSpawnEntry( typeof( ShameGold ), 2 ),
new MonsterTownSpawnEntry( typeof( ShameAgapite ), 1 ),
new MonsterTownSpawnEntry( typeof( ShameVerite ), 1 ),
new MonsterTownSpawnEntry( typeof( ShameValorite ), 1 )
};



and yes, CWBY in Tokuno does work.
 
Has anyone been able to work this invasion system into the old runuo 1.0 server?
I would love to have this on my server.
I would be willing to pay someone with the skills to make the needed changes for this this to work on runuo1.0.
I know this is a old version of runuo but I hope to hear from someone.
 
Has anyone been able to work this invasion system into the old runuo 1.0 server?
I would love to have this on my server.
I would be willing to pay someone with the skills to make the needed changes for this this to work on runuo1.0.
I know this is a old version of runuo but I hope to hear from someone.
shouldn't be too difficult, probably the only or main edit needed is to have it save via an item in the world
 
Fixed the issue with the champion always being spawned in moonglow. I have mine to set to spawn in Felucca towns, so you might have to change that part.
In the invasion system file you will need to edit the spawnchamp section of the file.

public void SpawnChamp()
{
Despawn();

Felucca_FinalStage = true;

Type championType = null;

switch (Felucca_TownChampionType)
{
default:
case FeluccaTownChampionType.Barracoon: championType = typeof(Barracoon); break;
case FeluccaTownChampionType.Harrower: championType = typeof(Harrower); break;
case FeluccaTownChampionType.LordOaks: championType = typeof(LordOaks); break;
case FeluccaTownChampionType.Mephitis: championType = typeof(Mephitis); break;
case FeluccaTownChampionType.Neira: championType = typeof(Neira); break;
case FeluccaTownChampionType.Rikktor: championType = typeof(Rikktor); break;
case FeluccaTownChampionType.Semidar: championType = typeof(Semidar); break;
case FeluccaTownChampionType.Serado: championType = typeof(Serado); break;
}

Point3D location = FindSpawnLocation();
if (location != Point3D.Zero && championType != null)
{
Mobile champion = (Mobile)Activator.CreateInstance(championType);
champion.MoveToWorld(location, FeluccaSpawnMap);
Felucca_Spawned.Add(champion);
}
}
 
Hi everyone,

I wanted to take a moment to give a huge shout-out to Ravenwolfe for their invasion system contribution from years ago.

I’ve recently been working on this system to implement it on my own server. I have to say, the original code is incredibly solid—it’s functional, very well-structured, and has aged perfectly.

I’ve made some personal improvements and added a few features of my own to fit my server's needs, but I want to emphasize that the core logic and the heavy lifting belong entirely to the original author. I’ve simply built upon the great foundation they provided.

Thanks again for sharing such a high-quality script with the community!

Best regards...

@Ravenwolfe!!!
 
@Imagine - Thank you for the kind words. I’ve been out of the emulation game for some time but I’m glad to hear my work is still of use to a community that I love and miss!

I’m retiring from my job soon, so maybe I’ll try to get back in the game!
 

Donations

Total amount
$30.00
Goal
$500.00

Shards

Back