Merge pull request #3170 from JoanRisu/Fluff_Items_worshop

Return of the Fluff Items Workshop
This commit is contained in:
Aronai Sieyes
2018-03-16 21:31:09 -04:00
committed by GitHub
6 changed files with 189 additions and 65 deletions
@@ -236,70 +236,6 @@
item_state = (ammo_magazine)? "arifle" : "arifle-empty"
if(!ignore_inhands) update_held_icon()
//Currently, the only problem I have now is that this weapon's item_state isn't working.
/* // This has never worked and probably never will work. Why do we even have this?
/obj/item/weapon/gun/projectile/automatic/fluff/crestrose
name = "Crescent Rose"
desc = "Can you match my resolve? If so then you will succeed. I believe that the human spirit is indomitable. Keep Moving Forward. Uses 7.62mm rounds."
icon = 'icons/vore/custom_guns_vr.dmi'
icon_state = "crestrose_fold"
icon_override = 'icons/vore/custom_guns_vr.dmi'
item_state = "crestrose_fold_mob"
item_icons = null
w_class = ITEMSIZE_LARGE
origin_tech = list(TECH_COMBAT = 7, TECH_MATERIAL = 4)
slot_flags = null
fire_sound = 'sound/weapons/Gunshot_light.ogg'
load_method = MAGAZINE
force = 3
recoil = 2
var/on = 0
auto_eject = 1
auto_eject_sound = 'sound/weapons/smg_empty_alarm.ogg'
hitsound = null
caliber = "s762"
magazine_type = /obj/item/ammo_magazine/m762
allowed_magazines = list(/obj/item/ammo_magazine/m762)
/obj/item/weapon/gun/projectile/automatic/fluff/crestrose/attack_self(mob/user as mob)
on = !on
if(on)
user.visible_message("<span class='warning'>With a press of a button, [user]'s gun turns into a deadly scythe.</span>",\
"<span class='warning'>You extend The Rose's thorns.</span>",\
"You hear an ominous click.")
icon = 'icons/vore/custom_guns_vr.dmi'
icon_state = "crestrose"
icon_override = 'icons/vore/custom_guns_vr.dmi'
item_state = "crestrose_mob"
w_class = ITEMSIZE_LARGE
force = 15//Obscenely robust
attack_verb = list("slashed", "cut", "drives")
hitsound = 'sound/weapons/bladeslice.ogg'
else
user.visible_message("<span class='notice'>\The [user] folds the weapon back up into a gun.</span>",\
"<span class='notice'>You fold up the weapon.</span>",\
"You hear a click.")
icon = 'icons/vore/custom_guns_vr.dmi'
icon_state = "crestrose_fold"
icon_override = 'icons/vore/custom_guns_vr.dmi'
item_state = "crestrose_fold_mob"
w_class = ITEMSIZE_NORMAL
force = 3//Not so obscenely robust
attack_verb = list("hit", "melee'd")
hitsound = null
update_icon()
/obj/item/weapon/gun/projectile/automatic/fluff/crestrose/handle_shield(mob/user, var/damage, atom/damage_source = null, mob/attacker = null, var/def_zone = null, var/attack_text = "the attack")
if(default_parry_check(user, attacker, damage_source) && prob(50))
user.visible_message("<span class='danger'>\The [user] parries [attack_text] with \the [src]!</span>")
playsound(user.loc, 'sound/weapons/punchmiss.ogg', 50, 1)
return 1
return 0*/
//-----------------------Tranq Gun----------------------------------
/obj/item/weapon/gun/projectile/dartgun/tranq
name = "tranquilizer gun"
@@ -0,0 +1,40 @@
/obj/item/weapon/gun/projectile/automatic/fluff/crestrose
name = "Crescent Rose"
desc = "Can you match my resolve? If so then you will succeed. I believe that the human spirit is indomitable. Keep Moving Forward. Uses 7.62mm rounds."
icon = 'icons/vore/custom_guns_vr.dmi'
icon_state = "crestrose_fold"
icon_override = 'icons/vore/custom_guns_vr.dmi'
item_state = "laser" //placeholder
w_class = ITEMSIZE_NORMAL
origin_tech = list(TECH_COMBAT = 7, TECH_MATERIAL = 4)
slot_flags = null
fire_sound = 'sound/weapons/Gunshot_light.ogg'
load_method = MAGAZINE
force = 3
recoil = 2
auto_eject = 1
auto_eject_sound = 'sound/weapons/smg_empty_alarm.ogg'
hitsound = null
caliber = "s762"
magazine_type = /obj/item/ammo_magazine/m762
allowed_magazines = list(/obj/item/ammo_magazine/m762)
firemodes = list(
list(mode_name="fold", icon_state="crestrose_fold",item_state = "laser",force=3),
list(mode_name="scythe", icon_state="crestrose",item_state = "crestrose",force=15),
)
/obj/item/weapon/gun/projectile/automatic/fluff/crestrose/switch_firemodes(mob/user)
if(..())
update_icon()
update_held_icon()
/obj/item/weapon/gun/projectile/automatic/fluff/crestrose/handle_shield(mob/user, var/damage, atom/damage_source = null, mob/attacker = null, var/def_zone = null, var/attack_text = "the attack")
if(default_parry_check(user, attacker, damage_source) && prob(50))
user.visible_message("<span class='danger'>\The [user] parries [attack_text] with \the [src]!</span>")
playsound(user.loc, 'sound/weapons/punchmiss.ogg', 50, 1)
return 1
return 0
+20 -1
View File
@@ -1,7 +1,7 @@
// -------------- Dominator -------------
/obj/item/weapon/gun/energy/gun/fluff/dominator
name = "\improper MWPSB Dominator"
desc = "A MWPSB's Dominator from the Federation. Like the basic Energy Gun, this gun has two settings. It is used by the United Federation Public Safety Bureau's Criminal Investigation Division."
desc = "A MWPSB's Dominator from the Federation. Like the basic Energy Gun, this gun has two settings. It is used by the United Federation Public Safety Bureau's Criminal Investigation Division. The weapon can only be fired by the owner and is alert-level locked."
icon = 'icons/vore/custom_guns_vr.dmi'
icon_state = "dominatorstun100"
@@ -22,6 +22,25 @@
list(mode_name="lethal", charge_cost=480,projectile_type=/obj/item/projectile/beam/dominator, modifystate="dominatorkill", fire_sound='sound/weapons/gauss_shoot.ogg'),
)
var/emagged = FALSE
/obj/item/weapon/gun/energy/gun/fluff/dominator/special_check(mob/user)
if(!emagged && mode_name == "lethal" && get_security_level() == "green")
to_chat(user,"<span class='warning'>The trigger refuses to depress while on the lethal setting under security level green!</span>")
return FALSE
return ..()
/obj/item/weapon/gun/energy/gun/fluff/dominator/emag_act(var/remaining_charges,var/mob/user)
..()
if(!emagged)
emagged = TRUE
to_chat(user,"<span class='warning'>You disable the alert level locking mechanism on \the [src]!</span>")
return TRUE
// Dominator Ammo
/obj/item/projectile/beam/dominator
name = "dominator lethal beam"
@@ -0,0 +1,127 @@
/obj/item/weapon/gun/energy/gun/fluff/gunsword
name = "Sword Buster"
desc = "A gun custom built using the science behind a Golden Empire pistol."
icon = 'icons/vore/custom_guns_vr.dmi'
icon_state = "gbuster100"
icon_override = 'icons/vore/custom_guns_vr.dmi'
item_state = null
item_icons = null
w_class = ITEMSIZE_NORMAL
origin_tech = list(TECH_COMBAT = 8, TECH_MATERIAL = 4)
slot_flags = null
projectile_type = /obj/item/projectile/beam/stun
fire_sound = 'sound/weapons/gauss_shoot.ogg'
charge_meter = 1
cell_type = /obj/item/weapon/cell/device/weapon/gunsword
modifystate = "gbuster"
firemodes = list(
list(mode_name="stun", charge_cost=240,projectile_type=/obj/item/projectile/beam/stun, modifystate="gbuster", fire_sound='sound/weapons/Taser.ogg'),
list(mode_name="lethal", charge_cost=480,projectile_type=/obj/item/projectile/beam, modifystate="gbuster", fire_sound='sound/weapons/gauss_shoot.ogg'),
)
// -----------------gunsword battery--------------------------
/obj/item/weapon/cell/device/weapon/gunsword
name = "Buster Cell"
desc = "The Buster Cell. It doubles as a sword when activated outside the gun housing."
icon = 'icons/vore/custom_guns_vr.dmi'
icon_state = "gsaberoff"
icon_override = 'icons/vore/custom_guns_vr.dmi'
item_state = "gsaberoff"
maxcharge = 2400
charge_amount = 20
force = 3
throwforce = 5
throw_speed = 1
throw_range = 5
w_class = ITEMSIZE_SMALL
origin_tech = list(TECH_MAGNET = 3, TECH_COMBAT = 5)
var/active = 0
var/active_force = 30
var/active_throwforce = 20
var/active_w_class = ITEMSIZE_LARGE
var/active_embed_chance = 0 //In the off chance one of these is supposed to embed, you can just tweak this var
sharp = 0
edge = 0
armor_penetration = 50
flags = NOBLOODY
var/lrange = 2
var/lpower = 2
var/lcolor = "#800080"
/obj/item/weapon/cell/device/weapon/gunsword/proc/activate(mob/living/user)
if(active)
return
icon_state = "gsaber"
item_state = "gsaber"
active = 1
embed_chance = active_embed_chance
force = active_force
throwforce = active_throwforce
sharp = 1
edge = 1
w_class = active_w_class
playsound(user, 'sound/weapons/saberon.ogg', 50, 1)
set_light(lrange, lpower, lcolor)
attack_verb = list("attacked", "slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut")
/obj/item/weapon/cell/device/weapon/gunsword/proc/deactivate(mob/living/user)
if(!active)
return
playsound(user, 'sound/weapons/saberoff.ogg', 50, 1)
icon_state = "gsaberoff"
item_state = "gsaberoff"
active = 0
embed_chance = initial(embed_chance)
force = initial(force)
throwforce = initial(throwforce)
sharp = initial(sharp)
edge = initial(edge)
w_class = initial(w_class)
set_light(0,0)
attack_verb = list()
/obj/item/weapon/cell/device/weapon/gunsword/attack_self(mob/living/user as mob)
var/datum/gender/TU = gender_datums[user.get_visible_gender()]
if (active)
if ((CLUMSY in user.mutations) && prob(50))
user.visible_message("<span class='danger'>\The [user] accidentally cuts [TU.himself] with \the [src].</span>",\
"<span class='danger'>You accidentally cut yourself with \the [src].</span>")
user.take_organ_damage(5,5)
deactivate(user)
update_icon()
update_held_icon()
else
activate(user)
update_icon()
update_held_icon()
if(istype(user,/mob/living/carbon/human))
var/mob/living/carbon/human/H = user
H.update_inv_l_hand()
H.update_inv_r_hand()
add_fingerprint(user)
return
/obj/item/weapon/cell/device/weapon/gunsword/suicide_act(mob/user)
var/datum/gender/TU = gender_datums[user.get_visible_gender()]
if(active)
user.visible_message(pick("<span class='danger'>\The [user] is slitting [TU.his] stomach open with \the [src]! It looks like [TU.he] [TU.is] trying to commit seppuku.</span>",\
"<span class='danger'>\The [user] is falling on \the [src]! It looks like [TU.he] [TU.is] trying to commit suicide.</span>"))
return (BRUTELOSS|FIRELOSS)
/obj/item/weapon/cell/device/weapon/gunsword/update_icon()
overlays.Cut()