xoreos  0.0.5
creature.h
Go to the documentation of this file.
1 /* xoreos - A reimplementation of BioWare's Aurora engine
2  *
3  * xoreos is the legal property of its developers, whose names
4  * can be found in the AUTHORS file distributed with this source
5  * distribution.
6  *
7  * xoreos is free software; you can redistribute it and/or
8  * modify it under the terms of the GNU General Public License
9  * as published by the Free Software Foundation; either version 3
10  * of the License, or (at your option) any later version.
11  *
12  * xoreos is distributed in the hope that it will be useful,
13  * but WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15  * GNU General Public License for more details.
16  *
17  * You should have received a copy of the GNU General Public License
18  * along with xoreos. If not, see <http://www.gnu.org/licenses/>.
19  */
20 
25 #ifndef ENGINES_NWN_CREATURE_H
26 #define ENGINES_NWN_CREATURE_H
27 
28 #include <vector>
29 #include <list>
30 
31 #include "src/common/types.h"
32 #include "src/common/scopedptr.h"
33 #include "src/common/ptrvector.h"
34 #include "src/common/ustring.h"
35 
36 #include "src/aurora/types.h"
37 
40 
41 #include "src/engines/nwn/types.h"
42 #include "src/engines/nwn/object.h"
43 
44 namespace Engines {
45 
46 namespace NWN {
47 
48 class Item;
49 
50 class Creature : public Object {
51 public:
53  Creature();
55  Creature(const Aurora::GFF3Struct &creature);
57  Creature(const Common::UString &bic, bool local);
58  ~Creature();
59 
62 
63  // Basic visuals
64 
65  void loadModel();
66  void unloadModel();
67 
68  void show();
69  void hide();
70 
71  // Basic properties
72 
74  const Common::UString &getFirstName() const;
76  const Common::UString &getLastName() const;
77 
79  Gender getGender() const;
81  void setGender(Gender gender);
83  bool isFemale() const;
84 
86  uint32 getRace() const;
88  void setRace(uint32 race);
89 
91  void setPortrait(const Common::UString &portrait);
93  const Common::UString &getPortrait() const;
94 
96  const Common::UString &getConvRace() const;
98  const Common::UString &getConvrace() const;
100  const Common::UString &getConvRaces() const;
101 
103  const Common::UString &getSubRace() const;
104 
106  void getClass(uint32 position, uint32 &classID, uint16 &level) const;
108  uint16 getClassLevel(uint32 classID) const;
110  void changeClassLevel(uint32 classID, int16 levelChange);
111 
113  const Common::UString &getConvClass() const;
115  const Common::UString &getConvclass() const;
117  const Common::UString &getConvClasses() const;
118 
121 
123  uint8 getHitDice() const;
124 
126  uint8 getAbility(Ability ability) const;
128  void setAbility(Ability ability, uint8 score);
130  int8 getSkillRank(uint32 skill) const;
132  void setSkillRank(size_t skill, uint8 rank);
134  void setFeat(uint32 feat);
136  bool hasFeat(uint32 feat) const;
137 
139  const Common::UString &getDeity() const;
140 
142  uint8 getGoodEvil() const;
144  void setGoodEvil(uint8 goodness);
146  uint8 getLawChaos() const;
148  void setLawChaos(uint8 lawfulness);
149 
151  void setSoundSet(uint32 soundSet);
152 
153  bool isPC() const;
154  bool isDM() const;
155 
157  uint32 getAge() const;
158 
160  uint32 getXP() const;
161 
163  int32 getCurrentHP() const;
165  int32 getMaxHP() const;
166 
168  uint8 getStartingPackage() const;
170  void setStartingPackage(uint8 package);
171 
173  void getDomains(uint32 classID, uint8 &domain1, uint8 &domain2);
175  void setDomains(uint32 classID, uint8 domain1, uint8 domain2);
176 
178  bool hasSpell(uint32 classID, size_t spellLevel, uint16 spell);
180  void setSchool(uint32 classID, uint8 school);
182  void setKnownSpell(uint32 classID, size_t spellLevel, uint16 spell);
184  void setMemorizedSpell(uint32 classID, size_t spellLevel, uint16 spell);
185 
187  void setAppearance(uint32 appearanceID);
189  void setPhenotype(uint32 phenotype);
191  void setColorSkin(uint32 colorSkin);
193  void setColorHair(uint32 colorHair);
195  void setColorTatto1(uint32 colorTattoo1);
197  void setColorTatto2(uint32 colorTattoo2);
199  void setHead(uint32 headID);
200 
202  void addEquippedItem(Item *item);
203 
204  // Object/Object interactions
205 
207  void setArea(Area *area);
208 
210  void addAssociate(Creature &associate, AssociateType type);
212  void removeAssociate(Creature &ssociate);
213 
215  Creature *getAssociate(AssociateType type, size_t nth = 1) const;
216 
218  Creature *getMaster() const;
220  void setMaster(Creature *master = 0);
221 
223  bool isCommandable() const;
225  void setCommandable(bool commandable);
226 
227  // Positioning
228 
230  void setPosition(float x, float y, float z);
232  void setOrientation(float x, float y, float z, float angle);
233 
234  // Object/Cursor interactions
235 
236  void enter();
237  void leave();
238 
240  virtual void highlight(bool enabled);
241 
243  virtual bool click(Object *triggerer = 0);
244 
245  // Animation
246 
248  void playAnimation(const Common::UString &animation = "", bool restart = true,
249  float length = 0.0f, float speed = 1.0f);
251  void playAnimation(Animation animation, bool restart = true,
252  float length = 0.0f, float speed = 1.0f);
253 
254 
256  static void getPCListInfo(const Common::UString &bic, bool local,
257  Common::UString &name, Common::UString &classes,
258  Common::UString &portrait);
259 
260 private:
283  };
284 
286  struct Class {
289 
292 
294 
295  std::vector<std::vector<uint16> > knownList;
296  std::vector<std::vector<uint16> > memorizedList;
297 
298  Class();
299  };
300 
302  struct Associate {
305 
307  };
308 
310  struct BodyPart {
313 
316 
318  std::list<Graphics::Aurora::TextureHandle> textures;
319 
320  BodyPart();
321  };
322 
325 
328 
331 
333 
334  bool _isPC;
335  bool _isDM;
336 
338 
340 
344 
346 
347  std::vector<Class> _classes;
348  std::vector<int8> _skills;
349  std::vector<uint32> _feats;
350 
352 
354 
357 
360 
362 
363  std::vector<BodyPart> _bodyParts;
364 
366 
368 
370 
375 
382 
384  std::list<Associate> _associates;
385 
388 
390 
391 
393  void init();
395  void loadCharacter(const Common::UString &bic, bool local);
397  void load(const Aurora::GFF3Struct &creature);
398 
400  void load(const Aurora::GFF3Struct &instance, const Aurora::GFF3Struct *blueprint);
401 
403  void loadProperties(const Aurora::GFF3Struct &gff);
404 
406  static void loadPortrait(const Aurora::GFF3Struct &gff, Common::UString &portrait);
408  static void loadClasses (const Aurora::GFF3Struct &gff,
409  std::vector<Class> &classes, uint8 &hitDice);
410 
411  void loadEquippedItems(const Aurora::GFF3Struct &gff);
412 
414  void constructPartName(const Common::UString &type, uint32 id,
415  const Common::UString &gender,
416  const Common::UString &race,
417  const Common::UString &phenoType,
418  Common::UString &part);
419 
421  void constructPartName(const Common::UString &type, uint32 id,
422  const Common::UString &gender,
423  const Common::UString &race,
424  const Common::UString &phenoType,
425  const Common::UString &phenoTypeAlt,
426  Aurora::FileType fileType,
427  Common::UString &part);
428 
430  void constructModelName(const Common::UString &type, uint32 id,
431  const Common::UString &gender,
432  const Common::UString &race,
433  const Common::UString &phenoType,
434  const Common::UString &phenoTypeAlt,
435  Common::UString &model,
436  Common::UString &texture);
437 
438  void getPartModels();
439  void getArmorModels();
440 
442  Class *findClass(uint32 classID);
443 
445  void finishPLTs(const std::list<Graphics::Aurora::TextureHandle> &plts);
446 
447  static Aurora::GFF3File *openPC(const Common::UString &bic, bool local);
448  static void getClassString(const std::vector<Class> &classes, Common::UString &str);
449 
451  bool createTooltip(Tooltip::Type type);
452 };
453 
454 } // End of namespace NWN
455 
456 } // End of namespace Engines
457 
458 #endif // ENGINES_NWN_CREATURE_H
void setPosition(float x, float y, float z)
Set the creature&#39;s position.
Definition: creature.cpp:162
uint32 idArmor
Index of the part variant when armour equipped.
Definition: creature.h:312
Common::UString modelName
Name of the model.
Definition: creature.h:314
void setGender(Gender gender)
Set the creature&#39;s gender.
Definition: creature.cpp:194
uint32 _colorHair
The color of the creature&#39;s hair.
Definition: creature.h:372
uint8 getHitDice() const
Returns the number of hit dice, which is effectively the total number of levels.
Definition: creature.cpp:1031
void setAbility(Ability ability, uint8 score)
Set the creature&#39;s ability score.
Definition: creature.cpp:1041
const Common::UString & getConvclass() const
Return the creature&#39;s class as needed in conversations, e.g.
Definition: creature.cpp:985
Common::UString _partsSuperModelName
The supermodel used for parts-based creatures.
Definition: creature.h:367
uint32 _colorCloth1
The 1. color of the creature&#39;s cloth armor.
Definition: creature.h:380
uint32 getAge() const
Return the creature&#39;s age.
Definition: creature.cpp:234
uint32 _colorCloth2
The 2. color of the creature&#39;s cloth armor.
Definition: creature.h:381
Creature * _master
The creature&#39;s master.
Definition: creature.h:383
void constructModelName(const Common::UString &type, uint32 id, const Common::UString &gender, const Common::UString &race, const Common::UString &phenoType, const Common::UString &phenoTypeAlt, Common::UString &model, Common::UString &texture)
Construct the resource name of a body part files.
Definition: creature.cpp:458
bool _isCommandable
Is the creature commandable (has a modifiable action queue)?
Definition: creature.h:387
std::list< Graphics::Aurora::TextureHandle > textures
Actual textures loaded by the part&#39;s model.
Definition: creature.h:318
A class holding an UTF-8 string.
Definition: ustring.h:48
void hide()
Hide the creature&#39;s model.
Definition: creature.cpp:153
void setSoundSet(uint32 soundSet)
Set the creature&#39;s sound set.
Definition: creature.cpp:1019
void setRace(uint32 race)
Set the creature&#39;s race.
Definition: creature.cpp:209
uint8_t uint8
Definition: types.h:200
virtual bool click(Object *triggerer=0)
The creature was clicked.
Definition: creature.cpp:1094
Common::PtrVector< Item > _equippedItems
The creature&#39;s equipped items.
Definition: creature.h:365
bool hasFeat(uint32 feat) const
Does the creature have this feat?
Definition: creature.cpp:1068
static void loadPortrait(const Aurora::GFF3Struct &gff, Common::UString &portrait)
Load the creature&#39;s portrait.
Definition: creature.cpp:872
uint32 _colorTattoo2
The 2. color of the creature&#39;s tattoo.
Definition: creature.h:374
void load(const Aurora::GFF3Struct &creature)
Load from a creature instance.
Definition: creature.cpp:699
bool isPC() const
Is the creature a player character?
Definition: creature.cpp:226
uint8 domain2
Cleric&#39;s domain.
Definition: creature.h:291
Basic Neverwinter Nights type definitions.
void setColorTatto1(uint32 colorTattoo1)
Set the creature&#39;s color tattoo 1.
Definition: creature.cpp:356
void removeAssociate(Creature &ssociate)
Remove an associate (henchman, familiar, ...).
Definition: creature.cpp:388
uint32 _colorSkin
The color of the creature&#39;s skin.
Definition: creature.h:371
void setColorHair(uint32 colorHair)
Set the creature&#39;s color hair.
Definition: creature.cpp:352
std::vector< std::vector< uint16 > > knownList
Known spells list.
Definition: creature.h:295
uint8 getAbility(Ability ability) const
Return a creature&#39;s ability score.
Definition: creature.cpp:1035
Common::UString _subRace
The creature&#39;s subrace.
Definition: creature.h:332
An area in Neverwinter Nights, holding all objects and room tiles within, as well as general area pro...
Definition: area.h:63
uint8 getGoodEvil() const
Get the creature&#39;s good-evil alignment.
Definition: creature.cpp:1003
void setPhenotype(uint32 phenotype)
Set the creature&#39;s phenotype.
Definition: creature.cpp:344
void setLawChaos(uint8 lawfulness)
Set the creature&#39;s law-chaos alignment.
Definition: creature.cpp:1015
A handle to an Aurora texture.
int16_t int16
Definition: types.h:201
bool isFemale() const
Is the creature female, do we need female dialogs tokens?
Definition: creature.cpp:198
A simple scoped smart pointer template.
Common::UString textureName
Name of the texture.
Definition: creature.h:315
uint32 _colorMetal2
The 2. color of the creature&#39;s metal armor.
Definition: creature.h:377
A vector of pointer to objects, with automatic deletion.
Definition: ptrvector.h:44
bool _isPC
Is the creature a PC?
Definition: creature.h:334
Class * findClass(uint32 classID)
Find the creature&#39;s class if any.
Definition: creature.cpp:563
uint32 getXP() const
Return the creature&#39;s XP.
Definition: creature.cpp:238
uint8 _goodEvil
The creature&#39;s good/evil value (0-100).
Definition: creature.h:355
static void getPCListInfo(const Common::UString &bic, bool local, Common::UString &name, Common::UString &classes, Common::UString &portrait)
Return the information needed for a character list.
Definition: creature.cpp:1151
const Common::UString & getSubRace() const
Get the creature&#39;s subrace.
Definition: creature.cpp:934
int8 getSkillRank(uint32 skill) const
Return the creature&#39;s rank in this skill.
Definition: creature.cpp:1047
static void loadClasses(const Aurora::GFF3Struct &gff, std::vector< Class > &classes, uint8 &hitDice)
Load the creature&#39;s classes.
Definition: creature.cpp:894
static Aurora::GFF3File * openPC(const Common::UString &bic, bool local)
Definition: creature.cpp:1186
uint32 _lastChangedGUIDisplay
The time a GUI relevant property was changed last.
Definition: creature.h:324
void setColorSkin(uint32 colorSkin)
Set the creature&#39;s color skin.
Definition: creature.cpp:348
uint16_t uint16
Definition: types.h:202
BodyPartType
Parts of a creature&#39;s body.
Definition: creature.h:262
const Common::UString & getConvrace() const
Return the creature&#39;s lowercase race as needed in conversations, e.g.
Definition: creature.cpp:922
Basic Aurora graphics types.
Common::UString _lastName
The creature&#39;s last name.
Definition: creature.h:327
Creature * getAssociate(AssociateType type, size_t nth=1) const
Get this creature&#39;s nth&#39;s associate of a specific type.
Definition: creature.cpp:400
bool isCommandable() const
Is this creature commandable (has a modifiable action queue)?
Definition: creature.cpp:428
uint32 _colorLeather2
The 2. color of the creature&#39;s leather armor.
Definition: creature.h:379
void setCommandable(bool commandable)
Set whether this creature commandable (has a modifiable action queue).
Definition: creature.cpp:432
void setSchool(uint32 classID, uint8 school)
Set the creature&#39;s school.
Definition: creature.cpp:296
uint16 level
Levels of that class.
Definition: creature.h:288
void setPortrait(const Common::UString &portrait)
Set the creature&#39;s portrait.
Definition: creature.cpp:216
const Common::UString & getDeity() const
Get the creature&#39;s deity.
Definition: creature.cpp:999
void setArea(Area *area)
Set the area this creature is currently in.
Definition: creature.cpp:372
uint8 school
Wizard&#39;s spell school.
Definition: creature.h:293
const Common::UString & getConvRace() const
Return the creature&#39;s race as needed in conversations, e.g.
Definition: creature.cpp:916
uint32 classID
Index into classes.2da.
Definition: creature.h:287
std::vector< std::vector< uint16 > > memorizedList
Memorized spells list.
Definition: creature.h:296
A GFF (generic file format) V3.2/V3.3 file, found in all Aurora games except Sonic Chronicles: The Da...
Definition: gff3file.h:85
uint32 _phenotype
The creature&#39;s phenotype.
Definition: creature.h:359
uint32 _age
The creature&#39;s age.
Definition: creature.h:337
std::vector< Class > _classes
The creature&#39;s classes.
Definition: creature.h:347
int32 _currentHP
The creature&#39;s current health points.
Definition: creature.h:343
Creature * associate
The associate.
Definition: creature.h:304
bool createTooltip(Tooltip::Type type)
Create an empty tooltip.
Definition: creature.cpp:1107
void setFeat(uint32 feat)
Append a feat to the creature.
Definition: creature.cpp:1061
void setDomains(uint32 classID, uint8 domain1, uint8 domain2)
Set clerical domains.
Definition: creature.cpp:270
uint16 getClassLevel(uint32 classID) const
Get the creature&#39;s level for this class.
Definition: creature.cpp:949
uint32 id
Index of the part variant.
Definition: creature.h:311
std::vector< uint32 > _feats
The creature&#39;s feats.
Definition: creature.h:349
void setHead(uint32 headID)
Set the creature&#39;s head.
Definition: creature.cpp:364
Low-level type definitions to handle fixed width types portably.
Creature()
Create a dummy creature instance.
Definition: creature.cpp:70
uint32 _appearanceID
The creature&#39;s general appearance.
Definition: creature.h:358
uint8 _abilities[kAbilityMAX]
The creature&#39;s abilities.
Definition: creature.h:345
A vector storing pointer to objects, with automatic deletion.
int32 getMaxHP() const
Return the max HP this creature can have.
Definition: creature.cpp:246
const Common::UString & getFirstName() const
Return the creature&#39;s first name.
Definition: creature.cpp:182
Common::ScopedPtr< Graphics::Aurora::Model > _model
The creature&#39;s model.
Definition: creature.h:389
void init()
Init the creature.
Definition: creature.cpp:96
void changeClassLevel(uint32 classID, int16 levelChange)
Set the creature&#39;s level for this class.
Definition: creature.cpp:957
bool hasSpell(uint32 classID, size_t spellLevel, uint16 spell)
Do the creature know the spell?
Definition: creature.cpp:279
Common::UString _firstName
The creature&#39;s first name.
Definition: creature.h:326
Associate(AssociateType t=kAssociateTypeNone, Creature *a=0)
Definition: creature.cpp:63
const Common::UString & getConvRaces() const
Return the creature&#39;s race plural as needed in conversations, e.g.
Definition: creature.cpp:928
A part of a creature body.
Definition: creature.h:310
uint8 _hitDice
The creature&#39;s hit dice.
Definition: creature.h:351
std::list< Associate > _associates
The creature&#39;s associates.
Definition: creature.h:384
uint8 _startingPackage
The package chosen at creature&#39;s creation.
Definition: creature.h:361
const Common::UString & getLastName() const
Return the creature&#39;s last name.
Definition: creature.cpp:186
void setKnownSpell(uint32 classID, size_t spellLevel, uint16 spell)
Set a creature&#39;s known spell.
Definition: creature.cpp:304
void getClass(uint32 position, uint32 &classID, uint16 &level) const
Get the creature&#39;s class and level at that class slot position.
Definition: creature.cpp:938
uint8 _lawChaos
The creature&#39;s law/chaos value (0-100).
Definition: creature.h:356
Unicode string handling.
uint32 _xp
The creature&#39;s experience.
Definition: creature.h:339
uint8 domain1
Cleric&#39;s domain.
Definition: creature.h:290
An object in a Neverwinter Nights area.
void getArmorModels()
Populate the armor info for body parts.
Definition: creature.cpp:538
Basic type definitions to handle files used in BioWare&#39;s Aurora engine.
Common::UString getClassString() const
Return the creature&#39;s class description.
Definition: creature.cpp:1023
uint32 getRace() const
Return the creature&#39;s race value.
Definition: creature.cpp:205
uint32 _colorLeather1
The 1. color of the creature&#39;s leather armor.
Definition: creature.h:378
int8_t int8
Definition: types.h:199
uint8 getLawChaos() const
Get the creature&#39;s law-chaos alignment.
Definition: creature.cpp:1011
void loadEquippedItems(const Aurora::GFF3Struct &gff)
Definition: creature.cpp:885
int32 _baseHP
The creature&#39;s base maximum health points.
Definition: creature.h:341
A struct within a GFF3.
Definition: gff3file.h:164
void loadCharacter(const Common::UString &bic, bool local)
Load from a character file.
Definition: creature.cpp:683
void setGoodEvil(uint8 goodness)
Set the creature&#39;s good-evil alignment.
Definition: creature.cpp:1007
void addAssociate(Creature &associate, AssociateType type)
Add an associate (henchman, familiar, ...).
Definition: creature.cpp:379
uint32_t uint32
Definition: types.h:204
uint8 getStartingPackage() const
Return the creature&#39;s starting package.
Definition: creature.cpp:250
uint32 _colorTattoo1
The 1. color of the creature&#39;s tattoo.
Definition: creature.h:373
int32 getCurrentHP() const
Return the current HP this creature has.
Definition: creature.cpp:242
Gender _gender
The creature&#39;s gender.
Definition: creature.h:329
Gender getGender() const
Get the creature&#39;s gender.
Definition: creature.cpp:190
virtual void highlight(bool enabled)
(Un)Highlight the creature.
Definition: creature.cpp:1084
void setOrientation(float x, float y, float z, float angle)
Set the creature&#39;s orientation.
Definition: creature.cpp:170
const Common::UString & getPortrait() const
Get the creature&#39;s portrait.
Definition: creature.cpp:222
void unloadModel()
Unload the creature&#39;s model.
Definition: creature.cpp:675
void loadProperties(const Aurora::GFF3Struct &gff)
Load general creature properties.
Definition: creature.cpp:747
FileType
Various file types used by the Aurora engine and found in archives.
Definition: types.h:56
void leave()
The cursor left the creature.
Definition: creature.cpp:1080
void show()
Show the creature&#39;s model.
Definition: creature.cpp:148
Common::UString _deity
The creature&#39;s deity.
Definition: creature.h:353
uint32 lastChangedGUIDisplay() const
Last time info was changed that&#39;s displayed in the GUI.
Definition: creature.cpp:178
Creature * getMaster() const
Return the creature&#39;s master.
Definition: creature.cpp:424
Common::UString _environmentMap
The environment map override to use on the model.
Definition: creature.h:369
void loadModel()
Load the creature&#39;s model.
Definition: creature.cpp:595
void playAnimation(const Common::UString &animation="", bool restart=true, float length=0.0f, float speed=1.0f)
Play a creature animation.
Definition: creature.cpp:1121
std::vector< int8 > _skills
The creature&#39;s skills.
Definition: creature.h:348
AssociateType type
The associate&#39;s type.
Definition: creature.h:303
void setColorTatto2(uint32 colorTattoo2)
Set the creature&#39;s color tatto 2.
Definition: creature.cpp:360
bool isDM() const
Is the creature a dungeon master?
Definition: creature.cpp:230
void setMemorizedSpell(uint32 classID, size_t spellLevel, uint16 spell)
Set a creature&#39;s memorized spell.
Definition: creature.cpp:322
void setStartingPackage(uint8 package)
Set the creature&#39;s starting package.
Definition: creature.cpp:254
void setMaster(Creature *master=0)
Set the creature&#39;s master.
Definition: creature.cpp:420
void setAppearance(uint32 appearanceID)
Set the creature&#39;s appearance.
Definition: creature.cpp:340
void getDomains(uint32 classID, uint8 &domain1, uint8 &domain2)
Get clerical domains.
Definition: creature.cpp:258
void constructPartName(const Common::UString &type, uint32 id, const Common::UString &gender, const Common::UString &race, const Common::UString &phenoType, Common::UString &part)
Construct the resource name of a body part files.
Definition: creature.cpp:436
void addEquippedItem(Item *item)
Add an equippement to the creature.
Definition: creature.cpp:368
void getPartModels()
Construct all body part models&#39; resource names.
Definition: creature.cpp:509
uint32 _race
The creature&#39;s race.
Definition: creature.h:330
void enter()
The cursor entered the creature.
Definition: creature.cpp:1076
const Common::UString & getConvClasses() const
Return the creature&#39;s class plural as needed in conversations, e.g.
Definition: creature.cpp:992
bool _isDM
Is the creature a DM?
Definition: creature.h:335
int32 _bonusHP
The creature&#39;s bonus health points.
Definition: creature.h:342
void finishPLTs(const std::list< Graphics::Aurora::TextureHandle > &plts)
Finished those paletted textures.
Definition: creature.cpp:574
const Common::UString & getConvClass() const
Return the creature&#39;s class as needed in conversations, e.g.
Definition: creature.cpp:978
void setSkillRank(size_t skill, uint8 rank)
Set the creature&#39;s skill rank.
Definition: creature.cpp:1054
std::vector< BodyPart > _bodyParts
The creature&#39;s body parts.
Definition: creature.h:363
uint32 _colorMetal1
The 1. color of the creature&#39;s metal armor.
Definition: creature.h:376
int32_t int32
Definition: types.h:203