<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/css" href="http://wiki.lostsouls.org/w/skins/common/feed.css"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>http://wiki.lostsouls.org/w/index.php?action=history&amp;feed=atom&amp;title=Man_character</id>
		<title>Man character - Revision history</title>
		<link rel="self" type="application/atom+xml" href="http://wiki.lostsouls.org/w/index.php?action=history&amp;feed=atom&amp;title=Man_character"/>
		<link rel="alternate" type="text/html" href="http://wiki.lostsouls.org/w/index.php?title=Man_character&amp;action=history"/>
		<updated>2026-05-10T10:58:35Z</updated>
		<subtitle>Revision history for this page on the wiki</subtitle>
		<generator>MediaWiki 1.8.2</generator>

	<entry>
		<id>http://wiki.lostsouls.org/w/index.php?title=Man_character&amp;diff=3958&amp;oldid=prev</id>
		<title>Laine at 19:28, 11 June 2007</title>
		<link rel="alternate" type="text/html" href="http://wiki.lostsouls.org/w/index.php?title=Man_character&amp;diff=3958&amp;oldid=prev"/>
				<updated>2007-06-11T19:28:31Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==Files==&lt;br /&gt;
 /def/descriptor/character.c&lt;br /&gt;
 /lib/descriptor/autonomon.h&lt;br /&gt;
 /daemon/characters.c&lt;br /&gt;
 /lib/characters.h&lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
&lt;br /&gt;
Character descriptors are used by the random character selection system.&lt;br /&gt;
Characters that are suitable for random generation are registered with&lt;br /&gt;
the characters daemon using character descriptors, and the descriptors&lt;br /&gt;
are used in the selection process.&lt;br /&gt;
&lt;br /&gt;
The standard support module for control daemons includes functions for&lt;br /&gt;
registering characters for use by the random character system, which is&lt;br /&gt;
referred to as &amp;quot;publishing&amp;quot; them.  Example of characters being registered&lt;br /&gt;
from a project control daemon:&lt;br /&gt;
&lt;br /&gt;
    #include &amp;lt;Project.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    inherit &amp;quot;/std/daemon&amp;quot;;&lt;br /&gt;
    inherit &amp;quot;/mod/daemon/control&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
    #include &amp;lt;daemon.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    void configure() {&lt;br /&gt;
        ::configure();&lt;br /&gt;
        // set_creator(), set_area(), extensions, and so on here...&lt;br /&gt;
        add_published_character(Project_Monster(&amp;quot;orc&amp;quot;),&lt;br /&gt;
            Rarity_Very_Common);&lt;br /&gt;
        add_published_character(([&lt;br /&gt;
            Character_File    : Project_Monster(&amp;quot;ogre_mage&amp;quot;),&lt;br /&gt;
            Character_Rarity  : Rarity_Very_Rare,&lt;br /&gt;
        ]));&lt;br /&gt;
        add_published_character(([&lt;br /&gt;
            Character_File    : Project_NPC(&amp;quot;golbrunk&amp;quot;),&lt;br /&gt;
            Character_Rarity  : Rarity_Exotic,&lt;br /&gt;
            Character_Dangers : Danger_Hated,&lt;br /&gt;
        ]));&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
===Public Fields===&lt;br /&gt;
&lt;br /&gt;
Character_File: The string object name of the character blueprint object.&lt;br /&gt;
&lt;br /&gt;
Character_Rarity: The general rarity with which the character is to be&lt;br /&gt;
randomly generated.  This is an integer rarity value from rarity.h.&lt;br /&gt;
Required.&lt;br /&gt;
&lt;br /&gt;
Character_Dangers: A field of bitmask flags indicating dangers associated&lt;br /&gt;
with the character, which is mainly to do with the risk of them attacking&lt;br /&gt;
or being attacked by other characters.  These flags are normally assigned&lt;br /&gt;
automatically to the extent possible.  The danger flags are:&lt;br /&gt;
&lt;br /&gt;
    Character_Danger_Aggressive: The character attacks others (only&lt;br /&gt;
    incarnoi unless Character_Danger_Indiscriminate is also set).  This&lt;br /&gt;
    flag is assigned automatically to characters who respond true to&lt;br /&gt;
    query_aggressive().&lt;br /&gt;
&lt;br /&gt;
    Character_Danger_Allied: The character is allied with a large social&lt;br /&gt;
    group, and attacking this character will earn the enmity of that social&lt;br /&gt;
    group; normally means that the character is attached to a project&lt;br /&gt;
    control daemon with guardian functionality and has its area control&lt;br /&gt;
    flag turned on.  Note that it is generally best not to publish such&lt;br /&gt;
    characters for random generation.  This flag is assigned automatically&lt;br /&gt;
    to characters who respond true to query_area_control().&lt;br /&gt;
&lt;br /&gt;
    Character_Danger_Bomb: The character is some variety of autonomous&lt;br /&gt;
    bomb, and may be dangerous to anyone around it.  This flag is not&lt;br /&gt;
    assigned automatically.&lt;br /&gt;
&lt;br /&gt;
    Character_Danger_Enmity: There are other characters or classes of&lt;br /&gt;
    character that this character considers enemies, on a basis other than&lt;br /&gt;
    race, and who this character will attack.  This flag is assigned&lt;br /&gt;
    automatically to characters who have non-race values in their setting&lt;br /&gt;
    for query_enemies().&lt;br /&gt;
&lt;br /&gt;
    Character_Danger_Friendly: There are other characters or classes of&lt;br /&gt;
    character that this character is friendly with and will assist in&lt;br /&gt;
    combat.  This flag is assigned automatically to characters who respond&lt;br /&gt;
    to query_friends() with an array of greater than size 0.&lt;br /&gt;
&lt;br /&gt;
    Character_Danger_Hated: There are characters or classes of character&lt;br /&gt;
    which are aggressive specifically toward this character or class of&lt;br /&gt;
    character (characters to whom ordinary racism settings or other forms&lt;br /&gt;
    of aggression may apply need not set this flag).  This flag is not&lt;br /&gt;
    assigned automatically.&lt;br /&gt;
&lt;br /&gt;
    Character_Danger_Indiscriminate: The character is as aggressive toward&lt;br /&gt;
    non-incarnoi as toward incarnoi.  This flag is assigned automatically&lt;br /&gt;
    to characters who respond true to query_can_kill().&lt;br /&gt;
&lt;br /&gt;
    Character_Danger_Racist: The character considers specific races as&lt;br /&gt;
    enemies and will attack them.  This flag is assigned automatically to&lt;br /&gt;
    characters who have race values in their setting for query_enemies().&lt;br /&gt;
&lt;br /&gt;
Character_Flags: A set of bitmask flags.  Currently there is only one:&lt;br /&gt;
&lt;br /&gt;
    Character_Defined_Dangers: Suppresses the normal analysis of the&lt;br /&gt;
    character for automatic assignment of Character_Dangers flags.  This&lt;br /&gt;
    means the danger flags manually assigned are relied on exclusively,&lt;br /&gt;
    and so should be specified carefully.&lt;br /&gt;
&lt;br /&gt;
===Internal Fields===&lt;br /&gt;
&lt;br /&gt;
Character_Object: Query this field to retrieve a pointer to the character&lt;br /&gt;
blueprint.  The character will be loaded if it has not been yet.  Do not&lt;br /&gt;
set this field.&lt;br /&gt;
&lt;br /&gt;
Character_Source: The string object name of the object that created the&lt;br /&gt;
descriptor.&lt;br /&gt;
&lt;br /&gt;
Character_Tag: The tag for the descriptor system.&lt;br /&gt;
&lt;br /&gt;
===Support Functions===&lt;br /&gt;
&lt;br /&gt;
object Character_Resolve(descriptor dxr)&lt;br /&gt;
&lt;br /&gt;
Returns the final character object suitable for use as randomly generated&lt;br /&gt;
content.  In the case of monsters, this will be a clone of the blueprint;&lt;br /&gt;
in the case of NPCs, it will be the blueprint itself.&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
&lt;br /&gt;
[[man descriptors|descriptors(mechanisms)]], [[man rarity|rarity(mechanisms)]], [[man selection|selection(mechanisms)]], [[man item|item(descriptors)]], [[man location|location(descriptors)]]&lt;/div&gt;</summary>
		<author><name>Laine</name></author>	</entry>

	</feed>