Skip to content
Permalink
master
Switch branches/tags
Go to file
 
 
Cannot retrieve contributors at this time
<atlas>
<map>
<!-- A base class for most creatures. -->
<map name="attributes">
<map name="geometry">
<map name="default">
<string name="type">capsule-y</string>
</map>
</map>
<!-- By default don't allow creatures to tumble -->
<map name="angularfactor">
<list name="default">
<float>0</float>
<float>0</float>
<float>0</float>
</list>
</map>
<map name="mind">
<map name="default">
<string name="language">python</string>
<string name="name">mind.NPCMind.NPCMind</string>
</map>
</map>
<map name="status">
<float name="default">1.0</float>
</map>
<!-- Standard density for meat and bones -->
<map name="density">
<float name="default">125</float>
</map>
<map name="stamina">
<float name="default">1</float>
</map>
<map name="perception_sight">
<float name="default">1.0</float>
</map>
<map name="mode">
<string name="default">free</string>
</map>
<!-- Default to a reach of 1 meters (this applies to all creatures, even for worms) -->
<map name="reach">
<float name="default">1</float>
</map>
<!-- Characters are by default omnivores and handle both plants and meats.
To limit put "_modifier_consume_type_meat=0" or "_modifier_consume_type_plant=0" on subclasses. -->
<map name="_modifier_eat">
<float name="default">1</float>
</map>
<!-- All creatures should by default have inventory domains, although for most animals they can't equip anything -->
<map name="domain">
<string name="default">inventory</string>
</map>
<!-- Don't allow movement of too heavy objects.-->
<map name="mover_constraint">
<string name="default">entity.mass = none or describe('Entity is too heavy.', entity.mass = none or entity.mass &lt; actor._mover_mass_max)</string>
</map>
<!--
Don't allow too large entities to be put in inventory. We check that no dimension is longer than 2.5 meters.
Most things that we can't put in our inventory should be blocked by their mass. We still want to be able to put tools like the scythe in the inventory though, and that's a large tool.
This way of limiting inventory might not be perfect though. It might be revisited.
For now it's disabled.
-->
<!-- <map name="destination_constraint">-->
<!-- <string name="default">describe("Entity is too large to fit in inventory.", (entity.bbox = none or (entity.bbox.width &lt; 2.5 and entity.bbox.height &lt; 2.5 and entity.bbox.depth-->
<!-- &lt; 2.5)))-->
<!-- </string>-->
<!-- </map>-->
<!-- By default don't allow it to move much. This is overridden in sub types. -->
<map name="_mover_mass_max">
<float name="default">1.0</float>
</map>
<!-- The max amount of food we can contain in our stomach, relative to our mass. -->
<map name="_nutrients_max_factor">
<float name="default">0.1</float>
</map>
<map name="_goals">
<list name="append">
<map>
<!-- Standard is that all creatures know how to fight or fly. -->
<string name="class">mind.goals.common.combat.FightOrFlight</string>
</map>
</list>
</map>
<map name="__scripts">
<list name="append">
<map>
<string name="language">python</string>
<string name="name">world.traits.Hittable.Hittable</string>
</map>
<map>
<string name="language">python</string>
<string name="name">world.traits.Metabolizing.Metabolizing</string>
</map>
<map>
<string name="language">python</string>
<string name="name">world.traits.Nourishable.Nourishable</string>
</map>
<map>
<string name="language">python</string>
<string name="name">world.traits.StatusDeletable.StatusDeletable</string>
</map>
<map>
<string name="language">python</string>
<string name="name">world.traits.Immortality.Immortality</string>
</map>
<map>
<string name="language">python</string>
<string name="name">world.traits.OriginRecording.OriginRecording</string>
</map>
</list>
</map>
</map>
<string name="id">creature</string>
<string name="objtype">class</string>
<string name="parent">thing</string>
</map>
</atlas>