Merge pull request #12452 from Trilbyspaceclone/spike-loot-differentces

Miner Loot Shuffle MK III
This commit is contained in:
silicons
2020-09-06 01:58:46 -07:00
committed by GitHub
20 changed files with 423 additions and 62 deletions

View File

@@ -43,7 +43,7 @@
},
/area/shuttle/escape/arena)
"l" = (
/obj/structure/closet/crate/necropolis/tendril,
/obj/structure/closet/crate/necropolis/tendril/magic,
/turf/open/indestructible/necropolis/air,
/area/shuttle/escape/arena)
"m" = (
@@ -65,10 +65,18 @@
/obj/structure/healingfountain,
/turf/open/indestructible/necropolis/air,
/area/shuttle/escape/arena)
"t" = (
/obj/structure/closet/crate/necropolis/tendril/misc,
/turf/open/indestructible/necropolis/air,
/area/shuttle/escape/arena)
"z" = (
/obj/effect/landmark/shuttle_arena_safe,
/turf/open/indestructible/necropolis/air,
/area/shuttle/escape/arena)
"H" = (
/obj/structure/closet/crate/necropolis/tendril/weapon_armor,
/turf/open/indestructible/necropolis/air,
/area/shuttle/escape/arena)
(1,1,1) = {"
a
@@ -264,16 +272,16 @@ m
l
j
m
l
H
j
k
l
H
j
m
l
t
j
m
j
t
j
p
g
@@ -524,16 +532,16 @@ m
l
j
m
l
H
j
m
l
H
j
m
l
t
j
m
j
t
j
p
g

View File

@@ -237,6 +237,11 @@ for further reading, please see: https://github.com/tgstation/tgstation/pull/301
resistance_flags = FIRE_PROOF
total_mass = TOTAL_MASS_MEDIEVAL_WEAPON
/obj/item/katana/lavaland
desc = "Woefully underpowered in Lavaland."
block_chance = 30
force = 25 //Like a fireaxe but one handed and can block!
/obj/item/katana/cursed
slot_flags = null

View File

@@ -10,6 +10,7 @@
max_mobs = 3
max_integrity = 250
mob_types = list(/mob/living/simple_animal/hostile/asteroid/basilisk/watcher/tendril)
var/loot_type = /obj/structure/closet/crate/necropolis/tendril/all
move_resist=INFINITY // just killing it tears a massive hole in the ground, let's not move it
anchored = TRUE
@@ -41,7 +42,7 @@ GLOBAL_LIST_INIT(tendrils, list())
/obj/structure/spawner/lavaland/deconstruct(disassembled)
new /obj/effect/collapse(loc)
new /obj/structure/closet/crate/necropolis/tendril(loc)
new loot_type(loc)
return ..()

View File

@@ -22,7 +22,7 @@
max_integrity = 200
armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 50, "acid" = 0)
var/state = 0
var/list/allowed_books = list(/obj/item/book, /obj/item/spellbook, /obj/item/storage/book) //Things allowed in the bookcase
var/list/allowed_books = list(/obj/item/book, /obj/item/spellbook, /obj/item/storage/book, /obj/item/gun/magic/wand/book) //Things allowed in the bookcase
/obj/structure/bookcase/examine(mob/user)
. = ..()
@@ -192,7 +192,7 @@
desc = "Crack it open, inhale the musk of its pages, and learn something new."
throw_speed = 1
throw_range = 5
w_class = WEIGHT_CLASS_NORMAL //upped to three because books are, y'know, pretty big. (and you could hide them inside eachother recursively forever)
w_class = WEIGHT_CLASS_NORMAL //upped to three because books are, y'know, pretty big. (and you could hide them inside eachother recursively forever)
attack_verb = list("bashed", "whacked", "educated")
resistance_flags = FLAMMABLE
var/dat //Actual page content

View File

@@ -66,6 +66,16 @@
force = 19
custom_materials = list(/datum/material/diamond=4000)
/obj/item/pickaxe/rosegold
name = "rose gold pickaxe"
icon_state = "rgpickaxe"
item_state = "rgpickaxe"
toolspeed = 0.1
desc = "A pickaxe with a light rose gold head and some red glowing runes. Extremely robust at cracking rock walls and digging up dirt."
force = 19
custom_materials = list(/datum/material/gold=4000)
digrange = 3
/obj/item/pickaxe/plasteel
name = "plasteel-tipped pickaxe"
icon_state = "titaxe"

View File

@@ -7,78 +7,202 @@
icon_state = "necrocrate"
resistance_flags = LAVA_PROOF | FIRE_PROOF | ACID_PROOF
/obj/structure/closet/crate/necropolis/tendril/random
name = "necropolis crate"
desc = "A chest for a chest, a head for a head."
/obj/structure/closet/crate/necropolis/tendril/random/PopulateContents()
var/loot = rand(1,3)
switch(loot)
if(1)
new /obj/structure/closet/crate/necropolis/tendril/magic(src)
if(2)
new /obj/structure/closet/crate/necropolis/tendril/weapon_armor(src)
if(3)
new /obj/structure/closet/crate/necropolis/tendril/misc(src)
/obj/structure/closet/crate/necropolis/tendril
desc = "It's watching you suspiciously."
/obj/structure/closet/crate/necropolis/tendril/PopulateContents()
var/loot = rand(1,29)
/obj/structure/closet/crate/necropolis/tendril/magic
name = "relic necropolis chest"
/obj/structure/closet/crate/necropolis/tendril/weapon_armor
name = "armament necropolis chest"
/obj/structure/closet/crate/necropolis/tendril/misc
/obj/structure/closet/crate/necropolis/tendril/all
desc = "It's watching you suspiciously."
/obj/structure/closet/crate/necropolis/tendril/magic/PopulateContents()
var/loot = rand(1,10)
switch(loot)
if(1)
new /obj/item/shared_storage/red(src)
if(2)
new /obj/item/clothing/suit/space/hardsuit/cult(src)
if(3)
new /obj/item/soulstone/anybody(src)
if(2)
new /obj/item/rod_of_asclepius(src)
if(3)
new /obj/item/organ/heart/cursed/wizard(src)
if(4)
new /obj/item/katana/cursed(src)
new /obj/item/book/granter/spell/summonitem(src)
if(5)
new /obj/item/clothing/glasses/godeye(src)
new /obj/item/borg/upgrade/modkit/lifesteal(src)
new /obj/item/bedsheet/cult(src)
if(6)
new /obj/item/reagent_containers/glass/bottle/potion/flight(src)
new /obj/item/clothing/neck/necklace/memento_mori(src)
if(7)
new /obj/item/pickaxe/diamond(src)
new /obj/item/warp_cube/red(src)
if(8)
new /obj/item/immortality_talisman(src)
if(9)
new /obj/item/gun/magic/wand/book/healing(src)
if(10)
new /obj/item/reagent_containers/glass/bottle/ichor/red(src)
new /obj/item/reagent_containers/glass/bottle/ichor/blue(src)
new /obj/item/reagent_containers/glass/bottle/ichor/green(src)
/obj/structure/closet/crate/necropolis/tendril/weapon_armor/PopulateContents()
var/loot = rand(1,11)
switch(loot)
if(1)
new /obj/item/clothing/suit/space/hardsuit/cult(src)
if(2)
new /obj/item/katana/lavaland(src)
if(3)
if(prob(50))
new /obj/item/disk/design_disk/modkit_disc/resonator_blast(src)
else
new /obj/item/disk/design_disk/modkit_disc/rapid_repeater(src)
if(9)
new /obj/item/rod_of_asclepius(src)
if(10)
new /obj/item/organ/heart/cursed/wizard(src)
if(11)
new /obj/item/ship_in_a_bottle(src)
if(12)
if(4)
new /obj/item/clothing/suit/space/hardsuit/ert/paranormal/beserker/old(src)
if(13)
new /obj/item/jacobs_ladder(src)
if(14)
if(5)
new /obj/item/nullrod/scythe/talking(src)
if(15)
if(6)
new /obj/item/nullrod/armblade(src)
if(16)
new /obj/item/guardiancreator(src)
if(17)
if(7)
new /obj/item/reagent_containers/food/drinks/bottle/holywater/hell(src)
new /obj/item/clothing/suit/space/hardsuit/ert/paranormal/inquisitor/old(src)
if(8)
new /obj/item/grenade/clusterbuster/inferno(src)
if(9)
new /obj/item/gun/magic/wand/book/shock(src)
if(10)
new /obj/item/gun/magic/wand/book/page(src)
if(11)
new /obj/item/gun/magic/wand/book/spark(src)
/obj/structure/closet/crate/necropolis/tendril/misc/PopulateContents()
var/loot = rand(1,11)
switch(loot)
if(1)
new /obj/item/shared_storage/red(src)
if(2)
new /obj/item/reagent_containers/glass/bottle/potion/flight(src)
if(3)
new /obj/item/ship_in_a_bottle(src)
if(4)
new /obj/item/voodoo(src)
if(5)
new /obj/item/book_of_babel(src)
if(6)
new /obj/item/jacobs_ladder(src)
if(7)
if(prob(50))
new /obj/item/disk/design_disk/modkit_disc/mob_and_turf_aoe(src)
else
new /obj/item/disk/design_disk/modkit_disc/bounty(src)
if(18)
new /obj/item/warp_cube/red(src)
if(19)
if(8)
new /obj/item/wisp_lantern(src)
if(20)
new /obj/item/immortality_talisman(src)
if(21)
new /obj/item/gun/magic/hook(src)
if(22)
if(9)
new /obj/item/pickaxe/rosegold(src)
if(10)
new /obj/item/bedsheet/cosmos(src)
new /obj/item/melee/skateboard/hoverboard(src)
if(11)
if(prob(50))
new /obj/item/malf_upgrade
else
new /obj/item/disk/tech_disk/illegal
if(12)
new /obj/item/clothing/suit/space/hardsuit/cult(src)
if(13)
new /obj/item/katana/lavaland(src)
if(14)
if(prob(50))
new /obj/item/disk/design_disk/modkit_disc/resonator_blast(src)
else
new /obj/item/disk/design_disk/modkit_disc/rapid_repeater(src)
/obj/structure/closet/crate/necropolis/tendril/all/PopulateContents()
var/loot = rand(1,31)
switch(loot)
if(1)
new /obj/item/shared_storage/red(src)
if(2)
new /obj/item/reagent_containers/glass/bottle/potion/flight(src)
if(3)
new /obj/item/ship_in_a_bottle(src)
if(4)
new /obj/item/voodoo(src)
if(23)
new /obj/item/grenade/clusterbuster/inferno(src)
if(24)
if(5)
new /obj/item/book_of_babel(src)
if(6)
new /obj/item/jacobs_ladder(src)
if(7)
if(prob(50))
new /obj/item/disk/design_disk/modkit_disc/mob_and_turf_aoe(src)
else
new /obj/item/disk/design_disk/modkit_disc/bounty(src)
if(8)
new /obj/item/wisp_lantern(src)
if(9)
new /obj/item/pickaxe/rosegold(src)
if(10)
new /obj/item/bedsheet/cosmos(src)
new /obj/item/melee/skateboard/hoverboard(src)
if(11)
new /obj/item/disk/tech_disk/illegal
if(15)
new /obj/item/clothing/suit/space/hardsuit/ert/paranormal/beserker/old(src)
if(16)
new /obj/item/nullrod/scythe/talking(src)
if(17)
new /obj/item/nullrod/armblade(src)
if(18)
new /obj/item/reagent_containers/food/drinks/bottle/holywater/hell(src)
new /obj/item/clothing/suit/space/hardsuit/ert/paranormal/inquisitor/old(src)
if(19)
new /obj/item/grenade/clusterbuster/inferno(src)
if(20)
new /obj/item/gun/magic/wand/book/shock(src)
if(21)
new /obj/item/gun/magic/wand/book/page(src)
if(22)
new /obj/item/gun/magic/wand/book/spark(src)
if(23)
new /obj/item/soulstone/anybody(src)
if(24)
new /obj/item/rod_of_asclepius(src)
if(25)
new /obj/item/book/granter/spell/summonitem(src)
new /obj/item/organ/heart/cursed/wizard(src)
if(26)
new /obj/item/book_of_babel(src)
new /obj/item/book/granter/spell/summonitem(src)
if(27)
new /obj/item/borg/upgrade/modkit/lifesteal(src)
new /obj/item/bedsheet/cult(src)
if(28)
new /obj/item/clothing/neck/necklace/memento_mori(src)
if(28)
new /obj/item/warp_cube/red(src)
if(29)
new /obj/item/disk/tech_disk/illegal(src)
new /obj/item/immortality_talisman(src)
if(30)
new /obj/item/gun/magic/wand/book/healing(src)
if(31)
new /obj/item/reagent_containers/glass/bottle/ichor/red(src)
new /obj/item/reagent_containers/glass/bottle/ichor/blue(src)
new /obj/item/reagent_containers/glass/bottle/ichor/green(src)
//KA modkit design discs
/obj/item/disk/design_disk/modkit_disc
@@ -744,7 +868,7 @@
new /obj/item/lava_staff(src)
if(3)
new /obj/item/book/granter/spell/sacredflame(src)
new /obj/item/gun/magic/wand/fireball(src)
new /obj/item/gun/magic/hook(src)
if(4)
new /obj/item/dragons_blood(src)
@@ -983,7 +1107,7 @@
if(2)
new /obj/item/gun/ballistic/revolver/doublebarrel/super(src)
if(3)
new /obj/item/gun/magic/staff/spellblade(src)
new /obj/item/guardiancreator(src)
/obj/structure/closet/crate/necropolis/bubblegum/crusher
name = "bloody bubblegum chest"
@@ -1072,6 +1196,7 @@
var/random_crystal = pick(choices)
new random_crystal(src)
new /obj/item/organ/vocal_cords/colossus(src)
new /obj/item/clothing/glasses/godeye(src)
/obj/structure/closet/crate/necropolis/colossus/crusher
name = "angelic colossus chest"

View File

@@ -141,7 +141,7 @@ Difficulty: Medium
loot = list(/obj/item/staff/storm)
elimination = 0
else if(prob(20))
loot = list(/obj/structure/closet/crate/necropolis/tendril)
loot = list(/obj/structure/closet/crate/necropolis/tendril/random) //This one spawns a chest that could be any of the three types
..()
/obj/item/gps/internal/legion

View File

@@ -25,6 +25,7 @@
var/list/attack_action_types = list()
var/can_talk = FALSE
var/obj/loot_drop = null
var/crate_type = /obj/structure/closet/crate/necropolis/tendril
var/owner
//Gives player-controlled variants the ability to swap attacks
@@ -182,7 +183,7 @@ While using this makes the system rely on OnFire, it still gives options for tim
activator = null
obj/structure/elite_tumor/proc/spawn_elite(var/mob/dead/observer/elitemind)
/obj/structure/elite_tumor/proc/spawn_elite(var/mob/dead/observer/elitemind)
var/selectedspawn = pick(potentialspawns)
mychild = new selectedspawn(loc)
visible_message("<span class='boldwarning'>[mychild] emerges from [src]!</span>")
@@ -193,7 +194,7 @@ obj/structure/elite_tumor/proc/spawn_elite(var/mob/dead/observer/elitemind)
icon_state = "tumor_popped"
INVOKE_ASYNC(src, .proc/arena_checks)
obj/structure/elite_tumor/proc/return_elite()
/obj/structure/elite_tumor/proc/return_elite()
mychild.forceMove(loc)
visible_message("<span class='boldwarning'>[mychild] emerges from [src]!</span>")
playsound(loc,'sound/effects/phasein.ogg', 200, 0, 50, TRUE, TRUE)
@@ -271,11 +272,11 @@ obj/structure/elite_tumor/proc/return_elite()
visible_message("<span class='boldwarning'>[mychild] suddenly reappears above [src]!</span>")
playsound(loc,'sound/effects/phasein.ogg', 200, 0, 50, TRUE, TRUE)
obj/structure/elite_tumor/proc/onEliteLoss()
/obj/structure/elite_tumor/proc/onEliteLoss()
playsound(loc,'sound/effects/tendril_destroyed.ogg', 200, 0, 50, TRUE, TRUE)
visible_message("<span class='boldwarning'>[src] begins to convulse violently before beginning to dissipate.</span>")
visible_message("<span class='boldwarning'>As [src] closes, something is forced up from down below.</span>")
var/obj/structure/closet/crate/necropolis/tendril/lootbox = new /obj/structure/closet/crate/necropolis/tendril(loc)
var/obj/structure/closet/crate/necropolis/tendril/lootbox = new mychild.crate_type(loc)
if(!boosted)
mychild = null
activator = null
@@ -290,7 +291,7 @@ obj/structure/elite_tumor/proc/onEliteLoss()
activator = null
qdel(src)
obj/structure/elite_tumor/proc/onEliteWon()
/obj/structure/elite_tumor/proc/onEliteWon()
activity = TUMOR_PASSIVE
activator = null
mychild.revive(full_heal = TRUE, admin_revive = TRUE)

View File

@@ -40,6 +40,7 @@
mouse_opacity = MOUSE_OPACITY_ICON
deathmessage = "explodes into gore!"
loot_drop = /obj/item/crusher_trophy/broodmother_tongue
crate_type = /obj/structure/closet/crate/necropolis/tendril/weapon_armor
attack_action_types = list(/datum/action/innate/elite_attack/tentacle_patch,
/datum/action/innate/elite_attack/spawn_children,

View File

@@ -38,7 +38,7 @@
deathsound = 'sound/magic/demon_dies.ogg'
deathmessage = "begins to shudder as it becomes transparent..."
loot_drop = /obj/item/clothing/neck/cloak/herald_cloak
crate_type = /obj/structure/closet/crate/necropolis/tendril/magic
can_talk = 1
attack_action_types = list(/datum/action/innate/elite_attack/herald_trishot,

View File

@@ -38,7 +38,7 @@
deathsound = 'sound/magic/curse.ogg'
deathmessage = "'s arms reach out before it falls apart onto the floor, lifeless."
loot_drop = /obj/item/crusher_trophy/legionnaire_spine
crate_type = /obj/structure/closet/crate/necropolis/tendril/misc
attack_action_types = list(/datum/action/innate/elite_attack/legionnaire_charge,
/datum/action/innate/elite_attack/head_detach,
/datum/action/innate/elite_attack/bonfire_teleport,

View File

@@ -38,7 +38,7 @@
deathsound = 'sound/magic/repulse.ogg'
deathmessage = "'s lights flicker, before its top part falls down."
loot_drop = /obj/item/clothing/accessory/pandora_hope
crate_type = /obj/structure/closet/crate/necropolis/tendril/magic
attack_action_types = list(/datum/action/innate/elite_attack/singular_shot,
/datum/action/innate/elite_attack/magic_box,
/datum/action/innate/elite_attack/pandora_teleport,
@@ -190,4 +190,4 @@
/obj/item/clothing/accessory/pandora_hope/on_uniform_dropped(obj/item/clothing/under/U, user)
var/mob/living/L = user
if(L && L.mind)
SEND_SIGNAL(L, COMSIG_CLEAR_MOOD_EVENT, "hope_lavaland")
SEND_SIGNAL(L, COMSIG_CLEAR_MOOD_EVENT, "hope_lavaland")

View File

@@ -43,3 +43,17 @@
/obj/item/ammo_casing/magic/locker
projectile_type = /obj/item/projectile/magic/locker
//Spell book ammo casing
/obj/item/ammo_casing/magic/book
projectile_type = /obj/item/projectile/magic/spellcard/book
/obj/item/ammo_casing/magic/book/spark
projectile_type = /obj/item/projectile/magic/spellcard/book/spark
/obj/item/ammo_casing/magic/book/heal
projectile_type = /obj/item/projectile/magic/spellcard/book/heal
harmful = FALSE
/obj/item/ammo_casing/magic/book/shock
projectile_type = /obj/item/projectile/magic/spellcard/book/shock

View File

@@ -0,0 +1,66 @@
/obj/item/gun/magic/wand/book
name = "blank spellbook"
desc = "It's not just a book, it's a SPELL book!"
ammo_type = /obj/item/ammo_casing/magic
icon = 'icons/obj/library.dmi'
icon_state = "book"
w_class = WEIGHT_CLASS_NORMAL
charges = 10 //We start with max pages
max_charges = 10
variable_charges = FALSE
/obj/item/gun/magic/wand/book/zap_self(mob/living/user)
to_chat(user, "The book has [charges] pages\s remaining.</span>")
/obj/item/gun/magic/wand/book/attackby(obj/item/S, mob/living/user, params)
if(!istype(S, /obj/item/paper))
return ..()
if(charges < max_charges)
charges++
recharge_newshot()
to_chat(user, "You add a new page to [src].</span>")
qdel(S)
update_icon()
process()
else
to_chat(user, "The [src] has no more room for pages!</span>")
//////////////////////
//Spell Book - SPARK//
//////////////////////
/obj/item/gun/magic/wand/book/spark
name = "Spell Book of Spark"
desc = "A spell book that fires burn pages to set the target ablaze!"
ammo_type = /obj/item/ammo_casing/magic/book/spark
icon_state = "spellbook_spark"
//////////////////////
//Spell Book - PAGE///
//////////////////////
/obj/item/gun/magic/wand/book/page
name = "Spell Book of Throw"
desc = "A spell book that throws pages at its target!"
ammo_type = /obj/item/ammo_casing/magic/book
icon_state = "spellbook_page"
//////////////////////
//Spell Book - SHOCK//
//////////////////////
/obj/item/gun/magic/wand/book/shock
name = "Spell Book of Shock"
desc = "A spell book that uses its pages to capture energy in the air and send it in a bolt at its target!"
ammo_type = /obj/item/ammo_casing/magic/book/shock
icon_state = "spellbook_shock"
////////////////////////
//Spell Book - HEALING//
////////////////////////
/obj/item/gun/magic/wand/book/healing
name = "Spell Book of Mending"
desc = "A spell book that uses its pages to heal and repair the target! The back of the book lists what it works on, and it seems to only be of flesh and of metal beings..."
ammo_type = /obj/item/ammo_casing/magic/book/heal
icon_state = "spellbook_healing"

View File

@@ -4,3 +4,60 @@
icon_state = "spellcard"
damage_type = BURN
damage = 2
/obj/item/projectile/magic/spellcard/book
nodamage = FALSE
name = "enchanted page"
desc = "A piece of paper enchanted to give it extreme durability and stiffness, along with a very hot burn to anyone unfortunate enough to get hit by a charged one."
icon_state = "spellcard"
damage_type = BURN
damage = 12
flag = "magic"
/obj/item/projectile/magic/spellcard/book/spark
damage = 4
var/fire_stacks = 4
/obj/item/projectile/magic/spellcard/book/spark/on_hit(atom/target, blocked = FALSE)
. = ..()
var/mob/living/carbon/M = target
if(ismob(target))
if(M.anti_magic_check())
M.visible_message("<span class='warning'>[src] vanishes on contact with [target]!</span>")
return BULLET_ACT_BLOCK
if(iscarbon(target))
M.adjust_fire_stacks(fire_stacks)
M.IgniteMob()
return
else
damage = 20 //If we are a simplemob we deal 5x damage
/obj/item/projectile/magic/spellcard/book/shock
damage = 0
stamina = 11
stutter = 5
jitter = 20
knockdown = 10
/obj/item/projectile/magic/spellcard/book/heal
damage = 0
nodamage = TRUE
/obj/item/projectile/magic/spellcard/book/heal/on_hit(atom/target, blocked = FALSE)
. = ..()
var/mob/living/carbon/M = target
if(ismob(target))
if(M.anti_magic_check())
M.visible_message("<span class='warning'>[src] vanishes on contact with [target]!</span>")
return BULLET_ACT_BLOCK
if(iscarbon(target))
M.visible_message("<span class='warning'>[src] mends [target]!</span>")
M.adjustBruteLoss(-5) //HEALS
M.adjustOxyLoss(-5)
M.adjustBruteLoss(-5)
M.adjustFireLoss(-5)
M.adjustToxLoss(-5, TRUE) //heals TOXINLOVERs
M.adjustCloneLoss(-5)
M.adjustStaminaLoss(-5)
return

View File

@@ -2220,6 +2220,7 @@
color = "#f7685e"
metabolization_rate = REAGENTS_METABOLISM * 0.25
/datum/reagent/wittel
name = "Wittel"
description = "An extremely rare metallic-white substance only found on demon-class planets."
@@ -2281,6 +2282,7 @@
/datum/reagent/gravitum/on_mob_end_metabolize(mob/living/L)
L.RemoveElement(/datum/element/forced_gravity, 0)
//body bluids
/datum/reagent/consumable/semen
name = "Semen"
@@ -2457,3 +2459,56 @@ datum/reagent/eldritch
return
..()
/datum/reagent/red_ichor
name = "Red Ichor"
can_synth = FALSE
description = "A unknown red liquid, linked to healing of most moral wounds."
color = "#c10000"
metabolization_rate = REAGENTS_METABOLISM * 2.5
/datum/reagent/red_ichor/on_mob_life(mob/living/carbon/M)
M.adjustBruteLoss(-50)
M.adjustOxyLoss(-50)
M.adjustBruteLoss(-50)
M.adjustFireLoss(-50)
M.adjustToxLoss(-50, TRUE) //heals TOXINLOVERs
M.adjustCloneLoss(-50)
M.adjustStaminaLoss(-50)
..()
/datum/reagent/green_ichor
name = "Green Ichor"
can_synth = FALSE
description = "A unknown green liquid, linked to healing of most internal wounds."
color = "#158c00"
metabolization_rate = REAGENTS_METABOLISM * 2.5
/datum/reagent/green_ichor/on_mob_life(mob/living/carbon/M)
M.adjustOrganLoss(ORGAN_SLOT_LUNGS, -100)
M.adjustOrganLoss(ORGAN_SLOT_HEART, -100)
M.adjustOrganLoss(ORGAN_SLOT_LIVER, -100)
M.adjustOrganLoss(ORGAN_SLOT_EARS, -100)
M.adjustOrganLoss(ORGAN_SLOT_STOMACH, -100)
M.adjustOrganLoss(ORGAN_SLOT_TONGUE, -100)
M.adjustOrganLoss(ORGAN_SLOT_EYES, -100)
..()
/datum/reagent/blue_ichor
name = "Blue Ichor"
can_synth = FALSE
description = "A unknown blue liquid, linked to healing the mind."
color = "#0914e0"
metabolization_rate = REAGENTS_METABOLISM * 2.5
/datum/reagent/blue_ichor/on_mob_life(mob/living/carbon/M)
M.adjustOrganLoss(ORGAN_SLOT_BRAIN, -100)
M.cure_all_traumas(TRAUMA_RESILIENCE_MAGIC)
M.hallucination = 0
M.dizziness = 0
M.disgust = 0
M.drowsyness = 0
M.stuttering = 0
M.confused = 0
M.SetSleeping(0, 0)
..()

View File

@@ -416,3 +416,20 @@
/obj/item/reagent_containers/glass/bottle/bromine
name = "bromine bottle"
list_reagents = list(/datum/reagent/bromine = 30)
//Ichors
/obj/item/reagent_containers/glass/bottle/ichor
possible_transfer_amounts = list(1)
volume = 1
/obj/item/reagent_containers/glass/bottle/ichor/red
name = "healing potion"
list_reagents = list(/datum/reagent/red_ichor = 1)
/obj/item/reagent_containers/glass/bottle/ichor/blue
name = "blue potion"
list_reagents = list(/datum/reagent/blue_ichor = 1)
/obj/item/reagent_containers/glass/bottle/ichor/green
name = "green potion"
list_reagents = list(/datum/reagent/green_ichor = 1)

Binary file not shown.

Before

Width:  |  Height:  |  Size: 28 KiB

After

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 63 KiB

After

Width:  |  Height:  |  Size: 65 KiB

View File

@@ -3026,6 +3026,7 @@
#include "code\modules\projectiles\guns\energy\pulse.dm"
#include "code\modules\projectiles\guns\energy\special.dm"
#include "code\modules\projectiles\guns\energy\stun.dm"
#include "code\modules\projectiles\guns\magic\spell_book.dm"
#include "code\modules\projectiles\guns\magic\staff.dm"
#include "code\modules\projectiles\guns\magic\wand.dm"
#include "code\modules\projectiles\guns\misc\beam_rifle.dm"