mirror of
https://github.com/VOREStation/VOREStation.git
synced 2026-08-30 07:28:53 +01:00
Merge pull request #59 from VOREStation/travisfixes
Fixed issues Travis had
This commit is contained in:
@@ -30,7 +30,7 @@ var/global/list/important_items = list(
|
||||
/obj/item/weapon/disk/nuclear)
|
||||
|
||||
/* TODOPOLARIS - Depends on porting object
|
||||
/obj/item/weapon/card/id/digested)
|
||||
///obj/item/weapon/card/id/digested)
|
||||
*/
|
||||
|
||||
var/global/list/digestion_sounds = list(
|
||||
|
||||
@@ -81,12 +81,7 @@
|
||||
if(tail_styles_list[pref.tail_style])
|
||||
var/datum/sprite_accessory/tail/T = tail_styles_list[pref.tail_style]
|
||||
if (T.do_colouration)
|
||||
. += "<a href='?src=\ref[src];tail_color=1'>Change Color</a> \
|
||||
<font face='fixedsys' size='3' color='\
|
||||
#[num2hex(pref.r_tail, 2)][num2hex(pref.g_tail, 2)][num2hex(pref.b_tail, 2)]'>\
|
||||
<table style='display:inline;' bgcolor='\
|
||||
#[num2hex(pref.r_tail, 2)][num2hex(pref.g_tail, 2)][num2hex(pref.b_tail)]'>\
|
||||
<tr><td>__</td></tr></table> </font><br>"
|
||||
. += "<a href='?src=\ref[src];tail_color=1'>Change Color</a> <font face='fixedsys' size='3' color='#[num2hex(pref.r_tail, 2)][num2hex(pref.g_tail, 2)][num2hex(pref.b_tail, 2)]'><table style='display:inline;' bgcolor='#[num2hex(pref.r_tail, 2)][num2hex(pref.g_tail, 2)][num2hex(pref.b_tail)]'><tr><td>__</td></tr></table> </font><br>"
|
||||
|
||||
. += "<b>Custom Species</b> "
|
||||
. += "<a href='?src=\ref[src];custom_species=1'>[pref.custom_species ? pref.custom_species : "None"]</a><br>"
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
|
||||
switch(weight)
|
||||
if(0 to 74)
|
||||
message = "\red They are terribly lithe and frail!\n" //I couldn't get the t.he, t_he, or \he to work, so... Let's just use they!
|
||||
message = "<span class='warning'>They are terribly lithe and frail!</span>\n"
|
||||
if(75 to 99)
|
||||
message = "They have a very slender frame.\n"
|
||||
if(100 to 124)
|
||||
@@ -19,9 +19,9 @@
|
||||
if(325 to 374)
|
||||
message = "They have a very fat frame with a bulging potbelly, squishy rolls of pudge, very wide hips, and plump set of jiggling thighs.\n"
|
||||
if(375 to 474)
|
||||
message = "\red They are incredibly obese. Their massive potbelly sags over their waistline while their fat ass would probably require two chairs to sit down comfortably!\n"
|
||||
message = "<span class='warning'>They are incredibly obese. Their massive potbelly sags over their waistline while their fat ass would probably require two chairs to sit down comfortably!</span>\n"
|
||||
else
|
||||
message += "\red They are so morbidly obese, you wonder how they can even stand, let alone waddle around the station. They can't get any fatter without being immobilized.\n"
|
||||
message += "<span class='warning'>They are so morbidly obese, you wonder how they can even stand, let alone waddle around the station. They can't get any fatter without being immobilized.</span>\n"
|
||||
return message //Credit to Aronai for helping me actually get this working!
|
||||
|
||||
/mob/living/carbon/human/proc/examine_nutrition()
|
||||
@@ -29,21 +29,21 @@
|
||||
|
||||
switch(nutrition)
|
||||
if(0 to 49)
|
||||
message = "\red They are starving! You can hear their stomach snarling from across the room!\n"
|
||||
message = "<span class='warning'>They are starving! You can hear their stomach snarling from across the room!</span>\n"
|
||||
if(50 to 99)
|
||||
message = "\red They are extremely hungry. A deep growl occasionally rumbles from their empty stomach.\n"
|
||||
message = "<span class='warning'>They are extremely hungry. A deep growl occasionally rumbles from their empty stomach.</span>\n"
|
||||
if(100 to 499)
|
||||
return message //Well that's pretty normal, really.
|
||||
if(500 to 864) // Fat.
|
||||
message = "They have a stuffed belly, bloated fat and round from eating too much.\n"
|
||||
if(1200 to 1934) // One person fully digested.
|
||||
message = "\red They are sporting a large, round, sagging stomach. It's contains at least their body weight worth of glorping slush.\n"
|
||||
message = "<span class='warning'>They are sporting a large, round, sagging stomach. It's contains at least their body weight worth of glorping slush.</span>\n"
|
||||
if(1935 to 3004) // Two people.
|
||||
message = "\red They are engorged with a huge stomach that sags and wobbles as they move. They must have consumed at least twice their body weight. It looks incredibly soft.\n"
|
||||
message = "<span class='warning'>They are engorged with a huge stomach that sags and wobbles as they move. They must have consumed at least twice their body weight. It looks incredibly soft.</span>\n"
|
||||
if(3005 to 4074) // Three people.
|
||||
message = "\red Their stomach is firmly packed with digesting slop. They must have eaten at least a few times worth their body weight! It looks hard for them to stand, and their gut jiggles when they move.\n"
|
||||
message = "<span class='warning'>Their stomach is firmly packed with digesting slop. They must have eaten at least a few times worth their body weight! It looks hard for them to stand, and their gut jiggles when they move.</span>\n"
|
||||
if(4075 to 10000) // Four or more people.
|
||||
message = "\red They are so absolutely stuffed that you aren't sure how it's possible to move. They can't seem to swell any bigger. The surface of their belly looks sorely strained!\n"
|
||||
message = "<span class='warning'>They are so absolutely stuffed that you aren't sure how it's possible to move. They can't seem to swell any bigger. The surface of their belly looks sorely strained!</span>\n"
|
||||
return message
|
||||
|
||||
/mob/living/carbon/human/proc/examine_bellies()
|
||||
|
||||
@@ -79,15 +79,15 @@
|
||||
|
||||
user.visible_message("<span class='notice'>[user] sniffs the air.</span>", "<span class='notice'>You sniff the air...</span>")
|
||||
|
||||
user << "\blue <B>Smells like:</B>"
|
||||
user << "<span class='notice'><B>Smells like:</B></span>"
|
||||
if(abs(pressure - ONE_ATMOSPHERE) < 10)
|
||||
user << "\blue Pressure: [round(pressure,0.1)] kPa"
|
||||
user << "<span class='notice'>Pressure: [round(pressure,0.1)] kPa</span>"
|
||||
else
|
||||
user << "\red Pressure: [round(pressure,0.1)] kPa"
|
||||
user << "<span class='warning'>Pressure: [round(pressure,0.1)] kPa</span>"
|
||||
if(total_moles)
|
||||
for(var/g in environment.gas)
|
||||
user << "\blue [gas_data.name[g]]: [round((environment.gas[g] / total_moles) * 100)]%"
|
||||
user << "\blue Temperature: [round(environment.temperature-T0C,0.1)]°C ([round(environment.temperature,0.1)]K)"
|
||||
user << "<span class='notice'>[gas_data.name[g]]: [round((environment.gas[g] / total_moles) * 100)]%</span>"
|
||||
user << "<span class='notice'>Temperature: [round(environment.temperature-T0C,0.1)]°C ([round(environment.temperature,0.1)]K)</span>"
|
||||
|
||||
/obj/item/device/dogborg/boop_module/afterattack(obj/O, mob/user as mob, proximity)
|
||||
if(!proximity)
|
||||
@@ -103,14 +103,14 @@
|
||||
var/dat = ""
|
||||
if(O.reagents.reagent_list.len > 0)
|
||||
for (var/datum/reagent/R in O.reagents.reagent_list)
|
||||
dat += "\n \t \blue [R]"
|
||||
dat += "\n \t <span class='notice'>[R]</span>"
|
||||
|
||||
if(dat)
|
||||
user << "\blue Your BOOP module indicates: [dat]"
|
||||
user << "<span class='notice'>Your BOOP module indicates: [dat]</span>"
|
||||
else
|
||||
user << "\blue No active chemical agents smelled in [O]."
|
||||
user << "<span class='notice'>No active chemical agents smelled in [O].</span>"
|
||||
else
|
||||
user << "\blue No significant chemical agents smelled in [O]."
|
||||
user << "<span class='notice'>No significant chemical agents smelled in [O].</span>"
|
||||
|
||||
return
|
||||
|
||||
|
||||
@@ -30,10 +30,10 @@
|
||||
if(!ishuman(target))
|
||||
return
|
||||
if(target.buckled)
|
||||
user << "\red The user is buckled and can not be put into your [src.name]."
|
||||
user << "<span class='warning'>The user is buckled and can not be put into your [src.name].</span>"
|
||||
return
|
||||
if(patient)
|
||||
user << "\red Your [src.name] is already occupied."
|
||||
user << "<span class='warning'>Your [src.name] is already occupied.</span>"
|
||||
return
|
||||
user.visible_message("<span class='warning'>[hound.name] is ingesting [target.name] into their [src.name].</span>", "<span class='notice'>You start ingesting [target] into your [src]...</span>")
|
||||
if(!patient && ishuman(target) && !target.buckled && do_after (user, 50))
|
||||
@@ -144,12 +144,19 @@
|
||||
else
|
||||
dat += "<span class='bad'>DEAD</span>"
|
||||
|
||||
dat += text("[]\t-Pulse, bpm: []</FONT><BR>", (patient.pulse == PULSE_NONE || patient.pulse == PULSE_THREADY ? "<font color='red'>" : "<font color='white'>"), patient.get_pulse(GETPULSE_TOOL))
|
||||
dat += text("[]\t-Overall Health %: []</FONT><BR>", (patient.health > 0 ? "<font color='white'>" : "<font color='red'>"), round(patient.health))
|
||||
dat += text("[]\t-Brute Damage %: []</FONT><BR>", (patient.getBruteLoss() < 60 ? "<font color='gray'>" : "<font color='red'>"), patient.getBruteLoss())
|
||||
dat += text("[]\t-Respiratory Damage %: []</FONT><BR>", (patient.getOxyLoss() < 60 ? "<font color='gray'>" : "<font color='red'>"), patient.getOxyLoss())
|
||||
dat += text("[]\t-Toxin Content %: []</FONT><BR>", (patient.getToxLoss() < 60 ? "<font color='gray'>" : "<font color='red'>"), patient.getToxLoss())
|
||||
dat += text("[]\t-Burn Severity %: []</FONT><BR>", (patient.getFireLoss() < 60 ? "<font color='gray'>" : "<font color='red'>"), patient.getFireLoss())
|
||||
var/pulsecolor = (patient.pulse == PULSE_NONE || patient.pulse == PULSE_THREADY ? "color:red;" : "color:white;")
|
||||
var/healthcolor = (patient.health > 0 ? "color:white;" : "color:red;")
|
||||
var/brutecolor = (patient.getBruteLoss() < 60 ? "color:gray;" : "color:red;")
|
||||
var/o2color = (patient.getOxyLoss() < 60 ? "color:gray;" : "color:red;")
|
||||
var/toxcolor = (patient.getToxLoss() < 60 ? "color:gray;" : "color:red;")
|
||||
var/burncolor = (patient.getFireLoss() < 60 ? "color:gray;" : "color:red;")
|
||||
|
||||
dat += "<span style='[pulsecolor]'>\t-Pulse, bpm: [patient.get_pulse(GETPULSE_TOOL)]</span><BR>"
|
||||
dat += "<span style='[healthcolor]'>\t-Overall Health %: [round(patient.health)]</span><BR>"
|
||||
dat += "<span style='[brutecolor]'>\t-Brute Damage %: [patient.getBruteLoss()]</span><BR>"
|
||||
dat += "<span style='[o2color]'>\t-Respiratory Damage %: [patient.getOxyLoss()]</span><BR>"
|
||||
dat += "<span style='[toxcolor]'>\t-Toxin Content %: [patient.getToxLoss()]</span><BR>"
|
||||
dat += "<span style='[burncolor]'>\t-Burn Severity %: [patient.getFireLoss()]</span><BR>"
|
||||
|
||||
if(round(patient.paralysis / 4) >= 1)
|
||||
dat += text("<HR>Patient paralyzed for: []<BR>", round(patient.paralysis / 4) >= 1 ? "[round(patient.paralysis / 4)] seconds" : "None")
|
||||
|
||||
@@ -21,13 +21,13 @@
|
||||
//helmet and armor = 100% protection
|
||||
if( istype(inventory_head,/obj/item/clothing/head/helmet) && istype(inventory_back,/obj/item/clothing/suit/armor) )
|
||||
if( O.force )
|
||||
usr << "\red This animal is wearing too much armor. You can't cause /him any damage."
|
||||
usr << "<span class='warning'>This animal is wearing too much armor. You can't cause them any damage.</span>"
|
||||
for (var/mob/M in viewers(src, null))
|
||||
M.show_message("\red \b [user] hits [src] with the [O], however [src] is too armored.")
|
||||
M.show_message("<span class='warning'><B>[user] hits [src] with the [O], however [src] is too armored.</B></span>")
|
||||
else
|
||||
usr << "\red This animal is wearing too much armor. You can't reach its skin."
|
||||
usr << "<span class='warning'>This animal is wearing too much armor. You can't reach its skin.</span>"
|
||||
for (var/mob/M in viewers(src, null))
|
||||
M.show_message("\red [user] gently taps [src] with the [O]. ")
|
||||
M.show_message("<span class='warning'>[user] gently taps [src] with the [O].</span>")
|
||||
if(prob(15))
|
||||
visible_emote("looks at [user] with [pick("an amused","an annoyed","a confused","a resentful", "a happy", "an excited")] expression on \his face")
|
||||
return
|
||||
@@ -72,12 +72,12 @@
|
||||
return
|
||||
var/add_to = href_list["add_inv"]
|
||||
if(!usr.get_active_hand())
|
||||
usr << "\red You have nothing in your hand to put on its [add_to]."
|
||||
usr << "<span class='warning'>You have nothing in your hand to put on its [add_to].</span>"
|
||||
return
|
||||
switch(add_to)
|
||||
if("head")
|
||||
if(inventory_head)
|
||||
usr << "\red It's is already wearing something."
|
||||
usr << "<span class='warning'>It's is already wearing something.</span>"
|
||||
return
|
||||
else
|
||||
place_on_head(usr.get_active_hand())
|
||||
@@ -91,11 +91,7 @@
|
||||
/obj/item/clothing/glasses/sunglasses,
|
||||
/obj/item/clothing/head/caphat,
|
||||
/obj/item/clothing/head/that,
|
||||
// /obj/item/clothing/head/accessory/kitty,
|
||||
// /obj/item/clothing/head/collectable/kitty,
|
||||
// /obj/item/clothing/head/accessory/bunny,
|
||||
/obj/item/clothing/head/beret,
|
||||
// /obj/item/clothing/head/det_hat,
|
||||
/obj/item/clothing/head/nursehat,
|
||||
/obj/item/clothing/head/pirate,
|
||||
/obj/item/clothing/head/ushanka,
|
||||
@@ -119,7 +115,7 @@
|
||||
)
|
||||
|
||||
if( ! ( item_to_add.type in allowed_types ) )
|
||||
usr << "\red It doesn't seem too keen on wearing that item."
|
||||
usr << "<span class='warning'>It doesn't seem too keen on wearing that item.</span>"
|
||||
return
|
||||
|
||||
usr.drop_item()
|
||||
@@ -128,7 +124,7 @@
|
||||
|
||||
if("back")
|
||||
if(inventory_back)
|
||||
usr << "\red It's already wearing something."
|
||||
usr << "<span class='warning'>It's already wearing something.</span>"
|
||||
return
|
||||
else
|
||||
var/obj/item/item_to_add = usr.get_active_hand()
|
||||
@@ -144,15 +140,13 @@
|
||||
)
|
||||
|
||||
if( ! ( item_to_add.type in allowed_types ) )
|
||||
usr << "\red This object won't fit."
|
||||
usr << "<span class='warning'>This object won't fit.</span>"
|
||||
return
|
||||
|
||||
usr.drop_item()
|
||||
item_to_add.loc = src
|
||||
src.inventory_back = item_to_add
|
||||
regenerate_icons()
|
||||
|
||||
//show_inv(usr) //Commented out because changing Ian's name and then calling up his inventory opens a new inventory...which is annoying.
|
||||
else
|
||||
..()
|
||||
|
||||
|
||||
@@ -23,7 +23,7 @@ mob/proc/weaveWeb()
|
||||
set name = "Weave Web"
|
||||
set category = "Species Powers"
|
||||
if(nutrition >= 500) //People decided to abuse it. Sorry. It was asked to be made so it couldn't be spammed, and what do ya know, people are spamming it everywhere.
|
||||
src.visible_message("\blue \the [src] weaves a web from their spinneret silk.")
|
||||
src.visible_message("<span class='notice'>\the [src] weaves a web from their spinneret silk.</span>")
|
||||
nutrition -= 500
|
||||
spawn(30) //3 seconds to form
|
||||
new /obj/effect/spider/stickyweb(src.loc)
|
||||
@@ -35,7 +35,7 @@ mob/proc/weaveWebBindings()
|
||||
set name = "Weave Web Bindings"
|
||||
set category = "Species Powers"
|
||||
if(nutrition >= 30) //This isn't a huge problem. This is so you can bind people up.
|
||||
src.visible_message("\blue \the [src] pulls silk from their spinneret and delicately weaves it into bindings.")
|
||||
src.visible_message("<span class='notice'>\the [src] pulls silk from their spinneret and delicately weaves it into bindings.</span>")
|
||||
nutrition -= 30
|
||||
spawn(30) //5 seconds to weave the bindings~
|
||||
var/obj/item/clothing/suit/web_bindings/bindings = new() //This sprite is amazing, I must say.
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
|
||||
var/datum/belly/B = vore_organs[vore_selected]
|
||||
if(faction != usr.faction)
|
||||
usr << "\red This predator isn't friendly, and doesn't give a shit about your opinions of it digesting you."
|
||||
usr << "<span class='warning'>This predator isn't friendly, and doesn't give a shit about your opinions of it digesting you.</span>"
|
||||
return
|
||||
if(B.digest_mode == "Hold")
|
||||
var/confirm = alert(usr, "Enabling digestion on [name] will cause it to digest all stomach contents. Using this to break OOC prefs is against the rules. Digestion will disable itself after 20 minutes.", "Enabling [name]'s Digestion", "Enable", "Cancel")
|
||||
|
||||
@@ -77,36 +77,34 @@
|
||||
else
|
||||
dat += "<a href='?src=\ref[src];bellypick=\ref[B]'>[B.name]"
|
||||
|
||||
var/spanstyle
|
||||
switch(B.digest_mode)
|
||||
if(DM_HOLD)
|
||||
dat += "<span>"
|
||||
spanstyle = ""
|
||||
if(DM_DIGEST)
|
||||
dat += "<span style='color:red;'>"
|
||||
spanstyle = "color:red;"
|
||||
if(DM_HEAL)
|
||||
dat += "<span style='color:green;'>"
|
||||
spanstyle = "color:green;"
|
||||
if(DM_ABSORB)
|
||||
dat += "<span style='color:purple;'>"
|
||||
spanstyle = "color:purple;"
|
||||
if(DM_TRANSFORM_MALE)
|
||||
dat += "<span style='color:purple;'>"
|
||||
spanstyle = "color:purple;"
|
||||
if(DM_TRANSFORM_FEMALE)
|
||||
dat += "<span style='color:purple;'>"
|
||||
spanstyle = "color:purple;"
|
||||
if(DM_TRANSFORM_KEEP_GENDER)
|
||||
dat += "<span style='color:purple;'>"
|
||||
spanstyle = "color:purple;"
|
||||
if(DM_TRANSFORM_CHANGE_SPECIES)
|
||||
dat += "<span style='color:purple;'>"
|
||||
spanstyle = "color:purple;"
|
||||
if(DM_TRANSFORM_CHANGE_SPECIES_EGG)
|
||||
dat += "<span style='color:purple;'>"
|
||||
spanstyle = "color:purple;"
|
||||
if(DM_TRANSFORM_KEEP_GENDER_EGG)
|
||||
dat += "<span style='color:purple;'>"
|
||||
spanstyle = "color:purple;"
|
||||
if(DM_TRANSFORM_MALE_EGG)
|
||||
dat += "<span style='color:purple;'>"
|
||||
spanstyle = "color:purple;"
|
||||
if(DM_TRANSFORM_FEMALE_EGG)
|
||||
dat += "<span style='color:purple;'>"
|
||||
spanstyle = "color:purple;"
|
||||
|
||||
else
|
||||
dat += "<span>"
|
||||
|
||||
dat += " ([B.internal_contents.len])</span></a>"
|
||||
dat += "<span style='[spanstyle]'> ([B.internal_contents.len])</span></a>"
|
||||
|
||||
if(user.vore_organs.len < 10)
|
||||
dat += "<a href='?src=\ref[src];newbelly=1'>New+</a>"
|
||||
@@ -207,7 +205,7 @@
|
||||
|
||||
user << "<font color='green'>You begin to push [M] to freedom!</font>"
|
||||
M << "[usr] begins to push you to freedom!"
|
||||
M.loc << "<span class='warning'>Someone is trying to escape from inside you!<span>"
|
||||
M.loc << "<span class='warning'>Someone is trying to escape from inside you!</span>"
|
||||
sleep(50)
|
||||
if(prob(33))
|
||||
OB.release_specific_contents(M)
|
||||
|
||||
@@ -96,7 +96,7 @@
|
||||
consume_next_projectile()
|
||||
if(chambered)
|
||||
return chambered.BB
|
||||
usr << "\red It's a single action revolver, pull the hammer back!"
|
||||
usr << "<span class='warning'>It's a single action revolver, pull the hammer back!</span>"
|
||||
return null
|
||||
|
||||
attack_self(mob/living/user as mob)
|
||||
@@ -237,13 +237,13 @@
|
||||
switch(mode)
|
||||
if(0)
|
||||
mode = 1
|
||||
user.visible_message("\red [src.name] folds up into a cool looking rifle.")
|
||||
user.visible_message("<span class='warning'>[src.name] folds up into a cool looking rifle.</span>")
|
||||
force = 5
|
||||
throwforce = 2
|
||||
modifystate = crestrose_fold
|
||||
if(1)
|
||||
mode = 0 // I feel like this mode should prevent it from shooting. Otherwise, what's the point? -Spades ||Probably need assistance in that. Original design of Crescent Rose is to shoot no matter what form it was in. Perhaps lowering accuracy will provide a con buffer here. -- Joan
|
||||
user.visible_message("\red [src.name] changes into a very intimidating looking weapon.")
|
||||
user.visible_message("<span class='warning'>[src.name] changes into a very intimidating looking weapon.</span>")
|
||||
force = 40
|
||||
throwforce = 10
|
||||
modifystate = crestrose
|
||||
|
||||
@@ -60,7 +60,7 @@
|
||||
return
|
||||
playsound(user.loc, 'sound/items/Screwdriver.ogg', 100, 1)
|
||||
var/N = new to_type(O.loc)
|
||||
user.visible_message("\red [user] opens \the [src] and modifies \the [O] into \the [N].","\red You open \the [src] and modify \the [O] into \the [N].")
|
||||
user.visible_message("<span class='warning'>[user] opens \the [src] and modifies \the [O] into \the [N].</span>","<span class='warning'>You open \the [src] and modify \the [O] into \the [N].</span>")
|
||||
qdel(O)
|
||||
parts &= ~flag
|
||||
if(!parts)
|
||||
@@ -99,11 +99,11 @@
|
||||
|
||||
attack_self(mob/user as mob)
|
||||
if(isliving(user))
|
||||
user.visible_message("\red [user] flashes their golden security badge.\nIt reads:NT Security.","\red You display the faded badge.\nIt reads: NT Security.")
|
||||
user.visible_message("<span class='warning'>[user] flashes their golden security badge.\nIt reads:NT Security.</span>","<span class='warning'>You display the faded badge.\nIt reads: NT Security.</span>")
|
||||
|
||||
attack(mob/living/carbon/human/M, mob/living/user)
|
||||
if(isliving(user))
|
||||
user.visible_message("\red [user] invades [M]'s personal space, thrusting [src] into their face insistently.","\red You invade [M]'s personal space, thrusting [src] into their face insistently.")
|
||||
user.visible_message("<span class='warning'>[user] invades [M]'s personal space, thrusting [src] into their face insistently.</span>","<span class='warning'>You invade [M]'s personal space, thrusting [src] into their face insistently.</span>")
|
||||
|
||||
//JoanRisu:Joan Risu
|
||||
/obj/item/device/pda/heads/hos/fluff/joanpda
|
||||
|
||||
Reference in New Issue
Block a user