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

Updates the U.S.S.P/Soviets with a new look and new equipment for admin events. #16250

Closed
wants to merge 13 commits into from

Conversation

Stokes52
Copy link
Contributor

@Stokes52 Stokes52 commented Jun 25, 2021

What Does This PR Do

soviet_banner_v2

Adds equipment, uniforms, and quality of life features so that the U.S.S.P. can finally be used as a proper minor faction.

  • Adds new uniforms, jackets, hats, and hardsuits for Soviets in various ranks (see images)
  • Adds the AK-814. Previously only mentioned in the lore, now it really exists!
    • Uses new 5.45mm ammo
    • Semi and two round burst mode.
    • Has a bayonet lug
    • Overall, slightly weaker than the ARG (5 less damage, 1 less burst)
  • Updated sprites for Gateway Russians
  • New and updated outfit lists for admins to easily spawn the new Soviets
    • Admin spawned soviets will be given a random Russian name.
  • Soviet jobs will now show up on SecHUDs
  • Misc quality of life updates
    • The bolt action rifle sprite now shows if the bolt is open or closed
    • The bayonet sprite has been updated so it doesn't look awful on every gun

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:
og_russians

New
russians_new_v2

New AK-814 rifle.

Slightly weaker than the ARG with 5 less damage and 2 round burst instead of 3.

ak-814 v2

"Only elite units [are] issued locally-produced AK-814 rifle variants." - wiki

  • Shoots 5.45mm ammo
  • 30 round mag
  • 2 round burst, 30 damage
  • Able to attach a bayonet

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
sov_tourist
Mostly harmless. Probably visiting from a nearby station on holiday.

Soviet Conscript.
sov_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
sov_soldier
Generic soldier. Carries an APS automatic pistol and some ammo. Perfect for guard duty or more peaceful events.

Soviet Officer
sov_officer
For when you need someone to be in charge. Carries a classic russian .357 as his sidearm.

Soviet Marine
sov_marine

Soviet Marine Captain (edited, new unique hardsuit)
soviet_marine_officerv2

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:

  • Night vision goggles
  • Bayonet
  • Syndicate smokes

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
sov_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:
bayonet_old

New:
bayonet_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.

boltaction

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:

@FreeStylaLT
Copy link
Contributor

image

Copy link
Member

@S34NW S34NW left a 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

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
Copy link
Member

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


head = /obj/item/clothing/head/ushanka
suit = /obj/item/clothing/suit/space/hardsuit/soviet
gloves = /obj/item/clothing/gloves/combat
Copy link
Member

Choose a reason for hiding this comment

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

same

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
Copy link
Member

Choose a reason for hiding this comment

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

or this

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
Copy link
Member

Choose a reason for hiding this comment

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

or this

name = "Soviet Conscript"

gloves = null
l_ear = /obj/item/radio/headset/syndicate
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
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

gloves = /obj/item/clothing/gloves/combat
shoes = /obj/item/clothing/shoes/combat
head = /obj/item/clothing/head/hgpiratecap
mask = null
Copy link
Member

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

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
Copy link
Member

Choose a reason for hiding this comment

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

or this

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
Copy link
Member

Choose a reason for hiding this comment

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

or this

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
Copy link
Member

Choose a reason for hiding this comment

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

or this

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
Copy link
Member

Choose a reason for hiding this comment

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

or this

@@ -35,6 +35,7 @@
var/semicd = 0 //cooldown handler
var/weapon_weight = WEAPON_LIGHT
var/list/restricted_species
var/bolt_open = 0
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
var/bolt_open = 0
var/bolt_open = FALSE

Copy link
Contributor Author

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 :)

@ElorgRHG
Copy link
Contributor

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.
Also if this gets merged I am 100% unequivocally positive that I will yoink and strip this for parts and put some of my own ideas in a PR similar to #16151.

Wall of text time.

General "issues":

  • the general feel seems more on the mid-WW2 USSR look more than anything, more on the RETRO-futuristic side of things
  • they also look like they're wearing service uniforms into battle when they should be wearing utility uniforms
  • leather satchels instead of more "military" style backpacks
  • the USSR, now Russia, did not use the term "Marines" they used "Naval Infantry" instead, and well we already have the TSF Marines so naming them both almost the same is a bit confusing
  • the AK-814, two things about it, the carbine variant seems unnecessary, just variety for the sake of variety and well bullpup "AKs" dont really make you think "oh hey that's an AK", I myself think it would be better to just have a rifle variant or replace the rifle with a retro-futuristic PPSH or maybe a Saiga. There are a lot of iconic Soviet weapons to pick from

More gameplay focused issues:

  • the "Soviet Marine" and "Soviet Marine Captain" look exactly the same, yes the captain has a cap but 1. it blocks the hardsuit helmet so most players would just toss it aside, 2. why would you wear it anyway? A command version of the hardsuit would seem like a better idea.
  • the "Soviet Marine" loadout inventory is really unoptimised. Starting with an useless ushanka instead of the hardsuit helmet being deployed, the rifle variant of the AK on the belt, meaning the mags for it go into the bag, which has a LOT of stuff in it already. Moving some things around, putting the AK on the suit slot or in-hand, giving them an assault belt with the mags, a lockbox with T4, an ERT style communist survival box with the knife, cigarettes and zippo (honestly these seem like unnecessary clutter, even if the syndie cigs heal), etc in it would be a better idea.
  • same as the above for the "Soviet Marine Captain" but somewhat worse
  • the "Soviet Admiral" loadout is really lacking in any equipment
  • none of the actual soldier loadouts have military ranks when compared to the TSF marines and ERTs.
  • compared to other combat oriented roles, such as the TSF marines and the security ERT, the soviet uniform doesn't have any armor. Would be a good idea to give a un-armored service uniform variant for the players and the utility armored variant for the loadouts.

As I am a professional nitpicker I might update this list.

@Stokes52
Copy link
Contributor Author

Stokes52 commented Jun 25, 2021

@E-MonaRhg

Wall of text time.

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.

  • The U.S.S.P is clearly meant to pay homage to the historical U.S.S.R, even going so far as to appropriate its name and symbols. I would say the most iconic and "powerful" form of that imagery is the Soviet union fighting in the second great war.
    • I imagine when the U.S.S.P was being formed, the organizers decided to appropriate historical imagery to bolster the legitimacy of their movement and capture people's attention. What better way than using an incredibly iconic look from the past empire they are trying to emulate?
    • As an example, the Roman empire spanned many many years and their armies underwent many many changes, but today, when you think "Roman Legionnaire", you probably think of this guy even though this uniform was only used in a very limited time frame. I imagine the U.S.S.P designers did the same, thing, opened a history book and chose the most iconic styles from the empire they are attempting to emulate.
  • The soviets here are not meant to fight in their uniforms. They fight in hardsuits, just like the syndicate. This makes sense given the setting which is space. It also explains why under-uniforms can be a little more decorative in this advanced era because most of the fighting would take place in space with a space suit covering all your clothes.
  • Backpacks: I think they all look really really ugly in SS13, and I much prefer the satchel look. However, it's a good point, and I could think about using it for some of the combat roles instead.
  • Regarding the gun:
    • How to make something look futuristic and new yet evoke an iconic look. Always a tricky balance. My solution was to make something inspired by futuristic bullpup AK designs with a fancy plum polymer furniture like the kind you can find on some modern AK-74s. Hopefully I struck a decent balance but taste is subjective and I know some people don't like bullpups.

Regarding names/ranks
While "Naval Infantry" is what they are called in Russian, in English they are still often referred to as marines and "naval infantry" is what that word means. The only place it's used ingame is an ID card and I think "Marine" gets the point across quickly. Also makes it easier for admins to search "marine" if they need SolGov or Soviet battle troopers.

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:

  • The captain/marine hat is there for flavor and I totally expect players to drop them if they are going fighting, but they also look fun and good if they are just RPing. However, it's a good point that it's clunky and I may do something different, like put it in the bag instead and default to helmet up. I ultimately didn't add a command hardsuit, but I could see there being a good argument for adding one.
  • The idea of a soviet emergency box is actually a great idea, I'll think about that one more.
  • I avoided a belt because I wanted a cleaner sprite look and because currently even things like the ERT don't use a combat belt. They just wear their guns on their belt slot and I chose to do the same thing. I suppose it could be a good option on the marines though for organization.
  • The soviet admiral is just a base loadout for admins to start with. I didn't expect them to go anywhere or do anything except give instructions, probably, but I am open to adding more items if it will bring convenience to the admins who would use it.
  • None of these uniforms are meant to be combat uniforms. These Russians use their hardsuit as their combat uniform. All the other clothes are more for diplomatic or garrison functions. However this PR is just a start, and if others want to contribute cloth combat uniforms that would be great! I thought just using the hardsuit for battle was fine and its similar to how the syndicate already works.

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.

@Coolrune206
Copy link
Contributor

The idea of a soviet emergency box is actually a great idea, I'll think about that one more.

Any soviet emergency box requires at least one bottle of Vodka!

@AffectedArc07 AffectedArc07 added the Tweak This PR tweaks something ingame label Jun 25, 2021
@Carthusia
Copy link

I love this....

I hope this is merged and hope it gets used for all kinds of nifty events and micro events

@Stokes52
Copy link
Contributor Author

Added marine commander hardsuit. Marines now start with helmets up.
command_suit

Reorganized a lot of the equipment to remove code redundancies, made a new soviet o2 box, and put the elite marine equipment into its own box for better inventory management and so admins can easily add to other people's inventories.
box

@ElorgRHG
Copy link
Contributor

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.
Quite a sub-standard solution at best.

  • why give the "Soviet Marine" loadout sunglasses on start when they have NV goggles, now in the box? The sunglasses are literally useless considering that the hardsuit helmet protects against flashes.
  • several useless items that previously cluttered the bag now clutter the box: the (new) instruction, the vodka, the zippo, the cigarettes (these ones heal though so whatever), the completely useless initropidril pill
  • moved the cap to the bag and thus cluttering it even more
  • still no belt which would alleviate or fix the clutter issue
  • the pockets are left unused

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.

@Stokes52
Copy link
Contributor Author

Stokes52 commented Jun 28, 2021

I decided to remove the fluff items completely and optimize the inventory.

AK-814

  • Removed AK carbine variant (the two variants weren't different enough to justify two items I think. May consider adding the carbine as an alt skin?)
  • Made the default AK a "normal" size item

Marine inventory

  • Removed the extra box, instead the ammo/T4/pills are in the new combat belt the marines wear
  • Removed sunglasses, put the night vision in the eyes slot (I forgot the hardsuit already blocks flashes).
  • Make them wear the gas mask at start
  • Removed all the fluff items (vodka, papers, hat etc)
  • Emag and baton are in the pockets

@Stokes52
Copy link
Contributor Author

Stokes52 commented Jun 30, 2021

To do list before this is ready:

  • Add Neo-Russkiya language to mobs when soviet outfit is equipped. What kind of Russians don't speak Russian?!
  • Add jetpack to hardsuit. Otherwise the space marines will be absolutely useless for space invasions.
  • Add a new "Soviet" radio channel. It doesn't really make sense for them to be on the syndicate channel. The soviets won't always be syndicate aligned and giving them their own channel will allow admins to use them in more interesting ways (aligned with/against the syndicate or with/against the cyberiad without having weird meta issues due to sharing comms)

@Stokes52
Copy link
Contributor Author

Added:

  • Jetpack + double o2 tank to marine inventory
  • Updated grammar (Soviet adjective capitalized and items marked as improper nouns)
  • Soviets spawned by admins are given the Neo-Russkiya language.
  • Soviets now have their own radio channel:
    radio_dark
    radio_light

This PR should be feature complete and ready to go (barring any code review changes needed).

Copy link
Member

@AffectedArc07 AffectedArc07 left a 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,
Copy link
Member

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?

Copy link
Contributor Author

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.

code/datums/outfits/outfit_admin.dm Outdated Show resolved Hide resolved
@SteelSlayer
Copy link
Member

SteelSlayer commented Jun 30, 2021

Cool stuff, really like the new sprites. Might I suggest that for your russianrangedelite mob sprite, you give him a better inhand for his gun? You could give him the sprite of your new AK rifle. Something other then his current grey stick, anyway.

@Stokes52
Copy link
Contributor Author

Stokes52 commented Jun 30, 2021

@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:

  • What areas of this PR are you most concerned about regarding code bloat/tech debt? (What do you think should be removed/improved?)
  • Are there any parts of this PR you think are good (What to keep? If anything?)

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>
Comment on lines 39 to 44
/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 )
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
/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)

@Stokes52
Copy link
Contributor Author

Stokes52 commented Jul 1, 2021

@SteelSlayer I switched to using populate_contents() and updated the mob icon.
russians_new_v2

@github-actions github-actions bot added the Merge Conflict This PR is merge conflicted label Jul 8, 2021
@variableundefined
Copy link
Contributor

variableundefined commented Jul 27, 2021

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Merge Conflict This PR is merge conflicted Tweak This PR tweaks something ingame
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

10 participants