diff --git a/GainStation13/code/mechanics/den abductors/console.dm b/GainStation13/code/mechanics/den abductors/console.dm index 4293c5e203..a0a967a3b6 100644 --- a/GainStation13/code/mechanics/den abductors/console.dm +++ b/GainStation13/code/mechanics/den abductors/console.dm @@ -26,7 +26,7 @@ var/credits = linked_scale?.credits dat += "Gear Credits: [credits]
" - dat += "Transfer credits in exchange for supplies:
" + dat += "Transfer credits in exchange for supplies:
" for(var/goodie in subtypesof(/datum/feeders_den_goodie)) var/datum/feeders_den_goodie/temp_goodie = new goodie() dat += "[temp_goodie.name] (Cost: [temp_goodie.credit_cost])
" @@ -64,7 +64,7 @@ say("Unable to purchase more!") return FALSE - if(!Dispense(item_path, price)) + if(!Dispense(item_path, price)) return FALSE if(buy_counts[goodie_datum.name] == null) @@ -146,7 +146,7 @@ return TRUE return ..() - + /obj/structure/scale/credits name = "tracking scale" desc = "A upgraded scale that tracks to weight of all of those that have stepped on it. Using this will add credits to the feeder console" @@ -155,7 +155,7 @@ /// How much credits do we currently have? var/credits = 0 /// How many credits are we going to reward per pound gained? - var/credits_per_fatness = 0.25 + var/credits_per_fatness = 0.25 /// A list containing all of the people we've scanned and their maximum weight. var/list/scanned_people = list() /// What is the current team number? @@ -201,7 +201,7 @@ var/credit_total = max((credits_to_add - credits_to_remove), 0) if(credit_total > 0) say("[credit_total] credits have been deposited into the console.") - + credits += credit_total scanned_people[fatty] += credit_total @@ -214,6 +214,7 @@ team_number = 27 vest_mode_action = null vest_disguise_action = null + check_if_abductor = FALSE /obj/machinery/computer/camera_advanced/abductor/feeder/IsScientist(mob/living/carbon/human/H) return TRUE @@ -245,4 +246,4 @@ prepare(target,user) return TRUE - + diff --git a/GainStation13/code/modules/arousal/arousal.dm b/GainStation13/code/modules/arousal/arousal.dm new file mode 100644 index 0000000000..11b2474e0d --- /dev/null +++ b/GainStation13/code/modules/arousal/arousal.dm @@ -0,0 +1,19 @@ +//GS13 Port +/mob/living/proc/mob_climax(forced_climax = FALSE, cause = "none")//This is just so I can test this shit without being forced to add actual content to get rid of arousal. Will be a very basic proc for a while. + set name = "Masturbate" + set category = "IC" + if(canbearoused && !restrained() && !stat) + if(mb_cd_timer <= world.time) + //start the cooldown even if it fails + mb_cd_timer = world.time + mb_cd_length + if(getArousal() >= ((max_arousal / 100) * 33))//33% arousal or greater required + src.visible_message("[src] starts masturbating!", \ + "You start masturbating.") + if(do_after(src, 30, target = src)) + src.visible_message("[src] relieves [p_them()]self!", \ + "You have relieved yourself.") + SEND_SIGNAL(src, COMSIG_ADD_MOOD_EVENT, "orgasm", /datum/mood_event/orgasm) + setArousal(min_arousal) + else + to_chat(src, "You aren't aroused enough for that.") + diff --git a/code/game/machinery/computer/camera_advanced.dm b/code/game/machinery/computer/camera_advanced.dm index 5395dd6fee..fc4823cbc8 100644 --- a/code/game/machinery/computer/camera_advanced.dm +++ b/code/game/machinery/computer/camera_advanced.dm @@ -102,7 +102,7 @@ return TRUE /obj/machinery/computer/camera_advanced/abductor/can_use(mob/user) - if(!isabductor(user)) + if(check_if_abductor && !isabductor(user)) return FALSE return ..() diff --git a/code/modules/antagonists/abductor/machinery/camera.dm b/code/modules/antagonists/abductor/machinery/camera.dm index 4fb6bf5645..9069130a7d 100644 --- a/code/modules/antagonists/abductor/machinery/camera.dm +++ b/code/modules/antagonists/abductor/machinery/camera.dm @@ -11,6 +11,8 @@ var/obj/machinery/abductor/console/console lock_override = TRUE + var/check_if_abductor = TRUE //GS13 EDIT + icon = 'icons/obj/abductor.dmi' icon_state = "camera" icon_keyboard = null @@ -24,7 +26,7 @@ /obj/machinery/computer/camera_advanced/abductor/Initialize(mapload) . = ..() - + if(tele_in_action) actions += new tele_in_action(src) if(tele_out_action) diff --git a/code/modules/arousal/arousal.dm b/code/modules/arousal/arousal.dm index 8fa4ed092e..d918d0cb19 100644 --- a/code/modules/arousal/arousal.dm +++ b/code/modules/arousal/arousal.dm @@ -240,26 +240,6 @@ if(!. && !silent) to_chat(H, "Your [name] is unable to produce it's own fluids, it's missing the organs for it.") -//GS13 Port -/mob/living/proc/mob_climax()//This is just so I can test this shit without being forced to add actual content to get rid of arousal. Will be a very basic proc for a while. - set name = "Masturbate" - set category = "IC" - if(canbearoused && !restrained() && !stat) - if(mb_cd_timer <= world.time) - //start the cooldown even if it fails - mb_cd_timer = world.time + mb_cd_length - if(getArousal() >= ((max_arousal / 100) * 33))//33% arousal or greater required - src.visible_message("[src] starts masturbating!", \ - "You start masturbating.") - if(do_after(src, 30, target = src)) - src.visible_message("[src] relieves [p_them()]self!", \ - "You have relieved yourself.") - SEND_SIGNAL(src, COMSIG_ADD_MOOD_EVENT, "orgasm", /datum/mood_event/orgasm) - setArousal(min_arousal) - else - to_chat(src, "You aren't aroused enough for that.") - - //These are various procs that we'll use later, split up for readability instead of having one, huge proc. //For all of these, we assume the arguments given are proper and have been checked beforehand. /mob/living/carbon/human/proc/mob_masturbate(obj/item/organ/genital/G, mb_time = 30) //Masturbation, keep it gender-neutral @@ -604,7 +584,7 @@ //Here's the main proc itself -/mob/living/carbon/human/mob_climax(forced_climax=FALSE) //Forced is instead of the other proc, makes you cum if you have the tools for it, ignoring restraints +/mob/living/carbon/human/mob_climax(forced_climax=FALSE, cause = "none") //Forced is instead of the other proc, makes you cum if you have the tools for it, ignoring restraints if(mb_cd_timer > world.time) if(!forced_climax) //Don't spam the message to the victim if forced to come too fast to_chat(src, "You need to wait [DisplayTimeText((mb_cd_timer - world.time), TRUE)] before you can do that again!") diff --git a/hyperstation/code/obj/fleshlight.dm b/hyperstation/code/obj/fleshlight.dm index 37e4574d58..593477fc6a 100644 --- a/hyperstation/code/obj/fleshlight.dm +++ b/hyperstation/code/obj/fleshlight.dm @@ -188,7 +188,6 @@ M.adjust_arousal(5) return - ..() /obj/item/portallight/proc/updatesleeve() //get their looks and vagina colour! diff --git a/tgstation.dme b/tgstation.dme index 02317ed49d..b2eadc6988 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -3969,6 +3969,7 @@ #include "GainStation13\code\mobs\cakegolem.dm" #include "GainStation13\code\mobs\chocoslime.dm" #include "GainStation13\code\mobs\races\caloritegolem.dm" +#include "GainStation13\code\modules\arousal\arousal.dm" #include "GainStation13\code\modules\cargo\packs.dm" #include "GainStation13\code\modules\client\border_control.dm" #include "GainStation13\code\modules\client\preferences\preferences.dm"