mirror of
https://github.com/SPLURT-Station/S.P.L.U.R.T-Station-13.git
synced 2025-12-10 18:02:57 +00:00
* maps, tgui, tools * defines and helpers * onclick and controllers * datums fucking caught that hulk reversal too. * game and shuttle modular * module/admin * oh god they fucking moved antag shit again * haaaaate. Haaaaaaaaaate. * enables moff wings * more modules things * tgstation.dme before I forget something important * some mob stuff * s'more mob/living stuff * some carbon stuff * ayy lmaos and kitchen meat * Human stuff * species things moff wings have a 'none' version too * the rest of the module stuff. * some strings * misc * mob icons * some other icons. * It compiles FUCK BORERS FUCK BORERS
71 lines
2.8 KiB
Plaintext
71 lines
2.8 KiB
Plaintext
#define ARMORID "armor-[melee]-[bullet]-[laser]-[energy]-[bomb]-[bio]-[rad]-[fire]-[acid]-[magic]"
|
|
|
|
/proc/getArmor(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 0, rad = 0, fire = 0, acid = 0, magic = 0)
|
|
. = locate(ARMORID)
|
|
if (!.)
|
|
. = new /datum/armor(melee, bullet, laser, energy, bomb, bio, rad, fire, acid, magic)
|
|
|
|
/datum/armor
|
|
datum_flags = DF_USE_TAG
|
|
var/melee
|
|
var/bullet
|
|
var/laser
|
|
var/energy
|
|
var/bomb
|
|
var/bio
|
|
var/rad
|
|
var/fire
|
|
var/acid
|
|
var/magic
|
|
|
|
/datum/armor/New(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 0, rad = 0, fire = 0, acid = 0, magic = 0)
|
|
src.melee = melee
|
|
src.bullet = bullet
|
|
src.laser = laser
|
|
src.energy = energy
|
|
src.bomb = bomb
|
|
src.bio = bio
|
|
src.rad = rad
|
|
src.fire = fire
|
|
src.acid = acid
|
|
src.magic = magic
|
|
tag = ARMORID
|
|
|
|
/datum/armor/proc/modifyRating(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 0, rad = 0, fire = 0, acid = 0, magic = 0)
|
|
return getArmor(src.melee+melee, src.bullet+bullet, src.laser+laser, src.energy+energy, src.bomb+bomb, src.bio+bio, src.rad+rad, src.fire+fire, src.acid+acid, src.magic+magic)
|
|
|
|
/datum/armor/proc/modifyAllRatings(modifier = 0)
|
|
return getArmor(melee+modifier, bullet+modifier, laser+modifier, energy+modifier, bomb+modifier, bio+modifier, rad+modifier, fire+modifier, acid+modifier, magic+modifier)
|
|
|
|
/datum/armor/proc/setRating(melee, bullet, laser, energy, bomb, bio, rad, fire, acid, magic)
|
|
return getArmor((isnull(melee) ? src.melee : melee),\
|
|
(isnull(bullet) ? src.bullet : bullet),\
|
|
(isnull(laser) ? src.laser : laser),\
|
|
(isnull(energy) ? src.energy : energy),\
|
|
(isnull(bomb) ? src.bomb : bomb),\
|
|
(isnull(bio) ? src.bio : bio),\
|
|
(isnull(rad) ? src.rad : rad),\
|
|
(isnull(fire) ? src.fire : fire),\
|
|
(isnull(acid) ? src.acid : acid),\
|
|
(isnull(magic) ? src.magic : magic))
|
|
|
|
/datum/armor/proc/getRating(rating)
|
|
return vars[rating]
|
|
|
|
/datum/armor/proc/getList()
|
|
return list("melee" = melee, "bullet" = bullet, "laser" = laser, "energy" = energy, "bomb" = bomb, "bio" = bio, "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, bio+AA.bio, 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, bio-AA.bio, 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
|