mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-11 10:43:20 +00:00
@@ -55,8 +55,10 @@
|
||||
|
||||
targetTurfs = new()
|
||||
|
||||
for(var/turf/T in view(range, location)) //build affected area list
|
||||
if(cheap_pythag(T.x - location.x, T.y - location.y) <= range) //cull turfs to circle
|
||||
//build affected area list
|
||||
for(var/turf/T in view(range, location))
|
||||
//cull turfs to circle
|
||||
if(sqrt((T.x - location.x)**2 + (T.y - location.y)**2) <= range)
|
||||
targetTurfs += T
|
||||
|
||||
wallList = new()
|
||||
|
||||
@@ -1,11 +1,5 @@
|
||||
//TODO: Flash range does nothing currently
|
||||
|
||||
//A very crude linear approximatiaon of pythagoras theorem.
|
||||
/proc/cheap_pythag(var/dx, var/dy)
|
||||
dx = abs(dx); dy = abs(dy);
|
||||
if(dx>=dy) return dx + (0.5*dy) //The longest side add half the shortest side approximates the hypotenuse
|
||||
else return dy + (0.5*dx)
|
||||
|
||||
///// Z-Level Stuff
|
||||
proc/explosion(turf/epicenter, devastation_range, heavy_impact_range, light_impact_range, flash_range, adminlog = 1, z_transfer = 1)
|
||||
///// Z-Level Stuff
|
||||
|
||||
@@ -141,7 +141,11 @@
|
||||
desc = "There are 0 caps left. Looks almost like the real thing! Ages 8 and up. Please recycle in an autolathe when you're out of caps!"
|
||||
icon = 'icons/obj/gun.dmi'
|
||||
icon_state = "revolver"
|
||||
item_state = "gun"
|
||||
item_state = "revolver"
|
||||
item_icons = list(
|
||||
icon_l_hand = 'icons/mob/items/lefthand_guns.dmi',
|
||||
icon_r_hand = 'icons/mob/items/righthand_guns.dmi',
|
||||
)
|
||||
flags = CONDUCT
|
||||
slot_flags = SLOT_BELT|SLOT_HOLSTER
|
||||
w_class = 3.0
|
||||
@@ -220,6 +224,10 @@
|
||||
icon = 'icons/obj/gun.dmi'
|
||||
icon_state = "crossbow"
|
||||
item_state = "crossbow"
|
||||
item_icons = list(
|
||||
icon_l_hand = 'icons/mob/items/lefthand_guns.dmi',
|
||||
icon_r_hand = 'icons/mob/items/righthand_guns.dmi',
|
||||
)
|
||||
w_class = 2.0
|
||||
attack_verb = list("attacked", "struck", "hit")
|
||||
var/bullets = 5
|
||||
|
||||
@@ -118,7 +118,7 @@
|
||||
//uniqueID = rand(0,10000)
|
||||
var/datum/disease2/effectholder/holder = pick(effects)
|
||||
holder.minormutate()
|
||||
infectionchance = min(50,infectionchance + rand(0,10))
|
||||
//infectionchance = min(50,infectionchance + rand(0,10))
|
||||
|
||||
/datum/disease2/disease/proc/majormutate()
|
||||
uniqueID = rand(0,10000)
|
||||
|
||||
@@ -50,7 +50,7 @@ proc/infection_check(var/mob/living/carbon/M, var/vector = "Airborne")
|
||||
if (vector == "Airborne")
|
||||
var/obj/item/I = M.wear_mask
|
||||
if (istype(I))
|
||||
protection = max(protection, round(0.06*I.armor["bio"]))
|
||||
protection = max(protection, I.armor["bio"])
|
||||
|
||||
return prob(protection)
|
||||
|
||||
@@ -147,12 +147,12 @@ proc/airborne_can_reach(turf/source, turf/target)
|
||||
// log_debug("Could not reach target")
|
||||
|
||||
if (vector == "Contact")
|
||||
if (in_range(src, victim))
|
||||
if (Adjacent(victim))
|
||||
// log_debug("In range, infecting")
|
||||
infect_virus2(victim,V)
|
||||
|
||||
//contact goes both ways
|
||||
if (victim.virus2.len > 0 && vector == "Contact")
|
||||
if (victim.virus2.len > 0 && vector == "Contact" && Adjacent(victim))
|
||||
// log_debug("Spreading [vector] diseases from [victim] to [src]")
|
||||
var/nudity = 1
|
||||
|
||||
|
||||
Reference in New Issue
Block a user