From 854a1c1b5ce567621310a9e5160ebb7acbb18c42 Mon Sep 17 00:00:00 2001 From: SandPoot Date: Sun, 22 Jan 2023 14:09:10 -0300 Subject: [PATCH] modified content --- code/_globalvars/bitfields.dm | 153 ++++++++++++++++++ .../admin/view_variables/modify_variables.dm | 20 ++- 2 files changed, 170 insertions(+), 3 deletions(-) diff --git a/code/_globalvars/bitfields.dm b/code/_globalvars/bitfields.dm index 8d06d9ecf3..f412f31e9c 100644 --- a/code/_globalvars/bitfields.dm +++ b/code/_globalvars/bitfields.dm @@ -68,6 +68,25 @@ DEFINE_BITFIELD(area_flags, list( "NO_ALERTS" = NO_ALERTS, )) +DEFINE_BITFIELD(body_parts_covered, list( + "ARM_LEFT" = ARM_LEFT, + "ARM_RIGHT" = ARM_RIGHT, + "ARMS" = ARMS, + "CHEST" = CHEST, + "FEET" = FEET, + "FOOT_LEFT" = FOOT_LEFT, + "FOOT_RIGHT" = FOOT_RIGHT, + "GROIN" = GROIN, + "HAND_LEFT" = HAND_LEFT, + "HAND_RIGHT" = HAND_RIGHT, + "HANDS" = HANDS, + "HEAD" = HEAD, + "LEG_LEFT" = LEG_LEFT, + "LEG_RIGHT" = LEG_RIGHT, + "LEGS" = LEGS, + "NECK" = NECK, +)) + DEFINE_BITFIELD(car_traits, list( "CAN_KIDNAP" = CAN_KIDNAP, )) @@ -125,6 +144,11 @@ DEFINE_BITFIELD(disease_flags, list( "CURABLE" = CURABLE, )) +DEFINE_BITFIELD(explosion_flags, list( + "EXPLOSION_FLAG_DENSITY_DEPENDENT" = EXPLOSION_FLAG_DENSITY_DEPENDENT, + "EXPLOSION_FLAG_HARD_OBSTACLE" = EXPLOSION_FLAG_HARD_OBSTACLE, +)) + DEFINE_BITFIELD(flags_1, list( "ADMIN_SPAWNED_1" = ADMIN_SPAWNED_1, "BLOCK_FACE_ATOM_1" = BLOCK_FACE_ATOM_1, @@ -147,6 +171,30 @@ DEFINE_BITFIELD(flags_1, list( "UNUSED_RESERVATION_TURF_1" = UNUSED_RESERVATION_TURF_1, )) +DEFINE_BITFIELD(flags_cover, list( + "GLASSESCOVERSEYE" = GLASSESCOVERSEYES, + "HEADCOVERSEYES" = HEADCOVERSEYES, + "HEADCOVERSMOUTH" = HEADCOVERSMOUTH, + "MASKCOVERSEYES" = MASKCOVERSEYES, + "MASKCOVERSMOUTH" = MASKCOVERSMOUTH, +)) + +DEFINE_BITFIELD(flags_inv, list( + "HIDEACCESSORY" = HIDEACCESSORY, + "HIDEEARS" = HIDEEARS, + "HIDEEYES" = HIDEEYES, + "HIDEFACE" = HIDEFACE, + "HIDEFACIALHAI" = HIDEFACIALHAIR, + "HIDEGLOVES" = HIDEGLOVES, + "HIDEHAIR" = HIDEHAIR, + "HIDEJUMPSUIT" = HIDEJUMPSUIT, + "HIDEMASK" = HIDEMASK, + "HIDENECK" = HIDENECK, + "HIDESHOES" = HIDESHOES, + "HIDESNOUT" = HIDESNOUT, + "HIDESUITSTORA" = HIDESUITSTORAGE, + "HIDETAUR" = HIDETAUR, +)) DEFINE_BITFIELD(flags_ricochet, list( "RICOCHET_SHINY" = RICOCHET_SHINY, "RICOCHET_HARD" = RICOCHET_HARD @@ -204,6 +252,12 @@ DEFINE_BITFIELD(item_flags, list( "SLOWS_WHILE_IN_HAND" = SLOWS_WHILE_IN_HAND, )) +DEFINE_BITFIELD(material_flags, list( + "MATERIAL_ADD_PREFIX" = MATERIAL_ADD_PREFIX, + "MATERIAL_AFFECT_STATISTICS" = MATERIAL_AFFECT_STATISTICS, + "MATERIAL_COLOR" = MATERIAL_COLOR, +)) + DEFINE_BITFIELD(mob_biotypes, list( "MOB_BEAST" = MOB_BEAST, "MOB_BUG" = MOB_BUG, @@ -281,7 +335,21 @@ DEFINE_BITFIELD(pass_flags, list( "PASSCLOSEDTURF" = PASSCLOSEDTURF, "PASSGLASS" = PASSGLASS, "PASSGRILLE" = PASSGRILLE, + "PASSMACHINE" = PASSMACHINE, "PASSMOB" = PASSMOB, + "PASSSTRUCTURE" = PASSSTRUCTURE, + "PASSTABLE" = PASSTABLE, +)) + +DEFINE_BITFIELD(pass_flags_self, list( + "LETPASSTHROW" = LETPASSTHROW, + "PASSBLOB" = PASSBLOB, + "PASSCLOSEDTURF" = PASSCLOSEDTURF, + "PASSGLASS" = PASSGLASS, + "PASSGRILLE" = PASSGRILLE, + "PASSMACHINE" = PASSMACHINE, + "PASSMOB" = PASSMOB, + "PASSSTRUCTURE" = PASSSTRUCTURE, "PASSTABLE" = PASSTABLE, )) @@ -343,6 +411,29 @@ DEFINE_BITFIELD(sight, list( "SEE_TURFS" = SEE_TURFS, )) +DEFINE_BITFIELD(slot_flags, list( + "ITEM_SLOT_BACK" = ITEM_SLOT_BACK, + "ITEM_SLOT_BACKPACK" = ITEM_SLOT_BACKPACK, + "ITEM_SLOT_BELT" = ITEM_SLOT_BELT, + "ITEM_SLOT_DEX_STORAGE" = ITEM_SLOT_DEX_STORAGE, + "ITEM_SLOT_EARS" = ITEM_SLOT_EARS, + "ITEM_SLOT_EYES" = ITEM_SLOT_EYES, + "ITEM_SLOT_FEET" = ITEM_SLOT_FEET, + "ITEM_SLOT_GLOVES" = ITEM_SLOT_GLOVES, + "ITEM_SLOT_HANDCUFFED" = ITEM_SLOT_HANDCUFFED, + "ITEM_SLOT_HANDS" = ITEM_SLOT_HANDS, + "ITEM_SLOT_HEAD" = ITEM_SLOT_HEAD, + "ITEM_SLOT_ICLOTHING" = ITEM_SLOT_ICLOTHING, + "ITEM_SLOT_ID" = ITEM_SLOT_ID, + "ITEM_SLOT_LEGCUFFED" = ITEM_SLOT_LEGCUFFED, + "ITEM_SLOT_LPOCKET" = ITEM_SLOT_LPOCKET, + "ITEM_SLOT_MASK" = ITEM_SLOT_MASK, + "ITEM_SLOT_NECK" = ITEM_SLOT_NECK, + "ITEM_SLOT_OCLOTHING" = ITEM_SLOT_OCLOTHING, + "ITEM_SLOT_RPOCKET" = ITEM_SLOT_RPOCKET, + "ITEM_SLOT_SUITSTORE" = ITEM_SLOT_SUITSTORE, +)) + DEFINE_BITFIELD(smooth, list( "SMOOTH_BORDER" = SMOOTH_BORDER, "SMOOTH_DIAGONAL" = SMOOTH_DIAGONAL, @@ -351,6 +442,15 @@ DEFINE_BITFIELD(smooth, list( "SMOOTH_TRUE" = SMOOTH_TRUE, )) +DEFINE_BITFIELD(status_flags, list( + "CANKNOCKDOWN" = CANKNOCKDOWN, + "CANPUSH" = CANPUSH, + "CANSTAGGER" = CANSTAGGER, + "CANSTUN" = CANSTUN, + "CANUNCONSCIOUS" = CANUNCONSCIOUS, + "GODMODE" = GODMODE, +)) + DEFINE_BITFIELD(storage_flags, list( "STORAGE_LIMIT_COMBINED_W_CLASS" = STORAGE_LIMIT_COMBINED_W_CLASS, "STORAGE_LIMIT_MAX_ITEMS" = STORAGE_LIMIT_MAX_ITEMS, @@ -369,6 +469,59 @@ DEFINE_BITFIELD(vis_flags, list( "VIS_UNDERLAY" = VIS_UNDERLAY, )) +DEFINE_BITFIELD(visor_flags, list( + "ALLOWINTERNALS" = ALLOWINTERNALS, + "BLOCK_GAS_SMOKE_EFFECT" = BLOCK_GAS_SMOKE_EFFECT, + "IGNORE_HAT_TOSS" = IGNORE_HAT_TOSS, + "LAVAPROTECT" = LAVAPROTECT, + "NOSLIP" = NOSLIP, + "NOSLIP_ICE" = NOSLIP_ICE, + "SCAN_REAGENTS" = SCAN_REAGENTS, + "STOPSPRESSUREDAMAGE" = STOPSPRESSUREDAMAGE, + "THICKMATERIAL" = THICKMATERIAL, + "VOICEBOX_DISABLED" = VOICEBOX_DISABLED, + "VOICEBOX_TOGGLABLE" = VOICEBOX_TOGGLABLE, +)) + +DEFINE_BITFIELD(visor_flags_cover, list( + "GLASSESCOVERSEYE" = GLASSESCOVERSEYES, + "HEADCOVERSEYES" = HEADCOVERSEYES, + "HEADCOVERSMOUTH" = HEADCOVERSMOUTH, + "MASKCOVERSEYES" = MASKCOVERSEYES, + "MASKCOVERSMOUTH" = MASKCOVERSMOUTH, +)) + +DEFINE_BITFIELD(visor_flags_inv, list( + "HIDEACCESSORY" = HIDEACCESSORY, + "HIDEEARS" = HIDEEARS, + "HIDEEYES" = HIDEEYES, + "HIDEFACE" = HIDEFACE, + "HIDEFACIALHAI" = HIDEFACIALHAIR, + "HIDEGLOVES" = HIDEGLOVES, + "HIDEHAIR" = HIDEHAIR, + "HIDEJUMPSUIT" = HIDEJUMPSUIT, + "HIDEMASK" = HIDEMASK, + "HIDENECK" = HIDENECK, + "HIDESHOES" = HIDESHOES, + "HIDESNOUT" = HIDESNOUT, + "HIDESUITSTORA" = HIDESUITSTORAGE, + "HIDETAUR" = HIDETAUR, +)) + +DEFINE_BITFIELD(vore_flags, list( + "ABSORBABLE" = ABSORBABLE, + "ABSORBED" = ABSORBED, + "DEVOURABLE" = DEVOURABLE, + "DIGESTABLE" = DIGESTABLE, + "FEEDING" = FEEDING, + "LICKABLE" = LICKABLE, + "MOBVORE" = MOBVORE, + "NO_VORE" = NO_VORE, + "SMELLABLE" = SMELLABLE, + "VOREPREF_INIT" = VOREPREF_INIT, + "VORE_INIT" = VORE_INIT, +)) + DEFINE_BITFIELD(zap_flags, list( "ZAP_ALLOW_DUPLICATES" = ZAP_ALLOW_DUPLICATES, "ZAP_MACHINE_EXPLOSIVE" = ZAP_MACHINE_EXPLOSIVE, diff --git a/code/modules/admin/view_variables/modify_variables.dm b/code/modules/admin/view_variables/modify_variables.dm index b9de3e09bc..54af2a9481 100644 --- a/code/modules/admin/view_variables/modify_variables.dm +++ b/code/modules/admin/view_variables/modify_variables.dm @@ -360,6 +360,9 @@ GLOBAL_PROTECT(VVpixelmovement) var/original_name = "[O]" + var/var_old_text + var/var_new_text + switch(class) if(VV_LIST) if(!islist(var_value)) @@ -376,14 +379,25 @@ GLOBAL_PROTECT(VVpixelmovement) for(var/V in varsvars) var_new = replacetext(var_new,"\[[V]]","[O.vars[V]]") + if(VV_BITFIELD) + var/list/old_bitfields + for(var/bitfield in GLOB.bitfields[variable]) + if(var_value & GLOB.bitfields[variable][bitfield]) + LAZYADD(old_bitfields, bitfield) + var_old_text = "\n[var_value] = \n([english_list(old_bitfields, and_text = " | ", comma_text=" | ")])\n" + var/list/new_bitfields + for(var/bitfield in GLOB.bitfields[variable]) + if(var_new & GLOB.bitfields[variable][bitfield]) + LAZYADD(new_bitfields, bitfield) + var_new_text = "\n[var_new] = \n([english_list(new_bitfields, and_text = " | ", comma_text=" | ")])" if (O.vv_edit_var(variable, var_new) == FALSE) to_chat(src, "Your edit was rejected by the object.", confidential = TRUE) return vv_update_display(O, "varedited", VV_MSG_EDITED) - log_world("### VarEdit by [key_name(src)]: [O.type] [variable]=[var_value] => [var_new]") - log_admin("[key_name(src)] modified [original_name]'s [variable] from [html_encode("[var_value]")] to [html_encode("[var_new]")]") - var/msg = "[key_name_admin(src)] modified [original_name]'s [variable] from [var_value] to [var_new]" + log_world("### VarEdit by [key_name(src)]: [O.type] [variable]=[var_old_text ? var_old_text : var_value] => [var_new_text ? var_new_text : var_new]") + log_admin("[key_name(src)] modified [original_name]'s [variable] from [html_encode("[var_old_text ? var_old_text : var_value]")] to [html_encode("[var_new_text ? var_new_text : var_new]")]") + var/msg = "[key_name_admin(src)] modified [original_name]'s [variable] from [var_old_text ? var_old_text : var_value] to [var_new_text ? var_new_text : var_new]" message_admins(msg) admin_ticket_log(O, msg) return TRUE