Crossfire Resources Editor
CREMainWindow.cpp File Reference
#include <Qt>
#include <QtWidgets>
#include <memory>
#include <CREMainWindow.h>
#include <CREResourcesWindow.h>
#include "CREMapInformationManager.h"
#include "CREExperienceWindow.h"
#include "MessageManager.h"
#include "CREReportDisplay.h"
#include "CREPixmap.h"
#include "CRESmoothFaceMaker.h"
#include "CREHPBarMaker.h"
#include "ResourcesManager.h"
#include "CRECombatSimulator.h"
#include "scripts/ScriptFileManager.h"
#include "FaceMakerDialog.h"
#include "EditMonstersDialog.h"
#include "random_maps/RandomMap.h"
#include "global.h"
#include "sproto.h"
#include "image.h"
#include "assets.h"
#include "AssetsManager.h"
#include "CRESettings.h"
#include "LicenseManager.h"
#include "AllAssets.h"
#include "assets/AssetModel.h"
#include "ChangesDock.h"
#include "HelpManager.h"
#include "sounds/SoundsDialog.h"
+ Include dependency graph for CREMainWindow.cpp:

Go to the source code of this file.

Functions

static QString alchemyTable (const QString &skill, QStringList &noChance, std::vector< std::pair< QString, int >> &allIngredients)
 
static QString buildShopReport (const QString &title, const QStringList &types, const QList< CREMapInformation * > &maps, QStringList &items)
 
static void doIngredients (const std::vector< std::pair< QString, int >> &allIngredients, const QString &criteria, QString &report)
 
static QString monsterFight (archetype *monster, archetype *skill)
 Generate a report cell for player versus monster fight. More...
 
static int monsterFight (archetype *monster, archetype *skill, int level)
 Simulates a fight between a player and a monster. More...
 
static int monsterFight (archetype *monster, archetype *skill, int level, int count)
 Simulates a fight between a player and a monster. More...
 
static QString monsterTable (archetype *monster, QList< archetype * > skills)
 Generate an HTML table line for a player versus monster fight statistics. More...
 
void readDirectory (const QString &path, QHash< QString, QHash< QString, bool > > &states)
 
static QString reportSummon (const archetype *summon, const object *other, QString name)
 
static QString spellsTable (const QString &skill)
 

Function Documentation

◆ alchemyTable()

static QString alchemyTable ( const QString &  skill,
QStringList &  noChance,
std::vector< std::pair< QString, int >> &  allIngredients 
)
static

Definition at line 626 of file CREMainWindow.cpp.

Referenced by CREMainWindow::onReportAlchemy().

+ Here is the caller graph for this function:

◆ buildShopReport()

static QString buildShopReport ( const QString &  title,
const QStringList &  types,
const QList< CREMapInformation * > &  maps,
QStringList &  items 
)
static

Definition at line 1326 of file CREMainWindow.cpp.

References CREMapInformation::name, CREMapInformation::path, CREMapInformation::shopGreed, CREMapInformation::shopItems(), CREMapInformation::shopMax, CREMapInformation::shopMin, CREMapInformation::shopRace, and types().

Referenced by CREMainWindow::onReportShops().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ doIngredients()

static void doIngredients ( const std::vector< std::pair< QString, int >> &  allIngredients,
const QString &  criteria,
QString &  report 
)
static

Definition at line 713 of file CREMainWindow.cpp.

Referenced by CREMainWindow::onReportAlchemy().

+ Here is the caller graph for this function:

◆ monsterFight() [1/3]

static QString monsterFight ( archetype *  monster,
archetype *  skill 
)
static

Generate a report cell for player versus monster fight.

Cell will contain the first level the player could defeat the monster. This level is determined via a kind of dichotomic search, trying levels and using the middle ground for next iteration.

Parameters
monstermonster being fighted.
skillwhat the player uses to fight the monster.
Returns
full HTML table line for the statistics.

Definition at line 1052 of file CREMainWindow.cpp.

References monsterFight().

+ Here is the call graph for this function:

◆ monsterFight() [2/3]

static int monsterFight ( archetype *  monster,
archetype *  skill,
int  level 
)
static

Simulates a fight between a player and a monster.

Player is a dwarf, with low statistics, no equipment. A maximum of 50 rounds are fighted (can be changed by modifying 'limit').

Parameters
monsterevil guy being fighted.
skillwhat the player attacks the monster with.
levelwhat skill level to use.
Returns
1 if the player could kill the monster, 0 else.

Definition at line 920 of file CREMainWindow.cpp.

Referenced by monsterFight(), and monsterTable().

+ Here is the caller graph for this function:

◆ monsterFight() [3/3]

static int monsterFight ( archetype *  monster,
archetype *  skill,
int  level,
int  count 
)
static

Simulates a fight between a player and a monster.

Player is a dwarf, with low statistics, no equipment. A maximum of 50 rounds are fighted per round.

Parameters
monsterevil guy being fighted.
skillwhat the player attacks the monster with.
levelwhat skill level to use.
counthow many fights to simulate.
Returns
how many fights, on count, the player could kill the monster.

Definition at line 1034 of file CREMainWindow.cpp.

References monsterFight().

+ Here is the call graph for this function:

◆ monsterTable()

static QString monsterTable ( archetype *  monster,
QList< archetype * >  skills 
)
static

Generate an HTML table line for a player versus monster fight statistics.

Parameters
monsterwhat is being attacked.
skillslist of skills to fight with.
Returns
HTML line for the monster and skills.

Definition at line 1112 of file CREMainWindow.cpp.

References monsterFight().

+ Here is the call graph for this function:

◆ readDirectory()

void readDirectory ( const QString &  path,
QHash< QString, QHash< QString, bool > > &  states 
)

Definition at line 1430 of file CREMainWindow.cpp.

Referenced by CREMainWindow::onReportQuests().

+ Here is the caller graph for this function:

◆ reportSummon()

static QString reportSummon ( const archetype *  summon,
const object *  other,
QString  name 
)
static

Definition at line 1209 of file CREMainWindow.cpp.

Referenced by CREMainWindow::onReportSummon().

+ Here is the caller graph for this function:

◆ spellsTable()

static QString spellsTable ( const QString &  skill)
static

Definition at line 853 of file CREMainWindow.cpp.

Referenced by CREMainWindow::onReportSpells().

+ Here is the caller graph for this function: