-
Notifications
You must be signed in to change notification settings - Fork 22
Expand file tree
/
Copy pathmain_config_sh.lua
More file actions
2939 lines (2755 loc) · 138 KB
/
Copy pathmain_config_sh.lua
File metadata and controls
2939 lines (2755 loc) · 138 KB
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
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
--This is the main Config File. Anything you want to change. Change in here!!!
--THIS CONFIG FILE IS MANAGED HERE: https://github.com/MurlockCadi/mainconfig/blob/main/main_config_sh.lua
--DO NOT ANGER MURLOCK, EDIT IT IN GITHUB, OR 1. YOUR CHANGES WILL GET REMOVED, AND 2. HE WILL BE VERY ANGRY!!!
imperium_rp_font = "Sitka Text"
gamemode_name = "WARHAMMER 40K ROLEPLAY"
local MAIN_MAPS = {
["rp_40k_hammerfall_undead"] = true,
["necromunda_v1"] = true,
["rp_bremergard_forest"] = true,
["rp_snow_warfare"] = true,
["rp_warhammer_frontiers"] = true
}
local ORK_MAPS = {
["gm_spoon"] = true
}
if ORK_MAPS[game.GetMap()] then
ORK_MAP = game.GetMap()
end
if MAIN_MAPS[game.GetMap()] then
MAIN_MAP = game.GetMap()
end
mapMessages = {
["necromunda_v1"] = "++-- Hive City Imperium // Scarus Sector // Segmentum Obscurus --++",
["rp_jupiter_underground"] = "++-- Hive City Imperium // Under Hive // Abandoned Sectors --++",
["rp_zombiewars_v1"] = "++-- Duskgrain // Ork Infestation // Astra Militarum Occupation --++",
["rp_paris_wwii"] = "++-- Gilden Spire // Pleasure World // Astra Militarum Occupation --++",
["rp_snow_warfare"] = "++-- Imperial Snow World // Astra Militarum Occupation--++"
}
mapMessage_defualt = "Somewhere in the Scarus Sector..."
configTexts = {
"In the grim darkness of the far future, there is only war.",
"The Emperor Protects.",
"There is no peace among the stars, only an eternity of carnage and slaughter, and the laughter of thirsting gods.",
"There is no place for the weakwilled or hesitant. Only by firm action and resolute faith will mankind survive. No sacrifice is too great. No treachery too small.",
"To consort with the heretic is to endanger one's purity. But to lie to an Inquisitor is to forfeit your soul.",
"The tree of heresy persists where its roots be not torn up."
}
intro_songs = {
"https://www.imperiumgaming.net/40k/Warhammer_40_000_-_Darktide_-_Official_Soundtrack_Immortal_Imperium.mp3",
"https://www.imperiumgaming.net/40k/maintheme.mp3",
"https://www.imperiumgaming.net/40k/Disposal_Unit_Imperium_Mix.mp3",
"https://www.imperiumgaming.net/40k/Darktide_OST_THE_EMPEROR_OF_MANKIND.mp3"
}
intro_image_urls = {
"https://www.imperiumgaming.net/new_warhammer_load/imgs/3242.jpg",
"https://www.imperiumgaming.net/new_warhammer_load/imgs/20260623020137_1.jpg",
"https://www.imperiumgaming.net/new_warhammer_load/imgs/1.jpg",
"https://www.imperiumgaming.net/new_warhammer_load/imgs/20251019044023_1.jpg",
"https://www.imperiumgaming.net/new_warhammer_load/imgs/kriege.jpg",
"https://www.imperiumgaming.net/new_warhammer_load/imgs/51.png",
"https://www.imperiumgaming.net/new_warhammer_load/imgs/52.jpg",
"https://www.imperiumgaming.net/new_warhammer_load/imgs/53.jpg"
}
-- Entity Respawn Timers for Entity Spawner
ENTITY_RESPAWN_TIMERS = {
["Ammo"] = 120,
["Machine Gun"] = 300,
["Artillery"] = 300,
["Medic Box"] = 120,
["Radio"] = 120,
["Skull"] = 10,
["Reactor"] = 1000,
["Turret"] = 120,
["Tanks"] = 120
}
-- Maximum vehicles per team scales down as the server fills up
VEHICLE_LIMITS = {
{ players = 40, maxVehicles = 3 },
{ players = 30, maxVehicles = 4 },
{ players = 20, maxVehicles = 5 },
{ players = 10, maxVehicles = 6 },
{ players = 5, maxVehicles = 7 },
{ players = 0, maxVehicles = 8 },
}
RESPAWN_TIMERS_IMPERIUMRP = {
["Small Vehicle"] = 300,
["Heavy Emplacement"] = 180,
["Light Vehicle"] = 600,
["Heavy Vehicle"] = 900,
}
---------PROX CHAT------------------------------------------------------------------------------------
proximityDistance = 750
----------BOT HEALTH-----------------
function GetHealthByTotalPlayers()
local TotalPlayers = #player.GetHumans()
local health = 200
if TotalPlayers < 5 then
health = 200
elseif TotalPlayers < 10 then
health = 300
elseif TotalPlayers < 20 then
health = 400
elseif TotalPlayers < 30 then
health = 600
elseif TotalPlayers < 40 then
health = 800
elseif TotalPlayers < 50 then
health = 1000
end
health = health * HEALTH_MULTIPLIER_BOTS
return health
end
-------XP SYSTEM CONFIG-----------------------
MIN_XP = 500
MAX_XP = 40000
MAX_LEVEL = 150
function getXPForNextLevel(level)
if level < 1 then return MIN_XP end
if level > MAX_LEVEL then return MAX_XP end
local t = (level - 1) / (MAX_LEVEL - 1)
return math.floor(MIN_XP + (MAX_XP - MIN_XP) * (t ^ 2))
end
--------SPEED-----------
WALK_SPEED = 135
RUN_SPEED = 240
JUMP_POWER = 225
MAX_HEALTH = 200
SLOW_WALK_SPEED = 80
function GetRunSpeed(athleticsLevel)
return RUN_SPEED + athleticsLevel
end
------REVIVE TIME AND LOOT TIME--------
REVIVE_TIME = 2
LOOT_TIME = 2
-----IS SERVER MANAGED BY MURLOCK?----------------
IS_SERVER_MANAGED = true
--------------------HELP CONFIG----------------------------------------
helpTopics = {
["Intro"] = "Welcome to Imperium Gamings WARHAMMER 40KRP!\n\nThis server is running a custom MRP gamemode known as 'ImperiumRP' with custom Hive Bots running LLMS!\n\nThis Help Menu will guide you through the huge amount of custom servers features, gameplay, and custom content (Mostly all made by Murlock over the span of 2 years). In short, this server is run by the players, including the fully alive City with hundreds of living bots. Need to reopen this help menu? Type /help in chat anytime!\n\nSelect a topic on the left to learn more.\n\nGetting Started:\n\nYou have spawned in as a recruit, to progress you need to get trained. Type '/ooc I need to get trained!' but dont worry if you dont get trained right away, you can still get a weapon by finding the Weapons Crate, click E on it, and choose your starting weapon. Have an explore, and someone should get around to training you. \n\nAnd again Welcome to the Server!\n\n-Murlock",
["Unlocking Weapons"] = "You can unlock weapons at the Weapon Crate located near spawn. Your Division, including recruits, will have base weapons already unlocked for you to use.\n\nThere are Primary, Secondary, and Miscellaneous slots where you can customize your loadout. You earn Credits a number of ways, playing in events, looting bodys, and actively playing on the server. These Credits can then be used at the Weapon Crate to unlock new weapons!\n\nIn addition to Division-provided base weapons, some weapons are unlocked through specific classes, such as the Heavy Weapons. There are also VIP only weapons that are not overpowered and are just for fun.",
["Commands and Links"] = "/discord (Opens the Discord Server)\n/donate (Opens our Donation Store)\n/website (Opens our Website)\n/content (Opens the Content Pack)\n/steamgroup (Opens the Steam Group)\n\n/ooc (For Global OOC chat)\n/radio (For Team Radio)\n/r (For Global Radio)\n\n/help (Opens this Menu)\n/claim (Claims any VIP Packages).\n/options (Opens the Options Menu for ImperiumRP)\n/give (Give Credits to Target Player)\n\nF1 (Opens the Character Edit Menu)\nF2 (Opens the Promotion and Whitelist Menu)\nF3 (Opens the Division Menu)\nF4 (Opens the Character Selection Menu)\nF6 (Opens the Squad Menu)",
["Hand Swep"] = "The Hand Swep is a custom SWEP that allows you to move props and objects by holding left click and dragging.\n\nThis can be used to move barrles, corpses, props, and anything else that is not nailed down!\n\nIts a very fun swep and adds a lot of gmod goofines to the server... Prop Killing is allowed if you can pull it off, and can lead to some extreamly fun moments.\n\nRight Click allows you to Salute, and Left Click allows you to move objects.",
["Levels and XP"] = "ImperiumRP has three main stats:\n\nEndurance (Health Regen)\nAthletics (Faster Run and Higher Jump)\nBallistics (Less Recoil and Spread)\n\nAll these states give a small bonus in its respective field, making high level players more effective in combat. Saying that, a level 1 player can still kill a level 70 player, but the level 70 player will have a slight advantage. Killing a higher level player means you gain more XP!\n\nYou can level up and gain XP by playing on the server, killing players, looting bodys, and playing in events. You can view your level and stats by pressing F1. You start with 10 points to spend.\n\nEvery Level gets you 2 points to spend on your Character, however levels will get exponentially harder to obtain, being around level 70+ is considered a max leveled player.\n\nSome players played during WW2, and this allows them to carry over there skils they had before, as they are veterans.",
["VIP"] = "This server is run on donations. All of the money goes into funding custom content (like the ImperiumRP gamemode!) and paying for the Server Box, our Linux Machine in the Background that runs alot of our custom features, and our Webiste!\n\nDonate by typing /donate\n\nVIP gets you VIP only weapons, Double XP and Credis points, and a role in our discord! The Donation helps us keep this server alive, and we are beyond appreciative for everyone who has helped us financially in making our dream server!\n\nIf you buy a Supply Drop package do /claim to get it in game!",
["Reviving and Looting"] = "In this gamemode, when you die your corpse will remain on the battlefield. This can be dragged around and the player (if they have not respawned) can see whats going on.\n\nYou can be revived by a Medic, and can see how close the nearest medic is. Medics will get a green glow around all players that can be revived, so can see your corpse through walls.\n\nints!\n\nYou can also loot the corpse of the fallen to find credits.",
["Division Management"] = "In the F3 menu you can click on the Management Menu. This is where Officers of a Division can track playtime of players, but also see the current division rank and set players permissions. There are 3 levels of permissions, Members, Trusted, and Admins. When you are Trusted you can do most things, such as promote, demote, whitelist, kick, and call Actions. Admins can do the same, but have the power to remove and add trusted. Server Admins on the server have the power to add and remove Admins / Trusted.\n\nThe Rank Ceiling is the top rank anyone can have in a Division. The Top Rank (Division) can have all the ranks, but lower ranks can only go up to there Rank Ceiling.\n\nTIPS FOR OFFICERS:\n\nUse the Commendation System! Ontop of looking at Time Played on the Division for a player, get people to Commend players who have done well! This is a great way to see who needs promoting or not. F2 then click Commend, its that easy!\n\nMake NCOs trusted! If a NCO is doing well, give them trusted permissions early!",
["The Chem Runners"] = "The Chem Runners hold control over the criminal underworld thanks to their brutal tactics and monopoly on SPOOK, the only major drug found in the Hive.\n\nIn recent decades, a bloody gang war ended with the Chem Runners securing total control over its production.\n\nToday, their influence can be felt in every corner of the Hive, with Chem Runners distributing SPOOK on every street and in every apartment. You need only look beneath the floorboards to find these heretics.\n\nThe Administratum, however, has declared zero tolerance for narcotics. Any individual found in possession of SPOOK shall be sentenced to penal conscription... or summary execution.\n\nSome heretical Guardsmen may buy SPOOK from Chem Runners and sell it to innocents for profit.\n\nType /drugs to open your drug inventory.\nLoyal Imperium servants may use /search on a player to search for hidden SPOOK.",
["Lore Overview"] = "Hive Imperium exists in the Scarus Sector // Segmentum Obscurus. It is an isolated hive world with little contact from the greater Imperium, causing the Emperor’s light to dim.\n\nDark shadows loom over the city, as Chaos forces instigate a blood revolution, a plague of pestilence, and a powerful drug empire. The war for control of the city is being lost.\n\nWith every passing hour, the likelihood of the planet being marked for Exterminatus increases. Only those brave enough to conscript into the Astra Militarum offer any hope of salvation.\n\nThese Guardsmen, often the few who volunteer from the local population, are tasked with keeping the Hive under control and preventing its collapse to ruinous powers.\n\nYet in times of crisis... opportunity always presents itself.",
["Khornate Cultists"] = "Khornate Cultists dwell in the deepest parts of the Hive. Their cults grow strong through the sacrifice of innocents to the insatiable hunger of the Blood God.\n\nSkulls, blood, flesh... it is demanded constantly. The rush of the kill, the joy of slaughter, Khorne infects the minds of ordinary mortals, convincing them to murder, to slay. Eventually, that hunger breaks free.\n\nThey kill without mercy. Crimson ribbons streak across the floor, a sacrifice to grow the power of the Blood God.\n\nThrough dark rituals, Skull Takers may rise from the civilian population, hunting for a great slaughter. If such beings appear, it is almost certain that Khornate Cultists are preparing for a blood revolution.\n\nSeek them out in the darkest corners of the Hive... before it is too late.",
["Nurgle Pestilence"] = "Nurgle's disease infects the hearts of the impure and unfaithful. Those who have forsaken the Emperor's protection and drift into shadow are embraced instead by pestilence.\n\nOnly those true to the Emperor, or those who take SPOOK regularly, can resist the taint of Nurgle.\n\nThose blessed by decay come to enjoy the suffering, the truth: that all things must rot, and all shall return to one in the Grand Cycle.\n\nBefore long, the infected begin to transform into unholy Poxwalkers, spreading disease and pestilence to all they touch. Only the faithful may resist its grip.\n\nSoon, entire sectors of the Hive may be consumed by corruption, requiring fire and flame to cleanse their souls.\n\nIf the infection spreads too far, it is almost certain that Nurgle has established a foothold deep in the filth of the Underhive.",
["Heretical Uprisings"] = "By not controlling the Hive, you are allowing the taint of Chaos and the Unclean to infest the minds of the impure, leading to full-blown heretical revolutions such as Blood Revolutions, Plague Outbreaks, or Gang Uprisings.\n\nIt is your duty as Guardsmen to fight against such uprisings. During one, you must put down the heretics and cleanse the unclean. You will face waves upon waves of heretics, and only when they have sustained enough casualties will the uprising end.\n\nThe damage dealt by heretics and the damage taken by the player is scaled based on player count.",
["11th Cadian Storm Guard"] = "The 11th Cadian Storm Guard are a veteran regiment originally assigned to Ocean World Spectoris, a planet with no continents, only endless ocean and one settlement clinging to a submerged mountain. Spectoris supplies the Imperium Hive with food and carole paste, but its waters teem with hostile life, and some whisper the sea itself is alive… and corrupted by Chaos.\n\nThe 11th were sent to defend this world from abyssal horrors and potential Chaos influence. Over centuries, they began recruiting from Spectoris and from Hive Imperium.\n\nWhen Cadia fell, the 11th did not break. Their duty remained clear: defend the Hive and Spectoris that feeds the city. Though still bearing the name of Cadia, the 11th are now their own breed, storm-hardened and duty bound by a legacy of honour.\n\nWith the Hive now under the threat of Chaos within, the 11th have deployed to keep there home city alive from danger."
}
----------------------COMMANDS FOR CHAT--------------------------------------------------------------------
commands = {
["!intro"] = function(ply) handleIntroCommand(ply) end,
["/char"] = function(ply) handleCharacterMenuCommand(ply) end,
["!char"] = function(ply) handleCharacterMenuCommand(ply) end,
["/setspawn"] = function(ply, args) return handleSetSpawnCommand(ply, args) end,
["/ooc"] = function(ply, args) return ooc_command(ply, args) end,
["//"] = function(ply, args) return ooc_command(ply, args) end,
["!ooc"] = function(ply, args) return ooc_command(ply, args) end,
["/me"] = function(ply, args) return me_command(ply, args) end,
["!me"] = function(ply, args) return me_command(ply, args) end,
["/it"] = function(ply, args) return it_command(ply, args) end,
["!it"] = function(ply, args) return it_command(ply, args) end,
["/rp"] = function(ply, args) return rp_command(ply, args) end,
["!rp"] = function(ply, args) return rp_command(ply, args) end,
["/song"] = function(ply, args) return play_song(ply, args) end,
["!song"] = function(ply, args) return play_song(ply, args) end,
["!announce"] = function(ply, args) return announce_command(ply, args) end,
["/announce"] = function(ply, args) return announce_command(ply, args) end,
["!givevip"] = function(ply, args) return set_vip(ply, args) end,
["/givevip"] = function(ply, args) return set_vip(ply, args) end,
["/claim"] = function(ply) RedeemQMPackage(ply) end,
["!claim"] = function(ply) RedeemQMPackage(ply) end,
["!options"] = function(ply) OpenOptionsMenuForPlayer(ply) end,
["/options"] = function(ply) OpenOptionsMenuForPlayer(ply) end,
["!event"] = function(ply) OpenEventSettingsHUDFunction(ply) end,
["/event"] = function(ply) OpenEventSettingsHUDFunction(ply) end,
["/eventmenu"] = function(ply) OpenEventSettingsHUDFunction(ply) end,
["!eventmenu"] = function(ply) OpenEventSettingsHUDFunction(ply) end,
["/menuevent"] = function(ply) OpenEventSettingsHUDFunction(ply) end,
["!menuevent"] = function(ply) OpenEventSettingsHUDFunction(ply) end,
["/discord"] = function(ply) OpenURL(ply,"https://discord.gg/emfc9zPkbZ") end,
["!discord"] = function(ply) OpenURL(ply,"https://discord.gg/emfc9zPkbZ") end,
["/donate"] = function(ply) OpenURL(ply,"https://www.imperiumgaming.net/store/") end,
["!donate"] = function(ply) OpenURL(ply,"https://www.imperiumgaming.net/store/") end,
["/store"] = function(ply) OpenURL(ply,"https://www.imperiumgaming.net/store/") end,
["!store"] = function(ply) OpenURL(ply,"https://www.imperiumgaming.net/store/") end,
["/content"] = function(ply) OpenURL(ply,"https://steamcommunity.com/sharedfiles/filedetails/?id=3602929704") end,
["!content"] = function(ply) OpenURL(ply,"https://steamcommunity.com/sharedfiles/filedetails/?id=3602929704") end,
["/workshop"] = function(ply) OpenURL(ply,"https://steamcommunity.com/sharedfiles/filedetails/?id=3602929704") end,
["!workshop"] = function(ply) OpenURL(ply,"https://steamcommunity.com/sharedfiles/filedetails/?id=3602929704") end,
["/group"] = function(ply) OpenURL(ply,"https://steamcommunity.com/groups/imperiumgaminggmod") end,
["!group"] = function(ply) OpenURL(ply,"https://steamcommunity.com/groups/imperiumgaminggmod") end,
["/steam"] = function(ply) OpenURL(ply,"https://steamcommunity.com/groups/imperiumgaminggmod") end,
["!steam"] = function(ply) OpenURL(ply,"https://steamcommunity.com/groups/imperiumgaminggmod") end,
["/steamgroup"] = function(ply) OpenURL(ply,"https://steamcommunity.com/groups/imperiumgaminggmod") end,
["!steamgroup"] = function(ply) OpenURL(ply,"https://steamcommunity.com/groups/imperiumgaminggmod") end,
["/laws"] = function(ply) OpenURL(ply,"https://docs.google.com/document/d/192KVkHPjskPAkKAVuhxByvKxKg_4Lrw_ZnoFvszXq7w/edit?usp=sharing") end,
["!laws"] = function(ply) OpenURL(ply,"https://docs.google.com/document/d/192KVkHPjskPAkKAVuhxByvKxKg_4Lrw_ZnoFvszXq7w/edit?usp=sharing") end,
["/training"] = function(ply) OpenURL(ply,"https://docs.google.com/document/d/1pwQfOAKdbcFL2ROXF6BQkQtxZ8OoO_3jTvkxwky1W-M/edit?usp=sharing") end,
["!training"] = function(ply) OpenURL(ply,"https://docs.google.com/document/d/1pwQfOAKdbcFL2ROXF6BQkQtxZ8OoO_3jTvkxwky1W-M/edit?usp=sharing") end,
["/suspect"] = function(ply) OpenURL(ply,"https://docs.google.com/document/d/1pwQfOAKdbcFL2ROXF6BQkQtxZ8OoO_3jTvkxwky1W-M/edit?usp=sharing") end,
["!suspect"] = function(ply) OpenURL(ply,"https://docs.google.com/document/d/1pwQfOAKdbcFL2ROXF6BQkQtxZ8OoO_3jTvkxwky1W-M/edit?usp=sharing") end,
["/krieg"] = function(ply) OpenURL(ply,"https://docs.google.com/document/d/1xUWftjh4ZyByArmSgvN2sai2kqsixvUxA0m9lm_psLE/edit?tab=t.0") end,
["!krieg"] = function(ply) OpenURL(ply,"https://docs.google.com/document/d/1xUWftjh4ZyByArmSgvN2sai2kqsixvUxA0m9lm_psLE/edit?tab=t.0") end,
["/cadia"] = function(ply) OpenURL(ply,"https://docs.google.com/document/d/1Tq9m4xMw-gSf3ShvMRIhv8R25ymphWLkjXwEHtcWvh4/edit?usp=sharing") end,
["!cadia"] = function(ply) OpenURL(ply,"https://docs.google.com/document/d/1Tq9m4xMw-gSf3ShvMRIhv8R25ymphWLkjXwEHtcWvh4/edit?usp=sharing") end,
["/ranks"] = function(ply) OpenURL(ply,"https://docs.google.com/presentation/d/1X0jWf914SPy8XZarTeDKJJ7BzXO_XUEBgAKFA99huCk/edit?slide=id.g3cccb033dcc_0_112#slide=id.g3cccb033dcc_0_112") end,
["!ranks"] = function(ply) OpenURL(ply,"https://docs.google.com/presentation/d/1X0jWf914SPy8XZarTeDKJJ7BzXO_XUEBgAKFA99huCk/edit?slide=id.g3cccb033dcc_0_112#slide=id.g3cccb033dcc_0_112") end,
["!weapons"] = function(ply) OpenURL(ply,"https://docs.google.com/spreadsheets/d/1yyeHDBZPI0VhXtXTiAv-DusKgDHZwDhonlLgaXRYO1I/edit?usp=sharing") end,
["/weapons"] = function(ply) OpenURL(ply,"https://docs.google.com/spreadsheets/d/1yyeHDBZPI0VhXtXTiAv-DusKgDHZwDhonlLgaXRYO1I/edit?usp=sharing") end,
["!map"] = function(ply) OpenURL(ply,"https://www.imperiumgaming.net/scarus-sector") end,
["/map"] = function(ply) OpenURL(ply,"https://www.imperiumgaming.net/scarus-sector") end,
["!sector"] = function(ply) OpenURL(ply,"https://www.imperiumgaming.net/scarus-sector") end,
["/sector"] = function(ply) OpenURL(ply,"https://www.imperiumgaming.net/scarus-sector") end,
["!scarus"] = function(ply) OpenURL(ply,"https://www.imperiumgaming.net/scarus-sector") end,
["/scarus"] = function(ply) OpenURL(ply,"https://www.imperiumgaming.net/scarus-sector") end,
["!logs"] = function(ply) mLogs.Open(ply) end,
["/logs"] = function(ply) mLogs.Open(ply) end,
["/murlockdb"] = function(ply) MurlockDBTools(ply) end,
["/pm"] = function(ply, args) return privat_radio_msg(ply, args) end,
["!pm"] = function(ply, args) return privat_radio_msg(ply, args) end,
["!rank"] = function(ply, args) return promote_player_by_rank(ply, args) end,
["/rank"] = function(ply, args) return promote_player_by_rank(ply, args) end,
["!changerank"] = function(ply, args) return promote_player_by_rank(ply, args) end,
["/changerank"] = function(ply, args) return promote_player_by_rank(ply, args) end,
["!setrank"] = function(ply, args) return promote_player_by_rank(ply, args) end,
["/setrank"] = function(ply, args) return promote_player_by_rank(ply, args) end,
["!promote"] = function(ply, args) return promote_player(ply, args) end,
["/promote"] = function(ply, args) return promote_player(ply, args) end,
["!demote"] = function(ply, args) return demote_player(ply, args) end,
["/demote"] = function(ply, args) return demote_player(ply, args) end,
["!supply"] = function(ply) SendLatestLogData(ply) end,
["/supply"] = function(ply) SendLatestLogData(ply) end,
["!roll"] = function(ply, args) return roll_command(ply, args) end,
["/roll"] = function(ply, args) return roll_command(ply, args) end,
["!confuse"] = function(ply, args) return radio_command_confuse(ply, args) end,
["/confuse"] = function(ply, args) return radio_command_confuse(ply, args) end,
["!disguise"] = function(ply) return HideAsRandomEnemy(ply) end,
["/disguise"] = function(ply) return HideAsRandomEnemy(ply) end,
["!removevip"] = function(ply, args) return remove_vip(ply, args) end,
["/removevip"] = function(ply, args) return remove_vip(ply, args) end,
["!unvip"] = function(ply, args) return remove_vip(ply, args) end,
["/unvip"] = function(ply, args) return remove_vip(ply, args) end,
["!reset"] = function(ply) ResetPoints(ply) end,
["/reset"] = function(ply) ResetPoints(ply) end,
["!artillery"] = function(ply) call_in_arty(ply) end,
["/artillery"] = function(ply) call_in_arty(ply) end,
["!arty"] = function(ply) call_in_arty(ply) end,
["/arty"] = function(ply) call_in_arty(ply) end,
["!bombardment"] = function(ply) call_in_arty(ply) end,
["/bombardment"] = function(ply) call_in_arty(ply) end,
["/setalliedsupply"] = function(ply, args) set_allies_supply(ply, args) end,
["/setaxissupply"] = function(ply, args) set_axis_supply(ply, args) end,
["/addalliedsupply"] = function(ply, args) set_allies_supply(ply, args) end,
["/addaxissupply"] = function(ply, args) set_axis_supply(ply, args) end,
["/resetevent"] = function(ply) ResetGMPoints(ply) end,
["!resetevent"] = function(ply) ResetGMPoints(ply) end,
["/createdivision"] = function(ply) OpenDivisionCreationMenuForPlayer(ply) end,
["!createdivision"] = function(ply) OpenDivisionCreationMenuForPlayer(ply) end,
["/newdivision"] = function(ply) OpenDivisionCreationMenuForPlayer(ply) end,
["!newdivision"] = function(ply) OpenDivisionCreationMenuForPlayer(ply) end,
["/division"] = function(ply) OpenDivisionCreationMenuForPlayer(ply) end,
["!division"] = function(ply) OpenDivisionCreationMenuForPlayer(ply) end,
["!givepoints"] = function(ply, args) SetPlayerPointsAdmin(ply, args) end,
["!help"] = function(ply) OpenHelpMenu(ply) end,
["/help"] = function(ply) OpenHelpMenu(ply) end,
["!addspec"] = function(ply, args) Add_Spec_To_My_Division(ply, args) end,
["/addspec"] = function(ply, args) Add_Spec_To_My_Division(ply, args) end,
["!cleanup"] = function(ply) PlayerWantsToCleanUpAllForts(ply) end,
["/cleanup"] = function(ply) PlayerWantsToCleanUpAllForts(ply) end,
["/setmain"] = function(ply) Set_Division_To_Main(ply) end,
["/cooldowns"] = function(ply) ResetCoolDowns(ply) end,
["/underground"] = function(ply) SetUndergroundPoint(ply) end,
["/addsupply"] = function(ply, args) SetDivisionSupplyAdmin(ply, args) end,
["/divisionrank"] = function(ply, args) SetDivisionRankAdmin(ply, args) end,
["!divisionrank"] = function(ply, args) SetDivisionRankAdmin(ply, args) end,
["/actions"] = function(ply) OpenMissionSelectionMenu(ply) end,
["!actions"] = function(ply) OpenMissionSelectionMenu(ply) end,
["!atomic"] = function(ply) GivePlayerSwepIfTeamHasBombsandIsTrusted(ply) end,
["!rewardteam"] = function(ply, args) RewardTeamAdmin(ply, args) end,
["/rewardteam"] = function(ply, args) RewardTeamAdmin(ply, args) end,
["/deleteallpoints"] = function(ply) DeleteAllPoints(ply) end,
["/frontline"] = function(ply) ChangeToFrontlineMap(ply) end,
["!frontline"] = function(ply) ChangeToFrontlineMap(ply) end,
["!murlockac"] = function(ply) AdminOpenViolationMenu(ply) end,
["/murlockac"] = function(ply) AdminOpenViolationMenu(ply) end,
["/ac"] = function(ply) AdminOpenViolationMenu(ply) end,
["!ac"] = function(ply) AdminOpenViolationMenu(ply) end,
["!trustfunctions"] = function(ply) GeneratedTrustedFunctions(ply) end,
["/trustfunctions"] = function(ply) GeneratedTrustedFunctions(ply) end,
["/murlockaimhack"] = function(ply) ToggleMurlockAimHack(ply) end,
["/endevent"] = function(ply) PlayerVotedToEndEvent(ply) end,
["!endevent"] = function(ply) PlayerVotedToEndEvent(ply) end,
["!eventoutpost"] = function(ply, args) CreateCommandOutpost(ply, args) end,
["/eventoutpost"] = function(ply, args) CreateCommandOutpost(ply, args) end,
["!bot"] = function(ply) AdminOpenBotGroupManager(ply) end,
["/bot"] = function(ply) AdminOpenBotGroupManager(ply) end,
["!bots"] = function(ply) AdminOpenBotGroupManager(ply) end,
["/bots"] = function(ply) AdminOpenBotGroupManager(ply) end,
["/drugs"] = function(ply) OpenDrugInventory(ply) end,
["!drugs"] = function(ply) OpenDrugInventory(ply) end,
["/drug"] = function(ply) OpenDrugInventory(ply) end,
["!drug"] = function(ply) OpenDrugInventory(ply) end,
["!search"] = function(ply) SearchPlayerForDrugsInfrontOfMe(ply) end,
["/search"] = function(ply) SearchPlayerForDrugsInfrontOfMe(ply) end,
["!give"] = function(ply, args) GivePlayerMoney(ply, args) end,
["/give"] = function(ply, args) GivePlayerMoney(ply, args) end,
["/servo"] = function(ply) EnterYourSkull(ply) end,
["!servo"] = function(ply) EnterYourSkull(ply) end,
["/gotonode"] = function(ply, args) GoToNodeID(ply, args) end,
["!skull"] = function(ply) OpenSkullInventory(ply) end,
["/skull"] = function(ply) OpenSkullInventory(ply) end,
["!skulls"] = function(ply) OpenSkullInventory(ply) end,
["/skulls"] = function(ply) OpenSkullInventory(ply) end,
["!roll"] = function(ply) PlayerRoll(ply) end,
["/roll"] = function(ply) PlayerRoll(ply) end,
["/yell"] = function(ply, args) PlayerYell(ply, args) end,
["!yell"] = function(ply, args) PlayerYell(ply, args) end,
["/y"] = function(ply, args) PlayerYell(ply, args) end,
["!y"] = function(ply, args) PlayerYell(ply, args) end,
["!w"] = function(ply, args) whisper_command(ply, args) end,
["/w"] = function(ply, args) whisper_command(ply, args) end,
["!whisper"] = function(ply, args) whisper_command(ply, args) end,
["/whisper"] = function(ply, args) whisper_command(ply, args) end,
["!looc"] = function(ply, args) looc_command(ply, args) end,
["/looc"] = function(ply, args) looc_command(ply, args) end,
["[["] = function(ply, args) looc_command(ply, args) end,
[".//"] = function(ply, args) looc_command(ply, args) end,
["/examine"] = function(ply) SearchPlayerForSkulls(ply) end,
["!examine"] = function(ply) SearchPlayerForSkulls(ply) end,
["!nuke"] = function(ply) NukeMapAdmin(ply) end,
["!removebasenodes"] = function(ply) RemoveAllPriorityBaseNodes(ply) end,
["/removebasenodes"] = function(ply) RemoveAllPriorityBaseNodes(ply) end,
["!removefrontlinenodes"] = function(ply) priority_frontline_node(ply) end,
["/removefrontlinenodes"] = function(ply) priority_frontline_node(ply) end,
["!objective"] = function(ply, args) AdminUpdateObjectiveLocationAndText(ply, args) end,
["/objective"] = function(ply, args) AdminUpdateObjectiveLocationAndText(ply, args) end,
["/timescale"] = function(ply, args) AdminSetTimeScale(ply, args) end,
["/sexydrugs"] = function(ply) CreateSlaneeshSpook(ply) end,
["/gamemode"] = function(ply) AdminOpenUIMapSelect(ply) end,
["!gamemode"] = function(ply) AdminOpenUIMapSelect(ply) end,
["/items"] = function(ply) OpenItemManager(ply) end,
["!items"] = function(ply) OpenItemManager(ply) end,
["/giveitem"] = function(ply, args) AdminGiveItem(ply,args) end,
["!giveitem"] = function(ply, args) AdminGiveItem(ply,args) end,
["!stats"] = function(ply) OpenPlayerStats(ply) end,
["/stats"] = function(ply) OpenPlayerStats(ply) end,
["!playerstats"] = function(ply) OpenPlayerStats(ply) end,
["/playerstats"] = function(ply) OpenPlayerStats(ply) end,
["/charroll"] = function(ply) charisma_roll_command(ply) end,
["!charroll"] = function(ply) charisma_roll_command(ply) end,
["/charoll"] = function(ply) charisma_roll_command(ply) end,
["!charoll"] = function(ply) charisma_roll_command(ply) end,
["/charisma"] = function(ply) charisma_roll_command(ply) end,
["!charisma"] = function(ply) charisma_roll_command(ply) end,
["/charismaroll"] = function(ply) charisma_roll_command(ply) end,
["!charismaroll"] = function(ply) charisma_roll_command(ply) end,
["/trade"] = function(ply) spawn_trade_station(ply) end,
["!trade"] = function(ply) spawn_trade_station(ply) end,
["/tradestation"] = function(ply) spawn_trade_station(ply) end,
["!tradestation"] = function(ply) spawn_trade_station(ply) end,
["/removetrade"] = function(ply) RemoveTradeStation(ply) end,
["!removetrade"] = function(ply) RemoveTradeStation(ply) end,
["/removetradestation"] = function(ply) RemoveTradeStation(ply) end,
["!removetradestation"] = function(ply) RemoveTradeStation(ply) end,
["/removetrade"] = function(ply) RemoveTradeStation(ply) end,
["!removetrade"] = function(ply) RemoveTradeStation(ply) end,
["/managetax"] = function(ply) OpenTaxManager(ply) end,
["!managetax"] = function(ply) OpenTaxManager(ply) end,
["/taxmanager"] = function(ply) OpenTaxManager(ply) end,
["!taxmanager"] = function(ply) OpenTaxManager(ply) end,
["/tax"] = function(ply) OpenTaxMenu(ply) end,
["!tax"] = function(ply) OpenTaxMenu(ply) end,
["/taxmenu"] = function(ply) OpenTaxMenu(ply) end,
["!taxmenu"] = function(ply) OpenTaxMenu(ply) end,
["!cheatmagic"] = function(ply) GainAttunementCheat(ply) end,
["/cheatmagic"] = function(ply) GainAttunementCheat(ply) end,
["!faction"] = function(ply) OpenManagerMenu(ply) end,
["/faction"] = function(ply) OpenManagerMenu(ply) end,
["!missions"] = function(ply) OpenTaskMenu(ply) end,
["/missions"] = function(ply) OpenTaskMenu(ply) end,
["!mission"] = function(ply) OpenTaskMenu(ply) end,
["/mission"] = function(ply) OpenTaskMenu(ply) end,
["!task"] = function(ply) OpenTaskMenu(ply) end,
["/task"] = function(ply) OpenTaskMenu(ply) end,
["!tasks"] = function(ply) OpenTaskMenu(ply) end,
["/tasks"] = function(ply) OpenTaskMenu(ply) end,
["!quest"] = function(ply) OpenTaskMenu(ply) end,
["/quest"] = function(ply) OpenTaskMenu(ply) end,
["!quests"] = function(ply) OpenTaskMenu(ply) end,
["/quests"] = function(ply) OpenTaskMenu(ply) end,
["!bossbot"] = function(ply) OpenBossCreationMenu(ply) end,
["/bossbot"] = function(ply) OpenBossCreationMenu(ply) end,
["!bossbots"] = function(ply) OpenBossCreationMenu(ply) end,
["/bossbots"] = function(ply) OpenBossCreationMenu(ply) end,
["!boss"] = function(ply) OpenBossCreationMenu(ply) end,
["/boss"] = function(ply) OpenBossCreationMenu(ply) end,
["/radio"] = function(ply, args) return radio_command(ply, args) end,
["!radio"] = function(ply, args) return radio_command(ply, args) end,
["/radio"] = function(ply, args) return radio_command(ply, args) end,
["/vox"] = function(ply, args) return radio_command(ply, args) end,
["!vox"] = function(ply, args) return radio_command(ply, args) end,
["!r"] = function(ply, args) return radio_command(ply, args) end,
["/r"] = function(ply, args) return radio_command(ply, args) end,
["!gradio"] = function(ply, args) return radio_command(ply, args) end,
["/gradio"] = function(ply, args) return radio_command(ply, args) end,
["!binary"] = function(ply) end,
["/binary"] = function(ply) end,
["!vbinary"] = function(ply) end,
["/vbinary"] = function(ply) end,
["!highgothic"] = function(ply) end,
["/highgothic"] = function(ply) end,
["!vhighgothic"] = function(ply) end,
["/vhighgothic"] = function(ply) end,
["!hg"] = function(ply) end,
["/hg"] = function(ply) end,
["!vhg"] = function(ply) end,
["/vhg"] = function(ply) end,
["/xeno"] = function(ply) end,
["!xeno"] = function(ply) end,
["/vxeno"] = function(ply) end,
["!vxeno"] = function(ply) end,
["/generatenavmesh"] = function(ply) luanodegraph_rebuild_from_navmesh(ply) end,
["!rob"] = function(ply) PickpocketPlayerInfrontOfMe(ply) end,
["/rob"] = function(ply) PickpocketPlayerInfrontOfMe(ply) end,
["!pickpocket"] = function(ply) PickpocketPlayerInfrontOfMe(ply) end,
["/pickpocket"] = function(ply) PickpocketPlayerInfrontOfMe(ply) end,
["!steal"] = function(ply) PickpocketPlayerInfrontOfMe(ply) end,
["/steal"] = function(ply) PickpocketPlayerInfrontOfMe(ply) end,
["/rprequest"] = function(ply) return handleRPRequestCommand(ply) end,
["!rprequest"] = function(ply) return handleRPRequestCommand(ply) end,
["/gmqueue"] = function(ply) return handleGMQueueCommand(ply) end,
["!gmqueue"] = function(ply) return handleGMQueueCommand(ply) end,
["/rphistory"] = function(ply) return handleRPHistoryCommand(ply) end,
["!rphistory"] = function(ply) return handleRPHistoryCommand(ply) end,
["/spawn_items"] = function(ply, args) return AdminSpawnItem(ply, args) end,
["/civbots"] = function(ply) AdminBotOpenMenu(ply) end,
["!civbots"] = function(ply) AdminBotOpenMenu(ply) end,
}
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-------- MAP S --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
MAP_OUTPOSTS = {
["necromunda_v1"] = {
{
name = "Lower Hive Train Station",
pos = Vector(-4524.826172, 2818.074707, 8045.031250)
},
{
name = "Upper Hive Barracks",
pos = Vector(-7089.150879, 15290.420898, 11179.031250)
}
},
["rp_snow_warfare"] = {
{
name = "Base Gate",
pos = Vector(-13132.442383, 9937.503906, -14960.808594)
},
{
name = "Watchtower",
pos = Vector(1526.467651, -6295.471680, -13983.889648)
}
},
["rp_zombiewars_v1"] = {
{
name = "Front Gate Watchhouse",
pos = Vector(5509.134277, 6443.677734, 144.024292)
},
{
name = "Destoyed House",
pos = Vector(-2373.003906, -407.544891, 182.834595)
}
},
["rp_paris_wwii"] = {
{
name = "Fort Galando",
pos = Vector(-6387.607910, -12898.430664, 8910.192383)
},
{
name = "Gilden Spire Train Station",
pos = Vector(-9665.150391, 5533.566406, 7454.614746)
},
{
name = "Church",
pos = Vector(-9501.965820, 10925.320312, 7451.869629)
},
{
name = "Outer Cottage",
pos = Vector(6042.056641, 3407.634277, 7546.614746)
}
},
["rp_40k_hammerfall_undead"] = {
{
name = "Lower Deck Manufactorum",
pos = Vector(2628.489258, -1810.625000, -2556.968750)
},
{
name = "Upper Chapel",
pos = Vector(508.029083, 6969.552734, -108.968750)
},
{
name = "Barracks",
pos = Vector(361.225739, -2062.422119, -1276.968750)
},
{
name = "Lower Deck Training Facility",
pos = Vector(-306.064148, -6651.220215, -2412.306152)
},
{
name = "External Ship Dungeon",
pos = Vector(-8427.304688, -2291.030273, 169.759109)
},
{
name = "Upper Decks Access",
pos = Vector(-49.943832, -7892.916504, -1276.968750)
},
{
name = "Chapel",
pos = Vector(-146, 4154, -1718)
}
},
["rp_warhammer"] = {
{
name = "Rathold",
pos = Vector(-11063.961914, 8059.894043, 802.697937)
},
{
name = "Chaos Wastes",
pos = Vector(11032.294922, -759.806091, 1115.962891)
},
{
name = "Grimspire",
pos = Vector(2512.306396, -6762.553223, 1056.438477)
},
{
name = "Dark Forest Outpost",
pos = Vector(-8779.549805, -6231.419434, 1122.880737)
},
{
name = "High Bastion",
pos = Vector(1330.065918, 8003.285156, 769.312073)
},
{
name = "Axe Holm",
pos = Vector(5772.493164, 6150.928223, 728.449158)
}
}
}
------------------------------------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------------------------------------
----------------------DEFUALT WEAPONS-------------------------------------------------------------------------------
imperium_rp_defualt_weapons = {
"move_things"
}
-----------------------------------------------------------------------------------------
----------------------------------WEAPONS AND MODELS-------------------------------------
-----------------------------------------------------------------------------------------
-- 11th Cadian Storm Guards
CADIAN_MODELS = {
"models/wh40k/cadian_male_1.mdl",
"models/wh40k/cadian_female.mdl"
}
CADIAN_WEAPONS = {
"cat_custom_lasgun",
"cat_custom_knife",
"arccw_k_40k_lasgun_mk2"
}
-- PENAL LEGION
PENAL_MODELS = {
"models/wk/savlar/wk_savlar.mdl",
"models/wk/savlar/wk_savlar_awful.mdl"
}
PENAL_WEAPONS = CADIAN_WEAPONS
ARBITES_MODELS = {
"models/wk/arbitr/wk_arbites.mdl"
}
-- KRIEG
KRIEG_MODELS = {
"models/krig_solder.mdl"
}
KRIEG_OFFICER = {
"models/krig_officer.mdl"
}
KRIEG_WEAPONS = {
"cat_custom_lasgun_lucius",
"cat_custom_knife",
"arccw_k_40k_luciuslasgun"
}
OFFICER_WEAPONS = {
"cat_custom_sword",
"cat_custom_laspistol",
"arccw_k_40k_boltpistol"
}
-- OGRYN MODELS
OGRYN_MODELS = {
"models/dizcordum/wk/ogryn/ogryn_bald.mdl",
"models/dizcordum/wk/ogryn/ogryn_bonehead.mdl",
"models/dizcordum/wk/ogryn/ogryn_bullgryn.mdl",
"models/dizcordum/wk/ogryn/ogryn_inq.mdl",
"models/dizcordum/wk/ogryn/ogryn_krieg.mdl"
}
OGRYN_WEAPONS = {
"cat_custom_ogrynbang",
"cat_custom_rippergun"
}
-- KASRKIN
KARSIKIN_MODELS_OLD = {
"models/vintagethief/11th_imperial_guard/11th_kasrkin.mdl",
"models/krig_stormtrooper.mdl"
}
KARSIKIN_MODELS = {
"models/vintagethief/11th_imperial_guard/11th_kasrkin.mdl",
"models/vintagethief/11th_imperial_guard/11th_kasrkin_sgt.mdl",
"models/wh40k/cadian_kask_1.mdl"
}
KARSKIN_OFFICER = {
"models/astartes/scion/scion.mdl",
"models/astartes/scion/scion_w.mdl"
}
KARSKIN_OFFICER_OLD = {
"models/vintagethief/11th_imperial_guard/11th_kasrkin_sgt.mdl",
"models/krig_stormtrooper.mdl"
}
KARSIKIN_WEAPONS = {
"cat_custom_hellgunstandard",
"cat_custom_knife",
"arccw_k_40k_hellgun_mk2"
}
KARSIKIN_OFFICER_WEAPONS = {
"cat_custom_hellgunstandard",
"cat_custom_chainsword",
"cat_legacy_boltpistolpowersword",
"arccw_k_40k_boltpistol",
"arccw_k_40k_hellgun_mk2"
}
-- SQUAT
SQUAT_MODELS = {
"models/knight_ig/muschi_ig_squat.mdl",
"models/muschi/knight_ig/muschi_ig_squat.mdl",
"models/muschi/knight_ig/muschi_ig_squat_kalt.mdl",
"models/knight_ig/muschi_ig_squat_kalt.mdl",
"models/barbossa/dwarf_ranger/dwf_ranger_pm.mdl"
}
SQUAT_WEAPONS = {
"cat_legacy_boardingshield_volkitecharger",
"cat_legacy_poweraxecthonian"
}
PYSKER_MODELS = {
"models/models/svin/pyromant.mdl",
"models/wk/psy/wk_alpha_psyker.mdl",
"models/wk/psy/wk_astropath.mdl",
"models/wk/psy/wk_mystic.mdl",
"models/wk/psy/wk_mystic_primus.mdl",
"models/wk/psy/wk_navigator.mdl",
"models/wk/psy/wk_primaris_fem.mdl",
"models/wk/psy/wk_primaris_psyker.mdl",
"models/wk/psy/wk_wyrdvane.mdl",
"models/wk/psy/wk_wyrdvane_fem.mdl",
"models/wk/sodium/sodium_astropath.mdl"
}
HOLY_MODELS = {
"models/dizcordum/wk/ecclesiarchy/abbat.mdl",
"models/dizcordum/wk/ecclesiarchy/priest.mdl",
"models/wk/jackswan/ministorum_priest.mdl",
"models/wk/jackswan/zealot.mdl",
"models/wk/jackswan/hexorcist.mdl"
}
CRUSADER_MODELS = {
"models/wk/jackswan/crusader.mdl",
"models/wk/jackswan/executor.mdl",
"models/wk/jackswan/hexorcist.mdl",
"models/wk/jackswan/octavian_executor.mdl"
}
-- Mercenary
MERC_MODELS = {
"models/muschi/orks/muschi_ork_boyzzz.mdl",
"models/player/necrosoup/gretchin_pm/gretchin_pm.mdl",
"models/barbossa/snotling/snotling_pm.mdl",
"models/dizcordum/imperium/enforcer/enf_female.mdl",
"models/dizcordum/imperium/enforcer/enf_male.mdl",
"models/dizcordum/wk/mercenary/croto_hark.mdl",
"models/dizcordum/chaos/cultist/cultist4.mdl",
"models/dizcordum/abhumans/squat.mdl",
"models/wk/savlar/wk_savlar_veteran.mdl",
"models/wizard/kroot.mdl",
"models/tau/baron_tau.mdl",
"models/dizcordum/wh/eldar/yuraine.mdl",
"models/astartes/eldar/guardian_redactus.mdl",
"models/astartes/eldar/banshees.mdl",
"models/ulman/storm_rat.mdl",
"models/ulman/grey_seer.mdl",
"models/ulman/clan_rat_1.mdl",
"models/ulman/skv_eshin.mdl"
}
-- Commissariat
COMMISSAR_MODELS = {
"models/krig_commissar.mdl",
"models/knight_ig/muschi_ig_comissar.mdl",
"models/wk/jackswan/scion/scion_commissar.mdl",
"models/wk/comm/wk_comm.mdl",
"models/wk/comm/wk_comm_cadet.mdl",
"models/wk/comm/wk_comm_cadet_fm.mdl",
"models/wk/comm/wk_comm_fm.mdl",
"models/wk/comm/wk_comm_high.mdl"
}
-- Adeptus Mechanicus
ADMECH_MODELS = {
"models/astartes/mech/magos.mdl",
"models/jackswan/rogue_trader/wk_rt_secutor.mdl",
"models/wk/adeptus_mechanicus/wk_am_engenseer.mdl",
"models/wk/adeptus_mechanicus/wk_trippriest.mdl",
"models/wk/gans/wk_gans_priest.mdl",
"models/wk/fem_priast/wk_priestness_belka.mdl",
"models/wk/adeptus_mechanicus/wk_am_hypaspists_alpha.mdl"
}
ADMECH_WEAPONS = {
"cat_custom_galvanic",
"cat_custom_galvanic_rifle",
"cat_custom_omnissiahaxe"
}
-----------------------------------------------------------------------------------------
--------------------------------------DIVISION TYPES-------------------------------------
-----------------------------------------------------------------------------------------
DivisionTypes = {
["Cult Mechanicus Conclave"] = {
NiceName = "Cult Mechanicus Conclave",
Description = "Agents of the Omnissiah. Tech-priests, artisans and magi who mend, sanctify and unleash the machine-spirit.",
Team = "imperium",
Ranks = {
{ID = 1, Name = "Admech", Rank_Prefix = "", ModelsAllowed = ADMECH_MODELS, WeaponsAllowed = ADMECH_WEAPONS, CanPromote = true},
{ID = 2, Name = "Admech", Rank_Prefix = "Mech Wright", ModelsAllowed = ADMECH_MODELS, WeaponsAllowed = ADMECH_WEAPONS, CanPromote = true},
{ID = 3, Name = "Admech", Rank_Prefix = "Acuitor Silica", ModelsAllowed = ADMECH_MODELS, WeaponsAllowed = ADMECH_WEAPONS, CanPromote = true},
{ID = 4, Name = "Admech", Rank_Prefix = "Datasmith", ModelsAllowed = ADMECH_MODELS, WeaponsAllowed = ADMECH_WEAPONS, CanPromote = true},
{ID = 5, Name = "Admech", Rank_Prefix = "Mech Lord", ModelsAllowed = ADMECH_MODELS, WeaponsAllowed = ADMECH_WEAPONS, CanPromote = true},
{ID = 6, Name = "Admech", Rank_Prefix = "Cybernetican Major", ModelsAllowed = ADMECH_MODELS, WeaponsAllowed = ADMECH_WEAPONS, CanPromote = true},
{ID = 7, Name = "Admech", Rank_Prefix = "Cybersmith", ModelsAllowed = ADMECH_MODELS, WeaponsAllowed = ADMECH_WEAPONS, CanPromote = true},
{ID = 8, Name = "Admech", Rank_Prefix = "Fabricator Architect", ModelsAllowed = ADMECH_MODELS, WeaponsAllowed = ADMECH_WEAPONS, CanPromote = true},
{ID = 9, Name = "Admech", Rank_Prefix = "Artisan", ModelsAllowed = ADMECH_MODELS, WeaponsAllowed = ADMECH_WEAPONS, CanPromote = true},
{ID = 10, Name = "Admech", Rank_Prefix = "Master Artisan", ModelsAllowed = ADMECH_MODELS, WeaponsAllowed = ADMECH_WEAPONS, CanPromote = true},
{ID = 11, Name = "Admech", Rank_Prefix = "Artisan Supreme", ModelsAllowed = ADMECH_MODELS, WeaponsAllowed = ADMECH_WEAPONS, CanPromote = true},
{ID = 12, Name = "Admech", Rank_Prefix = "Metasurgeon", ModelsAllowed = ADMECH_MODELS, WeaponsAllowed = ADMECH_WEAPONS, CanPromote = true},
{ID = 13, Name = "Admech", Rank_Prefix = "Corpus-Illuminator", ModelsAllowed = ADMECH_MODELS, WeaponsAllowed = ADMECH_WEAPONS, CanPromote = true},
{ID = 14, Name = "Admech", Rank_Prefix = "Genetor", ModelsAllowed = ADMECH_MODELS, WeaponsAllowed = ADMECH_WEAPONS, CanPromote = true},
{ID = 15, Name = "Admech", Rank_Prefix = "Genetor Primaris", ModelsAllowed = ADMECH_MODELS, WeaponsAllowed = ADMECH_WEAPONS, CanPromote = true},
{ID = 16, Name = "Admech", Rank_Prefix = "Genetor Major", ModelsAllowed = ADMECH_MODELS, WeaponsAllowed = ADMECH_WEAPONS, CanPromote = true},
{ID = 17, Name = "Admech", Rank_Prefix = "Arch Magos", ModelsAllowed = ADMECH_MODELS, WeaponsAllowed = ADMECH_WEAPONS, CanPromote = true}
},
Classes = {
{
Name = "Logis",
Default = true,
Core = true,
atomic = true,
Models = {
"models/wk/adeptus_mechanicus/wk_am_engenseer.mdl",
"models/wk/fem_priast/wk_priestness.mdl",
"models/wk/adeptus_mechanicus/wk_skitarii_vanguard.mdl",
"models/wk/adeptus_mechanicus/wk_skitarii_rangers.mdl",
"models/wk/adeptus_mechanicus/wk_skitarii_vanguard_alpha.mdl"
},
MaxHealth = 100,
PowerShield = true,
Weapons = {
"cat_custom_galvanic_rifle",
"cat_custom_galvanic",
"cat_custom_phosphor",
"cat_legacy_omnissiahaxe",
"rope_tool"
},
SpawnWeapons = {"ent_spawner","weapon_lvsrepair","weapon_extinguisher_infinite"},
EntitySpawner = {
{ name = "Ammo Supplies", entityname = "universal_ammo_small", description = "10 Uses. HANDLE WITH CARE: VERY EXPLOSIVE", type = "Ammo" },
{ name = "Servo Skull", entityname = "servoskull", description = "Used to monitor the hive. Must be setup next to a Machine Spirit Panel.", type = "Skull" },
{ name = "Plasma Reactor", entityname = "nuclear_reactor", description = "A powerful energy source. Must be handled with care.", type = "Reactor" },
{ name = "Castellax Sentry Node", entityname = "tnt_att_s2_cannon", description = "Sentry Node that will fire bursts of Plasma.", type = "Turret" }
},
vehicles = {
{ name = "Jeep", entityname = "lvs_wheeldrive_dodwillyjeep", description = "It's a Jeep", type = "Support" },
},
Prefix = ""
},
{
Name = "Artisan",
Core = true,
ForceModels = true,
Models = {
"models/wk/adeptus_mechanicus/wk_tech_priest.mdl",
"models/wk/fem_priast/wk_priestness.mdl",
"models/astartes/mech/magos.mdl"
},
MaxHealth = 150,
PowerShield = true,
atomic = true,
Weapons = {
"cat_custom_galvanic",
"cat_legacy_omnissiahaxe",
"rope_tool"
},
Fortifications = {
{name = "Sandbags Corner 1", model = "models/props_fortifications/sandbags_corner1.mdl"},
{name = "Sandbags Corner 1 Tall", model = "models/props_fortifications/sandbags_corner1_tall.mdl"},
{name = "Sandbags Corner 2 ", model = "models/props_fortifications/sandbags_corner2.mdl"},
{name = "Sandbags Corner 2 Tall", model = "models/props_fortifications/sandbags_corner2_tall.mdl"},
{name = "Sandbags Line 1", model = "models/props_fortifications/sandbags_line1.mdl"},
{name = "Sandbags Line 1 Tall", model = "models/props_fortifications/sandbags_line1_tall.mdl"},
{name = "Sandbags Line 2", model = "models/props_fortifications/sandbags_line2.mdl"},
{name = "Sandbags Line 2 Tall", model = "models/props_fortifications/sandbags_line2_tall.mdl"},
{name = "Trench Bunker", model = "models/fortification collection/trench_free_a_double.mdl"},
{name = "Trench T", model = "models/fortification collection/trench_end_corridor.mdl"},
{name = "Trench Four Way", model = "models/fortification collection/trench_4way.mdl"},
{name = "Trench L", model = "models/fortification collection/trench_turn.mdl"},
{name = "Trench One Way", model = "models/fortification collection/trench_straight.mdl"},
{name = "Small Bunker", model = "models/fortification collection/small_bunker1.mdl"},
{name = "Steel Barricade 4", model = "models/arne3d/barricades/steelbarricade4.mdl"},
{name = "Steel Barricade 3", model = "models/arne3d/barricades/steelbarricade3.mdl"},
{name = "Steel Barricade 2", model = "models/arne3d/barricades/steelbarricade2.mdl"},
{name = "Steel Barricade 1", model = "models/arne3d/barricades/steelbarricade1.mdl"}
},
SpawnWeapons = {"alydus_fortificationbuildertablet","ent_spawner","weapon_lvsrepair","weapon_extinguisher_infinite"},
EntitySpawner = {
{ name = "Ammo Supplies", entityname = "universal_ammo_small", description = "10 Uses. HANDLE WITH CARE: VERY EXPLOSIVE", type = "Ammo" },
{ name = "Servo Skull", entityname = "servoskull", description = "Used to monitor the hive. Must be setup next to a Machine Spirit Panel.", type = "Skull" },
{ name = "Plasma Reactor", entityname = "nuclear_reactor", description = "A powerful energy source. Must be handled with care.", type = "Reactor" },
{ name = "Castellax Sentry Node", entityname = "tnt_att_s2_cannon", description = "Sentry Node that will fire bursts of Plasma.", type = "Turret" }
},
Prefix = ""
},
{
Name = "Biologis",
Core = true,
ForceModels = true,
Models = {
"models/jackswan/rogue_trader/wk_rt_secutor.mdl",
"models/wk/fem_priast/wk_priestness_belka.mdl",
"models/wk/fem_priast/wk_priestness.mdl",
"models/wk/adeptus_mechanicus/wk_am_hypaspists_alpha.mdl",
"models/astartes/mech/magos.mdl"
},
MaxHealth = 150,
PowerShield = true,
atomic = true,
Medic = true,
Weapons = {
"cat_custom_galvanic",
"cat_legacy_omnissiahaxe",
"rope_tool"
},
SpawnWeapons = {"fas2_ifak","ent_spawner","weapon_fists"},
EntitySpawner = {
{ name = "Medical Supplies", entityname = "medic_box", description = "Lets soldiers heal themselves.", type = "Medic Box" },
{ name = "Servo Skull", entityname = "servoskull", description = "Used to monitor the hive. Must be setup next to a Machine Spirit Panel.", type = "Skull" },
{ name = "Plasma Reactor", entityname = "nuclear_reactor", description = "A powerful energy source. Must be handled with care.", type = "Reactor" },
{ name = "Castellax Sentry Node", entityname = "tnt_att_s2_cannon", description = "Sentry Node that will fire bursts of Plasma.", type = "Turret" }
},
Prefix = ""
},
{
Name = "Cybernetican",
Core = true,
ForceModels = true,
Models = {
"models/jackswan/rogue_trader/wk_rt_secutor.mdl",
"models/wk/fem_priast/wk_priestness_belka.mdl",
"models/wk/adeptus_mechanicus/wk_sicarian_ruststalkers_alpha.mdl",
"models/wk/adeptus_mechanicus/wk_sicarian_infiltrators_alpha.mdl",
"models/wk/gans/wk_gans_priest.mdl",
"models/astartes/mech/magos.mdl"
},
SpawnWeapons = {"weapon_fists"},
MaxHealth = 125,
PowerShield = true,
atomic = true,
Medic = true,
Weapons = {
"weapon_cuff_elastic",
"weapon_stunstick",
"cat_custom_galvanic",
"cat_legacy_omnissiahaxe",
"rope_tool"
},
SpawnWeapons = {"fas2_ifak","ent_spawner","weapon_fists"},
EntitySpawner = {
{ name = "Servo Skull", entityname = "servoskull", description = "Used to monitor the hive. Must be setup next to a Machine Spirit Panel.", type = "Skull" },
{ name = "Plasma Reactor", entityname = "nuclear_reactor", description = "A powerful energy source. Must be handled with care.", type = "Reactor" },
{ name = "Castellax Sentry Node", entityname = "tnt_att_s2_cannon", description = "Sentry Node that will fire bursts of Plasma.", type = "Turret" }
},
Prefix = ""
},
{
Name = "Exorcist",
Core = true,
ForceModels = true,
atomic = true,
Models = {
"models/wk/gans/wk_gans_priest.mdl",
"models/wk/fem_priast/wk_priestness.mdl"
},
MaxHealth = 150,
PowerShield = true,
Weapons = {
"cat_custom_galvanic",
"cat_legacy_omnissiahaxe",
},
SpawnWeapons = {"ent_spawner","weapon_lvsrepair","weapon_extinguisher_infinite","weapon_fists"},
EntitySpawner = {
{ name = "Ammo Supplies", entityname = "universal_ammo_small", description = "10 Uses. HANDLE WITH CARE: VERY EXPLOSIVE", type = "Ammo" },
{ name = "Servo Skull", entityname = "servoskull", description = "Used to monitor the hive. Must be setup next to a Machine Spirit Panel.", type = "Skull" },
{ name = "Plasma Reactor", entityname = "nuclear_reactor", description = "A powerful energy source. Must be handled with care.", type = "Reactor" },
{ name = "Castellax Sentry Node", entityname = "tnt_att_s2_cannon", description = "Sentry Node that will fire bursts of Plasma.", type = "Turret" }
},
Prefix = ""
},
{
Name = "Telephatica",
Core = true,
ForceModels = true,
Magic = true,
Models = {
"models/wk/adeptus_mechanicus/wk_trippriest.mdl",
"models/wk/fem_priast/wk_priestness.mdl"
},
MaxHealth = 150,
atomic = true,
PowerShield = true,
Weapons = {
"cat_custom_galvanic",
"cat_legacy_omnissiahaxe"
},
SpawnWeapons = {"murlock_staff_player","ent_spawner","weapon_extinguisher_infinite","weapon_fists"},
EntitySpawner = {
{ name = "Ammo Supplies", entityname = "universal_ammo_small", description = "10 Uses. HANDLE WITH CARE: VERY EXPLOSIVE", type = "Ammo" },
{ name = "Servo Skull", entityname = "servoskull", description = "Used to monitor the hive. Must be setup next to a Machine Spirit Panel.", type = "Skull" },