#ifdef INTERFACE CLASS(VoretMutatorsDialog) EXTENDS(VoretDialog) METHOD(VoretMutatorsDialog, toString, string(entity)) METHOD(VoretMutatorsDialog, fill, void(entity)) METHOD(VoretMutatorsDialog, showNotify, void(entity)) METHOD(VoretMutatorsDialog, close, void(entity)) ATTRIB(VoretMutatorsDialog, title, string, "Mutators") ATTRIB(VoretMutatorsDialog, color, vector, SKINCOLOR_DIALOG_MUTATORS) ATTRIB(VoretMutatorsDialog, intendedWidth, float, 0.3) ATTRIB(VoretMutatorsDialog, rows, float, 17) ATTRIB(VoretMutatorsDialog, columns, float, 2) ATTRIB(VoretMutatorsDialog, refilterEntity, entity, NULL) ENDCLASS(VoretMutatorsDialog) #endif #ifdef IMPLEMENTATION void showNotifyVoretMutatorsDialog(entity me) { loadAllCvars(me); } string toStringVoretMutatorsDialog(entity me) { string s; s = ""; if(cvar("sv_gravity") < 800) s = strcat(s, ", Low gravity"); if(cvar("g_cloaked")) s = strcat(s, ", Cloaked"); if(cvar("g_midair")) s = strcat(s, ", Midair"); if(cvar("g_vampire")) s = strcat(s, ", Vampire"); if(cvar("g_weapon_stay")) s = strcat(s, ", Weapons stay"); if(cvar("g_bloodloss") > 0) s = strcat(s, ", Bloodloss"); if(cvar("g_jetpack")) s = strcat(s, ", Jet pack"); if(cvar("g_balance_vore_weight_gravity") < 0) s = strcat(s, ", Lighten"); if(cvar("g_balance_vore_digestion_damage") >= 1000) s = strcat(s, ", InstaDigestion"); if(s == "") return "None"; else return substring(s, 2, strlen(s) - 2); } void fillVoretMutatorsDialog(entity me) { entity e, s; me.TR(me); me.TD(me, 1, 2, makeVoretTextLabel(0, "Gameplay mutators:")); me.TR(me); me.TDempty(me, 0.2); me.TD(me, 1, 2, e = makeVoretCheckBox(0, "g_cloaked", "Cloaked")); me.TR(me); me.TDempty(me, 0.2); me.TD(me, 1, 2, e = makeVoretCheckBox(0, "g_midair", "Midair")); me.TR(me); me.TDempty(me, 0.2); me.TD(me, 1, 2, e = makeVoretCheckBox(0, "g_vampire", "Vampire")); me.TR(me); me.TDempty(me, 0.2); s = makeVoretSlider(10, 50, 1, "g_bloodloss"); me.TD(me, 1, 2, e = makeVoretSliderCheckBox(0, 1, s, "Blood loss")); me.TR(me); me.TDempty(me, 0.4); me.TD(me, 1, 1.8, s); me.TR(me); me.TDempty(me, 0.2); s = makeVoretSlider(80, 400, 8, "sv_gravity"); s.valueDigits = 0; s.valueDisplayMultiplier = 0.125; // show gravity in percent me.TD(me, 1, 2, e = makeVoretSliderCheckBox(800, 1, s, "Low gravity")); e.savedValue = 200; // good on silvercity me.TR(me); me.TDempty(me, 0.4); me.TD(me, 1, 1.8, s); me.TR(me); me.TR(me); me.TD(me, 1, 2, makeVoretTextLabel(0, "Weapon & Item mutators:")); me.TR(me); me.TDempty(me, 0.2); me.TD(me, 1, 2, e = makeVoretCheckBox(0, "g_jetpack", "Jet pack")); me.TR(me); me.TDempty(me, 0.2); me.TD(me, 1, 2, e = makeVoretCheckBoxEx(2, 0, "g_weapon_stay", "Weapons stay")); me.TR(me); me.TR(me); me.TD(me, 1, 2, makeVoretTextLabel(0, "Vore mutators:")); me.TR(me); me.TDempty(me, 0.2); me.TD(me, 1, 2, e = makeVoretCheckBoxEx(-0.25, 1, "g_balance_vore_weight_gravity", "Lighten")); // must contain default cvar value for off position! me.TR(me); me.TDempty(me, 0.2); me.TD(me, 1, 2, e = makeVoretCheckBoxEx(1000, 5, "g_balance_vore_digestion_damage", "InstaDigestion")); // must contain default cvar value for off position! me.gotoRC(me, me.rows - 1, 0); me.TD(me, 1, me.columns, e = makeVoretButton("OK", '0 0 0')); e.onClick = Dialog_Close; e.onClickEntity = me; } void closeVoretMutatorsDialog(entity me) { if(me.refilterEntity) me.refilterEntity.refilter(me.refilterEntity); closeDialog(me); } #endif