mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-01-07 16:12:24 +00:00
Instead of 'x has been attacked with y by z' it now reads 'x has been 'y.attack_verb-ed' with y by z'!
Example:
Monkeyman has been bashed in the head with a riot shield by Nodrak!
or
Monkeyman has been stabbed in the chest with an energy sword by Nodrak!
- Every obj now has a list named "attack_verbs"
- When declaring an object, just use attack_verb = list("verb1", "verb2") and so on to initialize the list for that specific item.
- I've added a bunch of these to a ton of items already, feel free to modify or add more. Just try to stay away from gimmicky verbs (clown stuff being the exception.)
clothing.dm and spawner.dm only had a single definition in each of them, so their definitins have been moved to obj.dm and their original dm files deleted. I'm not sure about spawner but clothing had all of its other definitions removed recently.
radio.dm was a completely blank file, so it was removed.
Changelog updated
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4182 316c924e-a436-60f5-8080-3fe189b3f50e
108 lines
3.4 KiB
Plaintext
108 lines
3.4 KiB
Plaintext
/*##################################################################
|
|
##################### TWO HANDED WEAPONS BE HERE~ -Agouri :3 ########
|
|
####################################################################*/
|
|
|
|
//Rewrote TwoHanded weapons stuff and put it all here. Just copypasta fireaxe to make new ones ~Carn
|
|
//This rewrite means we don't have two variables for EVERY item which are used only by a few weapons.
|
|
//It also tidies stuff up elsewhere.
|
|
|
|
/obj/item/weapon/twohanded
|
|
var/wielded = 0
|
|
var/force_unwielded = 0
|
|
var/force_wielded = 0
|
|
|
|
/obj/item/weapon/twohanded/proc/unwield()
|
|
wielded = 0
|
|
force = force_unwielded
|
|
name = "[initial(name)]"
|
|
update_icon()
|
|
|
|
/obj/item/weapon/twohanded/proc/wield()
|
|
wielded = 1
|
|
force = force_wielded
|
|
name = "[initial(name)] (Wielded)"
|
|
update_icon()
|
|
|
|
/obj/item/weapon/twohanded/dropped(mob/user as mob)
|
|
//handles unwielding a twohanded weapon when dropped as well as clearing up the offhand
|
|
if(user)
|
|
var/obj/item/weapon/twohanded/O = user.get_inactive_hand()
|
|
if(istype(O))
|
|
O.unwield()
|
|
return unwield()
|
|
|
|
/obj/item/weapon/twohanded/update_icon()
|
|
return
|
|
|
|
/obj/item/weapon/twohanded/pickup(mob/user)
|
|
unwield()
|
|
|
|
/obj/item/weapon/twohanded/attack_self(mob/user as mob)
|
|
if( istype(user,/mob/living/carbon/monkey) )
|
|
user << "<span class='warning'>It's too heavy for you to wield fully.</span>"
|
|
return
|
|
|
|
..()
|
|
if(wielded) //Trying to unwield it
|
|
unwield()
|
|
user << "<span class='notice'>You are now carrying the [name] with one hand.</span>"
|
|
|
|
var/obj/item/weapon/twohanded/offhand/O = user.get_inactive_hand()
|
|
if(O && istype(O))
|
|
O.unwield()
|
|
return
|
|
|
|
else //Trying to wield it
|
|
if(user.get_inactive_hand())
|
|
user << "<span class='warning'>You need your other hand to be empty</span>"
|
|
return
|
|
wield()
|
|
user << "<span class='notice'>You grab the [initial(name)] with both hands.</span>"
|
|
|
|
var/obj/item/weapon/twohanded/offhand/O = new(user) ////Let's reserve his other hand~
|
|
O.name = "[initial(name)] - offhand"
|
|
O.desc = "Your second grip on the [initial(name)]"
|
|
user.put_in_inactive_hand(O)
|
|
return
|
|
|
|
///////////OFFHAND///////////////
|
|
/obj/item/weapon/twohanded/offhand
|
|
w_class = 5.0
|
|
icon_state = "offhand"
|
|
name = "offhand"
|
|
|
|
unwield()
|
|
del(src)
|
|
|
|
wield()
|
|
del(src)
|
|
|
|
////////////FIREAXE!//////////////
|
|
/obj/item/weapon/twohanded/fireaxe // DEM AXES MAN, marker -Agouri
|
|
icon_state = "fireaxe0"
|
|
name = "fire axe"
|
|
desc = "Truly, the weapon of a madman. Who would think to fight fire with an axe?"
|
|
force = 5
|
|
w_class = 4.0
|
|
slot_flags = SLOT_BACK
|
|
force_unwielded = 5
|
|
force_wielded = 18
|
|
attack_verb = list("attacked", "chopped", "cleaved", "torn", "cut")
|
|
|
|
/obj/item/weapon/twohanded/fireaxe/update_icon() //Currently only here to fuck with the on-mob icons.
|
|
icon_state = "fireaxe[wielded]"
|
|
return
|
|
|
|
/obj/item/weapon/twohanded/fireaxe/afterattack(atom/A as mob|obj|turf|area, mob/user as mob)
|
|
..()
|
|
if(A && wielded && (istype(A,/obj/structure/window) || istype(A,/obj/structure/grille))) //destroys windows and grilles in one hit
|
|
if(istype(A,/obj/structure/window)) //should just make a window.Break() proc but couldn't bother with it
|
|
var/obj/structure/window/W = A
|
|
|
|
new /obj/item/weapon/shard( W.loc )
|
|
if(W.reinf) new /obj/item/stack/rods( W.loc)
|
|
|
|
if (W.dir == SOUTHWEST)
|
|
new /obj/item/weapon/shard( W.loc )
|
|
if(W.reinf) new /obj/item/stack/rods( W.loc)
|
|
del(A) |