Files
gtav-src/script/dev_ng/singleplayer/include/globals/properties_globals.sch
T
2025-09-29 00:52:08 +02:00

366 lines
14 KiB
XML
Executable File

//////////////////////////////////////////////////////////////////////////////////////////
// //
// SCRIPT NAME : properties_globals.sch //
// AUTHOR : Rob Bray //
// DESCRIPTION : Globals dealing with SP property purchases //
// //
//////////////////////////////////////////////////////////////////////////////////////////
USING "charsheet_global_definitions.sch"
USING "model_enums.sch"
CONST_INT NUMBER_PROPERTY_MANAGEMENT_VEHICLES 2
CONST_INT NUMBER_PROPERTY_MANAGEMENT_PEDS 8
ENUM PROPERTY_MANAGEMENT_STATE_ENUM
PROPERTY_MANAGEMENT_STATE_WAITING = 0,
PROPERTY_MANAGEMENT_STATE_GIVE_NOTIFICATION,
PROPERTY_MANAGEMENT_STATE_PENDING,
PROPERTY_MANAGEMENT_STATE_LAUNCHING,
PROPERTY_MANAGEMENT_STATE_RUNNING
ENDENUM
ENUM PROPERTY_MANAGEMENT_MISSION_ENUM
PROPERTY_MANAGEMENT_MISSION_NONE = 0,
PROPERTY_MANAGEMENT_MISSION_DELIVERY,
PROPERTY_MANAGEMENT_MISSION_DEFEND,
PROPERTY_MANAGEMENT_MISSION_TAXI,
PROPERTY_MANAGEMENT_MISSION_RECOVER_STOLEN,
PROPERTY_MANAGEMENT_MISSION_GANG_ATTACK,
PROPERTY_MANAGEMENT_MISSION_PLANE_PROMOTION
ENDENUM
ENUM PROPERTY_MANAGEMENT_RESULT_ENUM
PROPERTY_MANAGEMENT_RESULT_NONE = 0,
PROPERTY_MANAGEMENT_RESULT_SUCCESS,
PROPERTY_MANAGEMENT_RESULT_FAILURE
ENDENUM
ENUM DELIVERY_MISSION_VARIATION_ENUM
DELIVERY_MISSION_VARIATION_TIMED_1 = 0,
DELIVERY_MISSION_VARIATION_TIMED_2,
DELIVERY_MISSION_VARIATION_TIMED_3,
DELIVERY_MISSION_VARIATION_LOSE_COPS,
DELIVERY_MISSION_VARIATION_LOSE_COPS_2,
DELIVERY_MISSION_VARIATION_RECOVER_VAN,
DELIVERY_MISSION_VARIATION_RECOVER_VAN_2,
DELIVERY_MISSION_VARIATION_BREAKABLE_CARGO_COUNTRY,
DELIVERY_MISSION_VARIATION_BREAKABLE_CARGO_VINYARD,
DELIVERY_MISSION_VARIATION_BREAKABLE_CARGO_LIQUOR_MARKET,
DELIVERY_MISSION_VARIATION_BREAKABLE_CARGO_LIQUOR_MARKET_2,
DELIVERY_MISSION_VARIATION_BREAKABLE_CARGO_LIQUOR_MARKET_3,
DELIVERY_MISSION_VARIATION_BREAKABLE_CARGO_PISSWASSER_1,
DELIVERY_MISSION_VARIATION_BREAKABLE_CARGO_PISSWASSER_2
ENDENUM
ENUM DEFEND_MISSION_VARIATION_ENUM
DEFEND_MISSION_VARIATION_1 = 0,
DEFEND_MISSION_VARIATION_2
ENDENUM
ENUM TAXI_MISSION_VARIATION_ENUM
TAXI_MISSION_VARIATION_CLOWN_CAR = 0,
TAXI_MISSION_VARIATION_CUT_YOU_IN,
TAXI_MISSION_VARIATION_DEADLINE,
TAXI_MISSION_VARIATION_FOLLOW_CAR,
TAXI_MISSION_VARIATION_GOT_YOU_NOW,
TAXI_MISSION_VARIATION_GOT_YOUR_BACK,
TAXI_MISSION_VARIATION_NEEDS_EXCITEMENT,
TAXI_MISSION_VARIATION_TAKE_IT_EASY,
TAXI_MISSION_VARIATION_TAKE_TO_BEST
ENDENUM
ENUM RECOVER_STOLEN_MISSION_VARIATION_ENUM
RECOVER_STOLEN_MISSION_VARIATION_TAKINGS = 0,
RECOVER_STOLEN_MISSION_VARIATION_PAP
ENDENUM
ENUM GANG_ATTACK_MISSION_VARIATION_ENUM
GANG_ATTACK_MISSION_VARIATION_STAYS_AND_FIGHTS = 0,
GANG_ATTACK_MISSION_VARIATION_FLEES_ON_SIGHT
ENDENUM
ENUM HOSE_DOWN_PROTESTORS_MISSION_VARIATION_ENUM
HOSE_DOWN_PROTESTORS_MISSION_VARIATION_1 = 0
ENDENUM
ENUM PLANE_PROMOTION_MISSION_VARIATION_ENUM
PLANE_PROMOTION_MISSION_VARIATION_1 = 0
ENDENUM
ENUM PROPERTY_ACTION_ENUM
PROPERTY_ACTION_FINISHED_MANAGEMENT_EVENT = 0,
PROPERTY_ACTION_IGNORED_MANAGEMENT_EVENT,
PROPERTY_ACTION_DELAY_FOR_MISSION,
PROPERTY_ACTION_GENERAL_DELAY,
PROPERTY_ACTION_PURCHASED_PROPERTY
ENDENUM
ENUM PROPERTY_MISSION_PASSED_SCREEN_STATE_ENUM
PROPERTY_MISSION_PASSED_SCREEN_STATE_NOT_STARTED = 0,
PROPERTY_MISSION_PASSED_SCREEN_STATE_LOADING,
PROPERTY_MISSION_PASSED_SCREEN_STATE_DISPLAYING,
PROPERTY_MISSION_PASSED_SCREEN_STATE_CLEANUP
ENDENUM
ENUM PROPERTY_STAT_ENUM
PROPERTY_STAT_BOUGHT = 0,
PROPERTY_STAT_EARNINGS,
PROPERTY_STAT_MISSIONS_TRIGGERED
ENDENUM
ENUM PROPERTY_BIT_ENUM
PROPERTY_BIT_SHOULD_RECEIVE_PAYMENT_THIS_WEEK = BIT0,
PROPERTY_BIT_IS_NEW_PROPERTY = BIT1,
PROPERTY_BIT_SENT_EMAIL = BIT2
ENDENUM
ENUM PROPERTY_SYSTEM_BIT_ENUM
// REMEMBER TO ADD TO CLEAR ALL SYSTEM BITS
PROPERTY_SYSTEM_BIT_SEND_FAIL_TEXT = BIT1,
PROPERTY_SYSTEM_BIT_SEND_PASS_TEXT = BIT2,
PROPERTY_SYSTEM_BIT_DISPLAY_MISSION_PASS = BIT3,
PROPERTY_SYSTEM_BIT_RUN_CUTSCENE = BIT4,
PROPERTY_SYSTEM_BIT_SETUP_CUTSCENE = BIT5,
PROPERTY_SYSTEM_BIT_PLAYING_MOCAP = BIT6,
PROPERTY_SYSTEM_BIT_CLEARED_FOR_MOCAP = BIT7,
PROPERTY_SYSTEM_BIT_DONE_PURCHASE_SOUND = BIT8,
PROPERTY_SYSTEM_BIT_BLIPPED_MANAGEMENT_EVENT = BIT9,
PROPERTY_SYSTEM_BIT_WAITING_ON_CALL_RESPOND = BIT10,
PROPERTY_SYSTEM_BIT_RECEIVED_CALL = BIT11,
PROPERTY_SYSTEM_BIT_LAUNCH_AMBIENT_SCRIPT = BIT12,
PROPERTY_SYSTEM_BIT_DISPLAYED_PURCHASE_HELP = BIT13,
PROPERTY_SYSTEM_BIT_DISPLAYED_NO_MONEY_HELP = BIT14,
PROPERTY_SYSTEM_BIT_DISPLAYED_CONFIRM_HELP = BIT15,
PROPERTY_SYSTEM_BIT_DISPLAYED_WRONG_CHAR_HELP = BIT16,
PROPERTY_SYSTEM_BIT_CONFIRM_PURCHASE = BIT17,
PROPERTY_SYSTEM_BIT_SUPPRESS_FOR_SALE_SIGNS = BIT18,
PROPERTY_SYSTEM_BIT_PLAYED_PASS_SOUND = BIT19,
PROPERTY_SYSTEM_BIT_SUPPRESS_AIRPORT_RESTRICTED = BIT20,
PROPERTY_SYSTEM_BIT_REQUESTED_TRAFFICKING_ASSETS = BIT21,
PROPERTY_SYSTEM_BIT_DO_RESET_TO_WAITING = BIT22,
PROPERTY_SYSTEM_BIT_WAITING_ON_TEXT_VIEW = BIT23,
PROPERTY_SYSTEM_BIT_DISPLAY_PURCHASED = BIT24,
PROPERTY_SYSTEM_BIT_REQUESTED_TOWING_ASSETS = BIT25,
PROPERTY_SYSTEM_BIT_RESET_FOR_MULTIPLAYER = BIT26,
PROPERTY_SYSTEM_BIT_FORCED_MISSION_START = BIT27,
PROPERTY_SYSTEM_BIT_REQUESTED_GOLF_CLUB_ASSETS = BIT28,
PROPERTY_SYSTEM_BIT_PLAYED_BOUGHT_SOUND = BIT29
ENDENUM
ENUM PROPERTY_SAVED_BIT_ENUM
PROPERTY_SAVED_BIT_INCOME_PAID_THIS_WEEK = BIT1,
PROPERTY_SAVED_BIT_DONE_EVENT_FOR_NEW_PROPERTY = BIT2,
PROPERTY_SAVED_BIT_OFFERED_TOWING_IMPOUND = BIT3,
PROPERTY_SAVED_BIT_ENABLED_TOWING_VEH_GEN = BIT4,
PROPERTY_SAVED_BIT_VAR_TRACK_WEED_TIMED = BIT5,
PROPERTY_SAVED_BIT_VAR_TRACK_WEED_LOSE_COPS = BIT6,
PROPERTY_SAVED_BIT_VAR_TRACK_WEED_RECOVER_VAN = BIT7,
PROPERTY_SAVED_BIT_VAR_TRACK_BAR_RECOVER_STOLEN = BIT8,
PROPERTY_SAVED_BIT_VAR_TRACK_BAR_GANG_ATTACK = BIT9,
PROPERTY_SAVED_BIT_VAR_TRACK_BAR_DELIVERY = BIT10,
PROPERTY_SAVED_BIT_VAR_TRACK_CINEMA_RECOVER_STOLEN = BIT11,
PROPERTY_SAVED_BIT_VAR_TRACK_CINEMA_PLANE_PROMOTION = BIT13,
PROPERTY_SAVED_BIT_VAR_TRACK_NO_TRACK = BIT14,
PROPERTY_SAVED_BIT_RESET_TIME_AFTER_ARMENIAN_1 = BIT15
ENDENUM
ENUM PROPERTY_MISSION_SUB_VAR_ENUM
PROPERTY_MISSION_SUB_VAR_WEED_TIMED_1 = BIT1,
PROPERTY_MISSION_SUB_VAR_WEED_TIMED_2 = BIT2,
PROPERTY_MISSION_SUB_VAR_WEED_TIMED_3 = BIT3,
PROPERTY_MISSION_SUB_VAR_WEED_LOSE_COPS_1 = BIT4,
PROPERTY_MISSION_SUB_VAR_WEED_LOSE_COPS_2 = BIT5,
PROPERTY_MISSION_SUB_VAR_WEED_RECOVER_VAN_1 = BIT6,
PROPERTY_MISSION_SUB_VAR_WEED_RECOVER_VAN_2 = BIT7,
PROPERTY_MISSION_SUB_VAR_TAXI_CLOWN_CAR = BIT8,
PROPERTY_MISSION_SUB_VAR_TAXI_CUT_YOU_IN = BIT9,
PROPERTY_MISSION_SUB_VAR_TAXI_DEADLINE = BIT10,
PROPERTY_MISSION_SUB_VAR_TAXI_FOLLOW_CAR = BIT11,
PROPERTY_MISSION_SUB_VAR_TAXI_GOT_YOU_NOW = BIT12,
PROPERTY_MISSION_SUB_VAR_TAXI_GOT_YOUR_BACK = BIT13,
PROPERTY_MISSION_SUB_VAR_TAXI_NEEDS_EXCITEMENT = BIT14,
PROPERTY_MISSION_SUB_VAR_TAXI_TAKE_IT_EASY = BIT15,
PROPERTY_MISSION_SUB_VAR_TAXI_TAKE_TO_BEST = BIT16,
PROPERTY_MISSION_SUB_VAR_GANG_ATTACK_STAYS_AND_FIGHTS = BIT17,
PROPERTY_MISSION_SUB_VAR_GANG_ATTACK_FLEES_ON_SIGHT = BIT18,
PROPERTY_MISSION_SUB_VAR_BAR_RECOVER_STOLEN_PAPARAZZI = BIT19,
PROPERTY_MISSION_SUB_VAR_BAR_RECOVER_STOLEN_TAKINGS = BIT20,
PROPERTY_MISSION_SUB_VAR_CINEMA_RECOVER_STOLEN_TAKINGS = BIT21,
PROPERTY_MISSION_SUB_VAR_DEFEND_1 = BIT23,
PROPERTY_MISSION_SUB_VAR_DEFEND_2 = BIT24,
PROPERTY_MISSION_SUB_VAR_NO_TRACK = BIT25
ENDENUM
ENUM PROPERTY_UNSAVED_BIT_ENUM
PROPERTY_UNSAVED_BIT_AVAILABLE_FOR_SALE = BIT1,
PROPERTY_UNSAVED_BIT_RUN_LOCATE_CHECK = BIT2,
PROPERTY_UNSAVED_BIT_BLIPPED_AVAILABLE = BIT3,
PROPERTY_UNSAVED_BIT_BLIPPED_UNAVAILABLE = BIT4,
PROPERTY_UNSAVED_BIT_BLIPPED_OWNED = BIT5,
PROPERTY_UNSAVED_BIT_CREATED_FOR_SALE_SIGN = BIT6
ENDENUM
ENUM CREATE_MANAGEMENT_EVENT_STATE_NOT_STARTED_ENUM
CREATE_MANAGEMENT_EVENT_STATE_NOT_STARTED = 0,
CREATE_MANAGEMENT_EVENT_STATE_LOADING_ASSETS,
CREATE_MANAGEMENT_EVENT_STATE_DONE
ENDENUM
ENUM CREATE_FOR_SALE_SIGN_STATE_ENUM
CREATE_FOR_SALE_SIGN_STATE_NOT_STARTED = 0,
CREATE_FOR_SALE_SIGN_STATE_LOADING_MODEL,
CREATE_FOR_SALE_SIGN_STATE_DONE
ENDENUM
ENUM PROPERTY_MISSION_FAIL_REASON_OVERRIDE_ENUM
PROPERTY_MISSION_FAIL_REASON_OVERRIDE_NONE = 0,
PROPERTY_MISSION_FAIL_REASON_OVERRIDE_PAPS_KILLED,
PROPERTY_MISSION_FAIL_REASON_OVERRIDE_IGNORED
ENDENUM
ENUM PROPERTY_MISSION_PASS_REASON_OVERRIDE_ENUM
PROPERTY_MISSION_PASS_REASON_OVERRIDE_NONE = 0,
PROPERTY_MISSION_PASS_REASON_OVERRIDE_NOT_GREAT
ENDENUM
ENUM PROPERTY_GANG_ENUM
PROPERTYGANG_INVALID = -1,
PROPERTYGANG_VAGOS,
PROPERTYGANG_BALLAS,
PROPERTYGANG_TRIAD
ENDENUM
CONST_INT NUM_PROPERTY_GANG_ENEMIES 6
CONST_INT NUM_PROPERTY_GANG_VEHS 2
// management vehicle consts
CONST_INT PROPERTY_MANAGEMENT_VEHICLE_DELIVERY_VEHICLE 0
CONST_INT PROPERTY_MANAGEMENT_VEHICLE_PLANE_PROMOTION_VEHICLE 0
// management ped consts
CONST_INT PROPERTY_MANAGEMENT_PED_TAXI_CUSTOMER_1 0
CONST_INT PROPERTY_MANAGEMENT_PED_TAXI_CUSTOMER_2 1
CONST_INT PROPERTY_MANAGEMENT_PED_TAXI_CUSTOMER_3 2
CONST_INT NUMBER_PROPERTY_FOR_SALE_SIGNS 2
STRUCT PROPERTY_OWNERSHIP_DATA
enumCharacterList charOwner
TIMEOFDAY nextManagementEventTime
INT iBit
INT iLastIncome
ENDSTRUCT
STRUCT PROPERTY_SYSTEM_DATA
INT iTick
INT iLastIncomeCheckTime
INT iPropertyBit[COUNT_OF(PROPERTY_ENUM)]
PROPERTY_MANAGEMENT_STATE_ENUM propertyManagementState
PROPERTY_ENUM currentPropertyManagementProperty
PROPERTY_MANAGEMENT_MISSION_ENUM currentPropertyManagementMission
PROPERTY_MANAGEMENT_RESULT_ENUM currentPropertyManagementResult
CREATE_MANAGEMENT_EVENT_STATE_NOT_STARTED_ENUM createManagementEventState
PROPERTY_MISSION_PASSED_SCREEN_STATE_ENUM missionPassedScreenState
CREATE_FOR_SALE_SIGN_STATE_ENUM createForSaleSignState
OBJECT_INDEX signObject[NUMBER_PROPERTY_FOR_SALE_SIGNS]
INT iCurrentPropertyManagementVariation
INT iCandidateID
BLIP_INDEX propertyManagementBlip
INT iPendingPropertyManagementTimeOut
INT iManagementEventEndTime
INT iNextPushEventTime
INT iSystemBit
CC_CommID sManagementCommsID
SCALEFORM_INDEX passedScaleform
VEHICLE_INDEX veh[2]
PED_INDEX ped
PROPERTY_ENUM runCutsceneProperty
INT iCutsceneStartTime
INT iNextCutsceneShotTime
INT iCutsceneShot
INT iCutsceneHelp
BOOL bDone1stPersonFlash
CAMERA_INDEX camIndex1
CAMERA_INDEX camIndex2
THREADID propertyManagementThreadID
structPedsForConversation conversation
PROPERTY_ENUM ambientScriptProperty
PROPERTY_ENUM handlePurchaseProperty
STREAMVOL_ID streamVolume
INTERIOR_INSTANCE_INDEX interior
PROPERTY_MISSION_FAIL_REASON_OVERRIDE_ENUM failReasonOverride
PROPERTY_MISSION_PASS_REASON_OVERRIDE_ENUM passReasonOverride
// create entities in world
VEHICLE_INDEX managementEventVehicle[NUMBER_PROPERTY_MANAGEMENT_VEHICLES]
PED_INDEX managementEventPed[NUMBER_PROPERTY_MANAGEMENT_PEDS]
MODEL_NAMES managementEventModel
#IF IS_DEBUG_BUILD
INT iDebugUpdateWidgetTime
BOOL bDebugSetAsOwner[COUNT_OF(PROPERTY_ENUM)]
INT iDebugOwner[COUNT_OF(PROPERTY_ENUM)]
INT iDebugNextManagementYear
INT iDebugNextManagementMonth
INT iDebugNextManagementDay
INT iDebugNextManagementHour
INT iDebugNextManagementMinute
INT iDebugNextManagementSecond
BOOL bDebugAdvanceNextPropertyManagementTime
BOOL bDebugForcePropertiesAvailable
BOOL bDebugSetTonyaMissionsComplete
BOOL bDebugPrintCurrentTimeOfDay
BOOL bDebugRequeue
INT iDebugThisPropertyNextManagementDay[COUNT_OF(PROPERTY_ENUM)]
INT iDebugThisPropertyNextManagementHour[COUNT_OF(PROPERTY_ENUM)]
BOOL bDebugAdvanceNextThisPropertyManagementTime[COUNT_OF(PROPERTY_ENUM)]
BOOL bDebugWarpToThisPropertyPurchaseCutscene[COUNT_OF(PROPERTY_ENUM)]
#ENDIF
ENDSTRUCT
//═══════════════════════════════════════════════════════════════════════════════
//═════════════════════════════╡ Unsaved data ╞══════════════════════════════════
//═══════════════════════════════════════════════════════════════════════════════
PROPERTY_SYSTEM_DATA g_PropertySystemData
//═══════════════════════════════════════════════════════════════════════════════
//════════════════════════════╡ Data to be saved ╞═══════════════════════════════
//═══════════════════════════════════════════════════════════════════════════════
STRUCT PropertySaved
PROPERTY_OWNERSHIP_DATA propertyOwnershipData[COUNT_OF(PROPERTY_ENUM)]
INT iBit
INT iSubVarBit
TIMEOFDAY nextCheckManagementEventTime
// specific data for various properties that cannot be saved in bits
INT iTotalCarsDestroyed // car scrapyard
INT iCashFromSonarThisWeek // sonar collections
INT iCashFromTraffickingThisWeek // trafficking
INT iCashFromTowingThisWeek // towing
ENDSTRUCT