Arma Reforger Explorer 1.7.0.54
Arma Reforger Code Explorer by Zeroy - Thanks to MisterOutofTime
Loading...
Searching...
No Matches
SCR_ValuableIntelArsenalRefundEffect.c
Go to the documentation of this file.
1[BaseContainerProps(configRoot: true), BaseContainerCustomCheckIntTitleField("m_bEnabled", "Valuable Intel Effects", "(Disabled) Valuable Intel Effects", 1)]
3{
4 //------------------------------------------------------------------------------------------------
5 override bool IsValid(notnull IEntity item, notnull PlayerController playerController, SCR_ArsenalComponent arsenal)
6 {
7 if (!super.IsValid(item, playerController, arsenal))
8 return false;
9
10 SCR_IdentityInventoryItemComponent identityItem = SCR_IdentityInventoryItemComponent.Cast(item.FindComponent(SCR_IdentityInventoryItemComponent));
11
12 //~ Check if the item has identity item, was handed in at a friendly arsenal and if the item has intel for the player
13 return identityItem && UsedFriendlyArsenal(item, playerController, arsenal) && identityItem.HasValuableIntel(true, playerController);
14 }
15}
16
17[BaseContainerProps(), BaseContainerCustomCheckIntTitleField("m_bEnabled", "Valuable Intel - Add XP", "(Disabled) Valuable Intel - Add XP", 1)]
18class SCR_ValuableIntelXPEffectEntry : SCR_BaseWeightedArsenalRefundEffectEntry
19{
20 [Attribute(SCR_EXPRewards.VALUABLE_INTEL_HANDIN_SMALL.ToString(), desc: "The XP reward given", uiwidget: UIWidgets.SearchComboBox, enums: ParamEnumArray.FromEnum(SCR_EXPRewards))]
21 protected SCR_EXPRewards m_eXPReward;
22
23 //------------------------------------------------------------------------------------------------
24 override bool ExecuteRefundEffect(notnull IEntity item, notnull PlayerController playerController, SCR_ArsenalComponent arsenal)
25 {
26 if (playerController.GetPlayerId() <= 0)
27 return false;
28
29 BaseGameMode gameMode = GetGame().GetGameMode();
30 if (!gameMode)
31 return false;
32
33 SCR_XPHandlerComponent compXP = SCR_XPHandlerComponent.Cast(gameMode.FindComponent(SCR_XPHandlerComponent));
34 if (!compXP)
35 return false;
36
37 compXP.AwardXP(playerController.GetPlayerId(), m_eXPReward);
38
40 if (identityManager)
41 identityManager.OnValuableIntelHandIn_S(playerController);
42
43 return true;
44 }
45}
ArmaReforgerScripted GetGame()
Definition game.c:1398
UI Textures DeployMenu Briefing conflict_HintBanner_1_UI desc
SCR_ValuableIntelArsenalRefundEffect SCR_WeightedListArsenalRefundEffect BaseContainerProps()
SCR_ValuableIntelArsenalRefundEffect SCR_WeightedListArsenalRefundEffect BaseContainerCustomCheckIntTitleField("m_bEnabled", "Valuable Intel - Add XP", "(Disabled) Valuable Intel - Add XP", 1)
bool UsedFriendlyArsenal(notnull IEntity item, notnull PlayerController playerController, SCR_ArsenalComponent arsenal)
bool ExecuteRefundEffect(notnull IEntity item, notnull PlayerController playerController, SCR_ArsenalComponent arsenal)
Effects that support the weighted variant of Arsenal Refund effects. Only works for SCR_BaseWeightedA...
static SCR_IdentityManagerComponent GetInstance()
void OnValuableIntelHandIn_S(notnull PlayerController playerController)
Holds an array of effects that are executed using a weighted randomization.
SCR_FieldOfViewSettings Attribute