-
-
Notifications
You must be signed in to change notification settings - Fork 1.3k
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
Gangs Rework Part 2: Vandalism and Graffiti #18986
base: master
Are you sure you want to change the base?
Gangs Rework Part 2: Vandalism and Graffiti #18986
Conversation
|
This has everything I'd want it to have. It's good that doing the floor graffiti gives significantly more points than simply smashing things, so there's an extra incentive to do that. Is there any kind of tracker to avoid boring point farming? Like... standing in one spot, and repeatedly breaking the floor tile and fixing it? Does fixing things in a department detract points? If not, maybe it should. |
boring shit like that is hard to code fixes for and is boring for players anyway. if its an issue ill do something about it. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Cool! Just did a minor styling/sanity check review, not in-depth
merging caused buggery. |
…Hooligan/goonstation into aint-nothin-like-a-funky-beat
I love this! Can I suggest breaking (or maybe only damaging to prevent depressurization) windows as well? |
already considered but if you're told smack a window and get points for it, odds are youre not gonna stop just because you arent getting number for it any more |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
tldr organize please
|
||
|
||
|
||
/obj/item/gang_machete |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
please put this in an organized file, not dump it here
@@ -2232,3 +2363,153 @@ ABSTRACT_TYPE(/datum/item_special/spark) | |||
if(progress == 1) | |||
state = ACTIONSTATE_FINISH | |||
return | |||
|
|||
|
|||
/datum/item_special/massacre |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ditto
@@ -1853,6 +1864,86 @@ ABSTRACT_TYPE(/datum/item_special/spark) | |||
playsound(master, 'sound/effects/swoosh.ogg', 50, FALSE) | |||
return | |||
|
|||
|
|||
/datum/item_special/graffiti |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ditto
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I absolutely love the new graffiti stuff, it feels great to use and the sprites look incredible!
But for the love of god in future please atomize these changes 🥺 this could have been at least 3 separate PRs very easily and would likely have gotten reviewed/merged a lot faster!
switch (length(spraycan.graffititargets)) | ||
if (1) | ||
duration = 4 SECONDS | ||
if (2) | ||
duration = 6 SECONDS | ||
if (3) | ||
duration = 8 SECONDS |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Might be a little smoother if you call updateBar
after this (and maybe also do it on start because the bar seems to stutter at first)
inventory_counter_enabled = TRUE | ||
w_class = W_CLASS_TINY | ||
|
||
update_icon() |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should call this on New
to set the initial counter.
category = "Consumable" | ||
|
||
/datum/gang_item/equipment/graffiti | ||
name = "'ProPaint' Spray Can" | ||
desc = "Non-permanent graffiti, great for vandalism & blinding the fuzz. Not able to claim territory." | ||
class2 = "consumable" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
consumable and consumable?
@@ -2422,7 +2422,7 @@ | |||
if (thr?.get_throw_travelled() <= 410) | |||
if (!((thr.throw_type & THROW_CHAIRFLIP) && ismob(hit))) | |||
random_brute_damage(src, min((6 + (thr?.get_throw_travelled() / 5)), (src.health - 5) < 0 ? src.health : (src.health - 5))) | |||
if (!src.hasStatus("knockdown")) | |||
if (!src.hasStatus("knockdown") && (thr.throw_type & THROW_BASEBALL)) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This changes global behaviour to make only baseball throws stun, I don't think that's what you want.
for(var/turf/T in list(one, two, three)) | ||
for(var/atom/movable/A in T) | ||
if(A in attacked) continue | ||
if(isliving(A)) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Make this a continue
guard too, cleaner
var/counter = 0 | ||
var/sound = 'sound/effects/electric_shock_short.ogg' | ||
var/count = 7 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Doc comment counter
and count
, easily confused var intent
onRemove() | ||
qdel(hud) | ||
hud = null | ||
. = ..() |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Double onRemove
definition (don't you just love that this is legal byond code?)
|
||
New() | ||
..() | ||
src.AddComponent(/datum/component/bloodflick) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
on_spin_emote(mob/user) | ||
SEND_SIGNAL(src, COMSIG_ITEM_TWIRLED, user, src) | ||
animate_spin(src, prob(50) ? "L" : "R", 1, 0) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What is this actually doing? It just seems to be recreating some of the base behaviour of the twirl
emote (and sending the signal twice). If you want the behaviour of the twirl emote then just make the user do the emote instead.
[GAMEMODES] [FEATURE] [QOL]
About the PR
Adds a new feature: Vandalism!
Occasionally, gangs are tasked with vandalising a department instead of having a duffle drop.
Vandalism includes:
Gang members must achieve 500 'Vandalism Points' by breaking stuff in the department, where the Duffle bag they're looking for will drop by their feet.
2024-05-18.06-00-36.mp4
Additional Features:
Graffiti special:
'Spray Burst' - A quick, harmless attack that temporarily blinds, defaces and disorients targets.
https://github.com/goonstation/goonstation/assets/6061314/93b8f3ef-b0bf-45fe-a901-9f549b106224
Baseball special:
'Baseball Swing' - Swipe, but knocks back on crit (15% chance)
Machete special:
'Butcher' - A risky all-in manoeuvre. Three quick low-damage swipes. If they all hit, the user sacrifices all their stamina to continue swinging until they're out of stamina or miss. If they miss, they take a few seconds of disorient.
https://github.com/goonstation/goonstation/assets/6061314/1149a1d5-933b-43fa-b915-776eeda58037
Machete special - Slasher
'Massacre' - Similar, but doesn't risk stamina. If the victim doesn't escape, damage escalates, then eventually delimbs, then decapitates.
https://github.com/goonstation/goonstation/assets/6061314/ee67e576-bbdc-47c9-ad7f-1c03769c98c9
Why's this needed?
More ways to get duffles reliably. Less dependence on players going along with it.
Also more gang/crew tension. Smashing a department has consequences...
Fixbatch for several QoL issues in there too, and a little more content for more gang variety.
Changelog