Attack verbs!

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
This commit is contained in:
johnsonmt88@gmail.com
2012-07-26 05:21:24 +00:00
parent 3939599047
commit c930622bea
29 changed files with 105 additions and 326 deletions
+13 -1
View File
@@ -12,6 +12,7 @@
var/datum/marked_datum
animate_movement = 2
var/throwforce = 1
var/list/attack_verb = list() //Used in attackby() to say how something was attacked "[x] has been [z.attack_verb] by [y] with [z]"
proc/handle_internal_lifeform(mob/lifeform_inside_me, breath_request)
//Return: (NONSTANDARD)
@@ -380,6 +381,7 @@
desc = "Blueprints of the station. There's stamp \"Classified\" and several coffee stains on it."
icon = 'icons/obj/items.dmi'
icon_state = "blueprints"
attack_verb = list("attacked", "bapped", "hit")
/obj/item/apc_frame
name = "APC frame"
@@ -745,7 +747,7 @@
density = 1
anchored = 1.0
layer = 2.8
throwpass = 1 //You can throw objects over this, despite it's density.
throwpass = 1 //You can throw objects over this, despite it's density.")
/obj/structure/table/New()
..()
@@ -1002,6 +1004,7 @@
throw_speed = 3
throw_range = 5
origin_tech = "biotech=3"
attack_verb = list("attacked", "slapped", "whacked")
var/mob/living/carbon/brain/brainmob = null
@@ -1200,6 +1203,7 @@
throw_range = 20
m_amt = 1875
max_amount = 60
attack_verb = list("hit", "bludgeoned", "whacked")
/obj/item/stack/sheet
name = "sheet"
@@ -1213,6 +1217,7 @@
max_amount = 50
throw_speed = 3
throw_range = 3
attack_verb = list("bashed", "battered", "bludgeoned", "thrashed", "smashed")
var/perunit = 3750
/obj/item/stack/sheet/attackby(obj/item/weapon/W as obj, mob/user as mob)
@@ -1394,6 +1399,7 @@
throw_range = 20
flags = FPRINT | TABLEPASS | CONDUCT
max_amount = 60
attack_verb = list("bashed", "battered", "bludgeoned", "thrashed", "smashed")
var/on = 1
var/state //0 = fine, 1 = flickering, 2 = breaking, 3 = broken
@@ -1449,3 +1455,9 @@
name = "Geas"
desc = "You can't resist."
// name = ""
/obj/item/clothing
name = "clothing"
/obj/effect/spawner
name = "object spawner"
-21
View File
@@ -1,21 +0,0 @@
// All currently in-game clothing. Gimmicks moved to obj\clothing\gimmick.dm for all of your gay fantasy roleplay dress-up shenanigans.
/obj/item/clothing
name = "clothing"
// var/obj/item/clothing/master = null
// Belt slot clothing (only suspenders for now, because utility belt is a storage item)
/*
/obj/item/clothing/belt
name = "belt"
flags = FPRINT | TABLEPASS | ONBELT
*/
+3
View File
@@ -1728,6 +1728,7 @@
plant_type = 2
origin_tech = "materials=1"
seed = "/obj/item/seeds/towermycelium"
attack_verb = list("bashed", "battered", "bludgeoned", "whacked")
attackby(obj/item/weapon/W as obj, mob/user as mob)
if(istype(W, /obj/item/weapon/circular_saw) || istype(W, /obj/item/weapon/hatchet) || (istype(W, /obj/item/weapon/twohanded/fireaxe) && W:wielded) || istype(W, /obj/item/weapon/melee/energy))
@@ -1812,6 +1813,7 @@
plant_type = 1
seed = "/obj/item/seeds/deathnettleseed"
origin_tech = "combat=3"
attack_verb = list("stung")
New()
..()
reagents.add_reagent("nutriment", 1+round((potency / 50), 1))
@@ -1926,6 +1928,7 @@
throwforce = 7.0
w_class = 2.0
m_amt = 50
attack_verb = list("slashed", "sliced", "cut", "clawed")
// *************************************
// Weedkiller defines for hydroponics
View File
-3
View File
@@ -1,3 +0,0 @@
/obj/effect/spawner
name = "object spawner"
+1
View File
@@ -420,6 +420,7 @@
throw_range = 7
w_class = 4.0
origin_tech = "combat=1"
attack_verb = "robusted"
/obj/item/weapon/storage/toolbox/emergency
name = "emergency toolbox"
+4
View File
@@ -134,6 +134,7 @@
w_class = 3.0
g_amt = 10
m_amt = 10
attack_verb = list("struck", "pistol whipped", "hit", "bashed")
var/bullets = 7.0
examine()
@@ -188,6 +189,7 @@
var/active = 0.0
w_class = 2.0
flags = FPRINT | TABLEPASS | NOSHIELD
attack_verb = list("attacked", "struck", "hit")
attack_self(mob/user as mob)
src.active = !( src.active )
@@ -214,6 +216,7 @@
item_state = "crossbow"
flags = FPRINT | TABLEPASS | USEDELAY
w_class = 2.0
attack_verb = list("attacked", "struck", "hit")
var/bullets = 5
examine()
@@ -319,6 +322,7 @@
icon = 'icons/obj/crayons.dmi'
icon_state = "crayonred"
w_class = 1.0
attack_verb = list("attacked", "coloured")
var/colour = "#FF0000" //RGB
var/shadeColour = "#220000" //RGB
var/uses = 30 //0 for unlimited uses
+33 -1
View File
@@ -22,6 +22,7 @@
g_amt = 7500
m_amt = 1000
origin_tech = "materials=2"
attack_verb = list("shoved", "bashed")
IsShield()
return 1
@@ -38,6 +39,7 @@
throw_range = 4
w_class = 1
origin_tech = "materials=4;magnets=3;syndicate=4"
attack_verb = list("shoved", "bashed")
var/active = 0
@@ -64,6 +66,7 @@
force = 2
throwforce = 1
w_class = 3
attack_verb = list("attacked", "slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut")
/obj/item/weapon/claymore
name = "claymore"
@@ -75,6 +78,7 @@
force = 40
throwforce = 10
w_class = 3
attack_verb = list("attacked", "slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut")
IsShield()
return 1
@@ -89,6 +93,7 @@
force = 40
throwforce = 10
w_class = 3
attack_verb = list("attacked", "slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut")
IsShield()
return 1
@@ -227,6 +232,7 @@
throwforce = 7
w_class = 3
origin_tech = "combat=4"
attack_verb = list("flogged", "whipped", "lashed", "disciplined")
/obj/item/weapon/melee/energy
var/active = 0
@@ -242,6 +248,7 @@
w_class = 3.0
flags = FPRINT | CONDUCT | NOSHIELD | TABLEPASS
origin_tech = "combat=3"
attack_verb = list("attacked", "chopped", "cleaved", "torn", "cut")
/obj/item/weapon/melee/energy/sword
color
@@ -255,6 +262,7 @@
w_class = 2.0
flags = FPRINT | TABLEPASS | NOSHIELD
origin_tech = "magnets=3;syndicate=4"
attack_verb = list("attacked", "slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut")
/obj/item/weapon/melee/energy/sword/chainsword
color = "chain"
@@ -276,6 +284,7 @@
throw_range = 1
w_class = 4.0//So you can't hide it in your pocket or some such.
flags = FPRINT | TABLEPASS | NOSHIELD
attack_verb = list("attacked", "slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut")
var/datum/effect/effect/system/spark_spread/spark_system
/obj/item/weapon/bananapeel
@@ -410,6 +419,7 @@
w_class = 1.0
throw_speed = 3
throw_range = 15
attack_verb = list("HONKED")
var/spam_flag = 0
/obj/item/stack/medical
@@ -569,6 +579,7 @@
flags = TABLEPASS | USEDELAY | FPRINT | CONDUCT
slot_flags = SLOT_BELT
item_state = "coil_red"
attack_verb = list("whipped", "lashed", "disciplined", "flogged")
/obj/item/weapon/cable_coil/cut
item_state = "coil_red2"
@@ -620,6 +631,7 @@
w_class = 2.0
m_amt = 50
origin_tech = "engineering=1"
attack_verb = list("attacked", "bashed", "battered", "bludgeoned", "thrashed", "whacked")
/obj/item/weapon/crowbar/red
icon = 'icons/obj/items.dmi'
@@ -637,6 +649,7 @@
item_state = "cane"
w_class = 2.0
m_amt = 50
attack_verb = list("bludgeoned", "whacked", "disciplined")
/obj/item/weapon/cane/browncane
name = " browncane"
@@ -675,6 +688,7 @@
force = 10.0
item_state = "fire_extinguisher"
m_amt = 90
attack_verb = list("slammed", "whacked", "bashed", "thunked", "battered", "bludgeoned", "thrashed")
/obj/item/weapon/extinguisher/mini
name = "fire extinguisher"
@@ -894,6 +908,7 @@
throw_range = 5
w_class = 2.0
flags = FPRINT | TABLEPASS
attack_verb = list("warned", "cautioned", "smashed")
/obj/item/weapon/caution/cone
desc = "This cone is trying to warn you of something!"
@@ -958,6 +973,7 @@
w_class = 1.0
throw_speed = 7
throw_range = 15
attack_verb = list("banned")
/obj/item/weapon/pen/sleepypen
desc = "It's a normal black ink pen with a sharp point and a carefully engraved \"Waffle Co.\""
@@ -1001,6 +1017,7 @@
throw_range = 5
g_amt = 0
m_amt = 75
attack_verb = list("stabbed")
/obj/item/weapon/shard
name = "shard"
@@ -1012,6 +1029,7 @@
throwforce = 15.0
item_state = "shard-glass"
g_amt = 3750
attack_verb = list("stabbed", "slashed", "sliced", "cut")
/*/obj/item/weapon/syndicate_uplink
name = "station bounced radio"
@@ -1081,7 +1099,7 @@
throw_range = 5
w_class = 2.0
flags = FPRINT | TABLEPASS | NOSHIELD
attack_verb = list("bludgeoned", "whacked", "disciplined")
/obj/item/weapon/staff/stick
name = "stick"
@@ -1104,6 +1122,7 @@
icon_state = "table_parts"
m_amt = 3750
flags = FPRINT | TABLEPASS| CONDUCT
attack_verb = list("slammed", "bashed", "battered", "bludgeoned", "thrashed", "whacked")
/obj/item/weapon/table_parts/reinforced
name = "reinforced table parts"
@@ -1141,6 +1160,7 @@
var/laying = 0.0
var/old_lay = null
m_amt = 40
attack_verb = list("whipped", "lashed", "disciplined", "tickled")
/obj/item/weapon/wrapping_paper
name = "wrapping paper"
@@ -1340,6 +1360,7 @@
throw_speed = 2
throw_range = 7
w_class = 3.0
attack_verb = list("bashed", "battered", "bludgeoned", "thrashed", "whacked") //I think the rollingpin attackby will end up ignoring this anyway.
/obj/item/weapon/kitchenknife
name = "kitchen knife"
@@ -1354,6 +1375,7 @@
throw_range = 6
m_amt = 12000
origin_tech = "materials=1"
attack_verb = list("slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut")
/obj/item/weapon/butch
name = "butcher's Cleaver"
@@ -1368,6 +1390,7 @@
throw_range = 6
m_amt = 12000
origin_tech = "materials=1"
attack_verb = list("cleaved", "slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut")
/obj/item/weapon/tray
name = "tray"
@@ -1410,6 +1433,7 @@
throw_range = 5
flags = FPRINT | TABLEPASS | CONDUCT
origin_tech = "materials=1"
attack_verb = list("attacked", "stabbed", "poked")
/obj/item/weapon/kitchen/utensil/fork
@@ -1428,6 +1452,7 @@
name = "spoon"
desc = "SPOON!"
icon_state = "spoon"
attack_verb = list("attacked", "poked")
/obj/item/weapon/scalpel
name = "scalpel"
@@ -1443,6 +1468,7 @@
m_amt = 10000
g_amt = 5000
origin_tech = "materials=1;biotech=1"
attack_verb = list("attacked", "slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut")
/obj/item/weapon/retractor
name = "retractor"
@@ -1465,6 +1491,7 @@
flags = FPRINT | TABLEPASS | CONDUCT
w_class = 1.0
origin_tech = "materials=1;biotech=1"
attack_verb = list("attacked", "pinched")
/obj/item/weapon/cautery
name = "cautery"
@@ -1476,6 +1503,7 @@
flags = FPRINT | TABLEPASS | CONDUCT
w_class = 1.0
origin_tech = "materials=1;biotech=1"
attack_verb = list("burnt")
/obj/item/weapon/surgicaldrill
name = "surgical drill"
@@ -1489,6 +1517,7 @@
force = 15.0
w_class = 1.0
origin_tech = "materials=1;biotech=1"
attack_verb = list("drilled")
/obj/item/weapon/circular_saw
name = "circular saw"
@@ -1505,6 +1534,7 @@
m_amt = 20000
g_amt = 10000
origin_tech = "materials=1;biotech=1"
attack_verb = list("attacked", "slashed", "sawed", "cut")
/obj/item/weapon/syntiflesh
name = "syntiflesh"
@@ -1528,6 +1558,7 @@
throw_range = 4
m_amt = 15000
origin_tech = "materials=2;combat=1"
attack_verb = list("chopped", "torn", "cut")
/*
@@ -1580,6 +1611,7 @@
name = "data cable"
icon = 'icons/obj/power.dmi'
icon_state = "wire1"
var/obj/machinery/machine
/obj/item/weapon/plastique
+1
View File
@@ -7,6 +7,7 @@
slot_flags = SLOT_BELT
force = 40
throwforce = 10
attack_verb = list("attacked", "slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut")
/obj/item/weapon/melee/cultblade/attack(mob/living/target as mob, mob/living/carbon/human/user as mob)
+1
View File
@@ -669,6 +669,7 @@ var/list/obj/machinery/newscaster/allCasters = list() //list that will contain r
desc = "An issue of The Griffon, the newspaper circulating aboard Nanotrasen Space Stations."
icon_state = "newspaper"
w_class = 2 //Let's make it fit in trashbags!
attack_verb = list("bapped")
var/screen = 0
var/pages = 0
var/curr_page = 0
+1
View File
@@ -178,6 +178,7 @@
throw_range = 5
w_class = 1.0
flags = FPRINT | TABLEPASS
attack_verb = list("bashed", "whacked", "educated")
var/dat // Actual page content
var/due_date = 0 // Game time in 1/10th seconds
var/author // Who wrote the thing, can be changed by pen or PC. It is not automatically assigned
+4 -1
View File
@@ -76,7 +76,10 @@
/obj/effect/alien/egg/attackby(var/obj/item/weapon/W, var/mob/user)
if(health <= 0)
return
src.visible_message("\red <B>\The [src] has been attacked with \the [W][(user ? " by [user]." : ".")]")
if(W.attack_verb.len)
src.visible_message("\red <B>\The [src] has been [pick(W.attack_verb)] with \the [W][(user ? " by [user]." : ".")]")
else
src.visible_message("\red <B>\The [src] has been attacked with \the [W][(user ? " by [user]." : ".")]")
var/damage = W.force / 4.0
if(istype(W, /obj/item/weapon/weldingtool))
+4 -1
View File
@@ -69,7 +69,10 @@ Alien plants should do something if theres a lot of poison
return
/obj/effect/alien/weeds/attackby(var/obj/item/weapon/W, var/mob/user)
visible_message("\red <B>\The [src] have been attacked with \the [W][(user ? " by [user]." : ".")]")
if(W.attack_verb.len)
visible_message("\red <B>\The [src] have been [pick(W.attack_verb)] with \the [W][(user ? " by [user]." : ".")]")
else
visible_message("\red <B>\The [src] have been attacked with \the [W][(user ? " by [user]." : ".")]")
var/damage = W.force / 4.0
+4 -1
View File
@@ -265,7 +265,10 @@
showname = "."
for(var/mob/O in viewers(messagesource, null))
O.show_message(text("\red <B>[] has been attacked with [][] </B>", M, src, showname), 1)
if(src.attack_verb.len)
O.show_message("\red <B>[M] has been [pick(src.attack_verb)] with [src][showname] </B>", 1)
else
O.show_message("\red <B>[M] has been attacked with [src][showname] </B>", 1)
if(!showname && user)
if(user.client)
@@ -23,6 +23,7 @@ ZIPPO
var/smoketime = 5
w_class = 1.0
origin_tech = "materials=1"
attack_verb = list("burnt", "singed")
process()
@@ -106,6 +107,7 @@ ZIPPO
item_state = "cigoff"
w_class = 1
body_parts_covered = null
attack_verb = list("burnt", "singed")
var/lit = 0
var/icon_on = "cigon" //Note - these are in masks.dmi not in cigarette.dmi
var/icon_off = "cigoff"
@@ -450,6 +452,7 @@ ZIPPO
throwforce = 4
flags = TABLEPASS | CONDUCT
slot_flags = SLOT_BELT
attack_verb = list("burnt", "singed")
var/lit = 0
/obj/item/weapon/lighter/zippo
@@ -349,6 +349,7 @@
throw_range = 10
w_class = 3.0
flags = FPRINT | TABLEPASS
attack_verb = list("mopped", "bashed", "bludgeoned", "whacked")
/obj/item/weapon/mop/New()
@@ -12,6 +12,7 @@
var/status = 0
origin_tech = "combat=2"
/obj/item/weapon/melee/baton/update_icon()
if(status)
icon_state = "stunbaton_active"
+7 -1
View File
@@ -6,6 +6,7 @@ CONTAINS:
WRENCH
SCREWDRIVER
WELDINGTOOOL
WIRECUTTERS
*/
@@ -22,7 +23,7 @@ WELDINGTOOOL
w_class = 2.0
m_amt = 150
origin_tech = "materials=1;engineering=1"
attack_verb = list("bashed", "battered", "bludgeoned", "whacked")
// SCREWDRIVER
@@ -355,6 +356,10 @@ WELDINGTOOOL
reagents += (gen_amount)
if(reagents > max_fuel)
reagents = max_fuel
//WIRECUTTERS
/obj/item/weapon/wirecutters
name = "wirecutters"
desc = "This cuts wires."
@@ -368,6 +373,7 @@ WELDINGTOOOL
w_class = 2.0
m_amt = 80
origin_tech = "materials=1;engineering=1"
attack_verb = list("pinched", "nipped")
/obj/item/weapon/wirecutters/New()
if(prob(50))
@@ -87,6 +87,7 @@
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]"
+1
View File
@@ -6,6 +6,7 @@
item_state = "utility"
flags = FPRINT | TABLEPASS
slot_flags = SLOT_BELT
attack_verb = list("whipped", "lashed", "disciplined")
/obj/item/weapon/storage/belt/proc/can_use()
+1
View File
@@ -2764,6 +2764,7 @@
throw_range = 5
item_state = "beer"
//item_state - Need to find a bottle sprite
attack_verb = list("stabbed", "slashed", "attacked")
var/icon/broken_outline = icon('icons/obj/drinks.dmi', "broken")
+1
View File
@@ -11,3 +11,4 @@
var/obj/item/weapon/cell/cell = 0
body_parts_covered = HANDS
slot_flags = SLOT_GLOVES
attack_verb = list("challenged")
+2
View File
@@ -192,6 +192,7 @@ proc/move_mining_shuttle()
m_amt = 3750 //one sheet, but where can you make them?
var/digspeed = 40 //moving the delay to an item var so R&D can make improved picks. --NEO
origin_tech = "materials=1;engineering=1"
attack_verb = list("hit", "pierced", "sliced", "attacked")
hammer
name = "Mining Sledge Hammer"
@@ -278,6 +279,7 @@ proc/move_mining_shuttle()
w_class = 3.0
m_amt = 50
origin_tech = "materials=1;engineering=1"
attack_verb = list("bashed", "bludgeoned", "thrashed", "whacked")
/obj/item/weapon/shovel/spade
name = "spade"
@@ -117,9 +117,12 @@ emp_act
if((user != src) && check_shields(I.force, "the [I.name]"))
return 0
visible_message("\red <B>[src] has been attacked in the [hit_area] with [I.name] by [user]!</B>")
if(I.attack_verb.len)
visible_message("\red <B>[src] has been [pick(I.attack_verb)] in the [hit_area] with [I.name] by [user]!</B>")
else
visible_message("\red <B>[src] has been attacked in the [hit_area] with [I.name] by [user]!</B>")
var/armor = run_armor_check(affecting, "melee", "Your armor has protected you from a hit to the [hit_area].", "Your armor has softened hit to your [hit_area].")
var/armor = run_armor_check(affecting, "melee", "Your armor has protected your [hit_area].", "Your armor has softened hit to your [hit_area].")
if(armor >= 2) return 0
if(!I.force) return 0
+1
View File
@@ -12,6 +12,7 @@
slot_flags = SLOT_HEAD
body_parts_covered = HEAD
protective_temperature = 0
attack_verb = list("")
var/info //What's actually written on the paper.
var/info_links //A different version of the paper which includes html links at fields and EOF
+1
View File
@@ -12,6 +12,7 @@
m_amt = 60
color = "cargo"
pressure_resistance = 5
attack_verb = list("stamped")
/obj/item/weapon/stamp/captain
name = "captain's rubber stamp"
+1
View File
@@ -13,6 +13,7 @@
throw_range = 5
force = 5.0
origin_tech = "combat=1"
attack_verb = list("struck", "hit", "bashed")
var/fire_sound = 'Gunshot.ogg'
var/obj/item/projectile/in_chamber = null