mirror of
https://github.com/VOREStation/VOREStation.git
synced 2026-08-28 22:48:38 +01:00
Polaris sync
This commit is contained in:
@@ -52,7 +52,7 @@
|
||||
Robot.mmi = new /obj/item/device/mmi(new_mob)
|
||||
Robot.mmi.transfer_identity(M) //Does not transfer key/client.
|
||||
if("slime")
|
||||
new_mob = new /mob/living/carbon/slime(M.loc)
|
||||
new_mob = new /mob/living/simple_animal/slime(M.loc)
|
||||
new_mob.universal_speak = 1
|
||||
else
|
||||
var/mob/living/carbon/human/H
|
||||
|
||||
@@ -111,13 +111,29 @@
|
||||
name = "largebolt"
|
||||
damage = 20
|
||||
|
||||
/obj/item/projectile/energy/acid //Slightly up-gunned (Read: The thing does agony and checks bio resist) variant of the simple alien mob's projectile, for queens and sentinels.
|
||||
name = "acidic spit"
|
||||
icon_state = "neurotoxin"
|
||||
damage = 30
|
||||
damage_type = BURN
|
||||
agony = 10
|
||||
check_armour = "bio"
|
||||
|
||||
/obj/item/projectile/energy/neurotoxin
|
||||
name = "neuro"
|
||||
name = "neurotoxic spit"
|
||||
icon_state = "neurotoxin"
|
||||
damage = 5
|
||||
damage_type = TOX
|
||||
weaken = 5
|
||||
agony = 80
|
||||
check_armour = "bio"
|
||||
|
||||
/obj/item/projectile/energy/neurotoxin/toxic //New alien mob projectile to match the player-variant's projectiles.
|
||||
name = "neurotoxic spit"
|
||||
icon_state = "neurotoxin"
|
||||
damage = 20
|
||||
damage_type = TOX
|
||||
agony = 20
|
||||
check_armour = "bio"
|
||||
|
||||
/obj/item/projectile/energy/phoron
|
||||
name = "phoron bolt"
|
||||
|
||||
@@ -35,19 +35,42 @@
|
||||
icon_state = "ice_2"
|
||||
damage = 0
|
||||
damage_type = BURN
|
||||
pass_flags = PASSTABLE | PASSGLASS | PASSGRILLE
|
||||
nodamage = 1
|
||||
check_armour = "energy"
|
||||
var/temperature = 300
|
||||
check_armour = "energy" // It actually checks heat/cold protection.
|
||||
var/target_temperature = 50
|
||||
light_range = 2
|
||||
light_power = 0.5
|
||||
light_color = "#55AAFF"
|
||||
|
||||
/obj/item/projectile/temp/on_hit(atom/target, blocked = FALSE)
|
||||
..()
|
||||
if(isliving(target))
|
||||
var/mob/living/L = target
|
||||
|
||||
on_hit(var/atom/target, var/blocked = 0)//These two could likely check temp protection on the mob
|
||||
if(istype(target, /mob/living))
|
||||
var/mob/M = target
|
||||
M.bodytemperature = temperature
|
||||
return 1
|
||||
var/protection = null
|
||||
var/potential_temperature_delta = null
|
||||
var/new_temperature = L.bodytemperature
|
||||
|
||||
if(target_temperature >= T20C) // Make it cold.
|
||||
protection = L.get_cold_protection(target_temperature)
|
||||
potential_temperature_delta = 75
|
||||
new_temperature = max(new_temperature - potential_temperature_delta, target_temperature)
|
||||
else // Make it hot.
|
||||
protection = L.get_heat_protection(target_temperature)
|
||||
potential_temperature_delta = 200 // Because spacemen temperature needs stupid numbers to actually hurt people.
|
||||
new_temperature = min(new_temperature + potential_temperature_delta, target_temperature)
|
||||
|
||||
var/temp_factor = abs(protection - 1)
|
||||
|
||||
new_temperature = round(new_temperature * temp_factor)
|
||||
L.bodytemperature = new_temperature
|
||||
|
||||
return 1
|
||||
|
||||
/obj/item/projectile/temp/hot
|
||||
name = "heat beam"
|
||||
target_temperature = 1000
|
||||
|
||||
/obj/item/projectile/meteor
|
||||
name = "meteor"
|
||||
|
||||
Reference in New Issue
Block a user