Go to the documentation of this file.
15 #include "../ResourcesManager.h"
16 #include "../CREPixmap.h"
40 myRaw.replace(0, 4,
"Object");
42 if (
more != std::string::npos) {
83 while (
index > 0 && part) {
100 while (part !=
child && part) {
130 if (!
arch->clone.randomitems || !fleshFace)
133 std::vector<const archetype *> sources;
136 sources.push_back(candidate);
139 for (
auto source : sources) {
148 auto face =
dynamic_cast<const FaceWrapper *
>(asset);
149 if (face !=
nullptr) {
156 if (strncmp(
myWrappedItem->
name, face->wrappedItem()->name, len) == 0 && face->wrappedItem()->name[len] ==
'_') {
186 hint =
"death animation";
190 auto sound =
dynamic_cast<const SoundFile *
>(asset);
195 bool uses = std::any_of(sound->events().cbegin(), sound->events().cend(), [
this] (
const std::string &
event) {
196 return event == myWrappedItem->name || event == myWrappedItem->clone.name;
212 if (
item->next_yes && ci(
item->next_yes)) {
215 if (
item->next_no && ci(
item->next_no)) {
228 return QString::fromStdString(
myRaw);
238 loader.
load(br, origin);
bool appearsOnTreasureList() const
ResourcesManager * myResources
arch
DIALOGCHECK MINARGS 1 MAXARGS 1
void addMime(QMimeData *data, const QString &mime, const QString &name)
void markModified(ChangeType change, int extra=0)
StringBuffer * stringbuffer_new(void)
void bufferreader_destroy(BufferReader *br)
other than new code I created new archetypes
archetype * myWrappedItem
static bool isValidArchFlesh(const archetype *arch, const Face *fleshFace)
Almost all the spell_ *base png files are taken from JXClient s source
virtual void load(BufferReader *reader, const std::string &filename) override
const char * object_get_value(const object *op, const char *const key)
AssetsManager * getManager()
archetype * wrappedItem() const
virtual AssetWrapper * child(int child) override
virtual void wasModified(AssetWrapper *asset, ChangeType type, int extra) override
T * first(std::function< bool(const T *)> op)
char * stringbuffer_finish(StringBuffer *sb)
Player Stats effect how well a character can survie and interact inside the crossfire world This section discusses the various what they and how they effect the player s actions Also in this section are the stat modifiers that specific classes professions bring Player and sps the current and maximum the Current and Maximum The Current Sp can go somewhat negative When Sp is negative not all spells can be and a more negative Sp makes spell casting less likey to succeed can affect Damage and how the characters as well as how often the character can attack this affects the prices when buying and selling items if this drops the player will start losing hit points cl
ArchetypeWrapper * wrap(archetype *arch, AssetWrapper *parent)
virtual void drag(QMimeData *) const override
void object_dump(const object *op, StringBuffer *sb)
T * find(const Key &name)
virtual void wasModified(AssetWrapper *asset, ChangeType type, int extra)
std::string originOf(const archetype *arch) const
Archetypes * archetypes()
const Animations * animation
struct archetype * other_arch
virtual int childIndex(AssetWrapper *child) override
std::vector< ArtifactWrapper * > myArtifacts
void setSpecificItem(const object *item, bool notify)
static bool treasureContains(const treasure *t, const archetype *arch)
void each(std::function< void(T *)> op)
BufferReader * bufferreader_init_from_memory(BufferReader *br, const char *data, size_t length)
virtual AssetWrapper * child(int index) override
const typedef char * sstring
void setRaw(const QString &raw)
ArchetypeWrapper(AssetWrapper *parent, archetype *arch, ResourcesManager *resourcesManager)
virtual PossibleUse uses(const AssetWrapper *asset, std::string &) const override
virtual int childIndex(AssetWrapper *child) override
struct treasurelist * randomitems
static const char * Archetype
event
DIALOGCHECK MINARGS 1 MAXARGS 2
virtual int childrenCount() const override
void archetypeModified(archetype *arch)