]> de.git.xonotic.org Git - voretournament/voretournament.git/blob - data/qcsrc/menu/voret/dialog_multiplayer_create_mutators.c
By default, don't give the grabber at spawn time in RPG (since in this gametype you...
[voretournament/voretournament.git] / data / qcsrc / menu / voret / dialog_multiplayer_create_mutators.c
1 #ifdef INTERFACE\r
2 CLASS(VoretMutatorsDialog) EXTENDS(VoretDialog)\r
3         METHOD(VoretMutatorsDialog, toString, string(entity))\r
4         METHOD(VoretMutatorsDialog, fill, void(entity))\r
5         METHOD(VoretMutatorsDialog, showNotify, void(entity))\r
6         METHOD(VoretMutatorsDialog, close, void(entity))\r
7         ATTRIB(VoretMutatorsDialog, title, string, "Mutators")\r
8         ATTRIB(VoretMutatorsDialog, color, vector, SKINCOLOR_DIALOG_MUTATORS)\r
9         ATTRIB(VoretMutatorsDialog, intendedWidth, float, 0.3)\r
10         ATTRIB(VoretMutatorsDialog, rows, float, 17)\r
11         ATTRIB(VoretMutatorsDialog, columns, float, 2)\r
12         ATTRIB(VoretMutatorsDialog, refilterEntity, entity, NULL)\r
13 ENDCLASS(VoretMutatorsDialog)\r
14 #endif\r
15 \r
16 #ifdef IMPLEMENTATION\r
17 void showNotifyVoretMutatorsDialog(entity me)\r
18 {\r
19         loadAllCvars(me);\r
20 }\r
21 \r
22 string toStringVoretMutatorsDialog(entity me)\r
23 {\r
24         string s;\r
25         s = "";\r
26         if(cvar("sv_gravity") < 800)\r
27                 s = strcat(s, ", Low gravity");\r
28         if(cvar("g_cloaked"))\r
29                 s = strcat(s, ", Cloaked");\r
30         if(cvar("g_midair"))\r
31                 s = strcat(s, ", Midair");\r
32         if(cvar("g_vampire"))\r
33                 s = strcat(s, ", Vampire");\r
34         if(cvar("g_weapon_stay"))\r
35                 s = strcat(s, ", Weapons stay");\r
36         if(cvar("g_bloodloss") > 0)\r
37                 s = strcat(s, ", Bloodloss");\r
38         if(cvar("g_jetpack"))\r
39                 s = strcat(s, ", Jet pack");\r
40         if(cvar("g_balance_vore_weight_gravity") < 0)\r
41                 s = strcat(s, ", Lighten");\r
42         if(cvar("g_balance_vore_digestion_damage") >= 1000)\r
43                 s = strcat(s, ", InstaDigestion");\r
44         if(s == "")\r
45                 return "None";\r
46         else\r
47                 return substring(s, 2, strlen(s) - 2);\r
48 }\r
49 \r
50 void fillVoretMutatorsDialog(entity me)\r
51 {\r
52         entity e, s;\r
53         me.TR(me);\r
54                 me.TD(me, 1, 2, makeVoretTextLabel(0, "Gameplay mutators:"));\r
55         me.TR(me);\r
56                 me.TDempty(me, 0.2);\r
57                 me.TD(me, 1, 2, e = makeVoretCheckBox(0, "g_cloaked", "Cloaked"));\r
58         me.TR(me);\r
59                 me.TDempty(me, 0.2);\r
60                 me.TD(me, 1, 2, e = makeVoretCheckBox(0, "g_midair", "Midair"));\r
61         me.TR(me);\r
62                 me.TDempty(me, 0.2);\r
63                 me.TD(me, 1, 2, e = makeVoretCheckBox(0, "g_vampire", "Vampire"));\r
64         me.TR(me);\r
65                 me.TDempty(me, 0.2);\r
66                 s = makeVoretSlider(10, 50, 1, "g_bloodloss");\r
67                 me.TD(me, 1, 2, e = makeVoretSliderCheckBox(0, 1, s, "Blood loss"));\r
68         me.TR(me);\r
69                 me.TDempty(me, 0.4);\r
70                 me.TD(me, 1, 1.8, s);\r
71         me.TR(me);\r
72                 me.TDempty(me, 0.2);\r
73                 s = makeVoretSlider(80, 400, 8, "sv_gravity");\r
74                         s.valueDigits = 0;\r
75                         s.valueDisplayMultiplier = 0.125; // show gravity in percent\r
76                 me.TD(me, 1, 2, e = makeVoretSliderCheckBox(800, 1, s, "Low gravity"));\r
77                         e.savedValue = 200; // good on silvercity\r
78         me.TR(me);\r
79                 me.TDempty(me, 0.4);\r
80                 me.TD(me, 1, 1.8, s);\r
81         me.TR(me);\r
82         me.TR(me);\r
83                 me.TD(me, 1, 2, makeVoretTextLabel(0, "Weapon & Item mutators:"));\r
84         me.TR(me);\r
85                 me.TDempty(me, 0.2);\r
86                 me.TD(me, 1, 2, e = makeVoretCheckBox(0, "g_jetpack", "Jet pack"));\r
87         me.TR(me);\r
88                 me.TDempty(me, 0.2);\r
89                 me.TD(me, 1, 2, e = makeVoretCheckBoxEx(2, 0, "g_weapon_stay", "Weapons stay"));\r
90         me.TR(me);\r
91         me.TR(me);\r
92                 me.TD(me, 1, 2, makeVoretTextLabel(0, "Vore mutators:"));\r
93         me.TR(me);\r
94                 me.TDempty(me, 0.2);\r
95                 me.TD(me, 1, 2, e = makeVoretCheckBoxEx(-0.25, 1, "g_balance_vore_weight_gravity", "Lighten")); // must contain default cvar value for off position!\r
96         me.TR(me);\r
97                 me.TDempty(me, 0.2);\r
98                 me.TD(me, 1, 2, e = makeVoretCheckBoxEx(1000, 5, "g_balance_vore_digestion_damage", "InstaDigestion")); // must contain default cvar value for off position!\r
99 \r
100         me.gotoRC(me, me.rows - 1, 0);\r
101                 me.TD(me, 1, me.columns, e = makeVoretButton("OK", '0 0 0'));\r
102                         e.onClick = Dialog_Close;\r
103                         e.onClickEntity = me;\r
104 }\r
105 \r
106 void closeVoretMutatorsDialog(entity me)\r
107 {\r
108         if(me.refilterEntity)\r
109                 me.refilterEntity.refilter(me.refilterEntity);\r
110         closeDialog(me);\r
111 }\r
112 #endif\r