////////////////////////////////////////////////////////////////////////////////////////// // // // 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