From 8aca3534fe95b065a3c21529c8025412650bc3c6 Mon Sep 17 00:00:00 2001 From: ShadowLarkens Date: Sat, 29 Aug 2020 20:09:16 -0700 Subject: [PATCH 001/176] Fix view spinning reversing movement controls --- code/modules/mob/mob_movement.dm | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/code/modules/mob/mob_movement.dm b/code/modules/mob/mob_movement.dm index 92856d72c8..d088f70a02 100644 --- a/code/modules/mob/mob_movement.dm +++ b/code/modules/mob/mob_movement.dm @@ -476,19 +476,26 @@ /mob/proc/update_gravity() return +#define DO_MOVE(this_dir) var/final_dir = turn(this_dir, -dir2angle(dir)); Move(get_step(mob, final_dir), final_dir); + /client/verb/moveup() set name = ".moveup" set instant = 1 - Move(get_step(mob, NORTH), NORTH) + DO_MOVE(NORTH) + /client/verb/movedown() set name = ".movedown" set instant = 1 - Move(get_step(mob, SOUTH), SOUTH) + DO_MOVE(SOUTH) + /client/verb/moveright() set name = ".moveright" set instant = 1 - Move(get_step(mob, EAST), EAST) + DO_MOVE(EAST) + /client/verb/moveleft() set name = ".moveleft" set instant = 1 - Move(get_step(mob, WEST), WEST) + DO_MOVE(WEST) + +#undef DO_MOVE From 21779b8b365295a72d51d5f96d0371bc104f122b Mon Sep 17 00:00:00 2001 From: Cyantime Date: Tue, 27 Oct 2020 07:20:36 -0400 Subject: [PATCH 002/176] Rabbits don't bumpnom anymore --- code/modules/mob/living/simple_mob/subtypes/vore/rabbit.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/rabbit.dm b/code/modules/mob/living/simple_mob/subtypes/vore/rabbit.dm index a49309e713..4d268567b8 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/rabbit.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/rabbit.dm @@ -34,7 +34,6 @@ // Vore vars vore_active = 1 - vore_bump_chance = 10 vore_bump_emote = "playfully lunges at" vore_pounce_chance = 40 vore_pounce_maxhealth = 100 // They won't pounce by default, as they're passive. This is just so the nom check succeeds. :u @@ -140,6 +139,7 @@ movement_cooldown = 0.5 // very fast bunbun. + vore_bump_chance = 10 vore_pounce_chance = 100 vore_pounce_falloff = 0.2 @@ -149,4 +149,4 @@ ai_holder_type = /datum/ai_holder/simple_mob/melee/evasive /mob/living/simple_mob/vore/rabbit/killer/ex_act() - gib() \ No newline at end of file + gib() From 47b1bdec003763056f2ae5b1db3f23fee0790152 Mon Sep 17 00:00:00 2001 From: mel-byond <75690100+mel-byond@users.noreply.github.com> Date: Thu, 7 Jan 2021 09:37:44 +0200 Subject: [PATCH 003/176] Add /tg/s deploy.sh, modified to Virgo --- tools/deploy.sh | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 tools/deploy.sh diff --git a/tools/deploy.sh b/tools/deploy.sh new file mode 100644 index 0000000000..ab3afda40c --- /dev/null +++ b/tools/deploy.sh @@ -0,0 +1,35 @@ +#!/bin/bash + +#Run this in the repo root after compiling +#First arg is path to where you want to deploy +#creates a work tree free of everything except what's necessary to run the game + +#second arg is working directory if necessary +if [[ $# -eq 2 ]] ; then + cd $2 +fi + +mkdir -p \ + $1/_maps \ + $1/icons/runtime \ + $1/sound/runtime \ + $1/strings + +if [ -d ".git" ]; then + mkdir -p $1/.git/logs + cp -r .git/logs/* $1/.git/logs/ +fi + +cp vorestation.dmb vorestation.rsc $1/ +cp -r _maps/* $1/_maps/ +cp -r icons/runtime/* $1/icons/runtime/ +cp -r sound/runtime/* $1/sound/runtime/ +cp -r strings/* $1/strings/ + +#remove .dm files from _maps + +#this regrettably doesn't work with windows find +#find $1/_maps -name "*.dm" -type f -delete + +#dlls on windows +cp *.dll $1/ || true \ No newline at end of file From 7ab2aafab70b25753df62eee909678d4d1d265b2 Mon Sep 17 00:00:00 2001 From: mel-byond <75690100+mel-byond@users.noreply.github.com> Date: Thu, 7 Jan 2021 09:38:55 +0200 Subject: [PATCH 004/176] Create Dockerfile --- Dockerfile | 62 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 62 insertions(+) create mode 100644 Dockerfile diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000000..7d30d4ab78 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,62 @@ +FROM tgstation/byond:513.1533 as base + +FROM base as rust_g + +RUN apt-get update \ + && apt-get install -y --no-install-recommends \ + git \ + ca-certificates + +WORKDIR /rust_g + +RUN apt-get install -y --no-install-recommends \ + libssl-dev \ + pkg-config \ + curl \ + gcc-multilib \ + && curl https://sh.rustup.rs -sSf | sh -s -- -y --default-host i686-unknown-linux-gnu \ + && git init \ + && git remote add origin https://github.com/tgstation/rust-g + +COPY _build_dependencies.sh . + +RUN /bin/bash -c "source _build_dependencies.sh \ + && git fetch --depth 1 origin \$RUST_G_VERSION" \ + && git checkout FETCH_HEAD \ + && ~/.cargo/bin/cargo build --release + +FROM base as dm_base + +WORKDIR /vorestation + +FROM dm_base as build + +COPY . . + +RUN DreamMaker -max_errors 0 vorestation.dme \ + && tools/deploy.sh /deploy \ + && rm /deploy/*.dll + +FROM dm_base + +EXPOSE 2303 + +RUN apt-get update \ + && apt-get install -y --no-install-recommends software-properties-common \ + && add-apt-repository ppa:ubuntu-toolchain-r/test \ + && apt-get update \ + && apt-get upgrade -y \ + && apt-get dist-upgrade -y \ + && apt-get install -y --no-install-recommends \ + libmariadb2 \ + mariadb-client \ + libssl1.0.0 \ + && rm -rf /var/lib/apt/lists/* \ + && mkdir -p /root/.byond/bin + +COPY --from=rust_g /rust_g/target/release/librust_g.so /root/.byond/bin/rust_g +COPY --from=build /deploy ./ + +VOLUME [ "/vorestation/config", "/vorestation/data" ] + +ENTRYPOINT [ "DreamDaemon", "vorestation.dmb", "-port", "2303", "-trusted", "-close", "-verbose" ] From bdb006bb35a14c54789ebda439a59b989ffbd0b9 Mon Sep 17 00:00:00 2001 From: mel-byond <75690100+mel-byond@users.noreply.github.com> Date: Thu, 7 Jan 2021 10:45:07 +0200 Subject: [PATCH 005/176] Add config/docker folder, add README.md and an example mysql.env file there --- config/docker/README.md | 39 +++++++++++++++++++++++++++++++++ config/docker/mysql.env.example | 8 +++++++ 2 files changed, 47 insertions(+) create mode 100644 config/docker/README.md create mode 100644 config/docker/mysql.env.example diff --git a/config/docker/README.md b/config/docker/README.md new file mode 100644 index 0000000000..1a5ddffbbf --- /dev/null +++ b/config/docker/README.md @@ -0,0 +1,39 @@ +## How to set-up the Docker database + + +First, open `config/docker/mysql.env.example`, open in notepad or N++, change all the values to something else ~~or don't if you are lazy~~ for security sake. + +Then proceed to save the changed version to `mysql.env` and save it in the same directory as the `mysql.env.example` file. + +In order to get docker to use the database, it's suggested to change the `config/dbconfig.txt` to include the values in `.env` file, to do this, use the hostname `db` as host! + +### Example for `config/dbconfig.txt`: + +``` +# MySQL Connection Configuration + +# Server the MySQL database can be found at +# Examples: localhost, 200.135.5.43, www.mysqldb.com, etc. +ADDRESS db + +# MySQL server port (default is 3306) +PORT 3306 + +# Database the population, death, karma, etc. tables may be found in +DATABASE virgo + +# Username/Login used to access the database +LOGIN sillyusername + +# Password used to access the database +PASSWORD somekindofpassword + +# The following information is for feedback tracking via the blackbox server +FEEDBACK_DATABASE test +FEEDBACK_LOGIN mylogin +FEEDBACK_PASSWORD mypassword + +# Track population and death statistics +# Comment this out to disable +#ENABLE_STAT_TRACKING +``` \ No newline at end of file diff --git a/config/docker/mysql.env.example b/config/docker/mysql.env.example new file mode 100644 index 0000000000..f9eb87493c --- /dev/null +++ b/config/docker/mysql.env.example @@ -0,0 +1,8 @@ +# MySQL database root password +db_password=SUPERSEKRETOMYGOD +# MySQL database name +db_name=virgo +# MySQL login username +dbuser_username=sillyusername +# MySQL login password +dbuser_password=somekindofpassword \ No newline at end of file From defd5034199a592de68cf960a76918b2d120f9cd Mon Sep 17 00:00:00 2001 From: mel-byond <75690100+mel-byond@users.noreply.github.com> Date: Thu, 7 Jan 2021 11:52:32 +0200 Subject: [PATCH 006/176] Update Dockerfile Fixing some dumb crap that caused vChat to not load, might as well remove the deploy file --- Dockerfile | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/Dockerfile b/Dockerfile index 7d30d4ab78..d7cffbcfb6 100644 --- a/Dockerfile +++ b/Dockerfile @@ -33,9 +33,7 @@ FROM dm_base as build COPY . . -RUN DreamMaker -max_errors 0 vorestation.dme \ - && tools/deploy.sh /deploy \ - && rm /deploy/*.dll +RUN DreamMaker -max_errors 0 vorestation.dme FROM dm_base @@ -55,8 +53,8 @@ RUN apt-get update \ && mkdir -p /root/.byond/bin COPY --from=rust_g /rust_g/target/release/librust_g.so /root/.byond/bin/rust_g -COPY --from=build /deploy ./ +COPY --from=build /vorestation/ ./ -VOLUME [ "/vorestation/config", "/vorestation/data" ] +#VOLUME [ "/vorestation/config", "/vorestation/data" ] ENTRYPOINT [ "DreamDaemon", "vorestation.dmb", "-port", "2303", "-trusted", "-close", "-verbose" ] From c483bf6860703b2c23f4c212b840ebb1040ea317 Mon Sep 17 00:00:00 2001 From: mel-byond <75690100+mel-byond@users.noreply.github.com> Date: Thu, 7 Jan 2021 11:52:52 +0200 Subject: [PATCH 007/176] Delete deploy.sh --- tools/deploy.sh | 35 ----------------------------------- 1 file changed, 35 deletions(-) delete mode 100644 tools/deploy.sh diff --git a/tools/deploy.sh b/tools/deploy.sh deleted file mode 100644 index ab3afda40c..0000000000 --- a/tools/deploy.sh +++ /dev/null @@ -1,35 +0,0 @@ -#!/bin/bash - -#Run this in the repo root after compiling -#First arg is path to where you want to deploy -#creates a work tree free of everything except what's necessary to run the game - -#second arg is working directory if necessary -if [[ $# -eq 2 ]] ; then - cd $2 -fi - -mkdir -p \ - $1/_maps \ - $1/icons/runtime \ - $1/sound/runtime \ - $1/strings - -if [ -d ".git" ]; then - mkdir -p $1/.git/logs - cp -r .git/logs/* $1/.git/logs/ -fi - -cp vorestation.dmb vorestation.rsc $1/ -cp -r _maps/* $1/_maps/ -cp -r icons/runtime/* $1/icons/runtime/ -cp -r sound/runtime/* $1/sound/runtime/ -cp -r strings/* $1/strings/ - -#remove .dm files from _maps - -#this regrettably doesn't work with windows find -#find $1/_maps -name "*.dm" -type f -delete - -#dlls on windows -cp *.dll $1/ || true \ No newline at end of file From a39171d351a28f5ffa9aab29a6105b59d85dbdd8 Mon Sep 17 00:00:00 2001 From: mel-byond <75690100+mel-byond@users.noreply.github.com> Date: Thu, 7 Jan 2021 11:55:02 +0200 Subject: [PATCH 008/176] Create docker-compose.yml --- docker-compose.yml | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 docker-compose.yml diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000000..0db5e62f45 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,34 @@ +version: '3' + +services: + # Virgo DM server + dreammaker: + image: vorestation:latest + restart: unless-stopped + build: + context: . + dockerfile: Dockerfile + ports: + - "2303:2303" + links: + - db + volumes: + - ./config/:/vorestation/config + # MariaDB/MySQL database: game + # (if you don't really need this, feel free to remove this section.) + db: + image: mariadb + restart: unless-stopped + env_file: + - ./config/docker/mysql.env + environment: + - MYSQL_ROOT_PASSWORD=db_password + - MYSQL_DATABASE=db_name + - MYSQL_USER=dbuser_username + - MYSQL_PASSWORD=dbuser_password + volumes: + - ./SQL/tgstation_schema.sql:/docker-entrypoint-initdb.d/tgstation_schema.sql:ro + - ./SQL/feedback_schema.sql:/docker-entrypoint-initdb.d/feedback_schema.sql:ro + - database:/var/lib/mysql +volumes: + database: From c26ececc1351a12ee60271b87815c785a4079d10 Mon Sep 17 00:00:00 2001 From: mel-byond <75690100+mel-byond@users.noreply.github.com> Date: Thu, 7 Jan 2021 12:13:00 +0200 Subject: [PATCH 009/176] Update compose file, forgot ./data OOPS --- docker-compose.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docker-compose.yml b/docker-compose.yml index 0db5e62f45..9516946962 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -14,6 +14,7 @@ services: - db volumes: - ./config/:/vorestation/config + - gamedata:/vorestation/data # MariaDB/MySQL database: game # (if you don't really need this, feel free to remove this section.) db: @@ -31,4 +32,5 @@ services: - ./SQL/feedback_schema.sql:/docker-entrypoint-initdb.d/feedback_schema.sql:ro - database:/var/lib/mysql volumes: + gamedata: database: From b8ec313deba26a705860df8aa500fa370b4a2d95 Mon Sep 17 00:00:00 2001 From: Melli <75690100+mel-byond@users.noreply.github.com> Date: Sat, 9 Jan 2021 11:50:36 +0200 Subject: [PATCH 010/176] Change .env file to the actual container envvars --- config/docker/mysql.env.example | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/config/docker/mysql.env.example b/config/docker/mysql.env.example index f9eb87493c..73b37b08fd 100644 --- a/config/docker/mysql.env.example +++ b/config/docker/mysql.env.example @@ -1,8 +1,6 @@ # MySQL database root password -db_password=SUPERSEKRETOMYGOD -# MySQL database name -db_name=virgo +MYSQL_ROOT_PASSWORD=SUPERSEKRETOMYGOD # MySQL login username -dbuser_username=sillyusername +MYSQL_USERNAME=sillyusername # MySQL login password -dbuser_password=somekindofpassword \ No newline at end of file +MYSQL_PASSWORD=somekindofpassword From e95cdb7e926ddda9ced050023e315b7b3e691677 Mon Sep 17 00:00:00 2001 From: Melli <75690100+mel-byond@users.noreply.github.com> Date: Sat, 9 Jan 2021 11:53:44 +0200 Subject: [PATCH 011/176] Update docker-compose.yml --- docker-compose.yml | 23 ++++++++++++++++------- 1 file changed, 16 insertions(+), 7 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index 9516946962..b22b1c4ac0 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -10,7 +10,7 @@ services: dockerfile: Dockerfile ports: - "2303:2303" - links: + depends_on: - db volumes: - ./config/:/vorestation/config @@ -22,15 +22,24 @@ services: restart: unless-stopped env_file: - ./config/docker/mysql.env - environment: - - MYSQL_ROOT_PASSWORD=db_password - - MYSQL_DATABASE=db_name - - MYSQL_USER=dbuser_username - - MYSQL_PASSWORD=dbuser_password volumes: - ./SQL/tgstation_schema.sql:/docker-entrypoint-initdb.d/tgstation_schema.sql:ro - ./SQL/feedback_schema.sql:/docker-entrypoint-initdb.d/feedback_schema.sql:ro - - database:/var/lib/mysql + - database:/var/lib/mysql + # Adminer, for managing the DB, commented out by default but uncomment if you need it I guess. + #adminer: + # image: wodby/adminer + # depends_on: + # - db + # environment: + # ADMINER_DEFAULT_DB_DRIVER: mysql + # ADMINER_DEFAULT_DB_HOST: db + # ADMINER_DEFAULT_DB_NAME: tgstation + # ADMINER_DESIGN: nette + # ADMINER_PLUGINS: tables-filter tinymce + # ports: + # - 8080:9000 + volumes: gamedata: database: From 664052aa5768e174f7a2356095f9ea121a0fd010 Mon Sep 17 00:00:00 2001 From: Melli <75690100+mel-byond@users.noreply.github.com> Date: Sat, 9 Jan 2021 11:57:41 +0200 Subject: [PATCH 012/176] Update README.md --- config/docker/README.md | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/config/docker/README.md b/config/docker/README.md index 1a5ddffbbf..3c1b9b3482 100644 --- a/config/docker/README.md +++ b/config/docker/README.md @@ -5,10 +5,14 @@ First, open `config/docker/mysql.env.example`, open in notepad or N++, change al Then proceed to save the changed version to `mysql.env` and save it in the same directory as the `mysql.env.example` file. -In order to get docker to use the database, it's suggested to change the `config/dbconfig.txt` to include the values in `.env` file, to do this, use the hostname `db` as host! +In order to get docker to use the database, it's suggested to change the `config/dbconfig.txt` to include the values in `mysql.env` file, to do this, use the hostname `db` as host! ### Example for `config/dbconfig.txt`: +The default database name is `tgstation` by default. Unless you change the SQL schemas, this cannot be changed. + +Keep note of the values, `*LOGIN` and `*PASSWORD` + ``` # MySQL Connection Configuration @@ -20,7 +24,7 @@ ADDRESS db PORT 3306 # Database the population, death, karma, etc. tables may be found in -DATABASE virgo +DATABASE tgstation # Username/Login used to access the database LOGIN sillyusername @@ -29,11 +33,11 @@ LOGIN sillyusername PASSWORD somekindofpassword # The following information is for feedback tracking via the blackbox server -FEEDBACK_DATABASE test -FEEDBACK_LOGIN mylogin -FEEDBACK_PASSWORD mypassword +FEEDBACK_DATABASE tgstation +FEEDBACK_LOGIN sillyusernane +FEEDBACK_PASSWORD somekindofpassword # Track population and death statistics # Comment this out to disable #ENABLE_STAT_TRACKING -``` \ No newline at end of file +``` From a753a95c46a41429b3872a37a113e8b05f2eb6cb Mon Sep 17 00:00:00 2001 From: Heroman Date: Mon, 1 Mar 2021 17:36:10 +1000 Subject: [PATCH 013/176] Adds Suffocation Damage option to vore panel/bellies --- code/modules/vore/eating/belly_obj_vr.dm | 3 +++ code/modules/vore/eating/bellymodes_datum_vr.dm | 5 ++++- code/modules/vore/eating/bellymodes_vr.dm | 2 ++ code/modules/vore/eating/digest_act_vr.dm | 4 ++-- code/modules/vore/eating/vorepanel_vr.dm | 8 ++++++++ tgui/packages/tgui/interfaces/VorePanel.js | 6 ++++++ tgui/packages/tgui/public/tgui.bundle.js | 2 +- 7 files changed, 26 insertions(+), 4 deletions(-) diff --git a/code/modules/vore/eating/belly_obj_vr.dm b/code/modules/vore/eating/belly_obj_vr.dm index 00acb38504..8528b8abab 100644 --- a/code/modules/vore/eating/belly_obj_vr.dm +++ b/code/modules/vore/eating/belly_obj_vr.dm @@ -22,6 +22,7 @@ var/nutrition_percent = 100 // Nutritional percentage per tick in digestion mode var/digest_brute = 0.5 // Brute damage per tick in digestion mode var/digest_burn = 0.5 // Burn damage per tick in digestion mode + var/digest_oxy = 0 // Oxy damage per tick in digestion mode var/immutable = FALSE // Prevents this belly from being deleted var/escapable = FALSE // Belly can be resisted out of at any time var/escapetime = 20 SECONDS // Deciseconds, how long to escape this belly @@ -135,6 +136,7 @@ "nutrition_percent", "digest_brute", "digest_burn", + "digest_oxy", "immutable", "can_taste", "escapable", @@ -722,6 +724,7 @@ dupe.nutrition_percent = nutrition_percent dupe.digest_brute = digest_brute dupe.digest_burn = digest_burn + dupe.digest_oxy = digest_oxy dupe.immutable = immutable dupe.can_taste = can_taste dupe.escapable = escapable diff --git a/code/modules/vore/eating/bellymodes_datum_vr.dm b/code/modules/vore/eating/bellymodes_datum_vr.dm index 4d9199b727..ea6f9b67b2 100644 --- a/code/modules/vore/eating/bellymodes_datum_vr.dm +++ b/code/modules/vore/eating/bellymodes_datum_vr.dm @@ -41,11 +41,14 @@ GLOBAL_LIST_INIT(digest_modes, list()) // Deal digestion damage (and feed the pred) var/old_brute = L.getBruteLoss() var/old_burn = L.getFireLoss() + var/old_oxy = L.getOxyLoss() L.adjustBruteLoss(B.digest_brute) L.adjustFireLoss(B.digest_burn) + L.adjustOxyLoss(B.digest_oxy) var/actual_brute = L.getBruteLoss() - old_brute var/actual_burn = L.getFireLoss() - old_burn - var/damage_gain = (actual_brute + actual_burn)*(B.nutrition_percent / 100) + var/actual_oxy = L.getOxyLoss() - old_oxy + var/damage_gain = (actual_brute + actual_burn + actual_oxy/2)*(B.nutrition_percent / 100) var/offset = (1 + ((L.weight - 137) / 137)) // 130 pounds = .95 140 pounds = 1.02 var/difference = B.owner.size_multiplier / L.size_multiplier diff --git a/code/modules/vore/eating/bellymodes_vr.dm b/code/modules/vore/eating/bellymodes_vr.dm index 83f847bf0d..a7a6b78c81 100644 --- a/code/modules/vore/eating/bellymodes_vr.dm +++ b/code/modules/vore/eating/bellymodes_vr.dm @@ -65,6 +65,8 @@ if(!digestion_noise_chance) digestion_noise_chance = DM.noise_chance + +///////////////////// Time to actually process mobs ///////////////////// for(var/target in touchable_mobs) var/mob/living/L = target if(!istype(L)) diff --git a/code/modules/vore/eating/digest_act_vr.dm b/code/modules/vore/eating/digest_act_vr.dm index ab589d9671..40b900d644 100644 --- a/code/modules/vore/eating/digest_act_vr.dm +++ b/code/modules/vore/eating/digest_act_vr.dm @@ -26,7 +26,7 @@ if(isbelly(item_storage)) var/obj/belly/B = item_storage - g_damage = 0.25 * (B.digest_brute + B.digest_burn) + g_damage = 0.25 * (B.digest_brute + B.digest_burn + (B.digest_oxy)/2) if(digest_stage > 0) if(g_damage > digest_stage) @@ -115,7 +115,7 @@ if((. = ..())) if(isbelly(item_storage)) var/obj/belly/B = item_storage - . += 2 * (B.digest_brute + B.digest_burn) + . += 2 * (B.digest_brute + B.digest_burn + (B.digest_oxy)/2) else . += 30 //Organs give a little more diff --git a/code/modules/vore/eating/vorepanel_vr.dm b/code/modules/vore/eating/vorepanel_vr.dm index 945b9e1bd1..0353d5e23a 100644 --- a/code/modules/vore/eating/vorepanel_vr.dm +++ b/code/modules/vore/eating/vorepanel_vr.dm @@ -154,6 +154,7 @@ "nutrition_percent" = selected.nutrition_percent, "digest_brute" = selected.digest_brute, "digest_burn" = selected.digest_burn, + "digest_oxy" = selected.digest_oxy, "bulge_size" = selected.bulge_size, "shrink_grow_size" = selected.shrink_grow_size, "belly_fullscreen" = selected.belly_fullscreen, @@ -793,6 +794,13 @@ var/new_new_damage = CLAMP(new_damage, 0, 6) host.vore_selected.digest_brute = new_new_damage . = TRUE + if("b_oxy_dmg") + var/new_damage = input(user, "Choose the amount of suffocation damage prey will take per tick. Ranges from 0 to 12.", "Set Belly Suffocation Damage.", host.vore_selected.digest_oxy) as num|null + if(new_damage == null) + return FALSE + var/new_new_damage = CLAMP(new_damage, 0, 12) + host.vore_selected.digest_oxy = new_new_damage + . = TRUE if("b_escapable") if(host.vore_selected.escapable == 0) //Possibly escapable and special interactions. host.vore_selected.escapable = 1 diff --git a/tgui/packages/tgui/interfaces/VorePanel.js b/tgui/packages/tgui/interfaces/VorePanel.js index 9603dd85aa..b6ab3706d6 100644 --- a/tgui/packages/tgui/interfaces/VorePanel.js +++ b/tgui/packages/tgui/interfaces/VorePanel.js @@ -165,6 +165,7 @@ const VoreSelectedBelly = (props, context) => { nutrition_percent, digest_brute, digest_burn, + digest_oxy, bulge_size, shrink_grow_size, addons, @@ -287,6 +288,11 @@ const VoreSelectedBelly = (props, context) => { onClick={() => act("set_attribute", { attribute: "b_burn_dmg" })} content={digest_burn} /> + +