Files
dsrc/sku.0/sys.server/compiled/game/script/library/features.scriptlib
T

117 lines
3.6 KiB
Plaintext

/** 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 );
}