Skip to content
This repository has been archived by the owner on Dec 18, 2018. It is now read-only.

Skills #85

Merged
merged 17 commits into from Aug 21, 2018
Merged

Skills #85

merged 17 commits into from Aug 21, 2018

Conversation

Rohesie
Copy link
Collaborator

@Rohesie Rohesie commented Aug 10, 2018

  • Remove the majority of the skill locks, substituting them for ID locks , fumbling time or other penalties.
  • Tank access made. Tank is ID locked.
  • Dropship had spaghetti locks. Now they are only locked by ID, while lack of pilot skill forbids from optimizing the route and makes operating it slower.
  • Riot grenade launchers are ID locked to MPs and Spec weapons to specs. Those with a mind skill can use them without an ID, for Wey-Yu PMCs and other non-marine humans' access is unfinished.
  • Smartguns have no locks, but the non-trained user will suffer heavy recoil and accuracy penalties.
  • Scouts can use shotguns again.

@Rohesie
Copy link
Collaborator Author

Rohesie commented Aug 13, 2018

  • Everyone can use medevac stretchers and medical HUDs, or see medical reports.
  • Everyone can use defibs but at different speeds. Non-trained defibs don't heal (but still revive if the patient is under 200 non-oxy damage), low-skill heals 4 of each damage type per defib, medics heal 8 and doctors 12.
  • Everyone can use the autodoc, but they fumble if not trained in surgery.
  • Syringes are available to everyone, skill-based speeds unchanged.
  • Surgery is noticeably faster for all doctors. Medics take 10 seconds of fumbling on each step, those with basic first-aid and biology knowledge (like SLs, SOs, XOs, COs) take 15, and PFCs 20. Besides being one-second-per-skill-gap slower while actually performing the surgery.

Copy link
Contributor

@CosmicScientist CosmicScientist left a comment

Choose a reason for hiding this comment

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

Don't worry about keeping the code. There's no reason to if it's going to sit unused in comments.

var/fumbling_time = SKILL_TASK_TOUGH - ( SKILL_TASK_EASY * ( SKILL_SURGERY_PROFESSIONAL - user.mind.cm_skills.surgery ) ) // 8 secs non-trained, 5 amateur, 2 trained
if(!do_after(user, fumbling_time, TRUE, 5, BUSY_ICON_BUILD)) return
/*user << "<span class='warning'>You have no idea how to put someone into \the [src]!</span>"
return*/
Copy link
Contributor

Choose a reason for hiding this comment

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

Remove unused code, don't comment it out. The history of these files are tracked/deleted code can be recovered.

var/fumbling_time = 100 - 20 * usr.mind.cm_skills.pilot
if(!do_after(usr, fumbling_time, TRUE, 5, BUSY_ICON_BUILD)) return
/*usr << "<span class='warning'>A screen with graphics and walls of physics and engineering values open, you immediately force it closed.</span>"
return*/
Copy link
Contributor

Choose a reason for hiding this comment

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

here too

user << "<span class='warning'>You have no clue how this thing works...</span>"
return 0
return 0*/
Copy link
Contributor

Choose a reason for hiding this comment

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

beepboop

usr << "<span class='warning'>You're not trained to use this.</span>"
return
return*/
Copy link
Contributor

Choose a reason for hiding this comment

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

beepboop

/obj/item/reagent_container/hypospray/autoinjector/tricord/skillless
name = "\improper First-aid autoinjector"
desc = "An autoinjector loaded with a small dose of medicine for marines to treat themselves with."
skilllock = 0

*/
Copy link
Contributor

Choose a reason for hiding this comment

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

beepboop

/*var/turf/current_turf = get_turf(user)
if (current_turf.z == 3 || current_turf.z == 4) //Can't fire on the Almayer, bub.
click_empty(user)
user << "<span class='warning'>You can't fire that here!</span>"
return 0*/
if(user.mind && user.mind.cm_skills && user.mind.cm_skills.spec_weapons < SKILL_SPEC_TRAINED && user.mind.cm_skills.spec_weapons != SKILL_SPEC_ROCKET)
user << "<span class='warning'>You don't seem to know how to use [src]...</span>"
return 0
return 0*/ //GUN_SPECIALIST does the job
Copy link
Contributor

Choose a reason for hiding this comment

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

beepboop

var/fumbling_time = 100 - 20 * usr.mind.cm_skills.pilot
if(!do_after(usr, fumbling_time, TRUE, 5, BUSY_ICON_BUILD)) return
/*usr << "<span class='warning'>A screen with graphics and walls of physics and engineering values open, you immediately force it closed.</span>"
return*/
Copy link
Contributor

Choose a reason for hiding this comment

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

beepboop

var/fumbling_time = SKILL_TASK_FORMIDABLE - ( SKILL_TASK_AVERAGE * user.mind.cm_skills.surgery ) // 20 secs non-trained, 15 amateur, 10 semi-prof
if(!do_after(user, fumbling_time, TRUE, 5, BUSY_ICON_BUILD)) return
/*user << "<span class='warning'>You have no idea how to do surgery...</span>"
return 1*/
Copy link
Contributor

Choose a reason for hiding this comment

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

beepboop

H << "<span class='warning'>You don't seem to know how to operate [src].</span>"
return
return*/
Copy link
Contributor

Choose a reason for hiding this comment

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

boopbeep

var/fumbling_time = 100 - 20 * M.mind.cm_skills.large_vehicle
if(!do_after(M, fumbling_time, TRUE, 5, BUSY_ICON_BUILD)) return
/*M << "<span class='notice'>You have no idea how to operate this thing.</span>"
return*/
Copy link
Contributor

Choose a reason for hiding this comment

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

and that should be all of them.

@ninjanomnom
Copy link
Member

What cosmic said, also this is the sort of thing I'd want to testmerge before we fully merge. Seems mostly fine though.

@CosmicScientist
Copy link
Contributor

👍

@@ -144,13 +146,14 @@

/obj/machinery/computer/dropship_weapons/dropship1
name = "\improper 'Alamo' weapons controls"
req_access = list(ACCESS_MARINE_DROPSHIP)
New()
Copy link
Member

Choose a reason for hiding this comment

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

Oh god relative pathing, could you fix these wherever you see them if you touch on stuff nearby.

Just switch this to

/obj/machinery/computer/dropship_weapons/dropship1/New()

@ninjanomnom ninjanomnom added the Feature Broadens the scope of the game label Aug 16, 2018
@Iatots
Copy link

Iatots commented Aug 18, 2018

How do you fumble on the autodoc console? Do you add unnecessary surgeries to the queue? Remove previously entered surgeries?

Speaking of, maybe it's OOS but could you add removing queued up surgeries from autodoc?

@Rohesie
Copy link
Collaborator Author

Rohesie commented Aug 18, 2018

You simply take long to put someone into the autodoc. Could be added that you also fumble while using it, but it wouldn't make sense for the machine to work slower because you are not skilled. Your use of it is the part that is impaired, only.

You can remove queued up surgeries. What do you mean?

@Rohesie
Copy link
Collaborator Author

Rohesie commented Aug 19, 2018

Any further issues with this?

@Iatots
Copy link

Iatots commented Aug 19, 2018

Please give tanker boys lv2 engineering so they can take care of the best themselves.

Copy link
Member

@ninjanomnom ninjanomnom left a comment

Choose a reason for hiding this comment

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

I dislike how much duplicated code exists here but there isn't an easy way to just turn it in to a proc without giving it tons of args. Skill checks should get refactored eventually but this is fine for now.

@@ -31,6 +31,7 @@ most of them are tied into map-placed objects. This should be reworked in the fu
#define ACCESS_MARINE_PILOT 23
#define ACCESS_MARINE_WO 24
#define ACCESS_MARINE_RO 26
#define ACCESS_MARINE_TANK 30
Copy link
Member

Choose a reason for hiding this comment

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

27

@Rohesie Rohesie mentioned this pull request Aug 21, 2018
…ire without an ID. Scouts can fire shotguns again.
…tched skill locks to fumble times except for dropship flight optimization.
…can reports and medevac stretchers available for everyone. Defib, syringes, autodoc and surgery without hard locks, but with skill-related delays (and sometimes effectiveness variation).
…. First Aid Pouch now has regular tricord and tramadol autoinjectors, same for wall-mounted nanomeds.
…ed advanced kits heal 6 instead of 3. Trained kits unchanged, healing 12.
…ire without an ID. Scouts can fire shotguns again.
…tched skill locks to fumble times except for dropship flight optimization.
…can reports and medevac stretchers available for everyone. Defib, syringes, autodoc and surgery without hard locks, but with skill-related delays (and sometimes effectiveness variation).
@ninjanomnom ninjanomnom merged commit b482bcc into ColonialMarines-Mirror:master Aug 21, 2018
@Rohesie Rohesie deleted the Skills branch September 5, 2018 23:56
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Feature Broadens the scope of the game
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants