Merge pull request #2603 from Yoshax/minorbugfixboogalo

Some bugfixes
This commit is contained in:
Anewbe
2016-10-06 22:38:32 -05:00
committed by GitHub
7 changed files with 106 additions and 45 deletions

View File

@@ -314,7 +314,7 @@
src.active2.fields["cdi_d"] = t1
if("notes")
if (istype(src.active2, /datum/data/record))
var/t1 = sanitize(input("Please summarize notes:", "Med. records", html_decode(src.active2.fields["notes"]), null) as message, extra = 0)
var/t1 = sanitize(input("Please summarize notes:", "Med. records", html_decode(src.active2.fields["notes"]), null) as message, extra = 0, max_length = MAX_RECORD_LENGTH)
if ((!( t1 ) || !( src.authenticated ) || usr.stat || usr.restrained() || (!in_range(src, usr) && (!istype(usr, /mob/living/silicon))) || src.active2 != a2))
return
src.active2.fields["notes"] = t1

View File

@@ -481,7 +481,7 @@ What a mess.*/
active2.fields["ma_crim_d"] = t1
if("notes")
if (istype(active2, /datum/data/record))
var/t1 = sanitize(input("Please summarize notes:", "Secure. records", html_decode(active2.fields["notes"]), null) as message, extra = 0)
var/t1 = sanitize(input("Please summarize notes:", "Secure. records", html_decode(active2.fields["notes"]), null) as message, extra = 0, max_length = MAX_RECORD_LENGTH)
if (!t1 || active2 != a2)
return
active2.fields["notes"] = t1

View File

@@ -7,6 +7,9 @@
edge = 0
armor_penetration = 50
flags = NOBLOODY
var/lrange = 2
var/lpower = 2
var/lcolor = "#0099FF"
/obj/item/weapon/melee/energy/proc/activate(mob/living/user)
anchored = 1
@@ -19,6 +22,7 @@
edge = 1
w_class = active_w_class
playsound(user, 'sound/weapons/saberon.ogg', 50, 1)
set_light(lrange, lpower, lcolor)
/obj/item/weapon/melee/energy/proc/deactivate(mob/living/user)
anchored = 0
@@ -31,6 +35,7 @@
sharp = initial(sharp)
edge = initial(edge)
w_class = initial(w_class)
set_light(0,0)
/obj/item/weapon/melee/energy/attack_self(mob/living/user as mob)
if (active)
@@ -124,26 +129,33 @@
/obj/item/weapon/melee/energy/sword/New()
blade_color = pick("red","blue","green","purple")
lcolor = blade_color
/obj/item/weapon/melee/energy/sword/green/New()
blade_color = "green"
lcolor = "#008000"
/obj/item/weapon/melee/energy/sword/red/New()
blade_color = "red"
lcolor = "#FF0000"
/obj/item/weapon/melee/energy/sword/blue/New()
blade_color = "blue"
lcolor = "#0000FF"
/obj/item/weapon/melee/energy/sword/purple/New()
blade_color = "purple"
lcolor = "#800080"
/obj/item/weapon/melee/energy/sword/activate(mob/living/user)
if(!active)
user << "<span class='notice'>\The [src] is now energised.</span>"
..()
attack_verb = list("attacked", "slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut")
icon_state = "sword[blade_color]"
/obj/item/weapon/melee/energy/sword/deactivate(mob/living/user)
if(active)
user << "<span class='notice'>\The [src] deactivates!</span>"
@@ -193,6 +205,7 @@
attack_verb = list("attacked", "slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut")
var/mob/living/creator
var/datum/effect/effect/system/spark_spread/spark_system
lcolor = "#00FF00"
/obj/item/weapon/melee/energy/blade/New()
@@ -201,6 +214,7 @@
spark_system.attach(src)
processing_objects |= src
set_light(lrange, lpower, lcolor)
/obj/item/weapon/melee/energy/blade/Destroy()
processing_objects -= src

View File

@@ -271,7 +271,7 @@ var/list/tape_roll_applications = list()
add_fingerprint(M)
if (!allowed(M)) //only select few learn art of not crumpling the tape
M << "<span class='warning'>You are not supposed to go past [src]...</span>"
if(M.a_intent == I_HELP)
if(M.a_intent == I_HELP && !(istype(M, /mob/living/simple_animal)))
return 0
crumple()
return ..(mover)

View File

@@ -203,7 +203,13 @@
return law_sets
/datum/nano_module/law_manager/proc/is_malf(var/mob/user)
return (is_admin(user) && !owner.is_slaved()) || owner.is_malf_or_traitor()
return (is_admin(user) && !owner.is_slaved()) || is_special_role(user)
/datum/nano_module/law_manager/proc/is_special_role(var/mob/user)
if(user.mind.special_role)
return TRUE
else
return FALSE
/mob/living/silicon/proc/is_slaved()
return 0

View File

@@ -2889,12 +2889,12 @@
/obj/item/pizzabox/proc/closepizzabox()
if( boxes.len > 0 )
if(boxes.len > 0)
return
open = !open
if( open && pizza )
if(open && pizza)
ismessy = 1
update_icon()
@@ -2904,29 +2904,29 @@
overlays = list()
// Set appropriate description
if( open && pizza )
if(open && pizza)
desc = "A box suited for pizzas. It appears to have a [pizza.name] inside."
else if( boxes.len > 0 )
else if(boxes.len > 0)
desc = "A pile of boxes suited for pizzas. There appears to be [boxes.len + 1] boxes in the pile."
var/obj/item/pizzabox/topbox = boxes[boxes.len]
var/toptag = topbox.boxtag
if( toptag != "" )
if(toptag != "")
desc = "[desc] The box on top has a tag, it reads: '[toptag]'."
else
desc = "A box suited for pizzas."
if( boxtag != "" )
if(boxtag != "")
desc = "[desc] The box has a tag, it reads: '[boxtag]'."
// Icon states and overlays
if( open )
if( ismessy )
if(open)
if(ismessy)
icon_state = "pizzabox_messy"
else
icon_state = "pizzabox_open"
if( pizza )
if(pizza)
var/image/pizzaimg = image("food.dmi", icon_state = pizza.icon_state)
pizzaimg.pixel_y = -3
overlays += pizzaimg
@@ -2935,33 +2935,33 @@
else
// Stupid code because byondcode sucks
var/doimgtag = 0
if( boxes.len > 0 )
if(boxes.len > 0)
var/obj/item/pizzabox/topbox = boxes[boxes.len]
if( topbox.boxtag != "" )
if(topbox.boxtag != "")
doimgtag = 1
else
if( boxtag != "" )
if(boxtag != "")
doimgtag = 1
if( doimgtag )
if(doimgtag)
var/image/tagimg = image("food.dmi", icon_state = "pizzabox_tag")
tagimg.pixel_y = boxes.len * 3
overlays += tagimg
icon_state = "pizzabox[boxes.len+1]"
/obj/item/pizzabox/attack_hand( mob/user as mob )
/obj/item/pizzabox/attack_hand(mob/user as mob)
if( open && pizza )
user.put_in_hands( pizza )
user.put_in_hands(pizza)
user << "\red You take the [src.pizza] out of the [src]."
user << "<span class='notice'>You take \the [src.pizza] out of the [src].</span>"
src.pizza = null
update_icon()
return
if( boxes.len > 0 )
if( user.get_inactive_hand() != src )
if(boxes.len > 0)
if(user.get_inactive_hand() != src)
..()
return
@@ -2969,13 +2969,13 @@
boxes -= box
user.put_in_hands( box )
user << "\red You remove the topmost [src] from your hand."
user << "<span class='notice'>You remove \the topmost [src] from your hand.</span>"
box.update_icon()
update_icon()
return
..()
/obj/item/pizzabox/attack_self( mob/user as mob )
/obj/item/pizzabox/attack_self(mob/user as mob)
closepizzabox()
@@ -2985,57 +2985,58 @@
closepizzabox()
/obj/item/pizzabox/attackby( obj/item/I as obj, mob/user as mob )
if( istype(I, /obj/item/pizzabox/) )
if(istype(I, /obj/item/pizzabox/))
var/obj/item/pizzabox/box = I
if( !box.open && !src.open )
if(!box.open && !src.open)
// Make a list of all boxes to be added
var/list/boxestoadd = list()
boxestoadd += box
for(var/obj/item/pizzabox/i in box.boxes)
boxestoadd += i
if( (boxes.len+1) + boxestoadd.len <= 5 )
if((boxes.len+1) + boxestoadd.len <= 5)
user.drop_item()
box.loc = src
box.boxes = list() // Clear the box boxes so we don't have boxes inside boxes. - Xzibit
src.boxes.Add( boxestoadd )
src.boxes.Add(boxestoadd)
box.update_icon()
update_icon()
user << "\red You put the [box] ontop of the [src]!"
user << "<span class='notice'>You put \the [box] ontop of the [src]!</span>"
else
user << "\red The stack is too high!"
user << "<span class='warning'>\The stack is too high!</span>"
else
user << "\red Close the [box] first!"
user << "<span class='warning'>Close \the [box] first!</span>"
return
if( istype(I, /obj/item/weapon/reagent_containers/food/snacks/sliceable/pizza/) ) // Long ass fucking object name
if(istype(I, /obj/item/weapon/reagent_containers/food/snacks/sliceable/pizza/)) // Long ass fucking object name
if( src.open )
user.drop_item()
I.loc = src
src.pizza = I
update_icon()
user << "\red You put the [I] in the [src]!"
if(open)
if(!pizza)
user.drop_item()
I.loc = src
pizza = I
update_icon()
user << "<span class='notice'>You put \the [I] in \the [src]!</span>"
else
user << "<span class='warning'>\The [src] is full! It already has a [pizza] inside.</span>"
else
user << "\red You try to push the [I] through the lid but it doesn't work!"
user << "<span class='warning'>You try to push \the [I] through the lid but it doesn't work!</span>"
return
if( istype(I, /obj/item/weapon/pen/) )
if( src.open )
if(istype(I, /obj/item/weapon/pen/))
if(open)
return
var/t = sanitize(input("Enter what you want to add to the tag:", "Write", null, null) as text, 30)
var/obj/item/pizzabox/boxtotagto = src
if( boxes.len > 0 )
if(boxes.len > 0)
boxtotagto = boxes[boxes.len]
boxtotagto.boxtag = copytext("[boxtotagto.boxtag][t]", 1, 30)

View File

@@ -0,0 +1,40 @@
################################
# Example Changelog File
#
# Note: This file, and files beginning with ".", and files that don't end in ".yml" will not be read. If you change this file, you will look really dumb.
#
# Your changelog will be merged with a master changelog. (New stuff added only, and only on the date entry for the day it was merged.)
# When it is, any changes listed below will disappear.
#
# Valid Prefixes:
# bugfix
# wip (For works in progress)
# tweak
# soundadd
# sounddel
# rscadd (general adding of nice things)
# rscdel (general deleting of nice things)
# imageadd
# imagedel
# maptweak
# spellcheck (typo fixes)
# experiment
#################################
# Your name.
author: Yoshax
# Optional: Remove this file after generating master changelog. Useful for PR changelogs that won't get used again.
delete-after: True
# Any changes you've made. See valid prefix list above.
# INDENT WITH TWO SPACES. NOT TABS. SPACES.
# SCREW THIS UP AND IT WON'T WORK.
# Also, all entries are changed into a single [] after a master changelog generation. Just remove the brackets when you add new entries.
# Please surround your changes in double quotes ("), as certain characters otherwise screws up compiling. The quotes will not show up in the changelog.
changes:
- bugfix: "You can now only fit one pizza per box, and pizzas will no longer vanish to pizza gnomes."
- rscadd: "Energy swords will now produce a small light. The light is determined by the color of the blade."
- bugfix: "Simple mobs such as slimes, or carp, will now ignore intent requirements for passing applied tape."
- bugfix: "Long records will no longer be devoured by long-record-goblins when attempting to edit them using a console in-round."
- bugfix: "AIs with special roles will now get access to the fancy law manager."