Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Sex spells #1057

Open
wants to merge 12 commits into
base: master
Choose a base branch
from
Open

Sex spells #1057

wants to merge 12 commits into from

Conversation

Comicao1
Copy link

About The Pull Request

Adds sex spells and sex magician to the game. (BOUNTY)

Why It's Good For The Game

Adds more sex options!

A Port?

No.

Pre-Merge Checklist

  • You tested this on a local server.
  • This code did not runtime during testing.
  • You documented all of your changes.

Changelog

🆑
add: Added new things
add: Added more things
del: Removed old things
tweak: tweaked a few things
balance: rebalanced something
fix: fixed a few things
soundadd: added a new sound thingy
sounddel: removed an old sound thingy
imageadd: added some icons and images
imagedel: deleted some icons and images
spellcheck: fixed a few typos
code: changed some code
refactor: refactored some code
config: changed some config setting
admin: messed with admin stuff
server: something server ops should know
wip: still being worked on
experiment: experimental
tgs: has something to do with tgs
expansion: expands on something
qol: quality of life content
/:cl:

@ariaworld
Copy link

Looks amazing, I wonder if it would be theoretically possible to make it so the genital spells don't clutter the screen? for example perhaps by making it so it's just a button that when pressed gives you a choice of genital to target and which action to take, and then puts the appropriate melee object spell in hand

@Zap-zapper
Copy link

Zap-zapper commented Jan 13, 2024

Ideas: Expansion/Reduction of various bodyparts (not just penis), as well as general Shrinking or Growth of the whole body, for sizeplayish stuff. Maybe even total body morph on others, like the trait?

Also lust spell should be targeted, I feel, not aoe.

@catrock31
Copy link

Ideas: Expansion/Reduction of various bodyparts (not just penis), as well as general Shrinking or Growth of the whole body, for sizeplayish stuff. Maybe even total body morph on others, like the trait?

Also lust spell should be targeted, I feel, not aoe.

This was my bounty I paid 80$ if you want to make a single target lust spell do that when it's added to the game

@Zap-zapper
Copy link

Ideas: Expansion/Reduction of various bodyparts (not just penis), as well as general Shrinking or Growth of the whole body, for sizeplayish stuff. Maybe even total body morph on others, like the trait?
Also lust spell should be targeted, I feel, not aoe.

This was my bounty I paid 80$ if you want to make a single target lust spell do that when it's added to the game

Oh, sure

do_sparks(4, FALSE, M.loc)
if(ishuman(M))
var/mob/living/carbon/human/H = M
if(H?.client?.prefs?.magicalpref == "Yes")

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

why are you doing == "yes", you could just make magicalpref a true/false instead of ASK and have it follow standard antag esc... This is another setting we don't need, and one that yknow.

bad. coder. practice.

H.uncovered = 1
else
H.uncovered = 0
spawn(10 MINUTES)

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

spawn() moment

if you dont know what is wrong with using spawn() casually please go and read modern /tg/ documentation.

else
var/obj/item/organ/genital/penis/P = H.getorganslot(ORGAN_SLOT_PENIS)
P.modify_size(10)
spawn(15 MINUTES)

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

spawn

else
var/datum/interaction/lewd/fingerass_self/FI = new
FI.do_action(is_being_groped, src, TRUE)
qdel(FI)

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

oh no

var/datum/atom_hud/data/human/arousal/hud = GLOB.huds[DATA_HUD_AROUSAL]
hud.add_hud_to(src)
arousal_hud_update()
for(var/mob/living/carbon/human/H in view(7, src))

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

time to crash the server

dont do this


/obj/effect/proc_holder/spell/self/aoe_lust/cast(mob/living/carbon/human/user)
for(var/mob/living/carbon/human/HH in view(5, user))
if(HH?.client?.prefs?.magicalpref == "No")

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

if(!HH?.client?.prefs?.magicalpref)

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

(have magicalpref be TRUE OR FALSE and FALSE BY DEFAULT

this makes it sure that all statements using the above code will return TRUE if MAGICALPREF is FALSE.

Neater way of doing what you're doing.

Also just better coder practice as you're no longer doing an is equals but rather is true or false

@@ -6,6 +6,7 @@
/datum/preferences
max_save_slots = DEFAULT_SAVE_SLOTS
var/unholypref = "No" //Goin 2 hell fo dis one
var/magicalpref = "No" //Goin 2 hell fo dis one
Copy link

@Yawet330 Yawet330 Feb 18, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

var/magicalpref = FALSE

@@ -1297,6 +1297,12 @@ GLOBAL_LIST_EMPTY(roundstart_race_names)
return

/datum/species/proc/can_equip(obj/item/I, slot, disable_warning, mob/living/carbon/human/H, bypass_equip_delay_self = FALSE, clothing_check = FALSE, list/return_warning)

if(H.uncovered)

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nonmodular lol


if(H.uncovered)
if(return_warning)
return_warning[1] = "<span class='warning'>I've been wicked!</span>"

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

what the hell

@@ -34,6 +34,7 @@ GLOBAL_LIST_INIT(huds, list(
ANTAG_HUD_GANGSTER = new/datum/atom_hud/antag/hidden(),
ANTAG_HUD_SLAVER = new/datum/atom_hud/antag(),
DATA_HUD_ANTAGTARGET = new/datum/atom_hud/data/human/antagtarget(),
DATA_HUD_AROUSAL = new/datum/atom_hud/data/human/arousal(),

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

extra layer being created and used for literally one effect. Move this to cult/magic layers.

@Yawet330
Copy link

also I deliberately didn't use the multi-comment review system so you have to manually mark each one as resolved.

Love you BBG.

Copy link

@Yawet330 Yawet330 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

horrible, downright stanky code

this is stuff you learn not to do on the modern /tg/ and coderbus documentation and wikiguides. This is stuff you can google search about and it'll lead you to byond forums showing examples of why not to do this.

Overall though the base concept looks good? There's clearly been effort put in. Just needs upgrading to better code standards.

@ariaworld
Copy link

Hello, just a few things:
-The sex spell effects should be on the same layer of cult effects/magic, to avoid making an extra one just for these
-There's a few things that can be modularized like the "I've been wicked" effect
-For magical pref, use the same logic used for stomp-pref to avoid "Yes"/"No" and instead TRUE/FALSE
-also please instead of Use span_warning("Text")
Make sure to test your code and edit the changelog, as well as follow Yawet's comments, as there's alot of rushed things that could do damage

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants