Merge branch 'master' into development

This commit is contained in:
skull132
2018-06-30 20:33:51 +03:00
57 changed files with 844 additions and 2449 deletions
@@ -177,7 +177,7 @@
gear_tweaks += new/datum/gear_tweak/path(surgical)
/datum/gear/head/headbando
display_name = "Basic Headband"
display_name = "basic headband"
path = /obj/item/clothing/head/headbando
/datum/gear/head/headbando/New()
+1 -1
View File
@@ -507,7 +507,7 @@ BLIND // can't see anything
//from verkister
/obj/item/clothing/glasses/spiffygogs
name = "Orange Goggles"
name = "orange goggles"
desc = "You can almost feel the raw power radiating off these strange specs."
icon_state = "spiffygogs"
item_state = "spiffygogs"
@@ -29,6 +29,8 @@
if(contained_sprite)
tmp_icon_state = "[tmp_icon_state]"
inv_overlay = image("icon" = icon, "icon_state" = "[tmp_icon_state]_w", dir = SOUTH)
if(color)
inv_overlay.color = color
return inv_overlay
/obj/item/clothing/accessory/proc/get_mob_overlay()
@@ -43,6 +45,8 @@
mob_overlay = image("icon" = icon, "icon_state" = "[tmp_icon_state]")
else
mob_overlay = image("icon" = INV_ACCESSORIES_DEF_ICON, "icon_state" = "[tmp_icon_state]")
if(color)
mob_overlay.color = color
return mob_overlay
//when user attached an accessory to S
@@ -111,14 +111,15 @@
new /obj/item/weapon/material/hatchet/unathiknife(hold)
/obj/item/clothing/accessory/storage/bayonet
name = "bayonet sheat"
desc = "A leather sheat designated to hold a bayonet."
name = "bayonet sheath"
desc = "A leather sheath designated to hold a bayonet."
icon_state = "holster_machete"
slots = 1
/obj/item/clothing/accessory/storage/bayonet/Initialize()
. = ..()
hold.max_storage_space = 2
hold.max_storage_space = 4
hold.max_w_class = 3
hold.can_hold = list(
/obj/item/weapon/material/knife/bayonet
)
+16 -16
View File
@@ -1,18 +1,18 @@
/obj/item/custom_ka_upgrade/barrels/barrel01
name = "standard core KA power converter"
build_name = "'Standard'"
desc = "A very standard kinetic accelerator energy converter and barrel assembly. Has poor range, but gets the job done."
desc = "A very standard kinetic accelerator energy converter and barrel assembly. Has poor range and firerate, but gets the job done."
icon_state = "barrel01"
damage_increase = 10
firedelay_increase = 0.75 SECONDS
range_increase = 2
damage_increase = 15
firedelay_increase = 1 SECONDS
range_increase = 3
recoil_increase = 2
cost_increase = 1
cell_increase = 0
capacity_increase = -1
fire_sound = 'sound/weapons/Kenetic_accel.ogg'
projectile_type = /obj/item/projectile/kinetic
origin_tech = list(TECH_MATERIAL = 2,TECH_ENGINEERING = 2,TECH_MAGNET = 2)
origin_tech = list(TECH_MATERIAL = 1,TECH_ENGINEERING = 1,TECH_MAGNET = 1, TECH_PHORON = 2)
/obj/item/custom_ka_upgrade/barrels/barrel02
name = "professional core KA power converter"
@@ -20,15 +20,15 @@
desc = "A more advanced kinetic accelerator energy converter and barrel assembly intended for professional miners out on the rock."
icon_state = "barrel02"
damage_increase = 15
firedelay_increase = 0.75 SECONDS
range_increase = 3
firedelay_increase = 0.5 SECONDS
range_increase = 4
recoil_increase = 3
cost_increase = 1
cell_increase = 0
capacity_increase = -2
fire_sound = 'sound/weapons/Kenetic_accel.ogg'
projectile_type = /obj/item/projectile/kinetic
origin_tech = list(TECH_MATERIAL = 3,TECH_ENGINEERING = 3,TECH_MAGNET = 3)
origin_tech = list(TECH_MATERIAL = 1,TECH_ENGINEERING = 1,TECH_MAGNET = 3, TECH_PHORON = 2)
/obj/item/custom_ka_upgrade/barrels/barrel03
name = "meteor core KA power converter"
@@ -37,14 +37,14 @@
icon_state = "barrel03"
damage_increase = 20
firedelay_increase = 0.75 SECONDS
range_increase = 4
range_increase = 5
recoil_increase = 4
cost_increase = 2
cell_increase = 0
capacity_increase = -3
fire_sound = 'sound/weapons/resonator_fire.ogg'
projectile_type = /obj/item/projectile/kinetic
origin_tech = list(TECH_MATERIAL = 4,TECH_ENGINEERING = 4,TECH_MAGNET = 4)
origin_tech = list(TECH_MATERIAL = 4,TECH_ENGINEERING = 3,TECH_MAGNET = 3, TECH_PHORON = 3)
/obj/item/custom_ka_upgrade/barrels/barrel04
@@ -54,14 +54,14 @@
icon_state = "barrel04"
damage_increase = 25
firedelay_increase = 1 SECONDS
range_increase = 5
range_increase = 6
recoil_increase = 6
cost_increase = 5
cell_increase = 0
capacity_increase = -4
fire_sound = 'sound/weapons/pulse.ogg'
projectile_type = /obj/item/projectile/kinetic
origin_tech = list(TECH_MATERIAL = 5,TECH_ENGINEERING = 5,TECH_MAGNET = 5)
origin_tech = list(TECH_MATERIAL = 6,TECH_ENGINEERING = 3,TECH_MAGNET = 5, TECH_PHORON = 4)
/obj/item/custom_ka_upgrade/barrels/barrel05
name = "experimental core KA power converter"
@@ -70,14 +70,14 @@
icon_state = "barrel05"
damage_increase = 30
firedelay_increase = 1 SECONDS
range_increase = 6
range_increase = 7
recoil_increase = 10
cost_increase = 10
cell_increase = 0
capacity_increase = -5
fire_sound = 'sound/weapons/resonator_blast.ogg'
projectile_type = /obj/item/projectile/kinetic
origin_tech = list(TECH_MATERIAL = 6,TECH_ENGINEERING = 6,TECH_MAGNET = 6)
origin_tech = list(TECH_MATERIAL = 6,TECH_ENGINEERING = 5,TECH_MAGNET = 6, TECH_PHORON = 5)
/obj/item/custom_ka_upgrade/barrels/illegal
name = "laser KA power converter"
@@ -87,8 +87,8 @@
damage_increase = 15
firedelay_increase = 1.5 SECONDS
range_increase = 64
recoil_increase = 6
cost_increase = 4
recoil_increase = 0
cost_increase = 10
cell_increase = 0
capacity_increase = 0
fire_sound = 'sound/weapons/lasercannonfire.ogg'
+26 -28
View File
@@ -21,49 +21,46 @@
/obj/item/custom_ka_upgrade/cells/cell01
//Pump Action
name = "pump action KA cell"
build_name = "pump-action"
desc = "A very basic power cell and pump action combo that stores a single charge. A pump is required after each shot, however it deals increased damage and has increased range."
name = "pump recharging KA cell"
build_name = "pump-recharging"
desc = "A very basic power cell and pump action combo that stores 4 charges. Low capacity however it has slightly increased range."
icon_state = "cell01"
damage_increase = 5
firedelay_increase = 0.25 SECONDS
range_increase = 3
recoil_increase = -1
cost_increase = -100 //Always have a single charge
cell_increase = 1
range_increase = 2
recoil_increase = -3
cell_increase = 4
capacity_increase = -1
mod_limit_increase = 0
pump_restore = 1
pump_delay = 0.4 SECONDS
origin_tech = list(TECH_MATERIAL = 2,TECH_ENGINEERING = 2,TECH_MAGNET = 2,TECH_POWER = 2)
origin_tech = list(TECH_MATERIAL = 1,TECH_ENGINEERING = 1,TECH_MAGNET = 1,TECH_POWER = 1)
/obj/item/custom_ka_upgrade/cells/cell02
//Pump Action
name = "pump recharging KA cell"
name = "advanced pump recharging KA cell"
build_name = "pump-recharging"
desc = "A somewhat more advanced, standard issue pump and cell assembly that allows the user to 'pre-pump' their charges, up to a capacity of 12. Can fire quite quickly."
desc = "A somewhat more advanced, standard issue pump and cell assembly that stores charges up to a capacity of 12. Can fire and pump quite quickly."
icon_state = "cell02"
firedelay_increase = 0
firedelay_increase = 0.1 SECONDS
recoil_increase = 1
cell_increase = 12
capacity_increase = -2
mod_limit_increase = 0
pump_restore = 1
pump_delay = 0.5 SECONDS
pump_delay = 0.3 SECONDS
origin_tech = list(TECH_MATERIAL = 3,TECH_ENGINEERING = 3,TECH_MAGNET = 3,TECH_POWER = 3)
origin_tech = list(TECH_MATERIAL = 3,TECH_ENGINEERING = 1,TECH_MAGNET = 1,TECH_POWER = 3)
/obj/item/custom_ka_upgrade/cells/cell03
name = "kinetic charging KA cell"
build_name = "kinetic-reloading"
desc = "A complex pump and cell assembly that uses the kinetic energy of an initial pump to significantly charge the cell. Deals increased damage at the cost of severely increased recoil and reduced firerate."
build_name = "kinetic"
desc = "A complex pump and cell assembly that uses the kinetic energy of an initial pump to significantly charge the cell. Deals increased damage at the cost of reduced firerate."
icon_state = "cell03"
damage_increase = 10
firedelay_increase = 0.5 SECONDS
recoil_increase = 4
cost_increase = -1
cell_increase = 40
capacity_increase = -3
@@ -72,13 +69,14 @@
pump_restore = 40
pump_delay = 1 SECONDS
origin_tech = list(TECH_MATERIAL = 4,TECH_ENGINEERING = 4,TECH_MAGNET = 4,TECH_POWER = 4)
origin_tech = list(TECH_MATERIAL = 4,TECH_ENGINEERING = 3,TECH_MAGNET = 2,TECH_POWER = 3)
/obj/item/custom_ka_upgrade/cells/cell04
name = "uranium charging KA cell"
build_name = "recharging"
desc = "A pumpless cell assembly that containes a miniaturized nuclear reactor housed safely inside the assembly. Recharges the cell shortly over time, however deals slightly reduced damage."
icon_state = "cell04"
firedelay_increase = 0.1 SECONDS
damage_increase = -5
recoil_increase = 0
cost_increase = 0
@@ -89,7 +87,7 @@
pump_restore = 0
pump_delay = 0
origin_tech = list(TECH_MATERIAL = 5,TECH_ENGINEERING = 5,TECH_MAGNET = 5,TECH_POWER = 5)
origin_tech = list(TECH_MATERIAL = 5,TECH_ENGINEERING = 4,TECH_MAGNET = 3,TECH_POWER = 5)
/obj/item/custom_ka_upgrade/cells/cell04/on_update(var/obj/item/weapon/gun/custom_ka/the_gun)
stored_charge = min(stored_charge + 3,cell_increase)
@@ -110,7 +108,7 @@
pump_restore = 5
pump_delay = 0.5 SECONDS
origin_tech = list(TECH_MATERIAL = 6,TECH_ENGINEERING = 6,TECH_MAGNET = 6,TECH_POWER = 6)
origin_tech = list(TECH_MATERIAL = 5,TECH_ENGINEERING = 6,TECH_MAGNET = 5,TECH_POWER = 5, TECH_PHORON = 5)
/obj/item/custom_ka_upgrade/cells/cell05/on_fire(var/obj/item/weapon/gun/custom_ka/the_gun)
if(the_gun.recoil_increase > 0)
@@ -132,7 +130,7 @@
pump_restore = 0
pump_delay = 0
origin_tech = list(TECH_MATERIAL = 5,TECH_ENGINEERING = 5,TECH_MAGNET = 5,TECH_POWER = 5)
origin_tech = list()
/obj/item/custom_ka_upgrade/cells/cyborg/on_update(var/obj/item/weapon/gun/custom_ka/the_gun)
var/mob/living/silicon/robot/owner_robot = the_gun.loc
@@ -147,18 +145,18 @@
/obj/item/custom_ka_upgrade/cells/illegal
//Pump Action
name = "pump action KA cell"
build_name = "static"
desc = "A clusterfuck of circuitry and battery parts all snuggly fit inside a solid, static plastisteel frame."
build_name = "pump-action"
desc = "A clusterfuck of circuitry and battery parts all snuggly fit inside a solid, static plastisteel frame. A single pump is enough for any shot of any weapon."
icon_state = "cell_illegal"
firedelay_increase = 0
recoil_increase = 0
cost_increase = 0
stored_charge = 20
cell_increase = 20
cost_increase = -100
stored_charge = 1
cell_increase = 1
capacity_increase = 0
mod_limit_increase = 0
pump_restore = 20
pump_delay = 0.5 SECONDS
pump_restore = 1
pump_delay = 0.3 SECONDS
origin_tech = list(TECH_MATERIAL = 3,TECH_ENGINEERING = 3,TECH_MAGNET = 3,TECH_POWER = 3, TECH_ILLEGAL = 4)
+4 -4
View File
@@ -5,7 +5,7 @@
w_class = 3
capacity_increase = 3
mod_limit_increase = 2
origin_tech = list(TECH_MATERIAL = 2,TECH_ENGINEERING = 2)
origin_tech = list(TECH_MATERIAL = 1,TECH_ENGINEERING = 1)
slot_flags = SLOT_BELT
/obj/item/weapon/gun/custom_ka/frame02
@@ -16,7 +16,7 @@
recoil_increase = -1
capacity_increase = 5
mod_limit_increase = 3
origin_tech = list(TECH_MATERIAL = 3,TECH_ENGINEERING = 3)
origin_tech = list(TECH_MATERIAL = 1,TECH_ENGINEERING = 3)
/obj/item/weapon/gun/custom_ka/frame03
name = "medium kinetic accelerator frame"
@@ -26,7 +26,7 @@
recoil_increase = -2
capacity_increase = 7
mod_limit_increase = 4
origin_tech = list(TECH_MATERIAL = 4,TECH_ENGINEERING = 4)
origin_tech = list(TECH_MATERIAL = 3,TECH_ENGINEERING = 3)
/obj/item/weapon/gun/custom_ka/frame04
name = "heavy kinetic accelerator frame"
@@ -36,7 +36,7 @@
recoil_increase = -5
capacity_increase = 9
mod_limit_increase = 5
origin_tech = list(TECH_MATERIAL = 5,TECH_ENGINEERING = 5)
origin_tech = list(TECH_MATERIAL = 3,TECH_ENGINEERING = 5)
/obj/item/weapon/gun/custom_ka/frame05
name = "tactical kinetic accelerator frame"
+1 -2
View File
@@ -1,6 +1,6 @@
/obj/item/custom_ka_upgrade/upgrade_chips/damage
name = "upgrade chip - damage increase"
desc = "Increases damage and recoil."
desc = "Increases damage and recoil, reduces accuracy."
icon_state = "upgrade_chip"
damage_increase = 10
recoil_increase = 3
@@ -54,7 +54,6 @@
name = "illegal custom KA upgrade chip"
desc = "Overrides safety settings for a custom kinetic accelerator. What's the worst that could happen?"
icon_state = "upgrade_chip_illegal"
damage_increase = 10
firedelay_increase = -0.5 SECONDS
recoil_increase = 4
cost_increase = 1
+4 -20
View File
@@ -2041,20 +2041,12 @@ obj/item/clothing/suit/storage/hooded/fluff/make_poncho //Raincoat Poncho - M.A.
icon_state = "nikit_zippo"
/obj/item/clothing/under/dress/fluff/marwani_dress_front //Unathi Purple Dress - Ilaeza Marwani - burgerbb
/obj/item/clothing/suit/fluff/marwani_dress //Unathi Purple Dress - Ilaeza Marwani - burgerbb
name = "unathi purple dress"
desc = "A strange purple dress designed to fit very tall female unathi, suitable for indoor wear in warmer climate. This is the front piece."
desc = "A strange purple dress designed to fit very tall female unathi, suitable for indoor wear in warmer climate. Attached to it is some sort of giant iron emblem."
icon = 'icons/obj/custom_items/marwani_dress.dmi'
icon_state = "mar_front_dress"
item_state = "mar_front_dress"
contained_sprite = TRUE
/obj/item/clothing/suit/fluff/marwani_dress_back //Unathi Purple Dress - Ilaeza Marwani - burgerbb
name = "unathi purple dress"
desc = "A strange purple dress designed to fit very tall female unathi, suitable for indoor wear in warmer climate. This is the back piece."
icon = 'icons/obj/custom_items/marwani_dress.dmi'
icon_state = "mar_back_dress"
item_state = "mar_back_dress"
icon_state = "mar_dress"
item_state = "mar_dress"
contained_sprite = TRUE
/obj/item/clothing/shoes/jackboots/unathi/fluff/marwani_shoes //Unathi Purple Boots - Ilaeza Marwani - burgerbb
@@ -2073,14 +2065,6 @@ obj/item/clothing/suit/storage/hooded/fluff/make_poncho //Raincoat Poncho - M.A.
item_state = "mar_gloves"
contained_sprite = TRUE
/obj/item/clothing/accessory/fluff/marwani_armor //Clan Marwani Emblem - Ilaeza Marwani - burgerbb
name = "clan marwani armor"
desc = "A large, decorative iron and brass alloyed breastplate signifying the industrial strength of Clan Marwani."
icon = 'icons/obj/custom_items/marwani_dress.dmi'
icon_state = "mar_emblem"
item_state = "mar_emblem"
contained_sprite = TRUE
/obj/item/weapon/deck/tarot/fluff/klavdiya_cards //Adhomian Divination Cards Deck - Klavdiya Tikhomirov - alberyk
name = "adhomian divination cards deck"
+1 -1
View File
@@ -125,7 +125,7 @@
var/author = query_books.item[1]
var/title = query_books.item[2]
var/content = query_books.item[3]
var/obj/item/weapon/book/B = new(src.loc)
var/obj/item/weapon/book/B = new(src)
B.name = "Book: [title]"
B.title = title
B.author = author
+2 -2
View File
@@ -8,7 +8,6 @@
// If is_brittle() returns true, these are only good for a single strike.
recipes += new/datum/stack_recipe("[display_name] baseball bat", /obj/item/weapon/material/twohanded/baseballbat, 10, time = 20, one_per_turf = 0, on_floor = 1, supplied_material = "[name]")
recipes += new/datum/stack_recipe("[display_name] ashtray", /obj/item/weapon/material/ashtray, 2, one_per_turf = 1, on_floor = 1, supplied_material = "[name]")
recipes += new/datum/stack_recipe("[display_name] spoon", /obj/item/weapon/material/kitchen/utensil/spoon/plastic, 1, on_floor = 1, supplied_material = "[name]")
recipes += new/datum/stack_recipe("[display_name] ring", /obj/item/clothing/ring/material, 1, on_floor = 1, supplied_material = "[name]")
recipes += new/datum/stack_recipe("[display_name] armor plate", /obj/item/weapon/material/armor_plating, 3, time = 20, on_floor = 1, supplied_material = "[name]")
@@ -19,7 +18,8 @@
recipes += new/datum/stack_recipe("[display_name] stool", /obj/item/weapon/stool, one_per_turf = 1, on_floor = 1, supplied_material = "[name]")
recipes += new/datum/stack_recipe("[display_name] chair", /obj/structure/bed/chair, one_per_turf = 1, on_floor = 1, supplied_material = "[name]")
recipes += new/datum/stack_recipe("[display_name] bed", /obj/structure/bed, 2, one_per_turf = 1, on_floor = 1, supplied_material = "[name]")
if(hardness>=10)
recipes += new/datum/stack_recipe("[display_name] ashtray", /obj/item/weapon/material/ashtray, 2, one_per_turf = 1, on_floor = 1, supplied_material = "[name]")
if(hardness>50)
recipes += new/datum/stack_recipe("[display_name] fork", /obj/item/weapon/material/kitchen/utensil/fork/plastic, 1, on_floor = 1, supplied_material = "[name]")
recipes += new/datum/stack_recipe("[display_name] knife", /obj/item/weapon/material/kitchen/utensil/knife/plastic, 1, on_floor = 1, supplied_material = "[name]")
+5 -2
View File
@@ -136,8 +136,11 @@ var/global/list/minevendor_list = list( //keep in order of price
if(istype(inserted_id))
if(href_list["choice"] == "eject")
inserted_id.loc = loc
if(!usr.get_active_hand())
usr.put_in_hands(inserted_id)
if(ishuman(usr))
if(!usr.get_active_hand())
usr.put_in_hands(inserted_id)
else
inserted_id.forceMove(get_turf(src))
inserted_id = null
else if(href_list["choice"] == "insert")
var/obj/item/weapon/card/id/I = usr.get_active_hand()
@@ -29,7 +29,9 @@
dat += "<B>Maintenance Units</B><BR>"
for(var/mob/living/silicon/robot/drone/D in silicon_mob_list)
if(D.z != src.z)
if(src.z in current_map.station_levels && !(D.z in current_map.station_levels)) //If the console is on a station level, then list all drones on the station levels
continue
else if (!(src.z in current_map.station_levels) && src.z != D.z) //If the console is not on the station, only list drones on the current level
continue
dat += "<BR>[D.real_name] ([D.stat == 2 ? "<font color='red'>INACTIVE</FONT>" : "<font color='green'>ACTIVE</FONT>"])"
dat += "<font dize = 9><BR>Cell charge: [D.cell.charge]/[D.cell.maxcharge]."
@@ -10,6 +10,7 @@
var/mob/master = null //undisputed master. Their commands hold ultimate sway and ultimate power.
var/list/allowed_targets = list() //WHO CAN I KILL D:
var/retribution = 1 //whether or not they will attack us if we attack them like some kinda dick.
var/list/sad_emote = list("whimpers")
/mob/living/simple_animal/hostile/commanded/Initialize()
..()
@@ -55,7 +56,7 @@
var/mode = "specific"
if(allowed_targets[1] == "everyone") //we have been given the golden gift of murdering everything. Except our master, of course. And our friends. So just mostly everyone.
mode = "everyone"
for(var/atom/A in ListTargets(10))
for(var/atom/A in targets)
var/mob/M = null
if(A == src)
continue
@@ -141,8 +142,7 @@
allowed_targets = list("everyone")//everyone? EVERYONE
return 1
var/list/targets = get_targets_by_name(text)
allowed_targets += targets
allowed_targets += get_targets_by_name(text)
if(emote_hear && emote_hear.len)
audible_emote("[pick(emote_hear)].",0)
return targets.len != 0
@@ -190,6 +190,13 @@
/mob/living/simple_animal/hostile/commanded/hit_with_weapon(obj/item/O, mob/living/user, var/effective_force, var/hit_zone)
//if they attack us, we want to kill them. None of that "you weren't given a command so free kill" bullshit.
. = ..()
// We forgive our master
if(user == master)
stance = HOSTILE_STANCE_IDLE
target_mob = null
audible_emote("[pick(sad_emote)].",0)
return
if(!. && retribution)
stance = HOSTILE_STANCE_ATTACK
target_mob = user
@@ -200,9 +207,57 @@
/mob/living/simple_animal/hostile/commanded/attack_hand(mob/living/carbon/human/M as mob)
..()
// We forgive our master
if(M == master)
stance = HOSTILE_STANCE_IDLE
target_mob = null
if(M.a_intent == I_HURT)
audible_emote("[pick(sad_emote)].",0)
return
if(M.a_intent == I_HURT && retribution) //assume he wants to hurt us.
target_mob = M
allowed_targets += M
stance = HOSTILE_STANCE_ATTACK
if(M in friends)
friends -= M
/mob/living/simple_animal/hostile/commanded/attack_generic(var/mob/user, var/damage, var/attack_message)
..()
// We forgive our master
if(user == master)
target_mob = null
stance = HOSTILE_STANCE_IDLE
audible_emote("[pick(sad_emote)].",0)
/mob/living/simple_animal/hostile/commanded/bullet_act(var/obj/item/projectile/P, var/def_zone)
..()
// We forgive our master
if (ismob(P.firer) && P.firer == master)
target_mob = null
stance = HOSTILE_STANCE_IDLE
audible_emote("[pick(sad_emote)].",0)
/mob/living/simple_animal/hostile/commanded/attackby(var/obj/item/O, var/mob/user)
..()
// We forgive our master
if(user == master)
target_mob = null
stance = HOSTILE_STANCE_IDLE
audible_emote("[pick(sad_emote)].",0)
mob/living/simple_animal/hostile/commanded/hitby(atom/movable/AM as mob|obj,var/speed = THROWFORCE_SPEED_DIVISOR)//Standardization and logging -Sieve
..()
if(istype(AM,/obj/))
var/obj/O = AM
if(ismob(O.thrower))
if(O.thrower == master)
target_mob = null
stance = HOSTILE_STANCE_IDLE
audible_emote("[pick(sad_emote)].",0)
@@ -21,6 +21,7 @@
speak = list("Woof!", "Bark!", "AUUUUUU!","AwooOOOoo!")
speak_emote = list("barks", "woofs")
emote_hear = list("barks", "woofs")
sad_emote = list("whines")
attacktext = "bitten"
attack_sound = 'sound/misc/dog_bark.ogg'
@@ -42,16 +43,7 @@
var/name_changed = 0
/mob/living/simple_animal/hostile/commanded/dog/hit_with_weapon(obj/item/O, mob/living/user, var/effective_force, var/hit_zone)
. = ..()
if(!.)
src.emote("barks!")
/mob/living/simple_animal/hostile/commanded/dog/attack_hand(mob/living/carbon/human/M as mob)
..()
if(M.a_intent == I_HURT)
src.emote("barks!")
destroy_surroundings = FALSE
/mob/living/simple_animal/hostile/commanded/dog/verb/befriend()
set name = "Befriend Dog"
@@ -62,8 +62,10 @@
for(var/datum/computer_file/program/P in idle_threads)
P.event_idremoved(1)
user.put_in_hands(card_slot.stored_card)
if(ishuman(user))
user.put_in_hands(card_slot.stored_card)
else
card_slot.stored_card.forceMove(get_turf(src))
card_slot.stored_card = null
update_uis()
to_chat(user, "You remove the card from \the [src]")
@@ -88,7 +90,10 @@
to_chat(user, "There is no intellicard connected to \the [src].")
return
user.put_in_hands(ai_slot.stored_card)
if(ishuman(user))
user.put_in_hands(ai_slot.stored_card)
else
ai_slot.stored_card.forceMove(get_turf(src))
ai_slot.stored_card = null
ai_slot.update_power_usage()
update_uis()
@@ -157,7 +162,7 @@
playsound(user, 'sound/items/Ratchet.ogg', 100, 1)
if (do_after(user, 20))
new /obj/item/stack/material/steel(get_turf(src.loc), steel_sheet_cost)
src.visible_message("\The [user] disassembles \the [src].",
src.visible_message("\The [user] disassembles \the [src].",
"You disassemble \the [src].",
"You hear a ratchet.")
qdel(src)
+10 -3
View File
@@ -1,6 +1,5 @@
// If you add a more comprehensive system, just untick this file.
// WARNING: Only works for up to 17 z-levels!
var/z_levels = 0 // Each bit represents a connection between adjacent levels. So the first bit means levels 1 and 2 are connected.
// If the height is more than 1, we mark all contained levels as connected.
/obj/effect/landmark/map_data/New()
@@ -10,7 +9,7 @@ var/z_levels = 0 // Each bit represents a connection between adjacent levels. S
ASSERT(height <= z)
// Due to the offsets of how connections are stored v.s. how z-levels are indexed, some magic number silliness happened.
for(var/i = (z - height) to (z - 2))
z_levels |= (1 << i)
SSatlas.z_levels |= (1 << i)
qdel(src)
/obj/effect/landmark/map_data/Destroy()
@@ -26,9 +25,13 @@ var/z_levels = 0 // Each bit represents a connection between adjacent levels. S
// Thankfully, no bitwise magic is needed here.
/proc/GetAbove(atom/A)
if (!A.z)
A = get_turf(A)
return A ? GET_ABOVE(A) : null
/proc/GetBelow(atom/A)
if (!A.z)
A = get_turf(A)
return A ? GET_BELOW(A) : null
/proc/GetConnectedZlevels(z)
@@ -57,7 +60,11 @@ var/z_levels = 0 // Each bit represents a connection between adjacent levels. S
return new_entry[zB]
/proc/get_zstep(ref, dir)
/proc/get_zstep(atom/ref, dir)
if (!isloc(ref))
CRASH("Expected atom.")
if (!ref.z)
ref = get_turf(ref)
switch (dir)
if (UP)
. = GET_ABOVE(ref)
+1 -1
View File
@@ -340,7 +340,7 @@
transplant_data["blood_DNA"] = transplant_blood.data["blood_DNA"]
owner = target
loc = owner
src.forceMove(owner)
STOP_PROCESSING(SSprocessing, src)
target.internal_organs |= src
affected.internal_organs |= src
@@ -15,7 +15,7 @@
var/obj/item/ammo_magazine/ammo_magazine
var/magazine_type = /obj/item/ammo_magazine/minigun
/obj/item/minigunpack/update_icon(var/mob/user)
/obj/item/minigunpack/update_icon()
..()
if(armed)
icon_state = "notholstered"
@@ -23,7 +23,6 @@
else
icon_state = "holstered"
item_state = "holstered"
user.update_inv_back()
/obj/item/minigunpack/Initialize()
. = ..()
@@ -72,12 +71,14 @@
return
armed = TRUE
update_icon(user)
update_icon()
user.update_inv_back()
/obj/item/minigunpack/equipped(mob/user, slot)
..()
if(slot != slot_back)
remove_gun()
user.update_inv_back()
/obj/item/minigunpack/proc/remove_gun()
if(!gun)
@@ -85,7 +86,7 @@
if(ismob(gun.loc))
var/mob/M = gun.loc
if(M.drop_from_inventory(gun, src))
update_icon(M)
update_icon()
else
gun.forceMove(src)
update_icon()
@@ -160,7 +161,8 @@
if(source)
to_chat(user, "<span class='notice'>\The [src] snaps back onto \the [source].</span>")
addtimer(CALLBACK(source, /obj/item/minigunpack/.proc/remove_gun), 0)
source.update_icon(user)
source.update_icon()
user.update_inv_back()
/obj/item/weapon/gun/projectile/automatic/rifle/minigun/Move()
..()
+25 -25
View File
@@ -442,28 +442,28 @@
//Frames
/datum/design/item/weapon/ka_frame01
id = "ka_frame01"
req_tech = list(TECH_MATERIAL = 2,TECH_ENGINEERING = 2)
req_tech = list(TECH_MATERIAL = 1,TECH_ENGINEERING = 1)
materials = list(DEFAULT_WALL_MATERIAL = 3000)
build_path = /obj/item/weapon/gun/custom_ka/frame01
sort_string = "TZZFA"
/datum/design/item/weapon/ka_frame02
id = "ka_frame02"
req_tech = list(TECH_MATERIAL = 3,TECH_ENGINEERING = 3)
materials = list(DEFAULT_WALL_MATERIAL = 4000, "silver" = 1000)
req_tech = list(TECH_MATERIAL = 1,TECH_ENGINEERING = 3)
materials = list(DEFAULT_WALL_MATERIAL = 4000)
build_path = /obj/item/weapon/gun/custom_ka/frame02
sort_string = "TZZFB"
/datum/design/item/weapon/ka_frame03
id = "ka_frame03"
req_tech = list(TECH_MATERIAL = 4,TECH_ENGINEERING = 4)
req_tech = list(TECH_MATERIAL = 3,TECH_ENGINEERING = 3)
materials = list(DEFAULT_WALL_MATERIAL = 5000, "silver" = 2000)
build_path = /obj/item/weapon/gun/custom_ka/frame03
sort_string = "TZZFC"
/datum/design/item/weapon/ka_frame04
id = "ka_frame04"
req_tech = list(TECH_MATERIAL = 5,TECH_ENGINEERING = 5)
req_tech = list(TECH_MATERIAL = 6,TECH_ENGINEERING = 5)
materials = list(DEFAULT_WALL_MATERIAL = 5000, "silver" = 2000, "diamond" = 1000)
build_path = /obj/item/weapon/gun/custom_ka/frame04
sort_string = "TZZFD"
@@ -478,35 +478,35 @@
//Cells
/datum/design/item/weapon/ka_cell01
id = "ka_cell01"
req_tech = list(TECH_MATERIAL = 2,TECH_ENGINEERING = 2,TECH_MAGNET = 2,TECH_POWER = 2)
req_tech = list(TECH_MATERIAL = 1,TECH_ENGINEERING = 1,TECH_MAGNET = 1,TECH_POWER = 1)
materials = list(DEFAULT_WALL_MATERIAL = 1000, "glass" = 1000)
build_path = /obj/item/custom_ka_upgrade/cells/cell01
sort_string = "TZZGA"
/datum/design/item/weapon/ka_cell02
id = "ka_cell02"
req_tech = list(TECH_MATERIAL = 3,TECH_ENGINEERING = 3,TECH_MAGNET = 3,TECH_POWER = 3)
materials = list(DEFAULT_WALL_MATERIAL = 2000, "glass" = 1000, "silver" = 1000, "gold" = 1000)
req_tech = list(TECH_MATERIAL = 3,TECH_ENGINEERING = 1,TECH_MAGNET = 1,TECH_POWER = 3)
materials = list(DEFAULT_WALL_MATERIAL = 2000, "glass" = 1000, "silver" = 1000)
build_path = /obj/item/custom_ka_upgrade/cells/cell02
sort_string = "TZZGB"
/datum/design/item/weapon/ka_cell03
id = "ka_cell03"
req_tech = list(TECH_MATERIAL = 4,TECH_ENGINEERING = 4,TECH_MAGNET = 4,TECH_POWER = 4)
req_tech = list(TECH_MATERIAL = 4,TECH_ENGINEERING = 3,TECH_MAGNET = 2,TECH_POWER = 3)
materials = list(DEFAULT_WALL_MATERIAL = 3000, "glass" = 3000, "silver" = 3000, "gold" = 1000)
build_path = /obj/item/custom_ka_upgrade/cells/cell03
sort_string = "TZZGC"
/datum/design/item/weapon/ka_cell04
id = "ka_cell04"
req_tech = list(TECH_MATERIAL = 5,TECH_ENGINEERING = 5,TECH_MAGNET = 5,TECH_POWER = 5)
req_tech = list(TECH_MATERIAL = 5,TECH_ENGINEERING = 4,TECH_MAGNET = 3,TECH_POWER = 5)
materials = list(DEFAULT_WALL_MATERIAL = 4000, "glass" = 3000, "silver" = 3000, "gold" = 1000, "uranium" = 5000)
build_path = /obj/item/custom_ka_upgrade/cells/cell04
sort_string = "TZZGD"
/datum/design/item/weapon/ka_cell05
id = "ka_cell05"
req_tech = list(TECH_MATERIAL = 6,TECH_ENGINEERING = 6,TECH_MAGNET = 6,TECH_POWER = 6)
req_tech = list(TECH_MATERIAL = 5,TECH_ENGINEERING = 6,TECH_MAGNET = 5,TECH_POWER = 5, TECH_PHORON = 5)
materials = list(DEFAULT_WALL_MATERIAL = 5000, "glass" = 3000, "silver" = 3000, "gold" = 1000, "phoron" = 5000)
build_path = /obj/item/custom_ka_upgrade/cells/cell05
sort_string = "TZZGE"
@@ -514,35 +514,35 @@
//Barrels
/datum/design/item/weapon/ka_barrel01
id = "ka_barrel01"
req_tech = list(TECH_MATERIAL = 2,TECH_ENGINEERING = 2,TECH_MAGNET = 2)
materials = list(DEFAULT_WALL_MATERIAL = 2000, "glass" = 2000, "gold" = 1000, "phoron" = 500)
req_tech = list(TECH_MATERIAL = 1,TECH_ENGINEERING = 1,TECH_MAGNET = 1, TECH_PHORON = 2)
materials = list(DEFAULT_WALL_MATERIAL = 2000, "glass" = 2000, "phoron" = 500)
build_path = /obj/item/custom_ka_upgrade/barrels/barrel01
sort_string = "TZZHA"
/datum/design/item/weapon/ka_barrel02
id = "ka_barrel02"
req_tech = list(TECH_MATERIAL = 3,TECH_ENGINEERING = 3,TECH_MAGNET = 3)
materials = list(DEFAULT_WALL_MATERIAL = 3000, "glass" = 2000, "gold" = 1000, "phoron" = 500)
req_tech = list(TECH_MATERIAL = 1,TECH_ENGINEERING = 1,TECH_MAGNET = 3, TECH_PHORON = 2)
materials = list(DEFAULT_WALL_MATERIAL = 3000, "glass" = 2000, "phoron" = 500)
build_path = /obj/item/custom_ka_upgrade/barrels/barrel02
sort_string = "TZZHB"
/datum/design/item/weapon/ka_barrel03
id = "ka_barrel03"
req_tech = list(TECH_MATERIAL = 4,TECH_ENGINEERING = 4,TECH_MAGNET = 4)
req_tech = list(TECH_MATERIAL = 4,TECH_ENGINEERING = 3,TECH_MAGNET = 3, TECH_PHORON = 3)
materials = list(DEFAULT_WALL_MATERIAL = 4000, "glass" = 2000, "gold" = 2000, "phoron" = 1000)
build_path = /obj/item/custom_ka_upgrade/barrels/barrel03
sort_string = "TZZHC"
/datum/design/item/weapon/ka_barrel04
id = "ka_barrel04"
req_tech = list(TECH_MATERIAL = 5,TECH_ENGINEERING = 5,TECH_MAGNET = 5)
req_tech = list(TECH_MATERIAL = 6,TECH_ENGINEERING = 3,TECH_MAGNET = 5, TECH_PHORON = 4)
materials = list(DEFAULT_WALL_MATERIAL = 5000, "glass" = 3000, "gold" = 3000, "phoron" = 3000, "diamond" = 1000)
build_path = /obj/item/custom_ka_upgrade/barrels/barrel04
sort_string = "TZZHD"
/datum/design/item/weapon/ka_barrel05
id = "ka_barrel05"
req_tech = list(TECH_MATERIAL = 6,TECH_ENGINEERING = 6,TECH_MAGNET = 6)
req_tech = list(TECH_MATERIAL = 6,TECH_ENGINEERING = 5,TECH_MAGNET = 6, TECH_PHORON = 5)
materials = list(DEFAULT_WALL_MATERIAL = 6000, "glass" = 4000, "gold" = 4000, "phoron" = 4000, "diamond" = 2000)
build_path = /obj/item/custom_ka_upgrade/barrels/barrel05
sort_string = "TZZHE"
@@ -551,48 +551,48 @@
/datum/design/item/weapon/ka_upgrade01
id = "ka_upgrade01"
req_tech = list(TECH_POWER = 4,TECH_MAGNET = 4, TECH_DATA = 4)
materials = list(DEFAULT_WALL_MATERIAL = 1000, "glass" = 2000, "gold" = 1000, "diamond" = 1000)
materials = list(DEFAULT_WALL_MATERIAL = 1000, "glass" = 2000, "gold" = 1000)
build_path = /obj/item/custom_ka_upgrade/upgrade_chips/damage
sort_string = "TZZIA"
/datum/design/item/weapon/ka_upgrade02
id = "ka_upgrade02"
req_tech = list(TECH_POWER = 4,TECH_MAGNET = 4, TECH_DATA = 4)
materials = list(DEFAULT_WALL_MATERIAL = 1000, "glass" = 2000, "gold" = 1000, "diamond" = 1000)
materials = list(DEFAULT_WALL_MATERIAL = 1000, "glass" = 2000, "gold" = 1000)
build_path = /obj/item/custom_ka_upgrade/upgrade_chips/firerate
sort_string = "TZZIB"
/datum/design/item/weapon/ka_upgrade03
id = "ka_upgrade03"
req_tech = list(TECH_POWER = 4,TECH_MAGNET = 4, TECH_DATA = 4)
materials = list(DEFAULT_WALL_MATERIAL = 1000, "glass" = 2000, "gold" = 1000, "diamond" = 1000)
materials = list(DEFAULT_WALL_MATERIAL = 1000, "glass" = 2000, "gold" = 1000)
build_path = /obj/item/custom_ka_upgrade/upgrade_chips/effeciency
sort_string = "TZZIC"
/datum/design/item/weapon/ka_upgrade04
id = "ka_upgrade04"
req_tech = list(TECH_POWER = 4,TECH_MAGNET = 4, TECH_DATA = 4)
materials = list(DEFAULT_WALL_MATERIAL = 1000, "glass" = 2000, "gold" = 1000, "diamond" = 1000)
materials = list(DEFAULT_WALL_MATERIAL = 1000, "glass" = 2000, "gold" = 1000)
build_path = /obj/item/custom_ka_upgrade/upgrade_chips/recoil
sort_string = "TZZID"
/datum/design/item/weapon/ka_upgrade05
id = "ka_upgrade05"
req_tech = list(TECH_POWER = 4,TECH_MAGNET = 4, TECH_DATA = 4)
materials = list(DEFAULT_WALL_MATERIAL = 1000, "glass" = 2000, "gold" = 1000, "diamond" = 1000)
materials = list(DEFAULT_WALL_MATERIAL = 1000, "glass" = 2000, "gold" = 1000)
build_path = /obj/item/custom_ka_upgrade/upgrade_chips/focusing
sort_string = "TZZIE"
/datum/design/item/weapon/ka_upgrade06
id = "ka_upgrade06"
req_tech = list(TECH_POWER = 4,TECH_MAGNET = 4, TECH_DATA = 4)
materials = list(DEFAULT_WALL_MATERIAL = 1000, "glass" = 2000, "gold" = 1000, "diamond" = 1000)
materials = list(DEFAULT_WALL_MATERIAL = 1000, "glass" = 2000, "gold" = 1000)
build_path = /obj/item/custom_ka_upgrade/upgrade_chips/capacity
sort_string = "TZZIF"
/datum/design/item/weapon/ka_upgrade07
id = "ka_upgrade07"
req_tech = list(TECH_POWER = 4,TECH_MAGNET = 4, TECH_DATA = 4)
materials = list(DEFAULT_WALL_MATERIAL = 1000, "glass" = 2000, "gold" = 1000, "diamond" = 1000)
materials = list(DEFAULT_WALL_MATERIAL = 1000, "glass" = 2000, "gold" = 1000)
build_path = /obj/item/custom_ka_upgrade/upgrade_chips/explosive
sort_string = "TZZIF"
+3
View File
@@ -13,6 +13,9 @@
verbs -= /obj/structure/table/verb/do_flip
verbs -= /obj/structure/table/proc/do_put
/obj/structure/table/rack/remove_material(obj/item/weapon/wrench/W, mob/user)
src.dismantle(W, user)
/obj/structure/table/rack/update_connections()
return