Merge branch 'master' into BadWording
This commit is contained in:
@@ -91,6 +91,40 @@
|
||||
"aj" = (
|
||||
/turf/closed/wall/mineral/plastitanium/nodiagonal,
|
||||
/area/shuttle/pirate)
|
||||
"ak" = (
|
||||
/obj/machinery/airalarm/all_access{
|
||||
dir = 4;
|
||||
pixel_x = -24
|
||||
},
|
||||
/obj/effect/decal/cleanable/dirt,
|
||||
/obj/machinery/light/small{
|
||||
dir = 8
|
||||
},
|
||||
/obj/structure/closet/secure_closet/freezer{
|
||||
locked = 0;
|
||||
name = "fridge"
|
||||
},
|
||||
/obj/item/storage/box/donkpockets{
|
||||
pixel_x = 2;
|
||||
pixel_y = 3
|
||||
},
|
||||
/obj/item/storage/box/donkpockets,
|
||||
/obj/item/storage/fancy/donut_box,
|
||||
/obj/item/reagent_containers/food/snacks/cookie,
|
||||
/obj/item/reagent_containers/food/snacks/cookie{
|
||||
pixel_x = -6;
|
||||
pixel_y = -6
|
||||
},
|
||||
/obj/item/reagent_containers/food/snacks/chocolatebar,
|
||||
/obj/effect/decal/cleanable/dirt,
|
||||
/obj/effect/turf_decal/tile/bar,
|
||||
/obj/effect/turf_decal/tile/bar{
|
||||
dir = 1
|
||||
},
|
||||
/obj/item/reagent_containers/food/condiment/milk,
|
||||
/obj/item/reagent_containers/food/condiment/milk,
|
||||
/turf/open/floor/plasteel,
|
||||
/area/shuttle/pirate)
|
||||
"al" = (
|
||||
/obj/machinery/loot_locator,
|
||||
/obj/effect/decal/cleanable/dirt,
|
||||
@@ -622,38 +656,6 @@
|
||||
/obj/effect/decal/cleanable/dirt,
|
||||
/turf/open/floor/plasteel,
|
||||
/area/shuttle/pirate)
|
||||
"bw" = (
|
||||
/obj/machinery/airalarm/all_access{
|
||||
dir = 4;
|
||||
pixel_x = -24
|
||||
},
|
||||
/obj/effect/decal/cleanable/dirt,
|
||||
/obj/machinery/light/small{
|
||||
dir = 8
|
||||
},
|
||||
/obj/structure/closet/secure_closet/freezer{
|
||||
locked = 0;
|
||||
name = "fridge"
|
||||
},
|
||||
/obj/item/storage/box/donkpockets{
|
||||
pixel_x = 2;
|
||||
pixel_y = 3
|
||||
},
|
||||
/obj/item/storage/box/donkpockets,
|
||||
/obj/item/storage/fancy/donut_box,
|
||||
/obj/item/reagent_containers/food/snacks/cookie,
|
||||
/obj/item/reagent_containers/food/snacks/cookie{
|
||||
pixel_x = -6;
|
||||
pixel_y = -6
|
||||
},
|
||||
/obj/item/reagent_containers/food/snacks/chocolatebar,
|
||||
/obj/effect/decal/cleanable/dirt,
|
||||
/obj/effect/turf_decal/tile/bar,
|
||||
/obj/effect/turf_decal/tile/bar{
|
||||
dir = 1
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/shuttle/pirate)
|
||||
"bx" = (
|
||||
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
|
||||
dir = 4
|
||||
@@ -1207,7 +1209,7 @@ eA
|
||||
aa
|
||||
ap
|
||||
aw
|
||||
bw
|
||||
ak
|
||||
bF
|
||||
aj
|
||||
aj
|
||||
|
||||
@@ -30,20 +30,20 @@
|
||||
playsound(src, "sparks", 100, TRUE)
|
||||
var/turf/T = loc
|
||||
if(isturf(T))
|
||||
T.hotspot_expose(300,5)
|
||||
T.hotspot_expose(700,5)
|
||||
QDEL_IN(src, 20)
|
||||
|
||||
/obj/effect/particle_effect/sparks/Destroy()
|
||||
var/turf/T = loc
|
||||
if(isturf(T))
|
||||
T.hotspot_expose(300,1)
|
||||
T.hotspot_expose(700,1)
|
||||
return ..()
|
||||
|
||||
/obj/effect/particle_effect/sparks/Move()
|
||||
..()
|
||||
var/turf/T = loc
|
||||
if(isturf(T))
|
||||
T.hotspot_expose(300,1)
|
||||
T.hotspot_expose(700,1)
|
||||
|
||||
/datum/effect_system/spark_spread
|
||||
effect_type = /obj/effect/particle_effect/sparks
|
||||
|
||||
@@ -187,6 +187,7 @@ GLOBAL_LIST_INIT(transit_tube_recipes, list(
|
||||
armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 100, "acid" = 50)
|
||||
resistance_flags = FIRE_PROOF
|
||||
var/datum/effect_system/spark_spread/spark_system
|
||||
var/effectcooldown
|
||||
var/working = 0
|
||||
var/p_dir = NORTH
|
||||
var/p_flipped = FALSE
|
||||
@@ -207,7 +208,7 @@ GLOBAL_LIST_INIT(transit_tube_recipes, list(
|
||||
/obj/item/pipe_dispenser/New()
|
||||
. = ..()
|
||||
spark_system = new /datum/effect_system/spark_spread
|
||||
spark_system.set_up(5, 0, src)
|
||||
spark_system.set_up(1, 0, src)
|
||||
spark_system.attach(src)
|
||||
if(!first_atmos)
|
||||
first_atmos = GLOB.atmos_pipe_recipes[GLOB.atmos_pipe_recipes[1]][1]
|
||||
@@ -313,8 +314,9 @@ GLOBAL_LIST_INIT(transit_tube_recipes, list(
|
||||
else
|
||||
mode |= n
|
||||
|
||||
if(playeffect)
|
||||
if(playeffect && world.time >= effectcooldown)
|
||||
spark_system.start()
|
||||
effectcooldown = world.time + 100
|
||||
playsound(get_turf(src), 'sound/effects/pop.ogg', 50, 0)
|
||||
|
||||
/obj/item/pipe_dispenser/pre_attack(atom/A, mob/user)
|
||||
|
||||
@@ -250,14 +250,18 @@ structure_check() searches for nearby cultist structures required for the invoca
|
||||
currentconversionman = convertee
|
||||
conversiontimeout = world.time + (10 SECONDS)
|
||||
convertee.Stun(100)
|
||||
convertee.add_trait(TRAIT_MUTE, "conversionrune")
|
||||
conversionresult = FALSE
|
||||
while(world.time < conversiontimeout && convertee && !conversionresult)
|
||||
stoplag(1)
|
||||
currentconversionman = null
|
||||
if(convertee && get_turf(convertee) != get_turf(src))
|
||||
if(!convertee)
|
||||
return FALSE
|
||||
if(!conversionresult && convertee)
|
||||
do_sacrifice(convertee, invokers)
|
||||
convertee.remove_trait(TRAIT_MUTE, "conversionrune")
|
||||
if(get_turf(convertee) != get_turf(src))
|
||||
return FALSE
|
||||
if(!conversionresult)
|
||||
do_sacrifice(convertee, invokers, TRUE)
|
||||
return FALSE
|
||||
var/brutedamage = convertee.getBruteLoss()
|
||||
var/burndamage = convertee.getFireLoss()
|
||||
@@ -279,7 +283,7 @@ structure_check() searches for nearby cultist structures required for the invoca
|
||||
H.cultslurring = 0
|
||||
return 1
|
||||
|
||||
/obj/effect/rune/convert/proc/do_sacrifice(mob/living/sacrificial, list/invokers)
|
||||
/obj/effect/rune/convert/proc/do_sacrifice(mob/living/sacrificial, list/invokers, force_a_sac)
|
||||
var/mob/living/first_invoker = invokers[1]
|
||||
if(!first_invoker)
|
||||
return FALSE
|
||||
@@ -289,7 +293,7 @@ structure_check() searches for nearby cultist structures required for the invoca
|
||||
|
||||
|
||||
var/big_sac = FALSE
|
||||
if((((ishuman(sacrificial) || iscyborg(sacrificial)) && sacrificial.stat != DEAD) || C.cult_team.is_sacrifice_target(sacrificial.mind)) && invokers.len < 3)
|
||||
if(!force_a_sac && (((ishuman(sacrificial) || iscyborg(sacrificial)) && sacrificial.stat != DEAD) || C.cult_team.is_sacrifice_target(sacrificial.mind)) && invokers.len < 3)
|
||||
for(var/M in invokers)
|
||||
to_chat(M, "<span class='cult italic'>[sacrificial] is too greatly linked to the world! You need three acolytes!</span>")
|
||||
log_game("Offer rune failed - not enough acolytes and target is living or sac target")
|
||||
|
||||
@@ -1653,13 +1653,19 @@ GLOBAL_LIST_EMPTY(roundstart_races)
|
||||
|
||||
var/obj/item/bodypart/BP = null
|
||||
if(isbodypart(def_zone))
|
||||
BP = def_zone
|
||||
if(damagetype == STAMINA && istype(def_zone, /obj/item/bodypart/head))
|
||||
BP = H.get_bodypart(check_zone(BODY_ZONE_CHEST))
|
||||
else
|
||||
BP = def_zone
|
||||
else
|
||||
if(!def_zone)
|
||||
def_zone = ran_zone(def_zone)
|
||||
if(damagetype == STAMINA && def_zone == BODY_ZONE_HEAD)
|
||||
def_zone = BODY_ZONE_CHEST
|
||||
BP = H.get_bodypart(check_zone(def_zone))
|
||||
if(!BP)
|
||||
BP = H.bodyparts[1]
|
||||
|
||||
if(!BP)
|
||||
BP = H.bodyparts[1]
|
||||
|
||||
switch(damagetype)
|
||||
if(BRUTE)
|
||||
|
||||
@@ -66,7 +66,7 @@
|
||||
|
||||
sparks = new
|
||||
sparks.attach(src)
|
||||
sparks.set_up(5, TRUE, src)
|
||||
sparks.set_up(1, TRUE, src)
|
||||
|
||||
/obj/machinery/power/emitter/ComponentInitialize()
|
||||
. = ..()
|
||||
|
||||
@@ -7,11 +7,12 @@ Chilling extracts:
|
||||
name = "chilling extract"
|
||||
desc = "It's cold to the touch, as if frozen solid."
|
||||
effect = "chilling"
|
||||
container_type = INJECTABLE | DRAWABLE
|
||||
icon_state = "chilling"
|
||||
|
||||
/obj/item/slimecross/chilling/Initialize()
|
||||
. = ..()
|
||||
create_reagents(10, INJECTABLE | DRAWABLE)
|
||||
create_reagents(10)
|
||||
|
||||
/obj/item/slimecross/chilling/attack_self(mob/user)
|
||||
if(!reagents.has_reagent("plasma",10))
|
||||
|
||||
@@ -27,7 +27,7 @@
|
||||
|
||||
/datum/surgery_step/revive
|
||||
name = "electric stimulation"
|
||||
implements = list(/obj/item/twohanded/shockpaddles = 100, /obj/item/melee/baton = 75, /obj/item/gun/energy = 60)
|
||||
implements = list(/obj/item/twohanded/shockpaddles = 100, /obj/item/abductor/gizmo = 100, /obj/item/melee/baton = 75, /obj/item/organ/cyberimp/arm/baton = 75, /obj/item/organ/cyberimp/arm/gun/taser = 60, /obj/item/gun/energy/e_gun/advtaser = 60, /obj/item/gun/energy/taser = 60)
|
||||
time = 120
|
||||
|
||||
/datum/surgery_step/revive/tool_check(mob/user, obj/item/tool)
|
||||
|
||||
@@ -0,0 +1,4 @@
|
||||
author: "Ghommie"
|
||||
delete-after: True
|
||||
changes:
|
||||
- rscadd: "Adds two cartons of space milk to the space skellie pirates cutter's fridge."
|
||||
@@ -0,0 +1,4 @@
|
||||
author: "izzyinbox"
|
||||
delete-after: True
|
||||
changes:
|
||||
- tweak: "lowered the player age for command jobs to 1/3 of their previous setting"
|
||||
@@ -0,0 +1,5 @@
|
||||
author: "deathride58"
|
||||
delete-after: True
|
||||
changes:
|
||||
- bugfix: "Sparks and igniters will now actually heat areas rather than cooling them, as was intended."
|
||||
- tweak: "To alleviate some potential complaints, RPDs now have a cooldown before they can create sparks, and both RPDs and emitters produce less sparks."
|
||||
@@ -0,0 +1,5 @@
|
||||
author: "deathride58"
|
||||
delete-after: True
|
||||
changes:
|
||||
- tweak: "Conversion runes will now mute the victim temporarily while they're deciding whether to convert or be sacrificed."
|
||||
- bugfix: "Conversion runes no longer require a third cultist to sacrifice if the victim refuses conversion"
|
||||
@@ -0,0 +1,4 @@
|
||||
author: "deathride58"
|
||||
delete-after: True
|
||||
changes:
|
||||
- bugfix: "Staminaloss targeted at the head now properly redirects to the chest."
|
||||
@@ -23,7 +23,14 @@
|
||||
|
||||
/obj/item/storage/firstaid/o2
|
||||
icon_state = "oxy"
|
||||
|
||||
|
||||
/obj/item/storage/firstaid/radbgone
|
||||
icon_state = "rad"
|
||||
|
||||
/obj/item/storage/firstaid/radbgone/Initialize(mapload)
|
||||
. = ..()
|
||||
icon_state = pick("[initial(icon_state)]","[initial(icon_state)]2","[initial(icon_state)]3","[initial(icon_state)]4")
|
||||
|
||||
/obj/item/storage/firstaid/tactical
|
||||
icon_state = "tactical"
|
||||
|
||||
|
||||
@@ -367,4 +367,10 @@ datum/gear/darksabresheath
|
||||
name = "Soul Necklace"
|
||||
category = SLOT_NECK
|
||||
path = /obj/item/clothing/neck/undertale
|
||||
ckeywhitelist = list("twilightic")
|
||||
ckeywhitelist = list("twilightic")
|
||||
|
||||
/datum/gear/frenchberet
|
||||
name = "French Beret"
|
||||
category = SLOT_HEAD
|
||||
path = /obj/item/clothing/head/frenchberet
|
||||
ckeywhitelist = list("notazoltan")
|
||||
@@ -1,9 +1,9 @@
|
||||
/datum/job/captain
|
||||
minimal_player_age = 60
|
||||
minimal_player_age = 20
|
||||
exp_type = EXP_TYPE_COMMAND
|
||||
|
||||
/datum/job/hop
|
||||
minimal_player_age = 60
|
||||
minimal_player_age = 20
|
||||
head_announce = list("Service")
|
||||
exp_type_department = EXP_TYPE_SERVICE
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/datum/job/chief_engineer
|
||||
minimal_player_age = 30
|
||||
minimal_player_age = 10
|
||||
|
||||
/datum/job/engineer
|
||||
access = list(ACCESS_ENGINE, ACCESS_ENGINE_EQUIP, ACCESS_TECH_STORAGE, ACCESS_MAINT_TUNNELS,
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/datum/job/cmo
|
||||
minimal_player_age = 30
|
||||
minimal_player_age = 10
|
||||
|
||||
/datum/outfit/job/doctor
|
||||
backpack_contents = list(/obj/item/storage/hypospraykit/regular)
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
/datum/job/rd
|
||||
minimal_player_age = 30
|
||||
minimal_player_age = 10
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/datum/job/hos
|
||||
minimal_player_age = 30
|
||||
minimal_player_age = 10
|
||||
|
||||
/datum/outfit/job/warden
|
||||
suit_store = /obj/item/gun/energy/pumpaction/defender
|
||||
suit_store = /obj/item/gun/energy/pumpaction/defender
|
||||
|
||||
Reference in New Issue
Block a user