mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-22 12:41:09 +01:00
[MIRROR] Basepixels (#1512)
* Basepixels (#54652) * Basepixels Co-authored-by: Rohesie <rohesie@gmail.com>
This commit is contained in:
@@ -97,8 +97,8 @@
|
||||
copy_overlays(target)
|
||||
alpha = max(alpha, 150) //fucking chameleons
|
||||
transform = initial(transform)
|
||||
pixel_y = initial(pixel_y)
|
||||
pixel_x = initial(pixel_x)
|
||||
pixel_y = base_pixel_y
|
||||
pixel_x = base_pixel_x
|
||||
|
||||
//Morphed is weaker
|
||||
melee_damage_lower = melee_damage_disguised
|
||||
|
||||
@@ -14,7 +14,9 @@
|
||||
icon_state = "gondola"
|
||||
icon_living = "gondola"
|
||||
pixel_x = -16//2x2 sprite
|
||||
base_pixel_x = -16
|
||||
pixel_y = -5
|
||||
base_pixel_y = -5
|
||||
layer = TABLE_LAYER//so that deliveries dont appear underneath it
|
||||
loot = list(/obj/effect/decal/cleanable/blood/gibs, /obj/item/stack/sheet/animalhide/gondola = 2, /obj/item/food/meat/slab/gondola = 2)
|
||||
//Gondolas aren't affected by cold.
|
||||
|
||||
@@ -220,7 +220,7 @@
|
||||
if (!gibturf.density && (src in view(gibturf)))
|
||||
new gibtype(gibturf,i,diseases)
|
||||
|
||||
pixel_x = initial(pixel_x) //return to its spot after shaking
|
||||
pixel_x = base_pixel_x //return to its spot after shaking
|
||||
operating = FALSE
|
||||
update_icon()
|
||||
|
||||
|
||||
@@ -81,7 +81,7 @@ GLOBAL_LIST_EMPTY(monkey_recyclers)
|
||||
animate(src, pixel_x = pixel_x + offset, time = 0.2, loop = 200) //start shaking
|
||||
use_power(500)
|
||||
stored_matter += cube_production
|
||||
addtimer(VARSET_CALLBACK(src, pixel_x, initial(pixel_x)))
|
||||
addtimer(VARSET_CALLBACK(src, pixel_x, base_pixel_x))
|
||||
addtimer(CALLBACK(GLOBAL_PROC, /proc/to_chat, user, "<span class='notice'>The machine now has [stored_matter] monkey\s worth of material stored.</span>"))
|
||||
|
||||
/obj/machinery/monkey_recycler/interact(mob/user)
|
||||
|
||||
@@ -123,7 +123,7 @@
|
||||
log_admin("DEBUG: [O] in processor doesn't have a suitable recipe. How do you put it in?")
|
||||
continue
|
||||
process_food(P, O)
|
||||
pixel_x = initial(pixel_x) //return to its spot after shaking
|
||||
pixel_x = base_pixel_x //return to its spot after shaking
|
||||
processing = FALSE
|
||||
visible_message("<span class='notice'>\The [src] finishes processing.</span>")
|
||||
|
||||
@@ -155,12 +155,12 @@
|
||||
if(!(i = slimecores.Find(AM.type))) // If the item is not found
|
||||
return
|
||||
if (i <= 16) // If in the first 12 slots
|
||||
AM.pixel_x = -12 + ((i%4)*8)
|
||||
AM.pixel_y = -12 + (round(i/4)*8)
|
||||
AM.pixel_x = AM.base_pixel_x - 12 + ((i%4)*8)
|
||||
AM.pixel_y = AM.base_pixel_y - 12 + (round(i/4)*8)
|
||||
return i
|
||||
var/ii = i - 16
|
||||
AM.pixel_x = -8 + ((ii%3)*8)
|
||||
AM.pixel_y = -8 + (round(ii/3)*8)
|
||||
AM.pixel_x = AM.base_pixel_x - 8 + ((ii%3)*8)
|
||||
AM.pixel_y = AM.base_pixel_y - 8 + (round(ii/3)*8)
|
||||
return i
|
||||
|
||||
/obj/machinery/processor/slime/process()
|
||||
|
||||
@@ -9,5 +9,5 @@
|
||||
|
||||
/obj/item/honey_frame/Initialize()
|
||||
. = ..()
|
||||
pixel_x = rand(8,-8)
|
||||
pixel_y = rand(8,-8)
|
||||
pixel_x = base_pixel_x + rand(8, -8)
|
||||
pixel_y = base_pixel_y + rand(8, -8)
|
||||
|
||||
@@ -15,8 +15,8 @@
|
||||
|
||||
/obj/item/reagent_containers/honeycomb/Initialize()
|
||||
. = ..()
|
||||
pixel_x = rand(8,-8)
|
||||
pixel_y = rand(8,-8)
|
||||
pixel_x = base_pixel_x + rand(8, -8)
|
||||
pixel_y = base_pixel_y + rand(8, -8)
|
||||
update_icon()
|
||||
|
||||
|
||||
|
||||
@@ -35,8 +35,8 @@
|
||||
seed = new seed()
|
||||
seed.adjust_potency(50-seed.potency)
|
||||
|
||||
pixel_x = rand(-5, 5)
|
||||
pixel_y = rand(-5, 5)
|
||||
pixel_x = base_pixel_x + rand(-5, 5)
|
||||
pixel_y = base_pixel_y + rand(-5, 5)
|
||||
|
||||
if(dried_type == -1)
|
||||
dried_type = src.type
|
||||
|
||||
@@ -206,8 +206,8 @@
|
||||
if(!click_params || !click_params["icon-x"] || !click_params["icon-y"])
|
||||
return
|
||||
//Clamp it so that the icon never moves more than 16 pixels in either direction (thus leaving the table turf)
|
||||
W.pixel_x = clamp(text2num(click_params["icon-x"]) - 16, -(world.icon_size/2), world.icon_size/2)
|
||||
W.pixel_y = clamp(text2num(click_params["icon-y"]) - 16, -(world.icon_size/2), world.icon_size/2)
|
||||
W.pixel_x = W.base_pixel_x + clamp(text2num(click_params["icon-x"]) - 16, -(world.icon_size/2), world.icon_size/2)
|
||||
W.pixel_y = W.base_pixel_y + clamp(text2num(click_params["icon-y"]) - 16, -(world.icon_size/2), world.icon_size/2)
|
||||
else
|
||||
return ..()
|
||||
|
||||
|
||||
@@ -19,8 +19,8 @@
|
||||
seed = new seed()
|
||||
seed.adjust_potency(50-seed.potency)
|
||||
|
||||
pixel_x = rand(-5, 5)
|
||||
pixel_y = rand(-5, 5)
|
||||
pixel_x = base_pixel_x + rand(-5, 5)
|
||||
pixel_y = base_pixel_y + rand(-5, 5)
|
||||
|
||||
if(seed)
|
||||
for(var/datum/plant_gene/trait/T in seed.genes)
|
||||
|
||||
@@ -248,8 +248,8 @@
|
||||
|
||||
/obj/item/reagent_containers/glass/bottle/nutrient/Initialize()
|
||||
. = ..()
|
||||
pixel_x = rand(-5, 5)
|
||||
pixel_y = rand(-5, 5)
|
||||
pixel_x = base_pixel_x + rand(-5, 5)
|
||||
pixel_y = base_pixel_y + rand(-5, 5)
|
||||
|
||||
|
||||
/obj/item/reagent_containers/glass/bottle/nutrient/ez
|
||||
|
||||
@@ -64,8 +64,8 @@
|
||||
|
||||
/obj/item/seeds/Initialize(mapload, nogenes = 0)
|
||||
. = ..()
|
||||
pixel_x = rand(-8, 8)
|
||||
pixel_y = rand(-8, 8)
|
||||
pixel_x = base_pixel_x + rand(-8, 8)
|
||||
pixel_y = base_pixel_y + rand(-8, 8)
|
||||
|
||||
if(!icon_grow)
|
||||
icon_grow = "[species]-grow"
|
||||
|
||||
@@ -180,8 +180,8 @@
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/grown/ash_flora/Initialize()
|
||||
. = ..()
|
||||
pixel_x = rand(-4, 4)
|
||||
pixel_y = rand(-4, 4)
|
||||
pixel_x = base_pixel_x + rand(-4, 4)
|
||||
pixel_y = base_pixel_y + rand(-4, 4)
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/grown/ash_flora/shavings //So we can't craft bowls from everything.
|
||||
|
||||
|
||||
@@ -48,7 +48,7 @@
|
||||
|
||||
playsound(user, 'sound/machines/click.ogg', 60, TRUE)
|
||||
obj_flags &= ~IN_USE
|
||||
user.pixel_y = 0
|
||||
user.pixel_y = user.base_pixel_y
|
||||
var/finishmessage = pick("You feel stronger!","You feel like you can take on the world!","You feel robust!","You feel indestructible!")
|
||||
SEND_SIGNAL(user, COMSIG_ADD_MOOD_EVENT, "exercise", /datum/mood_event/exercise)
|
||||
icon_state = initial(icon_state)
|
||||
|
||||
@@ -318,8 +318,8 @@ GLOBAL_LIST_INIT(sand_recipes, list(\
|
||||
|
||||
/obj/item/stack/ore/Initialize()
|
||||
. = ..()
|
||||
pixel_x = rand(0,16)-8
|
||||
pixel_y = rand(0,8)-8
|
||||
pixel_x = base_pixel_x + rand(0, 16) - 8
|
||||
pixel_y = base_pixel_y + rand(0, 8) - 8
|
||||
|
||||
/obj/item/stack/ore/ex_act(severity, target)
|
||||
if (!severity || severity >= 2)
|
||||
@@ -353,8 +353,8 @@ GLOBAL_LIST_INIT(sand_recipes, list(\
|
||||
. = ..()
|
||||
coinflip = pick(sideslist)
|
||||
icon_state = "coin_[coinflip]"
|
||||
pixel_x = rand(0,16)-8
|
||||
pixel_y = rand(0,8)-8
|
||||
pixel_x = base_pixel_x + rand(0, 16) - 8
|
||||
pixel_y = base_pixel_y + rand(0, 8) - 8
|
||||
|
||||
/obj/item/coin/set_custom_materials(list/materials, multiplier = 1)
|
||||
. = ..()
|
||||
|
||||
@@ -479,8 +479,8 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp
|
||||
/mob/dead/observer/stop_orbit(datum/component/orbiter/orbits)
|
||||
. = ..()
|
||||
//restart our floating animation after orbit is done.
|
||||
pixel_y = 0
|
||||
animate(src, pixel_y = 2, time = 10, loop = -1)
|
||||
pixel_y = base_pixel_y
|
||||
animate(src, pixel_y = base_pixel_y + 2, time = 1 SECONDS, loop = -1)
|
||||
|
||||
/mob/dead/observer/verb/jumptomob() //Moves the ghost instead of just changing the ghosts's eye -Nodrak
|
||||
set category = "Ghost"
|
||||
|
||||
@@ -173,8 +173,8 @@
|
||||
if(I.pulledby)
|
||||
I.pulledby.stop_pulling()
|
||||
update_inv_hands()
|
||||
I.pixel_x = initial(I.pixel_x)
|
||||
I.pixel_y = initial(I.pixel_y)
|
||||
I.pixel_x = I.base_pixel_x
|
||||
I.pixel_y = I.base_pixel_y
|
||||
return hand_index
|
||||
|
||||
//Puts the item into the first available left hand if possible and calls all necessary triggers/updates. returns 1 on success.
|
||||
@@ -284,8 +284,8 @@
|
||||
/mob/proc/dropItemToGround(obj/item/I, force = FALSE, silent = FALSE)
|
||||
. = doUnEquip(I, force, drop_location(), FALSE, silent = silent)
|
||||
if(. && I) //ensure the item exists and that it was dropped properly.
|
||||
I.pixel_x = rand(-6,6)
|
||||
I.pixel_y = rand(-6,6)
|
||||
I.pixel_x = I.base_pixel_x + rand(-6, 6)
|
||||
I.pixel_y = I.base_pixel_y + rand(-6, 6)
|
||||
|
||||
//for when the item will be immediately placed in a loc other than the ground
|
||||
/mob/proc/transferItemToLoc(obj/item/I, newloc = null, force = FALSE, silent = TRUE)
|
||||
|
||||
@@ -116,7 +116,7 @@ Des: Removes all infected images from the alien.
|
||||
return FALSE
|
||||
return TRUE
|
||||
|
||||
/mob/living/carbon/alien/get_standard_pixel_y_offset(lying = 0)
|
||||
/mob/living/carbon/alien/get_standard_pixel_y_offset(lying = FALSE)
|
||||
return initial(pixel_y)
|
||||
|
||||
/mob/living/carbon/alien/proc/alien_evolve(mob/living/carbon/alien/new_xeno)
|
||||
|
||||
@@ -80,7 +80,7 @@
|
||||
pulledby.stop_pulling()
|
||||
. = 0
|
||||
|
||||
/mob/living/carbon/alien/humanoid/get_standard_pixel_y_offset(lying = 0)
|
||||
/mob/living/carbon/alien/humanoid/get_standard_pixel_y_offset(lying = FALSE)
|
||||
if(leaping)
|
||||
return -32
|
||||
else if(custom_pixel_y_offset)
|
||||
|
||||
@@ -34,15 +34,15 @@
|
||||
icon = alt_icon
|
||||
alt_icon = old_icon
|
||||
icon_state = "alien[caste]_leap"
|
||||
pixel_x = -32
|
||||
pixel_y = -32
|
||||
pixel_x = base_pixel_x - 32
|
||||
pixel_y = base_pixel_y - 32
|
||||
else
|
||||
if(alt_icon != initial(alt_icon))
|
||||
var/old_icon = icon
|
||||
icon = alt_icon
|
||||
alt_icon = old_icon
|
||||
pixel_x = get_standard_pixel_x_offset(body_position == LYING_DOWN)
|
||||
pixel_y = get_standard_pixel_y_offset(body_position == LYING_DOWN)
|
||||
pixel_x = base_pixel_x + get_standard_pixel_x_offset(body_position == LYING_DOWN)
|
||||
pixel_y = base_pixel_y + get_standard_pixel_y_offset(body_position == LYING_DOWN)
|
||||
update_inv_hands()
|
||||
update_inv_handcuffed()
|
||||
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
status_flags = 0
|
||||
ventcrawler = VENTCRAWLER_NONE //pull over that ass too fat
|
||||
pixel_x = -16
|
||||
base_pixel_x = -16
|
||||
bubble_icon = "alienroyal"
|
||||
mob_size = MOB_SIZE_LARGE
|
||||
layer = LARGE_MOB_LAYER //above most mobs, but below speechbubbles
|
||||
|
||||
@@ -406,7 +406,7 @@
|
||||
update_inv_legcuffed()
|
||||
return TRUE
|
||||
|
||||
/mob/living/carbon/get_standard_pixel_y_offset(lying = 0)
|
||||
/mob/living/carbon/get_standard_pixel_y_offset(lying = FALSE)
|
||||
if(lying)
|
||||
return -6
|
||||
else
|
||||
|
||||
@@ -8,11 +8,11 @@
|
||||
changed++
|
||||
ntransform.TurnTo(lying_prev , lying_angle)
|
||||
if(!lying_angle) //Lying to standing
|
||||
final_pixel_y = get_standard_pixel_y_offset()
|
||||
final_pixel_y = base_pixel_y + get_standard_pixel_y_offset()
|
||||
else //if(lying != 0)
|
||||
if(lying_prev == 0) //Standing to lying
|
||||
pixel_y = get_standard_pixel_y_offset()
|
||||
final_pixel_y = get_standard_pixel_y_offset(lying_angle)
|
||||
pixel_y = base_pixel_y + get_standard_pixel_y_offset()
|
||||
final_pixel_y = base_pixel_y + get_standard_pixel_y_offset(lying_angle)
|
||||
if(dir & (EAST|WEST)) //Facing east or west
|
||||
final_dir = pick(NORTH, SOUTH) //So you fall on your side rather than your face or ass
|
||||
if(resize != RESIZE_DEFAULT_SIZE)
|
||||
|
||||
@@ -338,22 +338,22 @@
|
||||
M.setDir(get_dir(M, src))
|
||||
switch(M.dir)
|
||||
if(NORTH)
|
||||
animate(M, pixel_x = 0, pixel_y = offset, 3)
|
||||
animate(M, pixel_x = M.base_pixel_x, pixel_y = M.base_pixel_y + offset, 3)
|
||||
if(SOUTH)
|
||||
animate(M, pixel_x = 0, pixel_y = -offset, 3)
|
||||
animate(M, pixel_x = M.base_pixel_x, pixel_y = M.base_pixel_y - offset, 3)
|
||||
if(EAST)
|
||||
if(M.lying_angle == 270) //update the dragged dude's direction if we've turned
|
||||
M.set_lying_angle(90)
|
||||
animate(M, pixel_x = offset, pixel_y = 0, 3)
|
||||
animate(M, pixel_x = M.base_pixel_x + offset, pixel_y = M.base_pixel_y, 3)
|
||||
if(WEST)
|
||||
if(M.lying_angle == 90)
|
||||
M.set_lying_angle(270)
|
||||
animate(M, pixel_x = -offset, pixel_y = 0, 3)
|
||||
animate(M, pixel_x = M.base_pixel_x - offset, pixel_y = M.base_pixel_y, 3)
|
||||
|
||||
/mob/living/proc/reset_pull_offsets(mob/living/M, override)
|
||||
if(!override && M.buckled)
|
||||
return
|
||||
animate(M, pixel_x = 0, pixel_y = 0, 1)
|
||||
animate(M, pixel_x = base_pixel_x, pixel_y = base_pixel_y, 1)
|
||||
|
||||
//mob verbs are a lot faster than object verbs
|
||||
//for more info on why this is not atom/pull, see examinate() in mob.dm
|
||||
@@ -935,7 +935,7 @@
|
||||
animate(src, pixel_y = pixel_y - 2, time = 10, loop = -1)
|
||||
setMovetype(movement_type | FLOATING)
|
||||
else if(((!on || fixed) && (movement_type & FLOATING)))
|
||||
animate(src, pixel_y = get_standard_pixel_y_offset(lying_angle), time = 10)
|
||||
animate(src, pixel_y = base_pixel_y + get_standard_pixel_y_offset(lying_angle), time = 1 SECONDS)
|
||||
setMovetype(movement_type & ~FLOATING)
|
||||
|
||||
// The src mob is trying to strip an item from someone
|
||||
@@ -1023,8 +1023,8 @@
|
||||
var/amplitude = min(4, (jitteriness/100) + 1)
|
||||
var/pixel_x_diff = rand(-amplitude, amplitude)
|
||||
var/pixel_y_diff = rand(-amplitude/3, amplitude/3)
|
||||
var/final_pixel_x = get_standard_pixel_x_offset(body_position == LYING_DOWN)
|
||||
var/final_pixel_y = get_standard_pixel_y_offset(body_position == LYING_DOWN)
|
||||
var/final_pixel_x = base_pixel_x + get_standard_pixel_x_offset(body_position == LYING_DOWN)
|
||||
var/final_pixel_y = base_pixel_y + get_standard_pixel_y_offset(body_position == LYING_DOWN)
|
||||
animate(src, pixel_x = pixel_x + pixel_x_diff, pixel_y = pixel_y + pixel_y_diff , time = 2, loop = 6)
|
||||
animate(pixel_x = final_pixel_x , pixel_y = final_pixel_y , time = 2)
|
||||
setMovetype(movement_type & ~FLOATING) // If we were without gravity, the bouncing animation got stopped, so we make sure to restart it in next life().
|
||||
@@ -1041,10 +1041,10 @@
|
||||
loc_temp = heat_turf.temperature
|
||||
return loc_temp
|
||||
|
||||
/mob/living/proc/get_standard_pixel_x_offset(lying = 0)
|
||||
/mob/living/proc/get_standard_pixel_x_offset(lying = FALSE)
|
||||
return initial(pixel_x)
|
||||
|
||||
/mob/living/proc/get_standard_pixel_y_offset(lying = 0)
|
||||
/mob/living/proc/get_standard_pixel_y_offset(lying = FALSE)
|
||||
return initial(pixel_y)
|
||||
|
||||
/mob/living/cancel_camera()
|
||||
|
||||
@@ -276,8 +276,8 @@
|
||||
|
||||
/mob/living/simple_animal/chick/Initialize()
|
||||
. = ..()
|
||||
pixel_x = rand(-6, 6)
|
||||
pixel_y = rand(0, 10)
|
||||
pixel_x = base_pixel_x + rand(-6, 6)
|
||||
pixel_y = base_pixel_y + rand(0, 10)
|
||||
add_cell_sample()
|
||||
|
||||
/mob/living/simple_animal/chick/add_cell_sample()
|
||||
@@ -347,8 +347,8 @@
|
||||
icon_state = "[icon_prefix]_[body_color]"
|
||||
icon_living = "[icon_prefix]_[body_color]"
|
||||
icon_dead = "[icon_prefix]_[body_color]_dead"
|
||||
pixel_x = rand(-6, 6)
|
||||
pixel_y = rand(0, 10)
|
||||
pixel_x = base_pixel_x + rand(-6, 6)
|
||||
pixel_y = base_pixel_y + rand(0, 10)
|
||||
++chicken_count
|
||||
add_cell_sample()
|
||||
|
||||
|
||||
@@ -182,6 +182,7 @@
|
||||
maxHealth = 20
|
||||
health = 20
|
||||
pixel_x = -16
|
||||
base_pixel_x = -16
|
||||
mob_size = MOB_SIZE_LARGE
|
||||
random_color = FALSE
|
||||
food_type = list()
|
||||
|
||||
@@ -40,8 +40,9 @@
|
||||
multiply_chance = replicate
|
||||
faction -= "neutral"
|
||||
transform = initial(transform)
|
||||
pixel_y = initial(pixel_y)
|
||||
pixel_x = initial(pixel_x)
|
||||
pixel_x = base_pixel_x
|
||||
pixel_y = base_pixel_y
|
||||
|
||||
|
||||
/mob/living/simple_animal/hostile/illusion/examine(mob/user)
|
||||
if(parent_mob)
|
||||
|
||||
@@ -18,6 +18,7 @@
|
||||
projectilesound = 'sound/weapons/pierce.ogg'
|
||||
ranged_cooldown_time = 30
|
||||
pixel_x = -16
|
||||
base_pixel_x = -16
|
||||
layer = LARGE_MOB_LAYER
|
||||
speed = 10
|
||||
stat_attack = HARD_CRIT
|
||||
@@ -123,7 +124,9 @@
|
||||
icon_state = "lily_pad"
|
||||
layer = BELOW_MOB_LAYER
|
||||
pixel_x = -32
|
||||
base_pixel_x = -32
|
||||
pixel_y = -32
|
||||
base_pixel_y = -32
|
||||
duration = 30
|
||||
|
||||
/mob/living/simple_animal/hostile/jungle/leaper/Initialize()
|
||||
|
||||
@@ -15,6 +15,7 @@
|
||||
speed = 1
|
||||
ranged = 1
|
||||
pixel_x = -16
|
||||
base_pixel_x = -16
|
||||
move_to_delay = 10
|
||||
aggro_vision_range = 9
|
||||
speak_emote = list("chitters")
|
||||
|
||||
@@ -15,11 +15,13 @@
|
||||
icon_dead = "mook_dead"
|
||||
mob_biotypes = MOB_ORGANIC|MOB_HUMANOID
|
||||
pixel_x = -16
|
||||
base_pixel_x = -16
|
||||
pixel_y = -8
|
||||
base_pixel_y = -8
|
||||
maxHealth = 45
|
||||
health = 45
|
||||
melee_damage_lower = 30
|
||||
melee_damage_upper = 30
|
||||
pixel_y = -8
|
||||
ranged = TRUE
|
||||
ranged_cooldown_time = 10
|
||||
pass_flags = LETPASSTHROW
|
||||
@@ -217,7 +219,9 @@
|
||||
icon_state = "mook_leap_cloud"
|
||||
layer = BELOW_MOB_LAYER
|
||||
pixel_x = -16
|
||||
base_pixel_x = -16
|
||||
pixel_y = -16
|
||||
base_pixel_y = -16
|
||||
duration = 10
|
||||
|
||||
#undef MOOK_ATTACK_NEUTRAL
|
||||
|
||||
@@ -18,7 +18,9 @@
|
||||
melee_damage_lower = 30
|
||||
melee_damage_upper = 30
|
||||
pixel_x = -16
|
||||
base_pixel_x = -16
|
||||
pixel_y = -14
|
||||
base_pixel_y = -14
|
||||
minimum_distance = 3
|
||||
move_to_delay = 20
|
||||
vision_range = 9
|
||||
|
||||
@@ -40,6 +40,7 @@ Difficulty: Medium
|
||||
ranged = TRUE
|
||||
ranged_cooldown_time = 16
|
||||
pixel_x = -16
|
||||
base_pixel_x = -16
|
||||
crusher_loot = list(/obj/item/melee/transforming/cleaving_saw, /obj/item/gun/energy/kinetic_accelerator, /obj/item/crusher_trophy/miner_eye)
|
||||
loot = list(/obj/item/melee/transforming/cleaving_saw, /obj/item/gun/energy/kinetic_accelerator)
|
||||
wander = FALSE
|
||||
|
||||
@@ -54,6 +54,7 @@ Difficulty: Hard
|
||||
melee_queue_distance = 20 // as far as possible really, need this because of blood warp
|
||||
ranged = TRUE
|
||||
pixel_x = -32
|
||||
base_pixel_x = -32
|
||||
del_on_death = TRUE
|
||||
crusher_loot = list(/obj/structure/closet/crate/necropolis/bubblegum/crusher)
|
||||
loot = list(/obj/structure/closet/crate/necropolis/bubblegum)
|
||||
|
||||
@@ -44,6 +44,7 @@ Difficulty: Very Hard
|
||||
move_to_delay = 10
|
||||
ranged = TRUE
|
||||
pixel_x = -32
|
||||
base_pixel_x = -32
|
||||
del_on_death = TRUE
|
||||
gps_name = "Angelic Signal"
|
||||
achievement_type = /datum/award/achievement/boss/colossus_kill
|
||||
|
||||
@@ -58,6 +58,7 @@ Difficulty: Medium
|
||||
move_to_delay = 5
|
||||
ranged = TRUE
|
||||
pixel_x = -16
|
||||
base_pixel_x = -16
|
||||
crusher_loot = list(/obj/structure/closet/crate/necropolis/dragon/crusher)
|
||||
loot = list(/obj/structure/closet/crate/necropolis/dragon)
|
||||
butcher_results = list(/obj/item/stack/ore/diamond = 5, /obj/item/stack/sheet/sinew = 5, /obj/item/stack/sheet/bone = 30)
|
||||
|
||||
@@ -42,8 +42,10 @@
|
||||
achievement_type = /datum/award/achievement/boss/legion_kill
|
||||
crusher_achievement_type = /datum/award/achievement/boss/legion_crusher
|
||||
score_achievement_type = /datum/award/score/legion_score
|
||||
pixel_y = -16
|
||||
pixel_x = -32
|
||||
base_pixel_x = -32
|
||||
pixel_y = -16
|
||||
base_pixel_y = -16
|
||||
loot = list(/obj/item/stack/sheet/bone = 3)
|
||||
vision_range = 13
|
||||
wander = FALSE
|
||||
|
||||
@@ -29,6 +29,7 @@ Difficulty: Hard
|
||||
melee_queue_distance = 20 // as far as possible really, need this because of charging and teleports
|
||||
ranged = TRUE
|
||||
pixel_x = -16
|
||||
base_pixel_x = -16
|
||||
loot = list()
|
||||
butcher_results = list()
|
||||
guaranteed_butcher_results = list(/obj/item/wendigo_blood = 1)
|
||||
|
||||
@@ -100,6 +100,7 @@
|
||||
icon_dead = "watcher_dead"
|
||||
health_doll_icon = "watcher"
|
||||
pixel_x = -10
|
||||
base_pixel_x = -10
|
||||
throw_message = "bounces harmlessly off of"
|
||||
melee_damage_lower = 15
|
||||
melee_damage_upper = 15
|
||||
|
||||
@@ -95,6 +95,7 @@ While using this makes the system rely on OnFire, it still gives options for tim
|
||||
icon = 'icons/obj/lavaland/tumor.dmi'
|
||||
icon_state = "tumor"
|
||||
pixel_x = -16
|
||||
base_pixel_x = -16
|
||||
light_color = COLOR_SOFT_RED
|
||||
light_range = 3
|
||||
anchored = TRUE
|
||||
|
||||
@@ -162,6 +162,7 @@
|
||||
maxHealth = 150
|
||||
health = 150
|
||||
pixel_x = -16
|
||||
base_pixel_x = -16
|
||||
speed = 10
|
||||
harm_intent_damage = 5
|
||||
melee_damage_lower = 5
|
||||
@@ -187,6 +188,7 @@
|
||||
maxHealth = 400
|
||||
health = 400
|
||||
pixel_x = -16
|
||||
base_pixel_x = -16
|
||||
speed = 2
|
||||
harm_intent_damage = 15
|
||||
melee_damage_lower = 15
|
||||
@@ -284,6 +286,7 @@
|
||||
maxHealth = 130
|
||||
health = 130
|
||||
pixel_x = -16
|
||||
base_pixel_x = -16
|
||||
speed = -5
|
||||
harm_intent_damage = 10
|
||||
melee_damage_lower = 10
|
||||
|
||||
@@ -49,6 +49,7 @@
|
||||
mob_size = MOB_SIZE_LARGE
|
||||
armour_penetration = 30
|
||||
pixel_x = -16
|
||||
base_pixel_x = -16
|
||||
turns_per_move = 5
|
||||
ranged = TRUE
|
||||
mouse_opacity = MOUSE_OPACITY_ICON
|
||||
|
||||
@@ -21,6 +21,7 @@
|
||||
mob_size = MOB_SIZE_LARGE
|
||||
|
||||
pixel_x = -16
|
||||
base_pixel_x = -16
|
||||
|
||||
harm_intent_damage = 5
|
||||
melee_damage_lower = 8
|
||||
|
||||
@@ -129,7 +129,7 @@
|
||||
|
||||
/mob/living/simple_animal/hostile/venus_human_trap/Moved(atom/OldLoc, Dir)
|
||||
. = ..()
|
||||
pixel_x = dir & (NORTH|WEST) ? 2 : -2
|
||||
pixel_x = base_pixel_x + (dir & (NORTH|WEST) ? 2 : -2)
|
||||
|
||||
/mob/living/simple_animal/hostile/venus_human_trap/AttackingTarget()
|
||||
. = ..()
|
||||
|
||||
@@ -20,6 +20,7 @@
|
||||
maxHealth = 50
|
||||
health = 50
|
||||
pixel_x = -16
|
||||
base_pixel_x = -16
|
||||
harm_intent_damage = 5
|
||||
obj_damage = 0
|
||||
melee_damage_lower = 0
|
||||
|
||||
@@ -142,10 +142,11 @@
|
||||
if(buckled)
|
||||
buckled.unbuckle_mob(src,force=1)
|
||||
buckled = null
|
||||
pixel_x = initial(pixel_x)
|
||||
pixel_y = initial(pixel_y)
|
||||
pixel_x = base_pixel_x
|
||||
pixel_y = base_pixel_y
|
||||
|
||||
return ..()
|
||||
|
||||
..(gibbed)
|
||||
|
||||
/mob/living/simple_animal/parrot/get_status_tab_items()
|
||||
. = ..()
|
||||
|
||||
@@ -24,8 +24,8 @@
|
||||
|
||||
/obj/item/computer_hardware/New(obj/L)
|
||||
..()
|
||||
pixel_x = rand(-8, 8)
|
||||
pixel_y = rand(-8, 8)
|
||||
pixel_x = base_pixel_x + rand(-8, 8)
|
||||
pixel_y = base_pixel_y + rand(-8, 8)
|
||||
|
||||
/obj/item/computer_hardware/Destroy()
|
||||
if(holder)
|
||||
|
||||
@@ -101,8 +101,8 @@
|
||||
|
||||
/obj/item/paper/Initialize()
|
||||
. = ..()
|
||||
pixel_y = rand(-8, 8)
|
||||
pixel_x = rand(-9, 9)
|
||||
pixel_x = base_pixel_x + rand(-9, 9)
|
||||
pixel_y = base_pixel_y + rand(-8, 8)
|
||||
update_icon()
|
||||
|
||||
/obj/item/paper/update_icon_state()
|
||||
|
||||
@@ -121,8 +121,8 @@
|
||||
|
||||
/obj/item/paperslip/Initialize()
|
||||
. = ..()
|
||||
pixel_x = rand(-5, 5)
|
||||
pixel_y = rand(-5, 5)
|
||||
pixel_x = base_pixel_x + rand(-5, 5)
|
||||
pixel_y = base_pixel_y + rand(-5, 5)
|
||||
|
||||
|
||||
/obj/item/hatchet/cutterblade
|
||||
|
||||
@@ -21,8 +21,8 @@
|
||||
|
||||
/obj/item/paperplane/Initialize(mapload, obj/item/paper/newPaper)
|
||||
. = ..()
|
||||
pixel_y = rand(-8, 8)
|
||||
pixel_x = rand(-9, 9)
|
||||
pixel_x = base_pixel_x + rand(-9, 9)
|
||||
pixel_y = base_pixel_y + rand(-8, 8)
|
||||
if(newPaper)
|
||||
internalPaper = newPaper
|
||||
flags_1 = newPaper.flags_1
|
||||
|
||||
@@ -206,8 +206,8 @@
|
||||
* * copied_item - The paper, document, or photo that was just spawned on top of the printer.
|
||||
*/
|
||||
/obj/machinery/photocopier/proc/give_pixel_offset(obj/item/copied_item)
|
||||
copied_item.pixel_x = rand(-10, 10)
|
||||
copied_item.pixel_y = rand(-10, 10)
|
||||
copied_item.pixel_x = copied_item.base_pixel_x + rand(-10, 10)
|
||||
copied_item.pixel_y = copied_item.base_pixel_y + rand(-10, 10)
|
||||
|
||||
/**
|
||||
* Handles the copying of devil contract paper. Transfers all the text, stamps and so on from the old paper, to the copy.
|
||||
|
||||
@@ -84,8 +84,8 @@
|
||||
to_chat(user, "<span class='warning'>Invalid Image.</span>")
|
||||
return
|
||||
var/obj/item/photo/p = new /obj/item/photo(C.loc, selection)
|
||||
p.pixel_x = rand(-10, 10)
|
||||
p.pixel_y = rand(-10, 10)
|
||||
p.pixel_x = p.base_pixel_x + rand(-10, 10)
|
||||
p.pixel_y = p.base_pixel_y + rand(-10, 10)
|
||||
C.toner -= printcost //All fun allowed.
|
||||
visible_message("<span class='notice'>[C.name] spits out a photograph from a narrow slot on its chassis.</span>")
|
||||
to_chat(usr, "<span class='notice'>You print a photograph.</span>")
|
||||
|
||||
@@ -414,8 +414,8 @@ GLOBAL_LIST_INIT(wire_node_generating_types, typecacheof(list(/obj/structure/gri
|
||||
|
||||
/obj/item/stack/cable_coil/Initialize(mapload, new_amount = null)
|
||||
. = ..()
|
||||
pixel_x = rand(-2,2)
|
||||
pixel_y = rand(-2,2)
|
||||
pixel_x = base_pixel_x + rand(-2, 2)
|
||||
pixel_y = base_pixel_y + rand(-2, 2)
|
||||
update_icon()
|
||||
|
||||
/obj/item/stack/cable_coil/examine(mob/user)
|
||||
@@ -593,8 +593,8 @@ GLOBAL_LIST_INIT(wire_node_generating_types, typecacheof(list(/obj/structure/gri
|
||||
. = ..()
|
||||
if(!amount)
|
||||
amount = rand(1,2)
|
||||
pixel_x = rand(-2,2)
|
||||
pixel_y = rand(-2,2)
|
||||
pixel_x = base_pixel_x + rand(-2, 2)
|
||||
pixel_y = base_pixel_y + rand(-2, 2)
|
||||
update_icon()
|
||||
|
||||
/obj/item/stack/cable_coil/cyborg
|
||||
|
||||
@@ -233,8 +233,8 @@ By design, d1 is the smallest direction and d2 is the highest
|
||||
if(pipe_cleaner_colors[pipe_cleaner_color])
|
||||
pipe_cleaner_color = pipe_cleaner_colors[pipe_cleaner_color]
|
||||
|
||||
pixel_x = rand(-2,2)
|
||||
pixel_y = rand(-2,2)
|
||||
pixel_x = base_pixel_x + rand(-2, 2)
|
||||
pixel_y = base_pixel_y + rand(-2, 2)
|
||||
update_icon()
|
||||
|
||||
///////////////////////////////////
|
||||
@@ -460,8 +460,8 @@ By design, d1 is the smallest direction and d2 is the highest
|
||||
. = ..()
|
||||
if(!amount)
|
||||
amount = rand(1,2)
|
||||
pixel_x = rand(-2,2)
|
||||
pixel_y = rand(-2,2)
|
||||
pixel_x = base_pixel_x + rand(-2, 2)
|
||||
pixel_y = base_pixel_y + rand(-2, 2)
|
||||
update_icon()
|
||||
|
||||
/obj/item/stack/pipe_cleaner_coil/cut/red
|
||||
|
||||
@@ -388,8 +388,8 @@
|
||||
if(istype(I, /obj/item/turret_control))
|
||||
qdel(I)
|
||||
if(istype(buckled_mob))
|
||||
buckled_mob.pixel_x = 0
|
||||
buckled_mob.pixel_y = 0
|
||||
buckled_mob.pixel_x = buckled_mob.base_pixel_x
|
||||
buckled_mob.pixel_y = buckled_mob.base_pixel_y
|
||||
if(buckled_mob.client)
|
||||
buckled_mob.client.view_size.resetToDefault()
|
||||
auto.Remove(buckled_mob)
|
||||
|
||||
@@ -222,8 +222,8 @@
|
||||
randomise_offset(random_offset)
|
||||
|
||||
/obj/item/solar_assembly/proc/randomise_offset(amount)
|
||||
pixel_x = rand(-amount,amount)
|
||||
pixel_y = rand(-amount,amount)
|
||||
pixel_x = base_pixel_x + rand(-amount, amount)
|
||||
pixel_y = base_pixel_y + rand(-amount, amount)
|
||||
|
||||
// Give back the glass type we were supplied with
|
||||
/obj/item/solar_assembly/proc/give_glass(device_broken)
|
||||
|
||||
@@ -30,8 +30,8 @@
|
||||
. = ..()
|
||||
if(projectile_type)
|
||||
BB = new projectile_type(src)
|
||||
pixel_x = rand(-10, 10)
|
||||
pixel_y = rand(-10, 10)
|
||||
pixel_x = base_pixel_x + rand(-10, 10)
|
||||
pixel_y = base_pixel_y + rand(-10, 10)
|
||||
setDir(pick(GLOB.alldirs))
|
||||
update_icon()
|
||||
|
||||
|
||||
@@ -431,23 +431,23 @@
|
||||
|
||||
/obj/machinery/chem_master/adjust_item_drop_location(atom/movable/AM) // Special version for chemmasters and condimasters
|
||||
if (AM == beaker)
|
||||
AM.pixel_x = -8
|
||||
AM.pixel_y = 8
|
||||
AM.pixel_x = AM.base_pixel_x - 8
|
||||
AM.pixel_y = AM.base_pixel_y + 8
|
||||
return null
|
||||
else if (AM == bottle)
|
||||
if (length(bottle.contents))
|
||||
AM.pixel_x = -13
|
||||
AM.pixel_x = AM.base_pixel_x - 13
|
||||
else
|
||||
AM.pixel_x = -7
|
||||
AM.pixel_y = -8
|
||||
AM.pixel_x = AM.base_pixel_x - 7
|
||||
AM.pixel_y = AM.base_pixel_y - 8
|
||||
return null
|
||||
else
|
||||
var/md5 = md5(AM.name)
|
||||
for (var/i in 1 to 32)
|
||||
. += hex2num(md5[i])
|
||||
. = . % 9
|
||||
AM.pixel_x = ((.%3)*6)
|
||||
AM.pixel_y = -8 + (round( . / 3)*8)
|
||||
AM.pixel_x = AM.base_pixel_x + ((.%3)*6)
|
||||
AM.pixel_y = AM.base_pixel_y - 8 + (round( . / 3)*8)
|
||||
|
||||
/**
|
||||
* Translates styles data into UI compatible format
|
||||
|
||||
@@ -80,8 +80,8 @@ other types of metals and chemistry for reagents).
|
||||
|
||||
/obj/item/disk/design_disk/Initialize()
|
||||
. = ..()
|
||||
pixel_x = rand(-5, 5)
|
||||
pixel_y = rand(-5, 5)
|
||||
pixel_x = base_pixel_x + rand(-5, 5)
|
||||
pixel_y = base_pixel_y + rand(-5, 5)
|
||||
for(var/i in 1 to max_blueprints)
|
||||
blueprints += null
|
||||
|
||||
|
||||
@@ -8,8 +8,8 @@
|
||||
|
||||
/obj/item/disk/tech_disk/Initialize()
|
||||
. = ..()
|
||||
pixel_x = rand(-5, 5)
|
||||
pixel_y = rand(-5, 5)
|
||||
pixel_x = base_pixel_x + rand(-5, 5)
|
||||
pixel_y = base_pixel_y + rand(-5, 5)
|
||||
stored_research = new /datum/techweb
|
||||
|
||||
/obj/item/disk/tech_disk/debug
|
||||
|
||||
@@ -130,8 +130,8 @@ If you create T5+ please take a pass at mech_fabricator.dm. The parts being good
|
||||
|
||||
/obj/item/stock_parts/Initialize()
|
||||
. = ..()
|
||||
pixel_x = rand(-5, 5)
|
||||
pixel_y = rand(-5, 5)
|
||||
pixel_x = base_pixel_x + rand(-5, 5)
|
||||
pixel_y = base_pixel_y + rand(-5, 5)
|
||||
|
||||
/obj/item/stock_parts/get_part_rating()
|
||||
return rating
|
||||
|
||||
@@ -35,8 +35,8 @@ Consuming extracts:
|
||||
last_produced = world.time
|
||||
for(var/i in 1 to cookies)
|
||||
var/obj/item/S = spawncookie()
|
||||
S.pixel_x = rand(-5, 5)
|
||||
S.pixel_y = rand(-5, 5)
|
||||
S.pixel_x = base_pixel_x + rand(-5, 5)
|
||||
S.pixel_y = base_pixel_y + rand(-5, 5)
|
||||
return
|
||||
..()
|
||||
|
||||
|
||||
@@ -50,20 +50,20 @@
|
||||
turret.forceMove(get_turf(src))
|
||||
switch(dir)
|
||||
if(NORTH)
|
||||
turret.pixel_x = 0
|
||||
turret.pixel_y = 4
|
||||
turret.pixel_x = base_pixel_x
|
||||
turret.pixel_y = base_pixel_y + 4
|
||||
turret.layer = ABOVE_MOB_LAYER
|
||||
if(EAST)
|
||||
turret.pixel_x = -12
|
||||
turret.pixel_y = 4
|
||||
turret.pixel_x = base_pixel_x - 12
|
||||
turret.pixel_y = base_pixel_y + 4
|
||||
turret.layer = OBJ_LAYER
|
||||
if(SOUTH)
|
||||
turret.pixel_x = 0
|
||||
turret.pixel_y = 4
|
||||
turret.pixel_x = base_pixel_x
|
||||
turret.pixel_y = base_pixel_y + 4
|
||||
turret.layer = OBJ_LAYER
|
||||
if(WEST)
|
||||
turret.pixel_x = 12
|
||||
turret.pixel_y = 4
|
||||
turret.pixel_x = base_pixel_x + 12
|
||||
turret.pixel_y = base_pixel_y + 4
|
||||
turret.layer = OBJ_LAYER
|
||||
|
||||
/obj/vehicle/ridden/atv/welder_act(mob/living/user, obj/item/I)
|
||||
|
||||
Reference in New Issue
Block a user