diff Party.h @ 0:8b8875f5b359

Initial commit
author Nomad
date Fri, 05 Oct 2012 16:07:14 +0200
parents
children 93bf1d5f6a6d
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Party.h	Fri Oct 05 16:07:14 2012 +0200
@@ -0,0 +1,256 @@
+#pragma once
+#include "Player.h"
+#include "NPC.h"
+#include "Spells.h"
+#include "VectorTypes.h"
+
+
+
+
+
+
+
+
+
+
+/*  355 */
+enum PARTY_FLAGS_2 : __int32
+{
+  PARTY_FLAGS_2_RUNNING = 0x2,
+};
+
+/*  347 */
+enum PARTY_BUFF_INDEX
+{
+  PARTY_BUFF_RESIST_AIR = 0x0,
+  PARTY_BUFF_RESIST_BODY = 0x1,
+  PARTY_BUFF_DAY_OF_GODS = 0x2,
+  PARTY_BUFF_DETECT_LIFE = 0x3,
+  PARTY_BUFF_RESIST_EARTH = 0x4,
+  PARTY_BUFF_FEATHER_FALL = 0x5,
+  PARTY_BUFF_RESIST_FIRE = 0x6,
+  PARTY_BUFF_FLY = 0x7,
+  PARTY_BUFF_HASTE = 0x8,
+  PARTY_BUFF_HEROISM = 0x9,
+  PARTY_BUFF_IMMOLATION = 0xA,
+  PARTY_BUFF_INVISIBILITY = 0xB,
+  PARTY_BUFF_RESIST_MIND = 0xC,
+  PARTY_BUFF_PROTECTION_FROM_MAGIC = 0xD,
+  PARTY_BUFF_SHIELD = 0xE,
+  PARTY_BUFF_STONE_SKIN = 0xF,
+  PARTY_BUFF_TORCHLIGHT = 0x10,
+  PARTY_BUFF_RESIST_WATER = 0x11,
+  PARTY_BUFF_WATER_WALK = 0x12,
+  PARTY_BUFF_WIZARD_EYE = 0x13,
+};
+
+
+
+/*  300 */
+enum PartyAction: unsigned __int32
+{
+  PARTY_INVALID = 0,
+  PARTY_TurnLeft = 0x1,
+  PARTY_TurnRight = 0x2,
+  PARTY_StrafeLeft = 0x3,
+  PARTY_StrafeRight = 0x4,
+  PARTY_WalkForward = 0x5,
+  PARTY_WalkBackward = 0x6,
+  PARTY_LookUp = 0x7,
+  PARTY_LookDown = 0x8,
+  PARTY_CenterView = 0x9,
+  PARTY_unkA = 0xA,
+  PARTY_unkB = 0xB,
+  PARTY_Jump = 0xC,
+  PARTY_FlyUp = 0xD,
+  PARTY_FlyDown = 0xE,
+  PARTY_Land = 0xF,
+  PARTY_RunForward = 0x10,
+  PARTY_RunBackward = 0x11,
+  PARTY_FastTurnLeft = 0x12,
+  PARTY_FastTurnRight = 0x13,
+
+  PARTY_dword = 0xFFFFFFFF
+};
+
+
+
+/*  135 */
+#pragma pack(push, 1)
+struct ActionQueue
+{
+  void Add(PartyAction action);
+  PartyAction Next();
+
+  unsigned int uNumActions;
+  PartyAction  pActions[30];
+};
+#pragma pack(pop)
+
+
+
+
+
+
+
+
+
+
+/*  208 */
+#pragma pack(push, 1)
+struct Party_stru0
+{
+  int field_0[20];
+  int field_50[170];
+  int _shop_ban_times[82];
+  int field_440[44];
+  int field_4F0[38];
+  char field_588[2];
+  char pIsArtifactFound[238];
+};
+#pragma pack(pop)
+
+/*  207 */
+#pragma pack(push, 1)
+struct Party
+{
+  Party():
+    uTimePlayed(0)
+  {}
+
+  void _4909F4();
+  void RestAndHeal();
+  unsigned int GetPartyFame();
+  void CreateDefaultParty(char bGiveItems);
+  int Reset();
+  void ResetPosMiscAndSpellBuffs();
+  bool HasItem(unsigned int uItemID);
+  void SetHoldingItem(ItemGen *pItem);
+  int GetNextActiveCharacter();
+  bool _497FC5_check_party_perception_against_level();
+  bool AddItem(ItemGen *pItem);
+  void Yell();
+  
+  static void SetGold(unsigned int uNumGold);
+  static void TakeGold(unsigned int uNumGold);
+  static __int16 SetFood(unsigned int uNumFood);
+  static void TakeFood(unsigned int uNumFood);
+  static __int16 GiveFood(unsigned int _this);
+
+
+  int field_0;
+  unsigned int uPartyHeight;
+  unsigned int uDefaultPartyHeight;
+  int sEyelevel;
+  unsigned int uDefaultEyelevel;
+  int field_14;
+  int field_18;
+  unsigned int uWalkSpeed;
+  int field_20_prolly_turn_speed;
+  int field_24;
+  int field_28;
+  unsigned __int64 uTimePlayed;
+  __int64 uLastRegenerationTime;
+  Party_stru0 field_3C;
+  Vec3_int_ vPosition;
+  int sRotationY;
+  int sRotationX;
+  Vec3_int_ vPrevPosition;
+  int sPrevRotationY;
+  int sPrevRotationX;
+  int sPrevEyelevel;
+  int field_6E0;
+  int field_6E4;
+  int uFallSpeed;
+  int field_6EC;
+  int field_6F0;
+  int field_6F4_packedid;
+  int field_6F8;
+  int field_6FC;
+  int uFallStartY;
+  unsigned int bFlying;
+  char field_708;
+  char field_709;
+  char field_70A;
+  char field_70B;
+  unsigned int uCurrentYear;
+  unsigned int uCurrentMonth;
+  unsigned int uCurrentMonthWeek;
+  unsigned int uDaysPlayed;
+  unsigned int uCurrentHour;
+  unsigned int uCurrentMinute;
+  int uCurrentTimeSecond;
+  unsigned int uNumFoodRations;
+  int field_72C;
+  int field_730;
+  unsigned int uNumGold;
+  unsigned int uNumGoldInBank;
+  unsigned int uNumDeaths;
+  int field_740;
+  int uNumPrisonTerms;
+  unsigned int uNumBountiesCollected;
+  int field_74C;
+  __int16 field_750[5];
+  __int16 field_75A[5];
+  char field_764;
+  unsigned __int8 _award_bits[64];
+  unsigned __int8 pArcomageWins[16];
+  char field_7B5_in_arena_quest;
+  char uNumArenaPageWins;
+  char uNumArenaSquireWins;
+  char uNumArenaKnightWins;
+  char uNumArenaLordWins;
+  char field_7BA[12];
+  char pArtifactsFound[56];
+  char _autonote_related_stuff[12];
+  char field_80A[74];
+  char field_854[32];
+  int field_874;
+  int field_878;
+  unsigned int bTurnBasedModeOn;
+  int field_880;
+  int uFlags2;
+  unsigned int uAlignment;
+  SpellBuff pPartyBuffs[20];
+  Player pPlayers[4];
+  NPCData pHirelings[2];
+  ItemGen pPickedItem;
+  unsigned int uFlags;
+  int field_777C[1000];
+  int field_871C[1000];
+  int field_96BC[1000];
+  int field_A65C[1000];
+  int field_B5FC[1000];
+  int field_C59C[1000];
+  int field_D53C[1000];
+  int field_E4DC[300];
+  int field_E98C[13];
+  int dword_E9C0;
+  int dword_E9C4;
+  char field_E9C8[5000];
+  char field_FD50[5000];
+  char field_110D8[5000];
+  char field_12460[5000];
+  char field_137E8[5000];
+  char field_14B70[5000];
+  char field_15EF8[250];
+  char field_15FF2[130];
+  char pHireling1Name[100];
+  char pHireling2Name[100];
+  int field_1613C;
+  int field_16140;
+  int pTurnBasedPlayerRecoveryTimes[4];
+  char field_16154[212];
+  int uFine;
+  float flt_TorchlightColorR;
+  float flt_TorchlightColorG;
+  float flt_TorchlightColorB;
+};
+#pragma pack(pop)
+
+
+
+extern Party *pParty; // idb
+
+
+extern struct ActionQueue *pPartyActionQueue;
\ No newline at end of file