Refactor /mob/living/carbon/alien/humanoid to be /mob/living/carbon/alien/adult (#70481)

This commit is contained in:
Tim
2022-10-20 08:48:12 -07:00
committed by GitHub
parent 0c34636b0b
commit 6d12dc69ef
49 changed files with 130 additions and 132 deletions
+5 -7
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))
+1 -1
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
+4 -4
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))
@@ -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()
+1 -1
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
+1 -1
View File
@@ -684,7 +684,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
+1 -1
View File
@@ -1297,7 +1297,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
+1 -1
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)
+1 -1
View File
@@ -131,7 +131,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]."),\
@@ -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)
+1 -1
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)
+1 -1
View File
@@ -181,7 +181,7 @@
else
to_chat(src, "Aborting suicide attempt.")
/mob/living/carbon/alien/humanoid/verb/suicide()
/mob/living/carbon/alien/adult/verb/suicide()
set hidden = TRUE
if(!canSuicide())
return
@@ -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)
@@ -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
@@ -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
..()
@@ -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()
@@ -382,7 +382,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."), \
@@ -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
@@ -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 ..()
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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)
@@ -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()
@@ -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'
@@ -53,7 +53,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))
@@ -62,7 +62,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))
@@ -72,7 +72,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))
@@ -86,14 +86,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]")
+2 -2
View File
@@ -41,10 +41,10 @@
//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)
/mob/living/carbon/alien/handle_status_effects(delta_time, times_fired)
..()
//natural reduction of movement delay due to stun.
@@ -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?
@@ -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.
@@ -266,7 +266,7 @@
apply_damage(damage, BRUTE, affecting, run_armor_check(affecting, MELEE))
return TRUE
/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)
+4 -4
View File
@@ -890,7 +890,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)
@@ -1282,12 +1282,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)
+1 -1
View File
@@ -340,7 +340,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)
@@ -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
@@ -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)
@@ -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))
@@ -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)
@@ -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
@@ -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)
+4 -4
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
+1 -1
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)
+1 -1
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,
Binary file not shown.

After

Width:  |  Height:  |  Size: 240 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 80 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

+11 -11
View File
@@ -3565,17 +3565,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"