Merge pull request #771 from Erthilo/master
Alcohol changes, bug/sprite fixes, and some WIP medical stuff
@@ -321,6 +321,12 @@
|
||||
icon_state = "o2"
|
||||
item_state = "firstaid-o2"
|
||||
|
||||
/obj/item/weapon/storage/firstaid/adv
|
||||
name = "advanced first-aid kit"
|
||||
desc = "Contains advanced medical treatments."
|
||||
icon_state = "o2"
|
||||
item_state = "firstaid-advanced"
|
||||
|
||||
/obj/item/weapon/storage/flashbang_kit
|
||||
name = "Flashbangs (WARNING)"
|
||||
desc = "<FONT color=red><B>WARNING: Do not use without reading these preautions!</B></FONT>\n<B>These devices are extremely dangerous and can cause blindness or deafness if used incorrectly.</B>\nThe chemicals contained in these devices have been tuned for maximal effectiveness and due to\nextreme safety precuaiotn shave been incased in a tamper-proof pack. DO NOT ATTEMPT TO OPEN\nFLASH WARNING: Do not use continually. Excercise extreme care when detonating in closed spaces.\n\tMake attemtps not to detonate withing range of 2 meters of the intended target. It is imperative\n\tthat the targets visit a medical professional after usage. Damage to eyes increases extremely per\n\tuse and according to range. Glasses with flash resistant filters DO NOT always work on high powered\n\tflash devices such as this. <B>EXERCISE CAUTION REGARDLESS OF CIRCUMSTANCES</B>\nSOUND WARNING: Do not use continually. Visit a medical professional if hearing is lost.\n\tThere is a slight chance per use of complete deafness. Exercise caution and restraint.\nSTUN WARNING: If the intended or unintended target is too close to detonation the resulting sound\n\tand flash have been known to cause extreme sensory overload resulting in temporary\n\tincapacitation.\n<B>DO NOT USE CONTINUALLY</B>\nOperating Directions:\n\t1. Pull detonnation pin. <B>ONCE THE PIN IS PULLED THE GRENADE CAN NOT BE DISARMED!</B>\n\t2. Throw grenade. <B>NEVER HOLD A LIVE FLASHBANG</B>\n\t3. The grenade will detonste 10 seconds hafter being primed. <B>EXCERCISE CAUTION</B>\n\t-<B>Never prime another grenade until after the first is detonated</B>\nNote: Usage of this pyrotechnic device without authorization is an extreme offense and can\nresult in severe punishment upwards of <B>10 years in prison per use</B>.\n\nDefault 3 second wait till from prime to detonation. This can be switched with a screwdriver\nto 10 seconds.\n\nCopyright of Nanotrasen Industries- Military Armnaments Division\nThis device was created by Nanotrasen Labs a member of the Expert Advisor Corporation"
|
||||
@@ -481,7 +487,7 @@
|
||||
throw_speed = 1
|
||||
throw_range = 5
|
||||
w_class = 2.0
|
||||
max_w_class = 2
|
||||
max_w_class = 1
|
||||
max_combined_w_class = 3
|
||||
storage_slots = 3
|
||||
flags = FPRINT | TABLEPASS
|
||||
@@ -492,7 +498,10 @@
|
||||
icon_state ="bible"
|
||||
throw_speed = 1
|
||||
throw_range = 5
|
||||
w_class = 3.0
|
||||
w_class = 2.0
|
||||
max_w_class = 1
|
||||
max_combined_w_class = 7
|
||||
storage_slots = 7
|
||||
flags = FPRINT | TABLEPASS
|
||||
var/mob/affecting = null
|
||||
var/deity_name = "Christ"
|
||||
|
||||
@@ -538,6 +538,8 @@
|
||||
A.skin = "tox"
|
||||
else if(istype(src,/obj/item/weapon/storage/firstaid/o2))
|
||||
A.skin = "o2"
|
||||
else if(istype(src,/obj/item/weapon/storage/firstaid/adv))
|
||||
A.skin = "adv"
|
||||
|
||||
A.loc = user
|
||||
if (user.r_hand == S)
|
||||
|
||||
@@ -12,6 +12,8 @@ BIKE HORN
|
||||
var/mob/M = AM
|
||||
if (istype(M, /mob/living/carbon/human) && (isobj(M:shoes) && M:shoes.flags&NOSLIP))
|
||||
return
|
||||
if (istype(M, /mob/living/carbon/metroid)) //I mean they float, seriously. - Erthilo
|
||||
return
|
||||
|
||||
M.pulling = null
|
||||
M << "\blue You slipped on the [name]!"
|
||||
@@ -24,6 +26,8 @@ BIKE HORN
|
||||
var/mob/M = AM
|
||||
if (istype(M, /mob/living/carbon/human) && (isobj(M:shoes) && M:shoes.flags&NOSLIP))
|
||||
return
|
||||
if (istype(M, /mob/living/carbon/metroid))
|
||||
return
|
||||
|
||||
M.pulling = null
|
||||
M << "\blue You slipped on the [name]!"
|
||||
@@ -36,6 +40,8 @@ BIKE HORN
|
||||
var/mob/M = AM
|
||||
if (istype(M, /mob/living/carbon/human) && (isobj(M:shoes) && M:shoes.flags&NOSLIP))
|
||||
return
|
||||
if (istype(M, /mob/living/carbon/metroid))
|
||||
return
|
||||
|
||||
M.pulling = null
|
||||
M << "\blue You slipped on the [name]!"
|
||||
|
||||
@@ -167,14 +167,18 @@ SHARDS
|
||||
/obj/item/weapon/shard/HasEntered(AM as mob|obj)
|
||||
if(ismob(AM))
|
||||
var/mob/M = AM
|
||||
if (istype(M, /mob/living/carbon/metroid)) //I mean they float, seriously. - Erthilo
|
||||
return
|
||||
M << "\red <B>You step in the broken glass!</B>"
|
||||
playsound(src.loc, 'glass_step.ogg', 50, 1)
|
||||
if(ishuman(M))
|
||||
var/mob/living/carbon/human/H = M
|
||||
if(!H.shoes)
|
||||
var/datum/organ/external/affecting = H.get_organ(pick("l_leg", "r_leg"))
|
||||
if(!((H.shoes) || (H.wear_suit && H.wear_suit.body_parts_covered & FEET)))
|
||||
var/datum/organ/external/affecting = H.get_organ(pick("l_foot", "r_foot"))
|
||||
H.Weaken(3)
|
||||
affecting.take_damage(5, 0)
|
||||
H.UpdateDamageIcon()
|
||||
H.updatehealth()
|
||||
..()
|
||||
..()
|
||||
|
||||
//&& H.wear_suit.body_parts_covered&FEET)))
|
||||
@@ -64,6 +64,18 @@
|
||||
new /obj/item/weapon/reagent_containers/pill/dexalin( src )
|
||||
return
|
||||
|
||||
/obj/item/weapon/storage/firstaid/adv/New()
|
||||
..()
|
||||
if (empty) return
|
||||
new /obj/item/weapon/reagent_containers/syringe/inaprovaline( src )
|
||||
new /obj/item/stack/medical/advanced/bruise_pack(src)
|
||||
new /obj/item/stack/medical/advanced/bruise_pack(src)
|
||||
new /obj/item/stack/medical/advanced/bruise_pack(src)
|
||||
new /obj/item/stack/medical/advanced/ointment(src)
|
||||
new /obj/item/stack/medical/advanced/ointment(src)
|
||||
new /obj/item/stack/medical/advanced/ointment(src)
|
||||
return
|
||||
|
||||
/obj/item/weapon/storage/pill_bottle/kelotane
|
||||
name = "Pill bottle (kelotane)"
|
||||
desc = "Contains pills used to treat burns."
|
||||
|
||||
@@ -1752,27 +1752,6 @@ datum
|
||||
reagent_state = LIQUID
|
||||
color = "#181818" // rgb: 24, 24, 24
|
||||
|
||||
ethanol
|
||||
name = "Ethanol"
|
||||
id = "ethanol"
|
||||
description = "A well-known alcohol with a variety of applications."
|
||||
reagent_state = LIQUID
|
||||
color = "#404030" // rgb: 64, 64, 48
|
||||
|
||||
on_mob_life(var/mob/living/M as mob)
|
||||
if(!data) data = 1
|
||||
data++
|
||||
M.make_dizzy(5)
|
||||
M:jitteriness = max(M:jitteriness-5,0)
|
||||
if(data >= 25)
|
||||
if (!M:slurring) M:slurring = 1
|
||||
M:slurring += 4
|
||||
if(data >= 40 && prob(33))
|
||||
if (!M:confused) M:confused = 1
|
||||
M:confused += 3
|
||||
..()
|
||||
return
|
||||
|
||||
ammonia
|
||||
name = "Ammonia"
|
||||
id = "ammonia"
|
||||
@@ -2557,32 +2536,6 @@ datum
|
||||
..()
|
||||
return
|
||||
|
||||
thirteenloko
|
||||
name = "Thirteen Loko"
|
||||
id = "thirteenloko"
|
||||
description = "A potent mixture of caffeine and alcohol."
|
||||
reagent_state = LIQUID
|
||||
color = "#102000" // rgb: 16, 32, 0
|
||||
|
||||
on_mob_life(var/mob/living/M as mob)
|
||||
M:drowsyness = max(0,M:drowsyness-7)
|
||||
if(!M:sleeping_willingly)
|
||||
M:sleeping = 0
|
||||
if (M.bodytemperature > 310)
|
||||
M.bodytemperature = max(310, M.bodytemperature-5)
|
||||
M.make_jittery(1)
|
||||
M:nutrition += 1
|
||||
if(!data) data = 1
|
||||
data++
|
||||
M.dizziness +=4
|
||||
if(data >= 45 && data <115)
|
||||
if (!M.slurring) M.slurring = 1
|
||||
M.slurring += 3
|
||||
else if(data >= 125 && prob(33))
|
||||
M.confused = max(M:confused+2,0)
|
||||
..()
|
||||
return
|
||||
|
||||
dr_gibb
|
||||
name = "Dr. Gibb"
|
||||
id = "dr_gibb"
|
||||
@@ -2651,18 +2604,20 @@ datum
|
||||
|
||||
|
||||
//ALCOHOL WOO
|
||||
alcohol //Parent class for all alcoholic reagents.
|
||||
name = "Alcohol"
|
||||
id = "alcohol"
|
||||
ethanol
|
||||
name = "Ethanol" //Parent class for all alcoholic reagents.
|
||||
id = "ethanol"
|
||||
description = "A well-known alcohol with a variety of applications."
|
||||
reagent_state = LIQUID
|
||||
color = "#404030" // rgb: 64, 64, 48
|
||||
var
|
||||
dizzy_adj = 3
|
||||
slurr_adj = 3
|
||||
confused_adj = 2
|
||||
slur_start = 45 //amount absorbed after which mob starts slurring
|
||||
confused_start = 125 //amount absorbed after which mob starts confusing directions
|
||||
blur_start = 245 //amount absorbed after which mob starts getting blurred vision
|
||||
pass_out = 290 //amount absorbed after which mob starts passing out
|
||||
slur_start = 65 //amount absorbed after which mob starts slurring
|
||||
confused_start = 130 //amount absorbed after which mob starts confusing directions
|
||||
blur_start = 260 //amount absorbed after which mob starts getting blurred vision
|
||||
pass_out = 325 //amount absorbed after which mob starts passing out
|
||||
|
||||
on_mob_life(var/mob/living/M as mob)
|
||||
if(!src.data) data = 1
|
||||
@@ -2671,7 +2626,7 @@ datum
|
||||
var/d = data
|
||||
|
||||
// make all the beverages work together
|
||||
for(var/datum/reagent/alcohol/A in holder.reagent_list)
|
||||
for(var/datum/reagent/ethanol/A in holder.reagent_list)
|
||||
if(A.data) d += A.data
|
||||
|
||||
M.dizziness +=dizzy_adj.
|
||||
@@ -2692,14 +2647,13 @@ datum
|
||||
..()
|
||||
return
|
||||
|
||||
beer //It's really much more stronger than other drinks
|
||||
beer //It's really much more stronger than other drinks.
|
||||
name = "Beer"
|
||||
id = "beer"
|
||||
description = "An alcoholic beverage made from malted grains, hops, yeast, and water."
|
||||
color = "#664300" // rgb: 102, 67, 0
|
||||
slur_start = 25 //amount absorbed after which mob starts slurring
|
||||
confused_start = 40 //amount absorbed after which mob starts confusing directions
|
||||
|
||||
// slur_start = 25 //amount absorbed after which mob starts slurring
|
||||
// confused_start = 40 //amount absorbed after which mob starts confusing directions //This is quite silly - Erthilo
|
||||
on_mob_life(var/mob/living/M as mob)
|
||||
..()
|
||||
M:jitteriness = max(M:jitteriness-3,0)
|
||||
@@ -2784,6 +2738,23 @@ datum
|
||||
description = "A dark alchoholic beverage made by malted barley and yeast."
|
||||
color = "#664300" // rgb: 102, 67, 0
|
||||
|
||||
thirteenloko
|
||||
name = "Thirteen Loko"
|
||||
id = "thirteenloko"
|
||||
description = "A potent mixture of caffeine and alcohol."
|
||||
reagent_state = LIQUID
|
||||
color = "#102000" // rgb: 16, 32, 0
|
||||
|
||||
on_mob_life(var/mob/living/M as mob)
|
||||
M:drowsyness = max(0,M:drowsyness-7)
|
||||
if(!M:sleeping_willingly)
|
||||
M:sleeping = 0
|
||||
if (M.bodytemperature > 310)
|
||||
M.bodytemperature = max(310, M.bodytemperature-5)
|
||||
M.make_jittery(1)
|
||||
M:nutrition += 1
|
||||
return
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////cocktail entities//////////////////////////////////////////////
|
||||
|
||||
|
||||
@@ -1090,20 +1090,20 @@
|
||||
|
||||
update_icon()
|
||||
var/rounded_vol = round(reagents.total_volume,5)
|
||||
overlays = null
|
||||
has_blood = 0
|
||||
for(var/datum/reagent/blood/B in reagents.reagent_list)
|
||||
has_blood = 1
|
||||
break
|
||||
if(ismob(loc))
|
||||
var/mode_t
|
||||
var/injoverlay
|
||||
switch(mode)
|
||||
if (SYRINGE_DRAW)
|
||||
mode_t = "d"
|
||||
injoverlay = "draw"
|
||||
if (SYRINGE_INJECT)
|
||||
mode_t = "i"
|
||||
icon_state = "[mode_t][(has_blood?"b":"")][rounded_vol]"
|
||||
else
|
||||
icon_state = "[(has_blood?"b":"")][rounded_vol]"
|
||||
injoverlay = "inject"
|
||||
overlays += injoverlay
|
||||
icon_state = "[rounded_vol]"
|
||||
item_state = "syringe_[rounded_vol]"
|
||||
if(reagents.total_volume)
|
||||
var/obj/effect/overlay = new/obj
|
||||
|
||||
@@ -56,6 +56,7 @@
|
||||
name = "security RIG suit"
|
||||
desc = "A suit specially designed for security to offer minor protection from environmental hazards, and greater protection from human hazards"
|
||||
icon_state = "rig-security"
|
||||
item_state = "rig-security"
|
||||
protective_temperature = 3000
|
||||
slowdown = 1
|
||||
armor = list(melee = 60, bullet = 10, laser = 30, energy = 5, bomb = 45, bio = 100, rad = 10)
|
||||
|
||||
|
Before Width: | Height: | Size: 61 KiB After Width: | Height: | Size: 65 KiB |
|
Before Width: | Height: | Size: 108 KiB After Width: | Height: | Size: 109 KiB |
|
Before Width: | Height: | Size: 107 KiB After Width: | Height: | Size: 108 KiB |
|
Before Width: | Height: | Size: 28 KiB After Width: | Height: | Size: 28 KiB |
|
Before Width: | Height: | Size: 49 KiB After Width: | Height: | Size: 49 KiB |
|
Before Width: | Height: | Size: 44 KiB After Width: | Height: | Size: 44 KiB |
|
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 6.5 KiB |
|
Before Width: | Height: | Size: 2.6 KiB After Width: | Height: | Size: 2.6 KiB |