Merge branch 'master' of https://github.com/Citadel-Station-13/Citadel-Station-13 into tgui-alerts-and-what-not
This commit is contained in:
@@ -273,24 +273,6 @@
|
||||
"frenching" = 'icons/UI_Icons/Achievements/Misc/frenchingthebubble.png'
|
||||
)
|
||||
|
||||
/datum/asset/spritesheet/simple/minesweeper
|
||||
name = "minesweeper"
|
||||
assets = list(
|
||||
"1" = 'icons/UI_Icons/minesweeper_tiles/one.png',
|
||||
"2" = 'icons/UI_Icons/minesweeper_tiles/two.png',
|
||||
"3" = 'icons/UI_Icons/minesweeper_tiles/three.png',
|
||||
"4" = 'icons/UI_Icons/minesweeper_tiles/four.png',
|
||||
"5" = 'icons/UI_Icons/minesweeper_tiles/five.png',
|
||||
"6" = 'icons/UI_Icons/minesweeper_tiles/six.png',
|
||||
"7" = 'icons/UI_Icons/minesweeper_tiles/seven.png',
|
||||
"8" = 'icons/UI_Icons/minesweeper_tiles/eight.png',
|
||||
"empty" = 'icons/UI_Icons/minesweeper_tiles/empty.png',
|
||||
"flag" = 'icons/UI_Icons/minesweeper_tiles/flag.png',
|
||||
"hidden" = 'icons/UI_Icons/minesweeper_tiles/hidden.png',
|
||||
"mine" = 'icons/UI_Icons/minesweeper_tiles/mine.png',
|
||||
"minehit" = 'icons/UI_Icons/minesweeper_tiles/minehit.png'
|
||||
)
|
||||
|
||||
/datum/asset/spritesheet/simple/pills
|
||||
name = "pills"
|
||||
assets = list(
|
||||
|
||||
@@ -403,6 +403,9 @@
|
||||
if("incheck")
|
||||
send_signal(device_id, list("checks" = text2num(params["val"])^2), usr)
|
||||
. = TRUE
|
||||
if("direction")
|
||||
send_signal(device_id, list("direction" = text2num(params["val"])), usr)
|
||||
. = TRUE
|
||||
if("set_external_pressure", "set_internal_pressure")
|
||||
|
||||
var/target = params["value"]
|
||||
|
||||
@@ -12,6 +12,8 @@
|
||||
|
||||
var/obj/machinery/atmospherics/components/unary/heat_exchanger/partner = null
|
||||
var/update_cycle
|
||||
var/old_temperature = 0
|
||||
var/other_old_temperature = 0
|
||||
|
||||
pipe_state = "heunary"
|
||||
|
||||
@@ -59,9 +61,6 @@
|
||||
var/other_air_heat_capacity = partner_air_contents.heat_capacity()
|
||||
var/combined_heat_capacity = other_air_heat_capacity + air_heat_capacity
|
||||
|
||||
var/old_temperature = air_contents.return_temperature()
|
||||
var/other_old_temperature = partner_air_contents.return_temperature()
|
||||
|
||||
if(combined_heat_capacity > 0)
|
||||
var/combined_energy = partner_air_contents.return_temperature()*other_air_heat_capacity + air_heat_capacity*air_contents.return_temperature()
|
||||
|
||||
@@ -71,6 +70,8 @@
|
||||
|
||||
if(abs(old_temperature-air_contents.return_temperature()) > 1)
|
||||
update_parents()
|
||||
old_temperature = air_contents.return_temperature()
|
||||
|
||||
if(abs(other_old_temperature-partner_air_contents.return_temperature()) > 1)
|
||||
partner.update_parents()
|
||||
other_old_temperature = partner_air_contents.return_temperature()
|
||||
|
||||
@@ -144,7 +144,7 @@
|
||||
"device" = "VP",
|
||||
"timestamp" = world.time,
|
||||
"power" = on,
|
||||
"direction" = pump_direction ? "release" : "siphon",
|
||||
"direction" = pump_direction,
|
||||
"checks" = pressure_checks,
|
||||
"internal" = internal_pressure_bound,
|
||||
"external" = external_pressure_bound,
|
||||
|
||||
@@ -171,11 +171,11 @@
|
||||
desc = "Start up your own grand casino with this crate filled with slot machine and arcade boards!"
|
||||
cost = 3000
|
||||
contains = list(/obj/item/circuitboard/computer/arcade/battle,
|
||||
/obj/item/circuitboard/computer/arcade/battle,
|
||||
/obj/item/circuitboard/computer/arcade/battle,
|
||||
/obj/item/circuitboard/computer/arcade/orion_trail,
|
||||
/obj/item/circuitboard/computer/arcade/orion_trail,
|
||||
/obj/item/circuitboard/computer/arcade/minesweeper,
|
||||
/obj/item/circuitboard/computer/arcade/minesweeper,
|
||||
/obj/item/circuitboard/computer/arcade/orion_trail,
|
||||
/obj/item/circuitboard/computer/slot_machine,
|
||||
/obj/item/circuitboard/computer/slot_machine,
|
||||
/obj/item/circuitboard/computer/slot_machine,
|
||||
|
||||
@@ -3,7 +3,6 @@
|
||||
typepath = /datum/round_event/ghost_role/operative
|
||||
weight = 0 //Admin only
|
||||
max_occurrences = 1
|
||||
dynamic_should_hijack = TRUE
|
||||
|
||||
/datum/round_event/ghost_role/operative
|
||||
minimum_required = 1
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
var/pirate_type = PIRATES_ROGUES //pick(PIRATES_ROGUES, PIRATES_SILVERSCALES, PIRATES_DUTCHMAN)
|
||||
var/datum/comm_message/threat_msg = new
|
||||
var/payoff = 0
|
||||
var/payoff_min = 1000
|
||||
var/payoff_min = 10000 //documented this time
|
||||
var/ship_template
|
||||
var/ship_name = "Space Privateers Association"
|
||||
var/initial_send_time = world.time
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
department_flag = CIVILIAN
|
||||
faction = "Station"
|
||||
total_positions = 0
|
||||
spawn_positions = 4
|
||||
spawn_positions = 0
|
||||
supervisors = "the security team"
|
||||
|
||||
outfit = /datum/outfit/job/prisoner
|
||||
|
||||
@@ -235,6 +235,9 @@
|
||||
icon_state = "crusher-bone"
|
||||
item_state = "crusher0-bone"
|
||||
|
||||
/obj/item/kinetic_crusher/glaive/bone/update_icon_state()
|
||||
item_state = "crusher[wielded]-bone"
|
||||
|
||||
//destablizing force
|
||||
/obj/item/projectile/destabilizer
|
||||
name = "destabilizing force"
|
||||
|
||||
@@ -116,19 +116,19 @@
|
||||
to_chat(src, "<span class='warning'>[L] is restraining [P], you cannot push past.</span>")
|
||||
return 1
|
||||
|
||||
//CIT CHANGES START HERE - makes it so resting stops you from moving through standing folks without a short delay
|
||||
if(!CHECK_MOBILITY(src, MOBILITY_STAND) && CHECK_MOBILITY(L, MOBILITY_STAND))
|
||||
//CIT CHANGES START HERE - makes it so resting stops you from moving through standing folks or over prone bodies without a short delay
|
||||
if(!CHECK_MOBILITY(src, MOBILITY_STAND))
|
||||
var/origtargetloc = L.loc
|
||||
if(!pulledby)
|
||||
if(combat_flags & COMBAT_FLAG_ATTEMPTING_CRAWL)
|
||||
return TRUE
|
||||
if(IS_STAMCRIT(src))
|
||||
to_chat(src, "<span class='warning'>You're too exhausted to crawl under [L].</span>")
|
||||
to_chat(src, "<span class='warning'>You're too exhausted to crawl [(CHECK_MOBILITY(L, MOBILITY_STAND)) ? "under": "over"] [L].</span>")
|
||||
return TRUE
|
||||
ENABLE_BITFIELD(combat_flags, COMBAT_FLAG_ATTEMPTING_CRAWL)
|
||||
visible_message("<span class='notice'>[src] is attempting to crawl under [L].</span>",
|
||||
"<span class='notice'>You are now attempting to crawl under [L].</span>",
|
||||
target = L, target_message = "<span class='notice'>[src] is attempting to crawl under you.</span>")
|
||||
visible_message("<span class='notice'>[src] is attempting to crawl [(CHECK_MOBILITY(L, MOBILITY_STAND)) ? "under" : "over"] [L].</span>",
|
||||
"<span class='notice'>You are now attempting to crawl [(CHECK_MOBILITY(L, MOBILITY_STAND)) ? "under": "over"] [L].</span>",
|
||||
target = L, target_message = "<span class='notice'>[src] is attempting to crawl [(CHECK_MOBILITY(L, MOBILITY_STAND)) ? "under" : "over"] you.</span>")
|
||||
if(!do_after(src, CRAWLUNDER_DELAY, target = src) || CHECK_MOBILITY(src, MOBILITY_STAND))
|
||||
DISABLE_BITFIELD(combat_flags, COMBAT_FLAG_ATTEMPTING_CRAWL)
|
||||
return TRUE
|
||||
|
||||
@@ -37,6 +37,8 @@
|
||||
if(mover in buckled_mobs)
|
||||
return TRUE
|
||||
var/mob/living/L = mover //typecast first, check isliving and only check this if living using short circuit
|
||||
if(lying && L.lying) //if we're both lying down and aren't already being thrown/shipped around, don't pass
|
||||
return FALSE
|
||||
return (!density || (isliving(mover)? L.can_move_under_living(src) : !mover.density))
|
||||
|
||||
/mob/living/toggle_move_intent()
|
||||
|
||||
@@ -358,8 +358,16 @@
|
||||
var/obj/singularity/energy_ball/tesla = source
|
||||
if(istype(tesla))
|
||||
if(istype(closest_atom,/obj/machinery/power/grounding_rod) && tesla.energy>13 && !tesla.contained)
|
||||
qdel(closest_atom) // each rod deletes two miniballs,
|
||||
tesla.energy = round(tesla.energy/1.5625) // if there are no miniballs the rod stays and continues to pull the ball in
|
||||
|
||||
// getting the grounding rod's capacitor rating for quick maths
|
||||
var/obj/machinery/power/grounding_rod/rod = closest_atom
|
||||
// assuming the rod is fully constructed the second part will always be a capacitor
|
||||
var/obj/item/stock_parts/capacitor/capacitor = rod.component_parts[2]
|
||||
|
||||
tesla.energy = round(tesla.energy/(1 + 0.28125 * capacitor.rating))
|
||||
qdel(closest_atom) // each rod removes tesla energy depending on the power of the capacitor,
|
||||
// if there are no miniballs the rod stays and continues to pull the ball in
|
||||
|
||||
if(prob(20))//I know I know
|
||||
tesla_zap(closest_atom, next_range, power * 0.5, zap_flags, shocked_targets)
|
||||
tesla_zap(closest_atom, next_range, power * 0.5, zap_flags, shocked_targets)
|
||||
|
||||
@@ -21,14 +21,6 @@
|
||||
category = list("Computer Boards")
|
||||
departmental_flags = DEPARTMENTAL_FLAG_ALL
|
||||
|
||||
/datum/design/board/minesweeper
|
||||
name = "Computer Design (Minesweeper Arcade Machine)"
|
||||
desc = "Allows for the construction of circuit boards used to build a new Minesweeper machine."
|
||||
id = "arcade_minesweeper"
|
||||
build_path = /obj/item/circuitboard/computer/arcade/minesweeper
|
||||
category = list("Computer Boards")
|
||||
departmental_flags = DEPARTMENTAL_FLAG_ALL
|
||||
|
||||
/datum/design/board/slot_machine
|
||||
name = "Computer Design (Slot Machine)"
|
||||
desc = "Allows for the construction of circuit boards used to build a new slot machine."
|
||||
|
||||
@@ -10,6 +10,14 @@
|
||||
category = list ("Misc. Machinery")
|
||||
departmental_flags = DEPARTMENTAL_FLAG_ALL
|
||||
|
||||
/datum/design/board/autoloom
|
||||
name = "Machine Design (Autoloom Board)"
|
||||
desc = "The circuit board for an autoloom."
|
||||
id = "autoloom"
|
||||
build_path = /obj/item/circuitboard/machine/autoloom
|
||||
category = list ("Misc. Machinery")
|
||||
departmental_flags = DEPARTMENTAL_FLAG_SERVICE
|
||||
|
||||
/datum/design/board/holopad
|
||||
name = "Machine Design (AI Holopad Board)"
|
||||
desc = "The circuit board for a holopad."
|
||||
|
||||
@@ -56,5 +56,5 @@
|
||||
display_name = "Games and Toys"
|
||||
description = "For the slackers on the station."
|
||||
prereq_ids = list("comptech")
|
||||
design_ids = list("arcade_battle", "arcade_orion", "arcade_minesweeper", "slotmachine", "autoylathe")
|
||||
design_ids = list("arcade_battle", "arcade_orion", "slotmachine", "autoylathe")
|
||||
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 1000)
|
||||
|
||||
@@ -37,7 +37,7 @@
|
||||
display_name = "Botanical Engineering"
|
||||
description = "Botanical tools."
|
||||
prereq_ids = list("adv_engi", "biotech")
|
||||
design_ids = list("diskplantgene", "portaseeder", "plantgenes", "flora_gun", "hydro_tray", "biogenerator", "seed_extractor")
|
||||
design_ids = list("diskplantgene", "portaseeder", "plantgenes", "flora_gun", "hydro_tray", "biogenerator", "seed_extractor", "autoloom")
|
||||
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2750)
|
||||
|
||||
/datum/techweb_node/exp_tools
|
||||
|
||||
@@ -286,6 +286,13 @@
|
||||
anvilquality = 0
|
||||
itemqualitymax = 6
|
||||
|
||||
/obj/structure/anvil/obtainable/bone
|
||||
name = "bone anvil"
|
||||
desc = "An anvil. It's made of goliath bones and hide and held together by watcher sinews."
|
||||
icon_state = "bonevil"
|
||||
anvilquality = 0
|
||||
itemqualitymax = 6
|
||||
|
||||
/obj/structure/anvil/obtainable/ratvar
|
||||
name = "brass anvil"
|
||||
desc = "A big block of what appears to be brass. Useable as an anvil, if whatever's holding the brass together lets you."
|
||||
|
||||
@@ -49,6 +49,9 @@
|
||||
/obj/item/ingot/iron
|
||||
custom_materials = list(/datum/material/iron=12000)
|
||||
|
||||
/obj/item/ingot/bone
|
||||
custom_materials = list(/datum/material/bone=4000)
|
||||
|
||||
/obj/item/ingot/diamond
|
||||
custom_materials = list(/datum/material/diamond=12000)
|
||||
|
||||
|
||||
@@ -530,8 +530,8 @@
|
||||
gas_max[GAS_N2] = PP(breath, GAS_N2) + 5
|
||||
var/datum/breathing_class/class = GLOB.gas_data.breathing_classes[breathing_class]
|
||||
var/o2_pp = class.get_effective_pp(breath)
|
||||
safe_breath_min = 0.3 * o2_pp
|
||||
safe_breath_max = 1.3 * o2_pp
|
||||
safe_breath_min = min(3, 0.3 * o2_pp)
|
||||
safe_breath_max = max(18, 1.3 * o2_pp + 1)
|
||||
..()
|
||||
#undef SAFE_THRESHOLD_RATIO
|
||||
|
||||
|
||||
@@ -90,7 +90,7 @@
|
||||
playsound(src, pick('sound/vehicles/clowncar_ram1.ogg', 'sound/vehicles/clowncar_ram2.ogg', 'sound/vehicles/clowncar_ram3.ogg'), 75)
|
||||
log_combat(src, hittarget_living, "sucked up")
|
||||
return
|
||||
if(!istype(bumped, /turf/closed))
|
||||
if(!istype(bumped, /turf/closed) && !istype(bumped, /obj/machinery/door/airlock/external))
|
||||
return
|
||||
visible_message(span_warning("[src] rams into [bumped] and crashes!"))
|
||||
playsound(src, pick('sound/vehicles/clowncar_crash1.ogg', 'sound/vehicles/clowncar_crash2.ogg'), 75)
|
||||
@@ -237,6 +237,11 @@
|
||||
for(var/mob/busdriver as anything in return_drivers())
|
||||
busdriver.client.give_award(/datum/award/achievement/misc/the_best_driver, busdriver)
|
||||
|
||||
/obj/vehicle/sealed/car/clowncar/driver_move(mob/user, direction) //Prevent it from moving onto space
|
||||
if(isspaceturf(get_step(src, direction)))
|
||||
return FALSE
|
||||
return ..()
|
||||
|
||||
/obj/vehicle/sealed/car/clowncar/twitch_plays
|
||||
key_type = null
|
||||
explode_on_death = FALSE
|
||||
|
||||
Reference in New Issue
Block a user