From 1906cb4e1eed6b30d3ed926f7afba006b811c929 Mon Sep 17 00:00:00 2001 From: Cameron653 Date: Sun, 11 Dec 2016 20:32:18 -0500 Subject: [PATCH 01/20] Update vorepanel_vr.dm --- code/modules/vore/eating/vorepanel_vr.dm | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/code/modules/vore/eating/vorepanel_vr.dm b/code/modules/vore/eating/vorepanel_vr.dm index 06d4233b95..b91e231b1a 100644 --- a/code/modules/vore/eating/vorepanel_vr.dm +++ b/code/modules/vore/eating/vorepanel_vr.dm @@ -170,7 +170,10 @@ //Belly messages dat += "
Belly Messages" - + + //Belly sound + dat += "
Set Belly Escapability" + //Delete button dat += "
Delete Belly" @@ -475,6 +478,17 @@ selected.vore_sound = vore_sounds[choice] + if(href_list["b_escapable"]) + if(selected.escapable == 0) + selected.escapable = 1 + usr << "Your belly is now escapable." + else if(selected.escapable == 1) + selected.escapable = 0 + usr << "Your belly is now unescapable." + else + selected.escapable = 0 + usr << "Something went wrong. Your stomach is now unescapable. Press the button again to make it escapable." //If they somehow have a varable that's not 0 or 1 + if(href_list["b_soundtest"]) user << selected.vore_sound From 202fbe38892e8ee4f709459d99d6b83eabb3c63c Mon Sep 17 00:00:00 2001 From: Cameron653 Date: Sun, 11 Dec 2016 20:32:43 -0500 Subject: [PATCH 02/20] Update vorepanel_vr.dm --- code/modules/vore/eating/vorepanel_vr.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/vore/eating/vorepanel_vr.dm b/code/modules/vore/eating/vorepanel_vr.dm index b91e231b1a..6fa2a5cf4b 100644 --- a/code/modules/vore/eating/vorepanel_vr.dm +++ b/code/modules/vore/eating/vorepanel_vr.dm @@ -171,7 +171,7 @@ //Belly messages dat += "
Belly Messages" - //Belly sound + //Belly escapability dat += "
Set Belly Escapability" //Delete button From 2e47d443710ab01829d9cc5e758b4df5b97c591d Mon Sep 17 00:00:00 2001 From: killer653 Date: Sun, 11 Dec 2016 22:11:36 -0500 Subject: [PATCH 03/20] Should be the last thing needed to get this to work. --- code/modules/vore/eating/vorepanel_vr.dm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/code/modules/vore/eating/vorepanel_vr.dm b/code/modules/vore/eating/vorepanel_vr.dm index 6fa2a5cf4b..0ab34fd356 100644 --- a/code/modules/vore/eating/vorepanel_vr.dm +++ b/code/modules/vore/eating/vorepanel_vr.dm @@ -170,10 +170,10 @@ //Belly messages dat += "
Belly Messages" - + //Belly escapability - dat += "
Set Belly Escapability" - + dat += "
Set Belly Escapability" + //Delete button dat += "
Delete Belly" From 2ca24521d926c1c910d3019aa1a6f650858c31a9 Mon Sep 17 00:00:00 2001 From: JoanRisu Date: Mon, 12 Dec 2016 18:36:12 +0900 Subject: [PATCH 04/20] fixing PDAs and adding squirrelkin language. --- code/modules/mob/language/station_vr.dm | 10 +++++++++- code/modules/vore/fluffstuff/custom_items_vr.dm | 4 ++-- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/code/modules/mob/language/station_vr.dm b/code/modules/mob/language/station_vr.dm index 984978899d..fef74710af 100644 --- a/code/modules/mob/language/station_vr.dm +++ b/code/modules/mob/language/station_vr.dm @@ -40,7 +40,15 @@ "bin","ket","jarl","vulf","einech","cresthz","azunein","ghzth") - +/datum/language/squirrel + name = "Ecureuilian" + desc = "The native tongue of the inhabitants of Gaia. Squirrelkin and other beastkins of Gaia can use their ears and tails in addition to speech to communitcate." + speech_verb = "squeaks" + whisper_verb = "whispers" + exclaim_verb = "chitters" + key = "9" + flags = RESTRICTED + syllables = list("sque","sqah","boo","beh","nweh","boopa","nah","wah","een","sweh") /datum/language/unathi flags = 0 diff --git a/code/modules/vore/fluffstuff/custom_items_vr.dm b/code/modules/vore/fluffstuff/custom_items_vr.dm index f437f25b80..49e80365c2 100644 --- a/code/modules/vore/fluffstuff/custom_items_vr.dm +++ b/code/modules/vore/fluffstuff/custom_items_vr.dm @@ -147,12 +147,12 @@ obj/item/weapon/material/hatchet/tacknife/combatknife/fluff/katarina/handle_shie //JoanRisu:Joan Risu /obj/item/device/pda/heads/hos/fluff/joanpda - icon = 'icons/vore/custom_items_vr.dmi' + icon_override = 'icons/vore/custom_items_vr.dmi' icon_state = "pda-joan" //Vorrarkul:Lucina Dakarim /obj/item/device/pda/heads/cmo/fluff/lucinapda - icon = 'icons/vore/custom_items_vr.dmi' + icon_override = 'icons/vore/custom_items_vr.dmi' icon_state = "pda-lucina" //john.wayne9392:Harmony Prechtl From 6347f2edec7b78db7d1e0c588b7a16a5c75085a4 Mon Sep 17 00:00:00 2001 From: JoanRisu Date: Mon, 12 Dec 2016 20:18:59 +0900 Subject: [PATCH 05/20] Adding the G44 and its energy variant. --- .../modules/vore/fluffstuff/custom_guns_vr.dm | 46 ++++++++++++++++++ icons/vore/custom_guns_vr.dmi | Bin 24031 -> 25540 bytes 2 files changed, 46 insertions(+) diff --git a/code/modules/vore/fluffstuff/custom_guns_vr.dm b/code/modules/vore/fluffstuff/custom_guns_vr.dm index 3073cbc827..8668791695 100644 --- a/code/modules/vore/fluffstuff/custom_guns_vr.dm +++ b/code/modules/vore/fluffstuff/custom_guns_vr.dm @@ -289,6 +289,52 @@ return 1 return 0 +//-----------------------G44---------------------------------- +/obj/item/weapon/gun/projectile/automatic/carbine/fluff/g44 + name = "G44 Rifle" + desc = "The G44 is a lightweight assault rifle manufactured by the National Armory of Gaia and sold almost exclusively to the United Federation's standing army, the Military Assault Command Operations Department (MACOs)." + icon = 'icons/vore/custom_guns_vr.dmi' + icon_state = "g44" + item_state = "bullpup" + +/obj/item/weapon/gun/projectile/automatic/carbine/fluff/g44/update_icon(var/ignore_inhands) + ..() + if(istype(ammo_magazine,/obj/item/ammo_magazine/a556m)) + icon_state = "bullpupm" + else + icon_state = (ammo_magazine)? "g44" : "g44-empty" + item_state = (ammo_magazine)? "bullpup" : "bullpup-empty" + if(!ignore_inhands) update_held_icon() + +//-----------------------G44 Energy Variant-------------------- + +/obj/item/weapon/gun/energy/gun/burst + name = "G44 Energy Rifle" + desc = "The G44 Energy is a laser variant of the G44 lightweight assault rifle manufactured by the National Armory of Gaia. Though almost exclusively to the United Federation's Military Assault Command Operations Department (MACOs) and Starfleet, it is occassionally sold to security departments for their stun capabilities." + icon = 'icons/vore/custom_guns_vr.dmi' + icon_state = "g44estun100" + item_state = "energystun100" //This is temporary. + fire_sound = 'sound/weapons/Taser.ogg' + charge_cost = 100 + force = 8 + w_class = ITEMSIZE_LARGE + fire_delay = 6 + + projectile_type = /obj/item/projectile/beam/stun/weak + origin_tech = list(TECH_COMBAT = 4, TECH_MAGNET = 2, TECH_ILLEGAL = 3) + modifystate = "g44estun" + +// requires_two_hands = 1 + one_handed_penalty = 2 + + firemodes = list( + list(mode_name="stun", burst=1, projectile_type=/obj/item/projectile/beam/stun/weak, modifystate="g44estun", fire_sound='sound/weapons/Taser.ogg', charge_cost = 100), + list(mode_name="stun burst", burst=3, fire_delay=null, move_delay=4, burst_accuracy=list(0,0,0), dispersion=list(0.0, 0.2, 0.5), projectile_type=/obj/item/projectile/beam/stun/weak, modifystate="g44estun", fire_sound='sound/weapons/Taser.ogg'), + list(mode_name="lethal", burst=1, projectile_type=/obj/item/projectile/beam/burstlaser, modifystate="g44ekill", fire_sound='sound/weapons/Laser.ogg', charge_cost = 200), + list(mode_name="lethal burst", burst=3, fire_delay=null, move_delay=4, burst_accuracy=list(0,0,0), dispersion=list(0.0, 0.2, 0.5), projectile_type=/obj/item/projectile/beam/burstlaser, modifystate="g44ekill", fire_sound='sound/weapons/Laser.ogg'), + ) + + // molenar:Kari Akiren /obj/item/weapon/gun/projectile/shotgun/pump/rifle/fluff/kari_akiren name = "clockwork rifle" diff --git a/icons/vore/custom_guns_vr.dmi b/icons/vore/custom_guns_vr.dmi index 1af9143b261bc4b0bc49733e1e171318ef6ead3c..ab4da9212c0671b3516cd96cd345bbcfa7b3b302 100644 GIT binary patch delta 5552 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 delta 4008 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 Date: Mon, 12 Dec 2016 22:42:40 +0900 Subject: [PATCH 06/20] Did some more custom PDA adjustments and fixed the g44 stuff. --- code/modules/vore/fluffstuff/custom_boxes_vr.dm | 2 +- code/modules/vore/fluffstuff/custom_guns_vr.dm | 4 ++-- code/modules/vore/fluffstuff/custom_items_vr.dm | 8 ++++---- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/code/modules/vore/fluffstuff/custom_boxes_vr.dm b/code/modules/vore/fluffstuff/custom_boxes_vr.dm index 54529600b5..c3bc1032ec 100644 --- a/code/modules/vore/fluffstuff/custom_boxes_vr.dm +++ b/code/modules/vore/fluffstuff/custom_boxes_vr.dm @@ -87,7 +87,7 @@ new /obj/item/weapon/gun/energy/gun/fluff/dominator(src) new /obj/item/clothing/suit/armor/det_suit(src) new /obj/item/fluff/permit/joanrisu(src) - new /obj/item/clothing/accessory/storage/black_vest(src) + new /obj/item/dnalockingchip(src) new /obj/item/weapon/sword/fluff/joanaria(src) new /obj/item/weapon/flame/lighter/zippo/fluff/joan(src) new /obj/item/clothing/under/rank/internalaffairs/fluff/joan(src) diff --git a/code/modules/vore/fluffstuff/custom_guns_vr.dm b/code/modules/vore/fluffstuff/custom_guns_vr.dm index 8668791695..724f2e8083 100644 --- a/code/modules/vore/fluffstuff/custom_guns_vr.dm +++ b/code/modules/vore/fluffstuff/custom_guns_vr.dm @@ -300,7 +300,7 @@ /obj/item/weapon/gun/projectile/automatic/carbine/fluff/g44/update_icon(var/ignore_inhands) ..() if(istype(ammo_magazine,/obj/item/ammo_magazine/a556m)) - icon_state = "bullpupm" + icon_state = "g44" else icon_state = (ammo_magazine)? "g44" : "g44-empty" item_state = (ammo_magazine)? "bullpup" : "bullpup-empty" @@ -308,7 +308,7 @@ //-----------------------G44 Energy Variant-------------------- -/obj/item/weapon/gun/energy/gun/burst +/obj/item/weapon/gun/energy/gun/burst/g44e name = "G44 Energy Rifle" desc = "The G44 Energy is a laser variant of the G44 lightweight assault rifle manufactured by the National Armory of Gaia. Though almost exclusively to the United Federation's Military Assault Command Operations Department (MACOs) and Starfleet, it is occassionally sold to security departments for their stun capabilities." icon = 'icons/vore/custom_guns_vr.dmi' diff --git a/code/modules/vore/fluffstuff/custom_items_vr.dm b/code/modules/vore/fluffstuff/custom_items_vr.dm index 3202c59b90..3d9f5cfdfa 100644 --- a/code/modules/vore/fluffstuff/custom_items_vr.dm +++ b/code/modules/vore/fluffstuff/custom_items_vr.dm @@ -146,13 +146,13 @@ obj/item/weapon/material/hatchet/tacknife/combatknife/fluff/katarina/handle_shie user.visible_message("[user] invades [M]'s personal space, thrusting [src] into their face insistently.","You invade [M]'s personal space, thrusting [src] into their face insistently.") //JoanRisu:Joan Risu -/obj/item/device/pda/heads/hos/fluff/joanpda - icon_override = 'icons/vore/custom_items_vr.dmi' +/obj/item/device/pda/heads/hos/joanpda + icon = 'icons/vore/custom_items_vr.dmi' icon_state = "pda-joan" //Vorrarkul:Lucina Dakarim -/obj/item/device/pda/heads/cmo/fluff/lucinapda - icon_override = 'icons/vore/custom_items_vr.dmi' +/obj/item/device/pda/heads/cmo/lucinapda + icon = 'icons/vore/custom_items_vr.dmi' icon_state = "pda-lucina" //john.wayne9392:Harmony Prechtl From d93e15a3f412e5a99d6d1dad0d4114a745a16bd2 Mon Sep 17 00:00:00 2001 From: Cameron653 Date: Mon, 12 Dec 2016 14:24:11 -0500 Subject: [PATCH 07/20] Update vorepanel_vr.dm --- code/modules/vore/eating/vorepanel_vr.dm | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/code/modules/vore/eating/vorepanel_vr.dm b/code/modules/vore/eating/vorepanel_vr.dm index 0ab34fd356..ddd1993b8a 100644 --- a/code/modules/vore/eating/vorepanel_vr.dm +++ b/code/modules/vore/eating/vorepanel_vr.dm @@ -479,15 +479,20 @@ selected.vore_sound = vore_sounds[choice] if(href_list["b_escapable"]) - if(selected.escapable == 0) + if(selected.escapable == 0) //Chance escapable. selected.escapable = 1 - usr << "Your belly is now escapable." - else if(selected.escapable == 1) + usr << "Prey now have a chance to escape your [B.name]." + + else if(selected.escapable == 1) //Always escapable + selected.escapable = 2 + usr << "Prey will always be able to escape from your [B.name]." + + else if(selected.escapable == 2) //Never escapable. selected.escapable = 0 - usr << "Your belly is now unescapable." + usr << "Prey will not be able to escape from your [B.name]." else - selected.escapable = 0 usr << "Something went wrong. Your stomach is now unescapable. Press the button again to make it escapable." //If they somehow have a varable that's not 0 or 1 + selected.escapable = 0 if(href_list["b_soundtest"]) user << selected.vore_sound From 76144c242de9ed87f2f72364578b360da6948f04 Mon Sep 17 00:00:00 2001 From: Cameron653 Date: Mon, 12 Dec 2016 14:40:13 -0500 Subject: [PATCH 08/20] Update vorepanel_vr.dm --- code/modules/vore/eating/vorepanel_vr.dm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/code/modules/vore/eating/vorepanel_vr.dm b/code/modules/vore/eating/vorepanel_vr.dm index ddd1993b8a..7d44163daf 100644 --- a/code/modules/vore/eating/vorepanel_vr.dm +++ b/code/modules/vore/eating/vorepanel_vr.dm @@ -481,15 +481,15 @@ if(href_list["b_escapable"]) if(selected.escapable == 0) //Chance escapable. selected.escapable = 1 - usr << "Prey now have a chance to escape your [B.name]." + usr << "Prey now have a chance to escape your [selected.name]." else if(selected.escapable == 1) //Always escapable selected.escapable = 2 - usr << "Prey will always be able to escape from your [B.name]." + usr << "Prey will always be able to escape from your [selected.name]." else if(selected.escapable == 2) //Never escapable. selected.escapable = 0 - usr << "Prey will not be able to escape from your [B.name]." + usr << "Prey will not be able to escape from your [selected.name]." else usr << "Something went wrong. Your stomach is now unescapable. Press the button again to make it escapable." //If they somehow have a varable that's not 0 or 1 selected.escapable = 0 From ceb3515fdb12a2ee17436f972d8c2223ee805e90 Mon Sep 17 00:00:00 2001 From: Cameron653 Date: Mon, 12 Dec 2016 15:15:16 -0500 Subject: [PATCH 09/20] Adds vars, adds absorb/digest/escape chances and results. --- code/modules/vore/eating/belly_vr.dm | 41 ++++++++++++++++++++++++++-- 1 file changed, 39 insertions(+), 2 deletions(-) diff --git a/code/modules/vore/eating/belly_vr.dm b/code/modules/vore/eating/belly_vr.dm index ddc6aafb51..94b66b0f47 100644 --- a/code/modules/vore/eating/belly_vr.dm +++ b/code/modules/vore/eating/belly_vr.dm @@ -22,6 +22,9 @@ var/immutable = 0 // Prevents this belly from being deleted var/escapable = 0 // Belly can be resisted out of at any time var/escapetime = 600 // Deciseconds, how long to escape this belly + var/digestchance = 0 // % Chance of stomach beginning to digest if prey struggles + var/absorbchance = 0 // % Chance of stomach beginning to absorb if prey struggles + var/escapechance = 0 // % Chance of prey beginning to escape if prey struggles. var/tmp/digest_mode = DM_HOLD // Whether or not to digest. Default to not digest. var/tmp/list/digest_modes = list(DM_HOLD,DM_DIGEST,DM_HEAL,DM_ABSORB,DM_DRAIN,DM_UNABSORB) // Possible digest modes @@ -351,7 +354,7 @@ R.setClickCooldown(50) - if(owner.stat || escapable) //If owner is stat (dead, KO) we can actually escape, or if belly is set to escapable (non-default) + if(owner.stat) //If owner is stat (dead, KO) we can actually escape R << "You attempt to climb out of \the [name]. (This will take around [escapetime/10] seconds.)" owner << "Someone is attempting to climb out of your [name]!" @@ -366,7 +369,6 @@ owner << "The attempt to escape from your [name] has failed!" return return - var/struggle_outer_message = pick(struggle_messages_outside) var/struggle_user_message = pick(struggle_messages_inside) @@ -388,6 +390,41 @@ var/strpick = pick(struggle_sounds) var/strsound = struggle_sounds[strpick] playsound(R.loc, strsound, 50, 1) + + if(escapable) //If the stomach has escapable enabled. + R << "You attempt to climb out of \the [name]." + owner << "Someone is attempting to climb out of your [name]!" + if(prob(escapechance)) //Let's have it check to see if the prey escapes first. + if(do_after(R, escapetime)) + if((escapable) && (R in internal_contents)) //Does the owner still have escapable enabled? + release_specific_contents(R) + R << "You climb out of \the [name]." + owner << "[R] climbs out of your [name]!" + for(var/mob/M in hearers(4, owner)) + M.show_message("[R] climbs out of [owner]'s [name]!", 2) + return + else if(!(R in internal_contents)) //Aren't even in the belly. Quietly fail. + return + else //Belly became inescapable. + R << "Your attempt to escape [name] has failed!" + owner << "The attempt to escape from your [name] has failed!" + return + + else if(prob(absorbchance)) //Next, let's have it run the absorb chance. + R << "In responce to your struggling, \the [name] begins to get more active..." + owner << "You feel your [name] beginning to become active!" + B.digest_mode = DM_ABSORB + return + + else if(prob(digestchance)) + R << "In responce to your struggling, \the [name] begins to get more active..." + owner << "You feel your [name] beginning to become active!" + B.digest_mode = DM_DIGEST + return + else //Nothing interesting happened. + R << "But make no progress in escaping [owner]'s [name]." + owner << "But appears to be unable to make any progress in escaping your [name]." + return // Belly copies and then returns the copy // Needs to be updated for any var changes From a04e7faecf8509a88e48af7f3a7a47c8abd641d3 Mon Sep 17 00:00:00 2001 From: Cameron653 Date: Mon, 12 Dec 2016 15:36:35 -0500 Subject: [PATCH 10/20] Adds stoamch special interactions --- code/modules/vore/eating/vorepanel_vr.dm | 59 +++++++++++++++++++----- 1 file changed, 48 insertions(+), 11 deletions(-) diff --git a/code/modules/vore/eating/vorepanel_vr.dm b/code/modules/vore/eating/vorepanel_vr.dm index 7d44163daf..a0af318eeb 100644 --- a/code/modules/vore/eating/vorepanel_vr.dm +++ b/code/modules/vore/eating/vorepanel_vr.dm @@ -172,7 +172,15 @@ dat += "
Belly Messages" //Belly escapability - dat += "
Set Belly Escapability" + dat += "
Set Belly Interactions (below)" + + dat += "
Set Belly Escape Chance" + + dat += "
Set Belly Absorb Chance" + + dat += "
Set Belly Digest Chance" + + dat += "
Set Belly Escape Time" //Delete button dat += "
Delete Belly" @@ -479,21 +487,50 @@ selected.vore_sound = vore_sounds[choice] if(href_list["b_escapable"]) - if(selected.escapable == 0) //Chance escapable. + if(selected.escapable == 0) //Possibly escapable and special interactions. selected.escapable = 1 - usr << "Prey now have a chance to escape your [selected.name]." - - else if(selected.escapable == 1) //Always escapable - selected.escapable = 2 - usr << "Prey will always be able to escape from your [selected.name]." - - else if(selected.escapable == 2) //Never escapable. + usr << "Prey now have special interactions with your [selected.name] depending on your settings." + else if(selected.escapable == 1) //Never escapable. selected.escapable = 0 - usr << "Prey will not be able to escape from your [selected.name]." + usr << "Prey will not be able to have special interactions with your [selected.name]." else - usr << "Something went wrong. Your stomach is now unescapable. Press the button again to make it escapable." //If they somehow have a varable that's not 0 or 1 + usr << "Something went wrong. Your stomach will now not have special interactions. Press the button enable them again." //If they somehow have a varable that's not 0 or 1 selected.escapable = 0 + if(href_list["b_escapechance"]) + var/escape_chance_input = input(user, "Choose the (%) chance that prey that attempt to escape will be able to escape.\ + Stomach special interactions must be enabled for this to work.\ + Ranges from 0 to 100.\n\ + (0-100)", "Prey Escape Chance") as num|null + if(escape_chance_input) + selected.escapechance = round(text2num(escape_chance_input),4) + + if(href_list["b_absorbchance"]) + var/absorb_chance_input = input(user, "Choose the (%) chance that prey that attempt to escape will be absorbed into your [selected.name].\ + Stomach special interactions must be enabled for this to work.\ + Ranges from 0 to 100.\n\ + (0-100)", "Prey Absorb Chance") as num|null + if(absorb_chance_input) + selected.absorbchance = round(text2num(absorb_chance_input),4) + + if(href_list["b_digestchance"]) + var/digest_chance_input = input(user, "Choose the (%) chance that prey that attempt to escape will begin to digest inside of your [selected.name].\ + Stomach special interactions must be enabled for this to work.\ + Ranges from 0 to 100.\n\ + (0-100)", "Prey Digest Chance") as num|null + if(digest_chance_input) + selected.digestchance = round(text2num(digest_chance_input),4) + + if(href_list["b_escapetime"]) + var/escape_time_input = input(user, "Choose the amount of time it will take for prey to be able to escape.\ + Stomach special interactions must be enabled for this to effect anything, along with the escape chance\ + Ranges from 10 to 600.(10 = 1 second, 600 = 60 seconds)\n\ + (10-600)", "Prey Escape Time") as num|null + if(escape_time_input) + selected.escapetime = round(text2num(escape_time_input),4) + + + if(href_list["b_soundtest"]) user << selected.vore_sound From 9f360a65c978e43f837114975206971ebc7b91df Mon Sep 17 00:00:00 2001 From: Cameron653 Date: Mon, 12 Dec 2016 15:55:56 -0500 Subject: [PATCH 11/20] Hope this works Out of all the things to go wrong, it of course it would have to be this. --- code/modules/vore/eating/belly_vr.dm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/code/modules/vore/eating/belly_vr.dm b/code/modules/vore/eating/belly_vr.dm index 94b66b0f47..d97ff498c5 100644 --- a/code/modules/vore/eating/belly_vr.dm +++ b/code/modules/vore/eating/belly_vr.dm @@ -413,12 +413,14 @@ else if(prob(absorbchance)) //Next, let's have it run the absorb chance. R << "In responce to your struggling, \the [name] begins to get more active..." owner << "You feel your [name] beginning to become active!" + var/datum/belly/B = check_belly(owner) B.digest_mode = DM_ABSORB return else if(prob(digestchance)) R << "In responce to your struggling, \the [name] begins to get more active..." owner << "You feel your [name] beginning to become active!" + var/datum/belly/B = check_belly(owner) B.digest_mode = DM_DIGEST return else //Nothing interesting happened. From 22b9c5ad15ffa0b8953381131257d564edbc57f3 Mon Sep 17 00:00:00 2001 From: JoanRisu Date: Tue, 13 Dec 2016 06:57:36 +0900 Subject: [PATCH 12/20] Fix box --- code/modules/vore/fluffstuff/custom_boxes_vr.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/vore/fluffstuff/custom_boxes_vr.dm b/code/modules/vore/fluffstuff/custom_boxes_vr.dm index c3bc1032ec..561d5d72aa 100644 --- a/code/modules/vore/fluffstuff/custom_boxes_vr.dm +++ b/code/modules/vore/fluffstuff/custom_boxes_vr.dm @@ -93,7 +93,7 @@ new /obj/item/clothing/under/rank/internalaffairs/fluff/joan(src) new /obj/item/clothing/head/helmet/space/fluff/joan(src) new /obj/item/clothing/suit/space/fluff/joan(src) - new /obj/item/device/pda/heads/hos/fluff/joanpda(src) + new /obj/item/device/pda/heads/hos/joanpda(src) From 6b90cb2279362b072203df554a16e9818f06f739 Mon Sep 17 00:00:00 2001 From: Cameron653 Date: Mon, 12 Dec 2016 17:03:41 -0500 Subject: [PATCH 13/20] Prevents numbers like 999999999999 Rounds then sanitizes them --- code/modules/vore/eating/vorepanel_vr.dm | 24 ++++++++++++++---------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/code/modules/vore/eating/vorepanel_vr.dm b/code/modules/vore/eating/vorepanel_vr.dm index a0af318eeb..4c90243678 100644 --- a/code/modules/vore/eating/vorepanel_vr.dm +++ b/code/modules/vore/eating/vorepanel_vr.dm @@ -503,31 +503,35 @@ Ranges from 0 to 100.\n\ (0-100)", "Prey Escape Chance") as num|null if(escape_chance_input) - selected.escapechance = round(text2num(escape_chance_input),4) + escape_chance_input = round(text2num(escape_chance_input),4) + selected.escapechance = sanitize_integer(escape_chance_input, 0, 100, selected.escapechance) if(href_list["b_absorbchance"]) var/absorb_chance_input = input(user, "Choose the (%) chance that prey that attempt to escape will be absorbed into your [selected.name].\ - Stomach special interactions must be enabled for this to work.\ - Ranges from 0 to 100.\n\ + Stomach special interactions must be enabled for this to work.\ + Ranges from 0 to 100.\n\ (0-100)", "Prey Absorb Chance") as num|null if(absorb_chance_input) - selected.absorbchance = round(text2num(absorb_chance_input),4) + absorb_chance_input = round(text2num(absorb_chance_input),4) + selected.absorbchance = sanitize_integer(absorb_chance_input, 0, 100, selected.absorbchance) if(href_list["b_digestchance"]) var/digest_chance_input = input(user, "Choose the (%) chance that prey that attempt to escape will begin to digest inside of your [selected.name].\ - Stomach special interactions must be enabled for this to work.\ - Ranges from 0 to 100.\n\ + Stomach special interactions must be enabled for this to work.\ + Ranges from 0 to 100.\n\ (0-100)", "Prey Digest Chance") as num|null if(digest_chance_input) - selected.digestchance = round(text2num(digest_chance_input),4) + digest_chance_input = round(text2num(digest_chance_input),4) + selected.digestchance = sanitize_integer(digest_chance_input, 0, 100, selected.digestchance) if(href_list["b_escapetime"]) var/escape_time_input = input(user, "Choose the amount of time it will take for prey to be able to escape.\ - Stomach special interactions must be enabled for this to effect anything, along with the escape chance\ - Ranges from 10 to 600.(10 = 1 second, 600 = 60 seconds)\n\ + Stomach special interactions must be enabled for this to effect anything, along with the escape chance\ + Ranges from 10 to 600.(10 = 1 second, 600 = 60 seconds)\n\ (10-600)", "Prey Escape Time") as num|null if(escape_time_input) - selected.escapetime = round(text2num(escape_time_input),4) + escape_time_input = round(text2num(escape_time_input),4) + selected.digestchance = sanitize_integer(escape_time_input, 10, 600, selected.escapetime) From 2c234591c8d8a7059bcd35d00f63e39ecdc2fcbc Mon Sep 17 00:00:00 2001 From: Cameron653 Date: Mon, 12 Dec 2016 18:31:42 -0500 Subject: [PATCH 14/20] Clarification and fix --- code/modules/vore/eating/vorepanel_vr.dm | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/code/modules/vore/eating/vorepanel_vr.dm b/code/modules/vore/eating/vorepanel_vr.dm index 4c90243678..f486bb7f35 100644 --- a/code/modules/vore/eating/vorepanel_vr.dm +++ b/code/modules/vore/eating/vorepanel_vr.dm @@ -500,8 +500,8 @@ if(href_list["b_escapechance"]) var/escape_chance_input = input(user, "Choose the (%) chance that prey that attempt to escape will be able to escape.\ Stomach special interactions must be enabled for this to work.\ - Ranges from 0 to 100.\n\ - (0-100)", "Prey Escape Chance") as num|null + Ranges from -1(disabled) to 100.\n\ + (-1-100)", "Prey Escape Chance") as num|null if(escape_chance_input) escape_chance_input = round(text2num(escape_chance_input),4) selected.escapechance = sanitize_integer(escape_chance_input, 0, 100, selected.escapechance) @@ -509,8 +509,8 @@ if(href_list["b_absorbchance"]) var/absorb_chance_input = input(user, "Choose the (%) chance that prey that attempt to escape will be absorbed into your [selected.name].\ Stomach special interactions must be enabled for this to work.\ - Ranges from 0 to 100.\n\ - (0-100)", "Prey Absorb Chance") as num|null + Ranges from -1(disabled) to 100.\n\ + (-1-100)", "Prey Absorb Chance") as num|null if(absorb_chance_input) absorb_chance_input = round(text2num(absorb_chance_input),4) selected.absorbchance = sanitize_integer(absorb_chance_input, 0, 100, selected.absorbchance) @@ -518,8 +518,8 @@ if(href_list["b_digestchance"]) var/digest_chance_input = input(user, "Choose the (%) chance that prey that attempt to escape will begin to digest inside of your [selected.name].\ Stomach special interactions must be enabled for this to work.\ - Ranges from 0 to 100.\n\ - (0-100)", "Prey Digest Chance") as num|null + Ranges from -1(disabled) to 100.\n\ + (-1-100)", "Prey Digest Chance") as num|null if(digest_chance_input) digest_chance_input = round(text2num(digest_chance_input),4) selected.digestchance = sanitize_integer(digest_chance_input, 0, 100, selected.digestchance) @@ -531,7 +531,7 @@ (10-600)", "Prey Escape Time") as num|null if(escape_time_input) escape_time_input = round(text2num(escape_time_input),4) - selected.digestchance = sanitize_integer(escape_time_input, 10, 600, selected.escapetime) + selected.escapetime = sanitize_integer(escape_time_input, 9, 600, selected.escapetime) //Set to 9 to stop rounding problems. From b02438e19184e9e8098eedfe5adde248c4557d27 Mon Sep 17 00:00:00 2001 From: killer653 Date: Mon, 12 Dec 2016 19:28:02 -0500 Subject: [PATCH 15/20] Solves digestion/absorption not working. --- code/modules/vore/eating/belly_vr.dm | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/code/modules/vore/eating/belly_vr.dm b/code/modules/vore/eating/belly_vr.dm index d97ff498c5..2f02023755 100644 --- a/code/modules/vore/eating/belly_vr.dm +++ b/code/modules/vore/eating/belly_vr.dm @@ -390,7 +390,7 @@ var/strpick = pick(struggle_sounds) var/strsound = struggle_sounds[strpick] playsound(R.loc, strsound, 50, 1) - + if(escapable) //If the stomach has escapable enabled. R << "You attempt to climb out of \the [name]." owner << "Someone is attempting to climb out of your [name]!" @@ -405,7 +405,7 @@ return else if(!(R in internal_contents)) //Aren't even in the belly. Quietly fail. return - else //Belly became inescapable. + else //Belly became inescapable. R << "Your attempt to escape [name] has failed!" owner << "The attempt to escape from your [name] has failed!" return @@ -413,16 +413,18 @@ else if(prob(absorbchance)) //Next, let's have it run the absorb chance. R << "In responce to your struggling, \the [name] begins to get more active..." owner << "You feel your [name] beginning to become active!" - var/datum/belly/B = check_belly(owner) - B.digest_mode = DM_ABSORB - return + for(var/K in owner.vore_organs) + var/datum/belly/B = owner.vore_organs[K] + B.digest_mode = DM_ABSORB + return else if(prob(digestchance)) R << "In responce to your struggling, \the [name] begins to get more active..." owner << "You feel your [name] beginning to become active!" - var/datum/belly/B = check_belly(owner) - B.digest_mode = DM_DIGEST - return + for(var/K in owner.vore_organs) + var/datum/belly/B = owner.vore_organs[K] + B.digest_mode = DM_DIGEST + return else //Nothing interesting happened. R << "But make no progress in escaping [owner]'s [name]." owner << "But appears to be unable to make any progress in escaping your [name]." From 379abaa7dc635791c8fe346c7c17ae5d7c8d30b2 Mon Sep 17 00:00:00 2001 From: killer653 Date: Mon, 12 Dec 2016 22:16:33 -0500 Subject: [PATCH 16/20] Adds in prey transfer (and a bug) Adds in prey transfer. Has a bug in which if the pred deletes their tranfer location stomach, then the prey will be able to be moved there, trapping them in limbo. Shouldn't happen often if ever, but I still need to figure out how to fix it. Merging this in case anyone has a solution of how to do the sanity check. Lines 416-428 in belly_vr.dm --- code/modules/vore/eating/belly_vr.dm | 21 +++++++++++++++++++-- code/modules/vore/eating/vorepanel_vr.dm | 22 ++++++++++++++++++++++ 2 files changed, 41 insertions(+), 2 deletions(-) diff --git a/code/modules/vore/eating/belly_vr.dm b/code/modules/vore/eating/belly_vr.dm index 2f02023755..0098f362d0 100644 --- a/code/modules/vore/eating/belly_vr.dm +++ b/code/modules/vore/eating/belly_vr.dm @@ -25,6 +25,9 @@ var/digestchance = 0 // % Chance of stomach beginning to digest if prey struggles var/absorbchance = 0 // % Chance of stomach beginning to absorb if prey struggles var/escapechance = 0 // % Chance of prey beginning to escape if prey struggles. + var/transferchance = 0 // % Chance of prey being + var/transferlocation = null // Location that the prey is released if they struggle and get dropped off. + var/tmp/digest_mode = DM_HOLD // Whether or not to digest. Default to not digest. var/tmp/list/digest_modes = list(DM_HOLD,DM_DIGEST,DM_HEAL,DM_ABSORB,DM_DRAIN,DM_UNABSORB) // Possible digest modes @@ -410,7 +413,21 @@ owner << "The attempt to escape from your [name] has failed!" return - else if(prob(absorbchance)) //Next, let's have it run the absorb chance. + else if(prob(transferchance)) //Next, let's have it see if they end up getting into an even bigger mess then when they started. + //if(!(T in owner.vore_organs)) //This section has a bug. If the location that the belly drops someone off at is deleted, then it'll still drop them off at that (now nonexistant) location, resulting in them being trapped. Otherwise, the code works. + //return + var/datum/belly/T = transferlocation + for(var/K in owner.vore_organs) + var/datum/belly/B = owner.vore_organs[K] + var/datum/belly/TL = B.transferlocation + if(TL != null) + B.internal_contents -= R + T.internal_contents += R + R << "Your attempt to escape [name] has failed and your struggles only results in you sliding into [owner]'s [transferlocation]" + owner << "Someone slid into your [transferlocation] due to their struggling inside your [name]!" + return + + else if(prob(absorbchance)) //After that, let's have it run the absorb chance. R << "In responce to your struggling, \the [name] begins to get more active..." owner << "You feel your [name] beginning to become active!" for(var/K in owner.vore_organs) @@ -418,7 +435,7 @@ B.digest_mode = DM_ABSORB return - else if(prob(digestchance)) + else if(prob(digestchance)) //Finally, let's see if it should run the digest chance. R << "In responce to your struggling, \the [name] begins to get more active..." owner << "You feel your [name] beginning to become active!" for(var/K in owner.vore_organs) diff --git a/code/modules/vore/eating/vorepanel_vr.dm b/code/modules/vore/eating/vorepanel_vr.dm index f486bb7f35..0ae96251fa 100644 --- a/code/modules/vore/eating/vorepanel_vr.dm +++ b/code/modules/vore/eating/vorepanel_vr.dm @@ -176,6 +176,10 @@ dat += "
Set Belly Escape Chance" + dat += "
Set Belly Transfer Chance" + + dat += "
Set Belly Transfer Location" + dat += "
Set Belly Absorb Chance" dat += "
Set Belly Digest Chance" @@ -533,6 +537,24 @@ escape_time_input = round(text2num(escape_time_input),4) selected.escapetime = sanitize_integer(escape_time_input, 9, 600, selected.escapetime) //Set to 9 to stop rounding problems. + if(href_list["b_transferchance"]) + var/transfer_chance_input = input(user, "Choose the chance that that prey will be dropped off if they attempt to struggle.\ + Stomach special interactions must be enabled for this to effect anything, along with a transfer location set\ + Ranges from -1(disabled) to 100.\n\ + (-1-100)", "Prey Escape Time") as num|null + if(transfer_chance_input) + transfer_chance_input = round(text2num(transfer_chance_input),4) + selected.transferchance = sanitize_integer(transfer_chance_input, 9, 600, selected.transferchance) //Set to 9 to stop rounding problems. + + if(href_list["b_transferlocation"]) + var/choice = input("Where do you want your [selected.name] to lead if prey struggles??","Select Belly") in user.vore_organs + "Cancel - None - Remove" + + if(choice == "Cancel - None - Remove") + selected.transferlocation = null + return 1 + else + selected.transferlocation = user.vore_organs[choice] + usr << "Note: Do not delete your [choice] while this is enabled. This will cause your prey to be unable to escape. If you want to delete your [choice], select Cancel - None - Remove and then delete it." //Currently attempting to fix this bug. Let's warn the user about it until then. if(href_list["b_soundtest"]) From 652c70f044a3a4fcbf2c2b1eb741cb0c718148d2 Mon Sep 17 00:00:00 2001 From: killer653 Date: Mon, 12 Dec 2016 22:34:27 -0500 Subject: [PATCH 17/20] One last fix until tomorrow --- code/modules/vore/eating/belly_vr.dm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/code/modules/vore/eating/belly_vr.dm b/code/modules/vore/eating/belly_vr.dm index 0098f362d0..92ebbf1b37 100644 --- a/code/modules/vore/eating/belly_vr.dm +++ b/code/modules/vore/eating/belly_vr.dm @@ -423,9 +423,9 @@ if(TL != null) B.internal_contents -= R T.internal_contents += R - R << "Your attempt to escape [name] has failed and your struggles only results in you sliding into [owner]'s [transferlocation]" - owner << "Someone slid into your [transferlocation] due to their struggling inside your [name]!" - return + R << "Your attempt to escape [name] has failed and your struggles only results in you sliding into [owner]'s [transferlocation]" + owner << "Someone slid into your [transferlocation] due to their struggling inside your [name]!" + return else if(prob(absorbchance)) //After that, let's have it run the absorb chance. R << "In responce to your struggling, \the [name] begins to get more active..." From 1c3a6db0efb852abdc53ae4f7c2dd1ce2a7f3dce Mon Sep 17 00:00:00 2001 From: killer653 Date: Tue, 13 Dec 2016 16:36:04 -0500 Subject: [PATCH 18/20] Adds warnings, since I can't figure out a fix. --- code/modules/vore/eating/belly_vr.dm | 8 +++++--- code/modules/vore/eating/vorepanel_vr.dm | 5 +++-- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/code/modules/vore/eating/belly_vr.dm b/code/modules/vore/eating/belly_vr.dm index 92ebbf1b37..0f6e537bcd 100644 --- a/code/modules/vore/eating/belly_vr.dm +++ b/code/modules/vore/eating/belly_vr.dm @@ -28,7 +28,6 @@ var/transferchance = 0 // % Chance of prey being var/transferlocation = null // Location that the prey is released if they struggle and get dropped off. - var/tmp/digest_mode = DM_HOLD // Whether or not to digest. Default to not digest. var/tmp/list/digest_modes = list(DM_HOLD,DM_DIGEST,DM_HEAL,DM_ABSORB,DM_DRAIN,DM_UNABSORB) // Possible digest modes var/tmp/list/transform_modes = list(DM_TRANSFORM_MALE,DM_TRANSFORM_FEMALE,DM_TRANSFORM_KEEP_GENDER,DM_TRANSFORM_CHANGE_SPECIES,DM_TRANSFORM_CHANGE_SPECIES_EGG,DM_TRANSFORM_KEEP_GENDER_EGG,DM_TRANSFORM_MALE_EGG,DM_TRANSFORM_FEMALE_EGG, DM_EGG) @@ -414,8 +413,6 @@ return else if(prob(transferchance)) //Next, let's have it see if they end up getting into an even bigger mess then when they started. - //if(!(T in owner.vore_organs)) //This section has a bug. If the location that the belly drops someone off at is deleted, then it'll still drop them off at that (now nonexistant) location, resulting in them being trapped. Otherwise, the code works. - //return var/datum/belly/T = transferlocation for(var/K in owner.vore_organs) var/datum/belly/B = owner.vore_organs[K] @@ -466,6 +463,11 @@ dupe.immutable = immutable dupe.escapable = escapable dupe.escapetime = escapetime + dupe.digestchance = digestchance + dupe.absorbchance = absorbchance + dupe.escapechance = escapechance + dupe.transferchance = transferchance + dupe.transferlocation = transferlocation //// Object-holding variables //struggle_messages_outside - strings diff --git a/code/modules/vore/eating/vorepanel_vr.dm b/code/modules/vore/eating/vorepanel_vr.dm index 0ae96251fa..822aec04c8 100644 --- a/code/modules/vore/eating/vorepanel_vr.dm +++ b/code/modules/vore/eating/vorepanel_vr.dm @@ -179,6 +179,7 @@ dat += "
Set Belly Transfer Chance" dat += "
Set Belly Transfer Location" + dat += " [selected.transferlocation]" dat += "
Set Belly Absorb Chance" @@ -554,8 +555,7 @@ return 1 else selected.transferlocation = user.vore_organs[choice] - usr << "Note: Do not delete your [choice] while this is enabled. This will cause your prey to be unable to escape. If you want to delete your [choice], select Cancel - None - Remove and then delete it." //Currently attempting to fix this bug. Let's warn the user about it until then. - + usr << "Note: Do not delete your [choice] while this is enabled. This will cause your prey to be unable to escape. If you want to delete your [choice], select Cancel - None - Remove and then delete it." if(href_list["b_soundtest"]) user << selected.vore_sound @@ -574,6 +574,7 @@ user.vore_organs.Remove(selected) selected = user.vore_organs[1] user.vore_selected = user.vore_organs[1] + usr << "Note: If you had this organ selected as a transfer location, please remove the transfer location by selecting Cancel - None - Remove on this stomach." //If anyone finds a fix to this bug, please tell me. I, for the life of me, can't find any way to fix it. if(href_list["saveprefs"]) if(!user.save_vore_prefs()) From 07b2db850f3df82ebcefc0c38ad41adf211de421 Mon Sep 17 00:00:00 2001 From: killer653 Date: Tue, 13 Dec 2016 21:14:02 -0500 Subject: [PATCH 19/20] Fixes invisible size shrooms --- code/modules/hydroponics/seed_datums_vr.dm | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/code/modules/hydroponics/seed_datums_vr.dm b/code/modules/hydroponics/seed_datums_vr.dm index ff66b960d6..9079fb37cd 100644 --- a/code/modules/hydroponics/seed_datums_vr.dm +++ b/code/modules/hydroponics/seed_datums_vr.dm @@ -16,7 +16,7 @@ set_trait(TRAIT_PRODUCTION,6) set_trait(TRAIT_YIELD,3) set_trait(TRAIT_POTENCY,15) - set_trait(TRAIT_PRODUCT_ICON,"sizeshroom") + set_trait(TRAIT_PRODUCT_ICON,"mushroom3-product") set_trait(TRAIT_PRODUCT_COLOUR,"#DA00DA") set_trait(TRAIT_PLANT_ICON,"tree") @@ -31,4 +31,11 @@ /datum/seed/size/megam/New() ..() + set_trait(TRAIT_HARVEST_REPEAT,1) + set_trait(TRAIT_MATURATION,6) + set_trait(TRAIT_PRODUCTION,6) + set_trait(TRAIT_YIELD,3) + set_trait(TRAIT_POTENCY,15) + set_trait(TRAIT_PRODUCT_ICON,"mushroom6-product") + set_trait(TRAIT_PLANT_ICON,"tree") set_trait(TRAIT_PRODUCT_COLOUR,"#DADA00") From 692bb3f2a4d9418260dcb7d214f40ab6846f219c Mon Sep 17 00:00:00 2001 From: Spades Date: Wed, 14 Dec 2016 10:11:23 -0500 Subject: [PATCH 20/20] Tweaks issues template --- .github/ISSUE_TEMPLATE.md | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/.github/ISSUE_TEMPLATE.md b/.github/ISSUE_TEMPLATE.md index cb3b0d0069..9af84740ad 100644 --- a/.github/ISSUE_TEMPLATE.md +++ b/.github/ISSUE_TEMPLATE.md @@ -1,11 +1,19 @@ #### Brief description of the issue + #### What you expected to happen + #### What actually happened -#### Steps to reproduce -#### Additional info: - - **Server Revision**: Found using the "Show Server Revision" verb under the OOC tab. - - **Anything else you may wish to add** (Location if it's a mapping issue, etc) +#### Steps to reproduce +- (Step 1) +- (Step 2) +- (and so on) + +#### Code Revision +- (Found using the "Show Server Revision" verb under the OOC tab.) + +#### Anything else you may wish to add: +- (Location if it's a mapping issue, screenshots, sprites, etc.)