Revert "Merge branch 'master' into cumcom"

This reverts commit 05c4645c35, reversing
changes made to d3867f491b.
This commit is contained in:
Dahlular
2021-04-29 17:44:13 -06:00
parent 05c4645c35
commit c2cc5c49c6
97 changed files with 4888 additions and 5346 deletions
@@ -11,9 +11,4 @@
/datum/mood_event/kiss
description = "<span class='nicegreen'>Someone kissed me, I feel happy!</span>\n"
mood_change = 2
timeout = 3 MINUTES
/datum/mood_event/deathsaw
description = "<span class='boldwarning'>I saw someone die!</span>\n"
mood_change = -8
timeout = 20 MINUTES //takes a long time to get over
timeout = 3 MINUTES
@@ -47,38 +47,3 @@
M.nutrition = rand(NUTRITION_LEVEL_FAT + NUTRITION_LEVEL_START_MIN, NUTRITION_LEVEL_FAT + NUTRITION_LEVEL_START_MAX)
M.overeatduration = 100
ADD_TRAIT(M, TRAIT_FAT, OBESITY)
/datum/quirk/virile
name = "Virile"
desc = "Either through higher quality sperms, more of them, or just being more horny, your impregnation chance will increase by 20-30%."
value = 0
medical_record_text = "Patient has a higher sperm count."
mob_trait = TRAIT_VIRILE
gain_text = "<span class='notice'>You feel more potent."
lose_text = "<span class='notice'>You feel less potent."
var/ichange = 0
/datum/quirk/virile/add()
ichange = rand(20,30)
quirk_holder.impregchance += ichange
/datum/quirk/virile/remove()
if(quirk_holder)
quirk_holder.impregchance -= ichange
/datum/quirk/macrophile
name = "Macrophile"
desc = "You are attracted to larger people, and being stepped on by them."
value = 0
mob_trait = TRAIT_MACROPHILE
gain_text = "<span class='notice'>You feel attracted to people larger than you."
lose_text = "<span class='notice'>You feel less attracted to people larger than you."
/datum/quirk/microphile
name = "Microphile"
desc = "You are attracted to smaller people, and stepping on them."
value = 0
mob_trait = TRAIT_MICROPHILE
gain_text = "<span class='notice'>You feel attracted to people smaller than you."
lose_text = "<span class='notice'>You feel less attracted to people smaller than you."
-16
View File
@@ -1,16 +0,0 @@
//not the most effient bot in the world, but it does its job.
/client/proc/discordmessage(input as message)
set category = "Special Verbs"
set name = "Hyperbot Message"
set desc = "Makes the local bot say something in general chat on discord."
if(input)
world.hypermessage(input)
message_admins("[key_name_admin(usr)] has made the Hyperbot post '[input]' in General.")
/world/proc/hypermessage(message)
fdel("Hyperbot/message.txt") //cleaning up old message
if(message)
var botmsg = "![message]"
text2file(botmsg,"Hyperbot/message.txt") //the bot on local reads a new text file and sends it to the discord.
-56
View File
@@ -1,56 +0,0 @@
/mob/living/dancercaptain
name = "Captain Beats"
desc = "A captain cursed to dance for all eternity!"
icon = 'hyperstation/icons/mobs/dancer/captain.dmi'
icon_state = "idle"
var/danceaction = 1
var/lastaction = 0 //when the last action was!
var/actiontime = 4
var/list/dancefloor_turfs
var/list/dancefloor_turfs_types
var/dancefloor_exists = FALSE
/mob/living/dancercaptain/Move(atom/newloc, direct)
if(!danceaction)
if(!(world.time > lastaction))
return // no move for you!
animate(src, pixel_x, pixel_y = pixel_y + 10, time = 0.7, 0)
. = ..()
danceaction = 0 //you did your move
lastaction = world.time+actiontime //next action time
sleep(1)
animate(src, pixel_x, pixel_y = pixel_y - 10, time = 0.7, 0)
sleep(1)
LAZYINITLIST(dancefloor_turfs)
LAZYINITLIST(dancefloor_turfs_types)
if(dancefloor_exists) //remove the old one!
dancefloor_exists = FALSE
for(var/i in 1 to dancefloor_turfs.len)
var/turf/T = dancefloor_turfs[i]
T.ChangeTurf(dancefloor_turfs_types[i])
var/list/funky_turfs = RANGE_TURFS(2, src)
dancefloor_exists = TRUE
var/i = 1
dancefloor_turfs.len = funky_turfs.len
dancefloor_turfs_types.len = funky_turfs.len
for(var/t in funky_turfs)
if(!(istype(t, /turf/closed))) //dont change walls
var/turf/T = t
dancefloor_turfs[i] = T
dancefloor_turfs_types[i] = T.type
T.ChangeTurf((i % 2 == 0) ? /turf/open/floor/light/colour_cycle/dancefloor_a : /turf/open/floor/light/colour_cycle/dancefloor_b)
i++
/mob/living/dancercaptain/Initialize()
. = ..()
lastaction = round(world.time) //round to the nearest second! to keep in beat!
/mob/living/dancercaptain/proc/mtimer()
@@ -32,14 +32,10 @@
if(user.pulling)
dat += "<a href='byond://?src=[REF(src)];kiss=1'>Kiss [user.pulling]</A>"
dat += "(Kiss a partner, or object.)<BR>"
else
dat += "<span class='linkOff'>Kiss</span></A>"
dat += "(Requires a partner)<BR>"
if(user.pulling)
dat += "<a href='byond://?src=[REF(src)];climaxover=1'>Climax over [user.pulling]</A>" //you can cum on objects if you really want...
dat += "(Orgasm over a person or object.)<BR>"
if(isliving(user.pulling))
if(iscarbon(user.pulling))
dat += "<a href='byond://?src=[REF(src)];climaxwith=1'>Climax with [user.pulling]</A>"
@@ -47,13 +43,8 @@
var/mob/living/carbon/human/H = user.pulling
if(H.breedable && P && H)
dat += "<a href='byond://?src=[REF(src)];impreg=1'>Impregnate [U.pulling] ([clamp(U.impregchance,0,100)]%)</A>"
dat += "(Climax inside another person, and attempt to knock them up.)<BR>"
else
dat += "<span class='linkOff'>Climax over</span></A>"
dat += "(Requires a partner)<BR>"
dat += "<span class='linkOff'>Climax with</span></A>"
dat += "(Requires a partner)<BR>"
dat += "<a href='byond://?src=[REF(src)];impreg=1'>Impregnate [user.pulling]</A>"
dat += "(Climax inside another person, knocking them up.)<BR>"
//old code needs to be cleaned
if(P)
@@ -317,6 +308,8 @@ obj/screen/arousal/proc/kiss()
src.visible_message("<span class='notice'>[src] is about to kiss [L]!</span>", \
"<span class='notice'>You're attempting to kiss [L]!</span>", \
"<span class='notice'>You're attempting to kiss with something!</span>")
if(!do_mob(src, L, 2 SECONDS)) //I think two seconds is enough time to pull away if its unwanted.
return
SEND_SIGNAL(L, COMSIG_ADD_MOOD_EVENT, "kissed", /datum/mood_event/kiss) //how cute, affection is nice.
//Well done you kissed it/them!
src.visible_message("<span class='notice'>[src] kisses [L]!</span>", \
@@ -7,5 +7,6 @@
metabolization_rate = 1 * REAGENTS_METABOLISM
taste_description = "sweetness"
/datum/reagent/consumable/alienhoney/on_mob_life(mob/living/carbon/M)
/datum/reagent/consumable/alienhoney/on_mob_life(mob/living/carbon/M) //can still be eaten/drank, but will provide no benefits like normal honey. Still good for a food sauce.
M.reagents.add_reagent(/datum/reagent/consumable/sugar,2) //metabolisms in the system as sugar.
..()
+4 -31
View File
@@ -44,7 +44,7 @@ mob/living/get_effective_size()
if(size_multiplier == previous_size)
return 1
src.update_transform() //WORK DAMN YOU
src.update_mobsize()
src.update_mobsize()
//Going to change the health and speed values too
src.remove_movespeed_modifier(MOVESPEED_ID_SIZE)
src.add_movespeed_modifier(MOVESPEED_ID_SIZE, multiplicative_slowdown = (abs(size_multiplier - 1) * 0.8 ))
@@ -67,7 +67,7 @@ mob/living/get_effective_size()
if(tmob.pulledby == H)
return 0
//Micro is on a table.
var/turf/steppyspot = tmob.loc
for(var/thing in steppyspot.contents)
@@ -91,7 +91,6 @@ mob/living/get_effective_size()
tmob.visible_message("<span class='notice'>[src] carefully slithers around [tmob].</span>", "<span class='notice'>[src]'s huge tail slithers besides you.</span>")
else
tmob.visible_message("<span class='notice'>[src] carefully steps over [tmob].</span>", "<span class='notice'>[src] steps over you carefully.</span>")
return 1
//Smaller person stepping under a larger person
@@ -134,20 +133,7 @@ mob/living/get_effective_size()
tmob.visible_message("<span class='danger'>[src] carefully rolls their tail over [tmob]!</span>", "<span class='danger'>[src]'s huge tail rolls over you!</span>")
else
tmob.visible_message("<span class='danger'>[src] carefully steps on [tmob]!</span>", "<span class='danger'>[src] steps onto you with force!</span>")
//horny traits
if(HAS_TRAIT(src, TRAIT_MICROPHILE))
src.adjustArousalLoss(8)
if (src.getArousalLoss() >= 100 && ishuman(tmob) && tmob.has_dna())
src.mob_climax(forced_climax=TRUE)
if(HAS_TRAIT(tmob, TRAIT_MACROPHILE))
tmob.adjustArousalLoss(10)
if (tmob.getArousalLoss() >= 100 && ishuman(tmob) && tmob.has_dna())
tmob.mob_climax(forced_climax=TRUE)
return 1
return 1
if(H.a_intent == "harm" && H.canmove && !H.buckled)
now_pushing = 0
@@ -163,19 +149,6 @@ mob/living/get_effective_size()
tmob.visible_message("<span class='danger'>[src] mows down [tmob] under their tail!</span>", "<span class='userdanger'>[src] plows their tail over you mercilessly!</span>")
else
tmob.visible_message("<span class='danger'>[src] slams their foot down on [tmob], crushing them!</span>", "<span class='userdanger'>[src] crushes you under their foot!</span>")
//horny traits
if(HAS_TRAIT(src, TRAIT_MICROPHILE))
src.adjustArousalLoss((get_effective_size()/tmob.get_effective_size()*3))
if (src.getArousalLoss() >= 100 && ishuman(tmob) && tmob.has_dna())
src.mob_climax(forced_climax=TRUE)
if(HAS_TRAIT(tmob, TRAIT_MACROPHILE))
tmob.adjustArousalLoss((get_effective_size()/tmob.get_effective_size()*3))
if (tmob.getArousalLoss() >= 100 && ishuman(tmob) && tmob.has_dna())
tmob.mob_climax(forced_climax=TRUE)
return 1
if(H.a_intent == "grab" && H.canmove && !H.buckled)
@@ -242,7 +215,7 @@ mob/living/get_effective_size()
mob_size = 2 //the default human size
if(size_multiplier > 1)
mob_size = 3
//Proc for instantly grabbing valid size difference. Code optimizations soon(TM)
/*
/mob/living/proc/sizeinteractioncheck(var/mob/living/tmob)
+1 -4
View File
@@ -170,7 +170,7 @@
if (C.getArousalLoss() >= 100 && ishuman(C) && C.has_dna())
var/mob/living/carbon/human/O = C
O.mob_climax_partner(P, M, FALSE, FALSE, FALSE, TRUE) //climax with their partner remotely!
O.mob_climax_partner(P, M, TRUE, FALSE, FALSE, TRUE) //climax with their partner remotely!
return
..()
@@ -189,9 +189,6 @@
if(H.dna.species.name == "Slimeperson") // slime nerd
sleeve = mutable_appearance('hyperstation/icons/obj/fleshlight.dmi', "portal_sleeve_slime")
if(H.dna.species.name == "Avian") // bird nerd
sleeve = mutable_appearance('hyperstation/icons/obj/fleshlight.dmi', "portal_sleeve_avian")
sleeve.color = "#" + H.dna.features["mcolor"]
add_overlay(sleeve)
+1 -1
View File
@@ -31,7 +31,7 @@
item_state = "highheels"
icon = 'hyperstation/icons/obj/clothing/shoes.dmi'
alternate_worn_icon = 'hyperstation/icons/mobs/feet.dmi'
mutantrace_variation = NO_MUTANTRACE_VARIATION
/obj/item/clothing/shoes/highheels/Initialize()
. = ..()
+1 -55
View File
@@ -124,14 +124,6 @@
icon_state = "commissar_beret"
item_state = "commissar_beret"
/obj/item/clothing/under/touchinfuzzy
name = "provocative jumpsuit"
desc = "A form fitting jumpsuit with a golden trim zipper! Smells faintly of succubus milk."
icon_state = "touchinfuzzyuni"
item_state = "touchinfuzzyuni"
body_parts_covered = CHEST|GROIN|ARMS|LEGS
fitted = NO_FEMALE_UNIFORM
/obj/item/toy/sword/chloesabre
name = "Fleet Commander's Sabre"
desc = "An elegant weapon, similar in design to the Captain's Sabre, but with a syndicate twist."
@@ -151,50 +143,4 @@
return mutable_appearance('icons/obj/custom.dmi', "darksheath-darksabre")
/obj/item/toy/sword/chloesabre/get_worn_belt_overlay(icon_file)
return mutable_appearance(icon_file, "darksheath-darksabre")
/obj/item/mialasscale
name = "Miala's Scale"
desc = "A bright, and familiar, cyan scale from an equally familiar snake being."
icon = 'hyperstation/icons/obj/rewards.dmi'
icon_state = "m_scale"
item_state = "m_scale"
w_class = WEIGHT_CLASS_SMALL
/obj/item/bong/kiseru
name = "black lacquered kiseru"
desc = "it is a black lacquered kiseru with a ornate silver head and mouthpiece, you can feel it's old age as you hold it"
icon = 'hyperstation/icons/obj/rewards.dmi'
icon_state = null
item_state = null
w_class = WEIGHT_CLASS_NORMAL
light_color = "#FFCC66"
icon_off = "pipe"
icon_on = "pipe_lit"
/obj/item/clothing/suit/hooded/occultrobes
name = "Occult Robes"
desc = "I didn't even know they made these in XXS..."
icon_state = "coatwinter"
item_state = "coatwinter"
body_parts_covered = CHEST|GROIN|ARMS
cold_protection = CHEST|GROIN|ARMS
min_cold_protection_temperature = FIRE_SUIT_MIN_TEMP_PROTECT
armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 10, "rad" = 0, "fire" = 0, "acid" = 0)
allowed = list(/obj/item/flashlight, /obj/item/tank/internals/emergency_oxygen, /obj/item/tank/internals/plasmaman, /obj/item/toy, /obj/item/storage/fancy/cigarettes, /obj/item/lighter)
/obj/item/clothing/suit/hooded/occultrobes
name = "occult robes"
desc = "I didn't even know they made these in XXS..."
icon_state = "occultrobes"
hoodtype = /obj/item/clothing/head/hooded/occultrobeshood
mutantrace_variation = NO_MUTANTRACE_VARIATION
/obj/item/clothing/head/hooded/occultrobeshood
name = "occult hood"
icon_state = "occultrobeshood"
body_parts_covered = HEAD
cold_protection = HEAD
min_cold_protection_temperature = FIRE_SUIT_MIN_TEMP_PROTECT
flags_inv = HIDEHAIR
mutantrace_variation = NO_MUTANTRACE_VARIATION
return mutable_appearance(icon_file, "darksheath-darksabre")