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

[READY] Adds rabbit infusion to genetics #79698

Closed
wants to merge 29 commits into from

Conversation

Iamgoofball
Copy link
Contributor

@Iamgoofball Iamgoofball commented Nov 13, 2023

About The Pull Request

dreamseeker_TEKmlbVAte
dreamseeker_KfS6Yf4Mau
zMinjfVvIE

Adds a rabbit infusion to Genetics. Infusing rabbits causes you to be able to jump long distances, become a vegetarian, give good hugs, and upset the geneticist.

Why It's Good For The Game

Expanding the genetics infusion system is good for Genetics gameplay.

Changelog

🆑 Iamgoofball, sprites from Honkpocket
add: Adds a rabbit infusion to Genetics. Infusing rabbits causes you to be able to jump long distances, become a vegetarian, give good hugs, and upset the geneticist. Finishing the Rabbit Mutant infusion entry will flag you as a non-human on medical scanners.
add: Rabbits now hop around.
fix: You can no longer infuse holographic creatures to generate infinite infusions.
/:cl:

@tgstation-server tgstation-server added Sprites A bikeshed full of soulless bikes. Feature Exposes new bugs in interesting ways labels Nov 13, 2023
@LemonInTheDark
Copy link
Member

rabbit girls? really?

@Iamgoofball
Copy link
Contributor Author

@LemonInTheDark is there a problem?

@LemonInTheDark
Copy link
Member

BRO THEY DON'T EVEN DO ANYTHING IT'S JUST VISUAL

@Iamgoofball
Copy link
Contributor Author

@LemonInTheDark good idea, lemme use da tastes system rq

@LemonInTheDark
Copy link
Member

GOOOOF

@OneAsianTortoise
Copy link
Contributor

Do I get good luck if I chop off their feet

@Kapu1178
Copy link
Contributor

LITERAL FETISH CONTENT

@snailomi
Copy link

wait I thought this person made bad PRs what

@MrMelbert
Copy link
Contributor

not opposed to this but DNM until the infusion has unique effects (fox infusion is no excuse)

@MrMelbert MrMelbert added the Do Not Merge You must have really upset someone label Nov 13, 2023
@iwishforducks
Copy link
Contributor

goof. what in the actual fuck. you forgot to make them lay eggs.

@MrMelbert
Copy link
Contributor

all you have to do is make it so you can jump up a z-level or something. come on the ideas are already there

@Iamgoofball
Copy link
Contributor Author

@MrMelbert ya im working on it, will ping u when its done

@EricZilla
Copy link
Contributor

Giving the ears love of carrots and the tail the ability to do the climbing rope thing would be really funny and give it an actual usecase for miners on icebox

@Loafin34
Copy link

give them jump boot ability but they get 2x damage from bullets (hunting rabbits)

@itseasytosee
Copy link
Contributor

I love the furry fanfic creator machine from ss13, it just does so much to make me accept the in game universe as cohesive, consistent, and interesting!

@MrMelbert MrMelbert removed the Do Not Merge You must have really upset someone label Nov 13, 2023
@YakumoChen

This comment was marked as abuse.

@gorillion
Copy link

the jumping over doors + windows feature needs to be removed. this has been enabling a wave of tiders who are literally impossible to detain. you cannot gulag them, they will jump over the doors/ over the lava. you cannot put them in a cell, they will jump over the windoor. you cannot permabrig them, they will jump over the doors. the only option when you have a rabbitperson criminal is to kill them. this is like when ashen passage didn't require a focus, except this time it's non-antagonists who have a power to escape everything short of a 1x1 solid wall box.

@gorillion
Copy link

the jumping over doors + windows feature needs to be removed. this has been enabling a wave of tiders who are literally impossible to detain. you cannot gulag them, they will jump over the doors/ over the lava. you cannot put them in a cell, they will jump over the windoor. you cannot permabrig them, they will jump over the doors. the only option when you have a rabbitperson criminal is to kill them. this is like when ashen passage didn't require a focus, except this time it's non-antagonists who have a power to escape everything short of a 1x1 solid wall box.

this is of course on top of it just being an insanely unrivaled tiding tool, not just a security problem.

@Iamgoofball
Copy link
Contributor Author

once again, per my last messages, jumping over doors was a bug, it has been fixed on the latest version, i asked them to update the TM and they did not

@krookodilehunter
Copy link

there appears to be a bug with dwarfism and rabbit jumping. after you do your rabbit jump, you are no longer able to climb over tables with dwarfism powers

Copy link
Contributor

@Jacquerel Jacquerel left a comment

Choose a reason for hiding this comment

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

Mostly small stuff but I do think it probably needs correcting before we're done


/obj/machinery/dna_infuser/proc/pick_limb(mob/living/carbon/human/target)
if(!infusing_into)
return FALSE
Copy link
Contributor

Choose a reason for hiding this comment

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

Returning obj | FALSE is a weird pattern, these should probably just be return null and then we can isnull in the proc above

@@ -0,0 +1,222 @@
#define BUNNY_HOP "bunny_hop"

/datum/action/cooldown/spell/bunny_hop
Copy link
Contributor

Choose a reason for hiding this comment

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

Wait what is this getting from being a spell that it doesn't just get from action/cooldown?

button_icon_state = "jetboot"
cooldown_time = 7 SECONDS
spell_requirements = NONE
var/mob/living/carbon/human/last_caster
Copy link
Contributor

Choose a reason for hiding this comment

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

Var is undocumented but also seems to be unused?

/datum/action/cooldown/spell/bunny_hop/proc/end_jump(mob/living/jumper)
jumper.remove_filter(BUNNY_HOP)
jumper.layer = initial(jumper.layer)
jumper.pass_flags = initial(jumper.pass_flags)
Copy link
Contributor

Choose a reason for hiding this comment

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

Might want to cache their original pass flags so we're not clearing ones they already had from something else but didn't have on round start
Pain in the ass that these can't have sources but there we are 😔

Copy link
Contributor

@MrMelbert MrMelbert Nov 21, 2023

Choose a reason for hiding this comment

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

Yes, you need to use passtable_off for passtable specifically or you will reset stuff like dwarfism. #79698 (comment)

mover.balloon_alert_to_viewers("smashed through!")
bunny.apply_damage(damage = rand(5,15), damagetype = BRUTE, wound_bonus = 15, bare_wound_bonus = 25, sharpness = SHARP_EDGED, attack_direction = get_dir(windoor, oldloc))
new /obj/effect/decal/cleanable/glass(get_step(bunny, bunny.dir))
for(var/obj/structure/grille/grille in get_turf(bunny))
Copy link
Contributor

Choose a reason for hiding this comment

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

Any reason not to just call break_grilles here? It's not hot enough that it seems like we'd care about proc call overhead.

jumping_power.active_overlay_icon_state = null
jumping_power.panel = "Genetic"
jumping_power.Grant(new_head_owner)
new_head_owner.AddElement(/datum/element/waddling, WADDLE_HOP)
Copy link
Contributor

Choose a reason for hiding this comment

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

Assume you'd have run into it in testing but I am surprised this doesn't runtime, I'd have expected that the second leg would trigger a signal overridden runtime as it adds the element again.

Comment on lines +188 to +193
sniffing_power.background_icon_state = "bg_tech_blue"
sniffing_power.base_background_icon_state = sniffing_power.background_icon_state
sniffing_power.active_background_icon_state = "[sniffing_power.base_background_icon_state]_active"
sniffing_power.overlay_icon_state = "bg_tech_blue_border"
sniffing_power.active_overlay_icon_state = null
sniffing_power.panel = "Genetic"
Copy link
Contributor

Choose a reason for hiding this comment

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

This seems a bit silly, just make a subtype they are free

code/modules/surgery/organs/external/tails.dm Show resolved Hide resolved
@@ -67,12 +67,13 @@
icon_state = "kitty"
visual = TRUE
damage_multiplier = 2
var/ear_to_use = "Cat"
Copy link
Contributor

Choose a reason for hiding this comment

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

I haven't gone through every var and said "you should doc these" (although you probably should) but this one seems important because it's not intuitive that you'd need to specify that cat ears are not rabbit ears, given that it says that they are cat ears

@jlsnow301 jlsnow301 marked this pull request as draft November 19, 2023 18:44
@tgstation tgstation deleted a comment from Yobrocharlie Nov 19, 2023
@ophaq
Copy link
Contributor

ophaq commented Nov 20, 2023

Boy oh boy I can't wait till this becomes a permanent merge. Really enjoyed it while it was around.

Comment on lines +32 to +36
cast_on.pass_flags |= PASSTABLE|PASSGRILLE|PASSWINDOW|PASSMACHINE|PASSSTRUCTURE
RegisterSignal(cast_on, COMSIG_MOVABLE_MOVED, PROC_REF(break_glass))
else
cast_on.pass_flags |= PASSTABLE|PASSGRILLE|PASSMACHINE|PASSSTRUCTURE
RegisterSignal(cast_on, COMSIG_MOVABLE_MOVED, PROC_REF(break_grilles))
Copy link
Contributor

@MrMelbert MrMelbert Nov 21, 2023

Choose a reason for hiding this comment

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

#79698 (comment)

PASSTABLE must be handled with passtable_on

Suggested change
cast_on.pass_flags |= PASSTABLE|PASSGRILLE|PASSWINDOW|PASSMACHINE|PASSSTRUCTURE
RegisterSignal(cast_on, COMSIG_MOVABLE_MOVED, PROC_REF(break_glass))
else
cast_on.pass_flags |= PASSTABLE|PASSGRILLE|PASSMACHINE|PASSSTRUCTURE
RegisterSignal(cast_on, COMSIG_MOVABLE_MOVED, PROC_REF(break_grilles))
cast_on.pass_flags |= PASSGRILLE|PASSWINDOW|PASSMACHINE|PASSSTRUCTURE
RegisterSignal(cast_on, COMSIG_MOVABLE_MOVED, PROC_REF(break_glass))
passtable_on(cast_on, BUNNY_HOP)
else
cast_on.pass_flags |= PASSGRILLE|PASSMACHINE|PASSSTRUCTURE
RegisterSignal(cast_on, COMSIG_MOVABLE_MOVED, PROC_REF(break_grilles))
passtable_on(cast_on, BUNNY_HOP)

Copy link
Contributor

This PR has been inactive for long enough to be automatically marked as stale. This means it is at risk of being auto closed in ~ 7 days, please address any outstanding review items and ensure your PR is finished, if these are all true and you are auto-staled anyway, you need to actively ask maintainers if your PR will be merged. Once you have done any of the previous actions then you should request a maintainer remove the stale label on your PR, to reset the stale timer. If you feel no maintainer will respond in that time, you may wish to close this PR youself, while you seek maintainer comment, as you will then be able to reopen the PR yourself

@github-actions github-actions bot added the Stale Even the uncaring universe rejects you, why even go on label Nov 29, 2023
@CMDRYouth
Copy link

Unstale this content the community is raging and demanding their bunny infusions back

@ophaq
Copy link
Contributor

ophaq commented Nov 29, 2023

Unstale this content the community is raging and demanding their bunny infusions back

This. We want our bnnuy back please!

@github-actions github-actions bot removed the Stale Even the uncaring universe rejects you, why even go on label Nov 30, 2023
Copy link
Contributor

github-actions bot commented Dec 8, 2023

This PR has been inactive for long enough to be automatically marked as stale. This means it is at risk of being auto closed in ~ 7 days, please address any outstanding review items and ensure your PR is finished, if these are all true and you are auto-staled anyway, you need to actively ask maintainers if your PR will be merged. Once you have done any of the previous actions then you should request a maintainer remove the stale label on your PR, to reset the stale timer. If you feel no maintainer will respond in that time, you may wish to close this PR youself, while you seek maintainer comment, as you will then be able to reopen the PR yourself

@github-actions github-actions bot added the Stale Even the uncaring universe rejects you, why even go on label Dec 8, 2023
@Iamgoofball
Copy link
Contributor Author

stale b gone

@github-actions github-actions bot removed the Stale Even the uncaring universe rejects you, why even go on label Dec 9, 2023
@Striders13
Copy link
Contributor

DONT LET THIS DIE GOOF!!!!!!!!!!

Copy link
Contributor

This PR has been inactive for long enough to be automatically marked as stale. This means it is at risk of being auto closed in ~ 7 days, please address any outstanding review items and ensure your PR is finished, if these are all true and you are auto-staled anyway, you need to actively ask maintainers if your PR will be merged. Once you have done any of the previous actions then you should request a maintainer remove the stale label on your PR, to reset the stale timer. If you feel no maintainer will respond in that time, you may wish to close this PR youself, while you seek maintainer comment, as you will then be able to reopen the PR yourself

@github-actions github-actions bot added the Stale Even the uncaring universe rejects you, why even go on label Dec 19, 2023
@nikothedude
Copy link
Contributor

goof... plesae...

@github-actions github-actions bot removed the Stale Even the uncaring universe rejects you, why even go on label Dec 21, 2023
@ophaq
Copy link
Contributor

ophaq commented Dec 27, 2023

Maybe we will get this by new years... MAYBE.

@optimumtact
Copy link
Member

obviously dead PR

@gueba14
Copy link

gueba14 commented Mar 7, 2024

I LOVED THIS
AND NOW NO ONE IS MAKING INFUSION PRS

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Feature Exposes new bugs in interesting ways Sprites A bikeshed full of soulless bikes.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet