[MIRROR] Refactor /mob/living/carbon/alien/humanoid to be /mob/living/carbon/alien/adult [MDB IGNORE] (#17044)

* Refactor `/mob/living/carbon/alien/humanoid` to be `/mob/living/carbon/alien/adult`

* update modular

Co-authored-by: Tim <timothymtorres@gmail.com>
Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>
This commit is contained in:
SkyratBot
2022-10-21 11:42:44 +02:00
committed by GitHub
parent e91e13b36c
commit 11fc632d38
62 changed files with 200 additions and 206 deletions

View File

@@ -91,19 +91,17 @@ GLOBAL_LIST_INIT(turfs_openspace, typecacheof(list(
//More carbon mobs
#define isalien(A) (istype(A, /mob/living/carbon/alien))
#define isalienhumanoid(A) (istype(A, /mob/living/carbon/alien/humanoid))
#define islarva(A) (istype(A, /mob/living/carbon/alien/larva))
#define isalienadult(A) (istype(A, /mob/living/carbon/alien/humanoid) || istype(A, /mob/living/simple_animal/hostile/alien))
#define isalienadult(A) (istype(A, /mob/living/carbon/alien/adult) || istype(A, /mob/living/simple_animal/hostile/alien))
#define isalienhunter(A) (istype(A, /mob/living/carbon/alien/humanoid/hunter))
#define isalienhunter(A) (istype(A, /mob/living/carbon/alien/adult/hunter))
#define isaliensentinel(A) (istype(A, /mob/living/carbon/alien/humanoid/sentinel))
#define isaliensentinel(A) (istype(A, /mob/living/carbon/alien/adult/sentinel))
#define isalienroyal(A) (istype(A, /mob/living/carbon/alien/humanoid/royal))
#define isalienroyal(A) (istype(A, /mob/living/carbon/alien/adult/royal))
#define isalienqueen(A) (istype(A, /mob/living/carbon/alien/humanoid/royal/queen))
#define isalienqueen(A) (istype(A, /mob/living/carbon/alien/adult/royal/queen))
//Silicon mobs
#define issilicon(A) (istype(A, /mob/living/silicon))

View File

@@ -388,7 +388,7 @@
human_user.changeNext_move(CLICK_CD_MELEE)
return TRUE
else if(isalien(user))
var/mob/living/carbon/alien/humanoid/alien_boy = user
var/mob/living/carbon/alien/adult/alien_boy = user
if(alien_boy.grab(src))
alien_boy.changeNext_move(CLICK_CD_MELEE)
return TRUE

View File

@@ -7,7 +7,7 @@
/atom/movable/screen/alien/leap/Click()
if(isalienhunter(usr))
var/mob/living/carbon/alien/humanoid/hunter/AH = usr
var/mob/living/carbon/alien/adult/hunter/AH = usr
AH.toggle_leap()
/atom/movable/screen/alien/plasma_display
@@ -24,7 +24,7 @@
/datum/hud/alien
ui_style = 'icons/hud/screen_alien.dmi'
/datum/hud/alien/New(mob/living/carbon/alien/humanoid/owner)
/datum/hud/alien/New(mob/living/carbon/alien/adult/owner)
..()
var/atom/movable/screen/using
@@ -57,7 +57,7 @@
static_inventory += action_intent
if(isalienhunter(mymob))
var/mob/living/carbon/alien/humanoid/hunter/H = mymob
var/mob/living/carbon/alien/adult/hunter/H = mymob
H.leap_icon = new /atom/movable/screen/alien/leap()
H.leap_icon.screen_loc = ui_alien_storage_r
static_inventory += H.leap_icon
@@ -126,7 +126,7 @@
/datum/hud/alien/persistent_inventory_update()
if(!mymob)
return
var/mob/living/carbon/alien/humanoid/H = mymob
var/mob/living/carbon/alien/adult/H = mymob
if(hud_version != HUD_STYLE_NOHUD)
for(var/obj/item/I in H.held_items)
I.screen_loc = ui_hand_position(H.get_held_index_of_item(I))

View File

@@ -199,9 +199,9 @@
default = list( //DEFAULTS
/mob/living/simple_animal = 1,
/mob/living/silicon/pai = 1,
/mob/living/carbon/alien/humanoid/hunter = -1,
/mob/living/carbon/alien/humanoid/royal/praetorian = 1,
/mob/living/carbon/alien/humanoid/royal/queen = 3
/mob/living/carbon/alien/adult/hunter = -1,
/mob/living/carbon/alien/adult/royal/praetorian = 1,
/mob/living/carbon/alien/adult/royal/queen = 3
)
/datum/config_entry/keyed_list/multiplicative_movespeed/ValidateAndSet()

View File

@@ -194,7 +194,7 @@
stage3 = list("<span class='danger'>Your throat feels very scratchy.</span>", "Your skin feels tight.", "<span class='danger'>You can feel something move...inside.</span>")
stage4 = list("<span class='danger'>Your skin feels very tight.</span>", "<span class='danger'>Your blood boils!</span>", "<span class='danger'>You can feel... something...inside you.</span>")
stage5 = list("<span class='danger'>Your skin feels as if it's about to burst off!</span>")
new_form = /mob/living/carbon/alien/humanoid/hunter
new_form = /mob/living/carbon/alien/adult/hunter
bantype = ROLE_ALIEN

View File

@@ -694,7 +694,7 @@ GLOBAL_LIST_EMPTY(possible_items_special)
captured_amount+=0.5
continue
captured_amount+=1
for(var/mob/living/carbon/alien/humanoid/M in A)//Aliens are worth twice as much as humans.
for(var/mob/living/carbon/alien/adult/M in A)//Aliens are worth twice as much as humans.
if(isalienqueen(M))//Queens are worth three times as much as humans.
if(M.stat == DEAD)
captured_amount+=1.5

View File

@@ -1324,7 +1324,7 @@
loseMainPower()
loseBackupPower()
/obj/machinery/door/airlock/attack_alien(mob/living/carbon/alien/humanoid/user, list/modifiers)
/obj/machinery/door/airlock/attack_alien(mob/living/carbon/alien/adult/user, list/modifiers)
if(isElectrified() && shock(user, 100)) //Mmm, fried xeno!
add_fingerprint(user)
return

View File

@@ -129,7 +129,7 @@
if (isnull(held_item))
if(density)
if(isalienhumanoid(living_user) || issilicon(living_user))
if(isalienadult(living_user) || issilicon(living_user))
context[SCREENTIP_CONTEXT_LMB] = "Open"
return CONTEXTUAL_SCREENTIP_SET
if(!living_user.combat_mode)

View File

@@ -133,7 +133,7 @@
. = ..()
icon_state = density ? "closed" : "open"
/obj/machinery/door/poddoor/attack_alien(mob/living/carbon/alien/humanoid/user, list/modifiers)
/obj/machinery/door/poddoor/attack_alien(mob/living/carbon/alien/adult/user, list/modifiers)
if(density & !(resistance_flags & INDESTRUCTIBLE))
add_fingerprint(user)
user.visible_message(span_warning("[user] begins prying open [src]."),\

View File

@@ -73,7 +73,7 @@
/obj/machinery/porta_turret_cover/attacked_by(obj/item/I, mob/user)
parent_turret.attacked_by(I, user)
/obj/machinery/porta_turret_cover/attack_alien(mob/living/carbon/alien/humanoid/user, list/modifiers)
/obj/machinery/porta_turret_cover/attack_alien(mob/living/carbon/alien/adult/user, list/modifiers)
parent_turret.attack_alien(user, modifiers)
/obj/machinery/porta_turret_cover/attack_animal(mob/living/simple_animal/user, list/modifiers)

View File

@@ -49,7 +49,7 @@
return
take_damage(400, BRUTE, MELEE, 0, get_dir(src, B))
/obj/attack_alien(mob/living/carbon/alien/humanoid/user, list/modifiers)
/obj/attack_alien(mob/living/carbon/alien/adult/user, list/modifiers)
if(attack_generic(user, 60, BRUTE, MELEE, 0))
playsound(src.loc, 'sound/weapons/slash.ogg', 100, TRUE)

View File

@@ -189,7 +189,7 @@
//SKYRAT EDIT REMOVAL START
/*
/mob/living/carbon/alien/humanoid/verb/suicide()
/mob/living/carbon/alien/adult/verb/suicide()
set hidden = TRUE
if(!canSuicide())
return

View File

@@ -69,7 +69,7 @@
playsound(loc, 'sound/weapons/thudswoosh.ogg', 50, TRUE, -1)
/mob/living/basic/attack_alien(mob/living/carbon/alien/humanoid/user, list/modifiers)
/mob/living/basic/attack_alien(mob/living/carbon/alien/adult/user, list/modifiers)
if(..()) //if harm or disarm intent.
if(LAZYACCESS(modifiers, RIGHT_CLICK))
playsound(loc, 'sound/weapons/pierce.ogg', 25, TRUE, -1)

View File

@@ -1,4 +1,4 @@
/mob/living/carbon/alien/humanoid
/mob/living/carbon/alien/adult
name = "alien"
icon_state = "alien"
pass_flags = PASSTABLE
@@ -30,33 +30,33 @@ GLOBAL_LIST_INIT(strippable_alien_humanoid_items, create_strippable_list(list(
/datum/strippable_item/mob_item_slot/legcuffs,
)))
/mob/living/carbon/alien/humanoid/Initialize(mapload)
/mob/living/carbon/alien/adult/Initialize(mapload)
. = ..()
AddElement(/datum/element/footstep, FOOTSTEP_MOB_CLAW, 0.5, -11)
AddElement(/datum/element/strippable, GLOB.strippable_alien_humanoid_items)
/mob/living/carbon/alien/humanoid/create_internal_organs()
/mob/living/carbon/alien/adult/create_internal_organs()
internal_organs += new /obj/item/organ/internal/stomach/alien()
return ..()
/mob/living/carbon/alien/humanoid/cuff_resist(obj/item/I)
/mob/living/carbon/alien/adult/cuff_resist(obj/item/I)
playsound(src, 'sound/voice/hiss5.ogg', 40, TRUE, TRUE) //Alien roars when starting to break free
..(I, cuff_break = INSTANT_CUFFBREAK)
/mob/living/carbon/alien/humanoid/resist_grab(moving_resist)
/mob/living/carbon/alien/adult/resist_grab(moving_resist)
if(pulledby.grab_state)
visible_message(span_danger("[src] breaks free of [pulledby]'s grip!"), \
span_danger("You break free of [pulledby]'s grip!"))
pulledby.stop_pulling()
. = 0
/mob/living/carbon/alien/humanoid/alien_evolve(mob/living/carbon/alien/humanoid/new_xeno)
/mob/living/carbon/alien/adult/alien_evolve(mob/living/carbon/alien/adult/new_xeno)
drop_all_held_items()
..()
//For alien evolution/promotion/queen finder procs. Checks for an active alien of that type
/proc/get_alien_type(alienpath)
for(var/mob/living/carbon/alien/humanoid/A in GLOB.alive_mob_list)
for(var/mob/living/carbon/alien/adult/A in GLOB.alive_mob_list)
if(!istype(A, alienpath))
continue
if(!A.key || A.stat == DEAD) //Only living aliens with a ckey are valid.
@@ -64,17 +64,17 @@ GLOBAL_LIST_INIT(strippable_alien_humanoid_items, create_strippable_list(list(
return A
return FALSE
/mob/living/carbon/alien/humanoid/check_breath(datum/gas_mixture/breath)
/mob/living/carbon/alien/adult/check_breath(datum/gas_mixture/breath)
if(breath?.total_moles() > 0 && !HAS_TRAIT(src, TRAIT_ALIEN_SNEAK))
playsound(get_turf(src), pick('sound/voice/lowHiss2.ogg', 'sound/voice/lowHiss3.ogg', 'sound/voice/lowHiss4.ogg'), 50, FALSE, -5)
return ..()
/mob/living/carbon/alien/humanoid/set_name()
/mob/living/carbon/alien/adult/set_name()
if(numba)
name = "[name] ([numba])"
real_name = name
/mob/living/carbon/alien/humanoid/proc/grab(mob/living/carbon/human/target)
/mob/living/carbon/alien/adult/proc/grab(mob/living/carbon/human/target)
if(target.check_block())
target.visible_message(span_warning("[target] blocks [src]'s grab!"), \
span_userdanger("You block [src]'s grab!"), span_hear("You hear a swoosh!"), COMBAT_MESSAGE_RANGE, src)
@@ -83,7 +83,7 @@ GLOBAL_LIST_INIT(strippable_alien_humanoid_items, create_strippable_list(list(
target.grabbedby(src)
return TRUE
/mob/living/carbon/alien/humanoid/setGrabState(newstate)
/mob/living/carbon/alien/adult/setGrabState(newstate)
if(newstate == grab_state)
return
if(newstate > GRAB_AGGRESSIVE)
@@ -105,13 +105,13 @@ GLOBAL_LIST_INIT(strippable_alien_humanoid_items, create_strippable_list(list(
if(. <= GRAB_AGGRESSIVE)
ADD_TRAIT(pulling, TRAIT_FLOORED, CHOKEHOLD_TRAIT)
/mob/living/carbon/alien/humanoid/MouseDrop_T(atom/dropping, atom/user)
/mob/living/carbon/alien/adult/MouseDrop_T(atom/dropping, atom/user)
if(devour_lad(dropping))
return
return ..()
/// Returns FALSE if we're not allowed to eat it, true otherwise
/mob/living/carbon/alien/humanoid/proc/can_consume(atom/movable/poor_soul)
/mob/living/carbon/alien/adult/proc/can_consume(atom/movable/poor_soul)
if(!isliving(poor_soul) || pulling != poor_soul)
return FALSE
if(incapacitated() || grab_state < GRAB_AGGRESSIVE || stat != CONSCIOUS)
@@ -121,9 +121,9 @@ GLOBAL_LIST_INIT(strippable_alien_humanoid_items, create_strippable_list(list(
return TRUE
/// Attempts to devour the passed in thing in devour_time seconds
/// The mob needs to be consumable, as decided by [/mob/living/carbon/alien/humanoid/proc/can_consume]
/// The mob needs to be consumable, as decided by [/mob/living/carbon/alien/adult/proc/can_consume]
/// Returns FALSE if the attempt never even started, TRUE otherwise
/mob/living/carbon/alien/humanoid/proc/devour_lad(atom/movable/candidate, devour_time = 13.5 SECONDS)
/mob/living/carbon/alien/adult/proc/devour_lad(atom/movable/candidate, devour_time = 13.5 SECONDS)
setDir(get_dir(src, candidate))
if(!can_consume(candidate))
return FALSE

View File

@@ -1,6 +1,6 @@
/mob/living/carbon/alien/humanoid/attack_hulk(mob/living/carbon/human/user)
/mob/living/carbon/alien/adult/attack_hulk(mob/living/carbon/human/user)
. = ..()
if(!.)
return
@@ -14,7 +14,7 @@
span_userdanger("[user] [hitverb]s you!"), span_hear("You hear a sickening sound of flesh hitting flesh!"), COMBAT_MESSAGE_RANGE, user)
to_chat(user, span_danger("You [hitverb] [src]!"))
/mob/living/carbon/alien/humanoid/attack_hand(mob/living/carbon/human/user, list/modifiers)
/mob/living/carbon/alien/adult/attack_hand(mob/living/carbon/human/user, list/modifiers)
if(!..() || !user.combat_mode)
return
if(LAZYACCESS(modifiers, RIGHT_CLICK))
@@ -48,7 +48,7 @@
to_chat(user, span_warning("Your punch misses [src]!"))
/mob/living/carbon/alien/humanoid/do_attack_animation(atom/A, visual_effect_icon, obj/item/used_item, no_effect)
/mob/living/carbon/alien/adult/do_attack_animation(atom/A, visual_effect_icon, obj/item/used_item, no_effect)
if(!no_effect && !visual_effect_icon)
visual_effect_icon = ATTACK_EFFECT_CLAW
..()

View File

@@ -1,5 +1,5 @@
/mob/living/carbon/alien/humanoid/update_icons()
/mob/living/carbon/alien/adult/update_icons()
cut_overlays()
for(var/I in overlays_standing)
add_overlay(I)
@@ -47,16 +47,16 @@
update_held_items()
update_worn_handcuffs()
/mob/living/carbon/alien/humanoid/regenerate_icons()
/mob/living/carbon/alien/adult/regenerate_icons()
if(!..())
// update_icons() //Handled in update_transform(), leaving this here as a reminder
update_transform()
/mob/living/carbon/alien/humanoid/perform_update_transform() //The old method of updating lying/standing was update_icons(). Aliens still expect that.
/mob/living/carbon/alien/adult/perform_update_transform() //The old method of updating lying/standing was update_icons(). Aliens still expect that.
. = ..()
update_icons()
/mob/living/carbon/alien/humanoid/update_worn_handcuffs()
/mob/living/carbon/alien/adult/update_worn_handcuffs()
remove_overlay(HANDCUFF_LAYER)
var/cuff_icon = "aliencuff"
var/dmi_file = 'icons/mob/nonhuman-player/alien.dmi'
@@ -75,7 +75,7 @@
// AND HERE MOTHERFUCKER AHHHHHH
//Royals have bigger sprites, so inhand things must be handled differently.
/mob/living/carbon/alien/humanoid/royal/update_held_items()
/mob/living/carbon/alien/adult/royal/update_held_items()
..()
remove_overlay(HANDS_LAYER)
var/list/hands = list()

View File

@@ -381,7 +381,7 @@ Doesn't work on other aliens/AI.*/
/datum/action/cooldown/alien/regurgitate/Activate(atom/target)
if(!iscarbon(owner))
return
var/mob/living/carbon/alien/humanoid/alieninated_owner = owner
var/mob/living/carbon/alien/adult/alieninated_owner = owner
var/obj/item/organ/internal/stomach/alien/melting_pot = alieninated_owner.getorganslot(ORGAN_SLOT_STOMACH)
if(!melting_pot)
owner.visible_message(span_clown("[src] gags, and spits up a bit of purple liquid. Ewwww."), \

View File

@@ -1,16 +1,16 @@
/mob/living/carbon/alien/humanoid/drone
/mob/living/carbon/alien/adult/drone
name = "alien drone"
caste = "d"
maxHealth = 125
health = 125
icon_state = "aliend"
/mob/living/carbon/alien/humanoid/drone/Initialize(mapload)
/mob/living/carbon/alien/adult/drone/Initialize(mapload)
var/datum/action/cooldown/alien/evolve_to_praetorian/evolution = new(src)
evolution.Grant(src)
return ..()
/mob/living/carbon/alien/humanoid/drone/create_internal_organs()
/mob/living/carbon/alien/adult/drone/create_internal_organs()
internal_organs += new /obj/item/organ/internal/alien/plasmavessel/large
internal_organs += new /obj/item/organ/internal/alien/resinspinner
internal_organs += new /obj/item/organ/internal/alien/acid
@@ -30,10 +30,10 @@
if(!isturf(owner.loc))
return FALSE
if(get_alien_type(/mob/living/carbon/alien/humanoid/royal))
if(get_alien_type(/mob/living/carbon/alien/adult/royal))
return FALSE
var/mob/living/carbon/alien/humanoid/royal/evolver = owner
var/mob/living/carbon/alien/adult/royal/evolver = owner
var/obj/item/organ/internal/alien/hivenode/node = evolver.getorgan(/obj/item/organ/internal/alien/hivenode)
// Players are Murphy's Law. We may not expect
// there to ever be a living xeno with no hivenode,
@@ -44,7 +44,7 @@
return TRUE
/datum/action/cooldown/alien/evolve_to_praetorian/Activate(atom/target)
var/mob/living/carbon/alien/humanoid/evolver = owner
var/mob/living/carbon/alien/humanoid/royal/praetorian/new_xeno = new(owner.loc)
var/mob/living/carbon/alien/adult/evolver = owner
var/mob/living/carbon/alien/adult/royal/praetorian/new_xeno = new(owner.loc)
evolver.alien_evolve(new_xeno)
return TRUE

View File

@@ -1,4 +1,4 @@
/mob/living/carbon/alien/humanoid/hunter
/mob/living/carbon/alien/adult/hunter
name = "alien hunter"
caste = "h"
maxHealth = 125
@@ -6,13 +6,13 @@
icon_state = "alienh"
var/atom/movable/screen/leap_icon = null
/mob/living/carbon/alien/humanoid/hunter/create_internal_organs()
/mob/living/carbon/alien/adult/hunter/create_internal_organs()
internal_organs += new /obj/item/organ/internal/alien/plasmavessel/small
..()
//Hunter verbs
/mob/living/carbon/alien/humanoid/hunter/proc/toggle_leap(message = 1)
/mob/living/carbon/alien/adult/hunter/proc/toggle_leap(message = 1)
leap_on_click = !leap_on_click
leap_icon.icon_state = "leap_[leap_on_click ? "on":"off"]"
update_icons()
@@ -21,7 +21,7 @@
else
return
/mob/living/carbon/alien/humanoid/hunter/ClickOn(atom/A, params)
/mob/living/carbon/alien/adult/hunter/ClickOn(atom/A, params)
face_atom(A)
if(leap_on_click)
leap_at(A)
@@ -30,7 +30,7 @@
#define MAX_ALIEN_LEAP_DIST 7
/mob/living/carbon/alien/humanoid/hunter/proc/leap_at(atom/A)
/mob/living/carbon/alien/adult/hunter/proc/leap_at(atom/A)
if(body_position == LYING_DOWN || HAS_TRAIT(src, TRAIT_IMMOBILIZED) || leaping)
return
@@ -52,14 +52,14 @@
ADD_TRAIT(src, TRAIT_MOVE_FLOATING, LEAPING_TRAIT) //Throwing itself doesn't protect mobs against lava (because gulag).
throw_at(A, MAX_ALIEN_LEAP_DIST, 1, src, FALSE, TRUE, callback = CALLBACK(src, .proc/leap_end))
/mob/living/carbon/alien/humanoid/hunter/proc/leap_end()
/mob/living/carbon/alien/adult/hunter/proc/leap_end()
leaping = FALSE
body_position_pixel_x_offset = 0
body_position_pixel_y_offset = 0
REMOVE_TRAIT(src, TRAIT_MOVE_FLOATING, LEAPING_TRAIT)
update_icons()
/mob/living/carbon/alien/humanoid/hunter/throw_impact(atom/hit_atom, datum/thrownthing/throwingdatum)
/mob/living/carbon/alien/adult/hunter/throw_impact(atom/hit_atom, datum/thrownthing/throwingdatum)
if(!leaping)
return ..()

View File

@@ -1,11 +1,11 @@
/mob/living/carbon/alien/humanoid/royal/praetorian
/mob/living/carbon/alien/adult/royal/praetorian
name = "alien praetorian"
caste = "p"
maxHealth = 250
health = 250
icon_state = "alienp"
/mob/living/carbon/alien/humanoid/royal/praetorian/Initialize(mapload)
/mob/living/carbon/alien/adult/royal/praetorian/Initialize(mapload)
real_name = name
var/datum/action/cooldown/spell/aoe/repulse/xeno/tail_whip = new(src)
@@ -16,7 +16,7 @@
return ..()
/mob/living/carbon/alien/humanoid/royal/praetorian/create_internal_organs()
/mob/living/carbon/alien/adult/royal/praetorian/create_internal_organs()
internal_organs += new /obj/item/organ/internal/alien/plasmavessel/large
internal_organs += new /obj/item/organ/internal/alien/resinspinner
internal_organs += new /obj/item/organ/internal/alien/acid
@@ -37,10 +37,10 @@
if(!isturf(owner.loc))
return FALSE
if(get_alien_type(/mob/living/carbon/alien/humanoid/royal/queen))
if(get_alien_type(/mob/living/carbon/alien/adult/royal/queen))
return FALSE
var/mob/living/carbon/alien/humanoid/royal/evolver = owner
var/mob/living/carbon/alien/adult/royal/evolver = owner
var/obj/item/organ/internal/alien/hivenode/node = evolver.getorgan(/obj/item/organ/internal/alien/hivenode)
if(!node || node.recent_queen_death)
return FALSE
@@ -48,7 +48,7 @@
return TRUE
/datum/action/cooldown/alien/evolve_to_queen/Activate(atom/target)
var/mob/living/carbon/alien/humanoid/royal/evolver = owner
var/mob/living/carbon/alien/humanoid/royal/queen/new_queen = new(owner.loc)
var/mob/living/carbon/alien/adult/royal/evolver = owner
var/mob/living/carbon/alien/adult/royal/queen/new_queen = new(owner.loc)
evolver.alien_evolve(new_queen)
return TRUE

View File

@@ -1,16 +1,16 @@
/mob/living/carbon/alien/humanoid/sentinel
/mob/living/carbon/alien/adult/sentinel
name = "alien sentinel"
caste = "s"
maxHealth = 150
health = 150
icon_state = "aliens"
/mob/living/carbon/alien/humanoid/sentinel/Initialize(mapload)
/mob/living/carbon/alien/adult/sentinel/Initialize(mapload)
var/datum/action/cooldown/alien/sneak/sneaky_beaky = new(src)
sneaky_beaky.Grant(src)
return ..()
/mob/living/carbon/alien/humanoid/sentinel/create_internal_organs()
/mob/living/carbon/alien/adult/sentinel/create_internal_organs()
internal_organs += new /obj/item/organ/internal/alien/plasmavessel
internal_organs += new /obj/item/organ/internal/alien/acid
internal_organs += new /obj/item/organ/internal/alien/neurotoxin

View File

@@ -1,4 +1,4 @@
/mob/living/carbon/alien/humanoid/death(gibbed)
/mob/living/carbon/alien/adult/death(gibbed)
if(stat == DEAD)
return
@@ -8,7 +8,7 @@
status_flags |= CANPUSH
//When the alien queen dies, all others must pay the price for letting her die.
/mob/living/carbon/alien/humanoid/royal/queen/death(gibbed)
/mob/living/carbon/alien/adult/royal/queen/death(gibbed)
if(stat == DEAD)
return

View File

@@ -1,6 +1,6 @@
/mob/living/carbon/alien/humanoid/proc/adjust_body_temperature(current, loc_temp, boost)
/mob/living/carbon/alien/adult/proc/adjust_body_temperature(current, loc_temp, boost)
var/temperature = current
var/difference = abs(current-loc_temp) //get difference
var/increments// = difference/10 //find how many increments apart they are

View File

@@ -1,4 +1,4 @@
/mob/living/carbon/alien/humanoid/royal
/mob/living/carbon/alien/adult/royal
//Common stuffs for Praetorian and Queen
icon = 'icons/mob/nonhuman-player/alienqueen.dmi'
status_flags = 0
@@ -15,32 +15,32 @@
var/alt_inhands_file = 'icons/mob/nonhuman-player/alienqueen.dmi'
/mob/living/carbon/alien/humanoid/royal/Initialize(mapload)
/mob/living/carbon/alien/adult/royal/Initialize(mapload)
. = ..()
// as a wise man once wrote: "pull over that ass too fat"
REMOVE_TRAIT(src, TRAIT_VENTCRAWLER_ALWAYS, INNATE_TRAIT)
/mob/living/carbon/alien/humanoid/royal/on_lying_down(new_lying_angle)
/mob/living/carbon/alien/adult/royal/on_lying_down(new_lying_angle)
. = ..()
SET_PLANE_IMPLICIT(src, GAME_PLANE_FOV_HIDDEN) //So it won't hide smaller mobs.
/mob/living/carbon/alien/humanoid/royal/on_standing_up(new_lying_angle)
/mob/living/carbon/alien/adult/royal/on_standing_up(new_lying_angle)
. = ..()
SET_PLANE_IMPLICIT(src, initial(plane))
/mob/living/carbon/alien/humanoid/royal/can_inject(mob/user, target_zone, injection_flags)
/mob/living/carbon/alien/adult/royal/can_inject(mob/user, target_zone, injection_flags)
return FALSE
/mob/living/carbon/alien/humanoid/royal/queen
/mob/living/carbon/alien/adult/royal/queen
name = "alien queen"
caste = "q"
maxHealth = 400
health = 400
icon_state = "alienq"
/mob/living/carbon/alien/humanoid/royal/queen/Initialize(mapload)
/mob/living/carbon/alien/adult/royal/queen/Initialize(mapload)
//there should only be one queen
for(var/mob/living/carbon/alien/humanoid/royal/queen/Q in GLOB.carbon_list)
for(var/mob/living/carbon/alien/adult/royal/queen/Q in GLOB.carbon_list)
if(Q == src)
continue
if(Q.stat == DEAD)
@@ -62,7 +62,7 @@
return ..()
/mob/living/carbon/alien/humanoid/royal/queen/create_internal_organs()
/mob/living/carbon/alien/adult/royal/queen/create_internal_organs()
internal_organs += new /obj/item/organ/internal/alien/plasmavessel/large/queen
internal_organs += new /obj/item/organ/internal/alien/resinspinner
internal_organs += new /obj/item/organ/internal/alien/acid
@@ -106,7 +106,7 @@
if(carbon_owner.getPlasma() < promotion_plasma_cost)
return FALSE
if(get_alien_type(/mob/living/carbon/alien/humanoid/royal/praetorian))
if(get_alien_type(/mob/living/carbon/alien/adult/royal/praetorian))
return FALSE
return TRUE
@@ -138,7 +138,7 @@
item_flags = NOBLUDGEON | ABSTRACT | DROPDEL
icon = 'icons/mob/nonhuman-player/alien.dmi'
/obj/item/queen_promotion/attack(mob/living/to_promote, mob/living/carbon/alien/humanoid/queen)
/obj/item/queen_promotion/attack(mob/living/to_promote, mob/living/carbon/alien/adult/queen)
. = ..()
if(.)
return
@@ -147,7 +147,7 @@
if(!promotion)
CRASH("[type] was created and handled by a mob ([queen]) that didn't have a promotion action associated.")
if(!isalienhumanoid(to_promote) || isalienroyal(to_promote))
if(!isalienadult(to_promote) || isalienroyal(to_promote))
to_chat(queen, span_noticealien("You may only use this with your adult, non-royal children!"))
return
@@ -166,7 +166,7 @@
span_noticealien("The queen has granted you a promotion to Praetorian!"),
)
var/mob/living/carbon/alien/humanoid/royal/praetorian/new_prae = new(to_promote.loc)
var/mob/living/carbon/alien/adult/royal/praetorian/new_prae = new(to_promote.loc)
to_promote.mind.transfer_to(new_prae)
qdel(to_promote)

View File

@@ -16,7 +16,7 @@
var/link = FOLLOW_LINK(S, src)
to_chat(S, "[link] [rendered]")
/mob/living/carbon/alien/humanoid/royal/queen/alien_talk(message, shown_name = name)
/mob/living/carbon/alien/adult/royal/queen/alien_talk(message, shown_name = name)
..(message, shown_name, TRUE)
/mob/living/carbon/hivecheck()

View File

@@ -14,7 +14,7 @@
emote_type = EMOTE_AUDIBLE | EMOTE_VISIBLE
/datum/emote/living/alien/hiss/get_sound(mob/living/user)
if(isalienhumanoid(user))
if(isalienadult(user))
return SFX_HISS
/datum/emote/living/alien/roar
@@ -26,5 +26,5 @@
vary = TRUE
/datum/emote/living/alien/roar/get_sound(mob/living/user)
if(isalienhumanoid(user))
if(isalienadult(user))
return 'sound/voice/hiss5.ogg'

View File

@@ -55,7 +55,7 @@
caste_options = list()
// This can probably be genericized in the future.
var/mob/hunter_path = /mob/living/carbon/alien/humanoid/hunter
var/mob/hunter_path = /mob/living/carbon/alien/adult/hunter
var/datum/radial_menu_choice/hunter = new()
hunter.name = "Hunter"
hunter.image = image(icon = initial(hunter_path.icon), icon_state = initial(hunter_path.icon_state))
@@ -64,7 +64,7 @@
caste_options["Hunter"] = hunter
var/mob/sentinel_path = /mob/living/carbon/alien/humanoid/sentinel
var/mob/sentinel_path = /mob/living/carbon/alien/adult/sentinel
var/datum/radial_menu_choice/sentinel = new()
sentinel.name = "Sentinel"
sentinel.image = image(icon = initial(sentinel_path.icon), icon_state = initial(sentinel_path.icon_state))
@@ -74,7 +74,7 @@
caste_options["Sentinel"] = sentinel
var/mob/drone_path = /mob/living/carbon/alien/humanoid/drone
var/mob/drone_path = /mob/living/carbon/alien/adult/drone
var/datum/radial_menu_choice/drone = new()
drone.name = "Drone"
drone.image = image(icon = initial(drone_path.icon), icon_state = initial(drone_path.icon_state))
@@ -88,14 +88,14 @@
if(QDELETED(src) || QDELETED(owner) || !IsAvailable() || isnull(alien_caste))
return
var/mob/living/carbon/alien/humanoid/new_xeno
var/mob/living/carbon/alien/adult/new_xeno
switch(alien_caste)
if("Hunter")
new_xeno = new /mob/living/carbon/alien/humanoid/hunter(larva.loc)
new_xeno = new /mob/living/carbon/alien/adult/hunter(larva.loc)
if("Sentinel")
new_xeno = new /mob/living/carbon/alien/humanoid/sentinel(larva.loc)
new_xeno = new /mob/living/carbon/alien/adult/sentinel(larva.loc)
if("Drone")
new_xeno = new /mob/living/carbon/alien/humanoid/drone(larva.loc)
new_xeno = new /mob/living/carbon/alien/adult/drone(larva.loc)
else
CRASH("Alien evolve was given an invalid / incorrect alien cast type. Got: [alien_caste]")

View File

@@ -41,7 +41,7 @@
//BREATH TEMPERATURE
handle_breath_temperature(breath)
/mob/living/carbon/alien/humanoid/Life(delta_time, times_fired)
/mob/living/carbon/alien/adult/Life(delta_time, times_fired)
. = ..()
handle_organs(delta_time, times_fired)

View File

@@ -314,7 +314,7 @@
shake_camera(owner, 0.3 SECONDS, 1.5)
return
// Failure condition
if(isalienhumanoid(user))
if(isalienadult(user))
play_from.visible_message(span_danger("[user] blows a hole in [stomach_text] and escapes!"), \
span_userdanger("As your hive's food bursts out of your stomach, one thought fills your mind. \"Oh, so this is how the other side feels\""))
else // Just to be safe ya know?

View File

@@ -9,7 +9,7 @@
/mob/living/carbon/alien/proc/findQueen()
if(hud_used)
hud_used.alien_queen_finder.cut_overlays()
var/mob/queen = get_alien_type(/mob/living/carbon/alien/humanoid/royal/queen)
var/mob/queen = get_alien_type(/mob/living/carbon/alien/adult/royal/queen)
if(!queen)
return
var/turf/Q = get_turf(queen)
@@ -29,5 +29,5 @@
var/image/finder_eye = image('icons/hud/screen_alien.dmi', finder_icon, dir = Qdir)
hud_used.alien_queen_finder.add_overlay(finder_eye)
/mob/living/carbon/alien/humanoid/royal/queen/findQueen()
/mob/living/carbon/alien/adult/royal/queen/findQueen()
return //Queen already knows where she is. Hopefully.

View File

@@ -268,7 +268,7 @@
//SKYRAT EDIT REMOVAL BEGIN - SKYRAT_XENO_REDO - Moved to: modular_skyrat\modules\xenos_skyrat_redo\code\human_defense.dm
/*
/mob/living/carbon/human/attack_alien(mob/living/carbon/alien/humanoid/user, list/modifiers)
/mob/living/carbon/human/attack_alien(mob/living/carbon/alien/adult/user, list/modifiers)
if(check_shields(user, 0, "the [user.name]"))
visible_message(span_danger("[user] attempts to touch [src]!"), \
span_danger("[user] attempts to touch you!"), span_hear("You hear a swoosh!"), null, user)

View File

@@ -937,7 +937,7 @@
else if(direct & WEST)
set_lying_angle(270)
/mob/living/carbon/alien/humanoid/lying_angle_on_movement(direct)
/mob/living/carbon/alien/adult/lying_angle_on_movement(direct)
return
/mob/living/proc/makeTrail(turf/target_turf, turf/start, direction)
@@ -1342,12 +1342,12 @@
if(ckey)
picked_xeno_type = pick(
/mob/living/carbon/alien/humanoid/hunter,
/mob/living/carbon/alien/humanoid/sentinel,
/mob/living/carbon/alien/adult/hunter,
/mob/living/carbon/alien/adult/sentinel,
)
else
picked_xeno_type = pick(
/mob/living/carbon/alien/humanoid/hunter,
/mob/living/carbon/alien/adult/hunter,
/mob/living/simple_animal/hostile/alien/sentinel,
)
new_mob = new picked_xeno_type(loc)

View File

@@ -352,7 +352,7 @@
return FALSE
return FALSE
/mob/living/attack_alien(mob/living/carbon/alien/humanoid/user, list/modifiers)
/mob/living/attack_alien(mob/living/carbon/alien/adult/user, list/modifiers)
SEND_SIGNAL(src, COMSIG_MOB_ATTACK_ALIEN, user, modifiers)
if(LAZYACCESS(modifiers, RIGHT_CLICK))
user.do_attack_animation(src, ATTACK_EFFECT_DISARM)

View File

@@ -11,7 +11,7 @@
spark_system.start()
return ..()
/mob/living/silicon/ai/attack_alien(mob/living/carbon/alien/humanoid/user, list/modifiers)
/mob/living/silicon/ai/attack_alien(mob/living/carbon/alien/adult/user, list/modifiers)
if(!SSticker.HasRoundStarted())
to_chat(user, "You cannot attack people before the game has started.")
return

View File

@@ -183,7 +183,7 @@ GLOBAL_LIST_INIT(blacklisted_borg_hats, typecacheof(list( //Hats that don't real
spark_system.start()
return ..()
/mob/living/silicon/robot/attack_alien(mob/living/carbon/alien/humanoid/user, list/modifiers)
/mob/living/silicon/robot/attack_alien(mob/living/carbon/alien/adult/user, list/modifiers)
if (LAZYACCESS(modifiers, RIGHT_CLICK))
if(body_position == STANDING_UP)
user.do_attack_animation(src, ATTACK_EFFECT_DISARM)

View File

@@ -5,7 +5,7 @@
/mob/living/silicon/get_ear_protection()//no ears
return 2
/mob/living/silicon/attack_alien(mob/living/carbon/alien/humanoid/user, list/modifiers)
/mob/living/silicon/attack_alien(mob/living/carbon/alien/adult/user, list/modifiers)
if(..()) //if harm or disarm intent
var/damage = rand(user.melee_damage_lower, user.melee_damage_upper)
if (prob(90))

View File

@@ -66,7 +66,7 @@
playsound(loc, 'sound/weapons/thudswoosh.ogg', 50, TRUE, -1)
/mob/living/simple_animal/attack_alien(mob/living/carbon/alien/humanoid/user, list/modifiers)
/mob/living/simple_animal/attack_alien(mob/living/carbon/alien/adult/user, list/modifiers)
if(..()) //if harm or disarm intent.
if(LAZYACCESS(modifiers, RIGHT_CLICK))
playsound(loc, 'sound/weapons/pierce.ogg', 25, TRUE, -1)

View File

@@ -348,7 +348,7 @@
else
for(var/mob/living/carbon/C in targets)
if(!Discipline && DT_PROB(2.5, delta_time))
if(ishuman(C) || isalienhumanoid(C))
if(ishuman(C) || isalienadult(C))
set_target(C)
break

View File

@@ -351,7 +351,7 @@
if(..()) //successful attack
attacked += 10
/mob/living/simple_animal/slime/attack_alien(mob/living/carbon/alien/humanoid/user, list/modifiers)
/mob/living/simple_animal/slime/attack_alien(mob/living/carbon/alien/adult/user, list/modifiers)
if(..()) //if harm or disarm intent.
attacked += 10
discipline_slime(user)

View File

@@ -194,14 +194,14 @@
qdel(t)
var/alien_caste = pick("Hunter","Sentinel","Drone")
var/mob/living/carbon/alien/humanoid/new_xeno
var/mob/living/carbon/alien/adult/new_xeno
switch(alien_caste)
if("Hunter")
new_xeno = new /mob/living/carbon/alien/humanoid/hunter(loc)
new_xeno = new /mob/living/carbon/alien/adult/hunter(loc)
if("Sentinel")
new_xeno = new /mob/living/carbon/alien/humanoid/sentinel(loc)
new_xeno = new /mob/living/carbon/alien/adult/sentinel(loc)
if("Drone")
new_xeno = new /mob/living/carbon/alien/humanoid/drone(loc)
new_xeno = new /mob/living/carbon/alien/adult/drone(loc)
new_xeno.set_combat_mode(TRUE)
new_xeno.key = key

View File

@@ -143,7 +143,7 @@
new_bodypart = new /obj/item/bodypart/chest/larva()
. = new_bodypart
/mob/living/carbon/alien/humanoid/newBodyPart(zone)
/mob/living/carbon/alien/adult/newBodyPart(zone)
var/obj/item/bodypart/new_bodypart
switch(zone)
if(BODY_ZONE_L_ARM)

View File

@@ -25,7 +25,7 @@
/datum/surgery/organ_manipulation/alien
name = "Alien organ manipulation"
possible_locs = list(BODY_ZONE_CHEST, BODY_ZONE_HEAD, BODY_ZONE_PRECISE_GROIN, BODY_ZONE_PRECISE_EYES, BODY_ZONE_PRECISE_MOUTH, BODY_ZONE_L_ARM, BODY_ZONE_R_ARM)
target_mobtypes = list(/mob/living/carbon/alien/humanoid)
target_mobtypes = list(/mob/living/carbon/alien/adult)
steps = list(
/datum/surgery_step/saw,
/datum/surgery_step/incise,

BIN
icons/mob/animal.dmi Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 240 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

BIN
icons/mob/cows.dmi Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

BIN
icons/mob/pets.dmi Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 80 KiB

BIN
icons/mob/pets_held_lh.dmi Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

BIN
icons/mob/pets_held_rh.dmi Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

View File

@@ -4,42 +4,38 @@ https://github.com/Skyrat-SS13/Skyrat-tg/pull/3194
MODULE ID: SUICIDE_VERB
### Description:
Removes the LRP suicide verb, in the same manner as most RP servers.
### TG Proc/File Changes:
Modified:
- `code/modules/client/verbs/suicide.dm`
Removed:
- `/mob/living/carbon/human/verb/suicide()`
- `/mob/living/brain/verb/suicide()`
- `/mob/living/silicon/ai/verb/suicide()`
- `/mob/living/silicon/robot/verb/suicide()`
- `/mob/living/silicon/pai/verb/suicide()`
- `/mob/living/carbon/alien/humanoid/verb/suicide()`
- `/mob/living/carbon/alien/adult/verb/suicide()`
- `/mob/living/simple_animal/verb/suicide()`
### Defines:
- N/A
### Master file additions
- N/A
### Included files that are not contained in this module:
- N/A
### Credits:
Rohesie

View File

@@ -1,6 +1,6 @@
/// SKYRAT MODULE SKYRAT_XENO_REDO
/mob/living/carbon/alien/humanoid/skyrat
/mob/living/carbon/alien/adult/skyrat
name = "rare bugged alien"
icon = 'modular_skyrat/modules/xenos_skyrat_redo/icons/big_xenos.dmi'
rotate_on_lying = FALSE
@@ -33,7 +33,7 @@
var/on_fire_pixel_y = 16
/mob/living/carbon/alien/humanoid/skyrat/Initialize(mapload)
/mob/living/carbon/alien/adult/skyrat/Initialize(mapload)
. = ..()
small_sprite = new /datum/action/small_sprite/skyrat_xeno()
small_sprite.Grant(src)
@@ -50,7 +50,7 @@
ADD_TRAIT(src, TRAIT_XENO_HEAL_AURA, TRAIT_XENO_INNATE)
real_name = "alien [caste]"
/mob/living/carbon/alien/humanoid/skyrat/Destroy()
/mob/living/carbon/alien/adult/skyrat/Destroy()
QDEL_NULL(small_sprite)
QDEL_NULL(rest_button)
if(evolve_ability)
@@ -58,14 +58,14 @@
return ..()
/// Called when a larva or xeno evolves, adds a configurable timer on evolving again to the xeno
/mob/living/carbon/alien/humanoid/skyrat/proc/has_just_evolved()
/mob/living/carbon/alien/adult/skyrat/proc/has_just_evolved()
if(has_evolved_recently)
return
has_evolved_recently = TRUE
addtimer(CALLBACK(src, .proc/can_evolve_once_again), evolution_cooldown_time)
/// Allows xenos to evolve again if they are currently unable to
/mob/living/carbon/alien/humanoid/skyrat/proc/can_evolve_once_again()
/mob/living/carbon/alien/adult/skyrat/proc/can_evolve_once_again()
if(!has_evolved_recently)
return
has_evolved_recently = FALSE
@@ -79,7 +79,7 @@
. = ..()
if(!isalien(owner))
return FALSE
var/mob/living/carbon/alien/humanoid/skyrat/owner_alien = owner
var/mob/living/carbon/alien/adult/skyrat/owner_alien = owner
if(!can_be_used_always)
if(owner_alien.unable_to_use_abilities)
return FALSE
@@ -118,7 +118,7 @@
plasma_cost = target_alien.get_max_plasma() //This ability should always require that a xeno be at their max plasma capacity to use
/datum/action/cooldown/alien/skyrat/generic_evolve/Activate()
var/mob/living/carbon/alien/humanoid/skyrat/evolver = owner
var/mob/living/carbon/alien/adult/skyrat/evolver = owner
if(!istype(evolver))
to_chat(owner, span_warning("You aren't an alien, you can't evolve!"))
@@ -165,7 +165,7 @@
/datum/movespeed_modifier/alien_big
multiplicative_slowdown = 2
/mob/living/carbon/alien/humanoid/skyrat/update_held_items()
/mob/living/carbon/alien/adult/skyrat/update_held_items()
..()
remove_overlay(HANDS_LAYER)
var/list/hands = list()
@@ -199,8 +199,8 @@
return -1
return vessel.max_plasma
/mob/living/carbon/alien/humanoid/skyrat/alien_evolve(mob/living/carbon/alien/new_xeno, is_it_a_larva)
var/mob/living/carbon/alien/humanoid/skyrat/xeno_to_transfer_to = new_xeno
/mob/living/carbon/alien/adult/skyrat/alien_evolve(mob/living/carbon/alien/new_xeno, is_it_a_larva)
var/mob/living/carbon/alien/adult/skyrat/xeno_to_transfer_to = new_xeno
xeno_to_transfer_to.setDir(dir)
if(!islarva(xeno_to_transfer_to))
@@ -210,7 +210,7 @@
mind.transfer_to(xeno_to_transfer_to)
qdel(src)
/mob/living/carbon/alien/humanoid/skyrat/update_fire_overlay(stacks, on_fire, last_icon_state, suffix = "")
/mob/living/carbon/alien/adult/skyrat/update_fire_overlay(stacks, on_fire, last_icon_state, suffix = "")
var/fire_icon = "generic_fire[suffix]"
if(!GLOB.fire_appearances[fire_icon])
@@ -235,10 +235,10 @@
apply_overlay(FIRE_LAYER)
return null
/mob/living/carbon/alien/humanoid/skyrat/findQueen() //Yes we really do need to do this whole thing to let the queen finder work
/mob/living/carbon/alien/adult/skyrat/findQueen() //Yes we really do need to do this whole thing to let the queen finder work
if(hud_used)
hud_used.alien_queen_finder.cut_overlays()
var/mob/queen = get_alien_type(/mob/living/carbon/alien/humanoid/skyrat/queen)
var/mob/queen = get_alien_type(/mob/living/carbon/alien/adult/skyrat/queen)
if(!queen)
return
var/turf/Q = get_turf(queen)

View File

@@ -1,6 +1,6 @@
/// SKYRAT MODULE SKYRAT_XENO_REDO
/mob/living/carbon/human/attack_alien(mob/living/carbon/alien/humanoid/user, list/modifiers)
/mob/living/carbon/human/attack_alien(mob/living/carbon/alien/adult/user, list/modifiers)
. = ..()
if(!.)
return

View File

@@ -63,18 +63,18 @@
caste_options[caste_name] = caste_option
/datum/action/cooldown/alien/larva_evolve/proc/spawn_new_xeno(alien_caste)
var/mob/living/carbon/alien/humanoid/skyrat/new_xeno
var/mob/living/carbon/alien/adult/skyrat/new_xeno
var/mob/living/carbon/alien/larva/larva = owner
switch(alien_caste)
if("Runner")
new_xeno = new /mob/living/carbon/alien/humanoid/skyrat/runner(larva.loc)
new_xeno = new /mob/living/carbon/alien/adult/skyrat/runner(larva.loc)
if("Sentinel")
new_xeno = new /mob/living/carbon/alien/humanoid/skyrat/sentinel(larva.loc)
new_xeno = new /mob/living/carbon/alien/adult/skyrat/sentinel(larva.loc)
if("Defender")
new_xeno = new /mob/living/carbon/alien/humanoid/skyrat/defender(larva.loc)
new_xeno = new /mob/living/carbon/alien/adult/skyrat/defender(larva.loc)
if("Drone")
new_xeno = new /mob/living/carbon/alien/humanoid/skyrat/drone(larva.loc)
new_xeno = new /mob/living/carbon/alien/adult/skyrat/drone(larva.loc)
else
CRASH("Alien evolve was given an invalid / incorrect alien cast type. Got: [alien_caste]")

View File

@@ -1,6 +1,6 @@
/// SKYRAT MODULE SKYRAT_XENO_REDO
/mob/living/carbon/alien/humanoid/skyrat/defender
/mob/living/carbon/alien/adult/skyrat/defender
name = "alien defender"
desc = "A heavy looking alien with a wrecking ball-like tail that'd probably hurt to get hit by."
caste = "defender"
@@ -13,9 +13,9 @@
var/datum/action/cooldown/mob_cooldown/charge/basic_charge/defender/charge
/// Holds the wrecking ball tail sweep that the defender will be granted
var/datum/action/cooldown/spell/aoe/repulse/xeno/skyrat_tailsweep/tail_sweep
next_evolution = /mob/living/carbon/alien/humanoid/skyrat/warrior
next_evolution = /mob/living/carbon/alien/adult/skyrat/warrior
/mob/living/carbon/alien/humanoid/skyrat/defender/Initialize(mapload)
/mob/living/carbon/alien/adult/skyrat/defender/Initialize(mapload)
. = ..()
tail_sweep = new /datum/action/cooldown/spell/aoe/repulse/xeno/skyrat_tailsweep()
tail_sweep.Grant(src)
@@ -27,12 +27,12 @@
add_movespeed_modifier(/datum/movespeed_modifier/alien_heavy)
/mob/living/carbon/alien/humanoid/skyrat/defender/Destroy()
/mob/living/carbon/alien/adult/skyrat/defender/Destroy()
QDEL_NULL(charge)
QDEL_NULL(tail_sweep)
return ..()
/mob/living/carbon/alien/humanoid/skyrat/defender/create_internal_organs()
/mob/living/carbon/alien/adult/skyrat/defender/create_internal_organs()
internal_organs += new /obj/item/organ/internal/alien/plasmavessel/small
..()
@@ -67,7 +67,7 @@
if(!isalien(owner))
return FALSE
var/mob/living/carbon/alien/humanoid/skyrat/owner_alien = owner
var/mob/living/carbon/alien/adult/skyrat/owner_alien = owner
if(owner_alien.unable_to_use_abilities)
return FALSE

View File

@@ -1,6 +1,6 @@
/// SKYRAT MODULE SKYRAT_XENO_REDO
/mob/living/carbon/alien/humanoid/skyrat/drone
/mob/living/carbon/alien/adult/skyrat/drone
name = "alien drone"
desc = "As plain looking as you could call an alien with armored black chitin and large claws."
caste = "drone"
@@ -11,18 +11,18 @@
var/datum/action/cooldown/alien/skyrat/heal_aura/heal_aura_ability
melee_damage_lower = 15
melee_damage_upper = 20
next_evolution = /mob/living/carbon/alien/humanoid/skyrat/praetorian
next_evolution = /mob/living/carbon/alien/adult/skyrat/praetorian
/mob/living/carbon/alien/humanoid/skyrat/drone/Initialize(mapload)
/mob/living/carbon/alien/adult/skyrat/drone/Initialize(mapload)
. = ..()
heal_aura_ability = new /datum/action/cooldown/alien/skyrat/heal_aura()
heal_aura_ability.Grant(src)
/mob/living/carbon/alien/humanoid/skyrat/drone/Destroy()
/mob/living/carbon/alien/adult/skyrat/drone/Destroy()
QDEL_NULL(heal_aura_ability)
return ..()
/mob/living/carbon/alien/humanoid/skyrat/drone/create_internal_organs()
/mob/living/carbon/alien/adult/skyrat/drone/create_internal_organs()
internal_organs += new /obj/item/organ/internal/alien/plasmavessel
internal_organs += new /obj/item/organ/internal/alien/resinspinner
..()

View File

@@ -1,6 +1,6 @@
/// SKYRAT MODULE SKYRAT_XENO_REDO
/mob/living/carbon/alien/humanoid/skyrat/praetorian
/mob/living/carbon/alien/adult/skyrat/praetorian
name = "alien praetorian"
desc = "An alien that looks like the awkward half-way point between a queen and a drone, in fact that's likely what it is."
caste = "praetorian"
@@ -13,9 +13,9 @@
var/datum/action/cooldown/spell/aoe/repulse/xeno/skyrat_tailsweep/hard_throwing/tail_sweep
melee_damage_lower = 25
melee_damage_upper = 30
next_evolution = /mob/living/carbon/alien/humanoid/skyrat/queen
next_evolution = /mob/living/carbon/alien/adult/skyrat/queen
/mob/living/carbon/alien/humanoid/skyrat/praetorian/Initialize(mapload)
/mob/living/carbon/alien/adult/skyrat/praetorian/Initialize(mapload)
. = ..()
heal_aura_ability = new /datum/action/cooldown/alien/skyrat/heal_aura/juiced()
heal_aura_ability.Grant(src)
@@ -27,11 +27,11 @@
add_movespeed_modifier(/datum/movespeed_modifier/alien_big)
/mob/living/carbon/alien/humanoid/skyrat/praetorian/Destroy()
/mob/living/carbon/alien/adult/skyrat/praetorian/Destroy()
QDEL_NULL(heal_aura_ability)
return ..()
/mob/living/carbon/alien/humanoid/skyrat/praetorian/create_internal_organs()
/mob/living/carbon/alien/adult/skyrat/praetorian/create_internal_organs()
internal_organs += new /obj/item/organ/internal/alien/plasmavessel/large
internal_organs += new /obj/item/organ/internal/alien/neurotoxin/spitter
internal_organs += new /obj/item/organ/internal/alien/resinspinner

View File

@@ -1,6 +1,6 @@
/// SKYRAT MODULE SKYRAT_XENO_REDO
/mob/living/carbon/alien/humanoid/skyrat/queen
/mob/living/carbon/alien/adult/skyrat/queen
name = "alien queen"
desc = "A hulking beast of an alien, for some reason this one seems more important than the others, you should probably quit staring at it and do something."
caste = "queen"
@@ -14,7 +14,7 @@
melee_damage_lower = 30
melee_damage_upper = 35
/mob/living/carbon/alien/humanoid/skyrat/queen/Initialize(mapload)
/mob/living/carbon/alien/adult/skyrat/queen/Initialize(mapload)
. = ..()
tail_sweep = new /datum/action/cooldown/spell/aoe/repulse/xeno/skyrat_tailsweep/hard_throwing()
tail_sweep.Grant(src)
@@ -26,19 +26,19 @@
add_movespeed_modifier(/datum/movespeed_modifier/alien_big)
/mob/living/carbon/alien/humanoid/skyrat/queen/Destroy()
/mob/living/carbon/alien/adult/skyrat/queen/Destroy()
QDEL_NULL(tail_sweep)
QDEL_NULL(screech)
return ..()
/mob/living/carbon/alien/humanoid/skyrat/queen/create_internal_organs()
/mob/living/carbon/alien/adult/skyrat/queen/create_internal_organs()
internal_organs += new /obj/item/organ/internal/alien/plasmavessel/large/queen
internal_organs += new /obj/item/organ/internal/alien/resinspinner
internal_organs += new /obj/item/organ/internal/alien/neurotoxin/queen
internal_organs += new /obj/item/organ/internal/alien/eggsac
..()
/mob/living/carbon/alien/humanoid/skyrat/queen/alien_talk(message, shown_name = name)
/mob/living/carbon/alien/adult/skyrat/queen/alien_talk(message, shown_name = name)
..(message, shown_name, TRUE)
/obj/item/organ/internal/alien/neurotoxin/queen
@@ -52,7 +52,7 @@
/datum/action/cooldown/alien/acid/corrosion,
)
/mob/living/carbon/alien/humanoid/skyrat/queen/death(gibbed)
/mob/living/carbon/alien/adult/skyrat/queen/death(gibbed)
if(stat == DEAD)
return
@@ -75,7 +75,7 @@
/datum/action/cooldown/alien/skyrat/queen_screech/Activate()
. = ..()
var/mob/living/carbon/alien/humanoid/skyrat/queenie = owner
var/mob/living/carbon/alien/adult/skyrat/queenie = owner
playsound(queenie, 'modular_skyrat/modules/xenos_skyrat_redo/sound/alien_queen_screech.ogg', 100, FALSE, 8, 0.9)
queenie.create_shriekwave()
shake_camera(owner, 2, 2)
@@ -87,11 +87,11 @@
return TRUE
/mob/living/carbon/alien/humanoid/skyrat/proc/create_shriekwave()
/mob/living/carbon/alien/adult/skyrat/proc/create_shriekwave()
remove_overlay(HALO_LAYER)
overlays_standing[HALO_LAYER] = image("icon" = 'modular_skyrat/modules/xenos_skyrat_redo/icons/big_xenos.dmi', "icon_state" = "shriek_waves") //Ehh, suit layer's not being used.
apply_overlay(HALO_LAYER)
addtimer(CALLBACK(src, .proc/remove_shriekwave), 3 SECONDS)
/mob/living/carbon/alien/humanoid/skyrat/proc/remove_shriekwave()
/mob/living/carbon/alien/adult/skyrat/proc/remove_shriekwave()
remove_overlay(HALO_LAYER)

View File

@@ -2,7 +2,7 @@
#define RAVAGER_OUTLINE_EFFECT "ravager_endure_outline"
/mob/living/carbon/alien/humanoid/skyrat/ravager
/mob/living/carbon/alien/adult/skyrat/ravager
name = "alien ravager"
desc = "An alien with angry red chitin, with equally intimidating looking blade-like claws in place of normal hands. That sharp tail looks like it'd probably hurt."
caste = "ravager"
@@ -18,7 +18,7 @@
melee_damage_lower = 30
melee_damage_upper = 35
/mob/living/carbon/alien/humanoid/skyrat/ravager/Initialize(mapload)
/mob/living/carbon/alien/adult/skyrat/ravager/Initialize(mapload)
. = ..()
tailsweep_slice = new /datum/action/cooldown/spell/aoe/repulse/xeno/skyrat_tailsweep/slicing()
tailsweep_slice.Grant(src)
@@ -31,14 +31,14 @@
REMOVE_TRAIT(src, TRAIT_VENTCRAWLER_ALWAYS, INNATE_TRAIT)
/mob/living/carbon/alien/humanoid/skyrat/ravager/Destroy()
/mob/living/carbon/alien/adult/skyrat/ravager/Destroy()
//QDEL_NULL(triple_charge)
QDEL_NULL(tailsweep_slice)
QDEL_NULL(you_cant_hurt_me_jack)
QDEL_NULL(triple_charge)
return ..()
/mob/living/carbon/alien/humanoid/skyrat/ravager/create_internal_organs()
/mob/living/carbon/alien/adult/skyrat/ravager/create_internal_organs()
internal_organs += new /obj/item/organ/internal/alien/plasmavessel
..()

View File

@@ -3,7 +3,7 @@
#define EVASION_VENTCRAWL_INABILTY_CD_PERCENTAGE 0.8
#define RUNNER_BLUR_EFFECT "runner_evasion"
/mob/living/carbon/alien/humanoid/skyrat/runner
/mob/living/carbon/alien/adult/skyrat/runner
name = "alien runner"
desc = "A short alien with sleek red chitin, clearly abiding by the 'red ones go faster' theorem and almost always running on all fours."
caste = "runner"
@@ -14,10 +14,10 @@
var/datum/action/cooldown/alien/skyrat/evade/evade_ability
melee_damage_lower = 15
melee_damage_upper = 20
next_evolution = /mob/living/carbon/alien/humanoid/skyrat/ravager
next_evolution = /mob/living/carbon/alien/adult/skyrat/ravager
on_fire_pixel_y = 0
/mob/living/carbon/alien/humanoid/skyrat/runner/Initialize(mapload)
/mob/living/carbon/alien/adult/skyrat/runner/Initialize(mapload)
. = ..()
AddComponent(/datum/component/tackler, stamina_cost = 0, base_knockdown = 2, range = 10, speed = 2, skill_mod = 7, min_distance = 0)
evade_ability = new /datum/action/cooldown/alien/skyrat/evade()
@@ -25,11 +25,11 @@
add_movespeed_modifier(/datum/movespeed_modifier/alien_quick)
/mob/living/carbon/alien/humanoid/skyrat/runner/Destroy()
/mob/living/carbon/alien/adult/skyrat/runner/Destroy()
QDEL_NULL(evade_ability)
return ..()
/mob/living/carbon/alien/humanoid/skyrat/runner/create_internal_organs()
/mob/living/carbon/alien/adult/skyrat/runner/create_internal_organs()
internal_organs += new /obj/item/organ/internal/alien/plasmavessel/small/tiny
..()
@@ -82,7 +82,7 @@
addtimer(CALLBACK(owner, /atom.proc/remove_filter, RUNNER_BLUR_EFFECT), 0.5 SECONDS)
return BULLET_ACT_FORCE_PIERCE
/mob/living/carbon/alien/humanoid/skyrat/runner/bullet_act(obj/projectile/P, def_zone, piercing_hit = FALSE)
/mob/living/carbon/alien/adult/skyrat/runner/bullet_act(obj/projectile/P, def_zone, piercing_hit = FALSE)
if(evade_ability)
var/evade_result = evade_ability.on_projectile_hit()
if(!(evade_result == BULLET_ACT_HIT))

View File

@@ -1,6 +1,6 @@
/// SKYRAT MODULE SKYRAT_XENO_REDO
/mob/living/carbon/alien/humanoid/skyrat/sentinel
/mob/living/carbon/alien/adult/skyrat/sentinel
name = "alien sentinel"
desc = "An alien that'd be unremarkable if not for the bright coloring and visible acid glands that cover it."
caste = "sentinel"
@@ -9,14 +9,14 @@
icon_state = "aliensentinel"
melee_damage_lower = 10
melee_damage_upper = 15
next_evolution = /mob/living/carbon/alien/humanoid/skyrat/spitter
next_evolution = /mob/living/carbon/alien/adult/skyrat/spitter
/mob/living/carbon/alien/humanoid/skyrat/sentinel/Initialize(mapload)
/mob/living/carbon/alien/adult/skyrat/sentinel/Initialize(mapload)
. = ..()
add_movespeed_modifier(/datum/movespeed_modifier/alien_slow)
/mob/living/carbon/alien/humanoid/skyrat/sentinel/create_internal_organs()
/mob/living/carbon/alien/adult/skyrat/sentinel/create_internal_organs()
internal_organs += new /obj/item/organ/internal/alien/plasmavessel/small
internal_organs += new /obj/item/organ/internal/alien/neurotoxin/sentinel
..()

View File

@@ -1,6 +1,6 @@
/// SKYRAT MODULE SKYRAT_XENO_REDO
/mob/living/carbon/alien/humanoid/skyrat/spitter
/mob/living/carbon/alien/adult/skyrat/spitter
name = "alien spitter"
desc = "A fairly heavy looking alien with prominent acid glands, it's mouth dripping with... some kind of toxin or acid."
caste = "spitter"
@@ -10,14 +10,14 @@
melee_damage_lower = 15
melee_damage_upper = 20
/mob/living/carbon/alien/humanoid/skyrat/spitter/Initialize(mapload)
/mob/living/carbon/alien/adult/skyrat/spitter/Initialize(mapload)
. = ..()
add_movespeed_modifier(/datum/movespeed_modifier/alien_heavy)
REMOVE_TRAIT(src, TRAIT_VENTCRAWLER_ALWAYS, INNATE_TRAIT)
/mob/living/carbon/alien/humanoid/skyrat/spitter/create_internal_organs()
/mob/living/carbon/alien/adult/skyrat/spitter/create_internal_organs()
internal_organs += new /obj/item/organ/internal/alien/plasmavessel
internal_organs += new /obj/item/organ/internal/alien/neurotoxin/spitter
..()

View File

@@ -1,6 +1,6 @@
/// SKYRAT MODULE SKYRAT_XENO_REDO
/mob/living/carbon/alien/humanoid/skyrat/warrior
/mob/living/carbon/alien/adult/skyrat/warrior
name = "alien warrior"
desc = "If there are aliens to call walking tanks, this would be one of them, with both the heavy armor and strong arms to back that claim up."
caste = "warrior"
@@ -16,7 +16,7 @@
/// Holds the agility ability that will be given to the warrior later
var/datum/action/cooldown/alien/skyrat/warrior_agility/agility
/mob/living/carbon/alien/humanoid/skyrat/warrior/Initialize(mapload)
/mob/living/carbon/alien/adult/skyrat/warrior/Initialize(mapload)
. = ..()
tail_sweep = new /datum/action/cooldown/spell/aoe/repulse/xeno/skyrat_tailsweep()
tail_sweep.Grant(src)
@@ -31,13 +31,13 @@
add_movespeed_modifier(/datum/movespeed_modifier/alien_big)
/mob/living/carbon/alien/humanoid/skyrat/warrior/Destroy()
/mob/living/carbon/alien/adult/skyrat/warrior/Destroy()
QDEL_NULL(charge)
QDEL_NULL(tail_sweep)
QDEL_NULL(agility)
return ..()
/mob/living/carbon/alien/humanoid/skyrat/warrior/create_internal_organs()
/mob/living/carbon/alien/adult/skyrat/warrior/create_internal_organs()
internal_organs += new /obj/item/organ/internal/alien/plasmavessel
..()
@@ -61,7 +61,7 @@
/// Handles the visual indication and code activation of the warrior agility ability (say that five times fast)
/datum/action/cooldown/alien/skyrat/warrior_agility/proc/begin_agility()
var/mob/living/carbon/alien/humanoid/skyrat/agility_target = owner
var/mob/living/carbon/alien/adult/skyrat/agility_target = owner
agility_target.balloon_alert(agility_target, "agility active")
to_chat(agility_target, span_danger("We drop onto all fours, allowing us to move at much greater speed at expense of being able to use most abilities."))
playsound(agility_target, 'modular_skyrat/modules/xenos_skyrat_redo/sound/alien_hiss.ogg', 100, TRUE, 8, 0.9)
@@ -76,7 +76,7 @@
/// Handles the visual indicators and code side of deactivating the agility ability
/datum/action/cooldown/alien/skyrat/warrior_agility/proc/end_agility()
var/mob/living/carbon/alien/humanoid/skyrat/agility_target = owner
var/mob/living/carbon/alien/adult/skyrat/agility_target = owner
agility_target.balloon_alert(agility_target, "agility ended")
playsound(agility_target, 'modular_skyrat/modules/xenos_skyrat_redo/sound/alien_roar2.ogg', 100, TRUE, 8, 0.9) //Warrior runs up on all fours, stands upright, screams at you
agility_target.icon_state = "alien[agility_target.caste]"

View File

@@ -3638,17 +3638,17 @@
#include "code\modules\mob\living\carbon\alien\organs.dm"
#include "code\modules\mob\living\carbon\alien\screen.dm"
#include "code\modules\mob\living\carbon\alien\status_procs.dm"
#include "code\modules\mob\living\carbon\alien\humanoid\alien_powers.dm"
#include "code\modules\mob\living\carbon\alien\humanoid\death.dm"
#include "code\modules\mob\living\carbon\alien\humanoid\humanoid.dm"
#include "code\modules\mob\living\carbon\alien\humanoid\humanoid_defense.dm"
#include "code\modules\mob\living\carbon\alien\humanoid\humanoid_update_icons.dm"
#include "code\modules\mob\living\carbon\alien\humanoid\life.dm"
#include "code\modules\mob\living\carbon\alien\humanoid\queen.dm"
#include "code\modules\mob\living\carbon\alien\humanoid\caste\drone.dm"
#include "code\modules\mob\living\carbon\alien\humanoid\caste\hunter.dm"
#include "code\modules\mob\living\carbon\alien\humanoid\caste\praetorian.dm"
#include "code\modules\mob\living\carbon\alien\humanoid\caste\sentinel.dm"
#include "code\modules\mob\living\carbon\alien\adult\adult.dm"
#include "code\modules\mob\living\carbon\alien\adult\adult_defense.dm"
#include "code\modules\mob\living\carbon\alien\adult\adult_update_icons.dm"
#include "code\modules\mob\living\carbon\alien\adult\alien_powers.dm"
#include "code\modules\mob\living\carbon\alien\adult\death.dm"
#include "code\modules\mob\living\carbon\alien\adult\life.dm"
#include "code\modules\mob\living\carbon\alien\adult\queen.dm"
#include "code\modules\mob\living\carbon\alien\adult\caste\drone.dm"
#include "code\modules\mob\living\carbon\alien\adult\caste\hunter.dm"
#include "code\modules\mob\living\carbon\alien\adult\caste\praetorian.dm"
#include "code\modules\mob\living\carbon\alien\adult\caste\sentinel.dm"
#include "code\modules\mob\living\carbon\alien\larva\death.dm"
#include "code\modules\mob\living\carbon\alien\larva\inventory.dm"
#include "code\modules\mob\living\carbon\alien\larva\larva.dm"