/** GAME FEATURE CONSTS: (ClientGameFeature) **/ const int GAME_BASE = 0x0001;//Base const int GAME_COLLECTORS_EDITION = 0x0002;//CollectorsEdition const int GAME_SPACE_EXPANSION_BETA = 0x0004;//SpaceExpansionBeta const int GAME_SPACE_EXPANSION_PRE_ORDER = 0x0008;//SpaceExpansionPreOrder const int GAME_SPACE_EXPANSION_RETAIL = 0x0010;//SpaceExpansionRetail const int GAME_SWG_RETAIL = 0x0020;//SWGRetail const int GAME_SPACE_EXPANSION_PROMOTION = 0x0040;//SpaceExpansionPromotion const int GAME_JAPANESE_RETAIL = 0x0080;//JapaneseRetail const int GAME_JAPANESE_COLLECTORS = 0x0100;//JapaneseCollectors const int GAME_EPISODE3_EXPANSION_RETAIL = 0x0200;//Episode3ExpansionRetail const int GAME_EPISODE3_PREORDER_DIGITAL_DOWNLOAD = 0x0800;// (bit 11 -- 2048) const int GAME_TRIALS_OF_OBIWAN_PREORDER = 0x4000; // (bit 14 -- 16384) const int GAME_TRIALS_OF_OBIWAN_RETAIL = 0x8000; // (bit 15 -- 32768) /** SUBSCRIPTION FEATURE CONSTS: (ClientSubscriptionFeature) **/ const int SUBSCRIPTION_BASE = 0x1;//Base const int SUBSCRIPTION_FREE_TRIAL = 0x2;//FreeTrial const int SUBSCRIPTION_COMBAT_BALANCE_ACCESS = 0x4;//CombatBalanceAccess /************************************** * GAME FEATURES: **/ boolean hasCollectorEdition( obj_id player ) { return (getGameFeatureBits( player ) & GAME_COLLECTORS_EDITION)!=0; } boolean hasSpaceExpansion( obj_id player ) { return (getGameFeatureBits( player ) & GAME_SPACE_EXPANSION_RETAIL)!=0; } boolean hasSpaceExpansionPromotion( obj_id player ) { return (getGameFeatureBits( player ) & GAME_SPACE_EXPANSION_PROMOTION) != 0; } boolean hasJapaneseCollectorEdition( obj_id player ) { return (getGameFeatureBits( player ) & GAME_JAPANESE_COLLECTORS)!=0; } boolean hasEpisode3Expansion( obj_id player ) { return ( hasEpisode3PreOrderDigitalDownload( player ) || hasEpisode3ExpansionRetail( player ) ); } boolean hasEpisode3PreOrderDigitalDownload( obj_id player ) { return (getGameFeatureBits( player ) & GAME_EPISODE3_PREORDER_DIGITAL_DOWNLOAD)!=0; } boolean hasEpisode3ExpansionRetail( obj_id player ) { return (getGameFeatureBits( player ) & GAME_EPISODE3_EXPANSION_RETAIL)!=0; } boolean hasTrialsOfObiwanExpansionRetail( obj_id player ) { return (getGameFeatureBits( player ) & GAME_TRIALS_OF_OBIWAN_RETAIL)!=0; } boolean hasTrialsOfObiwanExpansionPreorder( obj_id player ) { return (getGameFeatureBits( player ) & GAME_TRIALS_OF_OBIWAN_PREORDER)!=0; } boolean hasTrialsOfObiwanExpansion( obj_id player ) { return hasTrialsOfObiwanExpansionRetail(player) || hasTrialsOfObiwanExpansionPreorder(player); } boolean hasMustafarExpansionRetail( obj_id player ) { return hasTrialsOfObiwanExpansion(player); } /************************************** * SUBSCRIPTION FEATURES: **/ boolean hasFreeTrial( obj_id player ) { return (getSubscriptionFeatureBits(player) & SUBSCRIPTION_FREE_TRIAL )!=0; } boolean hasCombatBalanceAccess(obj_id player ) { return (getSubscriptionFeatureBits(player) & SUBSCRIPTION_COMBAT_BALANCE_ACCESS )!=0; } /****************************************** * Deprecated/re-named functions, don't call these: **/ boolean isCollectorEdition( obj_id player ) { return hasCollectorEdition( player ); } boolean isSpaceEdition( obj_id player ) { return hasSpaceExpansion( player ); } boolean isJPCollectorEdition( obj_id player ) { return hasJapaneseCollectorEdition( player ); } boolean isDecemberRegistration( obj_id player ) { return hasSpaceExpansionPromotion( player ); }