mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-21 19:17:50 +01:00
Alium changes:
Aliens are now scary. Be careful of all those friendly xenos running about. Scythe-like arms can now seriously injure you if they get an opportunity. Spit now costs 50 plasma instead of 25. It works like a taser (no more homing spit). The effect is the same as the old spit but instead of fire loss, it deals toxin damage. Riot shields can still block spit 50% of the time. Spit overloads (stuns) a cyborg's receptor circuit for 5 seconds, dealing 10 fire damage. Spit has a new projectile icon. Aliens can now properly attack monkeys, dealing heavy damage. Can now interact with other aliens via attack. Larva cannot interact as such. Currently bugged where two similar messages show up on interaction. Will be fixed asap. Slightly higher damage to cyborgs. Aliens can now caress cyborgs with their scythe-like arms. Slightly higher damage to exosuits. Invisibility now works for 15 seconds instead of 30. Resin wall now costs 100 plasma instead of 200. Face huggers now have 10 health instead of 25. There is also a 30% chance of not being paralyzed after a facehugger leap. The paralysis itself lasts half as long. Aliens can now break glass, grills, and tables, and light fixtures without using acid. Adult aliens can now also climb over tables/racks. Fixed the acid verb not properly showing up. Fixed stab/disarm never properly showing up. Larva now get a verb to hide under tables as the old code didn't work. More alien emote fixes. Larva should now properly be gender neutral. General changes: Devouring time has been extended so it takes 10 seconds for all mobs. You must remain still (and the target), to devour someone. Hulks can break through grills a lot faster than before. Added smoothwall shuttle code by Urist (and icons by Rolfero). Added a new dmi for gimmick items. Moved a few gimmick items there. git-svn-id: http://tgstation13.googlecode.com/svn/trunk@694 316c924e-a436-60f5-8080-3fe189b3f50e
This commit is contained in:
@@ -38,8 +38,8 @@
|
||||
var/list/path_idle = new/list()
|
||||
|
||||
var/alive = 1 //1 alive, 0 dead
|
||||
var/health = 25
|
||||
var/maxhealth = 25
|
||||
var/health = 10
|
||||
var/maxhealth = 10
|
||||
var/lamarr = 0
|
||||
flags = 258.0
|
||||
|
||||
@@ -59,13 +59,13 @@
|
||||
set src in view()
|
||||
..()
|
||||
if(!alive)
|
||||
usr << text("\red <B>the alien is not moving</B>")
|
||||
else if (src.health > 15)
|
||||
usr << text("\red <B>the alien looks fresh, just out of the egg</B>")
|
||||
usr << text("\red <B>The alien is not moving.</B>")
|
||||
else if (src.health > 5)
|
||||
usr << text("\red <B>The alien looks fresh, just out of the egg.</B>")
|
||||
else
|
||||
usr << text("\red <B>the alien looks pretty beat up</B>")
|
||||
usr << text("\red <B>The alien looks injured.</B>")
|
||||
if (lamarr)
|
||||
usr << text("\red <B>it looks like the proboscis has been removed</B>")
|
||||
usr << text("\red <B>It looks like the proboscis has been removed.</B>")
|
||||
return
|
||||
|
||||
|
||||
@@ -240,7 +240,8 @@
|
||||
O.show_message("\red <B>[src.target] has been leapt on by [lamarr ? src.name : "the alien"]!</B>", 1, "\red You hear someone fall", 2)
|
||||
if (!lamarr)
|
||||
target:bruteloss += 10
|
||||
target:paralysis = max(target:paralysis, 10)
|
||||
if(prob(70))
|
||||
target:paralysis = max(target:paralysis, 5)
|
||||
src.loc = target.loc
|
||||
|
||||
if(!target.alien_egg_flag && ( ishuman(target) || ismonkey(target) ) )
|
||||
|
||||
@@ -50,7 +50,10 @@
|
||||
|
||||
for(var/mob/O in viewers(user, null))
|
||||
if(status == 1)
|
||||
O.show_message(text("\red [] blinds [] with the flash!", user, M))
|
||||
if(!istype(M, /mob/living/carbon/alien)) //So aliens don't show up as being blinded when it has no effect on them./N
|
||||
O.show_message(text("\red [] blinds [] with the flash!", user, M))
|
||||
else
|
||||
O.show_message(text("\red [] fails to blind [] with the flash!", user, M))
|
||||
src.attack_self(user, 1)
|
||||
return
|
||||
|
||||
|
||||
@@ -44,7 +44,7 @@
|
||||
for(var/mob/O in oviewers())
|
||||
if ((O.client && !( O.blinded )))
|
||||
O << text("\red [] kicks the grille.", usr)
|
||||
src.health -= 2
|
||||
src.health -= 5
|
||||
healthcheck()
|
||||
return
|
||||
else if(!shock(usr, 70))
|
||||
@@ -53,7 +53,7 @@
|
||||
if ((O.client && !( O.blinded )))
|
||||
O << text("\red [] kicks the grille.", usr)
|
||||
playsound(src.loc, 'grillehit.ogg', 80, 1)
|
||||
src.health -= 1
|
||||
src.health -= 3
|
||||
|
||||
/obj/grille/attack_paw(var/obj/M)
|
||||
if ((usr.mutations & 8))
|
||||
@@ -61,7 +61,7 @@
|
||||
for(var/mob/O in oviewers())
|
||||
if ((O.client && !( O.blinded )))
|
||||
O << text("\red [] kicks the grille.", usr)
|
||||
src.health -= 2
|
||||
src.health -= 5
|
||||
healthcheck()
|
||||
return
|
||||
else if(!shock(usr, 70))
|
||||
@@ -70,7 +70,19 @@
|
||||
if ((O.client && !( O.blinded )))
|
||||
O << text("\red [] kicks the grille.", usr)
|
||||
playsound(src.loc, 'grillehit.ogg', 80, 1)
|
||||
src.health -= 1
|
||||
src.health -= 3
|
||||
|
||||
/obj/grille/attack_alien(var/obj/M)
|
||||
if (istype(usr, /mob/living/carbon/alien/larva))//Safety check for larva, in case they get attack_alien in the future. /N
|
||||
return
|
||||
if (!shock(usr, 70))
|
||||
usr << text("\green You mangle the grille.")
|
||||
for(var/mob/O in oviewers())
|
||||
if ((O.client && !( O.blinded )))
|
||||
O << text("\red [] mangles the grille.", usr)
|
||||
src.health -= 3
|
||||
healthcheck()
|
||||
return
|
||||
|
||||
/obj/grille/CanPass(atom/movable/mover, turf/target, height=0, air_group=0)
|
||||
if(air_group || (height==0)) return 1
|
||||
|
||||
@@ -11,6 +11,7 @@ DETECTIVES REVOLVER
|
||||
LASER GUN
|
||||
TASER GUN
|
||||
CROSSBOW
|
||||
ALIEN SPIT
|
||||
TELEPORT GUN
|
||||
|
||||
*/
|
||||
@@ -22,6 +23,7 @@ TELEPORT GUN
|
||||
/var/const/PROJECTILE_BOLT = 5
|
||||
/var/const/PROJECTILE_WEAKBULLET = 6
|
||||
/var/const/PROJECTILE_TELEGUN = 7
|
||||
/var/const/PROJECTILE_DART = 8
|
||||
|
||||
|
||||
// PULSE RIFLE
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
/*
|
||||
CONTAINS:
|
||||
SYNDICATE UPLINK
|
||||
|
||||
*/
|
||||
|
||||
/obj/item/weapon/syndicate_uplink/proc/explode()
|
||||
|
||||
@@ -101,6 +101,8 @@
|
||||
src.health -= 15
|
||||
if(PROJECTILE_TASER)
|
||||
src.health -= 5
|
||||
if(PROJECTILE_DART)
|
||||
src.health -= 10
|
||||
if(PROJECTILE_WEAKBULLET)
|
||||
src.health -= 8
|
||||
if(PROJECTILE_LASER)
|
||||
|
||||
@@ -32,7 +32,7 @@
|
||||
usr << text("\blue You destroy the table.")
|
||||
for(var/mob/O in oviewers())
|
||||
if ((O.client && !( O.blinded )))
|
||||
O << text("\red [] destroys the table.", usr)
|
||||
O << text("\red [] smashes the table apart!", usr)
|
||||
if(istype(src, /obj/table/reinforced))
|
||||
new /obj/item/weapon/table_parts/reinforced( src.loc )
|
||||
else
|
||||
@@ -43,19 +43,23 @@
|
||||
step(user, get_dir(user, src))
|
||||
if (user.loc == src.loc)
|
||||
user.layer = TURF_LAYER
|
||||
for(var/mob/M in viewers(user, null))
|
||||
M.show_message("The monkey hides under the table!", 1)
|
||||
for(var/mob/O in oviewers())
|
||||
if ((O.client && !( O.blinded )))
|
||||
O << text("[] hides under the table!", user)
|
||||
//Foreach goto(69)
|
||||
return
|
||||
|
||||
/obj/table/attack_alien(mob/user as mob)
|
||||
if(istype(user, /mob/living/carbon/alien/larva))
|
||||
if (!( locate(/obj/table, user.loc) ))
|
||||
step(user, get_dir(user, src))
|
||||
if (user.loc == src.loc)
|
||||
user.layer = TURF_LAYER
|
||||
for(var/mob/M in viewers(user, null))
|
||||
M.show_message("The alien larva hides under the table!", 1)
|
||||
/obj/table/attack_alien(mob/user as mob) //Removed code for larva since it doesn't work. Previous code is now a larva ability. /N
|
||||
usr << text("\green You destroy the table.")
|
||||
for(var/mob/O in oviewers())
|
||||
if ((O.client && !( O.blinded )))
|
||||
O << text("\red [] slices the table apart!", user)
|
||||
if(istype(src, /obj/table/reinforced))
|
||||
new /obj/item/weapon/table_parts/reinforced( src.loc )
|
||||
else
|
||||
new /obj/item/weapon/table_parts( src.loc )
|
||||
src.density = 0
|
||||
del(src)
|
||||
return
|
||||
|
||||
/obj/table/attack_hand(mob/user as mob)
|
||||
@@ -63,7 +67,7 @@
|
||||
usr << text("\blue You destroy the table.")
|
||||
for(var/mob/O in oviewers())
|
||||
if ((O.client && !( O.blinded )))
|
||||
O << text("\red [] destroys the table.", usr)
|
||||
O << text("\red [] smashes the table apart!", usr)
|
||||
if(istype(src, /obj/table/reinforced))
|
||||
new /obj/item/weapon/table_parts/reinforced( src.loc )
|
||||
else
|
||||
|
||||
@@ -976,6 +976,16 @@
|
||||
del(src)
|
||||
return
|
||||
|
||||
/obj/bullet/neurodart/Bump(atom/A as mob|obj|turf|area)
|
||||
spawn(0)
|
||||
if(A)
|
||||
A.bullet_act(PROJECTILE_DART)
|
||||
if(istype(A,/turf))
|
||||
for(var/obj/O in A)
|
||||
O.bullet_act(PROJECTILE_DART, src)
|
||||
del(src)
|
||||
return
|
||||
|
||||
/obj/bullet/teleshot/Bump(atom/A as mob|obj|turf|area)
|
||||
if (src.target == null)
|
||||
var/list/turfs = list( )
|
||||
|
||||
@@ -104,7 +104,7 @@
|
||||
usr << text("\blue You smash through the window.")
|
||||
for(var/mob/O in oviewers())
|
||||
if ((O.client && !( O.blinded )))
|
||||
O << text("\red [] smashes through the window.", usr)
|
||||
O << text("\red [] smashes through the window!", usr)
|
||||
src.health = 0
|
||||
new /obj/item/weapon/shard( src.loc )
|
||||
if(reinf) new /obj/item/weapon/rods( src.loc)
|
||||
@@ -117,7 +117,7 @@
|
||||
usr << text("\blue You smash through the window.")
|
||||
for(var/mob/O in oviewers())
|
||||
if ((O.client && !( O.blinded )))
|
||||
O << text("\red [] smashes through the window.", usr)
|
||||
O << text("\red [] smashes through the window!", usr)
|
||||
src.health = 0
|
||||
new /obj/item/weapon/shard( src.loc )
|
||||
if(reinf) new /obj/item/weapon/rods( src.loc)
|
||||
@@ -125,6 +125,28 @@
|
||||
del(src)
|
||||
return
|
||||
|
||||
/obj/window/attack_alien()
|
||||
if (istype(usr, /mob/living/carbon/alien/larva))//Safety check for larva. /N
|
||||
return
|
||||
usr << text("\green You smash against the window.")
|
||||
for(var/mob/O in oviewers())
|
||||
if ((O.client && !( O.blinded )))
|
||||
O << text("\red [] smashes against the window.", usr)
|
||||
src.health -= 15
|
||||
if(src.health <= 0)
|
||||
usr << text("\green You smash through the window.")
|
||||
for(var/mob/O in oviewers())
|
||||
if ((O.client && !( O.blinded )))
|
||||
O << text("\red [] smashes through the window!", usr)
|
||||
src.health = 0
|
||||
new /obj/item/weapon/shard(src.loc)
|
||||
if(reinf)
|
||||
new /obj/item/weapon/rods(src.loc)
|
||||
src.density = 0
|
||||
del(src)
|
||||
return
|
||||
return
|
||||
|
||||
/obj/window/attackby(obj/item/weapon/W as obj, mob/user as mob)
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user