mirror of
https://github.com/VOREStation/VOREStation.git
synced 2026-08-22 11:38:12 +01:00
Merge pull request #3170 from JoanRisu/Fluff_Items_worshop
Return of the Fluff Items Workshop
This commit is contained in:
@@ -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
|
||||
@@ -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()
|
||||
Reference in New Issue
Block a user