mirror of
https://github.com/PolarisSS13/Polaris.git
synced 2025-12-24 09:03:05 +00:00
tweaks and fixes to a bunch of artifact effects
Signed-off-by: Cael_Aislinn <cael_aislinn@yahoo.com.au>
This commit is contained in:
@@ -14,10 +14,10 @@
|
||||
if(holder)
|
||||
var/datum/gas_mixture/env = holder.loc.return_air()
|
||||
if(env)
|
||||
env.temperature -= rand(5,50)
|
||||
env.temperature = max(env.temperature - rand(5,50), 0)
|
||||
|
||||
/datum/artifact_effect/cold/DoEffectAura()
|
||||
if(holder)
|
||||
var/datum/gas_mixture/env = holder.loc.return_air()
|
||||
if(env && env.temperature < target_temp)
|
||||
env.temperature -= pick(0, 0, rand(), 1)
|
||||
if(env && env.temperature > target_temp)
|
||||
env.temperature -= pick(0, 0, 1)
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
/datum/artifact_effect/badfeeling/DoEffectTouch(var/mob/user)
|
||||
if(user)
|
||||
if (istype(user, /mob/living/carbon/human))
|
||||
var/mob/living/carbon/human/H = holder
|
||||
var/mob/living/carbon/human/H = user
|
||||
if(prob(50))
|
||||
if(prob(75))
|
||||
H << "<b><font color='red' size='[num2text(rand(1,5))]'><b>[pick(drastic_messages)]</b></font>"
|
||||
|
||||
@@ -8,14 +8,14 @@
|
||||
/datum/artifact_effect/dnaswitch/New()
|
||||
..()
|
||||
if(effect == EFFECT_AURA)
|
||||
severity = rand(1,10)
|
||||
severity = rand(5,30)
|
||||
else
|
||||
severity = rand(5,95)
|
||||
severity = rand(25,95)
|
||||
|
||||
/datum/artifact_effect/dnaswitch/DoEffectTouch(var/mob/toucher)
|
||||
var/weakness = GetAnomalySusceptibility(toucher)
|
||||
if(ishuman(toucher) && prob(weakness * 100))
|
||||
holder << pick("\green You feel a little different.",\
|
||||
toucher << pick("\green You feel a little different.",\
|
||||
"\green You feel very strange.",\
|
||||
"\green Your stomach churns.",\
|
||||
"\green Your skin feels loose.",\
|
||||
@@ -23,9 +23,9 @@
|
||||
"\green You feel a tingling sensation in your chest.",\
|
||||
"\green Your entire body vibrates.")
|
||||
if(prob(75))
|
||||
scramble(1, holder, weakness * severity)
|
||||
scramble(1, toucher, weakness * severity)
|
||||
else
|
||||
scramble(0, holder, weakness * severity)
|
||||
scramble(0, toucher, weakness * severity)
|
||||
return 1
|
||||
|
||||
/datum/artifact_effect/dnaswitch/DoEffectAura()
|
||||
@@ -41,7 +41,7 @@
|
||||
"\green You feel a stabbing pain in your head.",\
|
||||
"\green You feel a tingling sensation in your chest.",\
|
||||
"\green Your entire body vibrates.")
|
||||
if(prob(25))
|
||||
if(prob(50))
|
||||
scramble(1, H, weakness * severity)
|
||||
else
|
||||
scramble(0, H, weakness * severity)
|
||||
@@ -60,7 +60,7 @@
|
||||
"\green You feel a tingling sensation in your chest.",\
|
||||
"\green Your entire body vibrates.")
|
||||
if(prob(25))
|
||||
if(prob(50))
|
||||
if(prob(75))
|
||||
scramble(1, H, weakness * severity)
|
||||
else
|
||||
scramble(0, H, weakness * severity)
|
||||
|
||||
@@ -15,8 +15,9 @@
|
||||
created_field.Remove(F)
|
||||
del F
|
||||
else if(holder)
|
||||
var/turf/T = get_turf(holder)
|
||||
while(created_field.len < 16)
|
||||
var/obj/effect/energy_field/E = new (locate(holder.x,holder.y,holder.z))
|
||||
var/obj/effect/energy_field/E = new (locate(T.x,T.y,T.z))
|
||||
created_field.Add(E)
|
||||
E.strength = 1
|
||||
E.density = 1
|
||||
@@ -36,43 +37,44 @@
|
||||
|
||||
/datum/artifact_effect/forcefield/UpdateMove()
|
||||
if(created_field.len && holder)
|
||||
var/turf/T = get_turf(holder)
|
||||
while(created_field.len < 16)
|
||||
//for now, just instantly respawn the fields when they get destroyed
|
||||
var/obj/effect/energy_field/E = new (locate(holder.x,holder.y,holder))
|
||||
var/obj/effect/energy_field/E = new (locate(T.x,T.y,T))
|
||||
created_field.Add(E)
|
||||
E.anchored = 1
|
||||
E.density = 1
|
||||
E.invisibility = 0
|
||||
|
||||
var/obj/effect/energy_field/E = created_field[1]
|
||||
E.loc = locate(holder.x + 2,holder.y + 2,holder.z)
|
||||
E.loc = locate(T.x + 2,T.y + 2,T.z)
|
||||
E = created_field[2]
|
||||
E.loc = locate(holder.x + 2,holder.y + 1,holder.z)
|
||||
E.loc = locate(T.x + 2,T.y + 1,T.z)
|
||||
E = created_field[3]
|
||||
E.loc = locate(holder.x + 2,holder.y,holder.z)
|
||||
E.loc = locate(T.x + 2,T.y,T.z)
|
||||
E = created_field[4]
|
||||
E.loc = locate(holder.x + 2,holder.y - 1,holder.z)
|
||||
E.loc = locate(T.x + 2,T.y - 1,T.z)
|
||||
E = created_field[5]
|
||||
E.loc = locate(holder.x + 2,holder.y - 2,holder.z)
|
||||
E.loc = locate(T.x + 2,T.y - 2,T.z)
|
||||
E = created_field[6]
|
||||
E.loc = locate(holder.x + 1,holder.y + 2,holder.z)
|
||||
E.loc = locate(T.x + 1,T.y + 2,T.z)
|
||||
E = created_field[7]
|
||||
E.loc = locate(holder.x + 1,holder.y - 2,holder.z)
|
||||
E.loc = locate(T.x + 1,T.y - 2,T.z)
|
||||
E = created_field[8]
|
||||
E.loc = locate(holder.x,holder.y + 2,holder.z)
|
||||
E.loc = locate(T.x,T.y + 2,T.z)
|
||||
E = created_field[9]
|
||||
E.loc = locate(holder.x,holder.y - 2,holder.z)
|
||||
E.loc = locate(T.x,T.y - 2,T.z)
|
||||
E = created_field[10]
|
||||
E.loc = locate(holder.x - 1,holder.y + 2,holder.z)
|
||||
E.loc = locate(T.x - 1,T.y + 2,T.z)
|
||||
E = created_field[11]
|
||||
E.loc = locate(holder.x - 1,holder.y - 2,holder.z)
|
||||
E.loc = locate(T.x - 1,T.y - 2,T.z)
|
||||
E = created_field[12]
|
||||
E.loc = locate(holder.x - 2,holder.y + 2,holder.z)
|
||||
E.loc = locate(T.x - 2,T.y + 2,T.z)
|
||||
E = created_field[13]
|
||||
E.loc = locate(holder.x - 2,holder.y + 1,holder.z)
|
||||
E.loc = locate(T.x - 2,T.y + 1,T.z)
|
||||
E = created_field[14]
|
||||
E.loc = locate(holder.x - 2,holder.y,holder.z)
|
||||
E.loc = locate(T.x - 2,T.y,T.z)
|
||||
E = created_field[15]
|
||||
E.loc = locate(holder.x - 2,holder.y - 1,holder.z)
|
||||
E.loc = locate(T.x - 2,T.y - 1,T.z)
|
||||
E = created_field[16]
|
||||
E.loc = locate(holder.x - 2,holder.y - 2,holder.z)
|
||||
E.loc = locate(T.x - 2,T.y - 2,T.z)
|
||||
|
||||
@@ -27,7 +27,7 @@
|
||||
/datum/artifact_effect/goodfeeling/DoEffectTouch(var/mob/user)
|
||||
if(user)
|
||||
if (istype(user, /mob/living/carbon/human))
|
||||
var/mob/living/carbon/human/H = holder
|
||||
var/mob/living/carbon/human/H = user
|
||||
if(prob(50))
|
||||
if(prob(75))
|
||||
H << "<b><font color='blue' size='[num2text(rand(1,5))]'><b>[pick(drastic_messages)]</b></font>"
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
C << "\blue You feel a soothing energy invigorate you."
|
||||
|
||||
if(ishuman(toucher))
|
||||
var/mob/living/carbon/human/H = holder
|
||||
var/mob/living/carbon/human/H = toucher
|
||||
for(var/datum/organ/external/affecting in H.organs)
|
||||
if(affecting && istype(affecting))
|
||||
affecting.heal_damage(25 * weakness, 25 * weakness)
|
||||
|
||||
@@ -23,4 +23,4 @@
|
||||
if(holder)
|
||||
var/datum/gas_mixture/env = holder.loc.return_air()
|
||||
if(env && env.temperature < target_temp)
|
||||
env.temperature += pick(0, 0, rand(), 1)
|
||||
env.temperature += pick(0, 0, 1)
|
||||
|
||||
@@ -4,8 +4,7 @@
|
||||
effect_type = 5
|
||||
|
||||
/datum/artifact_effect/hurt/DoEffectTouch(var/mob/toucher)
|
||||
//caeltodo
|
||||
if(holder)
|
||||
if(toucher)
|
||||
var/weakness = GetAnomalySusceptibility(toucher)
|
||||
if(iscarbon(toucher) && prob(weakness * 100))
|
||||
var/mob/living/carbon/C = toucher
|
||||
|
||||
@@ -15,13 +15,15 @@
|
||||
return 1
|
||||
|
||||
/datum/artifact_effect/radiate/DoEffectAura()
|
||||
for (var/mob/living/M in range(src.effectrange,holder))
|
||||
M.apply_effect(radiation_amount,IRRADIATE,0)
|
||||
M.updatehealth()
|
||||
return 1
|
||||
if(holder)
|
||||
for (var/mob/living/M in range(src.effectrange,holder))
|
||||
M.apply_effect(radiation_amount,IRRADIATE,0)
|
||||
M.updatehealth()
|
||||
return 1
|
||||
|
||||
/datum/artifact_effect/radiate/DoEffectPulse()
|
||||
for (var/mob/living/M in range(src.effectrange,holder))
|
||||
M.apply_effect(radiation_amount * 25,IRRADIATE,0)
|
||||
M.updatehealth()
|
||||
return 1
|
||||
if(holder)
|
||||
for (var/mob/living/M in range(src.effectrange,holder))
|
||||
M.apply_effect(radiation_amount * 25,IRRADIATE,0)
|
||||
M.updatehealth()
|
||||
return 1
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
/datum/artifact_effect/roboheal/DoEffectTouch(var/mob/user)
|
||||
if(user)
|
||||
if (istype(user, /mob/living/silicon/robot))
|
||||
var/mob/living/silicon/robot/R = holder
|
||||
var/mob/living/silicon/robot/R = user
|
||||
R << "\blue Your systems report damaged components mending by themselves!"
|
||||
R.adjustBruteLoss(rand(-10,-30))
|
||||
R.adjustFireLoss(rand(-10,-30))
|
||||
|
||||
Reference in New Issue
Block a user