updated to v2.24
New to v2.24
- Added new items TimedSwitch, TimedLever, XmlLatch, and TimedSwitchableItem.
- Added a new keyword TAKEBYTYPE and added a new argument allowing partial quantities to be taken from stacked items.
- Added the "SKILL,skillname" keyword that can be used both for setting skill values, as well as testing for them.
- Added more support for kill and collect type quests to XmlQuestToken class items.
Description of new additions:
- added more support for kill and collect type quests to XmlQuestToken class items with special objective specification keywords "KILL,mobtype,count", "KILLNAMED,mobname,count", "COLLECT,itemtype,count", "COLLECTNAMED,itemname,count".
The quest items can now keep track of kills and collected items in their quest status, and quest tasks that require multiple mobs to be killed can be specified. To use this feature, spawn or create an XmlQuestToken class item such as the QuestNote, and set one or more of the Objective properties with the keywords. For example to make a killtask type quest in which the player must kill 5 balrons, 5 lichlords, a named mob called "Bubba", and collect 20 diamonds, you could set the Objective1 property to "KILL,balron,5", the Objective2 property to "KILL,lichlord,5", and the Objective3 property to "KILLNAMED,Bubba,1", Objective4 property to "COLLECT,diamond,20". A spawner can be then be set up to provide a reward when the objectives on the questnote are completed.
- included an example of a kill and collect quest that is created in green acres in the xmlextras file killtask.xml
- added the "SKILL,skillname" keyword that can be used both for setting skill values, as well as testing for them. The SKILL keyword can be placed anywhere that a valid property name could be used. For example to spawn a mob with certain skills use a spawn spec like "ogre/SKILL,anatomy/100/SKILL,macing/100". To set skills on players that triggered the spawner use a spec like "SETONTRIGMOB/SKILL,meditation/120/SKILL,magery/120". This can be used to create skill-gate like behavior. To test for a skill value for triggering for example, set PlayerTrigProp to "SKILL,mining>100". (thanks to Nim for the suggestion)
- added new items TimedSwitch, TimedLever, XmlLatch, and TimedSwitchableItem.
Similar to the SimpleSwitch and Simple lever, the TimedSwitch, TimedLever items add a reset timer to the switch/lever states with min/maxdelay properties and are derived from the XmlLatch which is a new class that supports resettable switching, and can be used as an item itself to implement a resettable latch (set the state externally and it will hold that state for some time and then reset).
The item TimedSwitchableItem is a TimedSwitch that allows you to specify the Item statics that will be assigned to each state, allowing flexible user-defined visuals during switching, such as a torch or a stone, or a wall section, etc. Because it is a TimedSwitch you can assign actions that are associated with each state as well, such as opening a door when double-clicking a torch, or opening a secret passage when double-clicking on a wall section, etc.
The current switching state of all of these items is contained in the State property, and the ResetState is the value that the State will be returned to after the reset timer expires.
- added an additional quantity argument to the TAKE keyword "TAKE,probability,quantity/itemname" allowing a partial removal of named stacked items. When called with the quantity argument, TAKE will attempt to remove the specified quantity of the stacked item. If less than the quantity is found, then whatever the amount found will be taken. If the item is not stackable, then the item will simply be taken. (thanks to DeepFreez for the suggestion)
- added a new keyword TAKEBYTYPE with syntax "TAKEBYTYPE,probability,quantity/itemtype". It is similar to the TAKE keyword but items are identified by type rather than name.
For example, to take 1000 gold from a triggering player use the spawn spec "TAKEBYTYPE,1,1000/gold".
Note, by default neither TAKE and TAKEBYTYPE will search a players bankbox.
- added an argument to TAKEBYTYPE and TAKE keywords allowing bankboxes to be included in the searched items. The syntax is "TAKE,probability,quantity,true/itemname" and "TAKEBYTYPE,probability,quantity,true/itemtype"