mirror of
https://github.com/CHOMPstation/CHOMPstation.git
synced 2026-08-23 20:16:19 +01:00
Deconflict
This commit is contained in:
@@ -230,7 +230,7 @@
|
||||
|
||||
/obj/item/weapon/shockpaddles/update_held_icon()
|
||||
var/mob/living/M = loc
|
||||
if(istype(M) && !issmall(M) && M.item_is_in_hands(src) && !M.hands_are_full())
|
||||
if(istype(M) && M.item_is_in_hands(src) && !M.hands_are_full())
|
||||
wielded = 1
|
||||
name = "[initial(name)] (wielded)"
|
||||
else
|
||||
|
||||
@@ -449,10 +449,11 @@
|
||||
/obj/item/device/flashlight/slime
|
||||
gender = PLURAL
|
||||
name = "glowing slime extract"
|
||||
desc = "A glowing ball of what appears to be amber."
|
||||
desc = "A slimy ball that appears to be glowing from bioluminesence."
|
||||
icon = 'icons/obj/lighting.dmi'
|
||||
icon_state = "floor1" //not a slime extract sprite but... something close enough!
|
||||
item_state = "slime"
|
||||
light_color = "#FFF423"
|
||||
w_class = ITEMSIZE_TINY
|
||||
brightness_on = 6
|
||||
on = 1 //Bio-luminesence has one setting, on.
|
||||
|
||||
@@ -364,32 +364,38 @@ REAGENT SCANNER
|
||||
matter = list(DEFAULT_WALL_MATERIAL = 30,"glass" = 20)
|
||||
|
||||
/obj/item/device/slime_scanner/attack(mob/living/M as mob, mob/living/user as mob)
|
||||
if (!isslime(M))
|
||||
if(!isslime(M))
|
||||
user << "<B>This device can only scan slimes!</B>"
|
||||
return
|
||||
var/mob/living/carbon/slime/T = M
|
||||
var/mob/living/simple_animal/slime/S = M
|
||||
user.show_message("Slime scan results:")
|
||||
user.show_message(text("[T.colour] [] slime", T.is_adult ? "adult" : "baby"))
|
||||
user.show_message(text("Nutrition: [T.nutrition]/[]", T.get_max_nutrition()))
|
||||
if (T.nutrition < T.get_starve_nutrition())
|
||||
user.show_message("<span class='alert'>Warning: slime is starving!</span>")
|
||||
else if (T.nutrition < T.get_hunger_nutrition())
|
||||
user.show_message("<span class='warning'>Warning: slime is hungry</span>")
|
||||
user.show_message("Electric change strength: [T.powerlevel]")
|
||||
user.show_message("Health: [T.health]")
|
||||
if (T.slime_mutation[4] == T.colour)
|
||||
user.show_message("This slime does not evolve any further")
|
||||
else
|
||||
if (T.slime_mutation[3] == T.slime_mutation[4])
|
||||
if (T.slime_mutation[2] == T.slime_mutation[1])
|
||||
user.show_message(text("Possible mutation: []", T.slime_mutation[3]))
|
||||
user.show_message("Genetic destability: [T.mutation_chance/2]% chance of mutation on splitting")
|
||||
else
|
||||
user.show_message(text("Possible mutations: [], [], [] (x2)", T.slime_mutation[1], T.slime_mutation[2], T.slime_mutation[3]))
|
||||
user.show_message("Genetic destability: [T.mutation_chance]% chance of mutation on splitting")
|
||||
else
|
||||
user.show_message(text("Possible mutations: [], [], [], []", T.slime_mutation[1], T.slime_mutation[2], T.slime_mutation[3], T.slime_mutation[4]))
|
||||
user.show_message("Genetic destability: [T.mutation_chance]% chance of mutation on splitting")
|
||||
if (T.cores > 1)
|
||||
user.show_message("Anomalious slime core amount detected")
|
||||
user.show_message("Growth progress: [T.amount_grown]/10")
|
||||
user.show_message(text("[S.slime_color] [] slime", S.is_adult ? "adult" : "baby"))
|
||||
|
||||
user.show_message("Health: [S.health]")
|
||||
user.show_message("Mutation Probability: [S.mutation_chance]")
|
||||
|
||||
var/list/mutations = list()
|
||||
for(var/potential_color in S.slime_mutation)
|
||||
var/mob/living/simple_animal/slime/slime = potential_color
|
||||
mutations.Add(initial(slime.slime_color))
|
||||
|
||||
user.show_message("Potental to mutate into [english_list(mutations)] colors.")
|
||||
user.show_message("Extract potential: [S.cores]")
|
||||
|
||||
user.show_message(text("Nutrition: [S.nutrition]/[]", S.get_max_nutrition()))
|
||||
if (S.nutrition < S.get_starve_nutrition())
|
||||
user.show_message("<span class='alert'>Warning: Subject is starving!</span>")
|
||||
else if (S.nutrition < S.get_hunger_nutrition())
|
||||
user.show_message("<span class='warning'>Warning: Subject is hungry.</span>")
|
||||
user.show_message("Electric change strength: [S.power_charge]")
|
||||
|
||||
if(S.resentment)
|
||||
user.show_message("<span class='warning'>Warning: Subject is harboring resentment.</span>")
|
||||
if(S.docile)
|
||||
user.show_message("Subject has been pacified.")
|
||||
if(S.rabid)
|
||||
user.show_message("<span class='danger'>Subject is enraged and extremely dangerous!</span>")
|
||||
if(S.unity)
|
||||
user.show_message("Subject is friendly to other slime colors.")
|
||||
|
||||
user.show_message("Growth progress: [S.amount_grown]/10")
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
|
||||
/obj/item/borg/upgrade/proc/action(var/mob/living/silicon/robot/R)
|
||||
if(R.stat == DEAD)
|
||||
usr << "<span class='warning'>The [src] will not function on a deceased robot.</span>"
|
||||
to_chat(usr, "<span class='warning'>The [src] will not function on a deceased robot.</span>")
|
||||
return 1
|
||||
return 0
|
||||
|
||||
@@ -68,7 +68,7 @@
|
||||
|
||||
/obj/item/borg/upgrade/restart/action(var/mob/living/silicon/robot/R)
|
||||
if(R.health < 0)
|
||||
usr << "You have to repair the robot before using this module!"
|
||||
to_chat(usr, "You have to repair the robot before using this module!")
|
||||
return 0
|
||||
|
||||
if(!R.key)
|
||||
@@ -112,8 +112,8 @@
|
||||
if(..()) return 0
|
||||
|
||||
if(!R.module || !(type in R.module.supported_upgrades))
|
||||
R << "Upgrade mounting error! No suitable hardpoint detected!"
|
||||
usr << "There's no mounting point for the module!"
|
||||
to_chat(R, "Upgrade mounting error! No suitable hardpoint detected!")
|
||||
to_chat(usr, "There's no mounting point for the module!")
|
||||
return 0
|
||||
|
||||
var/obj/item/weapon/gun/energy/taser/mounted/cyborg/T = locate() in R.module
|
||||
@@ -122,12 +122,12 @@
|
||||
if(!T)
|
||||
T = locate() in R.module.modules
|
||||
if(!T)
|
||||
usr << "This robot has had its taser removed!"
|
||||
to_chat(usr, "<span class='warning'>This robot has had its taser removed!</span>")
|
||||
return 0
|
||||
|
||||
if(T.recharge_time <= 2)
|
||||
R << "Maximum cooling achieved for this hardpoint!"
|
||||
usr << "There's no room for another cooling unit!"
|
||||
to_chat(R, "Maximum cooling achieved for this hardpoint!")
|
||||
to_chat(usr, "There's no room for another cooling unit!")
|
||||
return 0
|
||||
|
||||
else
|
||||
@@ -137,7 +137,7 @@
|
||||
|
||||
/obj/item/borg/upgrade/jetpack
|
||||
name = "mining robot jetpack"
|
||||
desc = "A carbon dioxide jetpack suitable for low-gravity mining operations."
|
||||
desc = "A carbon dioxide jetpack suitable for low-gravity operations."
|
||||
icon_state = "cyborg_upgrade3"
|
||||
item_state = "cyborg_upgrade"
|
||||
require_module = 1
|
||||
@@ -145,17 +145,20 @@
|
||||
/obj/item/borg/upgrade/jetpack/action(var/mob/living/silicon/robot/R)
|
||||
if(..()) return 0
|
||||
|
||||
if(!R.module || !(type in R.module.supported_upgrades))
|
||||
R << "Upgrade mounting error! No suitable hardpoint detected!"
|
||||
usr << "There's no mounting point for the module!"
|
||||
return 0
|
||||
else
|
||||
var/obj/item/weapon/tank/jetpack/carbondioxide/T = locate() in R.module
|
||||
if(!T)
|
||||
T = locate() in R.module.contents
|
||||
if(!T)
|
||||
T = locate() in R.module.modules
|
||||
if(!T)
|
||||
R.module.modules += new/obj/item/weapon/tank/jetpack/carbondioxide
|
||||
for(var/obj/item/weapon/tank/jetpack/carbondioxide in R.module.modules)
|
||||
R.internals = src
|
||||
//R.icon_state="Miner+j"
|
||||
return 1
|
||||
|
||||
if(T)
|
||||
to_chat(R, "Upgrade mounting error! No suitable hardpoint detected!")
|
||||
to_chat(usr, "There's no mounting point for the module!")
|
||||
return 0
|
||||
|
||||
/obj/item/borg/upgrade/syndicate/
|
||||
name = "scrambled equipment module"
|
||||
|
||||
@@ -84,23 +84,20 @@
|
||||
desc = "A piece of blue carpet. It is the same size as a normal floor tile!"
|
||||
icon_state = "tile-bluecarpet"
|
||||
|
||||
// VOREStation Edit
|
||||
// TODO - Add descriptions to these
|
||||
/obj/item/stack/tile/carpet/bcarpet
|
||||
icon_state = "tile-bcarpet"
|
||||
icon_state = "tile-carpet"
|
||||
/obj/item/stack/tile/carpet/blucarpet
|
||||
icon_state = "tile-blucarpet"
|
||||
icon_state = "tile-carpet"
|
||||
/obj/item/stack/tile/carpet/turcarpet
|
||||
icon_state = "tile-turcarpet"
|
||||
icon_state = "tile-carpet"
|
||||
/obj/item/stack/tile/carpet/sblucarpet
|
||||
icon_state = "tile-sblucarpet"
|
||||
icon_state = "tile-carpet"
|
||||
/obj/item/stack/tile/carpet/gaycarpet
|
||||
icon_state = "tile-gaycarpet"
|
||||
icon_state = "tile-carpet"
|
||||
/obj/item/stack/tile/carpet/purcarpet
|
||||
icon_state = "tile-purcarpet"
|
||||
icon_state = "tile-carpet"
|
||||
/obj/item/stack/tile/carpet/oracarpet
|
||||
icon_state = "tile-oracarpet"
|
||||
// VOREStation Edit End
|
||||
icon_state = "tile-carpet"
|
||||
|
||||
/obj/item/stack/tile/floor
|
||||
name = "floor tile"
|
||||
@@ -187,4 +184,4 @@
|
||||
throwforce = 1.0
|
||||
throw_speed = 5
|
||||
throw_range = 20
|
||||
flags = 0
|
||||
flags = 0
|
||||
|
||||
@@ -773,6 +773,7 @@
|
||||
var/phrase = "I don't want to exist anymore!"
|
||||
|
||||
/obj/structure/plushie/attack_hand(mob/user)
|
||||
user.setClickCooldown(DEFAULT_ATTACK_COOLDOWN)
|
||||
if(user.a_intent == I_HELP)
|
||||
user.visible_message("<span class='notice'><b>\The [user]</b> hugs [src]!</span>","<span class='notice'>You hug [src]!</span>")
|
||||
else if (user.a_intent == I_HURT)
|
||||
@@ -813,8 +814,11 @@
|
||||
desc = "A very generic small plushie. It seems to not want to exist."
|
||||
icon = 'icons/obj/toy.dmi'
|
||||
icon_state = "nymphplushie"
|
||||
var/last_message = 0
|
||||
|
||||
/obj/item/toy/plushie/attack_self(mob/user as mob)
|
||||
if(world.time - last_message <= 1 SECOND)
|
||||
return
|
||||
if(user.a_intent == I_HELP)
|
||||
user.visible_message("<span class='notice'><b>\The [user]</b> hugs [src]!</span>","<span class='notice'>You hug [src]!</span>")
|
||||
else if (user.a_intent == I_HURT)
|
||||
@@ -823,6 +827,7 @@
|
||||
user.visible_message("<span class='warning'><b>\The [user]</b> attempts to strangle [src]!</span>","<span class='warning'>You attempt to strangle [src]!</span>")
|
||||
else
|
||||
user.visible_message("<span class='notice'><b>\The [user]</b> pokes the [src].</span>","<span class='notice'>You poke the [src].</span>")
|
||||
last_message = world.time
|
||||
|
||||
/obj/item/toy/plushie/nymph
|
||||
name = "diona nymph plush"
|
||||
|
||||
@@ -76,13 +76,14 @@
|
||||
|
||||
attackby(var/obj/item/weapon/G as obj, var/mob/user as mob)
|
||||
if(istype(G, /obj/item/weapon/grab))
|
||||
if(!ismob(G:affecting))
|
||||
var/obj/item/weapon/grab/grab = G
|
||||
if(!ismob(grab.affecting))
|
||||
return
|
||||
for(var/mob/living/carbon/slime/M in range(1,G:affecting))
|
||||
if(M.Victim == G:affecting)
|
||||
usr << "[G:affecting:name] will not fit into the [src.name] because they have a slime latched onto their head."
|
||||
for(var/mob/living/simple_animal/slime/M in range(1,grab.affecting))
|
||||
if(M.victim == grab.affecting)
|
||||
usr << "[grab.affecting.name] will not fit into the [src.name] because they have a slime latched onto their head."
|
||||
return
|
||||
var/mob/M = G:affecting
|
||||
var/mob/M = grab.affecting
|
||||
if(put_mob(M))
|
||||
qdel(G)
|
||||
src.updateUsrDialog()
|
||||
|
||||
@@ -59,6 +59,18 @@ var/list/tape_roll_applications = list()
|
||||
hazard_overlays["[WEST]"] = new/image('icons/effects/warning_stripes.dmi', icon_state = "W")
|
||||
update_icon()
|
||||
|
||||
/obj/item/taperoll/medical
|
||||
name = "medical tape"
|
||||
desc = "A roll of medical tape used to block off patients from the public."
|
||||
tape_type = /obj/item/tape/medical
|
||||
color = COLOR_WHITE
|
||||
|
||||
/obj/item/tape/medical
|
||||
name = "medical tape"
|
||||
desc = "A length of medical tape. Do not cross."
|
||||
req_access = list(access_medical)
|
||||
color = COLOR_WHITE
|
||||
|
||||
/obj/item/taperoll/police
|
||||
name = "police tape"
|
||||
desc = "A roll of police tape used to block off crime scenes from the public."
|
||||
@@ -339,4 +351,4 @@ var/list/tape_roll_applications = list()
|
||||
qdel(T)
|
||||
|
||||
qdel(src) //TODO: Dropping a trash item holding fibers/fingerprints of all broken tape parts
|
||||
return
|
||||
return
|
||||
|
||||
@@ -14,6 +14,8 @@
|
||||
var/maxcharge = 1000
|
||||
var/rigged = 0 // true if rigged to explode
|
||||
var/minor_fault = 0 //If not 100% reliable, it will build up faults.
|
||||
var/self_recharge = FALSE // If true, the cell will recharge itself.
|
||||
var/charge_amount = 25 // How much power to give, if self_recharge is true. The number is in absolute cell charge, as it gets divided by CELLRATE later.
|
||||
matter = list(DEFAULT_WALL_MATERIAL = 700, "glass" = 50)
|
||||
|
||||
suicide_act(mob/user)
|
||||
@@ -125,8 +127,10 @@
|
||||
/obj/item/weapon/cell/slime
|
||||
name = "charged slime core"
|
||||
desc = "A yellow slime core infused with phoron, it crackles with power."
|
||||
origin_tech = list(TECH_POWER = 2, TECH_BIO = 4)
|
||||
origin_tech = list(TECH_POWER = 4, TECH_BIO = 5)
|
||||
icon = 'icons/mob/slimes.dmi' //'icons/obj/harvest.dmi'
|
||||
icon_state = "yellow slime extract" //"potato_battery"
|
||||
description_info = "This 'cell' holds a max charge of 10k and self recharges over time."
|
||||
maxcharge = 10000
|
||||
matter = null
|
||||
self_recharge = TRUE
|
||||
|
||||
@@ -72,12 +72,12 @@
|
||||
/obj/item/weapon/storage/toolbox/syndicate/New()
|
||||
..()
|
||||
new /obj/item/clothing/gloves/yellow(src)
|
||||
new /obj/item/weapon/screwdriver(src)
|
||||
new /obj/item/weapon/wrench(src)
|
||||
new /obj/item/weapon/screwdriver/power(src)
|
||||
new /obj/item/stack/cable_coil/random(src,30)
|
||||
new /obj/item/weapon/weldingtool/experimental(src)
|
||||
new /obj/item/weapon/crowbar(src)
|
||||
new /obj/item/weapon/wirecutters(src)
|
||||
new /obj/item/weapon/crowbar/power(src)
|
||||
new /obj/item/device/multitool(src)
|
||||
new /obj/item/device/analyzer(src)
|
||||
|
||||
/obj/item/weapon/storage/toolbox/lunchbox
|
||||
max_storage_space = ITEMSIZE_COST_SMALL * 4 //slightly smaller than a toolbox
|
||||
|
||||
@@ -90,7 +90,7 @@
|
||||
icon_state = "[initial(name)]"
|
||||
|
||||
if(icon_state == "[initial(name)]_active")
|
||||
set_light(1.5, 1, lightcolor)
|
||||
set_light(2, 1, lightcolor)
|
||||
else
|
||||
set_light(0)
|
||||
|
||||
@@ -237,4 +237,16 @@
|
||||
else
|
||||
user << "<span class='notice'>[src] already has a cell.</span>"
|
||||
else
|
||||
user << "<span class='notice'>This cell is not fitted for [src].</span>"
|
||||
user << "<span class='notice'>This cell is not fitted for [src].</span>"
|
||||
|
||||
/obj/item/weapon/melee/baton/get_description_interaction()
|
||||
var/list/results = list()
|
||||
|
||||
if(bcell)
|
||||
results += "[desc_panel_image("offhand")]to remove the weapon cell."
|
||||
else
|
||||
results += "[desc_panel_image("weapon cell")]to add a new weapon cell."
|
||||
|
||||
results += ..()
|
||||
|
||||
return results
|
||||
@@ -53,7 +53,7 @@
|
||||
icon_state = "drill_bolt"
|
||||
item_state = "drill"
|
||||
usesound = 'sound/items/drill_use.ogg'
|
||||
matter = list(DEFAULT_WALL_MATERIAL = 150, MAT_SILVER = 50, MAT_TITANIUM = 25)
|
||||
matter = list(DEFAULT_WALL_MATERIAL = 150, MAT_SILVER = 50)
|
||||
origin_tech = list(TECH_MATERIAL = 2, TECH_ENGINEERING = 2)
|
||||
force = 8
|
||||
w_class = ITEMSIZE_SMALL
|
||||
@@ -155,7 +155,7 @@
|
||||
desc = "A simple powered hand drill. It's fitted with a screw bit."
|
||||
icon_state = "drill_screw"
|
||||
item_state = "drill"
|
||||
matter = list(DEFAULT_WALL_MATERIAL = 150, MAT_SILVER = 50, MAT_TITANIUM = 25)
|
||||
matter = list(DEFAULT_WALL_MATERIAL = 150, MAT_SILVER = 50)
|
||||
origin_tech = list(TECH_MATERIAL = 2, TECH_ENGINEERING = 2)
|
||||
|
||||
force = 8
|
||||
@@ -240,7 +240,7 @@
|
||||
icon_state = "jaws_cutter"
|
||||
item_state = "jawsoflife"
|
||||
origin_tech = list(TECH_MATERIAL = 2, TECH_ENGINEERING = 2)
|
||||
matter = list(MAT_METAL=150, MAT_SILVER=50, MAT_TITANIUM=25)
|
||||
matter = list(MAT_METAL=150, MAT_SILVER=50)
|
||||
usesound = 'sound/items/jaws_cut.ogg'
|
||||
force = 15
|
||||
toolspeed = 0.25
|
||||
@@ -377,7 +377,7 @@
|
||||
|
||||
/obj/item/weapon/weldingtool/afterattack(obj/O as obj, mob/user as mob, proximity)
|
||||
if(!proximity) return
|
||||
if (istype(O, /obj/structure/reagent_dispensers/fueltank) && get_dist(src,O) <= 1 && !welding)
|
||||
if (istype(O, /obj/structure/reagent_dispensers/fueltank) && get_dist(src,O) <= 1)
|
||||
if(!welding && max_fuel)
|
||||
O.reagents.trans_to_obj(src, max_fuel)
|
||||
user << "<span class='notice'>Welder refueled</span>"
|
||||
@@ -845,7 +845,7 @@
|
||||
desc = "A set of jaws of life, compressed through the magic of science. It's fitted with a prying head."
|
||||
icon_state = "jaws_pry"
|
||||
item_state = "jawsoflife"
|
||||
matter = list(MAT_METAL=150, MAT_SILVER=50, MAT_TITANIUM=25)
|
||||
matter = list(MAT_METAL=150, MAT_SILVER=50)
|
||||
origin_tech = list(TECH_MATERIALS = 2, TECH_ENGINEERING = 2)
|
||||
usesound = 'sound/items/jaws_pry.ogg'
|
||||
force = 15
|
||||
|
||||
Reference in New Issue
Block a user