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
Updates the U.S.S.P/Soviets with a new look and new equipment for admin events. #16250
Conversation
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.
Looks good, a few things that can be tweaked to reduce bloat
code/datums/outfits/outfit_admin.dm
Outdated
suit = /obj/item/clothing/suit/sovietcoat/officer | ||
uniform = /obj/item/clothing/under/sovietofficer | ||
head = /obj/item/clothing/head/sovietofficerhat | ||
gloves = /obj/item/clothing/gloves/combat |
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 doesnt need to be specified
code/datums/outfits/outfit_admin.dm
Outdated
|
||
head = /obj/item/clothing/head/ushanka | ||
suit = /obj/item/clothing/suit/space/hardsuit/soviet | ||
gloves = /obj/item/clothing/gloves/combat |
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.
same
code/datums/outfits/outfit_admin.dm
Outdated
belt = null | ||
uniform = /obj/item/clothing/under/sovietadmiral | ||
head = /obj/item/clothing/head/sovietadmiralhat | ||
belt = /obj/item/gun/projectile/revolver/mateba | ||
gloves = /obj/item/clothing/gloves/combat |
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.
or this
code/datums/outfits/outfit_admin.dm
Outdated
belt = null | ||
uniform = /obj/item/clothing/under/sovietadmiral | ||
head = /obj/item/clothing/head/sovietadmiralhat | ||
belt = /obj/item/gun/projectile/revolver/mateba | ||
gloves = /obj/item/clothing/gloves/combat | ||
shoes = /obj/item/clothing/shoes/combat |
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.
or this
code/datums/outfits/outfit_admin.dm
Outdated
name = "Soviet Conscript" | ||
|
||
gloves = null | ||
l_ear = /obj/item/radio/headset/syndicate |
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.
l_ear = /obj/item/radio/headset/syndicate | |
l_ear = /obj/item/radio/headset/syndicate |
Move this to the base /datum/outfit/admin/soviet
and you can delete it in all the other outfits
code/datums/outfits/outfit_admin.dm
Outdated
gloves = /obj/item/clothing/gloves/combat | ||
shoes = /obj/item/clothing/shoes/combat | ||
head = /obj/item/clothing/head/hgpiratecap | ||
mask = 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.
Don't need to specify this either
code/datums/outfits/outfit_admin.dm
Outdated
mask = null | ||
l_ear = /obj/item/radio/headset/syndicate | ||
r_ear = null | ||
glasses = /obj/item/clothing/glasses/thermal/eyepatch | ||
l_pocket = null | ||
l_pocket = /obj/item/melee/classic_baton/telescopic | ||
r_pocket = null | ||
suit_store = null | ||
l_hand = 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.
or this
code/datums/outfits/outfit_admin.dm
Outdated
mask = null | ||
l_ear = /obj/item/radio/headset/syndicate | ||
r_ear = null | ||
glasses = /obj/item/clothing/glasses/thermal/eyepatch | ||
l_pocket = null | ||
l_pocket = /obj/item/melee/classic_baton/telescopic | ||
r_pocket = null | ||
suit_store = 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.
or this
code/datums/outfits/outfit_admin.dm
Outdated
mask = null | ||
l_ear = /obj/item/radio/headset/syndicate | ||
r_ear = null | ||
glasses = /obj/item/clothing/glasses/thermal/eyepatch | ||
l_pocket = null | ||
l_pocket = /obj/item/melee/classic_baton/telescopic | ||
r_pocket = 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.
or this
code/datums/outfits/outfit_admin.dm
Outdated
gloves = /obj/item/clothing/gloves/combat | ||
shoes = /obj/item/clothing/shoes/combat | ||
head = /obj/item/clothing/head/hgpiratecap | ||
mask = null | ||
l_ear = /obj/item/radio/headset/syndicate | ||
r_ear = 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.
or this
code/modules/projectiles/gun.dm
Outdated
@@ -35,6 +35,7 @@ | |||
var/semicd = 0 //cooldown handler | |||
var/weapon_weight = WEAPON_LIGHT | |||
var/list/restricted_species | |||
var/bolt_open = 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.
var/bolt_open = 0 | |
var/bolt_open = FALSE |
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.
@S34NW Thanks for the review!
I imagine people will have a lot of opinions about the loadout so I'm gonna wait for a bit before pushing my changes, but locally updated it like you said to remove the bloat :)
Okay so I guess I got usurped in remaking the USSP in terms of how they would look in-game, whatever I guess but since now I can't really continue in making what I was trying to do I can at least maybe share what I learned or made for my own project that I think would find a good home here too. And also making this basing on lore that is going to get changed in the coming months is bit of a meh idea, also it has a somewhat meme-y feel which I myself dont like. Good work on the sprites though. Wall of text time. General "issues":
More gameplay focused issues:
As I am a professional nitpicker I might update this list. |
@E-MonaRhg
Not a problem, I love the discussion and I'm grateful for the feedback! :) Regarding uniform/theme: I deliberately chose a world war 2 / early cold war aesthetic for a few reason.
Regarding names/ranks I thought about adding ranks, but I wanted to keep things generic. However, I think this could add a lot of fun flavor and I am very open to adding a rank naming feature similar to the ERT if people like it. Regarding loadout/balance Good thoughts on the loadout. My primary considerations for the loadout:
Thanks for taking the time to write. That's why I put up the PR, I wanted to hear people's thoughts. :) Also, yes, please, steal away and add all your cool ideas if this gets merged. Part of the fun of open source is adding on top of other ideas. If the ideas are good, make for fun gameplay, and people like it, then definitely put up a PR about it and see what the reaction is. |
Any soviet emergency box requires at least one bottle of Vodka! |
I love this.... I hope this is merged and hope it gets used for all kinds of nifty events and micro events |
Okay so this is quite literally sweeping the problem under a rug, which is putting what cluttered the bag, which is still cluttered by the way, into a box which is also cluttered full of useless stuff that will get tossed instantly.
The survival box and the command hardsuit are nice though, and are good additions, the red stripes on the hardsuits however, at least to me, don't really scream "leader" to me, a golden/yellow stripe, or red-gold one would fit better. |
I decided to remove the fluff items completely and optimize the inventory. AK-814
Marine inventory
|
To do list before this is ready:
|
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.
Ok I am gonna be blunt here.
This PR introduces a lot of additional checks and other excess, for the purposes of admins doing russian adminbus once every few months, and they can already get by with existing things.
I really question the need for this.
@@ -14,6 +14,7 @@ SUBSYSTEM_DEF(radio) | |||
"Special Ops" = DTH_FREQ, | |||
"Syndicate" = SYND_FREQ, | |||
"SyndTeam" = SYNDTEAM_FREQ, | |||
"Soviet" = SOV_FREQ, |
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.
Ok. Ill bite.
Why. Just why. Why do they need this? TSF doesn't have one, and there isn't "NT Radio" per say, its split into multiple departments. Wouldn't the soviets do the same?
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.
@AffectedArc07 the idea is that Paradise doesn't have any "third faction" / "neutral" force for the admins to use yet.
TSF is NT aligned and uses their channels, the syndicate is NT hostile and has their own channel. I thought it would make sense for the Soviets who are neither NT nor TSF aligned to have their own channel.
However I am open to handling this a different way if it doesn't make sense.
Cool stuff, really like the new sprites. Might I suggest that for your |
@AffectedArc07 Thanks for commenting. I added a lot because I want this to be a well polished and flavorful experience that is appealing for admins and players to actually use. This PR is meant to be an initial proof of concept and way to gather interest/feedback, so of course, no harm no foul if maintainers/headmins simply want to veto it. I totally understand. :) That said: The changes I've made are largely the same as the recent TSF update. The soviet names and radio are unique features, but are not adding any fundamentally new logic. They simply follow the already existing patterns. I hope this will not add much code bloat since it is just adding new variations, but, I defer to your expertise on this since I know you have a ton of experience on the matter. I would be interested to hear:
I hope what I've created is interesting enough to admins and players to be worth keeping however. I think that introducing a consistent third-party neutral faction is really interesting gameplay space for Paradise as a server, since the Soviets can fill many interesting roles where the syndicate or TSF wouldn't fit. I understand the concern of "This is a lot for just adminbus stuff", but if this initial PR is accepted, I would like to continue supporting it by adding discussions on the forums about admin event ideas and coded mid-round event ideas. I think there's enough here thematically to keep building, assuming the initial idea is liked by those in charge of Paradise. Thanks again for looking. |
Co-authored-by: AffectedArc07 <25063394+AffectedArc07@users.noreply.github.com>
/obj/item/storage/pill_bottle/sovietstimulants/New() | ||
..() | ||
new /obj/item/reagent_containers/food/pill/stimulative_agent( src ) | ||
new /obj/item/reagent_containers/food/pill/stimulative_agent( src ) | ||
new /obj/item/reagent_containers/food/pill/stimulative_agent( src ) | ||
new /obj/item/reagent_containers/food/pill/stimulative_agent( src ) |
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.
/obj/item/storage/pill_bottle/sovietstimulants/New() | |
..() | |
new /obj/item/reagent_containers/food/pill/stimulative_agent( src ) | |
new /obj/item/reagent_containers/food/pill/stimulative_agent( src ) | |
new /obj/item/reagent_containers/food/pill/stimulative_agent( src ) | |
new /obj/item/reagent_containers/food/pill/stimulative_agent( src ) | |
/obj/item/storage/pill_bottle/sovietstimulants/populate_contents() | |
new /obj/item/reagent_containers/food/pill/stimulative_agent(src) | |
new /obj/item/reagent_containers/food/pill/stimulative_agent(src) | |
new /obj/item/reagent_containers/food/pill/stimulative_agent(src) | |
new /obj/item/reagent_containers/food/pill/stimulative_agent(src) |
@SteelSlayer I switched to using populate_contents() and updated the mob icon. |
This PR has not yet received any approval from a maint, and two maint objections for the same reason Affected stated above. I'm closing this PR. |
What Does This PR Do
Adds equipment, uniforms, and quality of life features so that the U.S.S.P. can finally be used as a proper minor faction.
Why It's Good For The Game
In theory, the soviets are a perfect candidate for fun and interesting events. They can be used in friendly, neutral or hostile roles depending on the context, but unfortunately their existing implementation left much to be desired in both form and function.
This PR was inspired in part by the recent SolGov improvements. Now, the Soviets have enough interesting equipment of their own to act as a balance or counter to SolGov. Variety is the spice of life, and If these changes are approved by maintainers and enjoyed by the players, it can lay a foundation for future expansions to the U.S.S.P.
Images of changes
New gateway russians!
Old:
New
New AK-814 rifle.
Slightly weaker than the ARG with 5 less damage and 2 round burst instead of 3.
"Only elite units [are] issued locally-produced AK-814 rifle variants." - wiki
New SecHUD icons.
See images below.
Outfit Lists:
Updated admin quick outfit selection for Soviets.
When an admin applies any of these outfits, the mob will automatically be given a random Russian first/last name
Soviet Tourist
Mostly harmless. Probably visiting from a nearby station on holiday.
Soviet Conscript.
The last line of defense. Poorly armed with a bolt action rifle, a bayonet, some ammo, and a nagant revolver when all else fails. Would probably be pretty entertaining for the ghosts watching these guys try to fight anything.
Soviet Soldier
Generic soldier. Carries an APS automatic pistol and some ammo. Perfect for guard duty or more peaceful events.
Soviet Officer
For when you need someone to be in charge. Carries a classic russian .357 as his sidearm.
Soviet Marine
Soviet Marine Captain (edited, new unique hardsuit)
These guys are the real deal. This is for when admins want a strike team immediately and don't want to fiddle with the loadout. The Russians in the lore are all about hit and run warfare and speed, so everything in the loadout is geared towards this style. Their hardsuit has only a half penalty to speed and they are issued some illicit combat stimulant pills to get in and out quickly (4 pills, half as potent as the implant version and without the extra healing chems). Thermite and Emags for rapid insertion and the trusty AK to prevent anyone from getting in the way.
Also includes:
The marine Captain has a similar loadout to the marines, but wears a unique hardsuit and ID. For when you need to designate someone to be in charge of the mission.
Soviet Admiral
No longer wears that awful pirate suit, he's now got his own fancy uniform!
Misc updates:
Bayonet sprite fixed to not look bad on everything.
Old:
New:
Rifle sprite updates depending on the bolt state.
When testing the bolt action I realized it's actually really annoying to use when you can't see at a glance the bolt state, so changed it so that the sprite updates when the bolt is opened or closed.
Changelog
🆑
add: New uniforms, coats, hats, and hardsuit for Soviets
add: New uniforms for Gateway Russians
add: New weapon, the AK-814
add: Stimulative agent pills for use by elite Soviet soldiers
add: New admin outfit lists for easily spawning the updated Soviets
add: Russian names list. When an admin spawns a soviet outfit it automatically gives the mob a Russian name.
add: Soviet jobs appear on the SecHUD
add: New bayonet sprite
add: Bolt action rifle sprite now shows the state of the bolt
/:cl: