diff --git a/code/game/objects/items/weapons/id cards/cards.dm b/code/game/objects/items/weapons/id cards/cards.dm index 649d9a3a34..e62268c2c1 100644 --- a/code/game/objects/items/weapons/id cards/cards.dm +++ b/code/game/objects/items/weapons/id cards/cards.dm @@ -20,7 +20,7 @@ var/associated_account_number = 0 var/list/initial_sprite_stack = list("") - var/base_icon = "icons/obj/card_new.dmi" + var/base_icon = 'icons/obj/card_new.dmi' var/list/sprite_stack var/list/files = list( ) @@ -136,4 +136,4 @@ uses += T.amount/2 //Gives 5 uses per 10 TC uses = CEILING(uses, 1) //Ensures no decimal uses nonsense, rounds up to be nice to_chat(usr, "You add \the [O] to \the [src]. Increasing the uses of \the [src] to [uses].") - qdel(O) \ No newline at end of file + qdel(O) diff --git a/code/game/objects/items/weapons/id cards/id_stacks.dm b/code/game/objects/items/weapons/id cards/id_stacks.dm index 4567cfe038..9180b8e45b 100644 --- a/code/game/objects/items/weapons/id cards/id_stacks.dm +++ b/code/game/objects/items/weapons/id cards/id_stacks.dm @@ -4,95 +4,145 @@ /obj/item/weapon/card icon = 'icons/obj/card_new.dmi' // These are redefined here so that changing sprites is as easy as clicking the checkbox. - base_icon = "icons/obj/card_new.dmi" + base_icon = 'icons/obj/card_new.dmi' // New sprite stacks can be defined here. You could theoretically change icon-states as well but right now this file compiles before station_ids.dm so those wouldn't be affected. - /* - id - generic - initial_sprite_stack = list("base-stamp", "top-generic", "stamp-silhouette", "clip") - centcom - initial_sprite_stack = list("base-stamp", "top-blue", "stamp-n", "pips-gold") - vip - initial_sprite_stack = list("base-stamp-gold", "top-blue", "stamp-n", "pips-gold") - ERT - initial_sprite_stack = list("base-stamp", "top-blue", "stamp-n", "pips-red", "stripe-red") - silver - initial_sprite_stack = list("base-stamp-silver", "top-mime", "stamp-n-generic") - secretary - initial_sprite_stack = list("base-stamp", "top-blue", "stamp-n") - hop - initial_sprite_stack = list("base-stamp", "top-blue", "stamp-n", "stripe-white") - medical - initial_sprite_stack = list("base-stamp", "top-medblu", "stamp-n") - chemist - initial_sprite_stack = list("base-stamp", "top-medblu", "stamp-n", "pips-orange") - geneticist - initial_sprite_stack = list("base-stamp", "top-medblu", "stamp-n", "pips-purple") - psych - initial_sprite_stack = list("base-stamp", "top-medblu", "stamp-n", "pips-purple") - emt - initial_sprite_stack = list("base-stamp", "top-medblu", "stamp-n", "pips-blue") - head - initial_sprite_stack = list("base-stamp-silver", "top-medblu", "stamp-n", "stripe-gold") - sar - initial_sprite_stack = list("base-stamp", "top-darkgreen", "stamp-n", "pips-medblu") - security - initial_sprite_stack = list("base-stamp", "top-red", "stamp-n") - detective - initial_sprite_stack = list("base-stamp", "top-red", "stamp-n", "pips-brown") - warden - initial_sprite_stack = list("base-stamp", "top-red", "stamp-n", "pips-white") - head - initial_sprite_stack = list("base-stamp-silver", "top-red", "stamp-n", "stripe-gold") - engineering - initial_sprite_stack = list("base-stamp", "top-orange", "stamp-n") - atmos - initial_sprite_stack = list("base-stamp", "top-orange", "pips-medblu", "stamp-n") - head - initial_sprite_stack = list("base-stamp-silver", "top-orange", "stamp-n", "stripe-gold") - science - initial_sprite_stack = list("base-stamp", "top-purple", "stamp-n") - roboticist - initial_sprite_stack = list("base-stamp", "top-purple", "stamp-n", "pips-orange") - explorer - initial_sprite_stack = list("base-stamp", "top-darkgreen", "stamp-n") - head - initial_sprite_stack = list("base-stamp-silver", "top-purple", "stamp-n", "stripe-gold") - pathfinder - initial_sprite_stack = list("base-stamp-silver", "top-darkgreen", "stamp-n", "pips-purple") //not a true head, no gold stripe for you - cargo - initial_sprite_stack = list("base-stamp", "top-brown", "stamp-n") - miner - initial_sprite_stack = list("base-stamp", "top-brown", "stamp-n", "pips-purple") - head - initial_sprite_stack = list("base-stamp-silver", "top-brown", "stamp-n", "pips-gold") - civilian - initial_sprite_stack = list("base-stamp", "top-green", "stamp-n") - chaplain - initial_sprite_stack = list("base-stamp-silver", "top-dark", "stamp-cross", "pips-white") - internal_affairs - initial_sprite_stack = list("base-stamp", "top-green", "stamp-n") - botanist - initial_sprite_stack = list("base-stamp", "top-green", "stamp-n", "pips-brown") - bartender - initial_sprite_stack = list("base-stamp", "top-green", "stamp-n", "pips-dark") - chef - initial_sprite_stack = list("base-stamp", "top-green", "stamp-n", "pips-white") - janitor - initial_sprite_stack = list("base-stamp", "top-green", "stamp-n", "pips-purple") - journalist - initial_sprite_stack = list("base-stamp", "top-green", "stamp-n") - clown - initial_sprite_stack = list("base-stamp", "top-rainbow", "stamp-n") - mime - initial_sprite_stack = list("base-stamp", "top-white", "stamp-n", "stripe-black") - pilot - initial_sprite_stack = list("base-stamp", "top-generic", "stamp-n", "pips-blue") - head - initial_sprite_stack = list("base-stamp-silver", "top-blue", "stamp-n", "stripe-white") - syndicate - initial_sprite_stack = list("base-stamp-dark", "top-syndicate", "stamp-s") - officer - initial_sprite_stack = list("base-stamp-dark", "top-syndicate", "stamp-s", "pips-gold", "stripe-gold") - */ // VOREStation Removal - defined in id_stacks_vr.dm \ No newline at end of file + +/* +/obj/item/weapon/card/id/generic + initial_sprite_stack = list("base-stamp", "top-generic", "stamp-silhouette", "clip") + +// CENTCOM +/obj/item/weapon/card/id/centcom + initial_sprite_stack = list("base-stamp", "top-blue", "stamp-n", "pips-gold") + +/obj/item/weapon/card/id/centcom/vip + initial_sprite_stack = list("base-stamp-gold", "top-blue", "stamp-n", "pips-gold") + +/obj/item/weapon/card/id/centcom/ERT + initial_sprite_stack = list("base-stamp", "top-blue", "stamp-n", "pips-red", "stripe-red") + +// GENERIC COMMAND +/obj/item/weapon/card/id/silver + initial_sprite_stack = list("base-stamp-silver", "top-mime", "stamp-n-generic") + +/obj/item/weapon/card/id/silver/secretary + initial_sprite_stack = list("base-stamp", "top-blue", "stamp-n") + +/obj/item/weapon/card/id/silver/hop + initial_sprite_stack = list("base-stamp", "top-blue", "stamp-n", "stripe-white") + +// MEDICAL +/obj/item/weapon/card/id/medical + initial_sprite_stack = list("base-stamp", "top-medblu", "stamp-n") + +/obj/item/weapon/card/id/medical/chemist + initial_sprite_stack = list("base-stamp", "top-medblu", "stamp-n", "pips-orange") + +/obj/item/weapon/card/id/medical/geneticist + initial_sprite_stack = list("base-stamp", "top-medblu", "stamp-n", "pips-purple") + +/obj/item/weapon/card/id/medical/psych + initial_sprite_stack = list("base-stamp", "top-medblu", "stamp-n", "pips-purple") + +/obj/item/weapon/card/id/medical/emt + initial_sprite_stack = list("base-stamp", "top-medblu", "stamp-n", "pips-blue") + +/obj/item/weapon/card/id/medical/head + initial_sprite_stack = list("base-stamp-silver", "top-medblu", "stamp-n", "stripe-gold") + +/obj/item/weapon/card/id/medical/sar + initial_sprite_stack = list("base-stamp", "top-darkgreen", "stamp-n", "pips-medblu") + +// SECURITY +/obj/item/weapon/card/id/security + initial_sprite_stack = list("base-stamp", "top-red", "stamp-n") + +/obj/item/weapon/card/id/security/detective + initial_sprite_stack = list("base-stamp", "top-red", "stamp-n", "pips-brown") + +/obj/item/weapon/card/id/security/warden + initial_sprite_stack = list("base-stamp", "top-red", "stamp-n", "pips-white") + +/obj/item/weapon/card/id/security/head + initial_sprite_stack = list("base-stamp-silver", "top-red", "stamp-n", "stripe-gold") + +// ENGINEERING +/obj/item/weapon/card/id/engineering + initial_sprite_stack = list("base-stamp", "top-orange", "stamp-n") + +/obj/item/weapon/card/id/engineering/atmos + initial_sprite_stack = list("base-stamp", "top-orange", "pips-medblu", "stamp-n") + +/obj/item/weapon/card/id/engineering/head + initial_sprite_stack = list("base-stamp-silver", "top-orange", "stamp-n", "stripe-gold") + +// SCIENCE +/obj/item/weapon/card/id/science + initial_sprite_stack = list("base-stamp", "top-purple", "stamp-n") + +/obj/item/weapon/card/id/science/roboticist + initial_sprite_stack = list("base-stamp", "top-purple", "stamp-n", "pips-orange") + +/obj/item/weapon/card/id/science/explorer + initial_sprite_stack = list("base-stamp", "top-darkgreen", "stamp-n") + +/obj/item/weapon/card/id/science/head + initial_sprite_stack = list("base-stamp-silver", "top-purple", "stamp-n", "stripe-gold") + +/obj/item/weapon/card/id/science/head/pathfinder + initial_sprite_stack = list("base-stamp-silver", "top-blue", "dept-exploration", "stamp-n", "pips-gold") + +// CARGO +/obj/item/weapon/card/id/cargo + initial_sprite_stack = list("base-stamp", "top-brown", "stamp-n") + +/obj/item/weapon/card/id/cargo/miner + initial_sprite_stack = list("base-stamp", "top-brown", "stamp-n", "pips-purple") + +/obj/item/weapon/card/id/cargo/head + initial_sprite_stack = list("base-stamp-silver", "top-brown", "stamp-n", "pips-gold") + +// CIVLIAN +/obj/item/weapon/card/id/civilian + initial_sprite_stack = list("base-stamp", "top-green", "stamp-n") + +/obj/item/weapon/card/id/civilian/chaplain + initial_sprite_stack = list("base-stamp-silver", "top-dark", "stamp-cross", "pips-white") + +/obj/item/weapon/card/id/civilian/internal_affairs + initial_sprite_stack = list("base-stamp", "top-green", "stamp-n") + +/obj/item/weapon/card/id/civilian/botanist + initial_sprite_stack = list("base-stamp", "top-green", "stamp-n", "pips-brown") + +/obj/item/weapon/card/id/civilian/bartender + initial_sprite_stack = list("base-stamp", "top-green", "stamp-n", "pips-dark") + +/obj/item/weapon/card/id/civilian/chef + initial_sprite_stack = list("base-stamp", "top-green", "stamp-n", "pips-white") + +/obj/item/weapon/card/id/civilian/janitor + initial_sprite_stack = list("base-stamp", "top-green", "stamp-n", "pips-purple") + +/obj/item/weapon/card/id/civilian/journalist + initial_sprite_stack = list("base-stamp", "top-green", "stamp-n") + +/obj/item/weapon/card/id/civilian/clown + initial_sprite_stack = list("base-stamp", "top-rainbow", "stamp-n") + +/obj/item/weapon/card/id/civilian/mime + initial_sprite_stack = list("base-stamp", "top-white", "stamp-n", "stripe-black") + +/obj/item/weapon/card/id/civilian/pilot + initial_sprite_stack = list("base-stamp", "top-generic", "stamp-n", "pips-blue") + +/obj/item/weapon/card/id/civilian/head + initial_sprite_stack = list("base-stamp-silver", "top-blue", "stamp-n", "stripe-white") + +/obj/item/weapon/card/id/syndicate + initial_sprite_stack = list("base-stamp-dark", "top-syndicate", "stamp-s") + +/obj/item/weapon/card/id/syndicate/officer + initial_sprite_stack = list("base-stamp-dark", "top-syndicate", "stamp-s", "pips-gold", "stripe-gold") +*/ diff --git a/code/game/objects/items/weapons/id cards/id_stacks_cit.dm b/code/game/objects/items/weapons/id cards/id_stacks_cit.dm deleted file mode 100644 index a35b1febf9..0000000000 --- a/code/game/objects/items/weapons/id cards/id_stacks_cit.dm +++ /dev/null @@ -1,92 +0,0 @@ -// This is a defines file for card sprite stacks. If a new card set comes in, this file can just be disabled and a new one made to match the new sprites. -// Generally, if the icon file is card_xxx.dmi, this filename should be sprite_stacks_xxx.dm -// Please make sure that only the relevant sprite_stacks_xxx.file is included, if more are made. - - - -/obj/item/weapon/card - icon = 'icons/obj/card_new.dmi' // These are redefined here so that changing sprites is as easy as clicking the checkbox. - base_icon = "icons/obj/card_new.dmi" - - // New sprite stacks can be defined here. You could theoretically change icon-states as well but right now this file compiles before station_ids.dm so those wouldn't be affected. - id - centcom - initial_sprite_stack = list("base-stamp", "top-blue", "dept-nanotrasen", "letter-n-command", "pips-gold") - vip - initial_sprite_stack = list("base-stamp-gold", "top-blue", "dept-vip-gold", "letter-n-command", "pips-gold") - ERT - initial_sprite_stack = list("base-stamp", "top-dark", "dept-nanotrasen", "letter-n-command") - silver - initial_sprite_stack = list("base-stamp-silver", "top-mime", "letter-n-generic") - secretary - initial_sprite_stack = list("base-stamp", "top-blue", "dept-secretary", "letter-n-command") - hop - initial_sprite_stack = list("base-stamp-silver", "top-blue", "dept-hop", "letter-n-command", "pips-gold") - medical - initial_sprite_stack = list("base-stamp", "top-medblu", "dept-medical", "letter-n-medical") - chemist - initial_sprite_stack = list("base-stamp", "top-medblu", "dept-medical", "letter-n-medical", "pips-engineering") - geneticist - initial_sprite_stack = list("base-stamp", "top-medblu", "dept-medical", "letter-n-medical", "pips-science") - psych - initial_sprite_stack = list("base-stamp", "top-medblu", "dept-medical", "letter-n-medical", "pips-science") - emt - initial_sprite_stack = list("base-stamp", "top-medblu", "dept-medical", "letter-n-medical", "pips-command") - head - initial_sprite_stack = list("base-stamp-silver", "top-medblu", "dept-medical", "letter-n-command", "pips-gold") - sar - initial_sprite_stack = list("base-stamp", "top-medblu", "dept-exploration", "letter-n-command", "pips-command") - security - initial_sprite_stack = list("base-stamp", "top-red", "dept-security", "letter-n-security") - detective - initial_sprite_stack = list("base-stamp", "top-red", "dept-security", "letter-n-security", "pips-cargo") - warden - initial_sprite_stack = list("base-stamp", "top-red", "dept-security", "letter-n-security", "pips-command") - head - initial_sprite_stack = list("base-stamp-silver", "top-red", "dept-security", "letter-n-command", "pips-gold") - engineering - initial_sprite_stack = list("base-stamp", "top-orange", "dept-engineering", "letter-n-engineering") - atmos - initial_sprite_stack = list("base-stamp", "top-orange", "dept-engineering", "pips-medical", "letter-n-engineering") - head - initial_sprite_stack = list("base-stamp-silver", "top-orange", "dept-engineering", "letter-n-command", "pips-gold") - science - initial_sprite_stack = list("base-stamp", "top-purple", "dept-science", "letter-n-science") - roboticist - initial_sprite_stack = list("base-stamp", "top-purple", "dept-science", "letter-n-science", "pips-engineering") - explorer - initial_sprite_stack = list("base-stamp", "top-blue", "dept-exploration", "letter-n-command") - head - initial_sprite_stack = list("base-stamp-silver", "top-purple", "dept-science", "letter-n-command", "pips-gold") - pathfinder - initial_sprite_stack = list("base-stamp-silver", "top-blue", "dept-exploration", "letter-n-command", "pips-gold") - cargo - initial_sprite_stack = list("base-stamp", "top-brown", "dept-cargo", "letter-n-cargo") - miner - initial_sprite_stack = list("base-stamp", "top-brown", "dept-cargo", "letter-n-cargo", "pips-science") - head - initial_sprite_stack = list("base-stamp-silver", "top-brown", "dept-cargo", "letter-n-command", "pips-gold") - civilian - initial_sprite_stack = list("base-stamp", "top-green", "dept-civilian", "letter-n-civilian") - chaplain - initial_sprite_stack = list("base-stamp-silver", "top-dark", "letter-cross", "pips-white") - internal_affairs - initial_sprite_stack = list("base-stamp", "top-green", "dept-internal-affairs", "letter-n-command") - botanist - initial_sprite_stack = list("base-stamp", "top-green", "dept-civilian", "letter-n-civilian", "pips-cargo") - bartender - initial_sprite_stack = list("base-stamp", "top-green", "dept-civilian", "letter-n-civilian", "pips-dark") - chef - initial_sprite_stack = list("base-stamp", "top-green", "dept-civilian", "letter-n-civilian", "pips-white") - janitor - initial_sprite_stack = list("base-stamp", "top-green", "dept-civilian", "letter-n-civilian", "pips-science") - journalist - initial_sprite_stack = list("base-stamp", "top-green", "dept-press", "letter-n-civilian") - clown - initial_sprite_stack = list("base-stamp", "top-pink", "dept-clown", "letter-n-clown") - mime - initial_sprite_stack = list("base-stamp", "top-white", "letter-n-mime") - pilot - initial_sprite_stack = list("base-stamp", "top-generic", "dept-pilot", "letter-n-command", "pips-command") - head - initial_sprite_stack = list("base-stamp-silver", "top-command", "letter-n-command", "pips-civilian") \ No newline at end of file diff --git a/code/game/objects/items/weapons/id cards/id_stacks_deptname.dm b/code/game/objects/items/weapons/id cards/id_stacks_deptname.dm deleted file mode 100644 index bce7340ecc..0000000000 --- a/code/game/objects/items/weapons/id cards/id_stacks_deptname.dm +++ /dev/null @@ -1,92 +0,0 @@ -// This is a defines file for card sprite stacks. If a new card set comes in, this file can just be disabled and a new one made to match the new sprites. -// Generally, if the icon file is card_xxx.dmi, this filename should be sprite_stacks_xxx.dm -// Please make sure that only the relevant sprite_stacks_xxx.file is included, if more are made. - - - -/obj/item/weapon/card - icon = 'icons/obj/card_new.dmi' // These are redefined here so that changing sprites is as easy as clicking the checkbox. - base_icon = "icons/obj/card_new.dmi" - - // New sprite stacks can be defined here. You could theoretically change icon-states as well but right now this file compiles before station_ids.dm so those wouldn't be affected. - id - centcom - initial_sprite_stack = list("base-stamp", "top-blue", "dept-nanotrasen", "stamp-n", "pips-gold") - vip - initial_sprite_stack = list("base-stamp-gold", "dept-vip", "top-blue", "stamp-n", "pips-gold") - ERT - initial_sprite_stack = list("base-stamp", "top-dark", "dept-ert", "stamp-n") - silver - initial_sprite_stack = list("base-stamp-silver", "top-mime", "stamp-n-generic") - secretary - initial_sprite_stack = list("base-stamp", "top-blue", "dept-secretary", "stamp-n") - hop - initial_sprite_stack = list("base-stamp-silver", "top-blue", "dept-hop", "stamp-n", "pips-gold") - medical - initial_sprite_stack = list("base-stamp", "top-medblu", "dept-medical", "stamp-n") - chemist - initial_sprite_stack = list("base-stamp", "top-medblu", "dept-medical", "stamp-n", "pips-engineering") - geneticist - initial_sprite_stack = list("base-stamp", "top-medblu", "dept-medical", "stamp-n", "pips-science") - psych - initial_sprite_stack = list("base-stamp", "top-medblu", "dept-medical", "stamp-n", "pips-science") - emt - initial_sprite_stack = list("base-stamp", "top-medblu", "dept-medical", "stamp-n", "pips-command") - head - initial_sprite_stack = list("base-stamp-silver", "top-medblu", "dept-medical", "stamp-n", "pips-gold") - sar - initial_sprite_stack = list("base-stamp", "top-medblu", "dept-exploration", "stamp-n", "pips-command") - security - initial_sprite_stack = list("base-stamp", "top-red", "dept-security", "stamp-n") - detective - initial_sprite_stack = list("base-stamp", "top-red", "dept-security", "stamp-n", "pips-cargo") - warden - initial_sprite_stack = list("base-stamp", "top-red", "dept-security", "stamp-n", "pips-command") - head - initial_sprite_stack = list("base-stamp-silver", "top-red", "dept-security", "stamp-n", "pips-gold") - engineering - initial_sprite_stack = list("base-stamp", "top-orange", "dept-engineering", "stamp-n") - atmos - initial_sprite_stack = list("base-stamp", "top-orange", "dept-engineering", "pips-medical", "stamp-n") - head - initial_sprite_stack = list("base-stamp-silver", "top-orange", "dept-engineering", "stamp-n", "pips-gold") - science - initial_sprite_stack = list("base-stamp", "top-purple", "dept-science", "stamp-n") - roboticist - initial_sprite_stack = list("base-stamp", "top-purple", "dept-science", "stamp-n", "pips-engineering") - explorer - initial_sprite_stack = list("base-stamp", "top-blue", "dept-exploration", "stamp-n") - head - initial_sprite_stack = list("base-stamp-silver", "top-purple", "dept-science", "stamp-n", "pips-gold") - pathfinder - initial_sprite_stack = list("base-stamp-silver", "top-blue", "dept-exploration", "stamp-n", "pips-gold") - cargo - initial_sprite_stack = list("base-stamp", "top-brown", "dept-cargo", "stamp-n") - miner - initial_sprite_stack = list("base-stamp", "top-brown", "dept-cargo", "stamp-n", "pips-science") - head - initial_sprite_stack = list("base-stamp-silver", "top-brown", "dept-cargo", "stamp-n", "pips-gold") - civilian - initial_sprite_stack = list("base-stamp", "top-green", "dept-civilian", "stamp-n") - chaplain - initial_sprite_stack = list("base-stamp-silver", "top-dark", "letter-cross", "pips-white") - internal_affairs - initial_sprite_stack = list("base-stamp", "top-green", "dept-internal-affairs", "stamp-n") - botanist - initial_sprite_stack = list("base-stamp", "top-green", "dept-civilian", "stamp-n", "pips-cargo") - bartender - initial_sprite_stack = list("base-stamp", "top-green", "dept-civilian", "stamp-n", "pips-dark") - chef - initial_sprite_stack = list("base-stamp", "top-green", "dept-civilian", "stamp-n", "pips-white") - janitor - initial_sprite_stack = list("base-stamp", "top-green", "dept-civilian", "stamp-n", "pips-science") - journalist - initial_sprite_stack = list("base-stamp", "top-green", "dept-press", "stamp-n") - clown - initial_sprite_stack = list("base-stamp", "top-pink", "dept-clown", "stamp-n") - mime - initial_sprite_stack = list("base-stamp", "top-white", "stamp-n-mime") - pilot - initial_sprite_stack = list("base-stamp", "top-generic", "dept-pilot", "stamp-n", "pips-command") - head - initial_sprite_stack = list("base-stamp-silver", "top-command", "stamp-n", "pips-civilian") \ No newline at end of file diff --git a/code/game/objects/items/weapons/id cards/id_stacks_vr.dm b/code/game/objects/items/weapons/id cards/id_stacks_vr.dm index 12442a353f..7627d66cf3 100644 --- a/code/game/objects/items/weapons/id cards/id_stacks_vr.dm +++ b/code/game/objects/items/weapons/id cards/id_stacks_vr.dm @@ -1,131 +1,216 @@ /obj/item/weapon/card + icon = 'icons/obj/card_new_vr.dmi' + base_icon = 'icons/obj/card_new_vr.dmi' - id - initial_sprite_stack = list("base-stamp", "top-generic", "stamp-n") - generic - initial_sprite_stack = list("base-stamp", "top-generic", "stamp-silhouette", "clip") - centcom - initial_sprite_stack = list("base-stamp-silver", "top-darkgreen", "stamp-n", "pips-gold", "stripe-gold") - vip - initial_sprite_stack = list("base-stamp-gold", "top-darkgreen", "stamp-n", "pips-gold", "stripe-gold") - ERT - initial_sprite_stack = list("base-stamp-silver", "top-blue", "stamp-n", "pips-red", "stripe-red") - medic - initial_sprite_stack = list("base-stamp-silver", "top-blue", "stamp-n", "pips-medblu", "stripe-medblu") - commander - initial_sprite_stack = list("base-stamp-silver", "top-blue", "stamp-n", "pips-gold", "stripe-gold") - engineer - initial_sprite_stack = list("base-stamp-silver", "top-blue", "stamp-n", "pips-orange", "stripe-orange") - janitor - initial_sprite_stack = list("base-stamp-silver", "top-blue", "stamp-n", "pips-purple", "stripe-purple") - silver - initial_sprite_stack = list("base-stamp-silver", "top-blue", "stamp-n") - secretary - initial_sprite_stack = list("base-stamp", "top-blue", "stamp-n") - hop - initial_sprite_stack = list("base-stamp-silver", "top-blue", "stamp-n", "pips-gold") - medical - initial_sprite_stack = list("base-stamp", "top-medblu", "stamp-n") - chemist - initial_sprite_stack = list("base-stamp", "top-medblu", "stamp-n", "stripe-orange") - geneticist - initial_sprite_stack = list("base-stamp", "top-medblu", "stamp-n", "stripe-purple") - psych - initial_sprite_stack = list("base-stamp", "top-medblu", "stamp-n", "stripe-brown") - virologist - initial_sprite_stack = list("base-stamp", "top-medblu", "stamp-n", "stripe-green") - emt - initial_sprite_stack = list("base-stamp", "top-medblu", "stamp-n", "stripe-blue") - head - initial_sprite_stack = list("base-stamp-silver", "top-medblu", "stamp-n", "pips-gold") - /* - sar - initial_sprite_stack = list("base-stamp", "top-darkgreen", "stamp-n", "pips-medblu") - */ - security - initial_sprite_stack = list("base-stamp", "top-red", "stamp-n") - detective - initial_sprite_stack = list("base-stamp", "top-red", "stamp-n", "stripe-brown") - warden - initial_sprite_stack = list("base-stamp", "top-red", "stamp-n", "stripe-white") - head - initial_sprite_stack = list("base-stamp-silver", "top-red", "stamp-n", "pips-gold") - engineering - initial_sprite_stack = list("base-stamp", "top-orange", "stamp-n") - atmos - initial_sprite_stack = list("base-stamp", "top-orange", "stripe-medblu", "stamp-n") - head - initial_sprite_stack = list("base-stamp-silver", "top-orange", "stamp-n", "pips-gold") - science - initial_sprite_stack = list("base-stamp", "top-purple", "stamp-n") - roboticist - initial_sprite_stack = list("base-stamp", "top-purple", "stamp-n", "stripe-brown") - xenobiologist - initial_sprite_stack = list("base-stamp", "top-purple", "stamp-n", "stripe-orange") - xenobotanist - initial_sprite_stack = list("base-stamp", "top-purple", "stamp-n", "stripe-green") - /* - explorer - initial_sprite_stack = list("base-stamp", "top-darkgreen", "stamp-n") - */ - head - initial_sprite_stack = list("base-stamp-silver", "top-purple", "stamp-n", "pips-gold") - /* - pathfinder - initial_sprite_stack = list("base-stamp-silver", "top-darkgreen", "stamp-n", "pips-purple") //not a true head, no gold stripe for you - */ - cargo - initial_sprite_stack = list("base-stamp", "top-brown", "stamp-n") - miner - initial_sprite_stack = list("base-stamp", "top-brown", "stamp-n", "stripe-purple") - head - initial_sprite_stack = list("base-stamp-silver", "top-brown", "stamp-n", "pips-white") - civilian - initial_sprite_stack = list("base-stamp", "top-generic", "stamp-n") - chaplain - initial_sprite_stack = list("base-stamp-dark", "top-dark", "stamp-cross", "stripe-white") - internal_affairs - initial_sprite_stack = list("base-stamp", "top-blue", "stamp-n", "stripe-black") - service - botanist - initial_sprite_stack = list("base-stamp", "top-green", "stamp-n", "stripe-darkgreen") - bartender - initial_sprite_stack = list("base-stamp", "top-green", "stamp-n", "stripe-black") - chef - initial_sprite_stack = list("base-stamp", "top-green", "stamp-n", "stripe-white") - janitor - initial_sprite_stack = list("base-stamp", "top-green", "stamp-n", "stripe-purple") - journalist - initial_sprite_stack = list("base-stamp", "top-generic", "stamp-n", "stripe-red") - clown - initial_sprite_stack = list("base-stamp", "top-rainbow", "stamp-n") - mime - initial_sprite_stack = list("base-stamp", "top-white", "stamp-n", "stripe-black") - entertainer - initial_sprite_stack = list("base-stamp", "top-generic", "stamp-n", "stripe-brown") - pilot - initial_sprite_stack = list("base-stamp", "top-generic", "stamp-n", "stripe-pink") - head - initial_sprite_stack = list("base-stamp-silver", "top-blue", "stamp-n", "pips-gold") - exploration - initial_sprite_stack = list("base-stamp", "top-pink", "stamp-n") - fm - initial_sprite_stack = list("base-stamp", "top-pink", "stamp-n", "stripe-medblu") - head - initial_sprite_stack = list("base-stamp-silver", "top-pink", "stamp-n", "pips-white") - talon - initial_sprite_stack = list("base-stamp-dark", "top-dark", "stamp-silhouette") - doctor - initial_sprite_stack = list("base-stamp-dark", "top-dark", "stamp-silhouette", "pips-medblu", "stripe-medblu") - engineer - initial_sprite_stack = list("base-stamp-dark", "top-dark", "stamp-silhouette", "pips-orange", "stripe-orange") - officer - initial_sprite_stack = list("base-stamp-dark", "top-dark", "stamp-silhouette", "pips-red", "stripe-red") - pilot - initial_sprite_stack = list("base-stamp-dark", "top-dark", "stamp-silhouette", "pips-purple", "stripe-purple") - captain - initial_sprite_stack = list("base-stamp-dark", "top-dark", "stamp-silhouette", "pips-gold", "stripe-gold") - syndicate - initial_sprite_stack = list("base-stamp-dark", "top-syndicate", "stamp-s") - officer - initial_sprite_stack = list("base-stamp-dark", "top-syndicate", "stamp-s", "pips-gold", "stripe-gold") \ No newline at end of file +//IDs + +/obj/item/weapon/card/id + initial_sprite_stack = list("base-stamp", "top-generic", "stamp-n") + +/obj/item/weapon/card/id/generic + initial_sprite_stack = list("base-stamp", "top-generic", "stamp-silhouette", "clip") + +//Central + +/obj/item/weapon/card/id/centcom + initial_sprite_stack = list("base-stamp-silver", "top-darkgreen", "stamp-n", "pips-gold", "stripe-gold") + +/obj/item/weapon/card/id/centcom/vip + initial_sprite_stack = list("base-stamp-gold", "top-darkgreen", "stamp-n", "pips-gold", "stripe-gold") + +//ERT + +/obj/item/weapon/card/id/centcom/ERT + initial_sprite_stack = list("base-stamp-silver", "top-blue", "stamp-n", "pips-red", "stripe-red") + +/obj/item/weapon/card/id/centcom/ERT/medic + initial_sprite_stack = list("base-stamp-silver", "top-blue", "stamp-n", "pips-medblu", "stripe-medblu") + +/obj/item/weapon/card/id/centcom/ERT/commander + initial_sprite_stack = list("base-stamp-silver", "top-blue", "stamp-n", "pips-gold", "stripe-gold") + +/obj/item/weapon/card/id/centcom/ERT/engineer + initial_sprite_stack = list("base-stamp-silver", "top-blue", "stamp-n", "pips-orange", "stripe-orange") + +/obj/item/weapon/card/id/centcom/ERT/janitor + initial_sprite_stack = list("base-stamp-silver", "top-blue", "stamp-n", "pips-purple", "stripe-purple") + +//Silver + +/obj/item/weapon/card/id/silver + initial_sprite_stack = list("base-stamp-silver", "top-blue", "stamp-n") + +/obj/item/weapon/card/id/silver/secretary + initial_sprite_stack = list("base-stamp", "top-blue", "stamp-n") + +/obj/item/weapon/card/id/silver/hop + initial_sprite_stack = list("base-stamp-silver", "top-blue", "stamp-n", "pips-gold") + +//Gold + +/obj/item/weapon/card/id/gold + initial_sprite_stack = list("base-stamp-gold", "top-blue", "stamp-n") + +/obj/item/weapon/card/id/gold/captain + initial_sprite_stack = list("base-stamp-gold", "top-blue", "stamp-n", "pips-gold") + +/obj/item/weapon/card/id/gold/captain/spare + initial_sprite_stack = list("base-stamp-gold", "top-gold", "stamp-n") + +//Medical + +/obj/item/weapon/card/id/medical + initial_sprite_stack = list("base-stamp", "top-medblu", "stamp-n") + +/obj/item/weapon/card/id/medical/chemist + initial_sprite_stack = list("base-stamp", "top-medblu", "stamp-n", "stripe-orange") + +/obj/item/weapon/card/id/medical/geneticist + initial_sprite_stack = list("base-stamp", "top-medblu", "stamp-n", "stripe-purple") + +/obj/item/weapon/card/id/medical/psych + initial_sprite_stack = list("base-stamp", "top-medblu", "stamp-n", "stripe-brown") + +/obj/item/weapon/card/id/medical/virologist + initial_sprite_stack = list("base-stamp", "top-medblu", "stamp-n", "stripe-green") + +/obj/item/weapon/card/id/medical/emt + initial_sprite_stack = list("base-stamp", "top-medblu", "stamp-n", "stripe-blue") + +/obj/item/weapon/card/id/medical/head + initial_sprite_stack = list("base-stamp-silver", "top-medblu", "stamp-n", "pips-gold") + +//Security + +/obj/item/weapon/card/id/security + initial_sprite_stack = list("base-stamp", "top-red", "stamp-n") + +/obj/item/weapon/card/id/security/detective + initial_sprite_stack = list("base-stamp", "top-red", "stamp-n", "stripe-brown") + +/obj/item/weapon/card/id/security/warden + initial_sprite_stack = list("base-stamp", "top-red", "stamp-n", "stripe-white") + +/obj/item/weapon/card/id/security/head + initial_sprite_stack = list("base-stamp-silver", "top-red", "stamp-n", "pips-gold") + +//Engineering + +/obj/item/weapon/card/id/engineering + initial_sprite_stack = list("base-stamp", "top-orange", "stamp-n") + +/obj/item/weapon/card/id/engineering/atmos + initial_sprite_stack = list("base-stamp", "top-orange", "stripe-medblu", "stamp-n") + +/obj/item/weapon/card/id/engineering/head + initial_sprite_stack = list("base-stamp-silver", "top-orange", "stamp-n", "pips-gold") + +//Science + +/obj/item/weapon/card/id/science + initial_sprite_stack = list("base-stamp", "top-purple", "stamp-n") + +/obj/item/weapon/card/id/science/roboticist + initial_sprite_stack = list("base-stamp", "top-purple", "stamp-n", "stripe-brown") + +/obj/item/weapon/card/id/science/xenobiologist + initial_sprite_stack = list("base-stamp", "top-purple", "stamp-n", "stripe-orange") + +/obj/item/weapon/card/id/science/xenobotanist + initial_sprite_stack = list("base-stamp", "top-purple", "stamp-n", "stripe-green") + +/obj/item/weapon/card/id/science/head + initial_sprite_stack = list("base-stamp-silver", "top-purple", "stamp-n", "pips-gold") + +//Cargo + +/obj/item/weapon/card/id/cargo + initial_sprite_stack = list("base-stamp", "top-brown", "stamp-n") + +/obj/item/weapon/card/id/cargo/miner + initial_sprite_stack = list("base-stamp", "top-brown", "stamp-n", "stripe-purple") + +/obj/item/weapon/card/id/cargo/head + initial_sprite_stack = list("base-stamp-silver", "top-brown", "stamp-n", "pips-white") + +//Civilian + +/obj/item/weapon/card/id/civilian + initial_sprite_stack = list("base-stamp", "top-generic", "stamp-n") + +/obj/item/weapon/card/id/civilian/chaplain + initial_sprite_stack = list("base-stamp-dark", "top-dark", "stamp-cross", "stripe-white") + +/obj/item/weapon/card/id/civilian/journalist + initial_sprite_stack = list("base-stamp", "top-generic", "stamp-n", "stripe-red") + +/obj/item/weapon/card/id/civilian/pilot + initial_sprite_stack = list("base-stamp", "top-generic", "stamp-n", "stripe-pink") + +/obj/item/weapon/card/id/civilian/entertainer + initial_sprite_stack = list("base-stamp", "top-generic", "stamp-n", "stripe-brown") + +/obj/item/weapon/card/id/civilian/clown + initial_sprite_stack = list("base-stamp", "top-rainbow", "stamp-n") + +/obj/item/weapon/card/id/civilian/mime + initial_sprite_stack = list("base-stamp", "top-white", "stamp-n", "stripe-black") + +/obj/item/weapon/card/id/civilian/internal_affairs + initial_sprite_stack = list("base-stamp", "top-blue", "stamp-n", "stripe-black") + +//Service + +/obj/item/weapon/card/id/civilian/service + initial_sprite_stack = list("base-stamp", "top-green", "stamp-n") + +/obj/item/weapon/card/id/civilian/service/botanist + initial_sprite_stack = list("base-stamp", "top-green", "stamp-n", "stripe-darkgreen") + +/obj/item/weapon/card/id/civilian/service/bartender + initial_sprite_stack = list("base-stamp", "top-green", "stamp-n", "stripe-black") + +/obj/item/weapon/card/id/civilian/service/chef + initial_sprite_stack = list("base-stamp", "top-green", "stamp-n", "stripe-white") + +/obj/item/weapon/card/id/civilian/service/janitor + initial_sprite_stack = list("base-stamp", "top-green", "stamp-n", "stripe-purple") + +//Exploration + +/obj/item/weapon/card/id/exploration + initial_sprite_stack = list("base-stamp", "top-pink", "stamp-n") + +/obj/item/weapon/card/id/exploration/fm + initial_sprite_stack = list("base-stamp", "top-pink", "stamp-n", "stripe-medblu") + +/obj/item/weapon/card/id/exploration/head + initial_sprite_stack = list("base-stamp-silver", "top-pink", "stamp-n", "pips-white") + +//Talon + +/obj/item/weapon/card/id/talon + initial_sprite_stack = list("base-stamp-dark", "top-dark", "stamp-silhouette") + +/obj/item/weapon/card/id/talon/doctor + initial_sprite_stack = list("base-stamp-dark", "top-dark", "stamp-silhouette", "pips-medblu", "stripe-medblu") + +/obj/item/weapon/card/id/talon/engineer + initial_sprite_stack = list("base-stamp-dark", "top-dark", "stamp-silhouette", "pips-orange", "stripe-orange") + +/obj/item/weapon/card/id/talon/officer + initial_sprite_stack = list("base-stamp-dark", "top-dark", "stamp-silhouette", "pips-red", "stripe-red") + +/obj/item/weapon/card/id/talon/pilot + initial_sprite_stack = list("base-stamp-dark", "top-dark", "stamp-silhouette", "pips-purple", "stripe-purple") + +/obj/item/weapon/card/id/talon/captain + initial_sprite_stack = list("base-stamp-dark", "top-dark", "stamp-silhouette", "pips-gold", "stripe-gold") + +//Antags + +/obj/item/weapon/card/id/syndicate + initial_sprite_stack = list("base-stamp-dark", "top-syndicate", "stamp-s") + +/obj/item/weapon/card/id/syndicate/officer + initial_sprite_stack = list("base-stamp-dark", "top-syndicate", "stamp-s", "pips-gold", "stripe-gold") \ No newline at end of file diff --git a/code/game/objects/items/weapons/id cards/station_ids_vr.dm b/code/game/objects/items/weapons/id cards/station_ids_vr.dm index 756ab3bc9c..3a8f2cae57 100644 --- a/code/game/objects/items/weapons/id cards/station_ids_vr.dm +++ b/code/game/objects/items/weapons/id cards/station_ids_vr.dm @@ -1,50 +1,98 @@ +/obj/item/weapon/card/id/event + var/configured = 0 + var/accessset = 0 + initial_sprite_stack = list() + var/list/title_strings = list() + var/preset_rank = FALSE + +/obj/item/weapon/card/id/event/attack_self(mob/user as mob) + if(configured == 1) + return ..() + + if(!preset_rank) + var/title + if(user.client.prefs.player_alt_titles[user.job]) + title = user.client.prefs.player_alt_titles[user.job] + else + title = user.job + assignment = title + user.set_id_info(src) + if(user.mind && user.mind.initial_account) + associated_account_number = user.mind.initial_account.account_number + if(title_strings.len) + var/tempname = pick(title_strings) + name = tempname + " ([assignment])" + else + name = user.name + "'s ID card" + " ([assignment])" + + configured = 1 + to_chat(user, "Card settings set.") + +/obj/item/weapon/card/id/event/attackby(obj/item/I as obj, mob/user as mob) + if(istype(I, /obj/item/weapon/card/id) && !accessset) + var/obj/item/weapon/card/id/O = I + access |= O.access + to_chat(user, "You copy the access from \the [I] to \the [src].") + user.drop_from_inventory(I) + qdel(I) + accessset = 1 + ..() + +/obj/item/weapon/card/id/event/accessset + accessset = 1 + + + /obj/item/weapon/card/id/gold/captain/spare/fakespare rank = "null" -/obj/item/weapon/card/id/itg +/obj/item/weapon/card/id/event/accessset/itg name = "identification card" desc = "A small card designating affiliation with the Ironcrest Transport Group." icon = 'icons/obj/card_vr.dmi' + base_icon = 'icons/obj/card_vr.dmi' icon_state = "itg" item_state = "itg_id" + sprite_stack = list("") -/obj/item/weapon/card/id/itg/green +/obj/item/weapon/card/id/event/accessset/itg/green icon_state = "itg_green" item_state = "itg_green_id" -/obj/item/weapon/card/id/itg/red +/obj/item/weapon/card/id/event/accessset/itg/red icon_state = "itg_red" item_state = "itg_red_id" -/obj/item/weapon/card/id/itg/purple +/obj/item/weapon/card/id/event/accessset/itg/purple icon_state = "itg_purple" item_state = "itg_purple_id" -/obj/item/weapon/card/id/itg/white +/obj/item/weapon/card/id/event/accessset/itg/white icon_state = "itg_white" item_state = "itg_white_id" -/obj/item/weapon/card/id/itg/orange +/obj/item/weapon/card/id/event/accessset/itg/orange icon_state = "itg_orange" item_state = "itg_orange_id" -/obj/item/weapon/card/id/itg/blue +/obj/item/weapon/card/id/event/accessset/itg/blue icon_state = "itg_blue" item_state = "itg_blue_id" -/obj/item/weapon/card/id/itg/event +/obj/item/weapon/card/id/event/accessset/itg/crew name = "\improper ITG Crew ID" assignment = "Crew" rank = "Crew" access = list(777) + preset_rank = TRUE -/obj/item/weapon/card/id/itg/event/pilot +/obj/item/weapon/card/id/event/accessset/itg/crew/pilot name = "\improper ITG Pilot's ID" desc = "An ID card belonging to the Pilot of an ITG vessel. The Pilot's responsibility is primarily to fly the ship. They may also be tasked to assist with cargo movement duties." assignment = "Pilot" rank = "Pilot" -/obj/item/weapon/card/id/itg/event/service +/obj/item/weapon/card/id/event/accessset/itg/crew/service name = "\improper ITG Cook's ID" desc = "An ID card belonging to the Cook of an ITG vessel. The Cook's responsibility is primarily to provide sustinence to the crew and passengers. The Cook answers to the Passenger Liason. In the absence of a Passenger Liason, the Cook is also responsible for tending to passenger related care and duties." assignment = "Cook" @@ -52,7 +100,7 @@ icon_state = "itg_green" item_state = "itg_green_id" -/obj/item/weapon/card/id/itg/event/security +/obj/item/weapon/card/id/event/accessset/itg/crew/security name = "\improper ITG Security's ID" desc = "An ID card belonging to Security of an ITG vessel. Security's responsibility is primarily to protect the ship, cargo, or facility. They may also be tasked to assist with cargo movement duties and rescue operations. ITG Security is almost exclusively defensive. They should not start fights, but they are very capable of finishing them." assignment = "Security" @@ -60,7 +108,7 @@ icon_state = "itg_red" item_state = "itg_red_id" -/obj/item/weapon/card/id/itg/event/research +/obj/item/weapon/card/id/event/accessset/itg/crew/research name = "\improper ITG Research's ID" desc = "An ID card belonging to ITG Research staff. ITG Research staff primarily specializes in starship and starship engine design, and overcoming astronomic phenomena." assignment = "Research" @@ -68,7 +116,7 @@ icon_state = "itg_purple" item_state = "itg_purple_id" -/obj/item/weapon/card/id/itg/event/medical +/obj/item/weapon/card/id/event/accessset/itg/crew/medical name = "\improper ITG Medic's ID" desc = "An ID card belonging to the Medic of an ITG vessel. The Medic's responsibility is primarily to treat crew and passenger injuries. They may also be tasked with rescue operations." assignment = "Medic" @@ -76,7 +124,7 @@ icon_state = "itg_white" item_state = "itg_white_id" -/obj/item/weapon/card/id/itg/event/engineer +/obj/item/weapon/card/id/event/accessset/itg/crew/engineer name = "\improper ITG Engineer's ID" desc = "An ID card belonging to the Engineer of an ITG vessel. The Engineer's responsibility is primarily to maintain the ship. They may also be tasked to assist with cargo movement duties." assignment = "Engineer" @@ -84,7 +132,7 @@ icon_state = "itg_orange" item_state = "itg_orange_id" -/obj/item/weapon/card/id/itg/event/passengerliason +/obj/item/weapon/card/id/event/accessset/itg/crew/passengerliason name = "\improper ITG Passenger Liason's ID" desc = "An ID card belonging to the Passenger Liason of an ITG vessel. The Passenger Liason's responsibility is primarily to manage and tend to passenger needs and maintain supplies and facilities for passenger use." assignment = "Passenger Liason" @@ -92,7 +140,7 @@ icon_state = "itg_blue" item_state = "itg_blue_id" -/obj/item/weapon/card/id/itg/event/captain +/obj/item/weapon/card/id/event/accessset/itg/crew/captain name = "\improper ITG Captain's ID" desc = "An ID card belonging to the Captain of an ITG vessel. The Captain's responsibility is primarily to manage crew to ensure smooth ship operations. Captains often also often pilot the vessel when no dedicated pilot is assigned." assignment = "Captain" diff --git a/code/modules/client/preference_setup/loadout/loadout_fluffitems_vr.dm b/code/modules/client/preference_setup/loadout/loadout_fluffitems_vr.dm index 21abba41f2..4835fa92cf 100644 --- a/code/modules/client/preference_setup/loadout/loadout_fluffitems_vr.dm +++ b/code/modules/client/preference_setup/loadout/loadout_fluffitems_vr.dm @@ -519,7 +519,7 @@ character_name = list("Ketrai") /datum/gear/fluff/amaya_id - path = /obj/item/weapon/card/id/fluff/amaya + path = /obj/item/weapon/card/id/event/fluff/amaya display_name = "Amaya's ID" ckeywhitelist = list("kiraalitruss") character_name = list("Amaya Rahl") @@ -1079,7 +1079,7 @@ character_name = list("Roanna Ti'Rox") /datum/gear/fluff/harmony_id - path = /obj/item/weapon/card/id/fluff/harmony + path = /obj/item/weapon/card/id/event/fluff/harmony display_name = "Harmony's ITG-ID card" ckeywhitelist = list("verysoft") character_name = list("Harmony") diff --git a/code/modules/mob/inventory.dm b/code/modules/mob/inventory.dm index 376a1fafa7..35df5ef8a1 100644 --- a/code/modules/mob/inventory.dm +++ b/code/modules/mob/inventory.dm @@ -244,11 +244,10 @@ var/list/slot_equipment_priority = list( \ if(hasvar(src,"wear_id")) if(src:wear_id) items += src:wear_id if(hasvar(src,"wear_mask")) if(src:wear_mask) items += src:wear_mask if(hasvar(src,"wear_suit")) if(src:wear_suit) items += src:wear_suit -// if(hasvar(src,"w_radio")) if(src:w_radio) items += src:w_radio commenting this out since headsets go on your ears now PLEASE DON'T BE MAD KEELIN if(hasvar(src,"w_uniform")) if(src:w_uniform) items += src:w_uniform - //if(hasvar(src,"l_hand")) if(src:l_hand) items += src:l_hand - //if(hasvar(src,"r_hand")) if(src:r_hand) items += src:r_hand + if(hasvar(src,"l_hand")) if(src:l_hand) items += src:l_hand + if(hasvar(src,"r_hand")) if(src:r_hand) items += src:r_hand return items diff --git a/code/modules/organs/subtypes/standard.dm b/code/modules/organs/subtypes/standard.dm index 6f9e04c5b4..9e465ce8ba 100644 --- a/code/modules/organs/subtypes/standard.dm +++ b/code/modules/organs/subtypes/standard.dm @@ -334,7 +334,7 @@ if(!iscarbon(owner) || !owner.species) return - var/icon/eyecon + var/icon/eyecon //VOREStation Add //Eye color/icon var/should_have_eyes = owner.should_have_organ(O_EYES) diff --git a/code/modules/vore/eating/digest_act_vr.dm b/code/modules/vore/eating/digest_act_vr.dm index ab589d9671..b2958d0ddf 100644 --- a/code/modules/vore/eating/digest_act_vr.dm +++ b/code/modules/vore/eating/digest_act_vr.dm @@ -82,9 +82,13 @@ var/lost_access = list() /obj/item/weapon/card/id/digest_act(atom/movable/item_storage = null) - desc = "A partially digested card that has seen better days. The damage appears to be only cosmetic, but the access codes need to be reprogrammed at the HoP office." - icon = 'icons/obj/card_vr.dmi' - icon_state = "[initial(icon_state)]_digested" + desc = "A partially digested card that has seen better days. The damage appears to be only cosmetic, but the access codes need to be reprogrammed at the HoP office or ID restoration terminal." + if(!sprite_stack || !istype(sprite_stack) || !(sprite_stack.len)) + icon = 'icons/obj/card_vr.dmi' + icon_state = "[initial(icon_state)]_digested" + else + sprite_stack += "digested" + update_icon() if(!(LAZYLEN(lost_access)) && LAZYLEN(access)) lost_access = access //Do not forget what access we lose access = list() // Then lose it diff --git a/code/modules/vore/fluffstuff/custom_items_vr.dm b/code/modules/vore/fluffstuff/custom_items_vr.dm index 1d3f326137..db685da1fa 100644 --- a/code/modules/vore/fluffstuff/custom_items_vr.dm +++ b/code/modules/vore/fluffstuff/custom_items_vr.dm @@ -786,82 +786,24 @@ Under it is written 'Kouri, Amina, Marine Unit 14, Fifth Echelon. Service number NTN-5528928522372'" //arokha:Amaya Rahl - Custom ID (Medical dept) -/obj/item/weapon/card/id/fluff/amaya +/obj/item/weapon/card/id/event/fluff/amaya registered_name = "CONFIGURE ME" assignment = "CONFIGURE ME" - var/configured = 0 - var/accessset = 0 icon = 'icons/vore/custom_items_vr.dmi' + base_icon = 'icons/vore/custom_items_vr.dmi' icon_state = "amayarahlwahID" desc = "A primarily blue ID with a holographic 'WAH' etched onto its back. The letters do not obscure anything important on the card. It is shiny and it feels very bumpy." - var/title_strings = list("Amaya Rahl's Wah-identification card", "Amaya Rahl's Wah-ID card") - -/obj/item/weapon/card/id/fluff/amaya/attack_self(mob/user as mob) - if(configured == 1) - return ..() - - var/title - if(user.client.prefs.player_alt_titles[user.job]) - title = user.client.prefs.player_alt_titles[user.job] - else - title = user.job - assignment = title - user.set_id_info(src) - if(user.mind && user.mind.initial_account) - associated_account_number = user.mind.initial_account.account_number - var/tempname = pick(title_strings) - name = tempname + " ([title])" - configured = 1 - to_chat(user, "Card settings set.") - -/obj/item/weapon/card/id/fluff/amaya/attackby(obj/item/I as obj, mob/user as mob) - if(istype(I, /obj/item/weapon/card/id) && !accessset) - var/obj/item/weapon/card/id/O = I - access |= O.access - to_chat(user, "You copy the access from \the [I] to \the [src].") - user.drop_from_inventory(I) - qdel(I) - accessset = 1 - ..() + title_strings = list("Amaya Rahl's Wah-identification card", "Amaya Rahl's Wah-ID card") //verysoft:Harmony - Custom ID (pilot) -/obj/item/weapon/card/id/fluff/harmony +/obj/item/weapon/card/id/event/fluff/harmony registered_name = "CONFIGURE ME" assignment = "CONFIGURE ME" - var/configured = 0 - var/accessset = 0 icon = 'icons/obj/card_vr.dmi' + base_icon = 'icons/obj/card_vr.dmi' icon_state = "itg" desc = "A small card designating affiliation with the Ironcrest Transport Group. It has a NanoTrasen insignia and a lot of very small print on the back to do with practices and regulations for contractors to use." - var/title_strings = list("Harmony's ITG-ID card") - -/obj/item/weapon/card/id/fluff/harmony/attack_self(mob/user as mob) - if(configured == 1) - return ..() - - var/title - if(user.client.prefs.player_alt_titles[user.job]) - title = user.client.prefs.player_alt_titles[user.job] - else - title = user.job - assignment = title - user.set_id_info(src) - if(user.mind && user.mind.initial_account) - associated_account_number = user.mind.initial_account.account_number - var/tempname = pick(title_strings) - name = tempname + " ([title])" - configured = 1 - to_chat(user, "Card settings set.") - -/obj/item/weapon/card/id/fluff/harmony/attackby(obj/item/I as obj, mob/user as mob) - if(istype(I, /obj/item/weapon/card/id) && !accessset) - var/obj/item/weapon/card/id/O = I - access |= O.access - to_chat(user, "You copy the access from \the [I] to \the [src].") - user.drop_from_inventory(I) - qdel(I) - accessset = 1 - ..() + title_strings = list("Harmony's ITG-ID card") //General use, Verk felt like sharing. /obj/item/clothing/glasses/fluff/science_proper diff --git a/icons/obj/card_new_vr.dmi b/icons/obj/card_new_vr.dmi new file mode 100644 index 0000000000..20e3c85583 Binary files /dev/null and b/icons/obj/card_new_vr.dmi differ diff --git a/maps/offmap_vr/om_ships/itglight.dmm b/maps/offmap_vr/om_ships/itglight.dmm index 4707ee1c88..4444727be2 100644 --- a/maps/offmap_vr/om_ships/itglight.dmm +++ b/maps/offmap_vr/om_ships/itglight.dmm @@ -56,7 +56,7 @@ "af" = ( /obj/structure/table/wooden_reinforced, /obj/item/weapon/paper/dockingcodes, -/obj/item/weapon/card/id/itg/event/captain, +/obj/item/weapon/card/id/event/accessset/itg/crew/captain, /obj/machinery/computer/ship/navigation/telescreen{ pixel_y = -32 }, @@ -88,7 +88,7 @@ /obj/item/clothing/suit/chef/classic, /obj/item/clothing/head/chefhat, /obj/item/clothing/suit/storage/solgov/service/army/service, -/obj/item/weapon/card/id/itg/event/service, +/obj/item/weapon/card/id/event/accessset/itg/crew/service, /turf/simulated/floor/tiled/eris/steel/brown_platform, /area/itglight/metingroom) "ah" = ( @@ -115,7 +115,7 @@ /obj/item/clothing/suit/storage/hooded/wintercoat/engineering, /obj/item/taperoll/engineering, /obj/item/clothing/suit/storage/solgov/service/army/engineering, -/obj/item/weapon/card/id/itg/event/engineer, +/obj/item/weapon/card/id/event/accessset/itg/crew/engineer, /turf/simulated/floor/tiled/eris/steel/brown_platform, /area/itglight/metingroom) "ai" = ( @@ -141,7 +141,7 @@ }, /obj/item/clothing/suit/storage/hooded/wintercoat/medical, /obj/item/clothing/suit/storage/solgov/service/army/medical, -/obj/item/weapon/card/id/itg/event/medical, +/obj/item/weapon/card/id/event/accessset/itg/crew/medical, /turf/simulated/floor/tiled/eris/steel/brown_platform, /area/itglight/metingroom) "aj" = ( @@ -168,7 +168,7 @@ /obj/item/clothing/suit/storage/hooded/wintercoat/security, /obj/item/clothing/suit/storage/trench, /obj/item/clothing/suit/storage/solgov/service/army/security, -/obj/item/weapon/card/id/itg/event/security, +/obj/item/weapon/card/id/event/accessset/itg/crew/security, /obj/item/clothing/accessory/holster/hip, /turf/simulated/floor/tiled/eris/steel/brown_platform, /area/itglight/metingroom) @@ -3654,21 +3654,21 @@ }, /obj/item/clothing/suit/space/void/captain, /obj/item/clothing/head/helmet/space/void/captain, -/obj/item/weapon/card/id/itg/event, -/obj/item/weapon/card/id/itg/event, -/obj/item/weapon/card/id/itg/event, -/obj/item/weapon/card/id/itg/event, -/obj/item/weapon/card/id/itg/event, -/obj/item/weapon/card/id/itg/event/passengerliason, -/obj/item/weapon/card/id/itg/event/pilot, -/obj/item/weapon/card/id/itg/event/research, -/obj/item/weapon/card/id/itg/event/research, -/obj/item/weapon/card/id/itg/event/security, -/obj/item/weapon/card/id/itg/event/service, -/obj/item/weapon/card/id/itg/event/engineer, -/obj/item/weapon/card/id/itg/event/engineer, -/obj/item/weapon/card/id/itg/event/medical, -/obj/item/weapon/card/id/itg/event/medical, +/obj/item/weapon/card/id/event/accessset/itg/crew, +/obj/item/weapon/card/id/event/accessset/itg/crew, +/obj/item/weapon/card/id/event/accessset/itg/crew, +/obj/item/weapon/card/id/event/accessset/itg/crew, +/obj/item/weapon/card/id/event/accessset/itg/crew, +/obj/item/weapon/card/id/event/accessset/itg/crew/passengerliason, +/obj/item/weapon/card/id/event/accessset/itg/crew/pilot, +/obj/item/weapon/card/id/event/accessset/itg/crew/research, +/obj/item/weapon/card/id/event/accessset/itg/crew/research, +/obj/item/weapon/card/id/event/accessset/itg/crew/security, +/obj/item/weapon/card/id/event/accessset/itg/crew/service, +/obj/item/weapon/card/id/event/accessset/itg/crew/engineer, +/obj/item/weapon/card/id/event/accessset/itg/crew/engineer, +/obj/item/weapon/card/id/event/accessset/itg/crew/medical, +/obj/item/weapon/card/id/event/accessset/itg/crew/medical, /obj/item/clothing/suit/storage/hooded/wintercoat/cargo{ name = "dauntless winter coat" }, diff --git a/maps/southern_cross/events/wildlife_encounter.dm b/maps/southern_cross/events/wildlife_encounter.dm new file mode 100644 index 0000000000..0a045f9f17 --- /dev/null +++ b/maps/southern_cross/events/wildlife_encounter.dm @@ -0,0 +1,103 @@ +// This event sends random sif mobs at someone in the wilderness, unannounced. + +/datum/event2/meta/wildlife_encounter + name = "random encounter" + departments = list(DEPARTMENT_EVERYONE) + chaos = 10 + event_type = /datum/event2/event/wildlife_encounter + +/datum/event2/meta/wildlife_encounter/get_weight() + var/explorers = metric.count_people_with_job(/datum/job/explorer) + metric.count_people_with_job(/datum/job/sar) + + if(!explorers) + return 0 + return 20 + explorers * 50 + +/datum/event2/event/wildlife_encounter + var/mob/living/victim = null + var/list/potential_victims = list() + +/datum/event2/event/wildlife_encounter/set_up() + for(var/mob/living/L in player_list) + //if(!(L.z in get_location_z_levels())) + // log_debug("Not on the right z-level") + // continue // Not on the right z-level. + if(L.stat) + continue // Don't want dead people. + if(istype(get_turf(L), /turf/simulated/floor/outdoors) && istype(get_area(L),/area/surface/outside/wilderness)) + potential_victims += L + + if(potential_victims.len) + victim = pick(potential_victims) + +/datum/event2/event/wildlife_encounter/start() + if(!victim) + log_debug("Failed to find a target for random encounter. Aborting.") + abort() + return + + var/number_of_packs = rand(1, 3) + // Getting off screen tiles is kind of tricky due to potential edge cases that could arise. + // The method we're gonna do is make a big square around the victim, then + // subtract a smaller square in the middle for the default vision range. + + var/list/outer_square = get_safe_square(victim, world.view + 5) + var/list/inner_square = get_safe_square(victim, world.view + 1) + + var/list/donut = outer_square - inner_square + for(var/T in donut) + if(!istype(T, /turf/simulated/floor/outdoors)) + donut -= T + + var/build_path = item_to_spawn() + var/turf/spawning_turf = null + var/attempts = 0 + + while (!spawning_turf && attempts != 10) + spawning_turf = pick(donut) + for(var/i = 1 to potential_victims.len) + if (get_dist(spawning_turf, potential_victims[i]) < world.view) + spawning_turf = null + log_debug("Failed to locate position out of sight of [potential_victims[i]].") + attempts++ + + potential_victims = null + + log_debug("Sending [number_of_packs] [build_path]\s after \the [victim].") + for(var/i = 1 to number_of_packs) + + if(spawning_turf) + var/mob/living/simple_mob/M = new build_path(spawning_turf) + M.ai_holder?.give_destination(get_turf(victim)) + else + log_debug("Failed to locate turf to spawn encounter.") + +/datum/event2/event/wildlife_encounter/proc/item_to_spawn() + return pick(prob(22);/mob/living/simple_mob/animal/sif/savik, + prob(20);/mob/living/simple_mob/animal/sif/frostfly, + prob(10);/mob/living/simple_mob/animal/sif/tymisian, + prob(45);/mob/living/simple_mob/animal/sif/shantak, + prob(15);/mob/living/simple_mob/animal/sif/kururak/hibernate, + prob(10);/mob/living/simple_mob/animal/sif/kururak, + prob(3);/mob/living/simple_mob/animal/giant_spider, + prob(8);/mob/living/simple_mob/animal/giant_spider/hunter, + prob(3);/mob/living/simple_mob/animal/giant_spider/webslinger, + prob(3);/mob/living/simple_mob/animal/giant_spider/carrier, + prob(6);/mob/living/simple_mob/animal/giant_spider/lurker, + prob(4);/mob/living/simple_mob/animal/giant_spider/tunneler, + prob(5);/mob/living/simple_mob/animal/giant_spider/pepper, + prob(5);/mob/living/simple_mob/animal/giant_spider/thermic, + prob(1);/mob/living/simple_mob/animal/giant_spider/phorogenic, + prob(30);/mob/living/simple_mob/animal/giant_spider/frost) + +/datum/event2/event/wildlife_encounter/proc/get_safe_square(atom/center, radius) + var/lower_left_x = max(center.x - radius, 1 + TRANSITIONEDGE) + var/lower_left_y = max(center.y - radius, 1 + TRANSITIONEDGE) + + var/upper_right_x = min(center.x + radius, world.maxx - TRANSITIONEDGE) + var/upper_right_y = min(center.y + radius, world.maxy - TRANSITIONEDGE) + + var/turf/lower_left = locate(lower_left_x, lower_left_y, victim.z) + var/turf/upper_right = locate(upper_right_x, upper_right_y, victim.z) + + return block(lower_left, upper_right) diff --git a/maps/southern_cross/southern_cross.dm b/maps/southern_cross/southern_cross.dm index a9a009e553..7f31cf900c 100644 --- a/maps/southern_cross/southern_cross.dm +++ b/maps/southern_cross/southern_cross.dm @@ -36,6 +36,7 @@ #include "structures/closets/security.dm" #include "turfs/outdoors.dm" #include "overmap/sectors.dm" + #include "events/wildlife_encounter.dm" #include "southern_cross-1.dmm" #include "southern_cross-2.dmm" diff --git a/vorestation.dme b/vorestation.dme index ea448e53be..b873da6a04 100644 --- a/vorestation.dme +++ b/vorestation.dme @@ -1756,9 +1756,9 @@ #include "code\modules\ai\ai_holder_targeting_vr.dm" #include "code\modules\ai\interfaces.dm" #include "code\modules\ai\say_list.dm" -#include "code\modules\ai\aI_holder_subtypes\simple_mob_ai.dm" -#include "code\modules\ai\aI_holder_subtypes\simple_mob_ai_vr.dm" -#include "code\modules\ai\aI_holder_subtypes\slime_xenobio_ai.dm" +#include "code\modules\ai\ai_holder_subtypes\simple_mob_ai.dm" +#include "code\modules\ai\ai_holder_subtypes\simple_mob_ai_vr.dm" +#include "code\modules\ai\ai_holder_subtypes\slime_xenobio_ai.dm" #include "code\modules\alarm\alarm.dm" #include "code\modules\alarm\alarm_handler.dm" #include "code\modules\alarm\atmosphere_alarm.dm"