# Conflicts:
#	code/game/jobs/job/civilian_chaplain.dm
#	code/modules/mob/language/station_vr.dm
This commit is contained in:
Repede
2018-07-08 11:38:06 -04:00
58 changed files with 23250 additions and 19070 deletions

View File

@@ -50,6 +50,8 @@
#define LANGUAGE_MINBUS "Minbus"
#define LANGUAGE_EVENT1 "Occursus"
#define LANGUAGE_AKHANI "Akhani"
#define LANGUAGE_SIIK_TAJR "Siik'Tajr"
#define LANGUAGE_SIIK_ALAI "Siik'alai"
// Language flags.
#define WHITELISTED 1 // Language is available if the speaker is whitelisted.

View File

@@ -4,7 +4,6 @@
#define LANGUAGE_ECUREUILIAN "Ecureuilian"
#define LANGUAGE_DAEMON "Daemon"
#define LANGUAGE_ENOCHIAN "Enochian"
#define LANGUAGE_SIIK_TAJR "Siik'Tajr"
#define LANGUAGE_CHIMPANZEE "Chimpanzee"
#define LANGUAGE_NEAERA "Neaera"

View File

@@ -62,7 +62,7 @@ SUBSYSTEM_DEF(planets)
while(currentlist.len)
var/turf/simulated/OT = currentlist[currentlist.len]
currentlist.len--
if(istype(OT) && z_to_planet[OT.z])
if(istype(OT) && z_to_planet.len >= OT.z && z_to_planet[OT.z])
var/datum/planet/P = z_to_planet[OT.z]
P.planet_floors |= OT
OT.vis_contents |= P.weather_holder.visuals
@@ -73,7 +73,7 @@ SUBSYSTEM_DEF(planets)
while(currentlist.len)
var/turf/unsimulated/wall/planetary/PW = currentlist[currentlist.len]
currentlist.len--
if(istype(PW) && z_to_planet[PW.z])
if(istype(PW) && z_to_planet.len >= PW.z && z_to_planet[PW.z])
var/datum/planet/P = z_to_planet[PW.z]
P.planet_walls |= PW
if(!initial && MC_TICK_CHECK)

View File

@@ -5,12 +5,14 @@
var/list/languages
var/identifying_gender
var/list/flavour_texts
var/list/genMods
/datum/absorbed_dna/New(var/newName, var/newDNA, var/newSpecies, var/newLanguages, var/newIdentifying_Gender, var/list/newFlavour)
/datum/absorbed_dna/New(var/newName, var/newDNA, var/newSpecies, var/newLanguages, var/newIdentifying_Gender, var/list/newFlavour, var/list/newGenMods)
..()
name = newName
dna = newDNA
speciesName = newSpecies
languages = newLanguages
identifying_gender = newIdentifying_Gender
flavour_texts = newFlavour ? newFlavour.Copy() : null
flavour_texts = newFlavour ? newFlavour.Copy() : null
genMods = newGenMods ? newGenMods.Copy() : null

View File

@@ -78,7 +78,7 @@
src << "<span class='notice'>We can now re-adapt, reverting our evolution so that we may start anew, if needed.</span>"
var/datum/absorbed_dna/newDNA = new(T.real_name, T.dna, T.species.name, T.languages, T.identifying_gender, T.flavor_texts)
var/datum/absorbed_dna/newDNA = new(T.real_name, T.dna, T.species.name, T.languages, T.identifying_gender, T.flavor_texts, T.modifiers)
absorbDNA(newDNA)
if(T.mind && T.mind.changeling)

View File

@@ -48,6 +48,13 @@
src.UpdateAppearance()
domutcheck(src, null)
changeling_update_languages(changeling.absorbed_languages)
if(chosen_dna.genMods)
var/mob/living/carbon/human/self = src
for(var/datum/modifier/mod in self.modifiers)
self.modifiers.Remove(mod.type)
for(var/datum/modifier/mod in chosen_dna.genMods)
self.modifiers.Add(mod.type)
src.verbs -= /mob/proc/changeling_transform
spawn(10)

View File

@@ -31,7 +31,7 @@
return TRUE
/obj/item/weapon/spell/proc/within_range(var/atom/target, var/max_range = 7) // Beyond 7 is off the screen.
if(range(get_dist(owner, target) <= max_range))
if(target in view(max_range, owner))
return TRUE
return FALSE

View File

@@ -21,11 +21,13 @@
if(!AM.loc) //Don't teleport HUD telements to us.
return
if(AM.anchored)
user << "<span class='warning'>\The [hit_atom] is firmly secured and anchored, you can't move it!</span>"
to_chat(user, "<span class='warning'>\The [hit_atom] is firmly secured and anchored, you can't move it!</span>")
return
if(!within_range(hit_atom) && !check_for_scepter())
user << "<span class='warning'>\The [hit_atom] is too far away.</span>"
to_chat(user, "<span class='warning'>\The [hit_atom] is too far away.</span>")
return
//Teleporting an item.
if(istype(hit_atom, /obj/item))
var/obj/item/I = hit_atom
@@ -47,7 +49,7 @@
//Now let's try to teleport a living mob.
else if(istype(hit_atom, /mob/living))
var/mob/living/L = hit_atom
L << "<span class='danger'>You are teleported towards \the [user].</span>"
to_chat(L, "<span class='danger'>You are teleported towards \the [user].</span>")
var/datum/effect/effect/system/spark_spread/s1 = new /datum/effect/effect/system/spark_spread
var/datum/effect/effect/system/spark_spread/s2 = new /datum/effect/effect/system/spark_spread
s1.set_up(2, 1, user)
@@ -60,7 +62,7 @@
spawn(1 SECOND)
if(!user.Adjacent(L))
user << "<span class='warning'>\The [L] is out of your reach.</span>"
to_chat(user, "<span class='warning'>\The [L] is out of your reach.</span>")
qdel(src)
return

View File

@@ -148,7 +148,8 @@
feedback_set_details("religion_deity","[new_deity]")
feedback_set_details("religion_book","[new_book_style]")
return 1
/* IF you uncomment this, every time the mob preview updates it makes a new PDA. It seems to work just fine and display without it, so why this exists, haven't a clue. -Hawk
/* If you uncomment this, every time the mob preview updates it makes a new PDA. It seems to work just fine and display without it, so why this exists, haven't a clue. -Hawk
/datum/job/chaplain/equip_preview(var/mob/living/carbon/human/H, var/alt_title)
return equip(H, alt_title, FALSE)
*/

View File

@@ -170,7 +170,7 @@
singular_name = "advanced trauma kit"
desc = "An advanced trauma kit for severe injuries."
icon_state = "traumakit"
heal_brute = 3
heal_brute = 7 //VOREStation Edit
origin_tech = list(TECH_BIO = 1)
apply_sounds = list('sound/effects/rip1.ogg','sound/effects/rip2.ogg','sound/effects/tape.ogg')
@@ -198,8 +198,8 @@
continue
if (W.bandaged && W.disinfected)
continue
if(used == amount)
break
//if(used == amount) //VOREStation Edit
// break //VOREStation Edit
if(!do_mob(user, M, W.damage/5))
to_chat(user, "<span class='notice'>You must stand still to bandage wounds.</span>")
break
@@ -219,7 +219,7 @@
W.disinfect()
W.heal_damage(heal_brute)
playsound(src, pick(apply_sounds), 25)
used++
used = 1 //VOREStation Edit
affecting.update_damages()
if(used == amount)
if(affecting.is_bandaged())
@@ -233,7 +233,7 @@
singular_name = "advanced burn kit"
desc = "An advanced treatment kit for severe burns."
icon_state = "burnkit"
heal_burn = 3
heal_burn = 7 //VOREStation Edit
origin_tech = list(TECH_BIO = 1)
apply_sounds = list('sound/effects/ointment.ogg')

View File

@@ -10,4 +10,91 @@
/obj/effect/floor_decal/industrial/outline/red
name = "red outline"
color = COLOR_RED
color = COLOR_RED
/obj/effect/floor_decal/borderfloor/shifted
icon_state = "borderfloor_shifted"
/obj/effect/floor_decal/borderfloorblack/shifted
icon_state = "borderfloor_shifted"
/obj/effect/floor_decal/borderfloorwhite/shifted
icon_state = "borderfloor_shifted"
/obj/effect/floor_decal/corner/beige/border/shifted
icon_state = "bordercolor_shifted"
/obj/effect/floor_decal/corner/black/border/shifted
icon_state = "bordercolor_shifted"
/obj/effect/floor_decal/corner/blue/border/shifted
icon_state = "bordercolor_shifted"
/obj/effect/floor_decal/corner/brown/border/shifted
icon_state = "bordercolor_shifted"
/obj/effect/floor_decal/corner/green/border/shifted
icon_state = "bordercolor_shifted"
/obj/effect/floor_decal/corner/grey/border/shifted
icon_state = "bordercolor_shifted"
/obj/effect/floor_decal/corner/lightgrey/border/shifted
icon_state = "bordercolor_shifted"
/obj/effect/floor_decal/corner/lightorange
name = "orange corner"
color = "#ed983d"
/obj/effect/floor_decal/corner/lightorange/diagonal
icon_state = "corner_white_diagonal"
/obj/effect/floor_decal/corner/lightorange/full
icon_state = "corner_white_full"
/obj/effect/floor_decal/corner/lightorange/three_quarters
icon_state = "corner_white_three_quarters"
/obj/effect/floor_decal/corner/lightorange/border
icon_state = "bordercolor"
/obj/effect/floor_decal/corner/lightorange/border/shifted
icon_state = "bordercolor_shifted"
/obj/effect/floor_decal/corner/lightorange/bordercorner
icon_state = "bordercolorcorner"
/obj/effect/floor_decal/corner/lightorange/bordercorner2
icon_state = "bordercolorcorner2"
/obj/effect/floor_decal/corner/lightorange/borderfull
icon_state = "bordercolorfull"
/obj/effect/floor_decal/corner/lightorange/bordercee
icon_state = "bordercolorcee"
/obj/effect/floor_decal/corner/lime/border/shifted
icon_state = "bordercolor_shifted"
/obj/effect/floor_decal/corner/mauve/border/shifted
icon_state = "bordercolor_shifted"
/obj/effect/floor_decal/corner/orange/border/shifted
icon_state = "bordercolor_shifted"
/obj/effect/floor_decal/corner/paleblue/border/shifted
icon_state = "bordercolor_shifted"
/obj/effect/floor_decal/corner/pink/border/shifted
icon_state = "bordercolor_shifted"
/obj/effect/floor_decal/corner/purple/border/shifted
icon_state = "bordercolor_shifted"
/obj/effect/floor_decal/corner/red/border/shifted
icon_state = "bordercolor_shifted"
/obj/effect/floor_decal/corner/white/border/shifted
icon_state = "bordercolor_shifted"
/obj/effect/floor_decal/corner/yellow/border/shifted
icon_state = "bordercolor_shifted"

View File

@@ -12,6 +12,9 @@
/turf/simulated/wall/dungeon/ex_act()
return
/turf/simulated/wall/dungeon/take_damage() //These things are suppose to be unbreakable
return
/turf/simulated/wall/solidrock //for more stylish anti-cheese.
name = "solid rock"
desc = "This rock seems dense, impossible to drill."
@@ -37,4 +40,7 @@
return
/turf/simulated/wall/solidrock/ex_act()
return
/turf/simulated/wall/solidrock/take_damage() //These things are suppose to be unbreakable
return

View File

@@ -241,6 +241,46 @@ datum/gear/suit/duster
path = /obj/item/clothing/accessory/poncho/roles/cloak/hop
allowed_roles = list("Head of Personnel")
/datum/gear/suit/roles/poncho/cloak/cargo
display_name = "cloak, cargo"
path = /obj/item/clothing/accessory/poncho/roles/cloak/cargo
allowed_roles = list("Cargo Technician","Quartermaster")
/datum/gear/suit/roles/poncho/cloak/mining
display_name = "cloak, cargo"
path = /obj/item/clothing/accessory/poncho/roles/cloak/mining
allowed_roles = list("Quartermaster","Shaft Miner")
/datum/gear/suit/roles/poncho/cloak/security
display_name = "cloak, security"
path = /obj/item/clothing/accessory/poncho/roles/cloak/security
allowed_roles = list("Head of Security","Detective","Warden","Security Officer")
/datum/gear/suit/roles/poncho/cloak/service
display_name = "cloak, service"
path = /obj/item/clothing/accessory/poncho/roles/cloak/service
allowed_roles = list("Head of Personnel","Bartender","Botanist","Janitor","Chef","Librarian")
/datum/gear/suit/roles/poncho/cloak/engineer
display_name = "cloak, engineer"
path = /obj/item/clothing/accessory/poncho/roles/cloak/engineer
allowed_roles = list("Chief Engineer","Station Engineer")
/datum/gear/suit/roles/poncho/cloak/atmos
display_name = "cloak, atmos"
path = /obj/item/clothing/accessory/poncho/roles/cloak/atmos
allowed_roles = list("Chief Engineer","Atmospheric Technician")
/datum/gear/suit/roles/poncho/cloak/research
display_name = "cloak, science"
path = /obj/item/clothing/accessory/poncho/roles/cloak/research
allowed_roles = list("Research Director","Scientist", "Roboticist", "Xenobiologist")
/datum/gear/suit/roles/poncho/cloak/medical
display_name = "cloak, medical"
path = /obj/item/clothing/accessory/poncho/roles/cloak/medical
allowed_roles = list("Medical Doctor","Chief Medical Officer","Chemist","Paramedic","Geneticist", "Psychiatrist")
/datum/gear/suit/unathi_robe
display_name = "roughspun robe"
path = /obj/item/clothing/suit/unathi/robe

View File

@@ -9,8 +9,8 @@
/obj/item/clothing/head/helmet/combat/USDF
name = "marine helmet"
desc = "If you wanna to keep your brain inside yo' head, you'd best put this on!"
icon_state = "UNSC_helm"
item_state = "UNSC_helm"
icon_state = "unsc_helm"
item_state = "unsc_helm"
icon = 'icons/obj/clothing/hats_vr.dmi'
icon_override = 'icons/mob/head_vr.dmi'

View File

@@ -104,14 +104,14 @@
interface_name = "mounted chem injector"
interface_desc = "Dispenses loaded chemicals via an arm-mounted injector."
var/max_reagent_volume = 10 //Regen to this volume
var/max_reagent_volume = 20 //Regen to this volume
var/chems_to_use = 5 //Per injection
charges = list(
list("inaprovaline", "inaprovaline", 0, 10),
list("tricordrazine", "tricordrazine", 0, 10),
list("tramadol", "tramadol", 0, 10),
list("dexalin plus", "dexalinp", 0, 10)
list("inaprovaline", "inaprovaline", 0, 20),
list("dylovene", "dylovene", 0, 20),
list("paracetamol", "paracetamol", 0, 20),
list("dexalin", "dexalin", 0, 20)
)
/obj/item/rig_module/rescue_pharm/process()

View File

@@ -60,7 +60,7 @@
/obj/item/clothing/suit/armor/combat/USDF
name = "marine body armor"
desc = "When I joined the Corps, we didn't have any fancy-schmanzy armor. We had sticks! Two sticks, and a rock for the whole platoon<6F>and we had to <i>share</i> the rock!"
icon_state = "UNSC_armor"
icon_state = "unsc_armor"
icon = 'icons/obj/clothing/suits_vr.dmi'
icon_override = 'icons/mob/suit_vr.dmi'
body_parts_covered = UPPER_TORSO|LOWER_TORSO // ToDo: Break up the armor into smaller bits.

View File

@@ -121,8 +121,8 @@
* Cloak
*/
/obj/item/clothing/accessory/poncho/roles/cloak
name = "brown cloak"
desc = "An elaborate brown cloak."
name = "quartermaster's cloak"
desc = "An elaborate brown and gold cloak."
icon_state = "qmcloak"
item_state = "qmcloak"
body_parts_covered = null
@@ -169,6 +169,54 @@
icon_state = "capcloak"
item_state = "capcloak"
/obj/item/clothing/accessory/poncho/roles/cloak/cargo
name = "brown cloak"
desc = "A simple brown and black cloak."
icon_state = "cargocloak"
item_state = "cargocloak"
/obj/item/clothing/accessory/poncho/roles/cloak/mining
name = "trimmed purple cloak"
desc = "A trimmed purple and brown cloak."
icon_state = "miningcloak"
item_state = "miningcloak"
/obj/item/clothing/accessory/poncho/roles/cloak/security
name = "red cloak"
desc = "A simple red and black cloak."
icon_state = "seccloak"
item_state = "seccloak"
/obj/item/clothing/accessory/poncho/roles/cloak/service
name = "green cloak"
desc = "A simple green and blue cloak."
icon_state = "servicecloak"
item_state = "servicecloak"
/obj/item/clothing/accessory/poncho/roles/cloak/engineer
name = "gold cloak"
desc = "A simple gold and brown cloak."
icon_state = "engicloak"
item_state = "engicloak"
/obj/item/clothing/accessory/poncho/roles/cloak/atmos
name = "yellow cloak"
desc = "A trimmed yellow and blue cloak."
icon_state = "atmoscloak"
item_state = "atmoscloak"
/obj/item/clothing/accessory/poncho/roles/cloak/research
name = "purple cloak"
desc = "A simple purple and white cloak."
icon_state = "scicloak"
item_state = "scicloak"
/obj/item/clothing/accessory/poncho/roles/cloak/medical
name = "blue cloak"
desc = "A simple blue and white cloak."
icon_state = "medcloak"
item_state = "medcloak"
/obj/item/clothing/accessory/hawaii
name = "flower-pattern shirt"
desc = "You probably need some welder googles to look at this."

View File

@@ -77,6 +77,15 @@
"kar","yar","kzar","rha","hrar","err","fer","rir","rar","yarr","arr","ii'r","jar","kur","ran","rii","ii",
"nai","ou","kah","oa","ama","uuk","bel","chi","ayt","kay","kas","akor","tam","yir","enai")
/datum/language/tajsign
name = LANGUAGE_SIIK_ALAI
desc = "A standardized Tajaran sign language that was developed in Zarraya and gradually adopted by other nations, incorporating \
hand gestures and movements of the ears and tail."
signlang_verb = list("gestures with their hands", "gestures with their ears and tail", "gestures with their ears, tail and hands")
colour = "tajaran"
key = "l"
flags = WHITELISTED | SIGNLANG | NO_STUTTER | NONVERBAL
/datum/language/tajaran/get_random_name(var/gender)
var/new_name = ..(gender,1)

View File

@@ -1,6 +1,6 @@
/mob/living/carbon/human/emote(var/act,var/m_type=1,var/message = null)
var/param = null
var/datum/gender/T = gender_datums[get_visible_gender()]
if (findtext(act, "-", 1, null))
@@ -80,10 +80,11 @@
//Promethean-only emotes
if("squish")
if(!species.bump_flag == SLIME) //That should do, yaya.
/* VOREStation Removal Start - Eh. People can squish maybe.
if(species.bump_flag != SLIME) //This should definitely do it.
src << "<span class='warning'>You are not a slime thing!</span>"
return
*/ //VOREStation Removal End
playsound(src.loc, 'sound/effects/slime_squish.ogg', 50, 0) //Credit to DrMinky (freesound.org) for the sound.
message = "squishes."
m_type = 1
@@ -739,7 +740,7 @@
set name = "Set Pose"
set desc = "Sets a description which will be shown when someone examines you."
set category = "IC"
var/datum/gender/T = gender_datums[get_visible_gender()]
pose = sanitize(input(usr, "This is [src]. [T.he]...", "Pose", null) as text)

View File

@@ -1041,7 +1041,7 @@
adjustHalLoss(-1)
if (drowsyness)
drowsyness--
drowsyness = max(0, drowsyness - 1)
eye_blurry = max(2, eye_blurry)
if (prob(5))
sleeping += 1

View File

@@ -155,7 +155,7 @@
metabolic_rate = 1.1
gluttonous = 1
num_alternate_languages = 3
secondary_langs = list(LANGUAGE_SIIK, LANGUAGE_AKHANI)
secondary_langs = list(LANGUAGE_SIIK, LANGUAGE_AKHANI, LANGUAGE_SIIK_ALAI)
name_language = LANGUAGE_SIIK
species_language = LANGUAGE_SIIK
health_hud_intensity = 2.5

View File

@@ -311,7 +311,6 @@
icobase = 'icons/mob/human_races/r_tajaran_vr.dmi'
deform = 'icons/mob/human_races/r_def_tajaran_vr.dmi'
tail_animation = 'icons/mob/species/tajaran/tail_vr.dmi'
secondary_langs = list(LANGUAGE_SIIK, LANGUAGE_AKHANI, LANGUAGE_SIIK_TAJR)
color_mult = 1
min_age = 18
gluttonous = 0 //Moving this here so I don't have to fix this conflict every time polaris glances at station.dm

View File

@@ -15,6 +15,8 @@
if(module)
var/obj/item/weapon/gripper/G = locate(/obj/item/weapon/gripper) in module
if(G) G.drop_item()
var/obj/item/device/dogborg/sleeper/S = locate(/obj/item/device/dogborg/sleeper) in module //VOREStation edit.
if(S) S.go_out() //VOREStation edit.
remove_robot_verbs()
sql_report_cyborg_death(src)
..(gibbed,"shudders violently for a moment, then becomes motionless, its eyes slowly darkening.")

View File

@@ -134,7 +134,7 @@ var/global/photo_count = 0
var/icon_on = "camera"
var/icon_off = "camera_off"
var/size = 3
var/picture_planes = list()
var/list/picture_planes = list()
/obj/item/device/camera/verb/change_size()
set name = "Set Photo Focus"

View File

@@ -32,7 +32,7 @@
if(alien == IS_SLIME)
chem_effective = 0.75
if(alien != IS_DIONA)
M.heal_organ_damage(6 * removed * chem_effective, 0)
M.heal_organ_damage(4 * removed * chem_effective, 0) //VOREStation Edit
/datum/reagent/bicaridine/overdose(var/mob/living/carbon/M, var/alien, var/removed)
..()
@@ -67,7 +67,7 @@
chem_effective = 0.5
M.adjustBruteLoss(2 * removed) //Mends burns, but has negative effects with a Promethean's skeletal structure.
if(alien != IS_DIONA)
M.heal_organ_damage(0, 6 * removed * chem_effective)
M.heal_organ_damage(0, 4 * removed * chem_effective) //VOREStation edit
/datum/reagent/dermaline
name = "Dermaline"
@@ -85,7 +85,7 @@
if(alien == IS_SLIME)
chem_effective = 0.75
if(alien != IS_DIONA)
M.heal_organ_damage(0, 12 * removed * chem_effective)
M.heal_organ_damage(0, 8 * removed * chem_effective) //VOREStation edit
/datum/reagent/dylovene
name = "Dylovene"
@@ -141,20 +141,21 @@
color = "#0080FF"
overdose = REAGENTS_OVERDOSE
scannable = 1
metabolism = REM * 0.25 //VOREStation Edit
/datum/reagent/dexalin/affect_blood(var/mob/living/carbon/M, var/alien, var/removed)
if(alien == IS_VOX)
M.adjustToxLoss(removed * 6)
M.adjustToxLoss(removed * 24) //VOREStation Edit
else if(alien == IS_SLIME && dose >= 15)
M.add_chemical_effect(CE_PAINKILLER, 15)
if(prob(15))
to_chat(M, "<span class='notice'>You have a moment of clarity as you collapse.</span>")
M.adjustBrainLoss(-5 * removed)
M.adjustBrainLoss(-20 * removed) //VOREStation Edit
M.Weaken(6)
else if(alien != IS_DIONA)
M.adjustOxyLoss(-15 * removed)
M.adjustOxyLoss(-60 * removed) //VOREStation Edit
holder.remove_reagent("lexorin", 2 * removed)
holder.remove_reagent("lexorin", 8 * removed) //VOREStation Edit
/datum/reagent/dexalinp
name = "Dexalin Plus"
@@ -399,7 +400,7 @@
M.Weaken(5)
if(dose >= 10 && M.paralysis < 40)
M.AdjustParalysis(1) //Messing with the core with a simple chemical probably isn't the best idea.
M.adjustBrainLoss(-30 * removed * chem_effective)
M.adjustBrainLoss(-8 * removed * chem_effective) //VOREStation Edit
M.add_chemical_effect(CE_PAINKILLER, 10 * chem_effective)
/datum/reagent/imidazoline

View File

@@ -62,15 +62,17 @@
/datum/reagent/vermicetol
name = "Vermicetol"
id = "vermicetol"
description = "A potent chemical that treats burn damage at an exceptional rate and lasts a while."
description = "A potent chemical that treats physical damage at an exceptional rate."
taste_description = "sparkles"
taste_mult = 3
reagent_state = SOLID
color = "#964e06"
overdose = 10
overdose = REAGENTS_OVERDOSE * 0.5
scannable = 1
metabolism = 0.02
mrate_static = TRUE
/datum/reagent/vermicetol/affect_blood(var/mob/living/carbon/M, var/alien, var/removed)
var/chem_effective = 1
if(alien == IS_SLIME)
chem_effective = 0.75
if(alien != IS_DIONA)
M.heal_organ_damage(0, 110 * removed) //Not as potent as Kelotane, but lasts LONG.
M.heal_organ_damage(8 * removed * chem_effective, 0)

View File

@@ -49,7 +49,7 @@
if(H.a_intent != I_HELP)
to_chat(user, "<span class='notice'>[H] is resisting your attempt to inject them with \the [src].</span>")
to_chat(H, "<span class='danger'> [user] is trying to inject you with \the [src]!</span>")
if(!do_after(user, 30))
if(!do_after(user, 30, H))
return
user.setClickCooldown(DEFAULT_QUICK_COOLDOWN)

View File

@@ -333,8 +333,8 @@
/obj/item/weapon/reagent_containers/syringe/inaprovaline/New()
..()
reagents.add_reagent("inaprovaline", 15)
mode = SYRINGE_INJECT
update_icon()
//mode = SYRINGE_INJECT //VOREStation Edit - Starts capped
//update_icon()
/obj/item/weapon/reagent_containers/syringe/antitoxin
name = "Syringe (anti-toxin)"
@@ -343,8 +343,8 @@
/obj/item/weapon/reagent_containers/syringe/antitoxin/New()
..()
reagents.add_reagent("anti_toxin", 15)
mode = SYRINGE_INJECT
update_icon()
//mode = SYRINGE_INJECT //VOREStation Edit - Starts capped
//update_icon()
/obj/item/weapon/reagent_containers/syringe/antiviral
name = "Syringe (spaceacillin)"
@@ -353,8 +353,8 @@
/obj/item/weapon/reagent_containers/syringe/antiviral/New()
..()
reagents.add_reagent("spaceacillin", 15)
mode = SYRINGE_INJECT
update_icon()
//mode = SYRINGE_INJECT //VOREStation Edit - Starts capped
//update_icon()
/obj/item/weapon/reagent_containers/syringe/drugs
name = "Syringe (drugs)"
@@ -365,8 +365,8 @@
reagents.add_reagent("space_drugs", 5)
reagents.add_reagent("mindbreaker", 5)
reagents.add_reagent("cryptobiolin", 5)
mode = SYRINGE_INJECT
update_icon()
//mode = SYRINGE_INJECT //VOREStation Edit - Starts capped
//update_icon()
/obj/item/weapon/reagent_containers/syringe/ld50_syringe/choral/New()
..()

View File

@@ -43,7 +43,11 @@
//Dirtiness should be very low if you're the first injectee. If you're spam-injecting 4 people in a row around you though,
//This gives the last one a 30% chance of infection.
if(prob(dirtiness+(targets.len-1)*10))
var/infect_chance = dirtiness //Start with dirtiness
if(infect_chance <= 10 && (hash in targets)) //Extra fast uses on target is free
infect_chance = 0
infect_chance += (targets.len-1)*10 //Extra 10% per extra target
if(prob(infect_chance))
log_and_message_admins("[loc] infected [target]'s [eo.name] with \the [src].")
infect_limb(eo)

View File

@@ -541,6 +541,7 @@
/obj/item/projectile/beam/imperial
name = "laser beam"
fire_sound = 'sound/weapons/mandalorian.ogg'
icon_state = "darkb"
light_color = "#8837A3"
muzzle_type = /obj/effect/projectile/darkmatter/muzzle