Merge branch 'master' of https://github.com/Citadel-Station-13/Citadel-Station-13 into Citadel-Station-13-master
@@ -484,6 +484,8 @@
|
||||
|
||||
/datum/config_entry/flag/modetier_voting
|
||||
|
||||
/datum/config_entry/flag/must_be_readied_to_vote_gamemode
|
||||
|
||||
/datum/config_entry/number/dropped_modes
|
||||
config_entry_value = 3
|
||||
|
||||
|
||||
@@ -68,6 +68,10 @@ SUBSYSTEM_DEF(vote)
|
||||
//get the highest number of votes
|
||||
var/greatest_votes = 0
|
||||
var/total_votes = 0
|
||||
if(mode == "gamemode" && CONFIG_GET(flag/must_be_readied_to_vote_gamemode))
|
||||
for(var/mob/dead/new_player/P in GLOB.player_list)
|
||||
if(P.ready != PLAYER_READY_TO_PLAY && voted[P.ckey])
|
||||
choices[choices[voted[P.ckey]]]--
|
||||
for(var/option in choices)
|
||||
var/votes = choices[option]
|
||||
total_votes += votes
|
||||
@@ -101,6 +105,10 @@ SUBSYSTEM_DEF(vote)
|
||||
|
||||
/datum/controller/subsystem/vote/proc/calculate_condorcet_votes(var/blackbox_text)
|
||||
// https://en.wikipedia.org/wiki/Schulze_method#Implementation
|
||||
if((mode == "gamemode" || mode == "dynamic") && CONFIG_GET(flag/must_be_readied_to_vote_gamemode))
|
||||
for(var/mob/dead/new_player/P in GLOB.player_list)
|
||||
if(P.ready != PLAYER_READY_TO_PLAY && voted[P.ckey])
|
||||
voted -= P.ckey
|
||||
var/list/d[][] = new/list(choices.len,choices.len) // the basic vote matrix, how many times a beats b
|
||||
for(var/ckey in voted)
|
||||
var/list/this_vote = voted[ckey]
|
||||
@@ -147,6 +155,10 @@ SUBSYSTEM_DEF(vote)
|
||||
for(var/choice in choices)
|
||||
scores_by_choice += "[choice]"
|
||||
scores_by_choice["[choice]"] = list()
|
||||
if((mode == "gamemode" || mode == "dynamic") && CONFIG_GET(flag/must_be_readied_to_vote_gamemode))
|
||||
for(var/mob/dead/new_player/P in GLOB.player_list)
|
||||
if(P.ready != PLAYER_READY_TO_PLAY && voted[P.ckey])
|
||||
voted -= P.ckey
|
||||
for(var/ckey in voted)
|
||||
var/list/this_vote = voted[ckey]
|
||||
var/list/pretty_vote = list()
|
||||
|
||||
@@ -33,6 +33,7 @@
|
||||
/datum/sabotage_objective/processing/check_conditions()
|
||||
return won
|
||||
|
||||
/*
|
||||
/datum/sabotage_objective/processing/power_sink
|
||||
name = "Drain at least 100 megajoules of power using a power sink."
|
||||
sabotage_type = "powersink"
|
||||
@@ -44,6 +45,7 @@
|
||||
for(var/s in GLOB.power_sinks)
|
||||
var/obj/item/powersink/sink = s
|
||||
won = max(won,sink.power_drained/1e8)
|
||||
*/
|
||||
|
||||
/obj/item/paper/guides/antag/supermatter_sabotage
|
||||
info = "Ways to sabotage a supermatter:<br>\
|
||||
|
||||
@@ -151,7 +151,14 @@
|
||||
var/obj/machinery/power/apc/target = locate(ref) in GLOB.apcs_list
|
||||
if(!target)
|
||||
return
|
||||
target.vars[type] = target.setsubsystem(text2num(value))
|
||||
value = target.setsubsystem(text2num(value))
|
||||
switch(type) // Sanity check
|
||||
if("equipment", "lighting", "environ")
|
||||
target.vars[type] = value
|
||||
else
|
||||
message_admins("Warning: possible href exploit by [key_name(usr)] - attempted to set [type] on [target] to [value]")
|
||||
log_game("Warning: possible href exploit by [key_name(usr)] - attempted to set [type] on [target] to [value]")
|
||||
return
|
||||
target.update_icon()
|
||||
target.update()
|
||||
var/setTo = ""
|
||||
|
||||
@@ -97,7 +97,7 @@
|
||||
icon_state = "mecha_ion"
|
||||
energy_drain = 120
|
||||
projectile = /obj/item/projectile/ion
|
||||
fire_sound = 'sound/weapons/laser.ogg'
|
||||
fire_sound = 'sound/weapons/IonRifle.ogg'
|
||||
|
||||
/obj/item/mecha_parts/mecha_equipment/weapon/energy/tesla
|
||||
equip_cooldown = 35
|
||||
@@ -195,7 +195,7 @@
|
||||
//Base ballistic weapon type
|
||||
/obj/item/mecha_parts/mecha_equipment/weapon/ballistic
|
||||
name = "general ballistic weapon"
|
||||
fire_sound = 'sound/weapons/gunshot.ogg'
|
||||
fire_sound = 'sound/weapons/lmgshot.ogg'
|
||||
var/projectiles
|
||||
var/projectiles_cache //ammo to be loaded in, if possible.
|
||||
var/projectiles_cache_max
|
||||
@@ -285,6 +285,7 @@
|
||||
/obj/item/mecha_parts/mecha_equipment/weapon/ballistic/scattershot
|
||||
name = "\improper LBX AC 10 \"Scattershot\""
|
||||
desc = "A weapon for combat exosuits. Shoots a spread of pellets."
|
||||
fire_sound = 'sound/weapons/gunshotshotgunshot.ogg'
|
||||
icon_state = "mecha_scatter"
|
||||
equip_cooldown = 20
|
||||
projectile = /obj/item/projectile/bullet/scattershot
|
||||
@@ -299,6 +300,7 @@
|
||||
/obj/item/mecha_parts/mecha_equipment/weapon/ballistic/seedscatter
|
||||
name = "\improper Melon Seed \"Scattershot\""
|
||||
desc = "A weapon for combat exosuits. Shoots a spread of pellets, shaped as seed."
|
||||
fire_sound = 'sound/weapons/gunshotshotgunshot.ogg'
|
||||
icon_state = "mecha_scatter"
|
||||
equip_cooldown = 20
|
||||
projectile = /obj/item/projectile/bullet/seed
|
||||
@@ -331,7 +333,7 @@
|
||||
desc = "A weapon for combat exosuits. Launches light explosive missiles."
|
||||
icon_state = "mecha_missilerack"
|
||||
projectile = /obj/item/projectile/bullet/a84mm_he
|
||||
fire_sound = 'sound/weapons/grenadelaunch.ogg'
|
||||
fire_sound = 'sound/weapons/rocketlaunch.ogg'
|
||||
projectiles = 8
|
||||
projectiles_cache = 0
|
||||
projectiles_cache_max = 0
|
||||
@@ -345,7 +347,7 @@
|
||||
desc = "A weapon for combat exosuits. Launches low-explosive breaching missiles designed to explode only when striking a sturdy target."
|
||||
icon_state = "mecha_missilerack_six"
|
||||
projectile = /obj/item/projectile/bullet/a84mm_br
|
||||
fire_sound = 'sound/weapons/grenadelaunch.ogg'
|
||||
fire_sound = 'sound/weapons/rocketlaunch.ogg'
|
||||
projectiles = 6
|
||||
projectiles_cache = 0
|
||||
projectiles_cache_max = 0
|
||||
|
||||
@@ -81,6 +81,7 @@
|
||||
|
||||
/obj/effect/decal/cleanable/trail_holder //not a child of blood on purpose
|
||||
name = "blood"
|
||||
icon = 'icons/effects/blood.dmi'
|
||||
icon_state = "ltrails_1"
|
||||
desc = "Your instincts say you shouldn't be following these."
|
||||
random_icon_states = null
|
||||
|
||||
@@ -44,7 +44,7 @@
|
||||
icon_state = "warp"
|
||||
uses = -1
|
||||
var/total_delay = 10 SECONDS
|
||||
var/cooldown = 10 SECONDS
|
||||
var/cooldown = 30 SECONDS
|
||||
var/last_use = 0
|
||||
var/list/positions = list()
|
||||
var/next_prune = 0
|
||||
|
||||
@@ -302,7 +302,7 @@ for further reading, please see: https://github.com/tgstation/tgstation/pull/301
|
||||
damtype = STAMINA
|
||||
attack_verb = list("whacked", "smacked", "struck")
|
||||
total_mass = TOTAL_MASS_MEDIEVAL_WEAPON
|
||||
hitsound = 'sound/weapons/grenadelaunch.ogg' // no good wood thunk sounds
|
||||
hitsound = 'sound/weapons/woodbonk.ogg'
|
||||
var/harm = FALSE // TRUE = brute, FALSE = stam
|
||||
var/reinforced = FALSE
|
||||
var/burnt = FALSE
|
||||
|
||||
@@ -36,7 +36,7 @@
|
||||
/obj/item/clothing/mask/surgical/aesthetic
|
||||
name = "aesthetic sterile mask"
|
||||
desc = "A sterile mask designed to help prevent the spread of diseases. This one doesn't seem like it does a whole lot, somehow."
|
||||
flags_inv = HIDEFACE
|
||||
flags_inv = null
|
||||
flags_cover = null
|
||||
visor_flags_inv = null
|
||||
visor_flags_cover = null
|
||||
|
||||
@@ -487,6 +487,13 @@
|
||||
item_state = "militaryjacket"
|
||||
allowed = list(/obj/item/flashlight, /obj/item/tank/internals/emergency_oxygen, /obj/item/tank/internals/plasmaman, /obj/item/toy, /obj/item/storage/fancy/cigarettes, /obj/item/lighter, /obj/item/gun/ballistic/automatic/pistol, /obj/item/gun/ballistic/revolver, /obj/item/radio)
|
||||
|
||||
/obj/item/clothing/suit/jacket/urbanjacket
|
||||
name = "urban jacket"
|
||||
desc = "A canvas jacket styled with a fur neck piece, stylish."
|
||||
icon_state = "urbanjacket"
|
||||
item_state = "urbanjacket"
|
||||
allowed = list(/obj/item/flashlight, /obj/item/tank/internals/emergency_oxygen, /obj/item/tank/internals/plasmaman, /obj/item/toy, /obj/item/storage/fancy/cigarettes, /obj/item/lighter, /obj/item/gun/ballistic/automatic/pistol, /obj/item/gun/ballistic/revolver, /obj/item/radio)
|
||||
|
||||
/obj/item/clothing/suit/jacket/letterman
|
||||
name = "letterman jacket"
|
||||
desc = "A classic brown letterman jacket. Looks pretty hot and heavy."
|
||||
|
||||
@@ -91,6 +91,12 @@
|
||||
icon_state = "tan_suit"
|
||||
item_state = "tan_suit"
|
||||
|
||||
/obj/item/clothing/under/suit/charismatic_suit
|
||||
name = "charismatic suit"
|
||||
desc = "Luck is for losers, baby."
|
||||
icon_state = "charismatic_suit"
|
||||
item_state = "charismatic_suit"
|
||||
|
||||
/obj/item/clothing/under/suit/white
|
||||
name = "white suit"
|
||||
desc = "A white suit and jacket with a blue shirt. You wanna play rough? OKAY!"
|
||||
|
||||
@@ -281,11 +281,13 @@
|
||||
dropItemToGround(pocket_item)
|
||||
if(!usr.can_hold_items() || !usr.put_in_hands(pocket_item))
|
||||
pocket_item.forceMove(drop_location())
|
||||
log_combat(usr, src, "pickpocketed of item: [pocket_item]")
|
||||
else
|
||||
if(place_item)
|
||||
if(place_item.mob_can_equip(src, usr, pocket_id, FALSE, TRUE))
|
||||
usr.temporarilyRemoveItemFromInventory(place_item, TRUE)
|
||||
equip_to_slot(place_item, pocket_id, TRUE)
|
||||
log_combat(usr, src, "placed item [place_item] onto")
|
||||
//do nothing otherwise
|
||||
|
||||
// Update strip window
|
||||
@@ -293,8 +295,9 @@
|
||||
show_inv(usr)
|
||||
else
|
||||
// Display a warning if the user mocks up
|
||||
if (!strip_silence)
|
||||
if(!strip_silence)
|
||||
to_chat(src, "<span class='warning'>You feel your [pocket_side] pocket being fumbled with!</span>")
|
||||
log_combat(usr, src, "failed to [pocket_item ? "pickpocket item [pocket_item] from" : "place item [place_item] onto "]")
|
||||
|
||||
if(usr.canUseTopic(src, BE_CLOSE, NO_DEXTERY, null, FALSE))
|
||||
// separate from first canusetopic
|
||||
|
||||
@@ -866,7 +866,7 @@
|
||||
if(istype(G))
|
||||
strip_mod = G.strip_mod
|
||||
strip_silence = G.strip_silence
|
||||
if (!strip_silence)
|
||||
if(!strip_silence)
|
||||
who.visible_message("<span class='danger'>[src] tries to remove [who]'s [what.name].</span>", \
|
||||
"<span class='userdanger'>[src] tries to remove your [what.name].</span>", target = src,
|
||||
target_message = "<span class='danger'>You try to remove [who]'s [what.name].</span>")
|
||||
|
||||
@@ -35,7 +35,7 @@
|
||||
name = "gyrojet pistol"
|
||||
desc = "A prototype pistol designed to fire self propelled rockets."
|
||||
icon_state = "gyropistol"
|
||||
fire_sound = 'sound/weapons/grenadelaunch.ogg'
|
||||
fire_sound = 'sound/weapons/rocketlaunch.ogg'
|
||||
mag_type = /obj/item/ammo_box/magazine/m75
|
||||
burst_size = 1
|
||||
fire_delay = 0
|
||||
|
||||
@@ -31,7 +31,10 @@
|
||||
/obj/item/clothing/under/suit/burgundy = 3,
|
||||
/obj/item/clothing/under/suit/charcoal = 3,
|
||||
/obj/item/clothing/under/suit/white = 3,
|
||||
/obj/item/clothing/under/suit/tan = 3,
|
||||
/obj/item/clothing/under/suit/charismatic_suit = 3,
|
||||
/obj/item/clothing/under/costume/kilt = 3,
|
||||
/obj/item/clothing/suit/suspenders = 3,
|
||||
/obj/item/clothing/under/misc/overalls = 3,
|
||||
/obj/item/clothing/under/suit/sl = 3,
|
||||
/obj/item/clothing/accessory/sweater = 3,
|
||||
@@ -70,6 +73,7 @@
|
||||
/obj/item/clothing/accessory/suitjacket/burgundy = 2,
|
||||
/obj/item/clothing/accessory/suitjacket/checkered = 2,
|
||||
/obj/item/clothing/suit/jacket/miljacket = 5,
|
||||
/obj/item/clothing/suit/jacket/urbanjacket = 5,
|
||||
/obj/item/clothing/under/suit/white_on_white/skirt = 2,
|
||||
/obj/item/clothing/under/rank/captain/suit/skirt = 2,
|
||||
/obj/item/clothing/under/rank/civilian/head_of_personnel/suit/skirt = 2,
|
||||
|
||||
@@ -207,6 +207,7 @@
|
||||
product_ads = "You turn me TRUE, use defines!;0110001101101100011011110111010001101000011001010111001101101000011001010111001001100101"
|
||||
vend_reply = "Thank you for using the RoboDrobe!"
|
||||
products = list(/obj/item/clothing/glasses/hud/diagnostic = 3,
|
||||
/obj/item/stack/medical/nanogel = 5,
|
||||
/obj/item/clothing/head/beret/robo = 3,
|
||||
/obj/item/clothing/under/rank/rnd/roboticist = 3,
|
||||
/obj/item/clothing/under/rank/rnd/roboticist/sleek = 3,
|
||||
|
||||
@@ -68,6 +68,61 @@
|
||||
<li class="balance">sentient viruses can now infect synths and ipcs</li>
|
||||
</ul>
|
||||
|
||||
<h2 class="date">07 February 2021</h2>
|
||||
<h3 class="author">Thalpy updated:</h3>
|
||||
<ul class="changes bgimages16">
|
||||
<li class="refactor">Dispenser: Adds the ability to store a small amount of reagents in the machine itself for dispensing. Reacting recipies cannot be stored. Size of storage increases with bin size.</li>
|
||||
<li class="refactor">Dispenser: Allows reagents to be color coded by pH</li>
|
||||
<li class="refactor">Dispenser: Each reagent displays it's pH on hover</li>
|
||||
<li class="refactor">Dispenser: Allows the user to toggle between buttons and a radial dial</li>
|
||||
<li class="refactor">Dispenser: When the dispencer is upgraded it can dispense 5/3/2/1 volumes based on rating refactor: Dispenser: as it was before. This does not break recorded recipes.</li>
|
||||
<li class="tweak">Adds a round function to some numbers so they're not huge</li>
|
||||
<li class="tweak">The Chem master can now get purity for all reagents when analysed</li>
|
||||
<li class="bugfix">Synthissue fixes</li>
|
||||
<li class="tweak">buffers now have a strong and weak variant. Weak can be dispensed, and strong can be created. Strong buffers are 6x more effective.</li>
|
||||
<li class="bugfix">Some buffer pH edge calculation fixes</li>
|
||||
</ul>
|
||||
<h3 class="author">TyrianTyrell updated:</h3>
|
||||
<ul class="changes bgimages16">
|
||||
<li class="rscadd">added a signed language, that can't be used over the radio but can be used if you're mute. also added the multilingual trait.</li>
|
||||
<li class="imageadd">hopefully added an icon for the signed language.</li>
|
||||
<li class="code_imp">changed how some traits function slightly.</li>
|
||||
</ul>
|
||||
<h3 class="author">dzahlus updated:</h3>
|
||||
<ul class="changes bgimages16">
|
||||
<li class="tweak">tweaked a few sounds</li>
|
||||
<li class="soundadd">added a new weapon sounds</li>
|
||||
<li class="sounddel">removed old weapon sounds</li>
|
||||
<li class="code_imp">changed some sound related code</li>
|
||||
</ul>
|
||||
<h3 class="author">silicons updated:</h3>
|
||||
<ul class="changes bgimages16">
|
||||
<li class="rscadd">syndicate ablative armwraps have been added.</li>
|
||||
</ul>
|
||||
|
||||
<h2 class="date">05 February 2021</h2>
|
||||
<h3 class="author">SmArtKar updated:</h3>
|
||||
<ul class="changes bgimages16">
|
||||
<li class="rscadd">The orbit menu now has an Auto-Observe button! No more sifting through the lame observe menu to snoop in people's backpacks! Also, orbit menu now refreshes.</li>
|
||||
<li class="bugfix">KAs are no longer getting broken when fired by a circuit</li>
|
||||
</ul>
|
||||
<h3 class="author">keronshb updated:</h3>
|
||||
<ul class="changes bgimages16">
|
||||
<li class="rscadd">Adds clown waddle to clown shoes. Enhanced Clown Waddle Dampeners can be engaged in-hand with ctrl+click, _but why would you?_</li>
|
||||
</ul>
|
||||
<h3 class="author">MrJWhit updated:</h3>
|
||||
<ul class="changes bgimages16">
|
||||
<li class="rscadd">Re-adds theater disposal outlet, and makes dorms disposal able to have things sent to it on boxstation.</li>
|
||||
</ul>
|
||||
<h3 class="author">TyrianTyrell updated:</h3>
|
||||
<ul class="changes bgimages16">
|
||||
<li class="bugfix">made default tongue able to speak signed language.</li>
|
||||
</ul>
|
||||
<h3 class="author">timothyteakettle updated:</h3>
|
||||
<ul class="changes bgimages16">
|
||||
<li class="balance">sentient viruses can now infect synths and ipcs</li>
|
||||
</ul>
|
||||
|
||||
<h2 class="date">03 February 2021</h2>
|
||||
<h3 class="author">Hatterhat updated:</h3>
|
||||
<ul class="changes bgimages16">
|
||||
|
||||
@@ -0,0 +1,4 @@
|
||||
author: "DeltaFire15"
|
||||
delete-after: True
|
||||
changes:
|
||||
- tweak: "Added nanogel to the robodrobe."
|
||||
@@ -0,0 +1,4 @@
|
||||
author: "zeroisthebiggay"
|
||||
delete-after: True
|
||||
changes:
|
||||
- tweak: "the aesthetic sterile mask no longer hides faces so you can cosplay egirls and keep flavortexts"
|
||||
@@ -0,0 +1,4 @@
|
||||
author: "keronshb"
|
||||
delete-after: True
|
||||
changes:
|
||||
- rscdel: "Comments out power sink objective."
|
||||
@@ -0,0 +1,4 @@
|
||||
author: "keronshb"
|
||||
delete-after: True
|
||||
changes:
|
||||
- balance: "10 > 30 second for Warp Implant cooldown"
|
||||
@@ -0,0 +1,4 @@
|
||||
author: "dzahlus"
|
||||
delete-after: True
|
||||
changes:
|
||||
- bugfix: "fixes grenadelaunch.ogg being used where it shouldn't and makes mech weapons use correct sound"
|
||||
@@ -0,0 +1,4 @@
|
||||
author: "timothyteakettle"
|
||||
delete-after: True
|
||||
changes:
|
||||
- admin: "pickpocketing is now logged using log_combat"
|
||||
@@ -0,0 +1,5 @@
|
||||
author: "Adelphon"
|
||||
delete-after: True
|
||||
changes:
|
||||
- rscadd: "Charismatic Suit"
|
||||
- rscadd: "Urban Jacket"
|
||||
@@ -0,0 +1,4 @@
|
||||
author: "Putnam3145"
|
||||
delete-after: True
|
||||
changes:
|
||||
- rscadd: "Config to keep unreadied players from mode voting"
|
||||
@@ -0,0 +1,4 @@
|
||||
author: "timothyteakettle"
|
||||
delete-after: True
|
||||
changes:
|
||||
- bugfix: "persistent blood should stop being invisible and alt clicking it shouldn't return the entire spritesheet"
|
||||
|
Before Width: | Height: | Size: 17 KiB After Width: | Height: | Size: 17 KiB |
|
Before Width: | Height: | Size: 47 KiB After Width: | Height: | Size: 47 KiB |
|
Before Width: | Height: | Size: 444 KiB After Width: | Height: | Size: 460 KiB |
|
Before Width: | Height: | Size: 454 KiB After Width: | Height: | Size: 455 KiB |
|
Before Width: | Height: | Size: 160 KiB After Width: | Height: | Size: 165 KiB |
|
Before Width: | Height: | Size: 130 KiB After Width: | Height: | Size: 130 KiB |
|
Before Width: | Height: | Size: 29 KiB After Width: | Height: | Size: 29 KiB |
@@ -537,4 +537,9 @@
|
||||
path = /obj/item/clothing/suit/custom/exo
|
||||
ckeywhitelist = list("jesterz7")
|
||||
|
||||
/datum/gear/donator/choker
|
||||
name = "NT Choker"
|
||||
slot = SLOT_NECK
|
||||
path = /obj/item/clothing/neck/petcollar/choker
|
||||
ckeywhitelist = list("trigillass")
|
||||
|
||||
|
||||
@@ -159,6 +159,11 @@
|
||||
path = /obj/item/clothing/suit/jacket/miljacket
|
||||
subcategory = LOADOUT_SUBCATEGORY_SUIT_JACKETS
|
||||
|
||||
/datum/gear/suit/urbanjacket
|
||||
name = "Urban Jacket"
|
||||
path = /obj/item/clothing/suit/jacket/urbanjacket
|
||||
subcategory = LOADOUT_SUBCATEGORY_SUIT_JACKETS
|
||||
|
||||
/datum/gear/suit/ianshirt
|
||||
name = "Ian Shirt"
|
||||
path = /obj/item/clothing/suit/ianshirt
|
||||
|
||||
@@ -32,6 +32,10 @@
|
||||
name = "Tan suit"
|
||||
path = /obj/item/clothing/under/suit/tan
|
||||
|
||||
/datum/gear/uniform/suit/charismatic_suit
|
||||
name = "Charismatic suit"
|
||||
path = /obj/item/clothing/under/suit/charismatic_suit
|
||||
|
||||
/datum/gear/uniform/suit/white
|
||||
name = "White suit"
|
||||
path = /obj/item/clothing/under/suit/white
|
||||
|
||||
@@ -585,3 +585,12 @@
|
||||
icon = 'icons/obj/custom.dmi'
|
||||
mob_overlay_icon = 'icons/mob/clothing/custom_w.dmi'
|
||||
mutantrace_variation = NONE
|
||||
|
||||
/obj/item/clothing/neck/petcollar/choker
|
||||
name = "NT Choker"
|
||||
desc = "NT property since January 21st, 2562."
|
||||
icon = 'icons/obj/custom.dmi'
|
||||
icon_state = "choker"
|
||||
mob_overlay_icon = 'icons/mob/clothing/custom_w.dmi'
|
||||
item_state = "choker"
|
||||
tagname = null
|
||||
|
||||
@@ -85,23 +85,20 @@
|
||||
|
||||
///projectiles///
|
||||
|
||||
/obj/item/projectile/bullet/cflechetteap //shreds armor
|
||||
/obj/item/projectile/bullet/cflechetteap //shreds armor but no wounds
|
||||
name = "flechette (armor piercing)"
|
||||
damage = 8
|
||||
armour_penetration = 80
|
||||
damage = 15
|
||||
armour_penetration = 100
|
||||
wound_bonus = -100
|
||||
|
||||
/obj/item/projectile/bullet/cflechettes //shreds flesh and forces bleeding
|
||||
/obj/item/projectile/bullet/cflechettes //causes wounds fast but is heavily countered by armor
|
||||
name = "flechette (serrated)"
|
||||
damage = 15
|
||||
dismemberment = 10
|
||||
armour_penetration = -80
|
||||
|
||||
/obj/item/projectile/bullet/cflechettes/on_hit(atom/target, blocked = FALSE)
|
||||
if((blocked != 100) && iscarbon(target))
|
||||
var/mob/living/carbon/C = target
|
||||
C.bleed(10)
|
||||
return ..()
|
||||
|
||||
wound_bonus = 15
|
||||
sharpness = SHARP_EDGED
|
||||
wound_falloff_tile = 0
|
||||
|
||||
///ammo casings (CASELESS AMMO CASINGS WOOOOOOOO)///
|
||||
|
||||
/obj/item/ammo_casing/caseless/flechetteap
|
||||
@@ -168,15 +165,19 @@
|
||||
|
||||
///unique variant///
|
||||
|
||||
/obj/item/projectile/bullet/cflechetteshredder
|
||||
/obj/item/projectile/bullet/cflechetteshredder //you only get this with a 30TC bundle,5 magazines, as such this should be the superior ammotype
|
||||
name = "flechette (shredder)"
|
||||
damage = 5
|
||||
dismemberment = 40
|
||||
damage = 10
|
||||
dismemberment = 50
|
||||
wound_bonus = 50
|
||||
armour_penetration = 100
|
||||
sharpness = SHARP_EDGED
|
||||
wound_falloff_tile = 0
|
||||
|
||||
/obj/item/ammo_casing/caseless/flechetteshredder
|
||||
name = "flechette (shredder)"
|
||||
desc = "A serrated flechette made of a special alloy that forms a monofilament edge."
|
||||
projectile_type = /obj/item/projectile/bullet/cflechettes
|
||||
projectile_type = /obj/item/projectile/bullet/cflechetteshredder
|
||||
|
||||
/obj/item/ammo_box/magazine/flechette/shredder
|
||||
name = "flechette magazine (shredder)"
|
||||
@@ -185,7 +186,7 @@
|
||||
|
||||
/obj/item/gun/ballistic/automatic/flechette/shredder
|
||||
name = "\improper CX Shredder"
|
||||
desc = "A flechette launching machine pistol made of ultra-light CFRP optimized for firing serrated monofillament flechettes."
|
||||
desc = "A flechette launching machine pistol made of ultra-light CFRP optimized for firing serrated monofilament flechettes."
|
||||
w_class = WEIGHT_CLASS_SMALL
|
||||
spread = 15
|
||||
recoil = 0.1
|
||||
|
||||