mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2025-12-27 18:41:59 +00:00
Mining chargers, fruit slices, windoors (#1897)
A bugfix pack of various unrelated stuff. I just poked through the issues list and cherrypicked stuff that looked quick or within my knowledge Adds some Mech charging pads to the mining outpost. Two inside, one outside near the drills. I also tweaked the charging pad sprite to remove the background. Basically it had a normal floor tile built into the sprite, which looked dumb on any other kind of floor. i made that part transparent. And the ones in the robotics lab didn't have an actual floor tile under them because of that, someone was lazy when mapping. so i fixed that too. Fixes fruit slices being inedible. Someone was using Round when dividing their reagents. Protip: never round reagent amounts. the system handles decimals just fine. There was also an error with the loop Fixes being unable to build multiple windoors on a tile.I fixed it so you can do so, but they cant stack ontop of each other (or existing windows). I also made sure they can't be rotated to stack onto existing border items. And added another rotate verb for windoor assemblies, and fixed their missing ON_BORDER flag. Nerfed the hallucination chance of paroxetine, to make it less of a meme when prescribed clinically. Fixes the engiborg inflatables dispenser permanantly breaking if you allow it to run out. That was my fault fixes #990 fixes #862 fixes #1875 fixes #1842 fixes #1742
This commit is contained in:
@@ -17,6 +17,7 @@ obj/structure/windoor_assembly
|
||||
density = 0
|
||||
dir = NORTH
|
||||
w_class = 3
|
||||
flags = ON_BORDER
|
||||
|
||||
var/obj/item/weapon/airlock_electronics/electronics = null
|
||||
|
||||
@@ -261,18 +262,60 @@ obj/structure/windoor_assembly/Destroy()
|
||||
|
||||
|
||||
//Rotates the windoor assembly clockwise
|
||||
/obj/structure/windoor_assembly/verb/revrotate()
|
||||
set name = "Rotate Windoor Assembly"
|
||||
//These directions are fucked up, apparently dm rotates anticlockwise by default
|
||||
/obj/structure/windoor_assembly/verb/rotate()
|
||||
set name = "Rotate Windoor Clockwise"
|
||||
set category = "Object"
|
||||
set src in oview(1)
|
||||
|
||||
var/targetdir = turn(src.dir, 270)
|
||||
|
||||
for(var/obj/obstacle in get_turf(src))
|
||||
if (obstacle == src)
|
||||
continue
|
||||
|
||||
if((obstacle.flags & ON_BORDER) && obstacle.dir == targetdir)
|
||||
usr << span("danger", "You can't turn the windoor assembly that way, there's already something there!")
|
||||
return
|
||||
|
||||
if (src.anchored)
|
||||
usr << "It is fastened to the floor; therefore, you can't rotate it!"
|
||||
return 0
|
||||
if(src.state != "01")
|
||||
update_nearby_tiles(need_rebuild=1) //Compel updates before
|
||||
|
||||
src.set_dir(turn(src.dir, 270))
|
||||
src.set_dir(targetdir)
|
||||
|
||||
if(src.state != "01")
|
||||
update_nearby_tiles(need_rebuild=1)
|
||||
|
||||
update_icon()
|
||||
return
|
||||
|
||||
|
||||
//Rotates the windoor assembly anticlockwise
|
||||
/obj/structure/windoor_assembly/verb/revrotate()
|
||||
set name = "Rotate Windoor Anticlockwise"
|
||||
set category = "Object"
|
||||
set src in oview(1)
|
||||
|
||||
var/targetdir = turn(src.dir, 90)
|
||||
|
||||
for(var/obj/obstacle in get_turf(src))
|
||||
if (obstacle == src)
|
||||
continue
|
||||
|
||||
if((obstacle.flags & ON_BORDER) && obstacle.dir == targetdir)
|
||||
usr << span("danger", "You can't turn the windoor assembly that way, there's already something there!")
|
||||
return
|
||||
|
||||
if (src.anchored)
|
||||
usr << "It is fastened to the floor; therefore, you can't rotate it!"
|
||||
return 0
|
||||
if(src.state != "01")
|
||||
update_nearby_tiles(need_rebuild=1) //Compel updates before
|
||||
|
||||
src.set_dir(targetdir)
|
||||
|
||||
if(src.state != "01")
|
||||
update_nearby_tiles(need_rebuild=1)
|
||||
|
||||
@@ -226,19 +226,20 @@
|
||||
qdel(src)
|
||||
return
|
||||
else if(seed.get_trait(TRAIT_FLESH_COLOUR))
|
||||
user << "You slice up \the [src]."
|
||||
var/slices = rand(3,5)
|
||||
var/reagents_to_transfer = round(reagents.total_volume/slices)
|
||||
for(var/i=i;i<=slices;i++)
|
||||
var/obj/item/weapon/reagent_containers/food/snacks/fruit_slice/F = new(get_turf(src),seed)
|
||||
if(reagents_to_transfer) reagents.trans_to_obj(F,reagents_to_transfer)
|
||||
qdel(src)
|
||||
return
|
||||
if (reagents.total_volume)
|
||||
user << "You slice up \the [src]."
|
||||
var/slices = rand(3,5)
|
||||
var/reagents_to_transfer = reagents.total_volume/slices
|
||||
for(var/i=0;i<slices;i++)
|
||||
var/obj/item/weapon/reagent_containers/food/snacks/fruit_slice/F = new(get_turf(src),seed)
|
||||
reagents.trans_to_obj(F,reagents_to_transfer)
|
||||
qdel(src)
|
||||
return
|
||||
..()
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/grown/apply_hit_effect(mob/living/target, mob/living/user, var/hit_zone)
|
||||
/obj/item/weapon/reagent_containers/food/snacks/grown/apply_hit_effect(mob/living/target, mob/living/user, var/hit_zone)
|
||||
. = ..()
|
||||
|
||||
|
||||
if(seed && seed.get_trait(TRAIT_STINGS))
|
||||
if(!reagents || reagents.total_volume <= 0)
|
||||
return
|
||||
|
||||
@@ -429,8 +429,9 @@ var/list/name_to_material
|
||||
if(!is_reinforced())
|
||||
user << "<span class='warning'>This material is not reinforced enough to use for a door.</span>"
|
||||
return
|
||||
if((locate(/obj/structure/windoor_assembly) in T.contents) || (locate(/obj/machinery/door/window) in T.contents))
|
||||
failed_to_build = 1
|
||||
for(var/obj/obstacle in T)
|
||||
if((obstacle.flags & ON_BORDER) && obstacle.dir == user.dir)
|
||||
failed_to_build = 1
|
||||
if(failed_to_build)
|
||||
user << "<span class='warning'>There is no room in this location.</span>"
|
||||
return 1
|
||||
@@ -757,7 +758,7 @@ var/list/name_to_material
|
||||
flags = MATERIAL_PADDING
|
||||
hardness = 1
|
||||
weight = 1
|
||||
|
||||
|
||||
/material/hide/corgi
|
||||
name = "corgi hide"
|
||||
stack_type = /obj/item/stack/material/animalhide/corgi
|
||||
@@ -767,17 +768,17 @@ var/list/name_to_material
|
||||
name = "cat hide"
|
||||
stack_type = /obj/item/stack/material/animalhide/cat
|
||||
icon_colour = "#444444"
|
||||
|
||||
|
||||
/material/hide/monkey
|
||||
name = "monkey hide"
|
||||
stack_type = /obj/item/stack/material/animalhide/monkey
|
||||
icon_colour = "#914800"
|
||||
|
||||
|
||||
/material/hide/lizard
|
||||
name = "lizard hide"
|
||||
stack_type = /obj/item/stack/material/animalhide/lizard
|
||||
icon_colour = "#34AF10"
|
||||
|
||||
|
||||
/material/hide/xeno
|
||||
name = "alien hide"
|
||||
stack_type = /obj/item/stack/material/animalhide/xeno
|
||||
@@ -800,7 +801,7 @@ var/list/name_to_material
|
||||
integrity = 70
|
||||
stack_origin_tech = list(TECH_MATERIAL = 2)
|
||||
door_icon_base = "stone"
|
||||
|
||||
|
||||
/material/bone/necromancer
|
||||
name = "cursed bone"
|
||||
weight = 20
|
||||
|
||||
@@ -299,7 +299,7 @@
|
||||
/obj/item/weapon/inflatable_dispenser/proc/try_deploy_inflatable(var/turf/T, var/mob/living/user)
|
||||
if (deploying)
|
||||
return
|
||||
deploying = 1
|
||||
|
||||
var/newtype
|
||||
if(mode) // Door deployment
|
||||
if(!stored_doors)
|
||||
@@ -317,9 +317,10 @@
|
||||
if(T && istype(T))
|
||||
newtype = /obj/structure/inflatable/wall
|
||||
|
||||
deploying = 1
|
||||
user.visible_message(span("notice", "[user] starts deploying an inflatable"), span("notice", "You start deploying an inflatable [mode ? "door" : "wall"]!"))
|
||||
playsound(T, 'sound/items/zip.ogg', 75, 1)
|
||||
if (do_after(user, 20, needhand = 0))
|
||||
if (do_after(user, 15, needhand = 0))
|
||||
new newtype(T)
|
||||
if (mode)
|
||||
stored_doors--
|
||||
|
||||
@@ -543,7 +543,7 @@
|
||||
else
|
||||
if(world.time > data + ANTIDEPRESSANT_MESSAGE_DELAY)
|
||||
data = world.time
|
||||
if(prob(90))
|
||||
if(prob(96))
|
||||
M << "<span class='notice'>Your mind feels much more stable.</span>"
|
||||
else
|
||||
M << "<span class='warning'>Your mind breaks apart...</span>"
|
||||
|
||||
Reference in New Issue
Block a user