-
-
Notifications
You must be signed in to change notification settings - Fork 1.3k
/
gang.dm
163 lines (125 loc) · 6.39 KB
/
gang.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
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
#define GANG_MAX_MEMBERS 4
/// How long the leader must cryo before gang members can take their role
#define GANG_CRYO_LOCKOUT 7.5 MINUTES
// -------------------------
// GANG ECONOMY
// -------------------------
// Every gang tag can provide anywhere between 0-6 * GANG_TAG_POINTS_PER_HEAT per GANG_TAG_SCORE_INTERVAL.
// You can therefore estimate how many points a gang might have using this, A VERY successful gang may see mostly level 4 tags.
//
// Giving a gang 2 more spray bottles will therefore mean 2 more level 3~4 tags,
// about 3.5*GANG_TAG_POINTS_PER_HEAT points every GANG_TAG_SCORE_INTERVAL
// Use this to figure if something is too valuable/expensive!
//
// MATH FOR NERDS:
// https:// www.desmos.com/calculator/p9uv6debrp
// This works out to roughly:
// Having the hottest tag gets level '5'
// Having 63% of the top heat is level '4'
// Having 40% of the top heat is level '3'
// Having 25% of the top heat is level '2'
// Having 10% of the top heat is level '1'
// Having less than 10% is level '0'
/// /// number of spray bottles gangs start with in their locker, excluding the 2 in the recruitment briefcase
#define GANG_STARTING_SPRAYPAINT 0
/// time in seconds between gangs gaining spray bottles
#define GANG_SPRAYPAINT_REGEN 7.5 MINUTES
/// number of spray paints that are granted in this interval
#define GANG_SPRAYPAINT_REGEN_QUANTITY 3
/// Drug points:
/// /// Each drug is worth GANG_DRUG_BONUS_MULT * their value until this many units are provided
#define GANG_DRUG_BONUS_CAP 200
/// How many weed leaves provide a points bonus
#define GANG_WEED_LIMIT 200 //gang weed
/// Each drug then has this much market behind it after GANG_DRUG_BONUS_CAP is used up.
#define GANG_DRUG_LIMIT 1000
/// The multiplier for drugs that a gang has handed in less than GANG_DRUG_BONUS_CAP units of
#define GANG_DRUG_BONUS_MULT 5
#define GANG_DRUG_SCORE_BATHSALTS 3
#define GANG_DRUG_SCORE_MORPHINE 1
#define GANG_DRUG_SCORE_CRANK 1
#define GANG_DRUG_SCORE_LSD 0.5
#define GANG_DRUG_SCORE_LSBEE 2
#define GANG_DRUG_SCORE_THC 0.25
#define GANG_DRUG_SCORE_SPACEDRUGS 0.1
#define GANG_DRUG_SCORE_PSILOCYBIN 0.5
#define GANG_DRUG_SCORE_KROKODIL 3
#define GANG_DRUG_SCORE_CATDRUGS 1
#define GANG_DRUG_SCORE_METH 1.5
/// what % of max HP a janktank revives people at
#define JANKTANK2_DESIRED_HEALTH_PCT 0.15
/// How long the JankTank must be prepared while using it on a gang member
#define JANKTANK2_CHANNEL_TIME 5 SECONDS
/// How long the janktank 2 sits in the corpse before revival - where it may be removed.
#define JANKTANK2_PAUSE_TIME 5 SECONDS
// GAMEMODE DEFINES
#ifdef RP_MODE
#define GANG_CRATE_INITIAL_DROP 30 MINUTES //! when the first gang crate drops on RP
#define GANG_CRATE_DROP_FREQUENCY 40 MINUTES //! how often gang crates are dropped on RP
#else
#define GANG_CRATE_INITIAL_DROP 17 MINUTES //! when the first gang crate drops on classic
#define GANG_CRATE_DROP_FREQUENCY 25 MINUTES //! how often gang crates are dropped on classic
#endif
#ifdef RP_MODE
#define GANG_LOOT_INITIAL_DROP 10 MINUTES //! when the first gang duffel bag spawns on RP
#define GANG_LOOT_DROP_FREQUENCY 15 MINUTES //! how often gang duffel bags are dropped on RP
#else
#define GANG_LOOT_INITIAL_DROP 7.5 MINUTES //! when the first gang duffel bag spawns on classic
#define GANG_LOOT_DROP_FREQUENCY 15 MINUTES //! how often gang duffel bags are dropped on classic
#endif
#define GANG_LOOT_DROP_VOLUME_PER_GANG 2 //! how many duffel bags spawn, per gang
// LAUNDERING DEFINES
#define GANG_LAUNDER_DELAY 3 SECONDS //! how often gangs launder the money in their locker, in seconds
#define GANG_LAUNDER_RATE 200 //! how much cash gets turned into points every elapsed GANG_LAUNDER_DELAY,
#define GANG_LAUNDER_CAP 20000 //! how much cash can be in a locker at any given time?
#define GANG_CASH_DIVISOR 5 //! How much cash is required for 1 gang point?
// STREET CRED PURCHASE DEFINES:
#define GANG_NEW_MEMBER_COST 500 //! Cost of buying a new gang member from the locker
#define GANG_NEW_MEMBER_COST_MULT 2.5 //! How much buying a new gang member increases the price
#define GANG_REVIVE_COST 750 //! Cost of buying a revival syringe (JankTank II) from the locker
#define GANG_REVIVE_COST_MULT 1.5 //! How much buying a revival syringe increases its' price
// CRATE DROP DEFINES
#define GANG_CRATE_SCORE 500 //! how many points gang crates grant to each member, when opened
#define GANG_CRATE_DROP_TIME 300 SECONDS //! How long it takes for gang crates to arrive after being announced
#define GANG_CRATE_LOCK_TIME 10 SECONDS //! How long it takes for gang crates to unlock after arriving
#define GANG_LOOT_SCORE 300 //! how many points gang duffel bags grant to each member when opened
// GANG TAG DEFINES:
// Gang tags scan once every GANG_TAG_SCAN_RATE.
// If they see a player, they will remember them until the next GANG_TAG_SCORE_INTERVAL.
// Once the next GANG_TAG_SCORE_INTERVAL has elapsed, all memorised players provide heat, then are forgotten.
/// how often gang tags search for nearby people
#define GANG_TAG_SCAN_RATE 1 SECOND
/// how often tags calculate their heat & score
#define GANG_TAG_SCORE_INTERVAL 15 SECONDS
/// How many points a tag gives for each heat rating it has
#define GANG_TAG_POINTS_PER_HEAT 1.5
/// How much heat gang tags retain every score interval
// Higher means gang tags stay hot for longer
// If popular gang tags are staying too hot for too long after players leave, consider setting it lower.
#define GANG_TAG_HEAT_DECAY_MUL 0.9
// GANG TAG SIZES:
/// Radius of the circle that tags claim
#define GANG_TAG_INFLUENCE_LOCKER 4
/// Radius of the circle that gang tags can see inside (can't be sprayed inside)
#define GANG_TAG_SIGHT_RANGE_LOCKER 0
// keep in mind, smaller maps will still have fewer players & less gangs
// overriding gang tag sizes, 15-8 seems fair for most highpop maps
#ifdef MAP_OVERRIDE_COGMAP2
#define GANG_TAG_INFLUENCE 15
#define GANG_TAG_SIGHT_RANGE 8
#elif defined(MAP_OVERRIDE_DONUT3)
#define GANG_TAG_INFLUENCE 15
#define GANG_TAG_SIGHT_RANGE 8
#elif defined(MAP_OVERRIDE_OZYMANDIAS) //jesus christ. this is HUGE.
#define GANG_TAG_INFLUENCE 20
#define GANG_TAG_SIGHT_RANGE 12
#elif defined(MAP_OVERRIDE_ATLAS)
#define GANG_TAG_INFLUENCE 10
#define GANG_TAG_SIGHT_RANGE 5
#else
#define GANG_TAG_INFLUENCE 12
#define GANG_TAG_SIGHT_RANGE 6
#endif
// shorthands for range calcs
#define GANG_TAG_INFLUENCE_SQUARED GANG_TAG_INFLUENCE*GANG_TAG_INFLUENCE
#define GANG_TAG_SIGHT_RANGE_SQUARED GANG_TAG_SIGHT_RANGE*GANG_TAG_SIGHT_RANGE