Dayz Explorer CPP 1.28.160049
Loading...
Searching...
No Matches
basicdefines.hpp
Go to the documentation of this file.
1//--------------
2// LIQUID TYPES
3//--------------
4// BEWARE ALL INDIVIDUAL LIQUID TYPES ARE ALSO REPRESENTED SCRIPT-SIDE AND MUST MATCH(all changes must be made on both sides)
5// NOTE ANY NUMBER HERE MUST BE A 1 OR ANY POWER OF TWO, THERE IS A MAXIMUM OF 32 INDIVIDUAL LIQUID TYPES POSSIBLE
6#define LIQUID_BLOOD_0_P 1
7#define LIQUID_BLOOD_0_N 2
8#define LIQUID_BLOOD_A_P 4
9#define LIQUID_BLOOD_A_N 8
10#define LIQUID_BLOOD_B_P 16
11#define LIQUID_BLOOD_B_N 32
12#define LIQUID_BLOOD_AB_P 64
13#define LIQUID_BLOOD_AB_N 128
14#define LIQUID_SALINE 256
15
16#define LIQUID_WATER 512
17#define LIQUID_RIVERWATER 1024
18#define LIQUID_VODKA 2048
19#define LIQUID_BEER 4096
20#define LIQUID_GASOLINE 8192
21#define LIQUID_DIESEL 16384
22#define LIQUID_DISINFECTANT 32768
23#define LIQUID_SOLUTION 65536 //sodium bicarbonate, currently
24#define LIQUID_SNOW 131072
25#define LIQUID_SALTWATER 262144
26#define LIQUID_FRESHWATER 524288
27#define LIQUID_STILLWATER 1048576
28#define LIQUID_HOTWATER 2097152
29#define LIQUID_CLEANWATER 4194304
30
31// THESE ARE GROUPS MADE FOR CONTAINER SETUP, THESE DO NOT HAVE TO BE REPRESENTED SCRIPT-SIDE AND ARE A COMBINATION OF INDIVIDUAL LIQUID TYPES, THERE IS NO MAX LIMIT
32#define CONTAINER_BLOOD_ALL LIQUID_BLOOD_0_P + LIQUID_BLOOD_0_N + LIQUID_BLOOD_A_P + LIQUID_BLOOD_A_N + LIQUID_BLOOD_B_P + LIQUID_BLOOD_B_N + LIQUID_BLOOD_AB_P + LIQUID_BLOOD_AB_N + LIQUID_SALINE
33#define CONTAINER_ALL CONTAINER_BLOOD_ALL + LIQUID_WATER + LIQUID_RIVERWATER + LIQUID_VODKA + LIQUID_BEER + LIQUID_GASOLINE + LIQUID_DIESEL + LIQUID_DISINFECTANT + LIQUID_SOLUTION + LIQUID_SNOW + LIQUID_SALTWATER + LIQUID_FRESHWATER + LIQUID_HOTWATER + LIQUID_CLEANWATER
34#define CONTAINER_ALL_BLOODLESS CONTAINER_ALL - (CONTAINER_BLOOD_ALL) - LIQUID_DISINFECTANT
35#define CONTAINER_ALL_GASOLINELESS CONTAINER_ALL - (CONTAINER_BLOOD_ALL) - LIQUID_DISINFECTANT - LIQUID_GASOLINE - LIQUID_DIESEL
36
37//--------------
38// AGENTS
39//--------------
40// BEWARE, ALL NUMBERS 2 RAISED TO THE POWER OF 0 - 32, MAX 32 INDIVIDUAL AGENTS, MUST MATCH SCRIPT-SIDE AGENT CONFIGURATION
41#define AGENT_CHOLERA 1
42#define AGENT_INFLUENZA 2
43#define AGENT_SALMONELLA 4
44#define AGENT_BRAIN 8
45#define AGENT_FOOD_POISON 16
46#define AGENT_CHEMICAL_POISON 32
47#define AGENT_WOUND 64
48#define AGENT_NERVE 128
49
50//--------------------------------
51// DAMAGE LABELS
52#define PRISTINE 0
53#define WORN 1
54#define DAMAGED 2
55#define BADLY_DAMAGED 3
56#define RUINED 4
57//---------------------
58
59#define PRISTINE_VALUE 1.0
60#define WORN_VALUE 0.7
61#define DAMAGED_VALUE 0.5
62#define BADLY_DAMAGED_VALUE 0.3
63#define RUINED_VALUE 0.0
64
65#define WETNESS_DRY 0.049
66#define WETNESS_DAMP 0.249
67#define WETNESS_WET 0.49
68#define WETNESS_SOAKED 0.79
69#define WETNESS_DRENCHED 1.0
70
71
72#define DMG_LABELS_COMMON_EDGES {{PRISTINE_VALUE,{}}, {WORN_VALUE,{}}, {DAMAGED_VALUE,{}}, {BADLY_DAMAGED_VALUE,{}}, {RUINED_VALUE,{}}};
73
74//--------------------------------
75// ENERGY MANAGER CONSTANTS
76
77// List of energy providers and their capacity
78#define BATTERY_9V_ENERGY_SPAWN 50
79#define CAR_BATTERY_ENERGY_MAX 500
80#define CAR_BATTERY_ENERGY_SPAWN 500
81#define TRUCK_BATTERY_ENERGY_MAX 1500
82#define TRUCK_BATTERY_ENERGY_SPAWN 1500
83#define POWER_GENERATOR_ENERGY_MAX 10000
84#define POWER_GENERATOR_ENERGY_SPAWN 5000
85#define LARGE_GAS_CANISTER_ENERGY_SPAWN 800
86#define MEDIUM_GAS_CANISTER_ENERGY_SPAWN 650
87#define SMALL_GAS_CANISTER_ENERGY_SPAWN 330
88#define POWER_GENERATOR_TISY_ENERGY_MAX 60000
89#define POWER_GENERATOR_TISY_ENERGY_SPAWN 0
90
91// Energy consumption (per second) of devices running on 9V battery
92#define HEAD_TORCH 0.01
93#define FLASHLIGHT 0.01
94#define WALKIE_TALKIE 0.01
95#define MEGAPHONE 0.02
96#define RANGE_FINDER 0.01
97#define POWERED_OPTICS 0.02
98#define CASSETTE_PLAYER 0.02
99#define DEFIBRILLATOR_PER_CHARGE 9
100#define DEFIBRILLATOR_AFTER_CHARGE_IDLE 0.02
101#define CATTLE_PROD_PER_ATTACK 1.5
102#define STUN_BATON_PER_ATTACK 3
103
104// Energy consumption (per second) of bigger devices powered by car battery/generator)
105#define POWER_GENERATOR 0.28
106#define BASE_RADIO 0.05
107#define RADIO_PANEL_BIG 0.20
108#define PAS_TERMINAL 0.15
109#define BARBED_WIRE_IDLE 0.01
110#define BARBED_WIRE_PER_SHOCK 3
111#define SPOTLIGHT 0.14
112#define XMAS_LIGHTS 0.05
113#define REFRIDGERATOR 0.1
114#define BATTERY_CHARGER_IDLE 0.01
115#define BATTERY_CHARGER_ENERGY_TRANSFER 1
116#define POWER_GENERATOR_TISY 8
117
118// Gas burners (value is gas units per second)
119#define PORTABLE_GAS_STOVE 1
120#define PORTABLE_GAS_LAMP 0.1
121
122
123// Plug types
124#define PLUG_UNDEFINED 0
125#define PLUG_BATTERY_SLOT 1
126#define PLUG_COMMON_APPLIANCE 2
127#define PLUG_CROCODILE_PINS 3
128#define PLUG_CROCODILE_PINS_CHARGER 4
129#define PLUG_PAS_DEVICE 5
130#define PLUG_BARBED_WIRE 6
131#define PLUG_GAS_CAN_SLOT 7
132#define PLUG_VEHICLE_BATTERY_PINS 8
133
134// Wetness exposure
135#define STOP_WORK_WHEN_DAMP 1
136#define STOP_WORK_WHEN_WET 0.5
137#define STOP_WORK_WHEN_SOAKING_WET 0.1
138
139// Automatic attachment actions on energy providers
140#define NO_ATTACHMENT_ACTION 0
141#define PLUG_THIS_INTO_ATTACHMENT 1
142#define PLUG_ATTACHMENTS_INTO_THIS 2
143
144// END OF ENERGY MANAGER CONSTANTS
145//--------------------------------
146
147//--------------------------------
148// COOKING METHODS
149#define COOKING_METHOD_NONE 0 //all values must be the same as in Scripts/4_World/Classes/Cooking/Cooking.c - enum CookingMethodType
150#define COOKING_METHOD_BAKING 1
151#define COOKING_METHOD_BOILING 2
152#define COOKING_METHOD_DRYING 3
153#define COOKING_METHOD_TIME 4
154//FOOD STAGES
155#define FOOD_STAGE_NONE 0 //all values must be the same as in Scripts/4_World/Classes/FoodStage/FoodStage.c - enum FoodStageType
156#define FOOD_STAGE_RAW 1
157#define FOOD_STAGE_BAKED 2
158#define FOOD_STAGE_BOILED 3
159#define FOOD_STAGE_DRIED 4
160#define FOOD_STAGE_BURNED 5
161#define FOOD_STAGE_ROTTEN 6
162//--------------------------------
163
164// SKINNING CONSTANTS
165// Only basic values are here for easy adjustments. For more options go to configs of each animal.
166// After changing these constants, do not forget to build all PBOs that reads them!
167#define HumanSteaksCount 10
168#define HumanSteaksQuantityMinMaxCoef {0.5, 1}
169#define HumanGutsCount 1
170#define HumanGutsQuantityMinMaxCoef {0.5, 0.8}
171#define HumanLardCount 1
172#define HumanLardQuantityMinMaxCoef {0.5, 1}
173#define HumanBonesCount 2
174#define HumanBonesQuantityMinMaxCoef {0.75, 1}
175
176#define CervusSteaksCount 17
177#define CervusSteaksQuantityMinMaxCoef {0.75, 1}
178#define CervusGutsCount 3
179#define CervusGutsQuantityMinMaxCoef {0.5, 0.8}
180#define CervusLardCount 3
181#define CervusLardQuantityMinMaxCoef {0.5, 1}
182#define CervusBonesCount 3
183#define CervusBonesQuantityMinMaxCoef {0.8, 1}
184
185#define CowSteaksCount 20
186#define CowSteaksQuantityMinMaxCoef {0.75, 1}
187#define CowGutsCount 5
188#define CowGutsQuantityMinMaxCoef {0.5, 0.8}
189#define CowLardCount 3
190#define CowLardQuantityMinMaxCoef {0.5, 1}
191#define CowBonesCount 4
192#define CowBonesQuantityMinMaxCoef {0.8, 1}
193
194#define CapreolusSteaksCount 10
195#define CapreolusSteaksQuantityMinMaxCoef {0.3, 7}
196#define CapreolusGutsCount 2
197#define CapreolusGutsQuantityMinMaxCoef {0.5, 0.8}
198#define CapreolusLardCount 1
199#define CapreolusLardQuantityMinMaxCoef {0.2, 0.5}
200#define CapreolusBonesCount 1
201#define CapreolusBonesQuantityMinMaxCoef {0.8, 1}
202
203#define FoxSteaksCount 4
204#define FoxSteaksQuantityMinMaxCoef {0.5, 1}
205#define FoxGutsCount 1
206#define FoxGutsQuantityMinMaxCoef {0.5, 0.8}
207#define FoxLardCount 1
208#define FoxLardQuantityMinMaxCoef {0.2, 0.4}
209#define FoxBonesCount 1
210#define FoxBonesQuantityMinMaxCoef {0.6, 8}
211
212#define WildBoarSteaksCount 13
213#define WildBoarSteaksQuantityMinMaxCoef {0.5, 1}
214#define WildBoarGutsCount 2
215#define WildBoarGutsQuantityMinMaxCoef {0.5, 0.8}
216#define WildBoarLardCount 1
217#define WildBoarLardQuantityMinMaxCoef {0.5, 0.8}
218#define WildBoarBonesCount 2
219#define WildBoarBonesQuantityMinMaxCoef {0.8, 1}
220
221#define PigSteaksCount 14
222#define PigSteaksQuantityMinMaxCoef {0.5, 1}
223#define PigGutsCount 2
224#define PigGutsQuantityMinMaxCoef {0.5, 0.8}
225#define PigLardCount 1
226#define PigLardQuantityMinMaxCoef {0.5, 0.8}
227#define PigBonesCount 2
228#define PigBonesQuantityMinMaxCoef {0.8, 1}
229// Sheep & Mouflon
230#define OvisSteaksCount 13
231#define OvisSteaksQuantityMinMaxCoef {0.5, 1}
232#define OvisGutsCount 2
233#define OvisGutsQuantityMinMaxCoef {0.5, 0.8}
234#define OvisLardCount 1
235#define OvisLardQuantityMinMaxCoef {0.4, 8}
236#define OvisBonesCount 2
237#define OvisBonesQuantityMinMaxCoef {0.8, 1}
238
239#define RabbitSteaksCount 2
240#define RabbitSteaksQuantityMinMaxCoef {0.75, 1}
241#define RabbitSmallGutsCount 1
242#define RabbitSmallGutsQuantityMinMaxCoef {0.5, 0.8}
243#define RabbitLardCount 1
244#define RabbitLardQuantityMinMaxCoef {0.1, 0.2}
245#define RabbitBonesCount 1
246#define RabbitBonesQuantityMinMaxCoef {0.2, 0.3}
247
248#define ChickenSteaksCount 2
249#define ChickenSteaksQuantityMinMaxCoef {0.5, 1}
250#define ChickenFeathersCount 10
251#define ChickenFeathersQuantityMinMaxCoef {0.5, 1}
252#define ChickenSmallGutsCount 0
253#define ChickenSmallGutsQuantityMinMaxCoef {0.5, 0.8}
254#define ChickenBonesCount 1
255#define ChickenBonesQuantityMinMaxCoef {0.2, 0.3}
256
257#define GoatSteaksCount 10
258#define GoatSteaksQuantityMinMaxCoef {0.5, 1}
259#define GoatGutsCount 2
260#define GoatGutsQuantityMinMaxCoef {0.5, 0.8}
261#define GoatLardCount 1
262#define GoatLardQuantityMinMaxCoef {0.3, 6}
263#define GoatBonesCount 1
264#define GoatBonesQuantityMinMaxCoef {0.8, 1}
265
266#define WolfHead 1
267#define WolfHeadQuantityMinMaxCoef {0, 0.55}
268#define WolfSteaksCount 10
269#define WolfSteaksQuantityMinMaxCoef {0.5, 1}
270#define WolfGutsCount 2
271#define WolfGutsQuantityMinMaxCoef {0.5, 0.8}
272#define WolfLardCount 1
273#define WolfLardQuantityMinMaxCoef {0.5, 1}
274#define WolfBonesCount 1
275#define WolfBonesQuantityMinMaxCoef {0.7, 1}
276
277//Xmas Reindeer
278
279#define TarandusLightsCount 1
280#define TarandusLightsMinMaxCoef {1, 1}
281
282// END OF SKINNING CONSTANTS
283//--------------------------------
284
285//----------------------
286// MINING/GATHERING
287//----------------------
288#define MINE_DATA_CUSTOM_BARK(cuttable, primary_amount,secondary_amount, damage, time, primary_output, secondary_output, bark_type) \
289 isCuttable = ##cuttable##; \
290 primaryDropsAmount = ##primary_amount##; \
291 secondaryDropsAmount = ##secondary_amount##; \
292 toolDamage = ##damage##; \
293 cycleTimeOverride = ##time##; \
294 primaryOutput = ##primary_output##; \
295 secondaryOutput = ##secondary_output##; \
296 barkType = ##bark_type##; \
297
298#define MINE_DATA_DEFAULT_BARK(cuttable, primary_amount,secondary_amount, damage, time, primary_output, secondary_output) \
299 isCuttable = ##cuttable##; \
300 primaryDropsAmount = ##primary_amount##; \
301 secondaryDropsAmount = ##secondary_amount##; \
302 toolDamage = ##damage##; \
303 cycleTimeOverride = ##time##; \
304 primaryOutput = ##primary_output##; \
305 secondaryOutput = ##secondary_output##; \
306
307#define MINING_WOOD_FAST 2
308#define MINING_WOOD_MEDIUM 2
309#define MINING_WOOD_SLOW 3
310
311
312// OPTICS FOV CONSTANTS
313
314#define FOV_45 0.3926
315#define FOV_60 0.5236
316#define FOV_70 0.610865
317
318// END OF OPTICS CONSTANTS
319//--------------------------------
320
321#define true 1
322#define false 0
323
324// type scope
325#define private 0
326#define protected 1
327#define public 2
328#define crafted 1
329
330// storageCategory
331#define SC_dynamic 1
332#define SC_animal 2
333#define SC_zombie 3
334#define SC_vehicle 4
335#define SC_random 5
336#define SC_custom 6
337#define SC_building 7
338#define SC_door 8
339#define SC_player 9
340#define SC_volatile 10
341
342// loot placement rotation bitmask
343#define PLACEMENT_ROT_Bottom 32
344#define PLACEMENT_ROT_Top 2
345#define PLACEMENT_ROT_BottomTop 34
346#define PLACEMENT_ROT_Left 4
347#define PLACEMENT_ROT_Right 8
348#define PLACEMENT_ROT_LeftRight 12
349#define PLACEMENT_ROT_Front 1
350#define PLACEMENT_ROT_Back 16
351#define PLACEMENT_ROT_FrontBack 17
352#define PLACEMENT_ROT_All 63
353#define PLACEMENT_ROT_Ignore 64
354#define PLACEMENT_ROT_DEPlacementCorrection 256
355
356
357// steer type simulation
358#define STEER_NORMAL 0
359#define STEER_INVERSE 1
360#define STEER_NONE 2
361
362
363#define ReadAndWrite 0
364#define ReadAndCreate 1
365#define ReadOnly 2
366#define ReadOnlyVerified 3
367
368#define LockNo 0
369#define LockCadet 1
370#define LockYes 2
371
372#define NEVER_DESTROY 1000 // for MP - destroying dead bodies
373
374/*
375Synchronized Variable Definitions
376
377basic importance is 1 � this mean that difference 1 in this variable is as important as offset 10 meters in the entity position
378you can increase the importance a bit (up to cca 10) for very important variables or decrease (down to cca 0.1) for not so important variables based on testing
379*/
380#define SYNC_USED 1
381#define SYNC_QUANTITY 1
382#define SYNC_SETUP 1
383#define SYNC_INUSAGE 1
384#define SYNC_NOTE 0.5
385#define SYNC_BUTANE 0.5
386#define SYNC_WET 0.2
387#define SYNC_BLOOD 0.2
388#define SYNC_HEALTH 0.2
389#define SYNC_SHOCK 0.2
390#define SYNC_KPLAYERS 0.1
391#define SYNC_KZOMBIES 0.1
392#define SYNC_POWER 0.1
393#define SYNC_TEMP 0.2
394#define SYNC_TEMPERATURE 0.2
395#define SYNC_RESTRAINEDWITH 1
396
397//p(k) = C * k^(-T) * e^(-k/K) + d
398#define ROUNDS_PER_MINUTE(rpm) __EXEC(_c=50.1984; _r=rpm; _T=0.954088; _e=2.71828; _K=-5403.26; _d=-0.0393994; _K=-1*_r/_K; _e=_e^_K; _T=-1*_T; _r=_r^_T); reloadTime = __EVAL(_C*_r*_e+_d)
399
400enum
401{
411
412#define VIEW_GUNNER 1000
413#define VIEW_PILOT 1100
414#define VIEW_CARGO 1200
415
416#define DAMAGE_MAT(x,y) x####y,x##destruct_half_##y,x##destruct_full_##y,
417
418#define RepairNone 0
419#define RepairWeaponKit 1
420#define RepairSewingKit 2
421#define RepairLeatherSewingKit 3
422#define RepairWhetstone 4
423#define RepairDuctTape 5
424#define RepairTireKit 6
425#define RepairElectronicRepairKit 7
426#define RepairEpoxyPutty 8
427#define RepairGlassKit 9
428#define RepairBlowtorch 10
429
430/*
431 Restraining defs
432*/
433
434#define DEFAULT_SHARP_UNLOCK 3
435
436//--------------
437// BASE BUILDING
438//--------------
439#define TOOL_NO_ACTION 0 //tool is not compatible with any action of given type
440#define TOOL_MOUNT_WIRE 1 //tool compatible with parts that are built by mounting a wire material on construction
441#define TOOL_NAIL 2 //tool compatible with parts that are nailed with material + nails
442#define TOOL_DIG_BASE 4 //tool compatible with base parts that are built by digging
443#define TOOL_MOUNT_LOG 8 //tool compatible with base parts that are built by mounting a wooden log (2nd and 3rd floor on watchtower)
444#define TOOL_HEAVY 16 //tool for heavy construction (sledgehammer)
445#define TOOL_EXCAVATION 32 //tool for serious digging (pickaxe)
446#define TOOL_WOODWORK 64 //tool for cutting(destroying) wooden building parts
447
448#define MATERIAL_NONE 0
449#define MATERIAL_LOG 1
450#define MATERIAL_WOOD 2
451#define MATERIAL_STAIRS 3
452#define MATERIAL_METAL 4
453#define MATERIAL_WIRE 5
454
455
456//----------------------
457// HIT IMPACT BEHAVIOUR
458//----------------------
459#define IMPACT_LIGHT 0
460#define IMPACT_HEAVY 1
461
462//----------------------
463// HIT IMPACT BEHAVIOUR
464//----------------------
465#define BEHAVIOUR_HEAVY 0
466#define BEHAVIOUR_ONEHANDED 1
467#define BEHAVIOUR_TWOHANDED 2
468
469//----------------------
470// SHOCK IMPACT BEHAVIOUR
471//----------------------
472#define SHOCK_IMPACT_DEFAULT 1
473#define SHOCK_IMPACT_LONG 1.75
474#define SHOCK_IMPACT_MEDLONG 2.75
475#define SHOCK_IMPACT_MEDSHORT 4
476#define SHOCK_IMPACT_SHORT 6
477
478//----------------------
479//Hair selection hiding listing
480//----------------------
481#define HAIR_HIDING_SELECTIONS \
482"Clipping_GhillieHood", \
483"Clipping_grathelm", \
484"Clipping_ConstructionHelmet", \
485"Clipping_Hockey_hekmet", \
486"Clipping_Maska", \
487"Clipping_ProtecSkateHelmet2", \
488"Clipping_BandanaFace", \
489"Clipping_NioshFaceMask", \
490"Clipping_NBC_Hood", \
491"Clipping_MotoHelmet", \
492"Clipping_FireHelmet", \
493"Clipping_ushanka", \
494"Clipping_TankerHelmet", \
495"Clipping_SantasBeard", \
496"Clipping_Surgical_mask", \
497"Clipping_PumpkinHelmet", \
498"Clipping_Balaclava_3holes", \
499"Clipping_Balaclava", \
500"Clipping_GP5GasMask", \
501"Clipping_AirborneMask", \
502"Clipping_BoonieHat", \
503"Clipping_prison_cap", \
504"Clipping_MilitaryBeret_xx", \
505"Clipping_Policecap", \
506"Clipping_OfficerHat", \
507"Clipping_Hat_leather", \
508"Clipping_CowboyHat", \
509"Clipping_BandanaHead", \
510"Clipping_SantasHat", \
511"Clipping_FlatCap", \
512"Clipping_MxHelmet", \
513"Clipping_baseballcap", \
514"Clipping_BeanieHat", \
515"Clipping_MedicalScrubs_Hat", \
516"Clipping_RadarCap", \
517"Clipping_ZmijovkaCap", \
518"Clipping_HeadTorch", \
519"Clipping_pilotka", \
520"Clipping_HeloHelmet", \
521"Clipping_HelmetMich", \
522"Clipping_Ssh68Helmet", \
523"Clipping_Mich2001", \
524"Clipping_Welding_Mask", \
525"Clipping_VintageHockeyMask", \
526"Clipping_mouth_rags", \
527"Clipping_Gasmask", \
528"Clipping_WitchHood", \
529"Clipping_WitchHat", \
530"Clipping_NVGHeadstrap", \
531"Clipping_headCover_improvised", \
532"Clipping_BurlapSack"
533
534//----------------------
535// PRELOADING
536//----------------------
537#define PRELOAD_CLASS_ONLY 0
538#define PRELOAD_SHAPE_QUICK 1
539#define PRELOAD_SHAPE_ALL 2
540
541//----------------------
542// ITEM LOCKING
543//----------------------
544
545#define LOCK_NONE 0 //When item cannot be locked
546#define LOCK_SCREW 1
547#define LOCK_BOLT 2
548#define LOCK_NUT 3
549#define LOCK_WIRE 4
550
551//----------------------
552// BAIT TYPES
553//----------------------
554#define BAIT_TYPE_EMPTY 0
555#define BAIT_TYPE_MEAT_SMALL 1
556#define BAIT_TYPE_MEAT_LARGE 2
557#define BAIT_TYPE_PLANT 3
558#define BAIT_TYPE_SEED 4
559#define BAIT_TYPE_MUSHROOM 5
560
561//----------------------
562// FINISHER ATTACKS
563//----------------------
564#define FINISHER_LIVER 1
565#define FINISHER_NECK 2
566
567//----------------------
568// NOISE FOR AI SENSOR
569//----------------------
570
571#define NOISE(str, typ) \
572class NoiseShoot\
573{ \
574 strength = ##str##; \
575 type = ##typ##; \
576};
577
578#define NOISE_FIRESHOT_MAX() \
579NOISE(100,"shot");
580
581#define NOISE_FIRESHOT_HIGH() \
582NOISE(80,"shot");
583
584#define NOISE_FIRESHOT_MEDIUM() \
585NOISE(60,"shot");
586
587#define NOISE_FIRESHOT_LOW() \
588NOISE(40,"shot");
589
590#define NOISE_FIRESHOT_VERYLOW() \
591NOISE(20,"shot");
592
593#define NOISE_FIRESHOT_MIN() \
594NOISE(5,"sound");
595
596//----------------------
597// DEBUG ITEM CATEGORY (MAX 32 categories allowed)
598//----------------------
599#define CATEGORY_FIREARMS 1
600#define CATEGORY_MELEE 2
601#define CATEGORY_ATTACHMENTS 3
602#define CATEGORY_MAGAZINES 4
603#define CATEGORY_AMMO 5
604#define CATEGORY_FOOD 6
605#define CATEGORY_MEDICAL 7
606#define CATEGORY_CARS 8
607#define CATEGORY_BACKPACKS 9
608#define CATEGORY_BBUILDING 10
609
610
611//Static object macro
612#define Static_OBJECT(classname, path) \
613class StaticObj_##classname##: HouseNoDestruct\
614{ \
615 scope = protected; \
616 model = ##path##; \
617};
618
619//Static DE object macro
620#define Static_DE_OBJECT(classname, path) \
621class StaticObj_##classname##: HouseNoDestruct\
622{ \
623 scope = public; \
624 storageCategory = SC_vehicle; \
625 model = ##path##; \
626};
@ DestructTent
@ DestructEngine
@ DestructTree
@ DestructMan
@ DestructNo
@ DestructBuilding
@ DestructWreck
@ DestructDefault