mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-11 10:43:20 +00:00
Merge remote-tracking branch 'upstream/dev-freeze' into dev
This commit is contained in:
@@ -396,7 +396,7 @@
|
|||||||
control_computer.frozen_crew += "[occupant.real_name]"
|
control_computer.frozen_crew += "[occupant.real_name]"
|
||||||
|
|
||||||
announce.autosay("[occupant.real_name] [on_store_message]", "[on_store_name]")
|
announce.autosay("[occupant.real_name] [on_store_message]", "[on_store_name]")
|
||||||
visible_message("<span class='notice'>\The [src] hums and hisses as it moves [occupant.real_name] into storage.</span>", 3)
|
visible_message("<span class='notice'>\The [initial(name)] hums and hisses as it moves [occupant.real_name] into storage.</span>", 3)
|
||||||
|
|
||||||
set_occupant(null)
|
set_occupant(null)
|
||||||
// Delete the mob.
|
// Delete the mob.
|
||||||
@@ -555,7 +555,7 @@
|
|||||||
src.occupant = occupant
|
src.occupant = occupant
|
||||||
name = initial(name)
|
name = initial(name)
|
||||||
if(occupant)
|
if(occupant)
|
||||||
name = "[name] ([occupant])]"
|
name = "[name] ([occupant])"
|
||||||
|
|
||||||
|
|
||||||
//Attacks/effects.
|
//Attacks/effects.
|
||||||
|
|||||||
@@ -123,23 +123,6 @@
|
|||||||
else
|
else
|
||||||
user << "<span class='notice'>The [affecting.display_name] is cut open, you'll need more than a bandage!</span>"
|
user << "<span class='notice'>The [affecting.display_name] is cut open, you'll need more than a bandage!</span>"
|
||||||
|
|
||||||
/obj/item/stack/medical/bruise_pack/tajaran
|
|
||||||
name = "\improper S'rendarr's Hand leaf"
|
|
||||||
singular_name = "S'rendarr's Hand leaf"
|
|
||||||
desc = "A poultice made of soft leaves that is rubbed on bruises."
|
|
||||||
//icon = 'icons/obj/harvest.dmi'
|
|
||||||
icon_state = "shandp"
|
|
||||||
heal_brute = 7
|
|
||||||
|
|
||||||
/obj/item/stack/medical/ointment/tajaran
|
|
||||||
name = "\improper Messa's Tear petals"
|
|
||||||
singular_name = "Messa's Tear petals"
|
|
||||||
desc = "A poultice made of cold, blue petals that is rubbed on burns."
|
|
||||||
//icon = 'icons/obj/harvest.dmi'
|
|
||||||
icon_state = "mtearp"
|
|
||||||
heal_burn = 7
|
|
||||||
|
|
||||||
|
|
||||||
/obj/item/stack/medical/advanced/bruise_pack
|
/obj/item/stack/medical/advanced/bruise_pack
|
||||||
name = "advanced trauma kit"
|
name = "advanced trauma kit"
|
||||||
singular_name = "advanced trauma kit"
|
singular_name = "advanced trauma kit"
|
||||||
|
|||||||
12
code/modules/client/preferences.dm
Executable file → Normal file
12
code/modules/client/preferences.dm
Executable file → Normal file
@@ -171,16 +171,16 @@ datum/preferences
|
|||||||
used_skillpoints += 6 * multiplier
|
used_skillpoints += 6 * multiplier
|
||||||
|
|
||||||
/datum/preferences/proc/GetSkillClass(points)
|
/datum/preferences/proc/GetSkillClass(points)
|
||||||
|
return CalculateSkillClass(points, age)
|
||||||
|
|
||||||
|
/proc/CalculateSkillClass(points, age)
|
||||||
|
if(points <= 0) return "Unconfigured"
|
||||||
// skill classes describe how your character compares in total points
|
// skill classes describe how your character compares in total points
|
||||||
var/original_points = points
|
|
||||||
points -= min(round((age - 20) / 2.5), 4) // every 2.5 years after 20, one extra skillpoint
|
points -= min(round((age - 20) / 2.5), 4) // every 2.5 years after 20, one extra skillpoint
|
||||||
if(age > 30)
|
if(age > 30)
|
||||||
points -= round((age - 30) / 5) // every 5 years after 30, one extra skillpoint
|
points -= round((age - 30) / 5) // every 5 years after 30, one extra skillpoint
|
||||||
if(original_points > 0 && points <= 0) points = 1
|
|
||||||
switch(points)
|
switch(points)
|
||||||
if(0)
|
if(-1000 to 3)
|
||||||
return "Unconfigured"
|
|
||||||
if(1 to 3)
|
|
||||||
return "Terrifying"
|
return "Terrifying"
|
||||||
if(4 to 6)
|
if(4 to 6)
|
||||||
return "Below Average"
|
return "Below Average"
|
||||||
@@ -394,7 +394,7 @@ datum/preferences
|
|||||||
|
|
||||||
dat += "<b><a href=\"byond://?src=\ref[user];preference=antagoptions;active=0\">Set Antag Options</b></a><br>"
|
dat += "<b><a href=\"byond://?src=\ref[user];preference=antagoptions;active=0\">Set Antag Options</b></a><br>"
|
||||||
|
|
||||||
dat += "\t<a href=\"byond://?src=\ref[user];preference=skills\"><b>Set Skills</b> (<i>[GetSkillClass(used_skillpoints)][used_skillpoints > 0 ? " [used_skillpoints]" : "0"])</i></a><br>"
|
dat += "\t<a href=\"byond://?src=\ref[user];preference=skills\"><b>Set Skills</b> (<i>[GetSkillClass(used_skillpoints)] [used_skillpoints > 0 ? "[used_skillpoints]" : "0"]</i>)</a><br>"
|
||||||
|
|
||||||
dat += "<a href='byond://?src=\ref[user];preference=flavor_text;task=open'><b>Set Flavor Text</b></a><br>"
|
dat += "<a href='byond://?src=\ref[user];preference=flavor_text;task=open'><b>Set Flavor Text</b></a><br>"
|
||||||
dat += "<a href='byond://?src=\ref[user];preference=flavour_text_robot;task=open'><b>Set Robot Flavour Text</b></a><br>"
|
dat += "<a href='byond://?src=\ref[user];preference=flavour_text_robot;task=open'><b>Set Robot Flavour Text</b></a><br>"
|
||||||
|
|||||||
@@ -319,6 +319,7 @@
|
|||||||
del(src)
|
del(src)
|
||||||
return
|
return
|
||||||
|
|
||||||
|
/*
|
||||||
if(seed.kitchen_tag)
|
if(seed.kitchen_tag)
|
||||||
switch(seed.kitchen_tag)
|
switch(seed.kitchen_tag)
|
||||||
if("shand")
|
if("shand")
|
||||||
@@ -333,6 +334,7 @@
|
|||||||
user << "<span class='notice'>You mash the petals into a poultice.</span>"
|
user << "<span class='notice'>You mash the petals into a poultice.</span>"
|
||||||
del(src)
|
del(src)
|
||||||
return
|
return
|
||||||
|
*/
|
||||||
|
|
||||||
/obj/item/weapon/reagent_containers/food/snacks/grown/pickup(mob/user)
|
/obj/item/weapon/reagent_containers/food/snacks/grown/pickup(mob/user)
|
||||||
..()
|
..()
|
||||||
|
|||||||
@@ -59,7 +59,7 @@
|
|||||||
set_trait(TRAIT_HIGHKPA_TOLERANCE, 200) // High pressure capacity.
|
set_trait(TRAIT_HIGHKPA_TOLERANCE, 200) // High pressure capacity.
|
||||||
set_trait(TRAIT_IDEAL_HEAT, 293) // Preferred temperature in Kelvin.
|
set_trait(TRAIT_IDEAL_HEAT, 293) // Preferred temperature in Kelvin.
|
||||||
set_trait(TRAIT_NUTRIENT_CONSUMPTION, 0.25) // Plant eats this much per tick.
|
set_trait(TRAIT_NUTRIENT_CONSUMPTION, 0.25) // Plant eats this much per tick.
|
||||||
set_trait(TRAIT_PLANT_COLOUR, "#6EF86A") // Colour of the plant icon.
|
set_trait(TRAIT_PLANT_COLOUR, "#46B543") // Colour of the plant icon.
|
||||||
|
|
||||||
spawn(5)
|
spawn(5)
|
||||||
sleep(-1)
|
sleep(-1)
|
||||||
@@ -142,6 +142,17 @@
|
|||||||
if(!get_trait(TRAIT_STINGS))
|
if(!get_trait(TRAIT_STINGS))
|
||||||
return
|
return
|
||||||
if(chems && chems.len)
|
if(chems && chems.len)
|
||||||
|
|
||||||
|
var/body_coverage = HEAD|FACE|EYES|UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS
|
||||||
|
|
||||||
|
for(var/obj/item/clothing/clothes in target)
|
||||||
|
if(target.l_hand == clothes|| target.r_hand == clothes)
|
||||||
|
continue
|
||||||
|
body_coverage &= ~(clothes.body_parts_covered)
|
||||||
|
|
||||||
|
if(!body_coverage)
|
||||||
|
return
|
||||||
|
|
||||||
target << "<span class='danger'>You are stung by \the [fruit]!</span>"
|
target << "<span class='danger'>You are stung by \the [fruit]!</span>"
|
||||||
for(var/rid in chems)
|
for(var/rid in chems)
|
||||||
var/injecting = min(5,max(1,get_trait(TRAIT_POTENCY)/5))
|
var/injecting = min(5,max(1,get_trait(TRAIT_POTENCY)/5))
|
||||||
|
|||||||
@@ -241,7 +241,7 @@
|
|||||||
set_trait(TRAIT_PRODUCTION,6)
|
set_trait(TRAIT_PRODUCTION,6)
|
||||||
set_trait(TRAIT_YIELD,5)
|
set_trait(TRAIT_YIELD,5)
|
||||||
set_trait(TRAIT_POTENCY,10)
|
set_trait(TRAIT_POTENCY,10)
|
||||||
set_trait(TRAIT_PRODUCT_ICON,"treefruit")
|
set_trait(TRAIT_PRODUCT_ICON,"apple")
|
||||||
set_trait(TRAIT_PRODUCT_COLOUR,"#FF540A")
|
set_trait(TRAIT_PRODUCT_COLOUR,"#FF540A")
|
||||||
set_trait(TRAIT_PLANT_ICON,"tree2")
|
set_trait(TRAIT_PLANT_ICON,"tree2")
|
||||||
|
|
||||||
@@ -419,7 +419,7 @@
|
|||||||
set_trait(TRAIT_POTENCY,10)
|
set_trait(TRAIT_POTENCY,10)
|
||||||
set_trait(TRAIT_PRODUCT_ICON,"mushroom")
|
set_trait(TRAIT_PRODUCT_ICON,"mushroom")
|
||||||
set_trait(TRAIT_PRODUCT_COLOUR,"#FF4545")
|
set_trait(TRAIT_PRODUCT_COLOUR,"#FF4545")
|
||||||
set_trait(TRAIT_PLANT_COLOUR,"#F5F2D0")
|
set_trait(TRAIT_PLANT_COLOUR,"#E0DDBA")
|
||||||
set_trait(TRAIT_PLANT_ICON,"mushroom4")
|
set_trait(TRAIT_PLANT_ICON,"mushroom4")
|
||||||
|
|
||||||
/datum/seed/mushroom/poison/death
|
/datum/seed/mushroom/poison/death
|
||||||
@@ -466,7 +466,6 @@
|
|||||||
set_trait(TRAIT_SPREAD,1)
|
set_trait(TRAIT_SPREAD,1)
|
||||||
set_trait(TRAIT_MATURATION,15)
|
set_trait(TRAIT_MATURATION,15)
|
||||||
set_trait(TRAIT_YIELD,3)
|
set_trait(TRAIT_YIELD,3)
|
||||||
set_trait(TRAIT_EXPLOSIVE,1)
|
|
||||||
set_trait(TRAIT_POTENCY,30)
|
set_trait(TRAIT_POTENCY,30)
|
||||||
set_trait(TRAIT_BIOLUM,1)
|
set_trait(TRAIT_BIOLUM,1)
|
||||||
set_trait(TRAIT_BIOLUM_COLOUR,"#006622")
|
set_trait(TRAIT_BIOLUM_COLOUR,"#006622")
|
||||||
@@ -585,7 +584,7 @@
|
|||||||
set_trait(TRAIT_YIELD,6)
|
set_trait(TRAIT_YIELD,6)
|
||||||
set_trait(TRAIT_POTENCY,10)
|
set_trait(TRAIT_POTENCY,10)
|
||||||
set_trait(TRAIT_PRODUCT_ICON,"potato")
|
set_trait(TRAIT_PRODUCT_ICON,"potato")
|
||||||
set_trait(TRAIT_PRODUCT_COLOUR,"#96855D")
|
set_trait(TRAIT_PRODUCT_COLOUR,"#C4AE7A")
|
||||||
set_trait(TRAIT_PLANT_ICON,"bush2")
|
set_trait(TRAIT_PLANT_ICON,"bush2")
|
||||||
|
|
||||||
/datum/seed/cabbage
|
/datum/seed/cabbage
|
||||||
@@ -919,8 +918,9 @@
|
|||||||
set_trait(TRAIT_YIELD,3)
|
set_trait(TRAIT_YIELD,3)
|
||||||
set_trait(TRAIT_POTENCY,10)
|
set_trait(TRAIT_POTENCY,10)
|
||||||
set_trait(TRAIT_PRODUCT_ICON,"cherry")
|
set_trait(TRAIT_PRODUCT_ICON,"cherry")
|
||||||
set_trait(TRAIT_PRODUCT_COLOUR,"#8C0101")
|
set_trait(TRAIT_PRODUCT_COLOUR,"#A80000")
|
||||||
set_trait(TRAIT_PLANT_ICON,"tree2")
|
set_trait(TRAIT_PLANT_ICON,"tree2")
|
||||||
|
set_trait(TRAIT_PLANT_COLOUR,"#2F7D2D")
|
||||||
|
|
||||||
/datum/seed/kudzu
|
/datum/seed/kudzu
|
||||||
name = "kudzu"
|
name = "kudzu"
|
||||||
|
|||||||
@@ -66,7 +66,13 @@
|
|||||||
victim.buckled = src
|
victim.buckled = src
|
||||||
victim.update_canmove()
|
victim.update_canmove()
|
||||||
buckled_mob = victim
|
buckled_mob = victim
|
||||||
if(victim.loc != get_turf(src))
|
if(!victim.anchored && !victim.buckled && victim.loc != get_turf(src))
|
||||||
src.visible_message("<span class='danger'>Tendrils lash out from \the [src] and drag \the [victim] in!</span>")
|
var/can_grab = 1
|
||||||
victim.loc = src.loc
|
if(istype(victim, /mob/living/carbon/human))
|
||||||
|
var/mob/living/carbon/human/H = victim
|
||||||
|
if(istype(H.shoes, /obj/item/clothing/shoes/magboots) && (H.shoes.flags & NOSLIP))
|
||||||
|
can_grab = 0
|
||||||
|
if(can_grab)
|
||||||
|
src.visible_message("<span class='danger'>Tendrils lash out from \the [src] and drag \the [victim] in!</span>")
|
||||||
|
victim.loc = src.loc
|
||||||
victim << "<span class='danger'>Tendrils [pick("wind", "tangle", "tighten")] around you!</span>"
|
victim << "<span class='danger'>Tendrils [pick("wind", "tangle", "tighten")] around you!</span>"
|
||||||
|
|||||||
@@ -197,6 +197,7 @@ var/list/ai_verbs_default = list(
|
|||||||
|
|
||||||
/mob/living/silicon/ai/Del()
|
/mob/living/silicon/ai/Del()
|
||||||
ai_list -= src
|
ai_list -= src
|
||||||
|
del(eyeobj)
|
||||||
..()
|
..()
|
||||||
|
|
||||||
/mob/living/silicon/ai/pointed(atom/A as mob|obj|turf in view())
|
/mob/living/silicon/ai/pointed(atom/A as mob|obj|turf in view())
|
||||||
|
|||||||
@@ -113,7 +113,7 @@
|
|||||||
robot_modules_background.layer = 19 //Objects that appear on screen are on layer 20, UI should be just below it.
|
robot_modules_background.layer = 19 //Objects that appear on screen are on layer 20, UI should be just below it.
|
||||||
ident = rand(1, 999)
|
ident = rand(1, 999)
|
||||||
module_sprites["Basic"] = "robot"
|
module_sprites["Basic"] = "robot"
|
||||||
icontype = "Default"
|
icontype = "Basic"
|
||||||
updatename("Default")
|
updatename("Default")
|
||||||
updateicon()
|
updateicon()
|
||||||
|
|
||||||
|
|||||||
@@ -168,30 +168,7 @@ proc/setup_skills()
|
|||||||
|
|
||||||
|
|
||||||
mob/living/carbon/human/proc/GetSkillClass(points)
|
mob/living/carbon/human/proc/GetSkillClass(points)
|
||||||
// skill classes describe how your character compares in total points
|
return CalculateSkillClass(points, age)
|
||||||
var/original_points = points
|
|
||||||
points -= min(round((age - 20) / 2.5), 4) // every 2.5 years after 20, one extra skillpoint
|
|
||||||
if(age > 30)
|
|
||||||
points -= round((age - 30) / 5) // every 5 years after 30, one extra skillpoint
|
|
||||||
if(original_points > 0 && points <= 0) points = 1
|
|
||||||
switch(points)
|
|
||||||
if(0)
|
|
||||||
return "Unconfigured"
|
|
||||||
if(1 to 3)
|
|
||||||
return "Terrifying"
|
|
||||||
if(4 to 6)
|
|
||||||
return "Below Average"
|
|
||||||
if(7 to 10)
|
|
||||||
return "Average"
|
|
||||||
if(11 to 14)
|
|
||||||
return "Above Average"
|
|
||||||
if(15 to 18)
|
|
||||||
return "Exceptional"
|
|
||||||
if(19 to 24)
|
|
||||||
return "Genius"
|
|
||||||
if(24 to 1000)
|
|
||||||
return "God"
|
|
||||||
|
|
||||||
|
|
||||||
proc/show_skill_window(var/mob/user, var/mob/living/carbon/human/M)
|
proc/show_skill_window(var/mob/user, var/mob/living/carbon/human/M)
|
||||||
if(!istype(M)) return
|
if(!istype(M)) return
|
||||||
|
|||||||
@@ -58,8 +58,7 @@
|
|||||||
/datum/surgery_step/internal/fix_organ
|
/datum/surgery_step/internal/fix_organ
|
||||||
allowed_tools = list(
|
allowed_tools = list(
|
||||||
/obj/item/stack/medical/advanced/bruise_pack= 100, \
|
/obj/item/stack/medical/advanced/bruise_pack= 100, \
|
||||||
/obj/item/stack/medical/bruise_pack = 20, \
|
/obj/item/stack/medical/bruise_pack = 20
|
||||||
/obj/item/stack/medical/bruise_pack/tajaran = 70, \
|
|
||||||
)
|
)
|
||||||
|
|
||||||
min_duration = 70
|
min_duration = 70
|
||||||
@@ -82,11 +81,8 @@
|
|||||||
var/tool_name = "\the [tool]"
|
var/tool_name = "\the [tool]"
|
||||||
if (istype(tool, /obj/item/stack/medical/advanced/bruise_pack))
|
if (istype(tool, /obj/item/stack/medical/advanced/bruise_pack))
|
||||||
tool_name = "regenerative membrane"
|
tool_name = "regenerative membrane"
|
||||||
if (istype(tool, /obj/item/stack/medical/bruise_pack))
|
else if (istype(tool, /obj/item/stack/medical/bruise_pack))
|
||||||
if (istype(tool, /obj/item/stack/medical/bruise_pack/tajaran))
|
tool_name = "the bandaid"
|
||||||
tool_name = "the poultice"
|
|
||||||
else
|
|
||||||
tool_name = "the bandaid"
|
|
||||||
|
|
||||||
if (!hasorgans(target))
|
if (!hasorgans(target))
|
||||||
return
|
return
|
||||||
@@ -106,10 +102,7 @@
|
|||||||
if (istype(tool, /obj/item/stack/medical/advanced/bruise_pack))
|
if (istype(tool, /obj/item/stack/medical/advanced/bruise_pack))
|
||||||
tool_name = "regenerative membrane"
|
tool_name = "regenerative membrane"
|
||||||
if (istype(tool, /obj/item/stack/medical/bruise_pack))
|
if (istype(tool, /obj/item/stack/medical/bruise_pack))
|
||||||
if (istype(tool, /obj/item/stack/medical/bruise_pack/tajaran))
|
tool_name = "the bandaid"
|
||||||
tool_name = "the poultice"
|
|
||||||
else
|
|
||||||
tool_name = "the bandaid"
|
|
||||||
|
|
||||||
if (!hasorgans(target))
|
if (!hasorgans(target))
|
||||||
return
|
return
|
||||||
@@ -136,12 +129,9 @@
|
|||||||
target.adjustToxLoss(5)
|
target.adjustToxLoss(5)
|
||||||
|
|
||||||
else if (istype(tool, /obj/item/stack/medical/bruise_pack))
|
else if (istype(tool, /obj/item/stack/medical/bruise_pack))
|
||||||
if (istype(tool, /obj/item/stack/medical/bruise_pack/tajaran))
|
dam_amt = 5
|
||||||
target.adjustToxLoss(7)
|
target.adjustToxLoss(10)
|
||||||
else
|
affected.createwound(CUT, 5)
|
||||||
dam_amt = 5
|
|
||||||
target.adjustToxLoss(10)
|
|
||||||
affected.createwound(CUT, 5)
|
|
||||||
|
|
||||||
for(var/datum/organ/internal/I in affected.internal_organs)
|
for(var/datum/organ/internal/I in affected.internal_organs)
|
||||||
if(I && I.damage > 0)
|
if(I && I.damage > 0)
|
||||||
|
|||||||
Binary file not shown.
|
Before Width: | Height: | Size: 60 KiB After Width: | Height: | Size: 16 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 8.1 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 6.5 KiB After Width: | Height: | Size: 7.2 KiB |
Reference in New Issue
Block a user