mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-07-17 18:13:34 +01:00
fixes merge conflict
This commit is contained in:
@@ -52,12 +52,13 @@
|
||||
if(!status)
|
||||
status = TRUE
|
||||
investigate_log("[key_name(user)] welded a single tank bomb. Temperature: [bombtank.air_contents.temperature-T0C]", INVESTIGATE_BOMB)
|
||||
msg_admin_attack("[key_name_admin(user)] welded a single tank bomb. Temperature: [bombtank.air_contents.temperature-T0C]", ATKLOG_FEW)
|
||||
log_game("[key_name(user)] welded a single tank bomb. Temperature: [bombtank.air_contents.temperature - T0C]")
|
||||
to_chat(user, "<span class='notice'>A pressure hole has been bored to [bombtank] valve. [bombtank] can now be ignited.</span>")
|
||||
add_attack_logs(user, src, "welded a single tank bomb. Temperature: [bombtank.air_contents.temperature-T0C]", ATKLOG_FEW)
|
||||
else
|
||||
status = FALSE
|
||||
investigate_log("[key_name(user)] unwelded a single tank bomb. Temperature: [bombtank.air_contents.temperature-T0C]", INVESTIGATE_BOMB)
|
||||
add_attack_logs(user, src, "unwelded a single tank bomb. Temperature: [bombtank.air_contents.temperature-T0C]", ATKLOG_ALMOSTALL)
|
||||
to_chat(user, "<span class='notice'>The hole has been closed.</span>")
|
||||
|
||||
|
||||
|
||||
@@ -101,8 +101,8 @@
|
||||
if(href_list["time"])
|
||||
timing = !timing
|
||||
if(timing && istype(holder, /obj/item/transfer_valve))
|
||||
message_admins("[key_name_admin(usr)] activated [src] attachment on [holder].")
|
||||
investigate_log("[key_name(usr)] activated [src] attachment for [loc]", INVESTIGATE_BOMB)
|
||||
add_attack_logs(usr, holder, "activated [src] attachment on", ATKLOG_FEW)
|
||||
log_game("[key_name(usr)] activated [src] attachment for [loc]")
|
||||
update_icon()
|
||||
if(href_list["reset"])
|
||||
|
||||
@@ -401,6 +401,7 @@
|
||||
w_class = WEIGHT_CLASS_SMALL
|
||||
attack_verb = list("warned", "cautioned", "smashed")
|
||||
resistance_flags = NONE
|
||||
dog_fashion = /datum/dog_fashion/head/cone
|
||||
|
||||
/obj/item/clothing/head/jester
|
||||
name = "jester hat"
|
||||
|
||||
@@ -272,15 +272,6 @@
|
||||
new /obj/item/reagent_containers/food/drinks/cans/cola(src)
|
||||
|
||||
|
||||
/obj/item/instrument/guitar/jello_guitar //Pineapple Salad: Dan Jello
|
||||
name = "Dan Jello's Pink Guitar"
|
||||
desc = "Dan Jello's special pink guitar."
|
||||
icon = 'icons/obj/custom_items.dmi'
|
||||
icon_state = "jello_guitar"
|
||||
item_state = "jello_guitar"
|
||||
righthand_file = 'icons/mob/inhands/fluff_righthand.dmi'
|
||||
lefthand_file = 'icons/mob/inhands/fluff_lefthand.dmi'
|
||||
|
||||
/obj/item/fluff/wingler_comb
|
||||
name = "blue comb"
|
||||
desc = "A blue comb, it looks like it was made to groom a Tajaran's fur."
|
||||
@@ -1592,13 +1583,17 @@
|
||||
item_state = "asmer_accordion"
|
||||
|
||||
|
||||
/obj/item/clothing/head/rabbitears/fluff/pinesalad_bunny // Pineapple Salad : Dan Jello
|
||||
name = "Bluespace rabbit ears"
|
||||
desc = "A pair of sparkly bluespace rabbit ears, with a small tag on them that reads, 'Dan Jello~'. Yuck, \
|
||||
there's some pink slime on the part that goes on your head!"
|
||||
/obj/item/clothing/head/fluff/pinesalad_horns //Pineapple Salad: Dan Jello
|
||||
name = "Bluespace Horns"
|
||||
desc = "A pair of fake horns. Now with added bluespace!"
|
||||
icon = 'icons/obj/custom_items.dmi'
|
||||
icon_state = "ps_bunny"
|
||||
icon_state = "ps_horns"
|
||||
|
||||
/obj/item/storage/backpack/fluff/hiking //Pineapple Salad: Dan Jello
|
||||
name = "\improper Fancy Hiking Pack"
|
||||
desc = "A black and red hiking pack with some nice little accessories."
|
||||
icon = 'icons/obj/custom_items.dmi'
|
||||
icon_state = "danpack"
|
||||
|
||||
/obj/item/clothing/under/fluff/kiaoutfit //FullOfSkittles: Kiachi
|
||||
name = "Suspicious Outfit"
|
||||
|
||||
@@ -127,15 +127,6 @@
|
||||
description_info = "This filters the atmosphere of harmful gas. Filtered gas goes to the pipes connected to it, typically a scrubber pipe. \
|
||||
It can be controlled from an Air Alarm. It can be configured to drain all air rapidly with a 'panic syphon' from an air alarm."
|
||||
|
||||
//Omni filters
|
||||
/obj/machinery/atmospherics/omni/filter
|
||||
description_info = "Filters gas from a custom input direction, with up to two filtered outputs and a 'everything else' \
|
||||
output. The filtered output's arrows glow orange."
|
||||
|
||||
//Omni mixers
|
||||
/obj/machinery/atmospherics/omni/mixer
|
||||
description_info = "Combines gas from custom input and output directions. The percentage of combined gas can be defined."
|
||||
|
||||
//Canisters
|
||||
/obj/machinery/portable_atmospherics/canister
|
||||
description_info = "The canister can be connected to a connector port with a wrench. Tanks of gas (the kind you can hold in your hand) \
|
||||
|
||||
@@ -432,6 +432,29 @@
|
||||
icon_state = "jdonut1"
|
||||
extra_reagent = "cherryjelly"
|
||||
|
||||
//////////////////////
|
||||
// Pancakes //
|
||||
//////////////////////
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/pancake
|
||||
name = "pancake"
|
||||
desc = "A plain pancake."
|
||||
icon_state = "pancake"
|
||||
filling_color = "#E7D8AB"
|
||||
bitesize = 2
|
||||
list_reagents = list("nutriment" = 3, "sugar" = 3)
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/pancake/berry_pancake
|
||||
name = "berry pancake"
|
||||
desc = "A pancake loaded with berries."
|
||||
icon_state = "berry_pancake"
|
||||
list_reagents = list("nutriment" = 3, "sugar" = 3, "berryjuice" = 3)
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/pancake/choc_chip_pancake
|
||||
name = "choc-chip pancake"
|
||||
desc = "A pancake loaded with chocolate chips."
|
||||
icon_state = "choc_chip_pancake"
|
||||
list_reagents = list("nutriment" = 3, "sugar" = 3, "cocoa" = 3)
|
||||
|
||||
//////////////////////
|
||||
// Misc //
|
||||
|
||||
@@ -234,7 +234,7 @@
|
||||
return
|
||||
|
||||
if(UserOverride)
|
||||
msg_admin_attack("[key_name_admin(occupant)] was gibbed by an autogibber (\the [src]) [ADMIN_JMP(src)]")
|
||||
add_attack_logs(user, occupant, "gibbed by an autogibber ([src])")
|
||||
log_game("[key_name(occupant)] was gibbed by an autogibber ([src]) (X:[x] Y:[y] Z:[z])")
|
||||
|
||||
if(operating)
|
||||
|
||||
@@ -249,3 +249,23 @@
|
||||
/obj/item/stack/rods,
|
||||
)
|
||||
result = /obj/item/reagent_containers/food/snacks/fish_skewer
|
||||
|
||||
/datum/recipe/grill/pancake
|
||||
items = list(
|
||||
/obj/item/reagent_containers/food/snacks/cookiedough
|
||||
)
|
||||
result = /obj/item/reagent_containers/food/snacks/pancake
|
||||
|
||||
/datum/recipe/grill/berry_pancake
|
||||
items = list(
|
||||
/obj/item/reagent_containers/food/snacks/cookiedough,
|
||||
/obj/item/reagent_containers/food/snacks/grown/berries
|
||||
)
|
||||
result = /obj/item/reagent_containers/food/snacks/pancake/berry_pancake
|
||||
|
||||
/datum/recipe/grill/choc_chip_pancake
|
||||
items = list(
|
||||
/obj/item/reagent_containers/food/snacks/cookiedough,
|
||||
/obj/item/reagent_containers/food/snacks/choc_pile
|
||||
)
|
||||
result = /obj/item/reagent_containers/food/snacks/pancake/choc_chip_pancake
|
||||
|
||||
@@ -116,9 +116,8 @@
|
||||
/obj/item/reagent_containers/food/snacks/grown/firelemon/attack_self(mob/living/user)
|
||||
var/area/A = get_area(user)
|
||||
user.visible_message("<span class='warning'>[user] primes the [src]!</span>", "<span class='userdanger'>You prime the [src]!</span>")
|
||||
var/message = "[ADMIN_LOOKUPFLW(user)] primed a combustible lemon for detonation at [A] [ADMIN_COORDJMP(user)]"
|
||||
investigate_log("[key_name(user)] primed a combustible lemon for detonation at [A] [COORD(user)].", INVESTIGATE_BOMB)
|
||||
message_admins(message)
|
||||
add_attack_logs(user, src, "primed a combustible lemon for detonation", ATKLOG_FEW)
|
||||
log_game("[key_name(user)] primed a combustible lemon for detonation at [A] [COORD(user)].")
|
||||
if(iscarbon(user))
|
||||
var/mob/living/carbon/C = user
|
||||
|
||||
@@ -167,6 +167,8 @@
|
||||
hearing_mobs.len = 0
|
||||
var/turf/source = get_turf(parent)
|
||||
for(var/mob/M in GLOB.player_list)
|
||||
if(M.z != source.z) // Z-level check
|
||||
continue
|
||||
var/dist = get_dist(M, source)
|
||||
if(dist > instrument_range) // Distance check
|
||||
continue
|
||||
@@ -253,16 +255,20 @@
|
||||
* Processes our song.
|
||||
*/
|
||||
/datum/song/proc/process_song(wait)
|
||||
if(!length(compiled_chords) || current_chord > length(compiled_chords) || should_stop_playing(user_playing))
|
||||
if(!length(compiled_chords) || should_stop_playing(user_playing))
|
||||
stop_playing()
|
||||
return
|
||||
var/list/chord = compiled_chords[current_chord]
|
||||
if(++elapsed_delay >= delay_by)
|
||||
// We were sustaining the final note but not anymore
|
||||
if(current_chord > length(compiled_chords))
|
||||
stop_playing()
|
||||
return
|
||||
var/list/chord = compiled_chords[current_chord]
|
||||
play_chord(chord)
|
||||
elapsed_delay = 0
|
||||
delay_by = tempodiv_to_delay(chord[length(chord)])
|
||||
current_chord++
|
||||
if(current_chord > length(compiled_chords))
|
||||
if(current_chord > length(compiled_chords) + 1)
|
||||
if(repeat)
|
||||
repeat--
|
||||
current_chord = 1
|
||||
@@ -284,6 +290,8 @@
|
||||
*/
|
||||
/datum/song/proc/compile_chords()
|
||||
legacy ? compile_legacy() : compile_synthesized()
|
||||
// Some chords may be null for some reason - exclude them.
|
||||
listclearnulls(compiled_chords)
|
||||
|
||||
/**
|
||||
* Plays a chord.
|
||||
|
||||
@@ -927,6 +927,8 @@
|
||||
. += T.slowdown
|
||||
if(slowed)
|
||||
. += 10
|
||||
if(forced_look)
|
||||
. += 3
|
||||
if(ignorewalk)
|
||||
. += config.run_speed
|
||||
else
|
||||
|
||||
@@ -319,10 +319,9 @@
|
||||
return verb
|
||||
|
||||
/mob/living/simple_animal/movement_delay()
|
||||
. = ..()
|
||||
|
||||
. = speed
|
||||
|
||||
if(forced_look)
|
||||
. += 3
|
||||
. += config.animal_delay
|
||||
|
||||
/mob/living/simple_animal/Stat()
|
||||
|
||||
@@ -235,6 +235,7 @@
|
||||
investigate_log("turned [active?"<font color='red'>ON</font>":"<font color='green'>OFF</font>"] by [usr ? usr.key : "outside forces"]","singulo")
|
||||
if(active)
|
||||
msg_admin_attack("PA Control Computer turned ON by [key_name_admin(usr)]", ATKLOG_FEW)
|
||||
usr.create_log(MISC_LOG, "PA Control Computer turned ON", src)
|
||||
log_game("PA Control Computer turned ON by [key_name(usr)] in ([x],[y],[z])")
|
||||
use_log += text("\[[time_stamp()]\] <font color='red'>[key_name(usr)] has turned on the PA Control Computer.</font>")
|
||||
if(active)
|
||||
|
||||
@@ -849,7 +849,7 @@
|
||||
/datum/reagent/medicine/stimulants
|
||||
name = "Stimulants"
|
||||
id = "stimulants"
|
||||
description = "Increases run speed and eliminates stuns, can heal minor damage. If overdosed it will deal toxin damage and stun."
|
||||
description = "An illegal compound that dramatically enhances the body's performance and healing capabilities."
|
||||
color = "#C8A5DC"
|
||||
harmless = FALSE
|
||||
can_synth = FALSE
|
||||
@@ -886,7 +886,7 @@
|
||||
/datum/reagent/medicine/stimulative_agent
|
||||
name = "Stimulative Agent"
|
||||
id = "stimulative_agent"
|
||||
description = "An illegal compound that dramatically enhances the body's performance and healing capabilities."
|
||||
description = "Increases run speed and eliminates stuns, can heal minor damage. If overdosed it will deal toxin damage and be less effective for healing stamina."
|
||||
color = "#C8A5DC"
|
||||
metabolization_rate = 0.5 * REAGENTS_METABOLISM
|
||||
overdose_threshold = 60
|
||||
|
||||
@@ -57,7 +57,7 @@
|
||||
var/attack_log_type = ATKLOG_MOST
|
||||
if(reagents.has_reagent("sacid") || reagents.has_reagent("facid") || reagents.has_reagent("lube"))
|
||||
attack_log_type = ATKLOG_FEW
|
||||
msg_admin_attack("[key_name_admin(user)] used a spray bottle at [COORD(user)] - Contents: [contents_log] - Temperature: [reagents.chem_temp]K", attack_log_type)
|
||||
add_attack_logs(user, A, "sprayed [contents_log] at [reagents.chem_temp]K using [src]", attack_log_type)
|
||||
log_game("[key_name(user)] used a spray bottle at [COORD(user)] - Contents: [contents_log] - Temperature: [reagents.chem_temp]K")
|
||||
return
|
||||
|
||||
|
||||
@@ -84,17 +84,15 @@
|
||||
..()
|
||||
if(!QDELETED(src)) //wasn't deleted by the projectile's effects.
|
||||
if(!P.nodamage && ((P.damage_type == BURN) || (P.damage_type == BRUTE)))
|
||||
message_admins("[key_name_admin(P.firer)] triggered a fueltank explosion with [P.name] at [COORD(loc)] ")
|
||||
add_attack_logs(P.firer, src, "shot with [P.name]")
|
||||
add_attack_logs(P.firer, src, "shot with [P.name]", ATKLOG_FEW)
|
||||
log_game("[key_name(P.firer)] triggered a fueltank explosion with [P.name] at [COORD(loc)]")
|
||||
investigate_log("[key_name(P.firer)] triggered a fueltank explosion with [P.name] at [COORD(loc)]", INVESTIGATE_BOMB)
|
||||
boom()
|
||||
|
||||
/obj/structure/reagent_dispensers/fueltank/boom(rigtrigger = FALSE, log_attack = FALSE) // Prevent case where someone who rigged the tank is blamed for the explosion when the rig isn't what triggered the explosion
|
||||
if(rigtrigger) // If the explosion is triggered by an assembly holder
|
||||
message_admins("A fueltank, last rigged by [lastrigger], was triggered at [COORD(loc)]") // Then admin is informed of the last person who rigged the fuel tank
|
||||
log_game("A fueltank, last rigged by [lastrigger], triggered at [COORD(loc)]")
|
||||
add_attack_logs(lastrigger, src, "rigged fuel tank exploded")
|
||||
add_attack_logs(lastrigger, src, "rigged fuel tank exploded", ATKLOG_FEW)
|
||||
investigate_log("A fueltank, last rigged by [lastrigger], triggered at [COORD(loc)]", INVESTIGATE_BOMB)
|
||||
if(log_attack)
|
||||
add_attack_logs(usr, src, "blew up", ATKLOG_FEW)
|
||||
@@ -142,9 +140,8 @@
|
||||
|
||||
var/obj/item/assembly_holder/H = I
|
||||
if(istype(H.a_left, /obj/item/assembly/igniter) || istype(H.a_right, /obj/item/assembly/igniter))
|
||||
msg_admin_attack("[key_name_admin(user)] rigged [src.name] with [I.name] for explosion (<A HREF='?_src_=holder;adminplayerobservecoodjump=1;X=[x];Y=[y];Z=[z]'>JMP</a>)", ATKLOG_FEW)
|
||||
log_game("[key_name(user)] rigged [src.name] with [I.name] for explosion at [COORD(loc)]")
|
||||
add_attack_logs(user, src, "rigged fuel tank")
|
||||
add_attack_logs(user, src, "rigged fuel tank with [I.name] for explosion", ATKLOG_FEW)
|
||||
investigate_log("[key_name(user)] rigged [src.name] with [I.name] for explosion at [COORD(loc)]", INVESTIGATE_BOMB)
|
||||
|
||||
lastrigger = "[key_name(user)]"
|
||||
|
||||
Reference in New Issue
Block a user