Merge branch 'master' of https://github.com/PolarisSS13/Polaris into polaris-sync-2018-02-16

# Conflicts:
#	code/_onclick/hud/screen_objects.dm
#	code/game/objects/items/weapons/storage/storage.dm
#	code/game/objects/structures/crates_lockers/closets/secure/medical.dm
#	code/modules/admin/admin_verbs.dm
#	code/modules/clothing/clothing.dm
#	code/modules/clothing/gloves/color.dm
#	code/modules/lore_codex/codex.dm
#	code/modules/mob/living/simple_animal/aliens/alien.dm
#	code/modules/mob/living/simple_animal/animals/cat.dm
#	code/modules/mob/living/simple_animal/animals/goose.dm
#	code/modules/mob/living/simple_animal/simple_animal.dm
#	code/modules/mob/mob_defines.dm
#	code/modules/projectiles/projectile/special.dm
#	html/changelogs/.all_changelog.yml
#	maps/southern_cross/southern_cross-1.dmm
#	maps/southern_cross/southern_cross-7.dmm
#	vorestation.dme
This commit is contained in:
Leshana
2018-02-17 00:35:29 -05:00
255 changed files with 4854 additions and 2785 deletions
+46
View File
@@ -0,0 +1,46 @@
//These bone objects are mostly for mapping and decoration. They have no actual medical use, so maybe don't try to put them in anybody.
/obj/item/weapon/bone
name = "bone"
desc = "A non-descript bone. It's so old and worn you can barely tell which part of the body it's from."
icon = 'icons/obj/bones.dmi'
icon_state = "bone"
force = 5
throwforce = 6
item_state = "bone"
w_class = ITEMSIZE_SMALL
attack_verb = list("attacked", "bashed", "battered", "bludgeoned", "whacked", "bonked", "boned")
/obj/item/weapon/bone/skull
name = "skull"
desc = "A skull. Judging by the shape and size, you'd guess that it might be human."
icon_state = "skull"
throwforce = 7
/obj/item/weapon/bone/skull/tajaran
desc = "A skull. Judging by the shape and size, you'd guess that it might be tajaran."
icon_state = "tajskull"
/obj/item/weapon/bone/skull/unathi
desc = "A skull. Judging by the shape and size, you'd guess that it might be unathi."
icon_state = "unaskull"
/obj/item/weapon/bone/skull/unknown
desc = "A skull. You're not sure what species it might be, though."
icon_state = "xenoskull"
/obj/item/weapon/bone/arm
name = "arm bone"
desc = "Wielding this, you're armed and dangerous, no bones about it."
attack_verb = list("attacked", "bashed", "battered", "bludgeoned", "whacked", "bonked", "boned", "slapped", "punched")
icon_state = "arm"
/obj/item/weapon/bone/leg
name = "leg bone"
desc = "Don't worry about getting into an argument with the owner of this. They don't have a leg to stand on."
attack_verb = list("attacked", "bashed", "battered", "bludgeoned", "whacked", "bonked", "boned", "kicked")
icon_state = "leg"
/obj/item/weapon/bone/ribs
name = "ribcage"
desc = "If you had some mallets, you could probably use this as a makeshift xylophone."
icon_state = "ribs"
+38
View File
@@ -70,3 +70,41 @@
lit = 0
update_icon()
set_light(0)
/obj/item/weapon/flame/candle/candelabra
name = "candelabra"
desc = "a small gold candelabra. The cups that hold the candles save some of the wax from dripping off, allowing the candles to burn longer."
icon = 'icons/obj/candle.dmi'
icon_state = "candelabra"
w_class = ITEMSIZE_SMALL
wax = 20000
/obj/item/weapon/flame/candle/candelabra/update_icon()
if(wax == 0)
icon_state = "candelabra_melted"
else
icon_state = "candelabra[lit ? "_lit" : ""]"
/obj/item/weapon/flame/candle/everburn
wax = 99999
/obj/item/weapon/flame/candle/everburn/New()
if(!src.lit)
src.lit = 1
//src.damtype = "fire"
for(var/mob/O in viewers(usr, null))
O.show_message("<span class='notice'>\The [name] mysteriously lights itself!.</span>", 1)
set_light(CANDLE_LUM)
processing_objects.Add(src)
/obj/item/weapon/flame/candle/candelabra/everburn
wax = 99999
/obj/item/weapon/flame/candle/candelabra/everburn/New()
if(!src.lit)
src.lit = 1
//src.damtype = "fire"
for(var/mob/O in viewers(usr, null))
O.show_message("<span class='notice'>\The [name] mysteriously lights itself!.</span>", 1)
set_light(CANDLE_LUM)
processing_objects.Add(src)
@@ -9,6 +9,10 @@
origin_tech = list(TECH_POWER = 6, TECH_ENGINEERING = 4)
req_components = list(/obj/item/weapon/smes_coil = 1, /obj/item/stack/cable_coil = 30)
/obj/item/weapon/circuitboard/smes/construct(var/obj/machinery/power/smes/buildable/S)
if(..(S))
S.output_attempt = 0 //built SMES default to off
/obj/item/weapon/circuitboard/batteryrack
name = T_BOARD("battery rack PSU")
build_path = /obj/machinery/power/smes/batteryrack
@@ -112,15 +112,11 @@
usr << "The fingerprint hash on the card is [fingerprint_hash]."
return
/obj/item/weapon/card/id/New()
..()
var/datum/job/jobdatum
for(var/jobtype in typesof(/datum/job))
var/datum/job/J = new jobtype
if(J.title == rank)
jobdatum = J
access = jobdatum.get_access()
return
/obj/item/weapon/card/id/initialize()
. = ..()
var/datum/job/J = job_master.GetJob(rank)
if(J)
access = J.get_access()
/obj/item/weapon/card/id/silver
name = "identification card"
@@ -163,8 +159,8 @@
item_state = "tdgreen"
assignment = "Synthetic"
/obj/item/weapon/card/id/synthetic/New()
..()
/obj/item/weapon/card/id/synthetic/initialize()
. = ..()
access = get_all_station_access() + access_synth
/obj/item/weapon/card/id/centcom
@@ -174,12 +170,12 @@
registered_name = "Central Command"
assignment = "General"
/obj/item/weapon/card/id/centcom/New()
/obj/item/weapon/card/id/centcom/initialize()
. = ..()
access = get_all_centcom_access()
..()
/obj/item/weapon/card/id/centcom/station/New()
..()
/obj/item/weapon/card/id/centcom/station/initialize()
. = ..()
access |= get_all_station_access()
/obj/item/weapon/card/id/centcom/ERT
@@ -187,8 +183,8 @@
assignment = "Emergency Response Team"
icon_state = "centcom"
/obj/item/weapon/card/id/centcom/ERT/New()
..()
/obj/item/weapon/card/id/centcom/ERT/initialize()
. = ..()
access |= get_all_station_access()
// Department-flavor IDs
@@ -6,12 +6,12 @@
var/electronic_warfare = 1
var/mob/registered_user = null
/obj/item/weapon/card/id/syndicate/New(mob/user as mob)
..()
/obj/item/weapon/card/id/syndicate/initialize()
. = ..()
access = syndicate_access.Copy()
/obj/item/weapon/card/id/syndicate/station_access/New()
..() // Same as the normal Syndicate id, only already has all station access
/obj/item/weapon/card/id/syndicate/station_access/initialize()
. = ..() // Same as the normal Syndicate id, only already has all station access
access |= get_all_station_access()
/obj/item/weapon/card/id/syndicate/Destroy()
@@ -8,17 +8,6 @@
force_divisor = 0.3 // 18 with hardness 60 (steel)
attack_verb = list("jabbed","stabbed","ripped")
/obj/item/weapon/material/knuckledusters
name = "knuckle dusters"
desc = "A pair of brass knuckles. Generally used to enhance the user's punches."
icon_state = "knuckledusters"
gender = PLURAL
w_class = ITEMSIZE_SMALL
force_divisor = 0.63
dulled_divisor = 0.75 //It's a heavy bit of metal
attack_verb = list("punched", "beaten", "struck")
applies_material_colour = 0
/obj/item/weapon/material/knife/machete/hatchet
name = "hatchet"
desc = "A very sharp axe blade upon a short fibremetal handle. It has a long history of chopping things, but now it is used for chopping wood."
@@ -29,7 +29,7 @@
/obj/item/weapon/material/twohanded/update_held_icon()
var/mob/living/M = loc
if(istype(M) && !issmall(M) && M.item_is_in_hands(src) && !M.hands_are_full())
if(istype(M) && M.can_wield_item(src) && is_held_twohanded(M))
wielded = 1
force = force_wielded
name = "[base_name] (wielded)"
@@ -10,6 +10,8 @@
* Candle Box
* Crayon Box
* Cigarette Box
* Vial Box
* Box of Chocolates
*/
/obj/item/weapon/storage/fancy/
@@ -313,3 +315,34 @@
/obj/item/weapon/storage/lockbox/vials/attackby(obj/item/weapon/W as obj, mob/user as mob)
..()
update_icon()
/*
* Box of Chocolates/Heart Box
*/
/obj/item/weapon/storage/fancy/heartbox
icon_state = "heartbox"
name = "box of chocolates"
var/startswith = 6
max_storage_space = ITEMSIZE_COST_SMALL * 6
can_hold = list(
/obj/item/weapon/reagent_containers/food/snacks/chocolatepiece,
/obj/item/weapon/reagent_containers/food/snacks/chocolatepiece/white,
/obj/item/weapon/reagent_containers/food/snacks/chocolatepiece/truffle
)
/obj/item/weapon/storage/fancy/heartbox/New()
..()
new /obj/item/weapon/reagent_containers/food/snacks/chocolatepiece(src)
new /obj/item/weapon/reagent_containers/food/snacks/chocolatepiece(src)
new /obj/item/weapon/reagent_containers/food/snacks/chocolatepiece(src)
new /obj/item/weapon/reagent_containers/food/snacks/chocolatepiece/white(src)
new /obj/item/weapon/reagent_containers/food/snacks/chocolatepiece/white(src)
new /obj/item/weapon/reagent_containers/food/snacks/chocolatepiece/truffle(src)
update_icon()
return
/obj/item/weapon/storage/fancy/heartbox/update_icon(var/itemremoved = 0)
if (contents.len == 0)
icon_state = "heartbox_empty"
return
+1 -1
View File
@@ -87,7 +87,7 @@
if(!can_place)
return
if(!H || !src || !H.organs_by_name[BP_HEAD] || !H.has_eyes() || H.glasses || (H.head && (H.head.body_parts_covered & FACE)))
if(!H || !src || !H.organs_by_name[BP_HEAD] || !H.check_has_mouth() || (H.head && (H.head.body_parts_covered & FACE)))
return
user.visible_message("<span class='danger'>\The [user] has taped up \the [H]'s mouth!</span>")