[MIRROR] Basepixels (#1512)

* Basepixels (#54652)

* Basepixels

Co-authored-by: Rohesie <rohesie@gmail.com>
This commit is contained in:
SkyratBot
2020-10-30 17:30:11 +00:00
committed by GitHub
co-authored by Rohesie
parent b71c7d3b81
commit 119dd2ea3d
72 changed files with 226 additions and 164 deletions
+2 -2
View File
@@ -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"
+4 -4
View File
@@ -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
+1 -1
View File
@@ -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)
+10 -10
View File
@@ -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()
. = ..()