diff --git a/code/_helpers/global_lists_vr.dm b/code/_helpers/global_lists_vr.dm index a14c8420b4..a00418f2dc 100644 --- a/code/_helpers/global_lists_vr.dm +++ b/code/_helpers/global_lists_vr.dm @@ -978,7 +978,7 @@ var/global/list/selectable_speech_bubbles = list( "tentacles", "heart", "textbox", - "posessed", + "possessed", // CHOMPEDIT : purdev (spelling changed <3) "square", "medical", "medical_square", diff --git a/code/controllers/configuration_ch.dm b/code/controllers/configuration_ch.dm index b119f5fdbd..c11b4b6fff 100644 --- a/code/controllers/configuration_ch.dm +++ b/code/controllers/configuration_ch.dm @@ -17,6 +17,8 @@ var/discord_ahelps_disabled = 0 //Turn this off if you don't want the TGS bot sending you messages whenever an ahelp ticket is created. var/discord_ahelps_all = 0 //Turn this on if you want all admin-PMs to go to be sent to discord, and not only the first message of a ticket. + var/list/ip_whitelist = list() + /hook/startup/proc/read_ch_config() var/list/Lines = file2list("config/config.txt") for(var/t in Lines) @@ -62,4 +64,20 @@ config.nodebot_location = value if ("ahelp_channel_tag") config.ahelp_channel_tag = value + + var/list/ip_whitelist_lines = file2list("config/ip_whitelist.txt") + var/increment = 1 + for(var/t in ip_whitelist_lines) + if (!t) continue + t = trim(t) + if (length(t) == 0) + continue + else if (copytext(t, 1, 2) == "#") + continue + var/ip_address = splittext(t, ",") + for (var/name in ip_address) + config.ip_whitelist[name] = increment + increment += 1 + + return 1 diff --git a/code/datums/looping_sounds/mob_sounds.dm b/code/datums/looping_sounds/mob_sounds.dm index ef997b22e8..1a3d6fcf93 100644 --- a/code/datums/looping_sounds/mob_sounds.dm +++ b/code/datums/looping_sounds/mob_sounds.dm @@ -12,7 +12,7 @@ /datum/looping_sound/mob/deafened start_sound = 'modular_chomp/sound/effects/ear_ring/ear_deaf_in.ogg' start_length = 4 SECONDS // 2 seconds shorter than the actual file ending, bc we want it to overlap - mid_sounds = list('modular_chomp/sound/effects/ear_ring/ear_deaf_loop.ogg'=1) + mid_sounds = list('modular_chomp/sound/misc/silence.ogg'=1) mid_length = 3 SECONDS end_sound = 'modular_chomp/sound/effects/ear_ring/ear_deaf_out.ogg' volume = 40 diff --git a/code/game/objects/items/blueprints_vr.dm b/code/game/objects/items/blueprints_vr.dm index 92231894d9..6d9dece697 100644 --- a/code/game/objects/items/blueprints_vr.dm +++ b/code/game/objects/items/blueprints_vr.dm @@ -241,7 +241,7 @@ /obj/item/areaeditor/blueprints/engineers name = "writing blueprints" - desc = "A piece of paper that allows for expansion of the station and creaiton of new areas. There is a \"For Official Use Only\" stamp on it. NOT to be mistaken with the staion blueprints." + desc = "A piece of paper that allows for expansion of the station and creation of new areas. There is a \"For Official Use Only\" stamp on it. NOT to be mistaken with the station blueprints." // CHOMPEDIT : purdev (some spelling fixes) station_master = 0 uses_charges = 1 can_override = 0 diff --git a/code/game/objects/items/bodybag.dm b/code/game/objects/items/bodybag.dm index b88785b9fc..806056810e 100644 --- a/code/game/objects/items/bodybag.dm +++ b/code/game/objects/items/bodybag.dm @@ -128,7 +128,7 @@ /obj/item/bodybag/cryobag name = "stasis bag" desc = "A non-reusable plastic bag designed to slow down bodily functions such as circulation and breathing, \ - especially useful if short on time or in a hostile enviroment." + especially useful if short on time or in a hostile environment." // CHOMPEDIT : purdev (spelling fix) icon = 'icons/obj/closets/cryobag.dmi' icon_state = "bodybag_folded" item_state = "bodybag_cryo_folded" diff --git a/code/game/objects/items/devices/gps.dm b/code/game/objects/items/devices/gps.dm index 980685f124..71bb7c0dd5 100644 --- a/code/game/objects/items/devices/gps.dm +++ b/code/game/objects/items/devices/gps.dm @@ -140,9 +140,9 @@ var/list/GPS_list = list() toggle_tracking() if(tracking) - to_chat(user, "[src] is no longer tracking, or visible to other GPS devices.") - else - to_chat(user, "[src] is now tracking, and visible to other GPS devices.") + to_chat(user, "[src] is now tracking, and visible to other GPS devices.") // CHOMPEDIT : purdev Fixed an issue where the if/else argument was written backwards + else // CHOMPEDIT : purdev Fixed an issue where the if/else argument was written backwards + to_chat(user, "[src] is no longer tracking, or visible to other GPS devices.") // CHOMPEDIT : purdev Fixed an issue where the if/else argument was written backwards /obj/item/device/gps/proc/toggle_tracking() tracking = !tracking diff --git a/code/game/objects/items/devices/paicard_ch.dm b/code/game/objects/items/devices/paicard_ch.dm index b6ce0d69d8..8bb271053c 100644 --- a/code/game/objects/items/devices/paicard_ch.dm +++ b/code/game/objects/items/devices/paicard_ch.dm @@ -14,5 +14,5 @@ if("Cancel") return else if (istype(W, /obj/item/weapon/card/id) && src.pai.idaccessible == 0) - to_chat(user, "[src] is not accepting access modifcations at this time.") + to_chat(user, "[src] is not accepting access modifications at this time.") return \ No newline at end of file diff --git a/code/game/objects/stumble_into_vr.dm b/code/game/objects/stumble_into_vr.dm index 610afea550..2079ab5a42 100644 --- a/code/game/objects/stumble_into_vr.dm +++ b/code/game/objects/stumble_into_vr.dm @@ -23,6 +23,7 @@ /obj/machinery/disposal/stumble_into(mob/living/M) playsound(src, 'sound/effects/clang.ogg', 25, 1, -1) visible_message("[M] [pick("tripped", "stumbled")] into \the [src]!") + log_and_message_admins("stumbled into \the [src]", M) if(M.client) M.client.perspective = EYE_PERSPECTIVE M.client.eye = src @@ -141,4 +142,4 @@ /obj/machinery/vending/stumble_into(mob/living/M) ..() if(prob(2)) - throw_item() \ No newline at end of file + throw_item() diff --git a/code/game/world.dm b/code/game/world.dm index b204bc94fa..c61c58ec9e 100644 --- a/code/game/world.dm +++ b/code/game/world.dm @@ -1,5 +1,20 @@ #define RECOMMENDED_VERSION 513 + +// CHOMPedit Start - Tracy +/proc/prof_init() + var/lib + + switch(world.system_type) + if(MS_WINDOWS) lib = "prof.dll" + if(UNIX) lib = "libprof.so" + else CRASH("unsupported platform") + + var/init = call(lib, "init")() + if("0" != init) CRASH("[lib] init error: [init]") +// CHOMPedit End + /world/New() + //prof_init() // CHOMPedit - Uncomment to enable Tracy. Requires https://github.com/mafemergency/byond-tracy/ world_startup_time = world.timeofday rollover_safety_date = world.realtime - world.timeofday // 00:00 today (ish, since floating point error with world.realtime) of today to_world_log("Map Loading Complete") diff --git a/code/modules/mob/living/silicon/pai/pai.dm b/code/modules/mob/living/silicon/pai/pai.dm index 304f7b234f..5167d5becd 100644 --- a/code/modules/mob/living/silicon/pai/pai.dm +++ b/code/modules/mob/living/silicon/pai/pai.dm @@ -500,7 +500,7 @@ if("Cancel") return else if (istype(W, /obj/item/weapon/card/id) && idaccessible == 0) - to_chat(user, "[src] is not accepting access modifcations at this time.") + to_chat(user, "[src] is not accepting access modifications at this time.") // CHOMPEDIT : purdev (spelling fix) return /mob/living/silicon/pai/verb/allowmodification() diff --git a/code/modules/mob/living/simple_mob/subtypes/humanoid/posessed_ch.dm b/code/modules/mob/living/simple_mob/subtypes/humanoid/possessed_ch.dm similarity index 100% rename from code/modules/mob/living/simple_mob/subtypes/humanoid/posessed_ch.dm rename to code/modules/mob/living/simple_mob/subtypes/humanoid/possessed_ch.dm diff --git a/code/modules/mob/login.dm b/code/modules/mob/login.dm index 374690c5bd..004f6f332f 100644 --- a/code/modules/mob/login.dm +++ b/code/modules/mob/login.dm @@ -9,6 +9,10 @@ if(M == src) continue if( M.key && (M.key != key) ) var/matches + //CHOMPEDIT - IP exemptions for those who are known to live together + if (config.ip_whitelist[key] && config.ip_whitelist[key] == config.ip_whitelist[M.key]) + continue + //CHOMPEDIT end if( (M.lastKnownIP == client.address) ) matches += "IP ([client.address])" if( (client.connection != "web") && (M.computer_id == client.computer_id) ) diff --git a/code/modules/projectiles/guns/energy/altevian_vr.dm b/code/modules/projectiles/guns/energy/altevian_vr.dm index 150d05c421..4208d2d9e2 100644 --- a/code/modules/projectiles/guns/energy/altevian_vr.dm +++ b/code/modules/projectiles/guns/energy/altevian_vr.dm @@ -10,7 +10,7 @@ origin_tech = list(TECH_COMBAT = 3, TECH_MAGNET = 2) matter = list(MAT_STEEL = 1000) projectile_type = /obj/item/projectile/beam/meeplaser - charge_cost = 150 + charge_cost = 450 /obj/item/weapon/gun/energy/altevian/large name = "Proto-Reactive Beam Thruster" @@ -23,7 +23,7 @@ origin_tech = list(TECH_COMBAT = 3, TECH_MAGNET = 4) matter = list(MAT_STEEL = 2000) projectile_type = /obj/item/projectile/beam/meeplaser/strong - charge_cost = 300 + charge_cost = 200 /obj/item/projectile/beam/meeplaser name = "meep beam" diff --git a/code/modules/recycling/disposal.dm b/code/modules/recycling/disposal.dm index a27e2cc384..bb7847fd0a 100644 --- a/code/modules/recycling/disposal.dm +++ b/code/modules/recycling/disposal.dm @@ -142,6 +142,8 @@ user.drop_item() if(I) + if(istype(I, /obj/item/weapon/holder/micro)) + log_and_message_admins("placed [I.name] inside \the [src]", user) I.forceMove(src) to_chat(user, "You place \the [I] into the [src].") @@ -181,6 +183,7 @@ // must be awake, not stunned or whatever msg = "[user.name] climbs into the [src]." to_chat(user, "You climb into the [src].") + log_and_message_admins("climbed into disposals!", user) else if(target != user && !user.restrained() && !user.stat && !user.weakened && !user.stunned && !user.paralysis) msg = "[user.name] stuffs [target.name] into the [src]!" to_chat(user, "You stuff [target.name] into the [src]!") @@ -527,6 +530,8 @@ . = ..() if(istype(AM, /obj/item) && !istype(AM, /obj/item/projectile)) if(prob(75)) + if(istype(AM, /obj/item/weapon/holder/micro)) + log_and_message_admins("[AM] was thrown into \the [src]") AM.forceMove(src) visible_message("\The [AM] lands in \the [src].") else @@ -541,6 +546,8 @@ return if(prob(75)) I.forceMove(src) + if(istype(I, /obj/item/weapon/holder/micro)) + log_and_message_admins("[I.name] was thrown into \the [src]") for(var/mob/M in viewers(src)) M.show_message("\The [I] lands in \the [src].", 3) else diff --git a/config/example/ip_whitelist.txt b/config/example/ip_whitelist.txt new file mode 100644 index 0000000000..788b4ebd8a --- /dev/null +++ b/config/example/ip_whitelist.txt @@ -0,0 +1,4 @@ +# this file is for exempting certain groups of keys from recieving the "you're already in the game go away" message when they connect with the same IP (ie, living together) +# each group should be on the same line, separated by a comma (and nothing else), and each group should be on a separate line +# EXAMPLE (remove the # and it would be valid): +#somekey1,somekey2,somekey3 \ No newline at end of file diff --git a/config/jukebox.json b/config/jukebox.json index e50ef49715..7bea866c53 100644 --- a/config/jukebox.json +++ b/config/jukebox.json @@ -4698,11 +4698,8 @@ "artist": "That Handsome Devil", "secret": false, "lobby": false, -<<<<<<< HEAD "jukebox": true, "genre": "Rock" -======= -"jukebox": true }, { "url": "https://files.catbox.moe/8r5d7q.mp3", @@ -4713,7 +4710,6 @@ "secret": true, "lobby": false, "jukebox": true ->>>>>>> ae542d5642... Merge pull request #14950 from Runa-Dacino/fixjukeboxjson }, { "url": "https://files.catbox.moe/2ozzmg.m4a", diff --git a/icons/mob/vore/taurs_ch_loaf.dmi b/icons/mob/vore/taurs_ch_loaf.dmi index 2b4c0acbdc..c1b90e5831 100644 Binary files a/icons/mob/vore/taurs_ch_loaf.dmi and b/icons/mob/vore/taurs_ch_loaf.dmi differ diff --git a/icons/obj/abductor.dmi b/icons/obj/abductor.dmi index db935ef7d4..e5ffc375a3 100644 Binary files a/icons/obj/abductor.dmi and b/icons/obj/abductor.dmi differ diff --git a/icons/obj/surgery_vr.dmi b/icons/obj/surgery_vr.dmi index 6b6b4dbbb8..1e3d7677db 100644 Binary files a/icons/obj/surgery_vr.dmi and b/icons/obj/surgery_vr.dmi differ diff --git a/maps/southern_cross/submaps/_southern_cross_submaps.dm b/maps/southern_cross/submaps/_southern_cross_submaps.dm index fe2cf25478..2749f6f6a0 100644 --- a/maps/southern_cross/submaps/_southern_cross_submaps.dm +++ b/maps/southern_cross/submaps/_southern_cross_submaps.dm @@ -64,7 +64,7 @@ associated_map_datum = /datum/map_z_level/sc_lateload/gateway_destination //VR maps go here, tell me if theres a better way to load this -#include "virtual_reality/constructVR.dm" +// #include "virtual_reality/constructVR.dm" Virtual Reality areas included by default. /datum/map_template/sc_lateload/vr_world name = "VR World" desc = "A dynamic, virtual world." diff --git a/modular_chomp/code/modules/mob/living/carbon/human/species/station/station_ch.dm b/modular_chomp/code/modules/mob/living/carbon/human/species/station/station_ch.dm new file mode 100644 index 0000000000..21e1c1f04f --- /dev/null +++ b/modular_chomp/code/modules/mob/living/carbon/human/species/station/station_ch.dm @@ -0,0 +1,50 @@ +//There is already a station file, but feels wrong to put zaddat balancing changes with the restriction file, and feels wrong to lump them in with a modular station_vr so hello station_ch file + +/datum/species/zaddat + toxins_mod = 0.5 //toxins rarely come into play, and zaddat just has negatives. Along with their parasite letting them survive in their polluted planet, this seems reasonable. + +//So both of this are based off Fennec foxes I belivive. Those are desert critters, giving them more warm focused levels. And for variety giving them minor brute weakness and minor burn resistant +//I also want to make a dig because fennec foxes actually make burrows and such, but I can't figure out how to do it in a way that is both flavorful but not abuseable +/datum/species/hi_zoxxen //zorrens get wierd chemistry because of their past of expirementing on themselves. Check the cataloguer for deathclaws + chemOD_threshold = 0.75 + radiation_mod = 0.5 + brute_mod = 1.1 + burn_mod = 0.9 + + cold_level_1 = 270 //Default 260 - Lower is better + cold_level_2 = 210 //Default 200 + cold_level_3 = 120 //Default 120 + + breath_cold_level_1 = 250 //Default 240 - Lower is better + breath_cold_level_2 = 190 //Default 180 + breath_cold_level_3 = 100 //Default 100 + + heat_level_1 = 400 //Default 360 - Higher is better + heat_level_2 = 460 //Default 400 + heat_level_3 = 1080 //Default 1000 + + breath_heat_level_1 = 430 //Default 380 - Higher is better + breath_heat_level_2 = 510 //Default 450 + breath_heat_level_3 = 1200 //Default 1250 + +/datum/species/fl_zorren + item_slowdown_mod = 1.2 + slowdown = -0.2 + brute_mod = 1.1 + burn_mod = 0.9 + + cold_level_1 = 270 //Default 260 - Lower is better + cold_level_2 = 210 //Default 200 + cold_level_3 = 120 //Default 120 + + breath_cold_level_1 = 250 //Default 240 - Lower is better + breath_cold_level_2 = 190 //Default 180 + breath_cold_level_3 = 100 //Default 100 + + heat_level_1 = 400 //Default 360 - Higher is better + heat_level_2 = 460 //Default 400 + heat_level_3 = 1080 //Default 1000 + + breath_heat_level_1 = 430 //Default 380 - Higher is better + breath_heat_level_2 = 510 //Default 450 + breath_heat_level_3 = 1200 //Default 1250 \ No newline at end of file diff --git a/modular_chomp/code/modules/mob/new_player/sprite_accessories_taur.dm b/modular_chomp/code/modules/mob/new_player/sprite_accessories_taur.dm index 846ed0ae71..5d6fed9394 100644 --- a/modular_chomp/code/modules/mob/new_player/sprite_accessories_taur.dm +++ b/modular_chomp/code/modules/mob/new_player/sprite_accessories_taur.dm @@ -117,6 +117,9 @@ icon_state = "fox" extra_overlay = "fox_markings" extra_overlay2 = "fox_markings2" + can_loaf = TRUE + icon_loaf = 'icons/mob/vore/taurs_ch_loaf.dmi' + loaf_offset = 4 /datum/sprite_accessory/tail/taur/ch/sectdrone name = "Sect Drone (Taur)" diff --git a/modular_chomp/sound/misc/silence.ogg b/modular_chomp/sound/misc/silence.ogg new file mode 100644 index 0000000000..41ee44cd04 Binary files /dev/null and b/modular_chomp/sound/misc/silence.ogg differ diff --git a/vorestation.dme b/vorestation.dme index 87f8b40812..4a5cd60874 100644 --- a/vorestation.dme +++ b/vorestation.dme @@ -3312,7 +3312,7 @@ #include "code\modules\mob\living\simple_mob\subtypes\humanoid\humanoid_vr.dm" #include "code\modules\mob\living\simple_mob\subtypes\humanoid\pirates.dm" #include "code\modules\mob\living\simple_mob\subtypes\humanoid\pirates_ch.dm" -#include "code\modules\mob\living\simple_mob\subtypes\humanoid\posessed_ch.dm" +#include "code\modules\mob\living\simple_mob\subtypes\humanoid\possessed_ch.dm" #include "code\modules\mob\living\simple_mob\subtypes\humanoid\russian.dm" #include "code\modules\mob\living\simple_mob\subtypes\humanoid\mercs\mercs.dm" #include "code\modules\mob\living\simple_mob\subtypes\humanoid\mercs\mercs_ch.dm" @@ -4516,6 +4516,7 @@ #include "maps\southern_cross\structures\closets\misc.dm" #include "maps\southern_cross\structures\closets\research.dm" #include "maps\southern_cross\structures\closets\security.dm" +#include "maps\southern_cross\submaps\virtual_reality\constructVR.dm" #include "maps\southern_cross\turfs\outdoors.dm" #include "maps\submaps\_helpers.dm" #include "maps\submaps\_readme.dm" @@ -4631,6 +4632,7 @@ #include "modular_chomp\code\modules\mob\living\carbon\human\species\outsider\vox.dm" #include "modular_chomp\code\modules\mob\living\carbon\human\species\station\prommie_blob.dm" #include "modular_chomp\code\modules\mob\living\carbon\human\species\station\station.dm" +#include "modular_chomp\code\modules\mob\living\carbon\human\species\station\station_ch.dm" #include "modular_chomp\code\modules\mob\living\carbon\human\species\station\station_special_ch.dm" #include "modular_chomp\code\modules\mob\living\carbon\human\species\station\teshari.dm" #include "modular_chomp\code\modules\mob\living\carbon\human\species\station\protean\_protean_defines.dm"