-X == eXperimental
I cannot support this. I don't have enough manpower. USE IT AT YOUR OWN RISK.
Lumberjacks, basic mob factories, mastery, zone sacking, tree growth, flocking and some refactoring (like adding a basic SpawnNPC() command to entity_list..)
Misc:
Zone:
Zone is set by default to NOT SHUTDOWN. So far the longest I've ran this for is 15 hours. It may take more than one login attempt, but I've yet to crash it. Some strange things happen when you let it run for a while, which is why I like to do it :-)
Trees:
If you spawn some trees, then declare mastery over their faction group, they'll start cloning you (the client). This can be helpful, however, if you want your clones to take over the zone. Sometimes a tree will slip under the world. I need to add a check that destroys the mob if it does so. Also, the drops on trees are a little bugged. They are intended to only drop various parts for fletching. It also currently plays off of class WARRIOR and not npc_type_id -- i don't have a functional editor for the db (and don't care to make one), when one is released, i'll change it.
Lumberjacks:
Orcs and Elves are known to set aside their differences to cut down trees. It is strange, but true.
Mob factories:
Currently, I do not have anything set in place to function as a set behavior for a mob factory. The only NPC_TYPE that supports it is 4723 (I think that's it, check in the MalevolentAI.h header). Also, I do not have anything equiv to a singleton for mob factories. So its a kill fest until each and every last one is dead. I prefer it this way, but plan on making a flag sometime in the future.
Donations:
Money is routed to your bank account. Mobs aren't currently bright enough to know how much they've given.
Command List:
Code:
/*******************************
Hunger
*******************************/
Message(0, " #zonefamine - force all npcs in zone into famine mode");
Message(0, " #ForceFeed - feed an npc (min -100, max 100");
Message(0, " #HungerThreshold - view the current hunger threshold");
Message(0, " #GetVoreType or voretype - check what they eat");
Message(0, " #GetFoodType - what kind of food is the critter considered?") ;
Message(0, " #sicifhungry - spin on the sic command") ;
Message(0, " #Hungry - target") ;
Message(0, " #CanYouEatMe - target") ;
Message(0, " #EatMe - try to eat you, if it can") ;
/*************************************
Alleigiance and mastery
*************************************/
Message(0, " #BecomeZoneMaster - shift allegiance to you");
Message(0, " #GetMastersInZone - dumps who is master to whom");
Message(0, " #MakeFactionGroupObeyOnlyMe - change faction group to half-pet");
Message(0, " #IAmNowYourMaster - change target to half-pet");
Message(0, " #GetContribution - what it says") ;
Message(0, " #GetMaster - who is the master of this target?") ;
Message(0, " #MinionsGoSackZone -- send anyone allied with you to sack the zone");
/*************************************
Tools and utilities
*************************************/
Message(0, " #GetRace - get race id of critter") ;
Message(0, " #GetTarget - get the current target");
/*************************************
Procreation
*************************************/
Message(0, " #GetMateRate");
How to sack a zone:
1. use the #spawn command to summon your minions
2. declare yourself master over these minions (if they aren't already, it'll depend)
3. issue the command to charge: #MinionsGoSackZone
How to plant a tree
1. use spawn, with race as 143
be sure to set hp over 1000 if you want the tree to live for any amount of time
I'll be posting links to files here in a moment.
--MV