Population of Roleplay worlds using NPC Generation commands
Overview
This article covers placement of NPCs within spawn areas via the StargateMC Coremod, allowing for them to be automagically created in a balanced way and managed after the fact.
This is done by a simple command, which spawns the NPC at the location of a player executing it.
This should speed up population of roleplay worlds with large numbers of NPCs, while ensuring they all remain balanced combat stat, loot and reputation wise.
Example Usage:
/sg gennpc [Type] [Faction] [Development Stage] [Locked]
Valid Types
Types are generally broken up into Civilian, Trader, Banker, Soldier or Boss.
There are many sub-types for Trader and Boss for example, allowing for varied results.
NPC Types
NPC Types are listed below. They are general templated sets of behaviours and stats that you can automatically apply to your NPC in a balanced manner.
Trader specified by itself, without a _ItemType will trigger a completely random trader to spawn. See below for details on how to use specific item types.
Example: /sg gennpc Trader Stargate_Command Modern false
- Civilian
- Trader
- Banker
- Soldier
- Common_Boss
- Uncommon_Boss
- Rare_Boss
- Legendary_Boss
Trader Types
Trader types are listed below. When specifiying a trader type, you simply use Trader_Type as the Npc’s type in the npc generation command.
Example: /sg gennpc Trader_Food Stargate_Command Modern false
- Food
- Tools
- Weapons
- Ammo
- Head_Armor
- Chest_Armor
- Leg_Armor
- Foot_Armor
- Power_Technology
- Production_Technology
- Mining_Technology
- Farm
- Lumber
- Minerals
- Transportation_Technology
- Medical
- Construction
- Misc
- Undefined
Factions
Factions are important, as you setting this is signifying what race, skins, location and equipment to use, in addition to who is friendly and unfriendly with the NPC. It also has a modifier for stats for the npc as well.
Example: /sg gennpc Trader Stargate_Command Modern false
A list is below, as well as where they are found:
MilkyWay
- ABYDONIAN
- RA
- TOKRA
- BAAL
- LORD_YU
- CRONUS
- FREE_JAFFA
- LUCIAN_ALLIANCE
- STARGATE_COMMAND
- ANUBIS
- APOPHIS
Pegasus
- WRAITH
- ANCIENT
- ASURAN
- ATLANTIS_EXPEDITION
- CREW_OF_DAEDALUS
Destiny
- DESTINY_EXPEDITION
- LUCIAN_EXPEDITION
- NAKAI
Alterran Home Galaxy
- ORI
- ANCIENT_RESISTANCE
- CREW_OF_ODYSSEY
Ida
- ASGARD_RECLAIMATION_FORCE
- REPLICATORS
Othala
- ASGARD
- REPLICATOR_ADVANCE_FORCE
- CREW_OF_APOLLO
Development Stage
Development Stages signify how tough the NPC should be, as well as how high a tech their loot should be.
Options are:
- None
- Tribal
- Medieval
- Industrial
- Modern (Tauri)
- Advanced (Goauld)
- HighlyAdvanced (Asgard)
- UberAdvanced (Ancient)
Example: /sg gennpc Trader Stargate_Command Modern false
Locking your NPC
Sometimes you want to be able to customise the NPC further, adding unique names and the like.
To prevent most settings from being overridden during NPC refreshes, specify true for the locking argument in the generation command.
Example: /sg gennpc Trader Stargate_Command Modern true
What this does is prevents the automated management system from overwriting specific changes, for example, to the name of the NPC or loot table for drops if it dies.
NPC Refreshes
NPCs that are generated using this system are ‘regenerated’ every 24 hours, or when the coremod is updated.
This happens the next time a player visits the area.
The purpose of this is to further randomize traded items, dialogs and even randomly generated quests to give a bit more immersion, and also to allow us to deploy bugfixes or balance changes to the combat stats of NPCs.
This can be overriden partially by locking the NPC as mentioned above.