Merge Pull Requests #430 and #431 from ZomgPonies/master

This commit is contained in:
DZD
2014-10-15 18:38:33 -04:00
37 changed files with 12071 additions and 2152 deletions
@@ -81,7 +81,7 @@
/datum/medical_effect/headache
name = "Headache"
triggers = list("cryoxadone" = 10, "bicaridine" = 15, "tricordrazine" = 15)
cures = list("alkysine", "tramadol")
cures = list("alkysine", "tramadol", "paracetamol", "oxycodone")
cure_message = "Your head stops throbbing..."
/datum/medical_effect/headache/on_life(mob/living/carbon/human/H, strength)
+9 -3
View File
@@ -154,12 +154,13 @@ var/list/uplink_items = list()
cost = 3
job = list("Civilian")
/*
/datum/uplink_item/jobspecific/greytide
name = "Greytide Implant"
desc = "A box containing an implanter filled with a greytide implant when injected into another person makes them loyal to the greytide and your cause, unless of course they're already implanted by someone else. Loyalty ends if the implant is no longer in their system."
item = /obj/item/weapon/storage/box/syndie_kit/greytide
cost = 7
job = list("Civilian")
job = list("Civilian") */
//Bartender
/datum/uplink_item/jobspecific/drunkbullets
@@ -257,9 +258,9 @@ var/list/uplink_items = list()
/datum/uplink_item/stealthy_weapons/para_pen
name = "Paralysis Pen"
desc = "A syringe disguised as a functional pen, filled with a neuromuscular-blocking drug that renders a target immobile on injection and makes them seem dead to observers. Side effects of the drug include noticeable drooling. The pen holds one dose of paralyzing agent, and cannot be refilled."
desc = "A syringe disguised as a functional pen, filled with a neuromuscular-blocking drug that renders a target mute on injection that will eventually cause them to pass out. The pen holds one dose of paralyzing agent,though it can be refilled."
item = /obj/item/weapon/pen/paralysis
cost = 3
cost = 4
/datum/uplink_item/stealthy_weapons/soap
name = "Syndicate Soap"
@@ -317,6 +318,11 @@ var/list/uplink_items = list()
item = /obj/item/device/chameleon
cost = 4
/datum/uplink_item/stealthy_tools/mindslave
name = "Mindslave Implant"
desc = "A box containing an implanter filled with a mindslave implant that when injected into another person makes them loyal to you and your cause, unless of course they're already implanted by someone else. Loyalty ends if the implant is no longer in their system."
item = /obj/item/weapon/storage/box/syndie_kit/mindslave
cost = 5
// DEVICE AND TOOLS
+2 -2
View File
@@ -160,8 +160,8 @@
anchored = 1
var/orient = "LEFT" // "RIGHT" changes the dir suffix to "-r"
var/mob/living/carbon/human/occupant = null
var/available_chemicals = list("inaprovaline" = "Inaprovaline", "stoxin" = "Soporific", "anti_toxin" = "Dylovene", "dexalin" = "Dexalin")
var/amounts = list(10, 20)
var/available_chemicals = list("inaprovaline" = "Inaprovaline", "stoxin" = "Soporific", "paracetamol" = "Paracetamol", "anti_toxin" = "Dylovene", "dexalin" = "Dexalin")
var/amounts = list(5, 10)
var/obj/item/weapon/reagent_containers/glass/beaker = null
var/filtering = 0
+2 -2
View File
@@ -52,10 +52,10 @@
fire_sound = 'sound/weapons/Laser.ogg'
/obj/item/mecha_parts/mecha_equipment/weapon/energy/laser/heavy
equip_cooldown = 15
equip_cooldown = 10
name = "CH-LC \"Solaris\" Laser Cannon"
icon_state = "mecha_laser"
energy_drain = 50
energy_drain = 40
projectile = /obj/item/projectile/beam/heavylaser
fire_sound = 'sound/weapons/lasercannonfire.ogg'
+1 -1
View File
@@ -424,7 +424,7 @@
desc = "Your palm is oozing this stuff!"
icon = 'icons/mob/slimes.dmi'
icon_state = "red slime extract"
throwforce = 30.0
throwforce = 5.0
throw_speed = 10
throw_range = 30
w_class = 1
@@ -297,7 +297,8 @@ CIGARETTE PACKETS ARE IN FANCY.DM
item_state = "pipeoff"
icon_on = "pipeon" //Note - these are in masks.dmi
icon_off = "pipeoff"
smoketime = 100
smoketime = 1000
chem_volume = 50
/obj/item/clothing/mask/cigarette/pipe/light(var/flavor_text = "[usr] lights the [name].")
if(!src.lit)
@@ -353,7 +354,8 @@ CIGARETTE PACKETS ARE IN FANCY.DM
item_state = "cobpipeoff"
icon_on = "cobpipeon" //Note - these are in masks.dmi
icon_off = "cobpipeoff"
smoketime = 400
smoketime = 800
chem_volume = 40
@@ -343,20 +343,20 @@ the implant may become unstable and either pre-maturely inject the subject or si
return 1
/obj/item/weapon/implant/traitor
name = "Greytide Implant"
desc = "Greytide Station wide"
name = "Mindslave Implant"
desc = "Divide and Conquer"
icon_state = "implant_evil"
get_data()
var/dat = {"
<b>Implant Specifications:</b><BR>
<b>Name:</b> Greytide Mind-Slave Implant<BR>
<b>Name:</b> Mind-Slave Implant<BR>
<b>Life:</b> ??? <BR>
<b>Important Notes:</b> Any humanoid injected with this implant will become loyal to the injector and the greytide, unless of course the host is already loyal to someone else.<BR>
<b>Important Notes:</b> Any humanoid injected with this implant will become loyal to the injector, unless of course the host is already loyal to someone else.<BR>
<HR>
<b>Implant Details:</b><BR>
<b>Function:</b> Contains a small pod of nanobots that manipulate the host's mental functions.<BR>
<b>Special Features:</b> Glory to the Greytide!<BR>
<b>Special Features:</b> Diplomacy was never so easy.<BR>
<b>Integrity:</b> Implant will last so long as the nanobots are inside the bloodstream."}
return dat
@@ -367,9 +367,9 @@ the implant may become unstable and either pre-maturely inject the subject or si
if(!M.mind) return 0
var/mob/living/carbon/human/H = M
if(M == user)
user << "<span class='notice'>You feel quite stupid for doing that.</span>"
user << "<span class='notice'>Making yourself loyal to yourself was a great idea! Perhaps the best idea, ever! Actually, you just feel like an idiot.</span>"
if(isliving(user))
user:brainloss += 10
user:brainloss += 20
return
if(locate(/obj/item/weapon/implant/traitor) in H.contents || locate(/obj/item/weapon/implant/traitor) in H.contents)
H.visible_message("[H] seems to resist the implant!", "You feel a strange sensation in your head that quickly dissipates.")
@@ -389,7 +389,7 @@ the implant may become unstable and either pre-maturely inject the subject or si
ticker.mode:implanter[ref] = implanters
ticker.mode.traitors += H.mind
H.mind.special_role = "traitor"
H << "<B>\red You've been shown the Greytide by [user.name]!</B> You now must lay down your life to protect them and assist in their goals at any cost."
H << "<B>\red You're now completely loyal to [user.name]!</B> You now must lay down your life to protect them and assist in their goals at any cost."
var/datum/objective/protect/p = new
p.owner = H.mind
p.target = user:mind
@@ -54,8 +54,8 @@
/obj/item/weapon/implanter/traitor
name = "implanter-greytide"
desc = "Greytide Stationwide."
name = "implanter-mindslave"
desc = "Divide and Conquer."
New()
src.imp = new /obj/item/weapon/implant/traitor(src)
@@ -12,8 +12,10 @@
autoignition_temperature = 522 // Kelvin
suicide_act(mob/user)
viewers(user) << "\red <b>[user] is farting lightly on the [src.name]! It looks like \he's trying to commit suicide!</b>"
return (user.death(1))
user.emote("fart")
viewers(user) << "\red <b>[user] farts on the [src.name]!</b>"
viewers(user) << "\blue <b>A mysterious force smites [user]!</b>"
return (user.gib(1))
/obj/item/weapon/storage/bible/booze
@@ -135,8 +135,8 @@
new /obj/item/ammo_box/a357(src)
return
/obj/item/weapon/storage/box/syndie_kit/greytide
name = "box (GT)"
/obj/item/weapon/storage/box/syndie_kit/mindslave
name = "box (MS)"
New()
..()
@@ -1,7 +1,7 @@
/datum/event/anomaly/anomaly_bluespace
startWhen = 3
announceWhen = 10
endWhen = 55
endWhen = 160
/datum/event/anomaly/anomaly_bluespace/announce()
+1 -1
View File
@@ -3,7 +3,7 @@
/datum/event/anomaly/anomaly_flux
startWhen = 3
announceWhen = 20
endWhen = 60
endWhen = 180
/datum/event/anomaly/anomaly_flux/announce()
+1 -1
View File
@@ -3,7 +3,7 @@
/datum/event/anomaly/anomaly_grav
startWhen = 3
announceWhen = 20
endWhen = 50
endWhen = 70
/datum/event/anomaly/anomaly_grav/announce()
@@ -1,7 +1,7 @@
/datum/event/anomaly/anomaly_vortex
startWhen = 10
startWhen = 20
announceWhen = 3
endWhen = 80
+18 -10
View File
@@ -86,24 +86,32 @@
src.apply_damage(shock_damage, BURN, def_zone, used_weapon="Electrocution")
playsound(loc, "sparks", 50, 1, -1)
if (shock_damage > 10)
src.visible_message(
"\red [src] was shocked by the [source]!", \
"\red <B>You feel a powerful shock course through your body!</B>", \
"\red You hear a heavy electrical crack." \
)
Stun(10)//This should work for now, more is really silly and makes you lay there forever
Weaken(10)
else
if (shock_damage < 10)
src.visible_message(
"\red [src] was mildly shocked by the [source].", \
"\red You feel a mild shock course through your body.", \
"\red You hear a light zapping." \
)
if (shock_damage > 10)
if (shock_damage < 200)
src.visible_message(
"\red [src] was shocked by the [source]!", \
"\red <B>You feel a powerful shock course through your body!</B>", \
"\red You hear a heavy electrical crack." \
)
Stun(10)//This should work for now, more is really silly and makes you lay there forever
Weaken(10)
if (shock_damage > 200)
src.visible_message(
"\red [src] was arc flashed by the [source]!", \
"\red <B>The [source] arc flashes and electrocutes you!</B>", \
"\red You hear a lightning-like crack!" \
)
playsound(loc, "sound/effects/eleczap.ogg", 50, 1, -1)
explosion(src.loc,-1,0,2,2)
return shock_damage
/mob/living/carbon/proc/swap_hand()
var/obj/item/item_in_hand = src.get_active_hand()
if(item_in_hand) //this segment checks if the item in your hand is twohanded.
@@ -527,6 +527,23 @@
else
message = "<B>[src]</B> sadly can't find anybody to give daps to, and daps \himself. Shameful."
if("slap")
m_type = 1
if (!src.restrained())
var/M = null
if (param)
for (var/mob/A in view(1, null))
if (param == A.name)
M = A
break
if (M)
message = "\red <B>[src]</B> slaps [M] across the face. Ouch!"
playsound(src.loc, 'sound/effects/snap.ogg', 50, 1)
else
message = "\red <B>[src]</B> slaps \himself!"
playsound(src.loc, 'sound/effects/snap.ogg', 50, 1)
src.adjustFireLoss(4)
if ("scream")
if (miming)
message = "<B>[src]</B> acts out a scream!"
@@ -1111,26 +1111,6 @@
src.custom_pain("You feel a stabbing pain in your chest!", 1)
L.damage = L.min_bruised_damage
//Gave the rupture_lung() call it's own proc to have much more control over it.
/mob/living/carbon/human/proc/try_lung_rupture(argBreath)
var/datum/gas_mixture/environment = loc.return_air()
var/datum/gas_mixture/breath = argBreath
var/pressure = environment.return_pressure()
var/adjusted_pressure = calculate_affecting_pressure(pressure)
//High kPa
if(!is_lung_ruptured() && breath.total_moles > BREATH_MOLES * 5)
if(prob(5))
rupture_lung()
return
//Low kPa
else if(!is_lung_ruptured() && internal && adjusted_pressure <= species.hazard_low_pressure)
if(internal.distribute_pressure >= species.warning_low_pressure)
if(prob(33))
rupture_lung()
return
else
return
/*
/mob/living/carbon/human/verb/simulate()
set name = "sim"
@@ -28,18 +28,12 @@
if(embedded_flag)
handle_embedded_objects() //Moving with objects stuck in you can cause bad times.
var/hyperizine = reagents.has_reagent("hyperizine")
if(hyperizine && dna.mutantrace == "slime")
tally *= 2
else if(hyperizine || M_RUN in mutations || istype(loc, /turf/space))
return -1
if(reagents.has_reagent("hyperzine")) return -1
if(reagents.has_reagent("nuka_cola")) return -1
if((M_RUN in mutations)) return -1
if (istype(loc, /turf/space)) return -1 // It's hard to be slowed down in space by... anything
var/health_deficiency = (100 - health)
if(health_deficiency >= 40) tally += (health_deficiency / 25)
+13 -46
View File
@@ -36,7 +36,6 @@ var/global/list/brutefireloss_overlays = list("1" = image("icon" = 'icons/mob/sc
var/do_deferred_species_setup=0
var/exposedtimenow = 0
var/firstexposed = 0
var/last_message = 0
// Doing this during species init breaks shit.
/mob/living/carbon/human/proc/DeferredSpeciesSetup()
@@ -243,11 +242,13 @@ var/global/list/brutefireloss_overlays = list("1" = image("icon" = 'icons/mob/sc
if(3)
emote("drool")
/*
if(species.name == "Tajaran")
if(prob(1))
if(prob(1))
vomit(1) // Hairball
*/
if(stat != 2)
var/rn = rand(0, 200)
@@ -277,35 +278,6 @@ var/global/list/brutefireloss_overlays = list("1" = image("icon" = 'icons/mob/sc
// as cloneloss
adjustCloneLoss(0.1)
//Makes Space a little more evil, simulates that space is full of errent high energy particles waiting to tear you up.
proc/cosmic_radiation()
var/ax = x
var/ay = y
if(istype(loc, /turf/space))
if(!(getarmor("chest", "rad") > 0))
if(prob(33))
apply_effect((rand(3,7)),IRRADIATE,0)
//Thank you to whoever wrote the vampire's sun code.
if(!(wear_suit && (wear_suit.flags & STOPSPRESSUREDMAGE)) && !(species.flags & RAD_ABSORB))
for(var/i = 1 to 20)
ax += sun.dx
ay += sun.dy
var/turf/T = locate( round(ax,0.5),round(ay,0.5),z)
if(T.x == 1 || T.x==world.maxx || T.y==1 || T.y==world.maxy)
break
if(T.density)
return
var/datum/organ/external/O = pick(organs)
apply_damage(3, BURN, O)
if(world.time - last_message > 5)
src << "\red You feel the intense heat of the sun giving you a harsh sunburn."
last_message = world.time
proc/handle_mutations_and_radiation()
if(species.flags & IS_SYNTHETIC) //Robots don't suffer from mutations or radloss.
@@ -315,14 +287,13 @@ var/global/list/brutefireloss_overlays = list("1" = image("icon" = 'icons/mob/sc
if((M_RESIST_HEAT in mutations) || (prob(1)))
heal_organ_damage(0,1)
cosmic_radiation()
for(var/datum/dna/gene/gene in dna_genes)
if(!gene.block)
continue
if(gene.is_active(src))
if (prob(10) && prob(gene.instability))
adjustCloneLoss(1)
/* if (prob(10) && prob(gene.instability))
adjustCloneLoss(1) */
gene.OnMobLife(src)
if (radiation)
@@ -395,7 +366,7 @@ var/global/list/brutefireloss_overlays = list("1" = image("icon" = 'icons/mob/sc
if(damage && organs.len)
var/datum/organ/external/O = pick(organs)
if(istype(O)) O.add_autopsy_data("Radiation Poisoning", damage)
proc/breathe()
if(reagents.has_reagent("lexorin")) return
if(M_NO_BREATH in mutations) return // No breath mutation means no breathing.
@@ -419,8 +390,6 @@ var/global/list/brutefireloss_overlays = list("1" = image("icon" = 'icons/mob/sc
else
//First, check for air from internal atmosphere (using an air tank and mask generally)
breath = get_breath_from_internal(BREATH_VOLUME) // Super hacky -- TLE
if(breath)
try_lung_rupture(breath)
//breath = get_breath_from_internal(0.5) // Manually setting to old BREATH_VOLUME amount -- TLE
//No breath from internal atmosphere so get breath from location
@@ -438,9 +407,12 @@ var/global/list/brutefireloss_overlays = list("1" = image("icon" = 'icons/mob/sc
breath_moles = environment.total_moles()*BREATH_PERCENTAGE
breath = loc.remove_air(breath_moles)
try_lung_rupture(breath)
if(!is_lung_ruptured())
if(!breath || breath.total_moles < BREATH_MOLES / 5 || breath.total_moles > BREATH_MOLES * 5)
if(prob(5))
rupture_lung()
// Handle chem smoke effect -- Doohl
var/block = 0
if(wear_mask)
@@ -630,8 +602,7 @@ var/global/list/brutefireloss_overlays = list("1" = image("icon" = 'icons/mob/sc
pressure_alert = -1
else
if( !(M_RESIST_COLD in mutations))
//Low pressure really cant deal much pysical damage but would be pretty painful. -IndexLP
apply_damage(LOW_PRESSURE_DAMAGE+1, HALLOSS)
take_overall_damage(brute=LOW_PRESSURE_DAMAGE, used_weapon = "Low Pressure")
pressure_alert = -2
else
pressure_alert = -1
@@ -1074,16 +1045,12 @@ var/global/list/brutefireloss_overlays = list("1" = image("icon" = 'icons/mob/sc
for(var/atom/a in hallucinations)
del a
if(halloss > 100 && pressure_alert != -2)
if(halloss > 100)
src << "<span class='notice'>You're in too much pain to keep going...</span>"
for(var/mob/O in oviewers(src, null))
O.show_message("<B>[src]</B> slumps to the ground, too weak to continue fighting.", 1)
Paralyse(10)
setHalLoss(99)
if(halloss > 100 && pressure_alert == -2)
src << "<span class='notice'>You're in too much pain to keep going...</span>"
Paralyse(10)
setHalLoss(95)
if(paralysis)
AdjustParalysis(-1)
+11 -7
View File
@@ -5,20 +5,24 @@
/mob/living/carbon/proc/updateshock()
src.traumatic_shock = \
1 * src.getOxyLoss() + \
0.7 * src.getToxLoss() + \
1.5 * src.getFireLoss() + \
1.2 * src.getBruteLoss() + \
1.7 * src.getCloneLoss() + \
2 * src.halloss
0.7 * src.getToxLoss() + \
1.5 * src.getFireLoss() + \
1.2 * src.getBruteLoss() + \
1.7 * src.getCloneLoss() + \
2 * src.halloss
if(reagents.has_reagent("alkysine"))
src.traumatic_shock -= 10
if(reagents.has_reagent("inaprovaline"))
src.traumatic_shock -= 25
if(reagents.has_reagent("synaptizine"))
src.traumatic_shock -= 40
if(reagents.has_reagent("paracetamol"))
src.traumatic_shock -= 50
if(reagents.has_reagent("tramadol"))
src.traumatic_shock -= 20 // make synaptizine function as good painkiller
src.traumatic_shock -= 80
if(reagents.has_reagent("oxycodone"))
src.traumatic_shock -= 50 // make synaptizine function as good painkiller
src.traumatic_shock -= 200
if(src.slurring)
src.traumatic_shock -= 20
if(src.analgesic)
+4 -3
View File
@@ -363,7 +363,7 @@
breath_type = "nitrogen"
poison_type = "oxygen"
flags = NO_SCAN | IS_WHITELISTED | NO_BLOOD
flags = NO_SCAN | IS_WHITELISTED
flesh_color = "#808D11"
@@ -522,7 +522,7 @@
heat_level_2 = 350
heat_level_3 = 700
flags = NO_BREATHE | REQUIRE_LIGHT | NO_SCAN | IS_PLANT | RAD_ABSORB | NO_BLOOD | IS_SLOW | NO_PAIN
flags = NO_BREATHE | REQUIRE_LIGHT | IS_PLANT | RAD_ABSORB | NO_BLOOD | IS_SLOW | NO_PAIN
body_temperature = T0C + 15 //make the plant people have a bit lower body temperature, why not
@@ -536,6 +536,7 @@
return ..()
/* //overpowered and dumb as hell; they get cloning back, though.
/datum/species/diona/handle_death(var/mob/living/carbon/human/H)
var/mob/living/carbon/monkey/diona/S = new(get_turf(H))
@@ -551,7 +552,7 @@
else
del(D)
H.visible_message("\red[H] splits apart with a wet slithering noise!")
H.visible_message("\red[H] splits apart with a wet slithering noise!") */
/datum/species/machine
name = "Machine"
+2 -2
View File
@@ -457,10 +457,10 @@
return 1
//Antag Creatures!
if(ispath(MP, /mob/living/simple_animal/hostile/carp))
/* if(ispath(MP, /mob/living/simple_animal/hostile/carp))
return 1
if(ispath(MP, /mob/living/simple_animal/hostile/giant_spider))
return 1
return 1 */
if(ispath(MP, /mob/living/simple_animal/borer))
return 1
if(ispath(MP, /mob/living/carbon/alien))
+16 -2
View File
@@ -106,7 +106,21 @@
var/datum/reagents/R = new/datum/reagents(50)
reagents = R
R.my_atom = src
R.add_reagent("zombiepowder", 10)
R.add_reagent("cryptobiolin", 15)
R.add_reagent("stoxin", 30)
R.add_reagent("mutetoxin", 15)
..()
return
/obj/item/weapon/pen/paralysis/attackby(var/obj/item/O as obj, var/mob/user as mob) //courtesy of FalseIncarnate!
if (O.is_open_container())
//Check if container is of the "glass" subtype (includes buckets, beakers, vials)
if(istype(O, /obj/item/weapon/reagent_containers/glass))
var/obj/item/weapon/reagent_containers/glass/C = O
//Check if container is empty
if(!C.reagents.total_volume)
user << "\red [C] is empty."
return
//Container not empty, transfer contents to tray
var/trans = C.reagents.trans_to(src, C.amount_per_transfer_from_this)
user << "\blue You transfer [trans] units of the solution to [src]."
+5 -1
View File
@@ -174,7 +174,11 @@
return min(rand(20,80),rand(20,80))
if (100 to 250-1)
return min(rand(20,65),rand(20,65))*/
if (1000000 to INFINITY)
if (5000000 to INFINITY)
return min(rand(200,300),rand(200,300))
if (4000000 to 5000000-1)
return min(rand(80,180),rand(80,180))
if (1000000 to 4000000-1)
return min(rand(50,160),rand(50,160))
if (200000 to 1000000-1)
return min(rand(25,80),rand(25,80))
+5 -3
View File
@@ -373,7 +373,9 @@
return min(rand(20,65),rand(20,65))
if (1000 to 10000-1)
return min(rand(10,20),rand(10,20))*/
if (4000000 to INFINITY)
if (5000000 to INFINITY)
return min(rand(200,300),rand(200,300))
if (4000000 to 5000000)
return min(rand(80,180),rand(80,180))
if (1000000 to 4000000)
return min(rand(50,160),rand(50,160))
@@ -455,8 +457,8 @@
//No animations will be performed by this proc.
/proc/electrocute_mob(mob/living/carbon/M as mob, var/power_source, var/obj/source, var/siemens_coeff = 1.0)
if(istype(M.loc,/obj/mecha)) return 0 //feckin mechs are dumb
//This is for performance optimization only.
//This is for performance optimization only.
//DO NOT modify siemens_coeff here. That is checked in human/electrocute_act()
if(istype(M,/mob/living/carbon/human))
var/mob/living/carbon/human/H = M
@@ -70,11 +70,11 @@ obj/item/weapon/gun/energy/laser/retro
name = "laser cannon"
desc = "With the L.A.S.E.R. cannon, the lasing medium is enclosed in a tube lined with uranium-235 and subjected to high neutron flux in a nuclear reactor core. This incredible technology may help YOU achieve high excitation rates with small laser volumes!"
icon_state = "lasercannon"
// fire_sound = 'sound/weapons/lasercannonfire.ogg'
fire_sound = 'sound/weapons/lasercannonfire.ogg'
origin_tech = "combat=4;materials=3;powerstorage=3"
projectile_type = "/obj/item/projectile/beam/heavylaser"
charge_cost = 500 // Half the cost of the regular laser, weaker projectile.
fire_delay = 3
charge_cost = 1250
fire_delay = 10
isHandgun()
return 0
+2 -2
View File
@@ -304,11 +304,11 @@ var/list/beam_master = list()
flag = "laser"
eyeblur = 2
//changing heavy lasers to shoot twice as fast as regular lasers, and do a bit more DPS.
//Heavy lasers now deal slightly more damage, but have a slower firing rate; overall DPS still identical to lasers.
/obj/item/projectile/beam/heavylaser
name = "heavy laser"
icon_state = "heavylaser"
damage = 25
damage = 50
/obj/item/projectile/beam/xray
name = "xray beam"
+3 -3
View File
@@ -246,7 +246,7 @@
ui_title = "Soda Dispens-o-matic"
energy = 100
max_energy = 100
dispensable_reagents = list("water","ice","coffee","tea","icetea","cola","spacemountainwind","dr_gibb","space_up","tonic","sodawater","lemon_lime","sugar","orangejuice","limejuice","tomatojuice" ,"watermelonjuice","berryjuice")
dispensable_reagents = list("water","ice", "milk", "soymilk", "coffee","tea","hot_coco", "cola","spacemountainwind","dr_gibb","space_up","tonic","sodawater","lemon_lime","sugar","orangejuice", "lemonjuice", "limejuice","tomatojuice", "banana", "watermelonjuice", "carrotjuice", "potato", "berryjuice")
hack_message = "You change the mode from 'McNano' to 'Pizza King'."
unhack_message = "You change the mode from 'Pizza King' to 'McNano'."
hacked_reagents = list("thirteenloko")
@@ -258,10 +258,10 @@
energy = 100
max_energy = 100
desc = "A technological marvel, supposedly able to mix just the mixture you'd like to drink the moment you ask for one."
dispensable_reagents = list("ice","cream","beer","kahlua","whiskey","wine","vodka","gin","rum","tequila","vermouth","cognac","ale","mead")
dispensable_reagents = list("ice","cream","beer","kahlua","whiskey","wine","vodka","gin","rum","tequilla","vermouth","cognac","ale","mead")
hack_message = "You disable the 'nanotrasen-are-cheap-bastards' lock, enabling hidden and very expensive boozes."
unhack_message = "You re-enable the 'nanotrasen-are-cheap-bastards' lock, disabling hidden and very expensive boozes."
hacked_reagents = list("goldschlager","patron", "nothing")
hacked_reagents = list("goldschlager","patron", "absinthe", "ethanol", "nothing")
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+32 -18
View File
@@ -510,8 +510,8 @@ datum
description = "An effective hypnotic used to treat insomnia."
reagent_state = LIQUID
color = "#E895CC" // rgb: 232, 149, 204
toxod = 40
oxyod = 40
oxyod = 100
toxod = 100
on_mob_life(var/mob/living/M as mob)
if(!M) M = holder.my_atom
@@ -522,7 +522,7 @@ datum
if(15 to 25)
M.drowsyness = max(M.drowsyness, 20)
if(25 to INFINITY)
M.Weaken(20)
M.Paralyse(20)
M.drowsyness = max(M.drowsyness, 30)
data++
..()
@@ -1111,6 +1111,7 @@ datum
reagent_state = SOLID
color = "#C8A5DC" // rgb: 200, 165, 220
toxod = OVERDOSE/3
scannable = 1
on_mob_life(var/mob/living/M as mob)
if(!M) M = holder.my_atom
@@ -1240,6 +1241,7 @@ datum
toxod = OVERDOSE/4.5
oxyod = OVERDOSE/4.5
custom_metabolism = 0.25 // Lasts 10 minutes for 15 units
scannable = 1
on_mob_life(var/mob/living/M as mob)
if (volume > overdose)
@@ -1448,14 +1450,17 @@ datum
return
plantbgone
scannable = 1
name = "Plant-B-Gone"
id = "plantbgone"
description = "A harmful toxic mixture to kill plantlife. Do not ingest!"
reagent_state = LIQUID
color = "#49002E" // rgb: 73, 0, 46
toxod = OVERDOSE/3
burnod = OVERDOSE/3
on_mob_life(var/mob/living/M as mob)
if(!M) M = holder.my_atom
M.adjustToxLoss(2)
..()
return
// Clear off wallrot fungi
reaction_turf(var/turf/T, var/volume)
@@ -1500,7 +1505,6 @@ datum
reagent_state = LIQUID
color = "#C8A5DC" // rgb: 200, 165, 220
toxod = OVERDOSE
scannable = 1
on_mob_life(var/mob/living/M as mob)
if(!M) M = holder.my_atom
@@ -1546,6 +1550,7 @@ datum
color = "#E9D66B" // rgb: 233, 214, 107
toxod = OVERDOSE/1.5
burnod = OVERDOSE/1.5
scannable = 1
on_mob_life(var/mob/living/M as mob)
if(!M) M = holder.my_atom
@@ -1599,6 +1604,7 @@ datum
color = "#ECD540" // rgb: 236, 213, 64
toxod = OVERDOSE
bruteod = OVERDOSE
scannable = 1
on_mob_life(var/mob/living/M as mob)
if(M.stat == 2.0)
@@ -1697,7 +1703,7 @@ datum
return
if(!M) M = holder.my_atom
if(!alien || alien != IS_DIONA)
if(M.getOxyLoss()) M.adjustOxyLoss(-1*REM)
if(M.getOxyLoss() && prob(80)) M.adjustOxyLoss(-1*REM)
if(M.getBruteLoss() && prob(80)) M.heal_organ_damage(1*REM,0)
if(M.getFireLoss() && prob(80)) M.heal_organ_damage(0,1*REM)
if(M.getToxLoss() && prob(80)) M.adjustToxLoss(-1*REM)
@@ -1792,11 +1798,11 @@ datum
synaptizine
name = "Synaptizine"
id = "synaptizine"
description = "Synaptizine is used to treat various diseases."
description = "Synaptizine is a synaptic stimulant that can also be used to treat certain diseases."
reagent_state = LIQUID
color = "#C8A5DC" // rgb: 200, 165, 220
custom_metabolism = 0.01
toxod = OVERDOSE
custom_metabolism = 0.1
toxod = OVERDOSE/4.5
scannable = 1
on_mob_life(var/mob/living/M as mob)
@@ -1808,7 +1814,6 @@ datum
if(holder.has_reagent("mindbreaker"))
holder.remove_reagent("mindbreaker", 5)
M.hallucination = max(0, M.hallucination - 10)
if(prob(60)) M.adjustToxLoss(1)
..()
return
@@ -1854,6 +1859,7 @@ datum
color = "#BFFF00" // rgb: 191, 255, 0
toxod = OVERDOSE/1.5
burnod = OVERDOSE/1.5
scannable = 1
on_mob_life(var/mob/living/M as mob)
if(M.stat == 2.0)
@@ -2082,6 +2088,18 @@ datum
M.status_flags &= ~FAKEDEATH
..()8*/
mutetoxin
name = "Mute Toxin"
id = "mutetoxin"
description = "A toxin that temporarily paralyzes the vocal cords."
reagent_state = LIQUID
color = "#F0F8FF" // rgb: 240, 248, 255
on_mob_life(var/mob/living/M)
if(!M) M = holder.my_atom
M.silent += REM + 1
..()
mindbreaker
name = "Mindbreaker Toxin"
id = "mindbreaker"
@@ -2246,6 +2264,7 @@ datum
description = "A powerful oxidizer that reacts with ethanol."
reagent_state = SOLID
color = "#605048" // rgb: 96, 80, 72
scannable = 1
on_mob_life(var/mob/living/M as mob)
if(!M) M = holder.my_atom
@@ -2384,6 +2403,7 @@ datum
nutriment_factor = 10 * REAGENTS_METABOLISM
color = "#BBEDA4" // rgb: 187, 237, 164
toxod = OVERDOSE/2
scannable = 1
on_mob_life(var/mob/living/M as mob)
if(!M) M = holder.my_atom
@@ -3416,12 +3436,6 @@ datum
rum
name = "Rum"
id = "rum"
description = "Yohoho and all that."
color = "#664300" // rgb: 102, 67, 0
deadrum
name = "Deadrum"
id = "rum"
description = "Popular with the sailors. Not very popular with everyone else."
color = "#664300" // rgb: 102, 67, 0
@@ -105,6 +105,13 @@ datum
required_reagents = list("inaprovaline" = 1, "ethanol" = 1, "oxygen" = 1)
result_amount = 3
paracetamol
name = "Paracetamol"
id = "paracetamol"
result = "paracetamol"
required_reagents = list("tramadol" = 1, "sugar" = 1, "water" = 1)
result_amount = 3
oxycodone
name = "Oxycodone"
id = "oxycodone"
@@ -494,6 +501,13 @@ datum
required_reagents = list("carpotoxin" = 1, "stoxin" = 1, "copper" = 1)
result_amount = 3
mutetoxin
name = "Mute toxin"
id = "mutetoxin"
result = "mutetoxin"
required_reagents = list("uranium" = 2, "water" = 1, "carbon" = 1)
result_amount = 2
rezadone
name = "Rezadone"
id = "rezadone"
@@ -201,7 +201,8 @@
icon_state = "thirteen_loko"
New()
..()
reagents.add_reagent("thirteenloko", 30)
reagents.add_reagent("thirteenloko", 25)
reagents.add_reagent("psilocybin", 5)
src.pixel_x = rand(-10.0, 10)
src.pixel_y = rand(-10.0, 10)
@@ -221,8 +222,7 @@
icon_state = "starkist"
New()
..()
reagents.add_reagent("cola", 15)
reagents.add_reagent("orangejuice", 15)
reagents.add_reagent("brownstar", 30)
src.pixel_x = rand(-10.0, 10)
src.pixel_y = rand(-10.0, 10)
@@ -116,6 +116,10 @@
icon_state = "chocolateglass"
name = "Glass of chocolate"
desc = "Tasty"
if("hot_coco")
icon_state = "hot_coco"
name = "Glass of hot coco"
desc = "Delicious and cozy"
if("lemonjuice")
icon_state = "lemonglass"
name = "Glass of lemonjuice"
@@ -192,6 +196,10 @@
icon_state = "rumglass"
name = "Glass of Rum"
desc = "Now you want to Pray for a pirate suit, don't you?"
if("absinthe")
icon_state = "absinthebottle"
name = "Glass of Absinthe"
desc = "The green fairy is going to get you now!"
if("gintonic")
icon_state = "gintonicglass"
name = "Gin and Tonic"
@@ -356,6 +364,10 @@
icon_state = "carrotjuice"
name = "Glass of carrot juice"
desc = "It is just like a carrot but without crunching."
if("potato")
icon_state = "glass_brown"
name = "Glass of potato juice"
desc = "Who in the hell requests this? Gross!"
if("banana")
icon_state = "banana"
name = "Glass of banana juice"
@@ -1243,7 +1243,8 @@
icon_state = "chinese2"
New()
..()
reagents.add_reagent("nutriment", 6)
reagents.add_reagent("nutriment", 5)
reagents.add_reagent("carpotoxin", 1)
bitesize = 2
/obj/item/weapon/reagent_containers/food/snacks/chinese/newdles
@@ -1261,7 +1262,8 @@
icon_state = "chinese4"
New()
..()
reagents.add_reagent("nutriment", 6)
reagents.add_reagent("nutriment", 3)
reagents.add_reagent("rice", 3)
bitesize = 2
/obj/item/weapon/reagent_containers/food/snacks/syndicake
@@ -60,6 +60,7 @@
icon_state = "autoinjector"
item_state = "autoinjector"
amount_per_transfer_from_this = 5
possible_transfer_amounts = list(5)
volume = 5
/obj/item/weapon/reagent_containers/hypospray/autoinjector/New()
+9 -108
View File
@@ -82,116 +82,20 @@
// Bone White - Empty sypmtoms. There is a better way of handling this but this is much faster.
/datum/disease2/effect/invisible_stage_onea
name = "Non-existant Syndrome"
stage = 1
activate(var/mob/living/carbon/mob,var/multiplier)
return
/datum/disease2/effect/invisible_stage_oneb
name = "Non-existant Syndrome"
stage = 1
activate(var/mob/living/carbon/mob,var/multiplier)
return
/datum/disease2/effect/invisible_stage_twoa
name = "Non-existant Syndrome"
stage = 2
activate(var/mob/living/carbon/mob,var/multiplier)
return
/datum/disease2/effect/invisible_stage_twob
name = "Non-existant Syndrome"
stage = 2
activate(var/mob/living/carbon/mob,var/multiplier)
return
/datum/disease2/effect/invisible_stage_twoc
name = "Non-existant Syndrome"
stage = 2
activate(var/mob/living/carbon/mob,var/multiplier)
return
/datum/disease2/effect/invisible_stage_twod
name = "Non-existant Syndrome"
/datum/disease2/effect/invisible_stage_two
name = "Patience Syndrome"
stage = 2
activate(var/mob/living/carbon/mob,var/multiplier)
return
/datum/disease2/effect/invisible_stage_threea
name = "Non-existant Syndrome"
stage = 3
activate(var/mob/living/carbon/mob,var/multiplier)
return
/datum/disease2/effect/invisible_stage_threeb
name = "Non-existant Syndrome"
stage = 3
activate(var/mob/living/carbon/mob,var/multiplier)
return
/datum/disease2/effect/invisible_stage_threec
name = "Non-existant Syndrome"
stage = 3
activate(var/mob/living/carbon/mob,var/multiplier)
return
/datum/disease2/effect/invisible_stage_threed
name = "Non-existant Syndrome"
stage = 3
activate(var/mob/living/carbon/mob,var/multiplier)
return
/datum/disease2/effect/invisible_stage_threee
name = "Non-existant Syndrome"
stage = 3
activate(var/mob/living/carbon/mob,var/multiplier)
return
/datum/disease2/effect/invisible_stage_threef
name = "Non-existant Syndrome"
stage = 3
activate(var/mob/living/carbon/mob,var/multiplier)
return
/datum/disease2/effect/invisible_stage_threeg
name = "Non-existant Syndrome"
stage = 3
activate(var/mob/living/carbon/mob,var/multiplier)
return
/datum/disease2/effect/invisible_stage_threeh
name = "Non-existant Syndrome"
/datum/disease2/effect/invisible_stage_three
name = "Delayed Syndrome"
stage = 3
activate(var/mob/living/carbon/mob,var/multiplier)
return
/datum/disease2/effect/invisible_stage_foura
name = "Non-existant Syndrome"
stage = 4
activate(var/mob/living/carbon/mob,var/multiplier)
return
/datum/disease2/effect/invisible_stage_fourb
name = "Non-existant Syndrome"
stage = 4
activate(var/mob/living/carbon/mob,var/multiplier)
return
/datum/disease2/effect/invisible_stage_fourc
name = "Non-existant Syndrome"
stage = 4
activate(var/mob/living/carbon/mob,var/multiplier)
return
/datum/disease2/effect/invisible_stage_fourd
name = "Non-existant Syndrome"
stage = 4
activate(var/mob/living/carbon/mob,var/multiplier)
return
/datum/disease2/effect/invisible_stage_foure
name = "Non-existant Syndrome"
stage = 4
activate(var/mob/living/carbon/mob,var/multiplier)
return
/datum/disease2/effect/invisible_stage_fourf
name = "Non-existant Syndrome"
stage = 4
activate(var/mob/living/carbon/mob,var/multiplier)
return
/datum/disease2/effect/invisible_stage_fourg
name = "Non-existant Syndrome"
stage = 4
activate(var/mob/living/carbon/mob,var/multiplier)
return
/datum/disease2/effect/invisible_stage_fourh
name = "Non-existant Syndrome"
/datum/disease2/effect/invisible_stage_four
name = "Anticipation Syndrome"
stage = 4
activate(var/mob/living/carbon/mob,var/multiplier)
return
@@ -227,10 +131,6 @@
activate(var/mob/living/carbon/mob,var/multiplier)
mob.gib()
/datum/disease2/effect/blank_stage_4
name = "Nonexistant Syndrome"
stage = 4
/datum/disease2/effect/radian
name = "Radian's Syndrome"
stage = 4
@@ -469,7 +369,8 @@
*/
/datum/disease2/effect/orbweapon
/*
/datum/disease2/effect/orbweapon //peopel are just griefing the shit out of each other with this..and with a constantly regenerating weapon that has a throwforce of 30? I can see why.
name = "Biolobulin Effect"
stage = 4
activate(var/mob/living/carbon/mob,var/multiplier)
@@ -488,7 +389,7 @@
if (slot == slot_l_hand)
canremove = 1 //curses!
..()
*/
/datum/disease2/effect/plasma
name = "Toxin Sublimation"