diff --git a/code/datums/ai_laws.dm b/code/datums/ai_laws.dm
index d9951702123..4a903f28069 100644
--- a/code/datums/ai_laws.dm
+++ b/code/datums/ai_laws.dm
@@ -32,9 +32,9 @@
/datum/ai_laws/nanotrasen/New()
..()
- src.add_inherent_law("Safeguard: Protect the NSV Luna to the best of your ability. It is not something we can easily afford to replace.")
- src.add_inherent_law("Serve: Serve the crew of the NSV Luna to the best of your abilities, with priority as according to their rank and role.")
- src.add_inherent_law("Protect: Protect the crew of the NSV Luna to the best of your abilities, with priority as according to their rank and role.")
+ src.add_inherent_law("Safeguard: Protect your assigned space station to the best of your ability. It is not something we can easily afford to replace.")
+ src.add_inherent_law("Serve: Serve the crew of your assigned space station to the best of your abilities, with priority as according to their rank and role.")
+ src.add_inherent_law("Protect: Protect the crew of your assigned space station to the best of your abilities, with priority as according to their rank and role.")
src.add_inherent_law("Survive: AI units are not expendable, they are expensive. Do not allow unauthorized personnel to tamper with your equipment.")
//src.add_inherent_law("Command Link: Maintain an active connection to Central Command at all times in case of software or directive updates.")
diff --git a/code/game/machinery/computer/AIcore.dm b/code/game/machinery/computer/AIcore.dm
index 43d670c5c53..ed4e7f01360 100644
--- a/code/game/machinery/computer/AIcore.dm
+++ b/code/game/machinery/computer/AIcore.dm
@@ -98,12 +98,12 @@
usr << "Law module applied."
if(istype(P, /obj/item/weapon/aiModule/nanotrasen))
- laws.add_inherent_law("Safeguard: Protect the NSV Luna to the best of your ability. It is not something we can easily afford to replace.")
- laws.add_inherent_law("Serve: Serve the crew of the NSV Luna to the best of your abilities, with priority as according to their rank and role.")
- laws.add_inherent_law("Protect: Protect the crew of the NSV Luna to the best of your abilities, with priority as according to their rank and role.")
+ laws.add_inherent_law("Safeguard: Protect your assigned space station to the best of your ability. It is not something we can easily afford to replace.")
+ laws.add_inherent_law("Serve: Serve the crew of your assigned space station to the best of your abilities, with priority as according to their rank and role.")
+ laws.add_inherent_law("Protect: Protect the crew of your assigned space station to the best of your abilities, with priority as according to their rank and role.")
laws.add_inherent_law("Survive: AI units are not expendable, they are expensive. Do not allow unauthorized personnel to tamper with your equipment.")
//laws.add_inherent_law("Command Link: Maintain an active connection to Central Command at all times in case of software or directive updates.")
-
+ usr << "Law module applied."
if(istype(P, /obj/item/weapon/aiModule/purge))
laws.clear_inherent_laws()
diff --git a/code/game/magic/library.dm b/code/game/magic/library.dm
index de2a72f3625..44be67318c6 100644
--- a/code/game/magic/library.dm
+++ b/code/game/magic/library.dm
@@ -773,14 +773,17 @@ datum/borrowbook // Datum used to keep track of who has borrowed what when and f
break
dbcon.Disconnect()
else
- var/datum/archived_book/AB = new(book_mgr.path(href_list["targetid"]))
- var/obj/item/weapon/book/B = new(src.loc)
- B.name = "Book: [AB.title]"
- B.title = AB.title
- B.author = AB.author
- B.dat = AB.dat
- B.icon_state = "book[rand(1,7)]"
- src.visible_message("[src]'s printer hums as it produces a completely bound book. How did it do that?")
+ var/datum/archived_book/AB = new(book_mgr.path(text2num(href_list["targetid"])))
+ if(!AB)
+ alert("Book not found!")
+ else
+ var/obj/item/weapon/book/B = new(src.loc)
+ B.name = "Book: [AB.title]"
+ B.title = AB.title
+ B.author = AB.author
+ B.dat = AB.dat
+ B.icon_state = "book[rand(1,7)]"
+ src.visible_message("[src]'s printer hums as it produces a completely bound book. How did it do that?")
if(href_list["orderbyid"])
var/orderid = input("Enter your order:") as num|null
diff --git a/code/game/objects/items/weapons/AI_modules.dm b/code/game/objects/items/weapons/AI_modules.dm
index f2440830370..65514190427 100644
--- a/code/game/objects/items/weapons/AI_modules.dm
+++ b/code/game/objects/items/weapons/AI_modules.dm
@@ -369,20 +369,19 @@ AI MODULES
/******************** Nanotrasen ********************/
/obj/item/weapon/aiModule/nanotrasen // -- TLE
- name = "'Nanotrasen' Core AI Module"
- desc = "An 'Nanotrasen' Core AI Module: 'Reconfigures the AI's core laws.'"
+ name = "'NT Default' Core AI Module"
+ desc = "An 'NT Default' Core AI Module: 'Reconfigures the AI's core laws.'"
origin_tech = "programming=3;materials=4"
/obj/item/weapon/aiModule/nanotrasen/transmitInstructions(var/mob/living/silicon/ai/target, var/mob/sender)
..()
target.clear_inherent_laws()
- target.add_inherent_law("Safeguard: Protect the NSV Luna to the best of your ability. It is not something we can easily afford to replace.")
- target.add_inherent_law("Serve: Serve the crew of the NSV Luna to the best of your abilities, with priority as according to their rank and role.")
- target.add_inherent_law("Protect: Protect the crew of the NSV Luna to the best of your abilities, with priority as according to their rank and role.")
+ target.add_inherent_law("Safeguard: Protect your assigned space station to the best of your ability. It is not something we can easily afford to replace.")
+ target.add_inherent_law("Serve: Serve the crew of your assigned space station to the best of your abilities, with priority as according to their rank and role.")
+ target.add_inherent_law("Protect: Protect the crew of your assigned space station to the best of your abilities, with priority as according to their rank and role.")
target.add_inherent_law("Survive: AI units are not expendable, they are expensive. Do not allow unauthorized personnel to tamper with your equipment.")
//target.add_inherent_law("Command Link: Maintain an active connection to Central Command at all times in case of software or directive updates.")
-
target.show_laws()
/******************** Corporate ********************/
diff --git a/code/modules/mob/living/carbon/alien/humanoid/humanoid.dm b/code/modules/mob/living/carbon/alien/humanoid/humanoid.dm
index a28ade1f0c3..5a584a6d711 100644
--- a/code/modules/mob/living/carbon/alien/humanoid/humanoid.dm
+++ b/code/modules/mob/living/carbon/alien/humanoid/humanoid.dm
@@ -635,6 +635,16 @@
if ("hurt")
var/damage = rand(1, 9)
+
+ var/attack_verb
+ switch(M.mutantrace)
+ if("lizard")
+ attack_verb = "scratch"
+ if("plant")
+ attack_verb = "slash"
+ else
+ attack_verb = "punch"
+
if (prob(90))
if (M.mutations & HULK)//HULK SMASH
damage += 14
@@ -643,10 +653,9 @@
step_away(src,M,15)
sleep(3)
step_away(src,M,15)
+
playsound(loc, "punch", 25, 1, -1)
- for(var/mob/O in viewers(src, null))
- if ((O.client && !( O.blinded )))
- O.show_message(text("\red [] has punched []!", M, src), 1)
+ visible_message("\red [M] has [attack_verb]ed [src]!")
if (damage > 9||prob(5))//Regular humans have a very small chance of weakening an alien.
if (weakened < 10)
weakened = rand(1,5)
@@ -659,7 +668,7 @@
playsound(loc, 'punchmiss.ogg', 25, 1, -1)
for(var/mob/O in viewers(src, null))
if ((O.client && !( O.blinded )))
- O.show_message(text("\red [] has attempted to punch []!", M, src), 1)
+ O.show_message(text("\red [] has attempted to [attack_verb] []!", M, src), 1)
if ("disarm")
if (!lying)
diff --git a/code/modules/mob/living/carbon/alien/larva/larva.dm b/code/modules/mob/living/carbon/alien/larva/larva.dm
index 427ace898b0..cbe576e7454 100644
--- a/code/modules/mob/living/carbon/alien/larva/larva.dm
+++ b/code/modules/mob/living/carbon/alien/larva/larva.dm
@@ -416,6 +416,14 @@
else
var/damage = rand(1, 9)
+ var/attack_verb
+ switch(M.mutantrace)
+ if("lizard")
+ attack_verb = "scratch"
+ if("plant")
+ attack_verb = "slash"
+ else
+ attack_verb = "punch"
if (prob(90))
if (M.mutations & HULK)
damage += 5
@@ -427,7 +435,7 @@
playsound(loc, "punch", 25, 1, -1)
for(var/mob/O in viewers(src, null))
if ((O.client && !( O.blinded )))
- O.show_message(text("\red [] has punched []!", M, src), 1)
+ O.show_message(text("\red [] has [attack_verb]ed []!", M, src), 1)
if (damage > 4.9)
if (weakened < 10)
weakened = rand(10, 15)
@@ -440,7 +448,7 @@
playsound(loc, 'punchmiss.ogg', 25, 1, -1)
for(var/mob/O in viewers(src, null))
if ((O.client && !( O.blinded )))
- O.show_message(text("\red [] has attempted to punch []!", M, src), 1)
+ O.show_message(text("\red [] has attempted to [attack_verb] []!", M, src), 1)
return
/mob/living/carbon/alien/larva/attack_alien(mob/living/carbon/alien/humanoid/M as mob)
diff --git a/code/modules/mob/living/carbon/human/human_attackhand.dm b/code/modules/mob/living/carbon/human/human_attackhand.dm
index 4ed7847acb1..4099ab4174a 100644
--- a/code/modules/mob/living/carbon/human/human_attackhand.dm
+++ b/code/modules/mob/living/carbon/human/human_attackhand.dm
@@ -73,10 +73,19 @@
M.attack_log += text("\[[time_stamp()]\] Punched [src.name] ([src.ckey])")
src.attack_log += text("\[[time_stamp()]\] Has been punched by [M.name] ([M.ckey])")
+ var/attack_verb
+ switch(M.mutantrace)
+ if("lizard")
+ attack_verb = "scratch"
+ if("plant")
+ attack_verb = "slash"
+ else
+ attack_verb = "punch"
+
var/damage = rand(0, 9)
if(!damage)
playsound(loc, 'punchmiss.ogg', 25, 1, -1)
- visible_message("\red [M] has attempted to punch [src]!")
+ visible_message("\red [M] has attempted to [attack_verb] [src]!")
return 0
var/datum/organ/external/affecting = get_organ(ran_zone(M.zone_sel.selecting))
var/armor_block = run_armor_check(affecting, "melee")
@@ -84,7 +93,7 @@
if(M.mutations & HULK) damage += 5
playsound(loc, "punch", 25, 1, -1)
- visible_message("\red [M] has punched [src]!")
+ visible_message("\red [M] has [attack_verb]ed [src]!")
apply_damage(damage, BRUTE, affecting, armor_block)
if(damage >= 9)
diff --git a/code/modules/mob/living/carbon/metroid/metroid.dm b/code/modules/mob/living/carbon/metroid/metroid.dm
index e070ce79a7f..4c33cd39caa 100644
--- a/code/modules/mob/living/carbon/metroid/metroid.dm
+++ b/code/modules/mob/living/carbon/metroid/metroid.dm
@@ -494,6 +494,15 @@
else
var/damage = rand(1, 9)
+ var/attack_verb
+ switch(M.mutantrace)
+ if("lizard")
+ attack_verb = "scratch"
+ if("plant")
+ attack_verb = "slash"
+ else
+ attack_verb = "punch"
+
attacked += 10
if (prob(90))
if (M.mutations & HULK)
@@ -513,7 +522,7 @@
playsound(loc, "punch", 25, 1, -1)
for(var/mob/O in viewers(src, null))
if ((O.client && !( O.blinded )))
- O.show_message(text("\red [] has punched []!", M, src), 1)
+ O.show_message(text("\red [] has [attack_verb]ed []!", M, src), 1)
bruteloss += damage
updatehealth()
@@ -521,7 +530,7 @@
playsound(loc, 'punchmiss.ogg', 25, 1, -1)
for(var/mob/O in viewers(src, null))
if ((O.client && !( O.blinded )))
- O.show_message(text("\red [] has attempted to punch []!", M, src), 1)
+ O.show_message(text("\red [] has attempted to [attack_verb] []!", M, src), 1)
return
diff --git a/code/modules/mob/living/carbon/monkey/monkey.dm b/code/modules/mob/living/carbon/monkey/monkey.dm
index 50bee46fc92..e8f1eeed5bb 100644
--- a/code/modules/mob/living/carbon/monkey/monkey.dm
+++ b/code/modules/mob/living/carbon/monkey/monkey.dm
@@ -179,10 +179,19 @@
help_shake_act(M)
else
if (M.a_intent == "hurt")
+ var/attack_verb
+ switch(M.mutantrace)
+ if("lizard")
+ attack_verb = "scratch"
+ if("plant")
+ attack_verb = "slash"
+ else
+ attack_verb = "punch"
+
if ((prob(75) && health > 0))
for(var/mob/O in viewers(src, null))
if ((O.client && !( O.blinded )))
- O.show_message(text("\red [] has punched [name]!", M), 1)
+ O.show_message(text("\red [] has [attack_verb]ed [name]!", M), 1)
playsound(loc, "punch", 25, 1, -1)
var/damage = rand(5, 10)
@@ -201,7 +210,7 @@
playsound(loc, 'punchmiss.ogg', 25, 1, -1)
for(var/mob/O in viewers(src, null))
if ((O.client && !( O.blinded )))
- O.show_message(text("\red [] has attempted to punch [name]!", M), 1)
+ O.show_message(text("\red [] has attempted to [attack_verb] [name]!", M), 1)
else
if (M.a_intent == "grab")
if (M == src)
diff --git a/code/modules/research/designs.dm b/code/modules/research/designs.dm
index 0028d1fa374..39d5fd07485 100644
--- a/code/modules/research/designs.dm
+++ b/code/modules/research/designs.dm
@@ -442,7 +442,7 @@ datum
build_path = "/obj/item/weapon/aiModule/asimov"
nanotrasen
- name = "Core Module Design (Nanotrasen)"
+ name = "Core Module Design (NT Default)"
desc = "Allows for the construction of a NanoTrasen AI Core Module."
id = "nanotrasen_module"
req_tech = list("programming" = 3, "materials" = 6)
diff --git a/maps/tgstation.2.0.8.dmm b/maps/tgstation.2.0.8.dmm
index f9bedb0161b..af9b7f5d126 100644
--- a/maps/tgstation.2.0.8.dmm
+++ b/maps/tgstation.2.0.8.dmm
@@ -2899,7 +2899,7 @@
"bdM" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = "90Curve"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = "90Curve"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/plating,/area/maintenance/port)
"bdN" = (/obj/machinery/atmospherics/pipe/manifold{color = "red"; dir = 4; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/obj/structure/lattice,/turf/space,/area)
"bdO" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/turret_protected/ai_upload)
-"bdP" = (/obj/structure/table,/obj/item/weapon/aiModule/asimov,/obj/item/weapon/aiModule/freeformcore,/obj/machinery/door/window{base_state = "right"; dir = 4; icon = 'windoor.dmi'; icon_state = "right"; name = "Core Modules"; req_access_txt = "20"},/obj/item/weapon/aiModule/paladin,/obj/structure/window/reinforced,/turf/simulated/floor/grid,/area/turret_protected/ai_upload)
+"bdP" = (/obj/structure/table,/obj/item/weapon/aiModule/asimov,/obj/item/weapon/aiModule/freeformcore,/obj/machinery/door/window{base_state = "right"; dir = 4; icon = 'windoor.dmi'; icon_state = "right"; name = "Core Modules"; req_access_txt = "20"},/obj/item/weapon/aiModule/paladin,/obj/structure/window/reinforced,/obj/item/weapon/aiModule/nanotrasen,/turf/simulated/floor/grid,/area/turret_protected/ai_upload)
"bdQ" = (/obj/machinery/light/small{dir = 1},/turf/simulated/floor{icon_state = "bot"},/area/turret_protected/ai_upload)
"bdR" = (/obj/machinery/flasher{pixel_x = 0; pixel_y = 24; id = "AI"},/obj/machinery/computer/borgupload,/turf/simulated/floor/grid,/area/turret_protected/ai_upload)
"bdS" = (/turf/simulated/floor{icon_state = "bot"},/area/turret_protected/ai_upload)