Merge branch 'master' of https://github.com/Yawn-Wider/YWPolarisVore into UpstreamMergeApril2020

This commit is contained in:
Erik
2020-04-11 16:53:35 -07:00
2323 changed files with 1758903 additions and 156537 deletions
@@ -4,21 +4,15 @@
desc = "This item spawns stack of 50 of a given material."
icon = 'icons/misc/mark.dmi'
icon_state = "x4"
// var/material = ""
var/obj/item/stack/type_to_spawn = null
/obj/fiftyspawner/New()
spawn()
//spawns the 50-stack and qdels self
..()
if(istype(src.loc, /obj/structure/loot_pile)) //Spawning from a lootpile is weird, need to wait until we're out of it to do our work.
while(istype(src.loc, /obj/structure/loot_pile))
sleep(1)
// var/obj_path = text2path("/obj/item/stack/[material]")
var/obj/item/stack/M = new type_to_spawn(src.loc)
M.amount = M.max_amount //some stuff spawns with 60, we're still calling it fifty
M.update_icon() // Some stacks have different sprites depending on how full they are.
qdel(src)
/obj/fiftyspawner/Initialize()
..() //We're not returning . because we're going to ask to be deleted.
var/obj/item/stack/M = new type_to_spawn(get_turf(src))
M.amount = M.max_amount //some stuff spawns with 60, we're still calling it fifty
M.update_icon() // Some stacks have different sprites depending on how full they are.
return INITIALIZE_HINT_QDEL //Bye!
/obj/fiftyspawner/rods
name = "stack of rods" //this needs to be defined for cargo
+11 -7
View File
@@ -10,17 +10,18 @@
var/heal_brute = 0
var/heal_burn = 0
var/apply_sounds
drop_sound = 'sound/items/drop/box.ogg'
var/upgrade_to // The type path this stack can be upgraded to.
/obj/item/stack/medical/attack(mob/living/carbon/M as mob, mob/user as mob)
if (!istype(M))
user << "<span class='warning'>\The [src] cannot be applied to [M]!</span>"
to_chat(user, "<span class='warning'>\The [src] cannot be applied to [M]!</span>")
return 1
if ( ! (istype(user, /mob/living/carbon/human) || \
istype(user, /mob/living/silicon)) )
user << "<span class='warning'>You don't have the dexterity to do this!</span>"
to_chat(user, "<span class='warning'>You don't have the dexterity to do this!</span>")
return 1
if (istype(M, /mob/living/carbon/human))
@@ -28,24 +29,24 @@
var/obj/item/organ/external/affecting = H.get_organ(user.zone_sel.selecting)
if(!affecting)
user << "<span class='warning'>No body part there to work on!</span>"
to_chat(user, "<span class='warning'>No body part there to work on!</span>")
return 1
if(affecting.organ_tag == BP_HEAD)
if(H.head && istype(H.head,/obj/item/clothing/head/helmet/space))
user << "<span class='warning'>You can't apply [src] through [H.head]!</span>"
to_chat(user, "<span class='warning'>You can't apply [src] through [H.head]!</span>")
return 1
else
if(H.wear_suit && istype(H.wear_suit,/obj/item/clothing/suit/space))
user << "<span class='warning'>You can't apply [src] through [H.wear_suit]!</span>"
to_chat(user, "<span class='warning'>You can't apply [src] through [H.wear_suit]!</span>")
return 1
if(affecting.robotic == ORGAN_ROBOT)
user << "<span class='warning'>This isn't useful at all on a robotic limb.</span>"
to_chat(user, "<span class='warning'>This isn't useful at all on a robotic limb.</span>")
return 1
if(affecting.robotic >= ORGAN_LIFELIKE)
user << "<span class='warning'>You apply the [src], but it seems to have no effect...</span>"
to_chat(user, "<span class='warning'>You apply the [src], but it seems to have no effect...</span>")
use(1)
return 1
@@ -143,6 +144,7 @@
origin_tech = list(TECH_BIO = 1)
no_variants = FALSE
apply_sounds = list('sound/effects/rip1.ogg','sound/effects/rip2.ogg')
drop_sound = 'sound/items/drop/gloves.ogg'
upgrade_to = /obj/item/stack/medical/advanced/bruise_pack
@@ -212,6 +214,7 @@
origin_tech = list(TECH_BIO = 1)
no_variants = FALSE
apply_sounds = list('sound/effects/ointment.ogg')
drop_sound = 'sound/items/drop/herb.ogg'
/obj/item/stack/medical/ointment/attack(mob/living/carbon/M as mob, mob/user as mob)
if(..())
@@ -354,6 +357,7 @@
icon_state = "splint"
amount = 5
max_amount = 5
drop_sound = 'sound/items/drop/hat.ogg'
var/list/splintable_organs = list(BP_HEAD, BP_L_HAND, BP_R_HAND, BP_L_ARM, BP_R_ARM, BP_L_FOOT, BP_R_FOOT, BP_L_LEG, BP_R_LEG, BP_GROIN, BP_TORSO) //List of organs you can splint, natch.
+14 -1
View File
@@ -24,11 +24,24 @@
user.visible_message("<span class='notice'>\The [user] applied some [src] on [R]'s damaged areas.</span>",\
"<span class='notice'>You apply some [src] at [R]'s damaged areas.</span>")
else
user << "<span class='notice'>All [R]'s systems are nominal.</span>"
to_chat(user, "<span class='notice'>All [R]'s systems are nominal.</span>")
if (istype(M,/mob/living/carbon/human)) //Repairing robolimbs
var/mob/living/carbon/human/H = M
var/obj/item/organ/external/S = H.get_organ(user.zone_sel.selecting)
if(!S)
to_chat(user, "<span class='warning'>No body part there to work on!</span>")
return 1
if(S.organ_tag == BP_HEAD)
if(H.head && istype(H.head,/obj/item/clothing/head/helmet/space))
to_chat(user, "<span class='warning'>You can't apply [src] through [H.head]!</span>")
return 1
else
if(H.wear_suit && istype(H.wear_suit,/obj/item/clothing/suit/space))
to_chat(user, "<span class='warning'>You can't apply [src] through [H.wear_suit]!</span>")
return 1
//VOREStation Edit Start
if (S && (S.robotic >= ORGAN_ROBOT))
if(!S.get_damage())
@@ -16,6 +16,7 @@
icon_state = "sheet-glass"
var/is_reinforced = 0
default_type = "glass"
drop_sound = 'sound/items/drop/glass.ogg'
/obj/item/stack/material/glass/attack_self(mob/user as mob)
construct_window(user)
@@ -26,17 +27,17 @@
if(istype(W,/obj/item/stack/cable_coil))
var/obj/item/stack/cable_coil/CC = W
if (get_amount() < 1 || CC.get_amount() < 5)
user << "<span class='warning'>You need five lengths of coil and one sheet of glass to make wired glass.</span>"
to_chat(user, "<span class='warning'>You need five lengths of coil and one sheet of glass to make wired glass.</span>")
return
CC.use(5)
use(1)
user << "<span class='notice'>You attach wire to the [name].</span>"
to_chat(user, "<span class='notice'>You attach wire to the [name].</span>")
new /obj/item/stack/light_w(user.loc)
else if(istype(W, /obj/item/stack/rods))
var/obj/item/stack/rods/V = W
if (V.get_amount() < 1 || get_amount() < 1)
user << "<span class='warning'>You need one rod and one sheet of glass to make reinforced glass.</span>"
to_chat(user, "<span class='warning'>You need one rod and one sheet of glass to make reinforced glass.</span>")
return
var/obj/item/stack/material/glass/reinforced/RG = new (user.loc)
@@ -4,6 +4,7 @@
singular_name = "human skin piece"
icon_state = "sheet-hide"
no_variants = FALSE
drop_sound = 'sound/items/drop/clothing.ogg'
/obj/item/stack/material/animalhide/human
amount = 50
@@ -107,7 +108,7 @@
//visible message on mobs is defined as visible_message(var/message, var/self_message, var/blind_message)
usr.visible_message("<span class='notice'>\The [usr] starts cutting hair off \the [src]</span>", "<span class='notice'>You start cutting the hair off \the [src]</span>", "You hear the sound of a knife rubbing against flesh")
if(do_after(user,50))
usr << "<span class='notice'>You cut the hair from this [src.singular_name]</span>"
to_chat(usr, "<span class='notice'>You cut the hair from this [src.singular_name]</span>")
//Try locating an exisitng stack on the tile and add to there if possible
for(var/obj/item/stack/material/hairlesshide/HS in usr.loc)
if(HS.amount < 50)
+10 -8
View File
@@ -13,6 +13,8 @@
gender = PLURAL
origin_tech = list(TECH_MATERIAL = 1)
icon = 'icons/obj/stacks.dmi'
randpixel = 7
center_of_mass = null
var/list/datum/stack_recipe/recipes
var/singular_name
var/amount = 1
@@ -58,9 +60,9 @@
/obj/item/stack/examine(mob/user)
if(..(user, 1))
if(!uses_charge)
user << "There are [src.amount] [src.singular_name]\s in the stack."
to_chat(user, "There are [src.amount] [src.singular_name]\s in the stack.")
else
user << "There is enough charge for [get_amount()]."
to_chat(user, "There is enough charge for [get_amount()].")
/obj/item/stack/attack_self(mob/user as mob)
list_recipes(user)
@@ -126,21 +128,21 @@
if (!can_use(required))
if (produced>1)
user << "<span class='warning'>You haven't got enough [src] to build \the [produced] [recipe.title]\s!</span>"
to_chat(user, "<span class='warning'>You haven't got enough [src] to build \the [produced] [recipe.title]\s!</span>")
else
user << "<span class='warning'>You haven't got enough [src] to build \the [recipe.title]!</span>"
to_chat(user, "<span class='warning'>You haven't got enough [src] to build \the [recipe.title]!</span>")
return
if (recipe.one_per_turf && (locate(recipe.result_type) in user.loc))
user << "<span class='warning'>There is another [recipe.title] here!</span>"
to_chat(user, "<span class='warning'>There is another [recipe.title] here!</span>")
return
if (recipe.on_floor && !isfloor(user.loc))
user << "<span class='warning'>\The [recipe.title] must be constructed on the floor!</span>"
to_chat(user, "<span class='warning'>\The [recipe.title] must be constructed on the floor!</span>")
return
if (recipe.time)
user << "<span class='notice'>Building [recipe.title] ...</span>"
to_chat(user, "<span class='notice'>Building [recipe.title] ...</span>")
if (!do_after(user, recipe.time))
return
@@ -326,7 +328,7 @@
continue
var/transfer = src.transfer_to(item)
if (transfer)
user << "<span class='notice'>You add a new [item.singular_name] to the stack. It now contains [item.amount] [item.singular_name]\s.</span>"
to_chat(user, "<span class='notice'>You add a new [item.singular_name] to the stack. It now contains [item.amount] [item.singular_name]\s.</span>")
if(!amount)
break
@@ -16,11 +16,11 @@
safe_blink(target, 14)
use(5)
else
user << "<span class='warning'>There are not enough telecrystals to do that.</span>"
to_chat(user, "<span class='warning'>There are not enough telecrystals to do that.</span>")
/obj/item/stack/telecrystal/attack_self(mob/user as mob)
if(user.mind.accept_tcrystals) //Checks to see if antag type allows for tcrystals
user << "<span class='notice'>You use \the [src], adding [src.amount] to your balance.</span>"
to_chat(user, "<span class='notice'>You use \the [src], adding [src.amount] to your balance.</span>")
user.mind.tcrystals += amount
use(amount)
return
@@ -14,8 +14,10 @@
name = "tile"
singular_name = "tile"
desc = "A non-descript floor tile"
randpixel = 7
w_class = ITEMSIZE_NORMAL
max_amount = 60
drop_sound = 'sound/items/drop/axe.ogg'
var/material/material //CHOMPEDIT: Start, To make tiles have material variables
var/default_type = DEFAULT_WALL_MATERIAL
@@ -24,8 +26,7 @@
/obj/item/stack/tile/New()
..()
pixel_x = rand(-7, 7)
pixel_y = rand(-7, 7)
randpixel_xy()
/*
* Grass
@@ -42,6 +43,7 @@
flags = 0
origin_tech = list(TECH_BIO = 1)
no_variants = FALSE
drop_sound = 'sound/items/drop/herb.ogg'
/*
* Wood
*/
@@ -56,6 +58,7 @@
throw_range = 20
flags = 0
no_variants = FALSE
drop_sound = 'sound/items/drop/wooden.ogg'
/obj/item/stack/tile/wood/sif
name = "alien wood tile"
@@ -85,6 +88,7 @@
throw_range = 20
flags = 0
no_variants = FALSE
drop_sound = 'sound/items/drop/clothing.ogg'
/obj/item/stack/tile/carpet/teal
name = "teal carpet"