mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-07-11 15:14:27 +01:00
Alien attack and organ fixes
This commit is contained in:
@@ -27,13 +27,15 @@
|
||||
var/heat_protection = 0.5
|
||||
var/leaping = 0
|
||||
ventcrawler = 2
|
||||
|
||||
var/list/alien_organs = list()
|
||||
|
||||
/mob/living/carbon/alien/New()
|
||||
verbs += /mob/living/verb/mob_sleep
|
||||
verbs += /mob/living/verb/lay_down
|
||||
internal_organs += new /obj/item/organ/internal/brain/xeno
|
||||
internal_organs += new /obj/item/organ/internal/xenos/hivenode
|
||||
for(var/obj/item/organ/internal/I in internal_organs)
|
||||
alien_organs += new /obj/item/organ/internal/brain/xeno
|
||||
alien_organs += new /obj/item/organ/internal/xenos/hivenode
|
||||
for(var/obj/item/organ/internal/I in alien_organs)
|
||||
I.insert(src)
|
||||
..()
|
||||
|
||||
|
||||
@@ -15,7 +15,6 @@ In all, this is a lot like the monkey code. /N
|
||||
return
|
||||
|
||||
switch(M.a_intent)
|
||||
|
||||
if(I_HELP)
|
||||
sleeping = max(0,sleeping-5)
|
||||
resting = 0
|
||||
@@ -25,11 +24,12 @@ In all, this is a lot like the monkey code. /N
|
||||
visible_message("<span class='notice'>[M.name] nuzzles [src] trying to wake it up!</span>")
|
||||
|
||||
if(I_GRAB)
|
||||
src.grabbedby(M)
|
||||
grabbedby(M)
|
||||
return 1
|
||||
|
||||
else
|
||||
if(health > 0)
|
||||
M.do_attack_animation(src)
|
||||
playsound(loc, 'sound/weapons/bite.ogg', 50, 1, -1)
|
||||
var/damage = 1
|
||||
visible_message("<span class='danger'>[M.name] bites [src]!</span>", \
|
||||
@@ -39,13 +39,10 @@ In all, this is a lot like the monkey code. /N
|
||||
updatehealth()
|
||||
else
|
||||
to_chat(M, "<span class='warning'>[name] is too injured for that.</span>")
|
||||
return
|
||||
|
||||
|
||||
/mob/living/carbon/alien/attack_larva(mob/living/carbon/alien/larva/L as mob)
|
||||
return attack_alien(L)
|
||||
|
||||
|
||||
/mob/living/carbon/alien/attack_hand(mob/living/carbon/human/M as mob)
|
||||
if(..()) //to allow surgery to return properly.
|
||||
return 0
|
||||
@@ -56,7 +53,7 @@ In all, this is a lot like the monkey code. /N
|
||||
if(I_HELP)
|
||||
help_shake_act(M)
|
||||
if(I_GRAB)
|
||||
src.grabbedby(M)
|
||||
grabbedby(M)
|
||||
if(I_HARM, I_DISARM)
|
||||
return 1
|
||||
return 0
|
||||
|
||||
@@ -12,9 +12,9 @@
|
||||
if(src.name == "alien drone")
|
||||
src.name = text("alien drone ([rand(1, 1000)])")
|
||||
src.real_name = src.name
|
||||
internal_organs += new /obj/item/organ/internal/xenos/plasmavessel/drone
|
||||
internal_organs += new /obj/item/organ/internal/xenos/acidgland
|
||||
internal_organs += new /obj/item/organ/internal/xenos/resinspinner
|
||||
alien_organs += new /obj/item/organ/internal/xenos/plasmavessel/drone
|
||||
alien_organs += new /obj/item/organ/internal/xenos/acidgland
|
||||
alien_organs += new /obj/item/organ/internal/xenos/resinspinner
|
||||
..()
|
||||
|
||||
//Drones use the same base as generic humanoids.
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
if(name == "alien hunter")
|
||||
name = text("alien hunter ([rand(1, 1000)])")
|
||||
real_name = name
|
||||
internal_organs += new /obj/item/organ/internal/xenos/plasmavessel/hunter
|
||||
alien_organs += new /obj/item/organ/internal/xenos/plasmavessel/hunter
|
||||
..()
|
||||
|
||||
/mob/living/carbon/alien/humanoid/hunter/handle_regular_hud_updates()
|
||||
|
||||
@@ -41,9 +41,9 @@
|
||||
if(name == "alien sentinel")
|
||||
name = text("alien sentinel ([rand(1, 1000)])")
|
||||
real_name = name
|
||||
internal_organs += new /obj/item/organ/internal/xenos/plasmavessel
|
||||
internal_organs += new /obj/item/organ/internal/xenos/acidgland
|
||||
internal_organs += new /obj/item/organ/internal/xenos/neurotoxin
|
||||
alien_organs += new /obj/item/organ/internal/xenos/plasmavessel
|
||||
alien_organs += new /obj/item/organ/internal/xenos/acidgland
|
||||
alien_organs += new /obj/item/organ/internal/xenos/neurotoxin
|
||||
..()
|
||||
|
||||
/mob/living/carbon/alien/humanoid/sentinel/handle_regular_hud_updates()
|
||||
|
||||
@@ -44,11 +44,11 @@
|
||||
break
|
||||
|
||||
real_name = src.name
|
||||
internal_organs += new /obj/item/organ/internal/xenos/plasmavessel/queen
|
||||
internal_organs += new /obj/item/organ/internal/xenos/acidgland
|
||||
internal_organs += new /obj/item/organ/internal/xenos/eggsac
|
||||
internal_organs += new /obj/item/organ/internal/xenos/resinspinner
|
||||
internal_organs += new /obj/item/organ/internal/xenos/neurotoxin
|
||||
alien_organs += new /obj/item/organ/internal/xenos/plasmavessel/queen
|
||||
alien_organs += new /obj/item/organ/internal/xenos/acidgland
|
||||
alien_organs += new /obj/item/organ/internal/xenos/eggsac
|
||||
alien_organs += new /obj/item/organ/internal/xenos/resinspinner
|
||||
alien_organs += new /obj/item/organ/internal/xenos/neurotoxin
|
||||
..()
|
||||
|
||||
/mob/living/carbon/alien/humanoid/empress
|
||||
|
||||
@@ -23,11 +23,11 @@
|
||||
break
|
||||
|
||||
real_name = src.name
|
||||
internal_organs += new /obj/item/organ/internal/xenos/plasmavessel/queen
|
||||
internal_organs += new /obj/item/organ/internal/xenos/acidgland
|
||||
internal_organs += new /obj/item/organ/internal/xenos/eggsac
|
||||
internal_organs += new /obj/item/organ/internal/xenos/resinspinner
|
||||
internal_organs += new /obj/item/organ/internal/xenos/neurotoxin
|
||||
alien_organs += new /obj/item/organ/internal/xenos/plasmavessel/queen
|
||||
alien_organs += new /obj/item/organ/internal/xenos/acidgland
|
||||
alien_organs += new /obj/item/organ/internal/xenos/eggsac
|
||||
alien_organs += new /obj/item/organ/internal/xenos/resinspinner
|
||||
alien_organs += new /obj/item/organ/internal/xenos/neurotoxin
|
||||
..()
|
||||
|
||||
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
regenerate_icons()
|
||||
add_language("Xenomorph")
|
||||
add_language("Hivemind")
|
||||
internal_organs += new /obj/item/organ/internal/xenos/plasmavessel/larva
|
||||
alien_organs += new /obj/item/organ/internal/xenos/plasmavessel/larva
|
||||
|
||||
..()
|
||||
|
||||
@@ -190,41 +190,6 @@
|
||||
playsound(loc, 'sound/weapons/punchmiss.ogg', 25, 1, -1)
|
||||
visible_message("<span class='danger'>[M] has attempted to kick [src]!</span>", \
|
||||
"<span class='userdanger'>[M] has attempted to kick [src]!</span>")
|
||||
return
|
||||
|
||||
/mob/living/carbon/alien/larva/attack_alien(mob/living/carbon/alien/humanoid/M as mob)
|
||||
if(!ticker)
|
||||
to_chat(M, "You cannot attack people before the game has started.")
|
||||
return
|
||||
|
||||
if(istype(loc, /turf) && istype(loc.loc, /area/start))
|
||||
to_chat(M, "No attacking people at spawn, you jackass.")
|
||||
return
|
||||
|
||||
..()
|
||||
|
||||
switch(M.a_intent)
|
||||
|
||||
if(I_HELP)
|
||||
sleeping = max(0,sleeping-5)
|
||||
resting = 0
|
||||
AdjustParalysis(-3)
|
||||
AdjustStunned(-3)
|
||||
AdjustWeakened(-3)
|
||||
visible_message("<span class='notice'>[M.name] nuzzles [src] trying to wake it up!</span>")
|
||||
|
||||
else
|
||||
if(health > 0)
|
||||
M.do_attack_animation(src)
|
||||
playsound(loc, 'sound/weapons/bite.ogg', 50, 1, -1)
|
||||
var/damage = 1
|
||||
visible_message("<span class='danger'>[M.name] bites [src]!</span>", \
|
||||
"<span class='userdanger'>[M.name] bites [src]!</span>")
|
||||
adjustBruteLoss(damage)
|
||||
updatehealth()
|
||||
else
|
||||
to_chat(M, "<span class='warning'>[name] is too injured for that.</span>")
|
||||
return
|
||||
|
||||
/mob/living/carbon/alien/larva/restrained()
|
||||
return 0
|
||||
|
||||
Reference in New Issue
Block a user