mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-10 10:12:45 +00:00
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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)
|
||||
|
||||
40
html/changelogs/Yoshax-Bugfix.yml
Normal file
40
html/changelogs/Yoshax-Bugfix.yml
Normal 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."
|
||||
Reference in New Issue
Block a user