mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2025-12-28 19:11:22 +00:00
Merge branch 'master' of github.com:Baystation12/Baystation12
This commit is contained in:
@@ -296,7 +296,7 @@
|
||||
if (!ticker)
|
||||
user << "You can't buckle anyone in before the game starts."
|
||||
return 0
|
||||
if ((!( istype(M, /mob) ) || get_dist(src, user) >= 1 || M.loc != src.loc || user.restrained() || usr.stat || M.buckled))
|
||||
if ((!( istype(M, /mob) ) || get_dist(src, user) > 1 || M.loc != src.loc || user.restrained() || usr.stat || M.buckled))
|
||||
return 0
|
||||
if (M == usr)
|
||||
M.visible_message(\
|
||||
|
||||
@@ -1037,7 +1037,7 @@
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/mint
|
||||
|
||||
/datum/recipe/superbiteburger
|
||||
reagents = list("salt" = 5, "pepper" = 5)
|
||||
reagents = list("sodiumchloride" = 5, "blackpepper" = 5)
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/unfinished_superbiteburger,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/grown/tomato,
|
||||
|
||||
@@ -22,6 +22,7 @@
|
||||
var/s_tone = 0.0
|
||||
var/age = 30.0
|
||||
var/used_skillpoints = 0
|
||||
var/skill_specialization = null
|
||||
var/list/skills = null
|
||||
// var/b_type
|
||||
|
||||
|
||||
@@ -139,7 +139,7 @@
|
||||
else if(health < 0)
|
||||
var/pr = 15
|
||||
if(prob(pr))
|
||||
take_overall_damage(0, 1, used_weapon = "Bloodloss")
|
||||
take_overall_damage(1, 0, used_weapon = "Bloodloss")
|
||||
else if (stat != 0)
|
||||
if(!lying)
|
||||
lying = 1 //Seriously, stay down :x
|
||||
|
||||
@@ -116,6 +116,7 @@ datum/preferences
|
||||
disabilities = 0
|
||||
|
||||
used_skillpoints = 0
|
||||
skill_specialization = null
|
||||
list/skills = list() // skills can range from 0 to 3
|
||||
|
||||
New()
|
||||
@@ -129,6 +130,22 @@ datum/preferences
|
||||
if(!skills.Find(S.ID) || forced)
|
||||
skills[S.ID] = SKILL_NONE
|
||||
|
||||
proc/CalculateSkillPoints()
|
||||
used_skillpoints = 0
|
||||
for(var/V in SKILLS) for(var/datum/skill/S in SKILLS[V])
|
||||
var/multiplier = 2
|
||||
if(skill_specialization == S.field || S.field == "Misc")
|
||||
multiplier = 1
|
||||
switch(skills[S.ID])
|
||||
if(SKILL_NONE)
|
||||
used_skillpoints += 0 * multiplier
|
||||
if(SKILL_BASIC)
|
||||
used_skillpoints += 1 * multiplier
|
||||
if(SKILL_ADEPT)
|
||||
used_skillpoints += 3 * multiplier
|
||||
if(SKILL_EXPERT)
|
||||
used_skillpoints += 8 * multiplier
|
||||
|
||||
proc/GetSkillClass(points)
|
||||
// skill classes describe how your character compares in total points
|
||||
switch(points)
|
||||
@@ -136,19 +153,19 @@ datum/preferences
|
||||
return "Unconfigured"
|
||||
if(1 to 3)
|
||||
return "Talentless"
|
||||
if(4 to 6)
|
||||
if(3 to 6)
|
||||
return "Below Average"
|
||||
if(7 to 9)
|
||||
if(7 to 10)
|
||||
return "Average"
|
||||
if(10 to 12)
|
||||
if(11 to 12)
|
||||
return "Talented"
|
||||
if(13 to 15)
|
||||
return "Extremely Talented"
|
||||
if(16 to 18)
|
||||
return "Genius"
|
||||
if(19 to 21)
|
||||
if(19 to 20)
|
||||
return "True Genius"
|
||||
if(22 to 1000)
|
||||
if(21 to 1000)
|
||||
return "God"
|
||||
|
||||
proc/SetSkills(mob/user)
|
||||
@@ -165,7 +182,8 @@ datum/preferences
|
||||
HTML += "<a href=\"byond://?src=\ref[user];skills=1;preferences=1;preconfigured=1;\">Use preconfigured skillset</a><br>"
|
||||
HTML += "<table>"
|
||||
for(var/V in SKILLS)
|
||||
HTML += "<tr><th colspan = 5><b>[V]</b></th></tr>"
|
||||
HTML += "<tr><th colspan = 5><b><a href='byond://?src=\ref[user];preferences=1;skills=1;setspecialization=[V]'><font color=[(skill_specialization == V) ? "red" : "black"]>[V]</font></a></b>"
|
||||
HTML += "</th></tr>"
|
||||
for(var/datum/skill/S in SKILLS[V])
|
||||
var/level = skills[S.ID]
|
||||
HTML += "<tr style='text-align:left;'>"
|
||||
@@ -507,9 +525,8 @@ datum/preferences
|
||||
else if(link_tags["setskill"])
|
||||
var/datum/skill/S = locate(link_tags["setskill"])
|
||||
var/value = text2num(link_tags["newvalue"])
|
||||
var/current_value = skills[S.ID]
|
||||
used_skillpoints += value - current_value
|
||||
skills[S.ID] = value
|
||||
CalculateSkillPoints()
|
||||
SetSkills(user)
|
||||
else if(link_tags["preconfigured"])
|
||||
var/selected = input(user, "Select a skillset", "Skillset") as null|anything in SKILL_PRE
|
||||
@@ -517,10 +534,16 @@ datum/preferences
|
||||
|
||||
ZeroSkills(1)
|
||||
for(var/V in SKILL_PRE[selected])
|
||||
if(V == "field")
|
||||
skill_specialization = SKILL_PRE[selected]["field"]
|
||||
continue
|
||||
skills[V] = SKILL_PRE[selected][V]
|
||||
used_skillpoints = 0
|
||||
for(var/V in skills) used_skillpoints += skills[V]
|
||||
CalculateSkillPoints()
|
||||
|
||||
SetSkills(user)
|
||||
else if(link_tags["setspecialization"])
|
||||
skill_specialization = link_tags["setspecialization"]
|
||||
CalculateSkillPoints()
|
||||
SetSkills(user)
|
||||
else
|
||||
SetSkills(user)
|
||||
@@ -869,6 +892,7 @@ datum/preferences
|
||||
character.underwear = underwear == 1 ? pick(1,2,3,4,5) : 0
|
||||
|
||||
character.used_skillpoints = used_skillpoints
|
||||
character.skill_specialization = skill_specialization
|
||||
character.skills = skills
|
||||
|
||||
character.update_face()
|
||||
|
||||
@@ -143,6 +143,7 @@ datum/preferences/proc/savefile_save(mob/user, slot)
|
||||
|
||||
F["used_skillpoints"] << src.used_skillpoints
|
||||
F["skills"] << src.skills
|
||||
F["skill_specialization"] << src.skill_specialization
|
||||
|
||||
return 1
|
||||
|
||||
@@ -217,6 +218,7 @@ datum/preferences/proc/savefile_load(mob/user, slot)
|
||||
|
||||
F["used_skillpoints"] >> src.used_skillpoints
|
||||
F["skills"] >> src.skills
|
||||
F["skill_specialization"] >> src.skill_specialization
|
||||
if(!src.skills) src.skills = list()
|
||||
if(!src.used_skillpoints) src.used_skillpoints= 0
|
||||
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
var/global/const
|
||||
SKILL_NONE = 0
|
||||
SKILL_BASIC = 1
|
||||
SKILL_ADEPT = 3
|
||||
SKILL_EXPERT = 6
|
||||
SKILL_ADEPT = 2
|
||||
SKILL_EXPERT = 3
|
||||
|
||||
datum/skill/var
|
||||
ID = "none" // ID of the skill, used in code
|
||||
@@ -11,10 +11,10 @@ datum/skill/var
|
||||
field = "Misc" // the field under which the skill will be listed
|
||||
|
||||
var/global/list/SKILLS = null
|
||||
var/list/SKILL_ENGINEER = list("EVA" = SKILL_BASIC, "construction" = SKILL_ADEPT, "electrical" = SKILL_BASIC, "engines" = SKILL_ADEPT)
|
||||
var/list/SKILL_ROBOTICIST = list("devices" = SKILL_ADEPT, "electrical" = SKILL_BASIC, "computer" = SKILL_ADEPT, "anatomy" = SKILL_BASIC)
|
||||
var/list/SKILL_SECURITY_OFFICER = list("combat" = SKILL_BASIC, "weapons" = SKILL_ADEPT, "law" = SKILL_ADEPT, "forensics" = SKILL_BASIC)
|
||||
var/list/SKILL_CHEMIST = list("chemistry" = SKILL_ADEPT, "science" = SKILL_ADEPT, "medical" = SKILL_BASIC, "devices" = SKILL_BASIC)
|
||||
var/list/SKILL_ENGINEER = list("field" = "Engineering", "EVA" = SKILL_BASIC, "construction" = SKILL_ADEPT, "electrical" = SKILL_BASIC, "engines" = SKILL_ADEPT)
|
||||
var/list/SKILL_ROBOTICIST = list("field" = "Science", "devices" = SKILL_ADEPT, "electrical" = SKILL_BASIC, "computer" = SKILL_ADEPT, "anatomy" = SKILL_BASIC)
|
||||
var/list/SKILL_SECURITY_OFFICER = list("field" = "Security", "combat" = SKILL_BASIC, "weapons" = SKILL_ADEPT, "law" = SKILL_ADEPT, "forensics" = SKILL_BASIC)
|
||||
var/list/SKILL_CHEMIST = list("field" = "Science", "chemistry" = SKILL_ADEPT, "science" = SKILL_ADEPT, "medical" = SKILL_BASIC, "devices" = SKILL_BASIC)
|
||||
var/global/list/SKILL_PRE = list("Engineer" = SKILL_ENGINEER, "Roboticist" = SKILL_ROBOTICIST, "Security Officer" = SKILL_SECURITY_OFFICER, "Chemist" = SKILL_CHEMIST)
|
||||
|
||||
datum/skill/management
|
||||
@@ -106,24 +106,24 @@ datum/skill/pilot
|
||||
|
||||
datum/skill/medical
|
||||
ID = "medical"
|
||||
name = "Medical"
|
||||
name = "Medicine"
|
||||
desc = "Covers an understanding of the human body and medicine. At a low level, this skill is vital to perform basic first aid, such as CPR or applying bandages. At a high level, this skill implies a good understanding of the various medicines that can be found on a space station."
|
||||
field = "Science"
|
||||
field = "Medical"
|
||||
|
||||
datum/skill/anatomy
|
||||
ID = "anatomy"
|
||||
name = "Anatomy"
|
||||
desc = "Gives you a detailed insight of the human body. A high skill in this is required to perform surgery.This skill may also help in examining alien biology."
|
||||
field = "Science"
|
||||
field = "Medical"
|
||||
|
||||
datum/skill/virology
|
||||
ID = "virology"
|
||||
name = "Virology"
|
||||
desc = "This skill implies an understanding of microorganisms and their effects on humans."
|
||||
field = "Science"
|
||||
field = "Medical"
|
||||
|
||||
datum/skill/genetics
|
||||
ID = "genaetics"
|
||||
ID = "genetics"
|
||||
name = "Genetics"
|
||||
desc = "Implies an understanding of how DNA works and the structure of the human DNA."
|
||||
field = "Science"
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 2.3 KiB After Width: | Height: | Size: 2.5 KiB |
Reference in New Issue
Block a user