mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2025-12-21 15:51:31 +00:00
Merge remote-tracking branch 'upstream/master' into universal-damage
This commit is contained in:
@@ -5205,10 +5205,7 @@
|
||||
pixel_x = 0;
|
||||
pixel_y = 10
|
||||
},
|
||||
/obj/item/stock_parts/cell/high{
|
||||
charge = 100;
|
||||
maxcharge = 15000
|
||||
},
|
||||
/obj/item/stock_parts/cell/high/plus,
|
||||
/obj/effect/decal/warning_stripes/east,
|
||||
/obj/item/clothing/glasses/welding,
|
||||
/obj/item/radio/intercom/department/security{
|
||||
@@ -24484,14 +24481,8 @@
|
||||
"aRZ" = (
|
||||
/obj/structure/table,
|
||||
/obj/machinery/cell_charger,
|
||||
/obj/item/stock_parts/cell/high{
|
||||
charge = 100;
|
||||
maxcharge = 15000
|
||||
},
|
||||
/obj/item/stock_parts/cell/high{
|
||||
charge = 100;
|
||||
maxcharge = 15000
|
||||
},
|
||||
/obj/item/stock_parts/cell/high/plus,
|
||||
/obj/item/stock_parts/cell/high/plus,
|
||||
/turf/simulated/floor/plating,
|
||||
/area/maintenance/electrical)
|
||||
"aSa" = (
|
||||
@@ -49466,10 +49457,7 @@
|
||||
"bNN" = (
|
||||
/obj/structure/table,
|
||||
/obj/machinery/cell_charger,
|
||||
/obj/item/stock_parts/cell/high{
|
||||
charge = 100;
|
||||
maxcharge = 15000
|
||||
},
|
||||
/obj/item/stock_parts/cell/high/plus,
|
||||
/obj/item/radio/intercom{
|
||||
frequency = 1459;
|
||||
name = "station intercom (General)";
|
||||
@@ -50524,13 +50512,8 @@
|
||||
pixel_x = -8;
|
||||
pixel_y = 4
|
||||
},
|
||||
/obj/item/stock_parts/cell/high{
|
||||
charge = 100;
|
||||
maxcharge = 15000
|
||||
},
|
||||
/obj/item/stock_parts/cell/high{
|
||||
charge = 100;
|
||||
maxcharge = 15000;
|
||||
/obj/item/stock_parts/cell/high/plus,
|
||||
/obj/item/stock_parts/cell/high/plus{
|
||||
pixel_x = 5;
|
||||
pixel_y = -5
|
||||
},
|
||||
@@ -53785,10 +53768,7 @@
|
||||
"bUQ" = (
|
||||
/obj/structure/table,
|
||||
/obj/machinery/cell_charger,
|
||||
/obj/item/stock_parts/cell/high{
|
||||
charge = 100;
|
||||
maxcharge = 15000
|
||||
},
|
||||
/obj/item/stock_parts/cell/high/plus,
|
||||
/turf/simulated/floor/plasteel{
|
||||
icon_state = "white"
|
||||
},
|
||||
@@ -70403,10 +70383,7 @@
|
||||
"cvA" = (
|
||||
/obj/structure/table,
|
||||
/obj/item/plant_analyzer,
|
||||
/obj/item/stock_parts/cell/high{
|
||||
charge = 100;
|
||||
maxcharge = 15000
|
||||
},
|
||||
/obj/item/stock_parts/cell/high/plus,
|
||||
/turf/simulated/floor/plating,
|
||||
/area/storage/tech)
|
||||
"cvB" = (
|
||||
@@ -74447,10 +74424,7 @@
|
||||
pixel_y = 3
|
||||
},
|
||||
/obj/item/stack/cable_coil,
|
||||
/obj/item/stock_parts/cell/high{
|
||||
charge = 100;
|
||||
maxcharge = 15000
|
||||
},
|
||||
/obj/item/stock_parts/cell/high/plus,
|
||||
/turf/simulated/floor/plating,
|
||||
/area/storage/tech)
|
||||
"cCP" = (
|
||||
@@ -84452,14 +84426,8 @@
|
||||
/obj/item/rcd_ammo,
|
||||
/obj/item/rcd_ammo,
|
||||
/obj/item/rcd_ammo,
|
||||
/obj/item/stock_parts/cell/high{
|
||||
charge = 100;
|
||||
maxcharge = 15000
|
||||
},
|
||||
/obj/item/stock_parts/cell/high{
|
||||
charge = 100;
|
||||
maxcharge = 15000
|
||||
},
|
||||
/obj/item/stock_parts/cell/high/plus,
|
||||
/obj/item/stock_parts/cell/high/plus,
|
||||
/obj/item/clothing/glasses/meson{
|
||||
pixel_y = 4
|
||||
},
|
||||
@@ -85173,10 +85141,7 @@
|
||||
},
|
||||
/obj/item/airlock_electronics,
|
||||
/obj/item/airlock_electronics,
|
||||
/obj/item/stock_parts/cell/high{
|
||||
charge = 100;
|
||||
maxcharge = 15000
|
||||
},
|
||||
/obj/item/stock_parts/cell/high/plus,
|
||||
/obj/effect/decal/warning_stripes/west,
|
||||
/turf/simulated/floor/plating,
|
||||
/area/storage/secure)
|
||||
@@ -88466,14 +88431,8 @@
|
||||
"dbO" = (
|
||||
/obj/structure/table/reinforced,
|
||||
/obj/machinery/cell_charger,
|
||||
/obj/item/stock_parts/cell/high{
|
||||
charge = 100;
|
||||
maxcharge = 15000
|
||||
},
|
||||
/obj/item/stock_parts/cell/high{
|
||||
charge = 100;
|
||||
maxcharge = 15000
|
||||
},
|
||||
/obj/item/stock_parts/cell/high/plus,
|
||||
/obj/item/stock_parts/cell/high/plus,
|
||||
/obj/item/stack/cable_coil{
|
||||
pixel_x = 3;
|
||||
pixel_y = -7
|
||||
|
||||
@@ -1422,7 +1422,7 @@ var/list/all_supply_groups = list(supply_emergency,supply_security,supply_engine
|
||||
name = "Shaft Miner Starter Kit"
|
||||
cost = 30
|
||||
access = access_qm
|
||||
contains = list(/obj/item/storage/backpack/duffel/mining_conscript/noid)
|
||||
contains = list(/obj/item/storage/backpack/duffel/mining_conscript)
|
||||
containertype = /obj/structure/closet/crate/secure
|
||||
containername = "shaft miner starter kit"
|
||||
|
||||
@@ -1951,4 +1951,4 @@ var/list/all_supply_groups = list(supply_emergency,supply_security,supply_engine
|
||||
name = "Chinese Supply Crate"
|
||||
contains = list(/obj/item/vending_refill/chinese)
|
||||
cost = 15
|
||||
containername = "chinese supply crate"
|
||||
containername = "chinese supply crate"
|
||||
|
||||
@@ -57,6 +57,7 @@
|
||||
user.update_blind_effects()
|
||||
user.update_blurry_effects()
|
||||
user.mind.changeling.regenerating = FALSE
|
||||
user.UpdateAppearance() //Ensures that the user's appearance matches their DNA.
|
||||
|
||||
to_chat(user, "<span class='notice'>We have regenerated.</span>")
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/datum/surgery/organ_extraction
|
||||
name = "experimental dissection"
|
||||
name = "Experimental Dissection"
|
||||
steps = list(/datum/surgery_step/generic/cut_open, /datum/surgery_step/generic/clamp_bleeders, /datum/surgery_step/generic/retract_skin, /datum/surgery_step/open_encased/saw, /datum/surgery_step/open_encased/retract, /datum/surgery_step/internal/extract_organ, /datum/surgery_step/internal/gland_insert, /datum/surgery_step/generic/cauterize)
|
||||
possible_locs = list("chest")
|
||||
|
||||
@@ -19,17 +19,16 @@
|
||||
return TRUE
|
||||
return FALSE
|
||||
|
||||
|
||||
/datum/surgery_step/internal/extract_organ
|
||||
name = "remove heart"
|
||||
accept_hand = 1
|
||||
time = 32
|
||||
var/obj/item/organ/internal/IC = null
|
||||
var/list/organ_types = list(/obj/item/organ/internal/heart)
|
||||
|
||||
/datum/surgery_step/internal/extract_organ/begin_step(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery)
|
||||
for(var/obj/item/I in target.internal_organs)
|
||||
if(I.type in organ_types)
|
||||
// Allows for multiple subtypes of heart.
|
||||
if(istype(I, /obj/item/organ/internal/heart))
|
||||
IC = I
|
||||
break
|
||||
user.visible_message("[user] starts to remove [target]'s organs.", "<span class='notice'>You start to remove [target]'s organs...</span>")
|
||||
@@ -37,14 +36,14 @@
|
||||
|
||||
/datum/surgery_step/internal/extract_organ/end_step(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery)
|
||||
var/mob/living/carbon/human/AB = target
|
||||
if(NO_INTORGANS in AB.dna.species.species_traits)
|
||||
user.visible_message("[user] prepares [target]'s [target_zone] for further dissection!", "<span class='notice'>You prepare [target]'s [target_zone] for further dissection.</span>")
|
||||
return TRUE
|
||||
if(IC)
|
||||
user.visible_message("[user] pulls [IC] out of [target]'s [target_zone]!", "<span class='notice'>You pull [IC] out of [target]'s [target_zone].</span>")
|
||||
user.put_in_hands(IC)
|
||||
IC.remove(target, special = 1)
|
||||
return TRUE
|
||||
if(NO_INTORGANS in AB.dna.species.species_traits)
|
||||
user.visible_message("[user] prepares [target]'s [target_zone] for further dissection!", "<span class='notice'>You prepare [target]'s [target_zone] for further dissection.</span>")
|
||||
return TRUE
|
||||
else
|
||||
to_chat(user, "<span class='warning'>You don't find anything in [target]'s [target_zone]!</span>")
|
||||
return TRUE
|
||||
@@ -76,7 +75,7 @@
|
||||
//IPC Gland Surgery//
|
||||
|
||||
/datum/surgery/organ_extraction/synth
|
||||
name = "experimental robotic dissection"
|
||||
name = "Experimental Robotic Dissection"
|
||||
steps = list(/datum/surgery_step/robotics/external/unscrew_hatch,/datum/surgery_step/robotics/external/open_hatch,/datum/surgery_step/internal/extract_organ/synth,/datum/surgery_step/internal/gland_insert,/datum/surgery_step/robotics/external/close_hatch)
|
||||
possible_locs = list("chest")
|
||||
requires_organic_bodypart = 0
|
||||
@@ -99,4 +98,3 @@
|
||||
|
||||
/datum/surgery_step/internal/extract_organ/synth
|
||||
name = "remove cell"
|
||||
organ_types = list(/obj/item/organ/internal/cell)
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
desc = "A nausea-inducing hunk of twisting flesh and metal."
|
||||
icon = 'icons/obj/abductor.dmi'
|
||||
icon_state = "gland"
|
||||
dead_icon = null
|
||||
status = ORGAN_ROBOT
|
||||
origin_tech = "materials=4;biotech=7;abductor=3"
|
||||
beating = TRUE
|
||||
@@ -18,6 +19,9 @@
|
||||
var/mind_control_duration = 1800
|
||||
var/active_mind_control = FALSE
|
||||
|
||||
/obj/item/organ/internal/heart/gland/update_icon()
|
||||
return
|
||||
|
||||
/obj/item/organ/internal/heart/gland/proc/ownerCheck()
|
||||
if(ishuman(owner))
|
||||
return TRUE
|
||||
|
||||
@@ -143,7 +143,7 @@ var/list/doppler_arrays = list()
|
||||
|
||||
var/list/messages = list("Explosive disturbance detected.", \
|
||||
"Epicenter at: grid ([x0],[y0]). Temporal displacement of tachyons: [took] seconds.", \
|
||||
"Factual: Epicenter radius: [devastation_range]. Outer radius: [heavy_impact_range]. Shockwave radius: [light_impact_range].")
|
||||
"Actual: Epicenter radius: [devastation_range]. Outer radius: [heavy_impact_range]. Shockwave radius: [light_impact_range].")
|
||||
|
||||
// If the bomb was capped, say its theoretical size.
|
||||
if(devastation_range < orig_dev_range || heavy_impact_range < orig_heavy_range || light_impact_range < orig_light_range)
|
||||
|
||||
@@ -81,7 +81,7 @@
|
||||
drill.move_ores()
|
||||
|
||||
/obj/item/mecha_parts/mecha_equipment/drill/proc/move_ores()
|
||||
if(locate(/obj/item/mecha_parts/mecha_equipment/hydraulic_clamp) in chassis.equipment && istype(chassis, /obj/mecha/working/ripley))
|
||||
if((locate(/obj/item/mecha_parts/mecha_equipment/hydraulic_clamp) in chassis.equipment) && istype(chassis, /obj/mecha/working/ripley))
|
||||
var/obj/mecha/working/ripley/R = chassis //we could assume that it's a ripley because it has a clamp, but that's ~unsafe~ and ~bad practice~
|
||||
R.collect_ore()
|
||||
|
||||
|
||||
@@ -348,8 +348,8 @@
|
||||
return
|
||||
var/lootspawn = pickweight(loot)
|
||||
var/obj/vehicle/V = new lootspawn(get_turf(src))
|
||||
if(V.keytype)
|
||||
new V.keytype(get_turf(src))
|
||||
if(V.key_type)
|
||||
new V.key_type(get_turf(src))
|
||||
qdel(src)
|
||||
|
||||
|
||||
|
||||
@@ -78,11 +78,9 @@
|
||||
continue
|
||||
if(length(list("SS13","MINE")&camera.network))
|
||||
bugged_cameras[camera.c_tag] = camera
|
||||
sortList(bugged_cameras)
|
||||
sortTim(bugged_cameras, /proc/cmp_text_asc)
|
||||
return bugged_cameras
|
||||
|
||||
|
||||
|
||||
/obj/item/camera_bug/proc/menu(var/list/cameras)
|
||||
if(!cameras || !cameras.len)
|
||||
return "No bugged cameras found."
|
||||
|
||||
@@ -360,11 +360,11 @@
|
||||
new /obj/item/ammo_box/magazine/m12g/buckshot(src)
|
||||
new /obj/item/ammo_box/magazine/m12g/dragon(src)
|
||||
|
||||
/obj/item/storage/backpack/duffel/mining_conscript/noid
|
||||
/obj/item/storage/backpack/duffel/mining_conscript/
|
||||
name = "mining conscription kit"
|
||||
desc = "A kit containing everything a crewmember needs to support a shaft miner in the field."
|
||||
|
||||
/obj/item/storage/backpack/duffel/mining_conscript/noid/New()
|
||||
/obj/item/storage/backpack/duffel/mining_conscript/New()
|
||||
..()
|
||||
new /obj/item/pickaxe(src)
|
||||
new /obj/item/clothing/glasses/meson(src)
|
||||
@@ -372,7 +372,7 @@
|
||||
new /obj/item/storage/bag/ore(src)
|
||||
new /obj/item/clothing/under/rank/miner/lavaland(src)
|
||||
new /obj/item/encryptionkey/headset_cargo(src)
|
||||
new /obj/item/clothing/mask/gas(src)
|
||||
new /obj/item/clothing/mask/gas/explorer(src)
|
||||
|
||||
|
||||
/obj/item/storage/backpack/duffel/syndie/ammo/smg
|
||||
|
||||
@@ -164,7 +164,7 @@
|
||||
desc = "A boat used for traversing lava."
|
||||
icon_state = "goliath_boat"
|
||||
icon = 'icons/obj/lavaland/dragonboat.dmi'
|
||||
keytype = /obj/item/oar
|
||||
held_key_type = /obj/item/oar
|
||||
resistance_flags = LAVA_PROOF | FIRE_PROOF
|
||||
|
||||
/obj/vehicle/lavaboat/relaymove(mob/user, direction)
|
||||
@@ -175,7 +175,7 @@
|
||||
..()
|
||||
else
|
||||
to_chat(user, "<span class='warning'>Boats don't go on land!</span>")
|
||||
return 0
|
||||
return FALSE
|
||||
|
||||
/obj/item/oar
|
||||
name = "oar"
|
||||
@@ -218,7 +218,7 @@
|
||||
/obj/vehicle/lavaboat/dragon
|
||||
name = "mysterious boat"
|
||||
desc = "This boat moves where you will it, without the need for an oar."
|
||||
keytype = null
|
||||
held_key_type = null
|
||||
icon_state = "dragon_boat"
|
||||
generic_pixel_y = 2
|
||||
generic_pixel_x = 1
|
||||
|
||||
@@ -36,7 +36,7 @@
|
||||
new /datum/data/mining_equipment("Fulton Pack", /obj/item/extraction_pack, 1000),
|
||||
new /datum/data/mining_equipment("Lazarus Injector", /obj/item/lazarus_injector, 1000),
|
||||
new /datum/data/mining_equipment("Silver Pickaxe", /obj/item/pickaxe/silver, 1000),
|
||||
new /datum/data/mining_equipment("Mining Conscription Kit", /obj/item/storage/backpack/duffel/mining_conscript, 1500),
|
||||
new /datum/data/mining_equipment("Mining Conscription Kit", /obj/item/storage/backpack/duffel/mining_conscript/full, 1500),
|
||||
new /datum/data/mining_equipment("Jetpack Upgrade", /obj/item/tank/jetpack/suit, 2000),
|
||||
new /datum/data/mining_equipment("Mining Hardsuit", /obj/item/clothing/suit/space/hardsuit/mining, 2000),
|
||||
new /datum/data/mining_equipment("Diamond Pickaxe", /obj/item/pickaxe/diamond, 2000),
|
||||
@@ -235,7 +235,7 @@
|
||||
new /obj/item/extinguisher/mini(drop_location)
|
||||
new /obj/item/twohanded/kinetic_crusher(drop_location)
|
||||
if("Mining Conscription Kit")
|
||||
new /obj/item/storage/backpack/duffel/mining_conscript(drop_location)
|
||||
new /obj/item/storage/backpack/duffel/mining_conscript/full(drop_location)
|
||||
|
||||
qdel(voucher)
|
||||
|
||||
@@ -293,19 +293,14 @@
|
||||
to_chat(user, "You upgrade [I] with mining access.")
|
||||
qdel(src)
|
||||
|
||||
/obj/item/storage/backpack/duffel/mining_conscript
|
||||
/obj/item/storage/backpack/duffel/mining_conscript/full
|
||||
name = "mining conscription kit"
|
||||
desc = "A kit containing everything a crewmember needs to support a shaft miner in the field."
|
||||
|
||||
/obj/item/storage/backpack/duffel/mining_conscript/New()
|
||||
/obj/item/storage/backpack/duffel/mining_conscript/full/New()
|
||||
..()
|
||||
new /obj/item/clothing/glasses/meson(src)
|
||||
new /obj/item/t_scanner/adv_mining_scanner/lesser(src)
|
||||
new /obj/item/storage/bag/ore(src)
|
||||
new /obj/item/clothing/suit/hooded/explorer(src)
|
||||
new /obj/item/encryptionkey/headset_cargo(src)
|
||||
new /obj/item/clothing/mask/gas/explorer(src)
|
||||
new /obj/item/card/id/mining_access_card(src)
|
||||
new /obj/item/gun/energy/kinetic_accelerator(src)
|
||||
new /obj/item/kitchen/knife/combat/survival(src)
|
||||
new /obj/item/flashlight/seclite(src)
|
||||
new /obj/item/flashlight/seclite(src)
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
cold_level_3 = 200
|
||||
coldmod = 3
|
||||
|
||||
brain_mod = 2.5
|
||||
brain_mod = 1.5
|
||||
|
||||
male_cough_sounds = list('sound/effects/slime_squish.ogg')
|
||||
female_cough_sounds = list('sound/effects/slime_squish.ogg')
|
||||
@@ -40,8 +40,8 @@
|
||||
|
||||
has_organ = list(
|
||||
"brain" = /obj/item/organ/internal/brain/slime,
|
||||
"osmatic pressure regulator" = /obj/item/organ/internal/heart/slime,
|
||||
"gas exchange membrane" = /obj/item/organ/internal/lungs/slime
|
||||
"heart" = /obj/item/organ/internal/heart/slime,
|
||||
"lungs" = /obj/item/organ/internal/lungs/slime
|
||||
)
|
||||
mutantears = null
|
||||
has_limbs = list(
|
||||
|
||||
@@ -354,19 +354,31 @@
|
||||
icon_state = "bottle3"
|
||||
origin_tech = "biotech=5"
|
||||
|
||||
/obj/item/slimepotion/speed/afterattack(obj/item/C, mob/user, proximity_flag)
|
||||
/obj/item/slimepotion/speed/afterattack(obj/O, mob/user, proximity_flag)
|
||||
if(!proximity_flag)
|
||||
return
|
||||
..()
|
||||
if(!istype(C))
|
||||
to_chat(user, "<span class='warning'>The potion can only be used on items!</span>")
|
||||
if(!istype(O))
|
||||
to_chat(user, "<span class='warning'>The potion can only be used on items or vehicles!</span>")
|
||||
return
|
||||
if(C.slowdown <= 0)
|
||||
to_chat(user, "<span class='warning'>[C] can't be made any faster!</span>")
|
||||
return..()
|
||||
to_chat(user, "<span class='notice'>You slather the red gunk over [C], making it faster.</span>")
|
||||
C.color = "#FF0000"
|
||||
C.slowdown = 0
|
||||
if(isitem(O))
|
||||
var/obj/item/I = O
|
||||
if(I.slowdown <= 0)
|
||||
to_chat(user, "<span class='warning'>[I] can't be made any faster!</span>")
|
||||
return ..()
|
||||
I.slowdown = 0
|
||||
|
||||
if(istype(O, /obj/vehicle))
|
||||
var/obj/vehicle/V = O
|
||||
var/vehicle_speed_mod = config.run_speed
|
||||
if(V.vehicle_move_delay <= vehicle_speed_mod)
|
||||
to_chat(user, "<span class='warning'>[V] can't be made any faster!</span>")
|
||||
return ..()
|
||||
V.vehicle_move_delay = vehicle_speed_mod
|
||||
|
||||
to_chat(user, "<span class='notice'>You slather the red gunk over [O], making it faster.</span>")
|
||||
O.remove_atom_colour(WASHABLE_COLOUR_PRIORITY)
|
||||
O.add_atom_colour("#FF0000", FIXED_COLOUR_PRIORITY)
|
||||
qdel(src)
|
||||
|
||||
/obj/item/slimepotion/speed/MouseDrop(obj/over_object)
|
||||
|
||||
@@ -1,11 +1,15 @@
|
||||
/obj/item/organ/internal/heart/slime
|
||||
icon = 'icons/obj/species_organs/slime.dmi'
|
||||
name = "osmotic pressure regulator"
|
||||
name = "slime heart"
|
||||
icon_state = "heart"
|
||||
desc = "It appears to be some kind of biological pump that uses osmotic pressure to regulate water flow. It seems to work similar to a heart."
|
||||
desc = "This is a slime's osmotic pressure regulator, it appears to be some kind of biological pump that uses osmotic pressure to regulate water flow. It seems to work similar to a heart."
|
||||
dead_icon = null
|
||||
|
||||
/obj/item/organ/internal/heart/slime/update_icon()
|
||||
return
|
||||
|
||||
/obj/item/organ/internal/lungs/slime
|
||||
icon = 'icons/obj/species_organs/slime.dmi'
|
||||
name = "gas exchange membrane"
|
||||
name = "slime lungs"
|
||||
icon_state = "lungs"
|
||||
desc = "Membrane used for oxygen intake and gas exchange. These seem to work similar to lungs."
|
||||
desc = "This is a slime's gas exchange membrane, this membrane used for oxygen intake and gas exchange. These seem to work similar to lungs."
|
||||
@@ -1,5 +1,6 @@
|
||||
/obj/item/organ/external/chest/unbreakable
|
||||
cannot_break = TRUE
|
||||
encased = null
|
||||
|
||||
/obj/item/organ/external/groin/unbreakable
|
||||
cannot_break = TRUE
|
||||
@@ -30,6 +31,7 @@
|
||||
|
||||
/obj/item/organ/external/head/unbreakable
|
||||
cannot_break = TRUE
|
||||
encased = null
|
||||
|
||||
// Cannot dismember or break
|
||||
/obj/item/organ/external/chest/unbreakable/sturdy
|
||||
|
||||
@@ -545,7 +545,7 @@
|
||||
/datum/surgery/cybernetic_customization
|
||||
name = "Cybernetic Appearance Customization"
|
||||
steps = list(/datum/surgery_step/robotics/external/unscrew_hatch, /datum/surgery_step/robotics/external/customize_appearance)
|
||||
possible_locs = list("head", "chest", "l_arm", "r_arm", "r_leg", "l_leg")
|
||||
possible_locs = list("head", "chest", "l_arm", "l_hand", "r_arm", "r_hand", "r_leg", "r_foot", "l_leg", "l_foot", "groin")
|
||||
requires_organic_bodypart = FALSE
|
||||
|
||||
/datum/surgery/cybernetic_customization/can_start(mob/user, mob/living/carbon/human/target)
|
||||
|
||||
@@ -2,12 +2,12 @@
|
||||
name = "ambulance"
|
||||
desc = "This is what the paramedic uses to run over people they need to take to medbay."
|
||||
icon_state = "docwagon2"
|
||||
keytype = /obj/item/key/ambulance
|
||||
key_type = /obj/item/key/ambulance
|
||||
var/obj/structure/bed/amb_trolley/bed = null
|
||||
var/datum/action/ambulance_alarm/AA
|
||||
var/datum/looping_sound/ambulance_alarm/soundloop
|
||||
|
||||
/obj/vehicle/ambulance/New()
|
||||
/obj/vehicle/ambulance/Initialize(mapload)
|
||||
. = ..()
|
||||
AA = new(src)
|
||||
soundloop = new(list(src), FALSE)
|
||||
|
||||
@@ -2,19 +2,17 @@
|
||||
name = "all-terrain vehicle"
|
||||
desc = "An all-terrain vehicle built for traversing rough terrain with ease. One of the few old-earth technologies that are still relevant on most planet-bound outposts."
|
||||
icon = 'icons/vehicles/4wheeler.dmi'
|
||||
icon_state = "fourwheel"
|
||||
icon_state = "atv"
|
||||
armor = list("melee" = 50, "bullet" = 25, "laser" = 20, "energy" = 0, "bomb" = 50, "bio" = 0, "rad" = 0, "fire" = 60, "acid" = 60)
|
||||
keytype = /obj/item/key
|
||||
key_type = /obj/item/key
|
||||
generic_pixel_x = 0
|
||||
generic_pixel_y = 4
|
||||
vehicle_move_delay = 1
|
||||
var/static/image/atvcover = null
|
||||
var/static/mutable_appearance/atvcover
|
||||
|
||||
/obj/vehicle/atv/New()
|
||||
..()
|
||||
if(!atvcover)
|
||||
atvcover = image("icons/vehicles/4wheeler.dmi", "4wheeler_north")
|
||||
atvcover.layer = MOB_LAYER + 0.1
|
||||
/obj/vehicle/atv/Initialize(mapload)
|
||||
. = ..()
|
||||
atvcover = mutable_appearance(icon, atvcover, ABOVE_MOB_LAYER)
|
||||
|
||||
/obj/vehicle/atv/post_buckle_mob(mob/living/M)
|
||||
add_overlay(atvcover)
|
||||
@@ -27,7 +25,7 @@
|
||||
|
||||
/obj/vehicle/atv/handle_vehicle_layer()
|
||||
if(dir == SOUTH)
|
||||
layer = MOB_LAYER+0.1
|
||||
layer = ABOVE_MOB_LAYER
|
||||
else
|
||||
layer = OBJ_LAYER
|
||||
|
||||
@@ -41,20 +39,20 @@
|
||||
emp_vulnerable = 1
|
||||
density = 0
|
||||
|
||||
/obj/vehicle/atv/turret/New()
|
||||
..()
|
||||
/obj/vehicle/atv/turret/Initialize(mapload)
|
||||
. = ..()
|
||||
turret = new(loc)
|
||||
//turret.base = src
|
||||
|
||||
/obj/vehicle/atv/turret/handle_vehicle_layer()
|
||||
if(dir == SOUTH)
|
||||
layer = MOB_LAYER+0.1
|
||||
layer = ABOVE_MOB_LAYER
|
||||
else
|
||||
layer = OBJ_LAYER
|
||||
|
||||
if(turret)
|
||||
if(dir == NORTH)
|
||||
turret.layer = MOB_LAYER+0.1
|
||||
turret.layer = ABOVE_MOB_LAYER
|
||||
else
|
||||
turret.layer = OBJ_LAYER
|
||||
|
||||
|
||||
@@ -3,10 +3,13 @@
|
||||
name = "janicart (pimpin' ride)"
|
||||
desc = "A brave janitor cyborg gave its life to produce such an amazing combination of speed and utility."
|
||||
icon_state = "pussywagon"
|
||||
keytype = /obj/item/key/janitor
|
||||
var/obj/item/storage/bag/trash/mybag = null
|
||||
var/floorbuffer = 0
|
||||
key_type = /obj/item/key/janitor
|
||||
var/obj/item/storage/bag/trash/mybag
|
||||
var/floorbuffer = FALSE
|
||||
|
||||
/obj/vehicle/janicart/Destroy()
|
||||
QDEL_NULL(mybag)
|
||||
return ..()
|
||||
|
||||
/obj/vehicle/janicart/handle_vehicle_offsets()
|
||||
..()
|
||||
@@ -63,35 +66,34 @@
|
||||
|
||||
/obj/vehicle/janicart/attackby(obj/item/I, mob/user, params)
|
||||
if(istype(I, /obj/item/storage/bag/trash))
|
||||
if(keytype == /obj/item/key/janitor)
|
||||
if(!user.drop_item())
|
||||
return
|
||||
to_chat(user, "<span class='notice'>You hook the trashbag onto \the [name].</span>")
|
||||
I.loc = src
|
||||
mybag = I
|
||||
else if(istype(I, /obj/item/janiupgrade))
|
||||
if(keytype == /obj/item/key/janitor)
|
||||
floorbuffer = 1
|
||||
qdel(I)
|
||||
to_chat(user,"<span class='notice'>You upgrade \the [name] with the floor buffer.</span>")
|
||||
update_icon()
|
||||
|
||||
..()
|
||||
|
||||
if(!user.drop_item())
|
||||
return
|
||||
to_chat(user, "<span class='notice'>You hook [I] onto [src].</span>")
|
||||
I.forceMove(src)
|
||||
mybag = I
|
||||
update_icon()
|
||||
return
|
||||
if(istype(I, /obj/item/janiupgrade))
|
||||
floorbuffer = TRUE
|
||||
qdel(I)
|
||||
to_chat(user,"<span class='notice'>You upgrade [src] with [I].</span>")
|
||||
update_icon()
|
||||
return
|
||||
return ..()
|
||||
|
||||
/obj/vehicle/janicart/update_icon()
|
||||
overlays.Cut()
|
||||
cut_overlays()
|
||||
if(mybag)
|
||||
overlays += "cart_garbage"
|
||||
add_overlay("cart_garbage")
|
||||
if(floorbuffer)
|
||||
overlays += "cart_buffer"
|
||||
add_overlay("cart_buffer")
|
||||
|
||||
|
||||
/obj/vehicle/janicart/attack_hand(mob/user)
|
||||
if(..())
|
||||
return 1
|
||||
return TRUE
|
||||
else if(mybag)
|
||||
mybag.loc = get_turf(user)
|
||||
mybag.forceMove(get_turf(user))
|
||||
user.put_in_hands(mybag)
|
||||
mybag = null
|
||||
update_icon()
|
||||
@@ -6,15 +6,11 @@
|
||||
generic_pixel_x = 0
|
||||
generic_pixel_y = 4
|
||||
vehicle_move_delay = 1
|
||||
var/static/image/bikecover = null
|
||||
|
||||
|
||||
/obj/vehicle/motorcycle/New()
|
||||
..()
|
||||
if(!bikecover)
|
||||
bikecover = image("icons/vehicles/motorcycle.dmi", "motorcycle_overlay_4d")
|
||||
bikecover.layer = MOB_LAYER + 0.1
|
||||
var/mutable_appearance/bikecover
|
||||
|
||||
/obj/vehicle/motorcycle/Initialize(mapload)
|
||||
. = ..()
|
||||
bikecover = mutable_appearance(icon, "motorcycle_overlay_4d", ABOVE_MOB_LAYER)
|
||||
|
||||
/obj/vehicle/motorcycle/post_buckle_mob(mob/living/M)
|
||||
add_overlay(bikecover)
|
||||
@@ -28,6 +24,6 @@
|
||||
|
||||
/obj/vehicle/motorcycle/handle_vehicle_layer()
|
||||
if(dir == SOUTH)
|
||||
layer = MOB_LAYER+0.1
|
||||
layer = ABOVE_MOB_LAYER
|
||||
else
|
||||
layer = OBJ_LAYER
|
||||
@@ -3,9 +3,10 @@
|
||||
desc = "A brave security cyborg gave its life to help you look like a complete tool."
|
||||
icon_state = "secway"
|
||||
armor = list("melee" = 20, "bullet" = 15, "laser" = 10, "energy" = 0, "bomb" = 30, "bio" = 0, "rad" = 0, "fire" = 60, "acid" = 60)
|
||||
keytype = /obj/item/key/security
|
||||
key_type = /obj/item/key/security
|
||||
generic_pixel_x = 0
|
||||
generic_pixel_y = 4
|
||||
vehicle_move_delay = 1
|
||||
|
||||
|
||||
/obj/item/key/security
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
desc = "Wheeeeeeeeeeee."
|
||||
icon = 'icons/obj/vehicles.dmi'
|
||||
icon_state = "snowmobile"
|
||||
keytype = /obj/item/key/snowmobile
|
||||
key_type = /obj/item/key/snowmobile
|
||||
generic_pixel_x = 0
|
||||
generic_pixel_y = 4
|
||||
|
||||
|
||||
@@ -3,16 +3,14 @@
|
||||
icon = 'icons/obj/bike.dmi'
|
||||
icon_state = "speedbike_blue"
|
||||
layer = MOB_LAYER - 0.1
|
||||
keytype = null
|
||||
vehicle_move_delay = 0
|
||||
var/overlay_state = "cover_blue"
|
||||
var/image/overlay = null
|
||||
var/mutable_appearance/overlay
|
||||
|
||||
/obj/vehicle/space/speedbike/New()
|
||||
..()
|
||||
overlay = image("icons/obj/bike.dmi", overlay_state)
|
||||
overlay.layer = MOB_LAYER + 0.1
|
||||
overlays += overlay
|
||||
/obj/vehicle/space/speedbike/Initialize(mapload)
|
||||
. = ..()
|
||||
overlay = mutable_appearance(icon, overlay_state, ABOVE_MOB_LAYER)
|
||||
add_overlay(overlay)
|
||||
|
||||
/obj/vehicle/space/speedbike/Move(newloc,move_dir)
|
||||
if(has_buckled_mobs())
|
||||
|
||||
@@ -6,14 +6,11 @@
|
||||
generic_pixel_x = 0
|
||||
generic_pixel_y = 4
|
||||
vehicle_move_delay = 1
|
||||
var/static/image/carcover = null
|
||||
var/mutable_appearance/carcover
|
||||
|
||||
|
||||
/obj/vehicle/car/New()
|
||||
..()
|
||||
if(!carcover)
|
||||
carcover = image("icons/vehicles/sportscar.dmi", "sportscar_cover")
|
||||
carcover.layer = MOB_LAYER + 0.1
|
||||
/obj/vehicle/car/Initialize(mapload)
|
||||
. = ..()
|
||||
carcover = mutable_appearance(icon, "sportscar_cover", ABOVE_MOB_LAYER)
|
||||
|
||||
/obj/vehicle/car/post_buckle_mob(mob/living/M)
|
||||
add_overlay(carcover)
|
||||
@@ -46,6 +43,6 @@
|
||||
|
||||
/obj/vehicle/car/handle_vehicle_layer()
|
||||
if(dir == SOUTH)
|
||||
layer = MOB_LAYER+0.1
|
||||
layer = ABOVE_MOB_LAYER
|
||||
else
|
||||
layer = OBJ_LAYER
|
||||
@@ -9,8 +9,12 @@
|
||||
can_buckle = TRUE
|
||||
buckle_lying = FALSE
|
||||
armor = list("melee" = 30, "bullet" = 30, "laser" = 30, "energy" = 0, "bomb" = 30, "bio" = 0, "rad" = 0, "fire" = 60, "acid" = 60)
|
||||
var/keytype = null //item typepath, if non-null an item of this type is needed in your hands to drive this vehicle
|
||||
var/next_vehicle_move = 0 //used for move delays
|
||||
var/key_type
|
||||
var/held_key_type //Similar to above, but the vehicle needs the key in hands as opposed to inserted into the ignition
|
||||
var/obj/item/key/inserted_key
|
||||
var/key_type_exact = TRUE //can subtypes work
|
||||
var/last_vehicle_move = 0 //used for move delays
|
||||
var/last_move_diagonal = FALSE
|
||||
var/vehicle_move_delay = 2 //tick delay between movements, lower = faster, higher = slower
|
||||
var/auto_door_open = TRUE
|
||||
var/needs_gravity = 0 //To allow non-space vehicles to move in no gravity or not, mostly for adminbus
|
||||
@@ -20,10 +24,56 @@
|
||||
var/spaceworthy = FALSE
|
||||
|
||||
|
||||
/obj/vehicle/New()
|
||||
..()
|
||||
/obj/vehicle/Initialize(mapload)
|
||||
. = ..()
|
||||
handle_vehicle_layer()
|
||||
|
||||
/obj/vehicle/Destroy()
|
||||
QDEL_NULL(inserted_key)
|
||||
return ..()
|
||||
|
||||
/obj/vehicle/examine(mob/user)
|
||||
. = ..()
|
||||
if(key_type)
|
||||
if(!inserted_key)
|
||||
. += "<span class='notice'>Put a key inside it by clicking it with the key.</span>"
|
||||
else
|
||||
. += "<span class='notice'>Alt-click [src] to remove the key.</span>"
|
||||
|
||||
/obj/vehicle/attackby(obj/item/I, mob/user, params)
|
||||
if(key_type && !is_key(inserted_key) && is_key(I))
|
||||
if(user.drop_item())
|
||||
I.forceMove(src)
|
||||
to_chat(user, "<span class='notice'>You insert [I] into [src].</span>")
|
||||
if(inserted_key) //just in case there's an invalid key
|
||||
inserted_key.forceMove(drop_location())
|
||||
inserted_key = I
|
||||
else
|
||||
to_chat(user, "<span class='warning'>[I] seems to be stuck to your hand!</span>")
|
||||
return
|
||||
return ..()
|
||||
|
||||
/obj/vehicle/AltClick(mob/user)
|
||||
if(inserted_key && user.Adjacent(user))
|
||||
if(!(user in buckled_mobs))
|
||||
to_chat(user, "<span class='warning'>You must be riding [src] to remove [src]'s key!</span>")
|
||||
return
|
||||
to_chat(user, "<span class='notice'>You remove [inserted_key] from [src].</span>")
|
||||
inserted_key.forceMove(drop_location())
|
||||
user.put_in_hands(inserted_key)
|
||||
inserted_key = null
|
||||
return ..()
|
||||
|
||||
/obj/vehicle/proc/is_key(obj/item/I)
|
||||
return I ? (key_type_exact ? (I.type == key_type) : istype(I, key_type)) : FALSE
|
||||
|
||||
/obj/vehicle/proc/held_keycheck(mob/user)
|
||||
if(held_key_type)
|
||||
if(istype(user.l_hand, held_key_type) || istype(user.r_hand, held_key_type))
|
||||
return TRUE
|
||||
else
|
||||
return TRUE
|
||||
return FALSE
|
||||
|
||||
//APPEARANCE
|
||||
/obj/vehicle/proc/handle_vehicle_layer()
|
||||
@@ -49,15 +99,6 @@
|
||||
return
|
||||
|
||||
|
||||
//KEYS
|
||||
/obj/vehicle/proc/keycheck(mob/user)
|
||||
if(keytype)
|
||||
if(istype(user.l_hand, keytype) || istype(user.r_hand, keytype))
|
||||
return TRUE
|
||||
else
|
||||
return TRUE
|
||||
return FALSE
|
||||
|
||||
/obj/item/key
|
||||
name = "key"
|
||||
desc = "A small grey key."
|
||||
@@ -93,25 +134,30 @@
|
||||
|
||||
//MOVEMENT
|
||||
/obj/vehicle/relaymove(mob/user, direction)
|
||||
if(key_type && !is_key(inserted_key))
|
||||
to_chat(user, "<span class='warning'>[src] has no key inserted!</span>")
|
||||
return
|
||||
|
||||
if(user.incapacitated())
|
||||
unbuckle_mob(user)
|
||||
return
|
||||
|
||||
if(world.time < next_vehicle_move)
|
||||
if(world.time < last_vehicle_move + ((last_move_diagonal? 2 : 1) * (vehicle_move_delay + config.human_delay)))
|
||||
return
|
||||
next_vehicle_move = world.time + vehicle_move_delay
|
||||
if(keycheck(user))
|
||||
last_vehicle_move = world.time
|
||||
|
||||
if(held_keycheck(user))
|
||||
var/turf/next = get_step(src, direction)
|
||||
if(!Process_Spacemove(direction) || !isturf(loc))
|
||||
return
|
||||
step(src, direction)
|
||||
|
||||
if(has_buckled_mobs())
|
||||
for(var/m in buckled_mobs)
|
||||
var/mob/living/buckled_mob = m
|
||||
if(buckled_mob.loc != loc)
|
||||
buckled_mob.buckled = null //Temporary, so Move() succeeds.
|
||||
buckled_mob.buckled = src //Restoring
|
||||
if((direction & (direction - 1)) && (loc == next)) //moved diagonally
|
||||
last_move_diagonal = TRUE
|
||||
else
|
||||
last_move_diagonal = FALSE
|
||||
|
||||
if(has_buckled_mobs())
|
||||
if(issimulatedturf(loc))
|
||||
var/turf/simulated/T = loc
|
||||
if(T.wet == TURF_WET_LUBE) //Lube! Fall off!
|
||||
@@ -125,20 +171,15 @@
|
||||
handle_vehicle_layer()
|
||||
handle_vehicle_offsets()
|
||||
else
|
||||
to_chat(user, "<span class='notice'>You'll need the keys in one of your hands to drive \the [name].</span>")
|
||||
to_chat(user, "<span class='warning'>You'll need the keys in one of your hands to drive [src].</span>")
|
||||
|
||||
|
||||
/obj/vehicle/Move(NewLoc,Dir=0,step_x=0,step_y=0)
|
||||
/obj/vehicle/Move(NewLoc, Dir = 0, step_x = 0, step_y = 0)
|
||||
. = ..()
|
||||
handle_vehicle_layer()
|
||||
handle_vehicle_offsets()
|
||||
|
||||
|
||||
/obj/vehicle/attackby(obj/item/I, mob/user, params)
|
||||
if(keytype && istype(I, keytype))
|
||||
to_chat(user, "Hold [I] in one of your hands while you drive \the [name].")
|
||||
|
||||
|
||||
/obj/vehicle/Bump(atom/movable/M)
|
||||
if(!spaceworthy && isspaceturf(get_turf(src)))
|
||||
return FALSE
|
||||
|
||||
@@ -56,6 +56,52 @@
|
||||
-->
|
||||
<div class="commit sansserif">
|
||||
|
||||
<h2 class="date">29 September 2019</h2>
|
||||
<h3 class="author">AzuleUtama updated:</h3>
|
||||
<ul class="changes bgimages16">
|
||||
<li class="tweak">The camera bug now lists all cameras in alphabetical order.</li>
|
||||
</ul>
|
||||
<h3 class="author">Couls updated:</h3>
|
||||
<ul class="changes bgimages16">
|
||||
<li class="tweak">species without bones no longer have ribs or a skull either</li>
|
||||
<li class="bugfix">slime heart and fleshy masses no longer go invisible after being removed through surgery or being eaten or necrotizing</li>
|
||||
</ul>
|
||||
<h3 class="author">Evankhell561 updated:</h3>
|
||||
<ul class="changes bgimages16">
|
||||
<li class="tweak">replace high power cells with high power cell+</li>
|
||||
</ul>
|
||||
<h3 class="author">Fox McCloud updated:</h3>
|
||||
<ul class="changes bgimages16">
|
||||
<li class="rscadd">can insert keys into vehicles instead of having to hold them in your hand (alt-click while riding a vehicle to remove the key); lava boat still requires holding the key in your hand</li>
|
||||
<li class="bugfix">Fixes moving diagonally with vehicles making you super fast</li>
|
||||
<li class="tweak">Vehicles now factor in the configured human movement delay; this means all vehicles are slower than they previously were</li>
|
||||
<li class="bugfix">fixes a bug with mobs on vehicles causing incorrect space transitions</li>
|
||||
<li class="tweak">ATV sprites updated</li>
|
||||
<li class="rscadd">Slime speed potions can now apply to vehicles, which makes them faster</li>
|
||||
</ul>
|
||||
<h3 class="author">JKnutson101 updated:</h3>
|
||||
<ul class="changes bgimages16">
|
||||
<li class="bugfix">Allows for robotic hands, feet, and groin to undergo customization surgery.</li>
|
||||
</ul>
|
||||
<h3 class="author">PidgeyThePirate updated:</h3>
|
||||
<ul class="changes bgimages16">
|
||||
<li class="bugfix">Abductor surgery will now remove heart subtypes.</li>
|
||||
<li class="tweak">Capitalized abductor surgery names for consistency with the surgery UI.</li>
|
||||
<li class="bugfix">changelings no longer go bald after reviving.</li>
|
||||
</ul>
|
||||
|
||||
<h2 class="date">27 September 2019</h2>
|
||||
<h3 class="author">PidgeyThePirate updated:</h3>
|
||||
<ul class="changes bgimages16">
|
||||
<li class="bugfix">Rebooting a drone no longer requires both engineering and robotics access.</li>
|
||||
<li class="bugfix">fixed a rare glitch in which a guardian that is killed instantly (i.e by a wand of death) may draw its charge into null space.</li>
|
||||
<li class="tweak">bluespace anomalies no longer teleport ghosts when their event fires.</li>
|
||||
</ul>
|
||||
<h3 class="author">SteelSlayer updated:</h3>
|
||||
<ul class="changes bgimages16">
|
||||
<li class="bugfix">Fixes round-start autotraitors not getting their objectives and uplink codes</li>
|
||||
</ul>
|
||||
|
||||
<h2 class="date">26 September 2019</h2>
|
||||
<h3 class="author">AzuleUtama updated:</h3>
|
||||
<ul class="changes bgimages16">
|
||||
|
||||
@@ -11583,3 +11583,37 @@ DO NOT EDIT THIS FILE BY HAND! AUTOMATICALLY GENERATED BY ss13_genchangelog.py.
|
||||
- bugfix: Morphs examine text now stays true to the humanoid target they choose.
|
||||
- tweak: Cult constructs now show their examine text when you're next to it. Instead
|
||||
of on top of it.
|
||||
2019-09-27:
|
||||
PidgeyThePirate:
|
||||
- bugfix: Rebooting a drone no longer requires both engineering and robotics access.
|
||||
- bugfix: fixed a rare glitch in which a guardian that is killed instantly (i.e
|
||||
by a wand of death) may draw its charge into null space.
|
||||
- tweak: bluespace anomalies no longer teleport ghosts when their event fires.
|
||||
SteelSlayer:
|
||||
- bugfix: Fixes round-start autotraitors not getting their objectives and uplink
|
||||
codes
|
||||
2019-09-29:
|
||||
AzuleUtama:
|
||||
- tweak: The camera bug now lists all cameras in alphabetical order.
|
||||
Couls:
|
||||
- tweak: species without bones no longer have ribs or a skull either
|
||||
- bugfix: slime heart and fleshy masses no longer go invisible after being removed
|
||||
through surgery or being eaten or necrotizing
|
||||
Evankhell561:
|
||||
- tweak: replace high power cells with high power cell+
|
||||
Fox McCloud:
|
||||
- rscadd: can insert keys into vehicles instead of having to hold them in your hand
|
||||
(alt-click while riding a vehicle to remove the key); lava boat still requires
|
||||
holding the key in your hand
|
||||
- bugfix: Fixes moving diagonally with vehicles making you super fast
|
||||
- tweak: Vehicles now factor in the configured human movement delay; this means
|
||||
all vehicles are slower than they previously were
|
||||
- bugfix: fixes a bug with mobs on vehicles causing incorrect space transitions
|
||||
- tweak: ATV sprites updated
|
||||
- rscadd: Slime speed potions can now apply to vehicles, which makes them faster
|
||||
JKnutson101:
|
||||
- bugfix: Allows for robotic hands, feet, and groin to undergo customization surgery.
|
||||
PidgeyThePirate:
|
||||
- bugfix: Abductor surgery will now remove heart subtypes.
|
||||
- tweak: Capitalized abductor surgery names for consistency with the surgery UI.
|
||||
- bugfix: changelings no longer go bald after reviving.
|
||||
|
||||
@@ -1,4 +0,0 @@
|
||||
author: "PidgeyThePirate"
|
||||
delete-after: True
|
||||
changes:
|
||||
- bugfix: "Rebooting a drone no longer requires both engineering and robotics access."
|
||||
@@ -1,4 +0,0 @@
|
||||
author: "PidgeyThePirate"
|
||||
delete-after: True
|
||||
changes:
|
||||
- bugfix: "fixed a rare glitch in which a guardian that is killed instantly (i.e by a wand of death) may draw its charge into null space."
|
||||
@@ -1,4 +0,0 @@
|
||||
author: "PidgeyThePirate"
|
||||
delete-after: True
|
||||
changes:
|
||||
- tweak: "bluespace anomalies no longer teleport ghosts when their event fires."
|
||||
@@ -1,4 +0,0 @@
|
||||
author: "SteelSlayer"
|
||||
delete-after: True
|
||||
changes:
|
||||
- bugfix: "Fixes round-start autotraitors not getting their objectives and uplink codes"
|
||||
4
html/changelogs/AutoChangeLog-pr-12442.yml
Normal file
4
html/changelogs/AutoChangeLog-pr-12442.yml
Normal file
@@ -0,0 +1,4 @@
|
||||
author: "Couls"
|
||||
delete-after: True
|
||||
changes:
|
||||
- tweak: "Renames slime organs to be more player friendly"
|
||||
4
html/changelogs/AutoChangeLog-pr-12461.yml
Normal file
4
html/changelogs/AutoChangeLog-pr-12461.yml
Normal file
@@ -0,0 +1,4 @@
|
||||
author: "PidgeyThePirate"
|
||||
delete-after: True
|
||||
changes:
|
||||
- bugfix: "The Ripley now collects all the ore it unearths after drilling."
|
||||
4
html/changelogs/AutoChangeLog-pr-12463.yml
Normal file
4
html/changelogs/AutoChangeLog-pr-12463.yml
Normal file
@@ -0,0 +1,4 @@
|
||||
author: "Ty-Omaha"
|
||||
delete-after: True
|
||||
changes:
|
||||
- spellcheck: "\"Factual\" changed to Actual in the explosion doppler array detector system"
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 2.2 KiB After Width: | Height: | Size: 1.5 KiB |
Reference in New Issue
Block a user