Arma Reforger Explorer
1.7.0.54
Arma Reforger Code Explorer by Zeroy - Thanks to MisterOutofTime
Toggle main menu visibility
Loading...
Searching...
No Matches
SCR_DismantleCampaignMilitaryBaseTaskEntity.c
Go to the documentation of this file.
1
class
SCR_DismantleCampaignMilitaryBaseTaskEntityClass
:
SCR_CampaignMilitaryBaseTaskEntityClass
2
{
3
}
4
5
class
SCR_DismantleCampaignMilitaryBaseTaskEntity : SCR_CampaignMilitaryBaseTaskEntity
6
{
7
protected
RplComponent
m_RplComponent
;
8
9
//------------------------------------------------------------------------------------------------
10
override
protected
void
OnTargetBaseCaptured
(SCR_MilitaryBaseComponent
base
,
Faction
faction)
11
{
12
if
(!
m_MilitaryBase
||
base
!=
m_MilitaryBase
)
13
return
;
14
15
m_TaskSystem
.SetTaskState(
this
,
SCR_ETaskState
.CANCELLED);
16
DeleteTask
();
17
}
18
19
//------------------------------------------------------------------------------------------------
20
override
protected
void
OnBaseUnregistered
(SCR_MilitaryBaseComponent
base
)
21
{
22
if
(
SCR_Global
.
IsEditMode
(
this
) || !
GetGame
().
GetGameMode
())
23
return
;
24
25
// base is removed - cancel task
26
SCR_MilitaryBaseComponent targetBase =
GetMilitaryBase
();
27
if
(!
base
||
base
!= targetBase)
28
return
;
29
30
m_TaskSystem
.SetTaskState(
this
,
SCR_ETaskState
.COMPLETED);
31
DeleteTask
();
32
}
33
34
//------------------------------------------------------------------------------------------------
35
protected
void
OnTaskStateChanged
(
SCR_Task
task
,
SCR_ETaskState
newState)
36
{
37
if
(
task
!=
this
)
38
return
;
39
40
if
(newState ==
SCR_ETaskState
.COMPLETED)
41
{
42
AddXPReward
();
43
}
44
}
45
46
//------------------------------------------------------------------------------------------------
47
protected
void
AddXPReward
()
48
{
49
SCR_XPHandlerComponent comp = SCR_XPHandlerComponent.Cast(
GetGame
().
GetGameMode
().FindComponent(SCR_XPHandlerComponent));
50
if
(!comp || !
m_RplComponent
||
m_RplComponent
.IsProxy())
51
return
;
52
53
// add XP to all players in the assigned group
54
array<int> assigneePlayerIDs =
GetTaskAssigneePlayerIDs
();
55
if
(!assigneePlayerIDs)
56
return
;
57
58
foreach
(
int
playerID : assigneePlayerIDs)
59
{
60
comp.AwardXP(playerID,
SCR_EXPRewards
.DISMANTLE_BASE_COMPLETED, 1.0,
false
);
61
}
62
}
63
64
//------------------------------------------------------------------------------------------------
65
override
void
EOnInit
(
IEntity
owner)
66
{
67
super.EOnInit(owner);
68
69
m_RplComponent
= RplComponent.Cast(FindComponent(RplComponent));
70
if
(!
m_RplComponent
||
m_RplComponent
.IsProxy())
71
return
;
72
73
GetOnTaskStateChanged().Insert(
OnTaskStateChanged
);
74
}
75
76
//------------------------------------------------------------------------------------------------
77
void
~SCR_DismantleCampaignMilitaryBaseTaskEntity
()
78
{
79
GetOnTaskStateChanged().Remove(
OnTaskStateChanged
);
80
}
81
}
GetGame
ArmaReforgerScripted GetGame()
Definition
game.c:1398
DeleteTask
void DeleteTask()
Definition
SCR_AttackTaskEntity.c:298
GetGameMode
SCR_BaseGameMode GetGameMode()
Definition
SCR_BaseGameModeComponent.c:15
OnTargetBaseCaptured
void OnTargetBaseCaptured(SCR_MilitaryBaseComponent base, Faction faction)
Definition
SCR_BuildingCampaignMilitaryBaseTaskEntity.c:40
m_RplComponent
RplComponent m_RplComponent
Definition
SCR_CampaignBuildingManagerComponent.c:64
OnTaskStateChanged
void OnTaskStateChanged(SCR_Task task, SCR_ETaskState newState)
Definition
SCR_CampaignFeedbackComponent.c:1980
m_MilitaryBase
SCR_CampaignMilitaryBaseComponent m_MilitaryBase
Definition
SCR_CampaignMilitaryBaseTaskEntity.c:12
GetMilitaryBase
SCR_CampaignMilitaryBaseComponent GetMilitaryBase()
Definition
SCR_CampaignMilitaryBaseTaskEntity.c:16
AddXPReward
void AddXPReward()
Definition
SCR_ClearTaskEntity.c:111
~SCR_DismantleCampaignMilitaryBaseTaskEntity
void ~SCR_DismantleCampaignMilitaryBaseTaskEntity()
Definition
SCR_DismantleCampaignMilitaryBaseTaskEntity.c:77
base
around base
Definition
SCR_HoldCampaignMilitaryBaseTaskEntity.c:9
OnBaseUnregistered
void OnBaseUnregistered(notnull SCR_MilitaryBaseComponent base)
Definition
SCR_ServicePointComponent.c:135
GetTaskAssigneePlayerIDs
array< int > GetTaskAssigneePlayerIDs()
Definition
SCR_Task.c:458
SCR_Task
void SCR_Task(IEntitySource src, IEntity parent)
Definition
SCR_Task.c:1938
SCR_ETaskState
SCR_ETaskState
Definition
SCR_Task.c:3
m_TaskSystem
SCR_TaskSystem m_TaskSystem
Definition
SCR_TaskNotificationComponent.c:11
task
from task
Definition
SCR_TaskNotificationConfigs.c:12
SCR_EXPRewards
SCR_EXPRewards
Definition
SCR_XPHandlerComponent.c:826
Faction
Definition
Faction.c:13
IEntity
Definition
IEntity.c:13
SCR_CampaignMilitaryBaseTaskEntityClass
Definition
SCR_CampaignMilitaryBaseTaskEntity.c:6
SCR_DismantleCampaignMilitaryBaseTaskEntityClass
Definition
SCR_DismantleCampaignMilitaryBaseTaskEntity.c:2
SCR_Global
Definition
Functions.c:7
SCR_Global::IsEditMode
static bool IsEditMode()
Definition
Functions.c:1566
EOnInit
override void EOnInit(IEntity owner)
Definition
SCR_AIConfigComponent.c:87
scripts
Game
Tasks
Campaign
SCR_DismantleCampaignMilitaryBaseTaskEntity.c
Generated by
1.17.0