updated to version 2.62
from the changelog
Version 2.62
updated 9/21/04
- added some automatic syntax checking on questholder quest objectives to flag incorrect formatting or item/mob types that are not recognized. Any resulting error status information is displayed at the bottom of the quest gump when it is opened.
- added the Status property to the XmlQuestHolder class that contains any error status information that might have been generated due to improper objective specification, testing, or reward generation. Note that opening up the quest gump will run the syntax check that will overwrite any current status information, so check the Status property manually by doing a [props if you want to avoid that.
- modified the quest objective descriptions in the quest gump for questholder items. They are a bit more descriptive now and include type information when it is specified. e.g. specifying the objective KILLNAMED,Sniveler,balron,5 will be described as "Kill 5 balron(s) named Sniveler", while the objective KILLNAMED,Bobo will be described as "Kill 1 mob(s) named Bobo".
- the .xml examples that referred to questnotes have been modified to refer to questholders.
- some minor changes to the properties displayed on mouseover.
- added support for the OnSpawned() method that can be defined in any mobile or item class and will be invoked when that item/mobile is spawned and placed in the world but before any spawnentry modifications are applied. This allows individual objects to script in actions that they wish to occur at spawn time that require knowledge of the object's map and location.
- added support for the HoldSmartSpawning property that can be defined in any mobile or item class and will be tested when the spawner attempts to inactivate when SmartSpawning is set. This allows individual items/mobiles to define conditions under which smartspawning is suppressed on the spawners that spawned them.
Note, you dont HAVE to add the OnSpawned() method or the HoldSmartSpawning property to anything if you dont want to. The spawner will still work just fine. They are both completely optional.
- Below is an example of this new functionality used with Wyatts paragon system (paragon setting code taken from Wyatt's modified spawner in his paragon system).
Add this to BaseCreature.cs to support paragon spawning and combined paragon/smartspawning without any modification to the spawner code.
Also note, that by overriding this method in any mob, you can determine whether they can become paragon or not, or even the chance of becoming paragon.
Code:
// ARTEGORDONMOD
// added support for the OnSpawned() method that is invoked after the creature is spawned and placed
// added support for the HoldSmartSpawning property that can suppress smartspawning inactivation for a spawner when true
public virtual bool HoldSmartSpawning
{
get{
// dont do smartspawning inactivation if the spawner has a paragon on it
if(Paragon) return true;
return false;
}
}
public virtual void OnSpawned()
{
/*+Wyatt+*/
if ( 0.05 >= Utility.RandomDouble() && this.Map == Map.Ilshenar && !SpellHelper.IsTown( this.Location, this ) )
{
if ( !( this is BaseEscortable || this is BaseVendor ) )
this.Paragon = true;
}
/*-Wyatt-*/
}