World of Might and Magic
0.2.0
Open reimplementation of Might and Magic 6 7 8 game engine
|
См. документацию.
40 #define PLAYER_GUILD_BITS__FINED 1
41 #define PLAYER_GUILD_BITS__SPIRIT_MEMBERSHIP 58
42 #define PLAYER_GUILD_BITS__ARCOMAGE_WIN 103
43 #define PLAYER_GUILD_BITS__ARCOMAGE_LOSE 104
167 #pragma warning(push)
168 #pragma warning(disable : 4341)
267 if (
image !=
nullptr) {
282 #pragma pack(push, 1)
288 #pragma pack(push, 1)
315 #pragma pack(push, 1)
414 unsigned short Player::*attrValue,
415 unsigned short Player::*attrBonus);
436 unsigned int uTargetActorID);
453 int reputation,
int extraStealFine,
int* fineIfFailed);
454 int StealFromActor(
unsigned int uActorID,
int _steal_perm,
int reputation);
455 void Heal(
int amount);
496 int BuildID_2Events,
int a5);
505 bool CanFitItem(
unsigned int uSlot,
unsigned int uItemID);
508 int HasSkill(
unsigned int uSkillType);
509 void WearItem(
unsigned int uItemID);
510 int AddItem(
int uSlot,
unsigned int uItemID);
518 void SetCondition(
unsigned int uConditionIdx,
int blockable);
532 int GetBuyingPrice(
unsigned int uRealValue,
float price_multiplier);
537 void SalesProcess(
unsigned int inventory_idnx,
int item_index,
550 int mult1,
int mult2,
int mult3,
553 unsigned int uTargetActorID,
557 unsigned char armour_skill_type,
float param2,
float param3,
558 float param4,
float param5);
560 unsigned __int16 skillValue);
562 unsigned __int16 addSkillValue);
710 std::array<unsigned __int16, 37>
802 struct Vec3_int_* pPos,
signed int a4);
unsigned __int16 uMightBonus
unsigned __int16 uint16_t
int ReceiveSpecialAttackEffect(int attType, struct Actor *pActor)
char GetLearningPercent()
int GetSkillBonus(enum CHARACTER_ATTRIBUTE_TYPE a2)
@ CHARACTER_EXPRESSION_PERTIFIED
void SetRecoveryTime(signed int sRecoveryTime)
void UseItem_DrinkPotion_etc(signed int a2, int a3)
void AddSkillByEvent(unsigned __int16 Player::*skillToSet, unsigned __int16 addSkillValue)
int StealFromActor(unsigned int uActorID, int _steal_perm, int reputation)
std::array< unsigned int, 16 > pIndices
bool PlayerHitOrMiss(Actor *pActor, int distancemod, int skillmod)
@ PLAYER_SKILL_MONSTER_ID
@ CHARACTER_EXPRESSION_17
String GetRangedDamageString()
bool IsUnconcious() const
@ PLAYER_CLASS_PRIEST_OF_MOON
@ PLAYER_BUFF_PAIN_REFLECTION
unsigned __int16 skillSword
int _expression21_animtime
unsigned __int16 skillMeditation
int GetItemsBonus(enum CHARACTER_ATTRIBUTE_TYPE attr, bool a3=false)
@ CHARACTER_EXPRESSION_30
int GetAttackRecoveryTime(bool bRangedAttack)
@ SPEECH_IDENTIFY_MONSTER_STRONGER
void IncreaseAttribute(int eAttribute)
void SubtractVariable(enum VariableType VarNum, signed int pValue)
int GetBaseResistance(enum CHARACTER_ATTRIBUTE_TYPE a2)
void SetPoisonSevere(GameTime time)
int GetMagicalBonus(enum CHARACTER_ATTRIBUTE_TYPE a2)
@ PLAYER_BUFF_RESIST_MIND
@ PLAYER_CLASS_RANGER_LORD
int CalculateRangedDamageTo(int uMonsterInfoID)
void PlayEmotion(CHARACTER_EXPRESSION_ID expression, int duration)
int GetActualSkillMastery(PLAYER_SKILL_TYPE uSkillType)
@ CHARACTER_EXPRESSION_SCARED
unsigned __int16 skillArmsmaster
unsigned __int16 skillDiplomacy
unsigned __int16 skillItemId
unsigned __int16 skillBlaster
int GetActualAttack(bool onlyMainHandDmg)
bool CanIdentify(ItemGen *pItem)
unsigned __int16 uWillpowerBonus
unsigned __int16 skillDodge
struct ItemGen * GetItemAtInventoryIndex(int inout_item_cell)
unsigned __int16 uAccuracy
@ CHARACTER_EXPRESSION_23
void SetDrunk(GameTime time)
ItemGen * GetNthRingItem(int ringNum)
unsigned __int16 skillLearning
ITEM_EQUIP_TYPE GetEquippedItemEquipType(ITEM_EQUIP_TYPE uEquipSlot)
int ReceiveDamage(signed int amount, DAMAGE_TYPE dmg_type)
@ CHARACTER_EXPRESSION_55
unsigned __int16 skillStealing
int GetTempleHealCostModifier(float price_multi)
char uNumDivineInterventionCastsThisDay
PlayerSpellbookChapter pDarkSpellbook
unsigned __int16 uEnduranceBonus
void ItemsPotionDmgBreak(int enchant_count)
static const unsigned int INVETORYSLOTSHEIGHT
@ CHARACTER_EXPRESSION_DMGRECVD_MAJOR
PlayerSpellbookChapter pAirSpellbook
unsigned __int16 skillRepair
unsigned __int16 skillSpear
@ CHARACTER_EXPRESSION_16
static void _42FA66_do_explosive_impact(int xpos, int ypos, int zpos, int a4, __int16 a5, signed int actchar)
void SetAfraid(GameTime time)
unsigned int GetBaseAge()
unsigned __int16 skillAxe
unsigned __int16 skillBow
String GetRaceName() const
@ CHARACTER_EXPRESSION_39
int GetBaseRepairPrice(int uRealValue, float price_multiplier)
ItemGen * GetAmuletItem()
void SetInsane(GameTime time)
int CalculateMeleeDamageTo(bool ignoreSkillBonus, bool ignoreOffhand, unsigned int uTargetActorID)
@ CHARACTER_EXPRESSION_DEAD
@ CHARACTER_EXPRESSION_SLEEP
unsigned __int16 skillDagger
int GetPriceRepair(int uRealValue, float price_multiplier)
@ CHARACTER_EXPRESSION_INSANE
char lastOpenedSpellbookPage
unsigned __int16 skillLight
unsigned __int16 skillMerchant
@ CHARACTER_EXPRESSION_33
PlayerSpellbookChapter pEarthSpellbook
@ CHARACTER_EXPRESSION_DMGRECVD_MINOR
int GetSpecialItemBonus(ITEM_ENCHANTMENT enchantment)
unsigned __int16 skillBodybuilding
void SetUnconcious(GameTime time)
@ CHARACTER_EXPRESSION_CURSED
@ CHARACTER_EXPRESSION_UNCONCIOUS
unsigned int uSkillPoints
std::array< unsigned __int16, 37 > pActiveSkills
void WearItem(unsigned int uItemID)
@ PLAYER_BUFF_RESIST_FIRE
PlayerSpellbookChapter pLightSpellbook
int FindFreeInventoryListSlot()
void SalesProcess(unsigned int inventory_idnx, int item_index, int _2devent_idx)
unsigned __int16 skillLeather
unsigned __int16 skillDisarmTrap
int GetActualIntelligence()
bool IsEradicated() const
unsigned __int16 skillWater
ItemGen * GetMainHandItem()
@ SPEECH_IDENTIFY_MONSTER_WEAKER
void OnInventoryLeftClick()
@ PLAYER_CLASS_ARCH_DRUID
void EquipBody(ITEM_EQUIP_TYPE uEquipType)
@ CHARACTER_EXPRESSION_13
@ CHARACTER_EXPRESSION_22
void SetPertified(GameTime time)
bool WearsItemAnyWhere(int item_id)
@ PLAYER_SKILL_BODYBUILDING
unsigned __int16 skillAlchemy
unsigned __int16 uExpressionTimeLength
@ PLAYER_SKILL_PERCEPTION
void SetCondInsaneWithBlockCheck(int blockable)
@ CHARACTER_EXPRESSION_FALLING
@ CHARACTER_EXPRESSION_29
std::array< int, 126 > pInventoryMatrix
void SetCondDeadWithBlockCheck(int blockable)
@ CHARACTER_EXPRESSION_38
unsigned __int16 skillMonsterId
unsigned __int16 uAccuracyBonus
bool CompareVariable(enum VariableType VarNum, signed int pValue)
bool HasUnderwaterSuitEquipped()
std::array< char, 99 > bHaveSpell
unsigned __int16 skillStaff
void SetCondUnconsciousWithBlockCheck(int blockable)
@ CHARACTER_EXPRESSION_25
std::array< ItemGen, 138 > pOwnItems
std::array< char, 11 > bIsSpellAvailable
int StealFromShop(ItemGen *itemToSteal, int extraStealDifficulty, int reputation, int extraStealFine, int *fineIfFailed)
bool DiscardConditionIfLastsLongerThan(unsigned int uCondition, GameTime time)
unsigned __int16 skillPlate
@ CHARACTER_EXPRESSION_28
int CreateItemInInventory(unsigned int uSlot, unsigned int uItemID)
@ CHARACTER_EXPRESSION_WEAK
void SetPoisonMedium(GameTime time)
int GetActualResistance(enum CHARACTER_ATTRIBUTE_TYPE a2)
@ CHARACTER_EXPRESSION_19
@ CHARACTER_EXPRESSION_PARALYZED
void RemoveItemAtInventoryIndex(unsigned int uSlot)
void SetCondWeakWithBlockCheck(int blockable)
ItemGen * GetNthEquippedIndexItem(int index)
bool CanTrainToNextLevel()
void PlayAwardSound_Anim()
unsigned __int16 uWillpower
unsigned __int16 skillThievery
void SetCondition(unsigned int uConditionIdx, int blockable)
unsigned int GetItemListAtInventoryIndex(int inout_item_cell)
unsigned __int16 uExpressionTimePassed
int GetBaseIdentifyPrice(float price_multiplier)
unsigned __int16 skillChain
CHARACTER_EXPRESSION_ID expression
@ CHARACTER_EXPRESSION_26
@ PLAYER_CLASS_PRIEST_OF_SUN
void AddVariable(enum VariableType var, signed int val)
std::array< PlayerSpellbookChapter, 9 > pChapters
@ CHARACTER_EXPRESSION_14
bool ShouldLoadTexturesForRaceAndGender(unsigned int _this)
@ PLAYER_SKILL_MEDITATION
bool WearsItem(int item_id, ITEM_EQUIP_TYPE equip_type)
float GetArmorRecoveryMultiplierFromSkillLevel(unsigned char armour_skill_type, float param2, float param3, float param4, float param5)
String GetMeleeDamageString()
int CalculateMeleeDmgToEnemyWithWeapon(ItemGen *weapon, unsigned int uTargetActorID, bool addOneDice)
unsigned char _achieved_awards_bits[64]
void SetDead(GameTime time)
enum CHARACTER_RACE GetRace() const
unsigned __int16 uLuckBonus
@ CHARACTER_EXPRESSION_INVALID
int GetMeleeDamageMaximal()
unsigned __int16 uEndurance
void PlayAwardSound_Anim98()
@ CHARACTER_EXPRESSION_56
bool NothingOrJustBlastersEquipped()
@ PLAYER_SKILL_TRAP_DISARM
unsigned __int16 uTimeToRecovery
@ CHARACTER_EXPRESSION_DMGRECVD_MODERATE
unsigned int GetSpellSchool(unsigned int uSpellID)
@ CHARACTER_EXPRESSION_32
void SetDiseaseSevere(GameTime time)
PlayerSpellbookChapter pMindSpellbook
int _expression21_frameset
@ CHARACTER_EXPRESSION_31
bool HasItem(unsigned int uItemID, bool checkHeldItem)
GLfixed GLfixed GLint GLint order
unsigned __int16 skillShield
unsigned int GetMultiplierForSkillLevel(PLAYER_SKILL_TYPE uSkillType, int mult1, int mult2, int mult3, int mult4)
std::array< unsigned int, 6 > uRings
@ PLAYER_BUFF_INTELLIGENCE
static const unsigned int INVETORYSLOTSWIDTH
int GetParameterBonus(int player_parameter)
void PlayAwardSound_Anim97_Face(PlayerSpeech speech)
int AddItem2(int uSlot, ItemGen *Src)
void PlayAwardSound_Anim_Face(PlayerSpeech speech)
@ SPEECH_IDENTIFY_MONSTER_106
unsigned __int16 uIntelligenceBonus
ItemGen pInventoryItemList[126]
unsigned __int8 uCurrentFace
void SetCursed(GameTime time)
PlayerSpellbookChapter pSpiritSpellbook
void SetParalyzed(GameTime time)
PLAYER_SEX GetSexByVoice()
ItemGen * GetItem(unsigned int PlayerEquipment::*itemPos)
void PutItemArInventoryIndex(int uItemID, int itemListPos, int uSlot)
unsigned __int16 uSpeedBonus
@ PLAYER_CLASS_MASTER_ARCHER
bool CanRepair(ItemGen *pItem)
@ PLAYER_CLASS_BOUNTY_HUNTER
unsigned __int16 skillBody
@ PLAYER_CLASS_BLACK_KNIGHT
unsigned __int16 skillMind
std::array< GameTime, 20 > conditions_times
unsigned __int16 skillDark
ItemGen * GetOffHandItem()
int GetBaseBuyingPrice(int uRealValue, float price_multiplier)
bool CanEquip_RaceAndAlignmentCheck(unsigned int uItemID)
@ CHARACTER_EXPRESSION_27
@ CHARACTER_EXPRESSION_DISEASED
PLAYER_CLASS_TYPE classType
GLboolean GLboolean GLboolean b
bool IsDwarfPresentInParty(bool b)
int GetBaseIntelligence()
bool AddItem(struct ItemGen *pItem)
PlayerSpellbookChapter pWaterSpellbook
unsigned __int16 skillEarth
unsigned int uRequiredMana
bool HasEnchantedItemEquipped(int uEnchantment)
@ PLAYER_BUFF_RESIST_EARTH
@ CHARACTER_EXPRESSION_ERADICATED
unsigned int GetMajorConditionIdx()
std::vector< LloydBeacon > vBeacons
@ CHARACTER_EXPRESSION_18
int SelectPhrasesTransaction(ItemGen *pItem, int building_type, int BuildID_2Events, int a5)
@ CHARACTER_EXPRESSION_57
unsigned __int16 skillUnarmed
@ PLAYER_CLASS_WARRIOR_MAGE
bool SetBeacon(size_t index, size_t power)
unsigned __int16 uIntelligence
unsigned int SkillToMastery(unsigned int skill_value)
void SetZombie(GameTime time)
int GetMeleeDamageMinimal()
@ PLAYER_BUFF_RESIST_BODY
@ CHARACTER_EXPRESSION_37
@ CHARACTER_EXPRESSION_15
@ PLAYER_BUFF_REGENERATION
int CalculateIncommingDamage(DAMAGE_TYPE dmg_type, int amount)
unsigned int GetExperienceDisplayColor()
void PlaySound(PlayerSpeech speech, int a3)
void Reset(PLAYER_CLASS_TYPE classType)
@ CHARACTER_EXPRESSION_54
void PlayAwardSound_Anim98_Face(PlayerSpeech speech)
unsigned __int16 skillAir
int GetPriceIdentification(float price_multiplier)
void DamagePlayerFromMonster(unsigned int uObjID, int a2, struct Vec3_int_ *pPos, signed int a4)
int GetActualAttribute(CHARACTER_ATTRIBUTE_TYPE attrId, unsigned short Player::*attrValue, unsigned short Player::*attrBonus)
int GetBaseSellingPrice(int uRealValue, float price_multiplier)
@ PLAYER_BUFF_RESIST_WATER
void PlayAwardSound_Anim97()
unsigned __int64 uExperience
void SetWeak(GameTime time)
PLAYER_SKILL_TYPE GetEquippedItemSkillType(ITEM_EQUIP_TYPE uEquipSlot)
bool CanCastSpell(unsigned int uRequiredMana)
int GetActualSkillLevel(PLAYER_SKILL_TYPE uSkillType)
@ CHARACTER_EXPRESSION_POISONED
bool HasItemEquipped(ITEM_EQUIP_TYPE uEquipIndex)
void SetAsleep(GameTime time)
void SetDiseaseWeak(GameTime time)
int HasSkill(unsigned int uSkillType)
@ CHARACTER_EXPRESSION_24
@ PLAYER_BUFF_HAMMERHANDS
int GetBuyingPrice(unsigned int uRealValue, float price_multiplier)
@ PLAYER_SKILL_ARMSMASTER
int CreateItemInInventory2(unsigned int index, ItemGen *Src)
void SetDiseaseMedium(GameTime time)
@ CHARACTER_EXPRESSION_21
PlayerSpellbookChapter pBodySpellbook
void SetVariable(enum VariableType var, signed int a3)
bool IsPlayerHealableByTemple()
unsigned __int8 uQuickSpell
unsigned __int16 skillSpirit
unsigned __int16 skillMace
int PlayerCreation_GetUnspentAttributePointCount()
bool ProfessionOrGuildFlagsCorrect(unsigned int uClass, int a3)
PlayerEquipment pEquipment
void SetEradicated(GameTime time)
@ CHARACTER_EXPRESSION_20
@ PLAYER_BUFF_PRESERVATION
@ CHARACTER_EXPRESSION_DRUNK
void SetPoisonWeak(GameTime time)
@ CHARACTER_EXPRESSION_FEAR
unsigned int GetActualAge()
int GetPriceSell(ItemGen itemx, float price_multiplier)
std::array< SpellBuff, 24 > pPlayerBuffs
bool CanFitItem(unsigned int uSlot, unsigned int uItemID)
unsigned __int16 skillPerception
int GetConditionDaysPassed(unsigned int uCondition)
void DecreaseAttribute(int eAttribute)
ItemGen pEquippedItems[12]
int CycleCharacter(bool backwards)
@ PLAYER_CLASS_GREAT_DRUID
unsigned int GetStatColor(int uStat)
static void _42ECB5_PlayerAttacksActor()
PLAYER_SKILL_TYPE GetSkillIdxByOrder(signed int order)
NZIArray< struct Player *, 5 > pPlayers
enum PlayerSpeech PlayerSpeechID
unsigned __int16 skillFire
PlayerSpellbookChapter pFireSpellbook
void SetSkillByEvent(unsigned __int16 Player::*skillToSet, unsigned __int16 skillValue)