mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-23 13:10:02 +01:00
Merge branch 'edgy' into hot_or_not
Conflicts: code/__HELPERS/unsorted.dm
This commit is contained in:
@@ -267,4 +267,9 @@ var/list/bloody_footprints_cache = list()
|
||||
//Turf wet states
|
||||
#define TURF_DRY 0
|
||||
#define TURF_WET_WATER 1
|
||||
#define TURF_WET_LUBE 2
|
||||
#define TURF_WET_LUBE 2
|
||||
|
||||
//Object/Item sharpness
|
||||
#define IS_BLUNT 0
|
||||
#define IS_SHARP 1
|
||||
#define IS_SHARP_ACCURATE 2
|
||||
@@ -1108,41 +1108,6 @@ var/global/list/common_tools = list(
|
||||
return 1
|
||||
return 0
|
||||
|
||||
//Is this even used for anything besides balloons? Yes I took out the W:lit stuff because : really shouldnt be used.
|
||||
/proc/is_sharp(obj/item/W) // For the record, WHAT THE HELL IS THIS METHOD OF DOING IT?
|
||||
var/list/sharp_things_1 = list(\
|
||||
/obj/item/weapon/circular_saw,\
|
||||
/obj/item/weapon/shovel,\
|
||||
/obj/item/weapon/shard,\
|
||||
/obj/item/weapon/broken_bottle,\
|
||||
/obj/item/weapon/twohanded/fireaxe,\
|
||||
/obj/item/weapon/hatchet,\
|
||||
/obj/item/weapon/throwing_star,\
|
||||
/obj/item/clothing/glasses/sunglasses/garb,\
|
||||
/obj/item/clothing/glasses/sunglasses/gar,\
|
||||
/obj/item/clothing/glasses/hud/security/sunglasses/gars,\
|
||||
/obj/item/clothing/glasses/meson/gar,\
|
||||
/obj/item/weapon/twohanded/spear,\
|
||||
/obj/item/weapon/melee/energy/sword/cyborg/saw)
|
||||
|
||||
//Because is_sharp is used for food or something.
|
||||
var/list/sharp_things_2 = list(\
|
||||
/obj/item/weapon/kitchen/knife,\
|
||||
/obj/item/weapon/scalpel)
|
||||
|
||||
if(is_type_in_list(W,sharp_things_1))
|
||||
return 1
|
||||
|
||||
if(is_type_in_list(W,sharp_things_2))
|
||||
return 2 //cutting food
|
||||
|
||||
if(istype(W, /obj/item/weapon/melee/energy))
|
||||
var/obj/item/weapon/melee/energy/E = W
|
||||
if(E.active)
|
||||
return 1
|
||||
else
|
||||
return 0
|
||||
|
||||
/proc/is_pointed(obj/item/W)
|
||||
if(istype(W, /obj/item/weapon/pen))
|
||||
return 1
|
||||
@@ -1158,7 +1123,7 @@ var/global/list/common_tools = list(
|
||||
//For objects that should embed, but make no sense being is_sharp or is_pointed()
|
||||
//e.g: rods
|
||||
/proc/can_embed(obj/item/W)
|
||||
if(is_sharp(W))
|
||||
if(W.is_sharp())
|
||||
return 1
|
||||
if(is_pointed(W))
|
||||
return 1
|
||||
|
||||
@@ -89,6 +89,7 @@ var/global/image/fire_overlay = image("icon" = 'icons/effects/fire.dmi', "icon_s
|
||||
)
|
||||
|
||||
var/flags_cover = 0 //for flags such as GLASSESCOVERSEYES
|
||||
var/sharpness = IS_BLUNT
|
||||
|
||||
/obj/item/proc/check_allowed_items(atom/target, not_inside, target_self)
|
||||
if(((src in target) && !target_self) || ((!istype(target.loc, /turf)) && (!istype(target, /turf)) && (not_inside)) || is_type_in_list(target, can_be_placed_into))
|
||||
@@ -494,3 +495,6 @@ var/global/image/fire_overlay = image("icon" = 'icons/effects/fire.dmi', "icon_s
|
||||
S.remove_from_storage(src,newLoc)
|
||||
return 1
|
||||
return 0
|
||||
|
||||
/obj/item/proc/is_sharp()
|
||||
return sharpness
|
||||
@@ -268,6 +268,7 @@
|
||||
attack_verb = list("stabbed", "slashed", "sliced", "cut")
|
||||
hitsound = 'sound/weapons/bladeslice.ogg'
|
||||
var/cooldown = 0
|
||||
sharpness = IS_SHARP
|
||||
|
||||
/obj/item/weapon/shard/suicide_act(mob/user)
|
||||
user.visible_message(pick("<span class='suicide'>[user] is slitting \his wrists with the shard of glass! It looks like \he's trying to commit suicide.</span>", \
|
||||
|
||||
@@ -61,6 +61,7 @@
|
||||
materials = list(MAT_METAL=12000)
|
||||
origin_tech = "materials=1"
|
||||
attack_verb = list("slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut")
|
||||
sharpness = IS_SHARP_ACCURATE
|
||||
|
||||
/obj/item/weapon/kitchen/knife/suicide_act(mob/user)
|
||||
user.visible_message(pick("<span class='suicide'>[user] is slitting \his wrists with the [src.name]! It looks like \he's trying to commit suicide.</span>", \
|
||||
|
||||
@@ -16,6 +16,9 @@
|
||||
/obj/item/weapon/melee/energy/rejects_blood()
|
||||
return 1
|
||||
|
||||
/obj/item/weapon/melee/energy/is_sharp()
|
||||
return active * sharpness
|
||||
|
||||
/obj/item/weapon/melee/energy/axe
|
||||
name = "energy axe"
|
||||
desc = "An energised battle axe."
|
||||
@@ -121,6 +124,7 @@
|
||||
hitcost = 75 //Costs more because it's not intended to be a murderbone weapon
|
||||
item_color = null
|
||||
w_class = 3
|
||||
sharpness = IS_SHARP
|
||||
|
||||
/obj/item/weapon/melee/energy/sword/cyborg/saw/New()
|
||||
..()
|
||||
|
||||
@@ -162,6 +162,7 @@
|
||||
force_wielded = 24 // Was 18, Buffed - RobRichards/RR
|
||||
attack_verb = list("attacked", "chopped", "cleaved", "torn", "cut")
|
||||
hitsound = 'sound/weapons/bladeslice.ogg'
|
||||
sharpness = IS_SHARP
|
||||
|
||||
/obj/item/weapon/twohanded/fireaxe/update_icon() //Currently only here to fuck with the on-mob icons.
|
||||
icon_state = "fireaxe[wielded]"
|
||||
@@ -301,6 +302,7 @@
|
||||
flags = NOSHIELD
|
||||
hitsound = 'sound/weapons/bladeslice.ogg'
|
||||
attack_verb = list("attacked", "poked", "jabbed", "torn", "gored")
|
||||
sharpness = IS_SHARP
|
||||
|
||||
/obj/item/weapon/twohanded/spear/update_icon()
|
||||
icon_state = "spearglass[wielded]"
|
||||
|
||||
@@ -146,6 +146,7 @@
|
||||
w_class = 2
|
||||
embed_chance = 100
|
||||
embedded_fall_chance = 0 //Hahaha!
|
||||
sharpness = IS_SHARP
|
||||
|
||||
//5*(2*4) = 5*8 = 45, 45 damage if you hit one person with all 5 stars.
|
||||
//Not counting the damage it will do while embedded (2*4 = 8, at 15% chance)
|
||||
|
||||
@@ -29,6 +29,7 @@
|
||||
throw_speed = 4
|
||||
attack_verb = list("sliced")
|
||||
hitsound = 'sound/weapons/bladeslice.ogg'
|
||||
sharpness = IS_SHARP
|
||||
|
||||
/obj/item/clothing/glasses/science
|
||||
name = "Science Goggles"
|
||||
@@ -103,6 +104,7 @@
|
||||
throw_speed = 4
|
||||
attack_verb = list("sliced")
|
||||
hitsound = 'sound/weapons/bladeslice.ogg'
|
||||
sharpness = IS_SHARP
|
||||
|
||||
/obj/item/clothing/glasses/sunglasses/garb/supergarb
|
||||
desc = "Believe in us humans."
|
||||
@@ -122,6 +124,7 @@
|
||||
throw_speed = 4
|
||||
attack_verb = list("sliced")
|
||||
hitsound = 'sound/weapons/bladeslice.ogg'
|
||||
sharpness = IS_SHARP
|
||||
|
||||
/obj/item/clothing/glasses/sunglasses/gar/supergar
|
||||
desc = "We evolve past the person we were a minute before. Little by little we advance with each turn. That's how a drill works!"
|
||||
@@ -247,7 +250,7 @@
|
||||
name = "sunglasses"
|
||||
icon_state = "sun"
|
||||
item_state = "sunglasses"
|
||||
if("Medical HUD")
|
||||
if("Medical HUD")
|
||||
name = "Health Scanner HUD"
|
||||
desc = "A heads-up display that scans the humans in view and provides accurate data about their health status."
|
||||
icon_state = "healthhud"
|
||||
@@ -257,11 +260,11 @@
|
||||
desc = "Used by engineering and mining staff to see basic structural and terrain layouts through walls, regardless of lighting condition."
|
||||
icon_state = "meson"
|
||||
item_state = "meson"
|
||||
if("Science Goggles")
|
||||
if("Science Goggles")
|
||||
name = "Science Goggles"
|
||||
desc = "A pair of snazzy goggles used to protect against chemical spills."
|
||||
icon_state = "purple"
|
||||
item_state = "glasses"
|
||||
item_state = "glasses"
|
||||
if("Glasses")
|
||||
name = "Prescription Glasses"
|
||||
desc = "Made by Nerd. Co."
|
||||
@@ -287,4 +290,4 @@
|
||||
name = "gar glasses"
|
||||
icon_state = "gar"
|
||||
item_state = "gar"
|
||||
|
||||
|
||||
|
||||
@@ -85,6 +85,7 @@
|
||||
throw_speed = 4
|
||||
attack_verb = list("sliced")
|
||||
hitsound = 'sound/weapons/bladeslice.ogg'
|
||||
sharpness = IS_SHARP
|
||||
|
||||
/obj/item/clothing/glasses/hud/security/sunglasses/gars/supergars
|
||||
name = "giga HUD gar glasses"
|
||||
|
||||
@@ -362,7 +362,7 @@
|
||||
qdel(B)
|
||||
qdel(src)
|
||||
|
||||
else if(is_sharp(W))
|
||||
else if(W.is_sharp())
|
||||
qdel(src)
|
||||
|
||||
else if(istype(W, /obj/item/weapon/weldingtool))
|
||||
|
||||
@@ -144,6 +144,7 @@
|
||||
hitsound = 'sound/weapons/bladeslice.ogg'
|
||||
attack_verb = list("stabbed", "slashed", "attacked")
|
||||
var/icon/broken_outline = icon('icons/obj/drinks.dmi', "broken")
|
||||
sharpness = IS_SHARP
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/drinks/bottle/gin
|
||||
name = "Griffeater Gin"
|
||||
|
||||
@@ -150,9 +150,9 @@
|
||||
var/obj/item/weapon/reagent_containers/food/snacks/customizable/C = new custom_food_type(get_turf(src))
|
||||
C.initialize_custom_food(src, S, user)
|
||||
return 0
|
||||
if(is_sharp(W))
|
||||
var/sharpness = is_sharp(W)
|
||||
if(slice(sharpness, W, user))
|
||||
var/sharp = W.is_sharp()
|
||||
if(sharp)
|
||||
if(slice(sharp, W, user))
|
||||
return 1
|
||||
|
||||
//Called when you finish tablecrafting a snack.
|
||||
@@ -176,7 +176,7 @@
|
||||
return 1
|
||||
|
||||
var/slices_lost = 0
|
||||
if (accuracy > 1)
|
||||
if (accuracy >= IS_SHARP_ACCURATE)
|
||||
user.visible_message( \
|
||||
"[user] slices [src].", \
|
||||
"<span class='notice'>You slice [src].</span>" \
|
||||
@@ -278,7 +278,7 @@
|
||||
/obj/item/weapon/reagent_containers/food/snacks/store/attackby(obj/item/weapon/W, mob/user, params)
|
||||
..()
|
||||
if(W.w_class <= 2 & !istype(W, /obj/item/weapon/reagent_containers/food/snacks)) //can't slip snacks inside, they're used for custom foods.
|
||||
if(is_sharp(W))
|
||||
if(W.is_sharp())
|
||||
return 0
|
||||
if(stored_item)
|
||||
return 0
|
||||
|
||||
@@ -487,7 +487,7 @@
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/grown/pumpkin/attackby(obj/item/weapon/W as obj, mob/user as mob, params)
|
||||
..()
|
||||
if(is_sharp(W))
|
||||
if(W.is_sharp())
|
||||
user.show_message("<span class='notice'>You carve a face into [src]!</span>", 1)
|
||||
new /obj/item/clothing/head/hardhat/pumpkinhead (user.loc)
|
||||
qdel(src)
|
||||
|
||||
@@ -302,7 +302,7 @@
|
||||
|
||||
/obj/item/weapon/grown/corncob/attackby(obj/item/weapon/grown/W, mob/user, params)
|
||||
..()
|
||||
if(is_sharp(W))
|
||||
if(W.is_sharp())
|
||||
user << "<span class='notice'>You use [W] to fashion a pipe out of the corn cob!</span>"
|
||||
new /obj/item/clothing/mask/cigarette/pipe/cobpipe (user.loc)
|
||||
user.unEquip(src)
|
||||
|
||||
@@ -87,6 +87,7 @@
|
||||
origin_tech = "materials=2;combat=1"
|
||||
attack_verb = list("chopped", "torn", "cut")
|
||||
hitsound = 'sound/weapons/bladeslice.ogg'
|
||||
sharpness = IS_SHARP
|
||||
|
||||
/obj/item/weapon/hatchet/suicide_act(mob/user)
|
||||
user.visible_message("<span class='suicide'>[user] is chopping at \himself with the [src.name]! It looks like \he's trying to commit suicide.</span>")
|
||||
|
||||
@@ -136,6 +136,7 @@
|
||||
materials = list(MAT_METAL=50)
|
||||
origin_tech = "materials=1;engineering=1"
|
||||
attack_verb = list("bashed", "bludgeoned", "thrashed", "whacked")
|
||||
sharpness = IS_SHARP
|
||||
|
||||
/obj/item/weapon/shovel/spade
|
||||
name = "spade"
|
||||
|
||||
@@ -366,7 +366,7 @@
|
||||
|
||||
if((butcher_results) && (stat == DEAD))
|
||||
user.changeNext_move(CLICK_CD_MELEE)
|
||||
var/sharpness = is_sharp(O)
|
||||
var/sharpness = O.is_sharp()
|
||||
if(sharpness)
|
||||
user << "<span class='notice'>You begin to butcher [src]...</span>"
|
||||
playsound(loc, 'sound/weapons/slice.ogg', 50, 1, -1)
|
||||
|
||||
@@ -61,6 +61,7 @@
|
||||
origin_tech = "materials=1;biotech=1"
|
||||
attack_verb = list("attacked", "slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut")
|
||||
hitsound = 'sound/weapons/bladeslice.ogg'
|
||||
sharpness = IS_SHARP_ACCURATE
|
||||
|
||||
/obj/item/weapon/scalpel/suicide_act(mob/user)
|
||||
user.visible_message(pick("<span class='suicide'>[user] is slitting \his wrists with [src]! It looks like \he's trying to commit suicide.</span>", \
|
||||
@@ -85,6 +86,7 @@
|
||||
materials = list(MAT_METAL=10000, MAT_GLASS=6000)
|
||||
origin_tech = "materials=1;biotech=1"
|
||||
attack_verb = list("attacked", "slashed", "sawed", "cut")
|
||||
sharpness = IS_SHARP
|
||||
|
||||
/obj/item/weapon/surgical_drapes
|
||||
name = "surgical drapes"
|
||||
|
||||
Reference in New Issue
Block a user