Tg 2 11 sync (#215)
* first series of updates * datums * games folder * admin and atmosia stuffs * moar * mob updates borg riding * sprites and stuff * fixes for various things * oops. some missed fixes
This commit is contained in:
@@ -29,6 +29,18 @@
|
||||
var/list/stamped
|
||||
var/rigged = 0
|
||||
var/spam_flag = 0
|
||||
var/contact_poison // Reagent ID to transfer on contact
|
||||
var/contact_poison_volume = 0
|
||||
|
||||
|
||||
/obj/item/weapon/paper/pickup(user)
|
||||
if(contact_poison && ishuman(user))
|
||||
var/mob/living/carbon/human/H = user
|
||||
var/obj/item/clothing/gloves/G = H.gloves
|
||||
if(!istype(G) || G.transfer_prints)
|
||||
H.reagents.add_reagent(contact_poison,contact_poison_volume)
|
||||
contact_poison = null
|
||||
..()
|
||||
|
||||
|
||||
/obj/item/weapon/paper/New()
|
||||
@@ -166,7 +178,7 @@
|
||||
/obj/item/weapon/paper/proc/clearpaper()
|
||||
info = null
|
||||
stamps = null
|
||||
stamped = list()
|
||||
LAZYCLEARLIST(stamped)
|
||||
cut_overlays()
|
||||
updateinfolinks()
|
||||
update_icon()
|
||||
@@ -289,7 +301,7 @@
|
||||
else
|
||||
info += t // Oh, he wants to edit to the end of the file, let him.
|
||||
updateinfolinks()
|
||||
|
||||
i.on_write(src,usr)
|
||||
usr << browse("<HTML><HEAD><TITLE>[name]</TITLE></HEAD><BODY>[info_links]<HR>[stamps]</BODY></HTML>", "window=[name]") // Update the window
|
||||
update_icon()
|
||||
|
||||
@@ -326,9 +338,7 @@
|
||||
|
||||
stampoverlay.icon_state = "paper_[P.icon_state]"
|
||||
|
||||
if(!stamped)
|
||||
stamped = new
|
||||
stamped += P.icon_state
|
||||
LAZYADD(stamped, P.icon_state)
|
||||
add_overlay(stampoverlay)
|
||||
|
||||
user << "<span class='notice'>You stamp the paper with your rubber stamp.</span>"
|
||||
|
||||
@@ -12,7 +12,6 @@
|
||||
max_integrity = 50
|
||||
|
||||
var/obj/item/weapon/paper/internalPaper
|
||||
var/list/stamped = list()
|
||||
|
||||
/obj/item/weapon/paperplane/New(loc, obj/item/weapon/paper/newPaper)
|
||||
..()
|
||||
@@ -20,13 +19,18 @@
|
||||
pixel_x = rand(-9, 9)
|
||||
if(newPaper)
|
||||
internalPaper = newPaper
|
||||
src.flags = newPaper.flags
|
||||
stamped = internalPaper.stamped
|
||||
flags = newPaper.flags
|
||||
newPaper.forceMove(src)
|
||||
else
|
||||
internalPaper = new /obj/item/weapon/paper(src)
|
||||
update_icon()
|
||||
|
||||
/obj/item/weapon/paperplane/Destroy()
|
||||
if(internalPaper)
|
||||
qdel(internalPaper)
|
||||
internalPaper = null
|
||||
return ..()
|
||||
|
||||
/obj/item/weapon/paperplane/suicide_act(mob/user)
|
||||
user.Stun(10)
|
||||
user.visible_message("<span class='suicide'>[user] jams the [src] in [user.p_their()] nose. It looks like [user.p_theyre()] trying to commit suicide!</span>")
|
||||
@@ -37,18 +41,18 @@
|
||||
|
||||
/obj/item/weapon/paperplane/update_icon()
|
||||
cut_overlays()
|
||||
if(!stamped)
|
||||
stamped = new
|
||||
else if(stamped)
|
||||
var/list/stamped = internalPaper.stamped
|
||||
if(stamped)
|
||||
for(var/S in stamped)
|
||||
var/obj/item/weapon/stamp/stamp = S
|
||||
var/image/stampoverlay = image('icons/obj/bureaucracy.dmi', "paperplane_[initial(stamp.icon_state)]")
|
||||
var/image/stampoverlay = image('icons/obj/bureaucracy.dmi', "paperplane_[stamped]")
|
||||
add_overlay(stampoverlay)
|
||||
|
||||
/obj/item/weapon/paperplane/attack_self(mob/user)
|
||||
user << "<span class='notice'>You unfold [src].</span>"
|
||||
var/internal_paper_tmp = internalPaper
|
||||
internalPaper = null
|
||||
qdel(src)
|
||||
user.put_in_hands(internalPaper)
|
||||
user.put_in_hands(internal_paper_tmp)
|
||||
|
||||
/obj/item/weapon/paperplane/attackby(obj/item/weapon/P, mob/living/carbon/human/user, params)
|
||||
..()
|
||||
@@ -57,15 +61,7 @@
|
||||
return
|
||||
|
||||
else if(istype(P, /obj/item/weapon/stamp)) //we don't randomize stamps on a paperplane
|
||||
|
||||
if (!stamped)
|
||||
stamped = new
|
||||
|
||||
stamped += P.type
|
||||
internalPaper.stamps += "<img src=large_[P.icon_state].png>" //stamps the paper inside!
|
||||
internalPaper.stamped = stamped
|
||||
internalPaper.attackby(P) //spoofed attack to update internal paper.
|
||||
user << "<span class='notice'>You stamp [src] with your rubber stamp.</span>"
|
||||
internalPaper.attackby(P, user) //spoofed attack to update internal paper.
|
||||
update_icon()
|
||||
|
||||
else if(P.is_hot())
|
||||
@@ -108,7 +104,7 @@
|
||||
return
|
||||
user << "<span class='notice'>You fold [src] into the shape of a plane!</span>"
|
||||
user.temporarilyRemoveItemFromInventory(src)
|
||||
I = new /obj/item/weapon/paperplane(loc, src)
|
||||
I = new /obj/item/weapon/paperplane(user, src)
|
||||
user.put_in_hands(I)
|
||||
else
|
||||
user << "<span class='notice'> You lack the dexterity to fold \the [src]. </span>"
|
||||
|
||||
@@ -162,3 +162,12 @@
|
||||
else
|
||||
icon_state = initial(icon_state) //looks like a normal pen when off.
|
||||
item_state = initial(item_state)
|
||||
|
||||
//Crayons path disambiguity sigh.
|
||||
/obj/item/proc/on_write(obj/item/weapon/paper/P, mob/user)
|
||||
return
|
||||
|
||||
/obj/item/weapon/pen/poison/on_write(obj/item/weapon/paper/P, mob/user)
|
||||
P.contact_poison = "delayed_toxin"
|
||||
P.contact_poison_volume = 10
|
||||
add_logs(user,P,"used poison pen on")
|
||||
Reference in New Issue
Block a user