mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2025-12-19 14:51:27 +00:00
* no more spaces * Matthew 10:22 * fixes * dgamerl review * Update code/modules/hydroponics/plant_genes.dm Co-authored-by: Henri215 <77684085+Henri215@users.noreply.github.com> * Update code/modules/mob/living/simple_animal/bot/ed209bot.dm * Update code/modules/mob/mob.dm * Update code/modules/mob/mob.dm * Update code/modules/mob/mob.dm * Update code/modules/mob/mob.dm * Update code/modules/mob/mob.dm * Update code/modules/pda/PDA.dm Co-authored-by: Henri215 <77684085+Henri215@users.noreply.github.com> * fuck * bah * Update tools/ci/check_grep2.py Co-authored-by: Henri215 <77684085+Henri215@users.noreply.github.com> * oops * guh --------- Co-authored-by: Henri215 <77684085+Henri215@users.noreply.github.com>
67 lines
2.8 KiB
Plaintext
67 lines
2.8 KiB
Plaintext
#define ARMORID "armor-[melee]-[bullet]-[laser]-[energy]-[bomb]-[rad]-[fire]-[acid]-[magic]"
|
|
|
|
/proc/getArmor(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, rad = 0, fire = 0, acid = 0, magic = 0)
|
|
. = locate(ARMORID)
|
|
if(!.)
|
|
. = new /datum/armor(melee, bullet, laser, energy, bomb, rad, fire, acid, magic)
|
|
|
|
/datum/armor
|
|
var/melee
|
|
var/bullet
|
|
var/laser
|
|
var/energy
|
|
var/bomb
|
|
var/rad
|
|
var/fire
|
|
var/acid
|
|
var/magic
|
|
|
|
/datum/armor/New(melee_value = 0, bullet_value = 0, laser_value = 0, energy_value = 0, bomb_value = 0, rad_value = 0, fire_value = 0, acid_value = 0, magic_value = 0)
|
|
melee = melee_value
|
|
bullet = bullet_value
|
|
laser = laser_value
|
|
energy = energy_value
|
|
bomb = bomb_value
|
|
rad = rad_value
|
|
fire = fire_value
|
|
acid = acid_value
|
|
magic = magic_value
|
|
tag = ARMORID
|
|
|
|
/datum/armor/proc/modifyRating(melee_value = 0, bullet_value = 0, laser_value = 0, energy_value = 0, bomb_value = 0, rad_value = 0, fire_value = 0, acid_value = 0, magic_value = 0)
|
|
return getArmor(melee + melee_value, bullet + bullet_value, laser + laser_value, energy + energy_value, bomb + bomb_value, rad + rad_value, fire + fire_value, acid + acid_value, magic + magic_value)
|
|
|
|
/datum/armor/proc/modifyAllRatings(modifier = 0)
|
|
return getArmor(melee + modifier, bullet + modifier, laser + modifier, energy + modifier, bomb + modifier, rad + modifier, fire + modifier, acid + modifier, magic + modifier)
|
|
|
|
/datum/armor/proc/setRating(melee_value, bullet_value, laser_value, energy_value, bomb_value, rad_value, fire_value, acid_value, magic_value)
|
|
return getArmor((isnull(melee_value) ? melee : melee_value),\
|
|
(isnull(bullet_value) ? bullet : bullet_value),\
|
|
(isnull(laser_value) ? laser : laser_value),\
|
|
(isnull(energy_value) ? energy : energy_value),\
|
|
(isnull(bomb_value) ? bomb : bomb_value),\
|
|
(isnull(rad_value) ? rad : rad_value),\
|
|
(isnull(fire_value) ? fire : fire_value),\
|
|
(isnull(acid_value) ? acid : acid_value),\
|
|
(isnull(magic_value) ? magic : magic_value))
|
|
|
|
/datum/armor/proc/getRating(rating)
|
|
return vars[rating]
|
|
|
|
/datum/armor/proc/getList()
|
|
return list(MELEE = melee, BULLET = bullet, LASER = laser, ENERGY = energy, BOMB = bomb, RAD = rad, FIRE = fire, ACID = acid, MAGIC = magic)
|
|
|
|
/datum/armor/proc/attachArmor(datum/armor/AA)
|
|
return getArmor(melee + AA.melee, bullet + AA.bullet, laser + AA.laser, energy + AA.energy, bomb + AA.bomb, rad + AA.rad, fire + AA.fire, acid + AA.acid, magic + AA.magic)
|
|
|
|
/datum/armor/proc/detachArmor(datum/armor/AA)
|
|
return getArmor(melee - AA.melee, bullet - AA.bullet, laser - AA.laser, energy - AA.energy, bomb - AA.bomb, rad - AA.rad, fire - AA.fire, acid - AA.acid, magic - AA.magic)
|
|
|
|
/datum/armor/vv_edit_var(var_name, var_value)
|
|
if(var_name == NAMEOF(src, tag))
|
|
return FALSE
|
|
. = ..()
|
|
tag = ARMORID // update tag in case armor values were edited
|
|
|
|
#undef ARMORID
|