-
-
Notifications
You must be signed in to change notification settings - Fork 444
/
Copy pathrevolutionary.dm
71 lines (63 loc) · 1.91 KB
/
revolutionary.dm
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
/datum/round_event_control/antagonist/solo/revolutionary
name = "Revolution"
tags = list(TAG_COMMUNAL, TAG_DESTRUCTIVE, TAG_COMBAT, TAG_TEAM_ANTAG)
antag_flag = ROLE_REV_HEAD
antag_datum = /datum/antagonist/rev/head/event_trigger
typepath = /datum/round_event/antagonist/solo/revolutionary
shared_occurence_type = SHARED_HIGH_THREAT
restricted_roles = list(
JOB_AI,
JOB_CAPTAIN,
JOB_CHIEF_ENGINEER,
JOB_CHIEF_MEDICAL_OFFICER,
JOB_CYBORG,
JOB_DETECTIVE,
JOB_HEAD_OF_PERSONNEL,
JOB_HEAD_OF_SECURITY,
JOB_RESEARCH_DIRECTOR,
JOB_SECURITY_OFFICER,
JOB_WARDEN,
JOB_BRIG_PHYSICIAN,
)
base_antags = 2
enemy_roles = list(
JOB_CAPTAIN,
JOB_DETECTIVE,
JOB_HEAD_OF_SECURITY,
JOB_SECURITY_OFFICER,
JOB_WARDEN,
)
required_enemies = 3
min_players = 25
roundstart = TRUE
earliest_start = 0 SECONDS
weight = 3 //value was 3, we need to manually test if this works or not before allowing it normally
max_occurrences = 1
/datum/antagonist/rev/head/event_trigger
remove_clumsy = TRUE
give_flash = TRUE
/datum/round_event/antagonist/solo/revolutionary
excute_round_end_reports = TRUE
end_when = 60000 /// we will end on our own when revs win
var/static/datum/team/revolution/revolution
var/static/finished = FALSE
/datum/round_event/antagonist/solo/revolutionary/setup()
. = ..()
if(!revolution)
revolution = new()
/datum/round_event/antagonist/solo/revolutionary/add_datum_to_mind(datum/mind/antag_mind)
antag_mind.add_antag_datum(antag_datum, revolution)
if(length(revolution.members))
revolution.update_objectives()
revolution.update_heads()
SSshuttle.registerHostileEnvironment(revolution)
/datum/round_event/antagonist/solo/revolutionary/round_end_report()
revolution.round_result(finished)
// /datum/round_event/antagonist/solo/revolutionary/tick()
// if(finished)
// return
// var/winner = revolution.process_victory()
// if(isnull(winner))
// return
// finished = winner
// end()