mirror of
https://github.com/VOREStation/VOREStation.git
synced 2026-08-22 11:38:12 +01:00
Merge branch 'dev' of https://github.com/Baystation12/Baystation12 into sync_to_bay_10/10/2015
Conflicts: .travis.yml code/game/gamemodes/changeling/changeling_powers.dm code/game/gamemodes/changeling/modularchangling.dm code/game/turfs/simulated.dm code/global.dm icons/misc/fullscreen.dmi polaris.dme
This commit is contained in:
@@ -44,10 +44,6 @@
|
||||
qdel(src)
|
||||
return
|
||||
|
||||
/obj/machinery/chem_master/blob_act()
|
||||
if (prob(50))
|
||||
qdel(src)
|
||||
|
||||
/obj/machinery/chem_master/attackby(var/obj/item/weapon/B as obj, var/mob/user as mob)
|
||||
|
||||
if(istype(B, /obj/item/weapon/reagent_containers/glass))
|
||||
|
||||
@@ -244,7 +244,7 @@
|
||||
if(prob(5))
|
||||
M.antibodies |= V.antigen
|
||||
if(prob(50))
|
||||
M.radiation += 50 // curing it that way may kill you instead
|
||||
M.apply_effect(50, IRRADIATE, check_protection = 0) // curing it that way may kill you instead
|
||||
var/absorbed = 0
|
||||
var/obj/item/organ/diona/nutrients/rad_organ = locate() in M.internal_organs
|
||||
if(rad_organ && !rad_organ.is_broken())
|
||||
|
||||
@@ -32,17 +32,17 @@
|
||||
return
|
||||
..()
|
||||
|
||||
/datum/reagent/nutriment/egg // Also bad for skrell. Not a child of protein because it might mess up, not sure.
|
||||
/datum/reagent/nutriment/protein/affect_blood(var/mob/living/carbon/M, var/alien, var/removed)
|
||||
if(alien && alien == IS_SKRELL)
|
||||
M.adjustToxLoss(2 * removed)
|
||||
return
|
||||
..()
|
||||
|
||||
/datum/reagent/nutriment/protein/egg // Also bad for skrell.
|
||||
name = "egg yolk"
|
||||
id = "egg"
|
||||
color = "#FFFFAA"
|
||||
|
||||
/datum/reagent/nutriment/egg/affect_ingest(var/mob/living/carbon/M, var/alien, var/removed)
|
||||
if(alien && alien == IS_SKRELL)
|
||||
M.adjustToxLoss(0.5 * removed)
|
||||
return
|
||||
..()
|
||||
|
||||
/datum/reagent/nutriment/honey
|
||||
name = "Honey"
|
||||
id = "honey"
|
||||
@@ -570,19 +570,36 @@
|
||||
adj_drowsy = -3
|
||||
adj_sleepy = -2
|
||||
adj_temp = 25
|
||||
overdose = 45
|
||||
|
||||
glass_icon_state = "hot_coffee"
|
||||
glass_name = "cup of coffee"
|
||||
glass_desc = "Don't drop it, or you'll send scalding liquid and glass shards everywhere."
|
||||
|
||||
/datum/reagent/drink/coffee/affect_ingest(var/mob/living/carbon/M, var/alien, var/removed)
|
||||
..()
|
||||
if(alien == IS_DIONA)
|
||||
return
|
||||
..()
|
||||
if(alien == IS_TAJARA)
|
||||
M.adjustToxLoss(0.5 * removed)
|
||||
M.make_jittery(4) //extra sensitive to caffine
|
||||
if(adj_temp > 0)
|
||||
holder.remove_reagent("frostoil", 10 * removed)
|
||||
if(dose > 45)
|
||||
M.make_jittery(5)
|
||||
|
||||
/datum/reagent/nutriment/coffee/affect_blood(var/mob/living/carbon/M, var/alien, var/removed)
|
||||
..()
|
||||
if(alien == IS_TAJARA)
|
||||
M.adjustToxLoss(2 * removed)
|
||||
M.make_jittery(4)
|
||||
return
|
||||
|
||||
/datum/reagent/drink/coffee/overdose(var/mob/living/carbon/M, var/alien)
|
||||
if(alien == IS_DIONA)
|
||||
return
|
||||
if(alien == IS_TAJARA)
|
||||
M.adjustToxLoss(4 * REM)
|
||||
M.apply_effect(3, STUTTER)
|
||||
M.make_jittery(5)
|
||||
|
||||
/datum/reagent/drink/coffee/icecoffee
|
||||
name = "Iced Coffee"
|
||||
@@ -1010,7 +1027,39 @@
|
||||
glass_desc = "A crystal clear glass of Griffeater gin."
|
||||
glass_center_of_mass = list("x"=16, "y"=12)
|
||||
|
||||
/datum/reagent/ethanol/kahlua
|
||||
//Base type for alchoholic drinks containing coffee
|
||||
/datum/reagent/ethanol/coffee
|
||||
overdose = 45
|
||||
|
||||
/datum/reagent/ethanol/coffee/affect_ingest(var/mob/living/carbon/M, var/alien, var/removed)
|
||||
if(alien == IS_DIONA)
|
||||
return
|
||||
..()
|
||||
M.dizziness = max(0, M.dizziness - 5)
|
||||
M.drowsyness = max(0, M.drowsyness - 3)
|
||||
M.sleeping = max(0, M.sleeping - 2)
|
||||
if(M.bodytemperature > 310)
|
||||
M.bodytemperature = max(310, M.bodytemperature - (5 * TEMPERATURE_DAMAGE_COEFFICIENT))
|
||||
if(alien == IS_TAJARA)
|
||||
M.adjustToxLoss(0.5 * removed)
|
||||
M.make_jittery(4) //extra sensitive to caffine
|
||||
|
||||
/datum/reagent/ethanol/coffee/affect_blood(var/mob/living/carbon/M, var/alien, var/removed)
|
||||
if(alien == IS_TAJARA)
|
||||
M.adjustToxLoss(2 * removed)
|
||||
M.make_jittery(4)
|
||||
return
|
||||
..()
|
||||
|
||||
/datum/reagent/ethanol/coffee/overdose(var/mob/living/carbon/M, var/alien)
|
||||
if(alien == IS_DIONA)
|
||||
return
|
||||
if(alien == IS_TAJARA)
|
||||
M.adjustToxLoss(4 * REM)
|
||||
M.apply_effect(3, STUTTER)
|
||||
M.make_jittery(5)
|
||||
|
||||
/datum/reagent/ethanol/coffee/kahlua
|
||||
name = "Kahlua"
|
||||
id = "kahlua"
|
||||
description = "A widely known, Mexican coffee-flavoured liqueur. In production since 1936!"
|
||||
@@ -1022,17 +1071,6 @@
|
||||
glass_desc = "DAMN, THIS THING LOOKS ROBUST"
|
||||
glass_center_of_mass = list("x"=15, "y"=7)
|
||||
|
||||
/datum/reagent/ethanol/kahlua/affect_ingest(var/mob/living/carbon/M, var/alien, var/removed)
|
||||
..()
|
||||
if(alien == IS_DIONA)
|
||||
return
|
||||
M.dizziness = max(0, M.dizziness - 5)
|
||||
M.drowsyness = max(0, M.drowsyness - 3)
|
||||
M.sleeping = max(0, M.sleeping - 2)
|
||||
if(M.bodytemperature > 310)
|
||||
M.bodytemperature = max(310, M.bodytemperature - (5 * TEMPERATURE_DAMAGE_COEFFICIENT))
|
||||
M.make_jittery(5)
|
||||
|
||||
/datum/reagent/ethanol/melonliquor
|
||||
name = "Melon Liquor"
|
||||
id = "melonliquor"
|
||||
@@ -1128,7 +1166,7 @@
|
||||
|
||||
/datum/reagent/ethanol/vodka/affect_ingest(var/mob/living/carbon/M, var/alien, var/removed)
|
||||
..()
|
||||
M.radiation = max(M.radiation - 1 * removed, 0)
|
||||
M.apply_effect(max(M.radiation - 1 * removed, 0), IRRADIATE, check_protection = 0)
|
||||
|
||||
/datum/reagent/ethanol/whiskey
|
||||
name = "Whiskey"
|
||||
@@ -1246,7 +1284,7 @@
|
||||
glass_desc = "We cannot take legal responsibility for your actions after imbibing."
|
||||
glass_center_of_mass = list("x"=15, "y"=7)
|
||||
|
||||
/datum/reagent/ethanol/b52
|
||||
/datum/reagent/ethanol/coffee/b52
|
||||
name = "B-52"
|
||||
id = "b52"
|
||||
description = "Coffee, Irish Cream, and cognac. You will get bombed."
|
||||
@@ -1357,7 +1395,7 @@
|
||||
glass_name = "glass of Booger"
|
||||
glass_desc = "Ewww..."
|
||||
|
||||
/datum/reagent/ethanol/brave_bull
|
||||
/datum/reagent/ethanol/coffee/brave_bull
|
||||
name = "Brave Bull"
|
||||
id = "bravebull"
|
||||
description = "It's just as effective as Dutch-Courage!"
|
||||
@@ -1566,7 +1604,7 @@
|
||||
glass_desc = "An irish car bomb."
|
||||
glass_center_of_mass = list("x"=16, "y"=8)
|
||||
|
||||
/datum/reagent/ethanol/irishcoffee
|
||||
/datum/reagent/ethanol/coffee/irishcoffee
|
||||
name = "Irish Coffee"
|
||||
id = "irishcoffee"
|
||||
description = "Coffee, and alcohol. More fun than a Mimosa to drink in the morning."
|
||||
|
||||
@@ -344,7 +344,7 @@
|
||||
scannable = 1
|
||||
|
||||
/datum/reagent/hyronalin/affect_blood(var/mob/living/carbon/M, var/alien, var/removed)
|
||||
M.radiation = max(M.radiation - 30 * removed, 0)
|
||||
M.apply_effect(max(M.radiation - 30 * removed, 0), IRRADIATE, check_protection = 0)
|
||||
|
||||
/datum/reagent/arithrazine
|
||||
name = "Arithrazine"
|
||||
@@ -357,7 +357,7 @@
|
||||
scannable = 1
|
||||
|
||||
/datum/reagent/arithrazine/affect_blood(var/mob/living/carbon/M, var/alien, var/removed)
|
||||
M.radiation = max(M.radiation - 70 * removed, 0)
|
||||
M.apply_effect(max(M.radiation - 70 * removed, 0), IRRADIATE, check_protection = 0)
|
||||
M.adjustToxLoss(-10 * removed)
|
||||
if(prob(60))
|
||||
M.take_organ_damage(4 * removed, 0)
|
||||
|
||||
@@ -422,23 +422,23 @@
|
||||
return
|
||||
M.druggy = max(M.druggy, 30)
|
||||
if(dose < 1)
|
||||
M.stuttering = max(M.stuttering, 3)
|
||||
M.apply_effect(3, STUTTER)
|
||||
M.make_dizzy(5)
|
||||
if(prob(10))
|
||||
if(prob(5))
|
||||
M.emote(pick("twitch", "giggle"))
|
||||
else if(dose < 2)
|
||||
M.stuttering = max(M.stuttering, 3)
|
||||
M.apply_effect(3, STUTTER)
|
||||
M.make_jittery(5)
|
||||
M.make_dizzy(5)
|
||||
M.druggy = max(M.druggy, 35)
|
||||
if(prob(10))
|
||||
M.emote(pick("twitch", "giggle"))
|
||||
else
|
||||
M.apply_effect(3, STUTTER)
|
||||
M.make_jittery(10)
|
||||
M.make_dizzy(10)
|
||||
M.druggy = max(M.druggy, 35)
|
||||
if(prob(20))
|
||||
M.emote(pick("twitch","giggle"))
|
||||
else
|
||||
M.stuttering = max(M.stuttering, 3)
|
||||
M.make_jittery(20)
|
||||
M.make_dizzy(20)
|
||||
M.druggy = max(M.druggy, 40)
|
||||
if(prob(30))
|
||||
if(prob(15))
|
||||
M.emote(pick("twitch", "giggle"))
|
||||
|
||||
/datum/reagent/nicotine
|
||||
|
||||
@@ -58,10 +58,6 @@
|
||||
qdel(src)
|
||||
return
|
||||
|
||||
/obj/machinery/chemical_dispenser/energy/blob_act()
|
||||
if (prob(50))
|
||||
qdel(src)
|
||||
|
||||
/**
|
||||
* The ui_interact proc is used to open and update Nano UIs
|
||||
* If ui_interact is not used then the UI will not update correctly
|
||||
|
||||
@@ -124,7 +124,7 @@
|
||||
if(user.a_intent != I_HURT || !isGlass)
|
||||
return ..()
|
||||
|
||||
var/obj/item/organ/external/affecting = user.zone_sel.selecting //Find what the player is aiming at
|
||||
var/affecting = user.zone_sel.selecting //Find what the player is aiming at
|
||||
|
||||
var/armor_block = 0 //Get the target's armour values for normal attack damage.
|
||||
var/armor_duration = 0 //The more force the bottle has, the longer the duration.
|
||||
@@ -140,12 +140,11 @@
|
||||
|
||||
// You are going to knock someone out for longer if they are not wearing a helmet.
|
||||
var/do_smash = smash_check(1) //won't always break on the first hit
|
||||
if(affecting == "head" && istype(target, /mob/living/carbon/) && do_smash)
|
||||
|
||||
var/mob/living/carbon/human/H = target
|
||||
if(do_smash && istype(H) && H.headcheck(affecting))
|
||||
//Display an attack message.
|
||||
for(var/mob/O in viewers(user, null))
|
||||
if(target != user) O.show_message(text("\red <B>[target] has been hit over the head with a bottle of [src.name], by [user]!</B>"), 1)
|
||||
else O.show_message(text("\red <B>[target] hit \himself with a bottle of [src.name] on the head!</B>"), 1)
|
||||
var/obj/item/organ/O = H.get_organ(affecting)
|
||||
user.visible_message("<span class='danger'>[user] smashes [src] into [H]'s [O.name]!</span>")
|
||||
//Weaken the target for the duration that we calculated and divide it by 5.
|
||||
if(armor_duration)
|
||||
target.apply_effect(min(armor_duration, 5) , WEAKEN, armor_block) // Never weaken more than a flash!
|
||||
|
||||
@@ -57,9 +57,9 @@
|
||||
user.visible_message("<span class='warning'>[user] forces [M] to swallow \the [src].</span>")
|
||||
|
||||
var/contained = reagentlist()
|
||||
M.attack_log += text("\[[time_stamp()]\] <font color='orange'>Has been fed [name] by [user.name] ([user.ckey]) Reagents: [contained]</font>")
|
||||
user.attack_log += text("\[[time_stamp()]\] <font color='red'>Fed [name] by [M.name] ([M.ckey]) Reagents: [contained]</font>")
|
||||
msg_admin_attack("[user.name] ([user.ckey]) fed [M.name] ([M.ckey]) with [name] Reagents: [contained] (INTENT: [uppertext(user.a_intent)]) (<A HREF='?_src_=holder;adminplayerobservecoodjump=1;X=[user.x];Y=[user.y];Z=[user.z]'>JMP</a>)")
|
||||
M.attack_log += text("\[[time_stamp()]\] <font color='orange'>Has been fed [name] by [key_name(user)] Reagents: [contained]</font>")
|
||||
user.attack_log += text("\[[time_stamp()]\] <font color='red'>Fed [name] to [key_name(M)] Reagents: [contained]</font>")
|
||||
msg_admin_attack("[key_name_admin(user)] fed [key_name_admin(M)] with [name] Reagents: [contained] (INTENT: [uppertext(user.a_intent)]) (<A HREF='?_src_=holder;adminplayerobservecoodjump=1;X=[user.x];Y=[user.y];Z=[user.z]'>JMP</a>)")
|
||||
|
||||
if(reagents.total_volume)
|
||||
reagents.trans_to_mob(M, reagents.total_volume, CHEM_INGEST)
|
||||
|
||||
@@ -59,11 +59,6 @@
|
||||
else
|
||||
return
|
||||
|
||||
blob_act()
|
||||
if(prob(50))
|
||||
new /obj/effect/effect/water(src.loc)
|
||||
qdel(src)
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -146,7 +141,7 @@
|
||||
|
||||
|
||||
/obj/structure/reagent_dispensers/fueltank/bullet_act(var/obj/item/projectile/Proj)
|
||||
if(Proj.damage_type == BRUTE || Proj.damage_type == BURN)
|
||||
if(Proj.get_structure_damage())
|
||||
if(istype(Proj.firer))
|
||||
message_admins("[key_name_admin(Proj.firer)] shot fueltank at [loc.loc.name] ([loc.x],[loc.y],[loc.z]) (<A HREF='?_src_=holder;adminplayerobservecoodjump=1;X=[loc.x];Y=[loc.y];Z=[loc.z]'>JMP</a>).")
|
||||
log_game("[key_name(Proj.firer)] shot fueltank at [loc.loc.name] ([loc.x],[loc.y],[loc.z]).")
|
||||
@@ -154,9 +149,6 @@
|
||||
if(!istype(Proj ,/obj/item/projectile/beam/lastertag) && !istype(Proj ,/obj/item/projectile/beam/practice) )
|
||||
explode()
|
||||
|
||||
/obj/structure/reagent_dispensers/fueltank/blob_act()
|
||||
explode()
|
||||
|
||||
/obj/structure/reagent_dispensers/fueltank/ex_act()
|
||||
explode()
|
||||
|
||||
@@ -223,10 +215,6 @@
|
||||
..()
|
||||
reagents.add_reagent("beer",1000)
|
||||
|
||||
/obj/structure/reagent_dispensers/beerkeg/blob_act()
|
||||
explosion(src.loc,0,3,5,7,10)
|
||||
qdel(src)
|
||||
|
||||
/obj/structure/reagent_dispensers/virusfood
|
||||
name = "Virus Food Dispenser"
|
||||
desc = "A dispenser of virus food."
|
||||
|
||||
Reference in New Issue
Block a user