mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-11 18:53:06 +00:00
Adds 9 new Chameleon items.
Chameleon Glasses, Exosuit, Gloves, Shoes, Hat, Gun, Mask, Backpack, and Gun. The Gun does 1 damage and can disguise as any gun. As long as you don't fire it people won't notice that it shoots 1 damage rubber bullets. These new items come in the Chameleon Kit, which replaces and contains the Chameleon Jumpsuit
This commit is contained in:
@@ -44,7 +44,7 @@ Stealthy and Inconspicuous Weapons;
|
|||||||
/obj/item/weapon/cartridge/syndicate:3:Detomatix PDA Cartridge;
|
/obj/item/weapon/cartridge/syndicate:3:Detomatix PDA Cartridge;
|
||||||
Whitespace:Seperator;
|
Whitespace:Seperator;
|
||||||
Stealth and Camouflage Items;
|
Stealth and Camouflage Items;
|
||||||
/obj/item/clothing/under/chameleon:3:Chameleon Jumpsuit;
|
/obj/item/weapon/storage/box/syndie_kit/chameleon:3:Chameleon Kit;
|
||||||
/obj/item/clothing/shoes/syndigaloshes:2:No-Slip Syndicate Shoes;
|
/obj/item/clothing/shoes/syndigaloshes:2:No-Slip Syndicate Shoes;
|
||||||
/obj/item/weapon/card/id/syndicate:2:Agent ID card;
|
/obj/item/weapon/card/id/syndicate:2:Agent ID card;
|
||||||
/obj/item/clothing/mask/gas/voice:4:Voice Changer;
|
/obj/item/clothing/mask/gas/voice:4:Voice Changer;
|
||||||
|
|||||||
@@ -117,3 +117,20 @@
|
|||||||
new /obj/item/clothing/suit/space/syndicate(src)
|
new /obj/item/clothing/suit/space/syndicate(src)
|
||||||
new /obj/item/clothing/head/helmet/space/syndicate(src)
|
new /obj/item/clothing/head/helmet/space/syndicate(src)
|
||||||
return
|
return
|
||||||
|
/obj/item/weapon/storage/box/syndie_kit/chameleon
|
||||||
|
name = "Chameleon Kit"
|
||||||
|
desc = "Comes with all the clothes you need to impersonate most people. Acting lessons sold seperately."
|
||||||
|
storage_slots = 10
|
||||||
|
|
||||||
|
/obj/item/weapon/storage/box/syndie_kit/chameleon/New()
|
||||||
|
..()
|
||||||
|
new /obj/item/clothing/under/chameleon(src)
|
||||||
|
new /obj/item/clothing/head/chameleon(src)
|
||||||
|
new /obj/item/clothing/suit/chameleon(src)
|
||||||
|
new /obj/item/clothing/shoes/chameleon(src)
|
||||||
|
new /obj/item/weapon/storage/backpack/chameleon(src)
|
||||||
|
new /obj/item/clothing/gloves/chameleon(src)
|
||||||
|
new /obj/item/clothing/mask/chameleon(src)
|
||||||
|
new /obj/item/clothing/glasses/chameleon(src)
|
||||||
|
new /obj/item/weapon/gun/projectile/chameleon(src)
|
||||||
|
new /obj/item/ammo_magazine/chameleon(src)
|
||||||
@@ -1,3 +1,7 @@
|
|||||||
|
//*****************
|
||||||
|
//**Cham Jumpsuit**
|
||||||
|
//*****************
|
||||||
|
|
||||||
/obj/item/clothing/under/chameleon
|
/obj/item/clothing/under/chameleon
|
||||||
//starts off as black
|
//starts off as black
|
||||||
name = "black jumpsuit"
|
name = "black jumpsuit"
|
||||||
@@ -6,58 +10,30 @@
|
|||||||
item_color = "black"
|
item_color = "black"
|
||||||
desc = "It's a plain jumpsuit. It seems to have a small dial on the wrist."
|
desc = "It's a plain jumpsuit. It seems to have a small dial on the wrist."
|
||||||
origin_tech = "syndicate=3"
|
origin_tech = "syndicate=3"
|
||||||
siemens_coefficient = 0.8
|
|
||||||
var/list/clothing_choices = list()
|
var/list/clothing_choices = list()
|
||||||
|
|
||||||
New()
|
New()
|
||||||
..()
|
..()
|
||||||
for(var/U in typesof(/obj/item/clothing/under/color)-(/obj/item/clothing/under/color))
|
var/blocked = list(/obj/item/clothing/under/chameleon, /obj/item/clothing/under/cloud,
|
||||||
var/obj/item/clothing/under/V = new U
|
/obj/item/clothing/under/golem, /obj/item/clothing/under/gimmick)//Prevent infinite loops and bad jumpsuits.
|
||||||
src.clothing_choices += V
|
for(var/U in typesof(/obj/item/clothing/under)-blocked)
|
||||||
|
|
||||||
for(var/U in typesof(/obj/item/clothing/under/rank)-(/obj/item/clothing/under/rank))
|
|
||||||
var/obj/item/clothing/under/V = new U
|
var/obj/item/clothing/under/V = new U
|
||||||
src.clothing_choices += V
|
src.clothing_choices += V
|
||||||
return
|
return
|
||||||
|
|
||||||
|
|
||||||
attackby(obj/item/clothing/under/U as obj, mob/user as mob)
|
|
||||||
..()
|
|
||||||
if(istype(U, /obj/item/clothing/under/chameleon))
|
|
||||||
user << "\red Nothing happens."
|
|
||||||
return
|
|
||||||
if(istype(U, /obj/item/clothing/under))
|
|
||||||
if(src.clothing_choices.Find(U))
|
|
||||||
user << "\red Pattern is already recognised by the suit."
|
|
||||||
return
|
|
||||||
src.clothing_choices += U
|
|
||||||
user << "\red Pattern absorbed by the suit."
|
|
||||||
|
|
||||||
|
|
||||||
emp_act(severity)
|
emp_act(severity)
|
||||||
name = "psychedelic"
|
name = "psychedelic"
|
||||||
desc = "Groovy!"
|
desc = "Groovy!"
|
||||||
icon_state = "psyche"
|
icon_state = "psyche"
|
||||||
item_color = "psyche"
|
item_color = "psyche"
|
||||||
spawn(200)
|
|
||||||
name = "Black Jumpsuit"
|
|
||||||
icon_state = "bl_suit"
|
|
||||||
item_color = "black"
|
|
||||||
desc = null
|
|
||||||
..()
|
|
||||||
|
|
||||||
|
|
||||||
verb/change()
|
verb/change()
|
||||||
set name = "Change Color"
|
set name = "Change Jumpsuit Appearance"
|
||||||
set category = "Object"
|
set category = "Object"
|
||||||
set src in usr
|
set src in usr
|
||||||
|
|
||||||
if(icon_state == "psyche")
|
var/obj/item/clothing/suit/A
|
||||||
usr << "\red Your suit is malfunctioning"
|
A = input("Select jumpsuit to change it to", "Chameleon Jumpsuit")as null|anything in clothing_choices
|
||||||
return
|
|
||||||
|
|
||||||
var/obj/item/clothing/under/A
|
|
||||||
A = input("Select Colour to change it to", "BOOYEA", A) in clothing_choices
|
|
||||||
if(!A)
|
if(!A)
|
||||||
return
|
return
|
||||||
|
|
||||||
@@ -71,12 +47,387 @@
|
|||||||
item_color = A.item_color
|
item_color = A.item_color
|
||||||
usr.update_inv_w_uniform() //so our overlays update.
|
usr.update_inv_w_uniform() //so our overlays update.
|
||||||
|
|
||||||
|
//*****************
|
||||||
|
//**Chameleon Hat**
|
||||||
|
//*****************
|
||||||
|
|
||||||
|
/obj/item/clothing/head/chameleon
|
||||||
|
name = "grey cap"
|
||||||
|
icon_state = "greysoft"
|
||||||
|
item_state = "greysoft"
|
||||||
|
item_color = "grey"
|
||||||
|
desc = "It looks like a plain hat, but upon closer inspection, there's an advanced holographic array installed inside. It seems to have a small dial inside."
|
||||||
|
origin_tech = "syndicate=3"
|
||||||
|
var/list/clothing_choices = list()
|
||||||
|
|
||||||
/obj/item/clothing/under/chameleon/all/New()
|
New()
|
||||||
..()
|
..()
|
||||||
var/blocked = list(/obj/item/clothing/under/chameleon, /obj/item/clothing/under/chameleon/all)
|
var/blocked = list(/obj/item/clothing/head/chameleon,
|
||||||
//to prevent an infinite loop
|
/obj/item/clothing/head/space/golem, /obj/item/clothing/head/justice,)//Prevent infinite loops and bad hats.
|
||||||
for(var/U in typesof(/obj/item/clothing/under)-blocked)
|
for(var/U in typesof(/obj/item/clothing/head)-blocked)
|
||||||
var/obj/item/clothing/under/V = new U
|
var/obj/item/clothing/head/V = new U
|
||||||
src.clothing_choices += V
|
src.clothing_choices += V
|
||||||
|
return
|
||||||
|
|
||||||
|
emp_act(severity) //Because we don't have psych for all slots right now but still want a downside to EMP. In this case your cover's blown.
|
||||||
|
name = "grey cap"
|
||||||
|
desc = "It's a baseball hat in a tasteful grey colour."
|
||||||
|
icon_state = "greysoft"
|
||||||
|
item_color = "grey"
|
||||||
|
update_icon()
|
||||||
|
|
||||||
|
verb/change()
|
||||||
|
set name = "Change Hat/Helmet Appearance"
|
||||||
|
set category = "Object"
|
||||||
|
set src in usr
|
||||||
|
|
||||||
|
var/obj/item/clothing/suit/A
|
||||||
|
A = input("Select headwear to change it to", "Chameleon Hat")as null|anything in clothing_choices
|
||||||
|
if(!A)
|
||||||
|
return
|
||||||
|
|
||||||
|
desc = null
|
||||||
|
permeability_coefficient = 0.90
|
||||||
|
|
||||||
|
desc = A.desc
|
||||||
|
name = A.name
|
||||||
|
icon_state = A.icon_state
|
||||||
|
item_state = A.item_state
|
||||||
|
item_color = A.item_color
|
||||||
|
flags_inv = A.flags_inv
|
||||||
|
usr.update_inv_head() //so our overlays update.
|
||||||
|
|
||||||
|
//******************
|
||||||
|
//**Chameleon Suit**
|
||||||
|
//******************
|
||||||
|
|
||||||
|
/obj/item/clothing/suit/chameleon
|
||||||
|
name = "armor"
|
||||||
|
icon_state = "armor"
|
||||||
|
item_state = "armor"
|
||||||
|
desc = "It appears to be a vest of standard armor, except this is embedded with a hidden holographic cloaker, allowing it to change it's appearance, but offering no protection.. It seems to have a small dial inside."
|
||||||
|
origin_tech = "syndicate=3"
|
||||||
|
var/list/clothing_choices = list()
|
||||||
|
|
||||||
|
New()
|
||||||
|
..()
|
||||||
|
var/blocked = list(/obj/item/clothing/suit/chameleon,
|
||||||
|
/obj/item/clothing/suit/golem, /obj/item/clothing/suit/suit, /obj/item/clothing/suit/cyborg_suit, /obj/item/clothing/suit/justice,
|
||||||
|
/obj/item/clothing/suit/greatcoat)//Prevent infinite loops and bad suits.
|
||||||
|
for(var/U in typesof(/obj/item/clothing/suit)-blocked)
|
||||||
|
var/obj/item/clothing/suit/V = new U
|
||||||
|
src.clothing_choices += V
|
||||||
|
return
|
||||||
|
|
||||||
|
emp_act(severity) //Because we don't have psych for all slots right now but still want a downside to EMP. In this case your cover's blown.
|
||||||
|
name = "armor"
|
||||||
|
desc = "An armored vest that protects against some damage."
|
||||||
|
icon_state = "armor"
|
||||||
|
item_color = "armor"
|
||||||
|
update_icon()
|
||||||
|
|
||||||
|
verb/change()
|
||||||
|
set name = "Change Exosuit Appearance"
|
||||||
|
set category = "Object"
|
||||||
|
set src in usr
|
||||||
|
|
||||||
|
var/obj/item/clothing/suit/A
|
||||||
|
A = input("Select footwear to change it to", "Chameleon Exosuit")as null|anything in clothing_choices
|
||||||
|
if(!A)
|
||||||
|
return
|
||||||
|
|
||||||
|
desc = null
|
||||||
|
permeability_coefficient = 0.90
|
||||||
|
|
||||||
|
desc = A.desc
|
||||||
|
name = A.name
|
||||||
|
icon_state = A.icon_state
|
||||||
|
item_state = A.item_state
|
||||||
|
item_color = A.item_color
|
||||||
|
flags_inv = A.flags_inv
|
||||||
|
usr.update_inv_wear_suit() //so our overlays update.
|
||||||
|
|
||||||
|
//*******************
|
||||||
|
//**Chameleon Shoes**
|
||||||
|
//*******************
|
||||||
|
/obj/item/clothing/shoes/chameleon
|
||||||
|
name = "black shoes"
|
||||||
|
icon_state = "black"
|
||||||
|
item_state = "black"
|
||||||
|
item_color = "black"
|
||||||
|
desc = "They're comfy black shoes, with clever Syndicate cloaking technology built in. It seems to have a small dial on the back of each shoe."
|
||||||
|
origin_tech = "syndicate=3"
|
||||||
|
var/list/clothing_choices = list()
|
||||||
|
|
||||||
|
New()
|
||||||
|
..()
|
||||||
|
var/blocked = list(/obj/item/clothing/shoes/chameleon,
|
||||||
|
/obj/item/clothing/shoes/golem, /obj/item/clothing/shoes/syndigaloshes, /obj/item/clothing/shoes/cyborg)//prevent infinite loops and bad shoes.
|
||||||
|
for(var/U in typesof(/obj/item/clothing/shoes)-blocked)
|
||||||
|
var/obj/item/clothing/shoes/V = new U
|
||||||
|
src.clothing_choices += V
|
||||||
|
return
|
||||||
|
|
||||||
|
emp_act(severity) //Because we don't have psych for all slots right now but still want a downside to EMP. In this case your cover's blown.
|
||||||
|
name = "black shoes"
|
||||||
|
desc = "A pair of black shoes."
|
||||||
|
icon_state = "black"
|
||||||
|
item_state = "black"
|
||||||
|
item_color = "black"
|
||||||
|
update_icon()
|
||||||
|
|
||||||
|
verb/change()
|
||||||
|
set name = "Change Footwear Appearance"
|
||||||
|
set category = "Object"
|
||||||
|
set src in usr
|
||||||
|
|
||||||
|
var/obj/item/clothing/shoes/A
|
||||||
|
A = input("Select footwear to change it to", "Chameleon Shoes")as null|anything in clothing_choices
|
||||||
|
if(!A)
|
||||||
|
return
|
||||||
|
|
||||||
|
desc = null
|
||||||
|
permeability_coefficient = 0.90
|
||||||
|
|
||||||
|
desc = A.desc
|
||||||
|
name = A.name
|
||||||
|
icon_state = A.icon_state
|
||||||
|
item_state = A.item_state
|
||||||
|
item_color = A.item_color
|
||||||
|
usr.update_inv_shoes() //so our overlays update.
|
||||||
|
|
||||||
|
//**********************
|
||||||
|
//**Chameleon Backpack**
|
||||||
|
//**********************
|
||||||
|
/obj/item/weapon/storage/backpack/chameleon
|
||||||
|
name = "backpack"
|
||||||
|
icon_state = "backpack"
|
||||||
|
item_state = "backpack"
|
||||||
|
desc = "A backpack outfitted with cloaking tech. It seems to have a small dial inside, kept away from the storage."
|
||||||
|
origin_tech = "syndicate=3"
|
||||||
|
var/list/clothing_choices = list()
|
||||||
|
|
||||||
|
New()
|
||||||
|
..()
|
||||||
|
var/blocked = list(/obj/item/weapon/storage/backpack/chameleon, /obj/item/weapon/storage/backpack/satchel/withwallet)
|
||||||
|
for(var/U in typesof(/obj/item/weapon/storage/backpack)-blocked)//Prevent infinite loops and bad backpacks.
|
||||||
|
var/obj/item/weapon/storage/backpack/V = new U
|
||||||
|
src.clothing_choices += V
|
||||||
|
return
|
||||||
|
|
||||||
|
emp_act(severity) //Because we don't have psych for all slots right now but still want a downside to EMP. In this case your cover's blown.
|
||||||
|
name = "backpack"
|
||||||
|
desc = "You wear this on your back and put items into it."
|
||||||
|
icon_state = "backpack"
|
||||||
|
item_state = "backpack"
|
||||||
|
update_icon()
|
||||||
|
|
||||||
|
verb/change()
|
||||||
|
set name = "Change Backpack Appearance"
|
||||||
|
set category = "Object"
|
||||||
|
set src in usr
|
||||||
|
|
||||||
|
var/obj/item/weapon/storage/backpack/A
|
||||||
|
A = input("Select backpack to change it to", "Chameleon Backpack")as null|anything in clothing_choices
|
||||||
|
if(!A)
|
||||||
|
return
|
||||||
|
|
||||||
|
desc = null
|
||||||
|
permeability_coefficient = 0.90
|
||||||
|
|
||||||
|
desc = A.desc
|
||||||
|
name = A.name
|
||||||
|
icon_state = A.icon_state
|
||||||
|
item_state = A.item_state
|
||||||
|
item_color = A.item_color
|
||||||
|
usr.update_inv_back() //so our overlays update.
|
||||||
|
|
||||||
|
//********************
|
||||||
|
//**Chameleon Gloves**
|
||||||
|
//********************
|
||||||
|
|
||||||
|
/obj/item/clothing/gloves/chameleon
|
||||||
|
name = "black gloves"
|
||||||
|
icon_state = "black"
|
||||||
|
item_state = "bgloves"
|
||||||
|
item_color = "brown"
|
||||||
|
desc = "It looks like a pair of gloves, but it seems to have a small dial inside."
|
||||||
|
origin_tech = "syndicate=3"
|
||||||
|
var/list/clothing_choices = list()
|
||||||
|
|
||||||
|
New()
|
||||||
|
..()
|
||||||
|
var/blocked = list(/obj/item/clothing/gloves/chameleon)//Prevent infinite loops and bad hats.
|
||||||
|
for(var/U in typesof(/obj/item/clothing/gloves)-blocked)
|
||||||
|
var/obj/item/clothing/gloves/V = new U
|
||||||
|
src.clothing_choices += V
|
||||||
|
return
|
||||||
|
|
||||||
|
emp_act(severity) //Because we don't have psych for all slots right now but still want a downside to EMP. In this case your cover's blown.
|
||||||
|
name = "black gloves"
|
||||||
|
desc = "It looks like a pair of gloves, but it seems to have a small dial inside."
|
||||||
|
icon_state = "black"
|
||||||
|
item_color = "brown"
|
||||||
|
update_icon()
|
||||||
|
|
||||||
|
verb/change()
|
||||||
|
set name = "Change Gloves Appearance"
|
||||||
|
set category = "Object"
|
||||||
|
set src in usr
|
||||||
|
|
||||||
|
var/obj/item/clothing/gloves/A
|
||||||
|
A = input("Select gloves to change it to", "Chameleon Gloves")as null|anything in clothing_choices
|
||||||
|
if(!A)
|
||||||
|
return
|
||||||
|
|
||||||
|
desc = null
|
||||||
|
permeability_coefficient = 0.90
|
||||||
|
|
||||||
|
desc = A.desc
|
||||||
|
name = A.name
|
||||||
|
icon_state = A.icon_state
|
||||||
|
item_state = A.item_state
|
||||||
|
item_color = A.item_color
|
||||||
|
flags_inv = A.flags_inv
|
||||||
|
usr.update_inv_gloves() //so our overlays update.
|
||||||
|
|
||||||
|
//******************
|
||||||
|
//**Chameleon Mask**
|
||||||
|
//******************
|
||||||
|
|
||||||
|
/obj/item/clothing/mask/chameleon
|
||||||
|
name = "gas mask"
|
||||||
|
icon_state = "gas_alt"
|
||||||
|
item_state = "gas_alt"
|
||||||
|
desc = "It looks like a plain gask mask, but on closer inspection, it seems to have a small dial inside."
|
||||||
|
origin_tech = "syndicate=3"
|
||||||
|
var/list/clothing_choices = list()
|
||||||
|
|
||||||
|
New()
|
||||||
|
..()
|
||||||
|
var/blocked = list(/obj/item/clothing/mask/chameleon)//Prevent infinite loops and bad hats.
|
||||||
|
for(var/U in typesof(/obj/item/clothing/mask)-blocked)
|
||||||
|
var/obj/item/clothing/mask/V = new U
|
||||||
|
src.clothing_choices += V
|
||||||
|
return
|
||||||
|
|
||||||
|
emp_act(severity) //Because we don't have psych for all slots right now but still want a downside to EMP. In this case your cover's blown.
|
||||||
|
name = "gas mask"
|
||||||
|
desc = "It's a gas mask."
|
||||||
|
icon_state = "gas_alt"
|
||||||
|
update_icon()
|
||||||
|
|
||||||
|
verb/change()
|
||||||
|
set name = "Change Mask Appearance"
|
||||||
|
set category = "Object"
|
||||||
|
set src in usr
|
||||||
|
|
||||||
|
var/obj/item/clothing/mask/A
|
||||||
|
A = input("Select mask to change it to", "Chameleon Mask")as null|anything in clothing_choices
|
||||||
|
if(!A)
|
||||||
|
return
|
||||||
|
|
||||||
|
desc = null
|
||||||
|
permeability_coefficient = 0.90
|
||||||
|
|
||||||
|
desc = A.desc
|
||||||
|
name = A.name
|
||||||
|
icon_state = A.icon_state
|
||||||
|
item_state = A.item_state
|
||||||
|
flags_inv = A.flags_inv
|
||||||
|
usr.update_inv_wear_mask() //so our overlays update.
|
||||||
|
|
||||||
|
//*********************
|
||||||
|
//**Chameleon Glasses**
|
||||||
|
//*********************
|
||||||
|
|
||||||
|
/obj/item/clothing/glasses/chameleon
|
||||||
|
name = "Optical Meson Scanner"
|
||||||
|
icon_state = "meson"
|
||||||
|
item_state = "glasses"
|
||||||
|
desc = "It looks like a plain set of mesons, but on closer inspection, it seems to have a small dial inside."
|
||||||
|
origin_tech = "syndicate=3"
|
||||||
|
var/list/clothing_choices = list()
|
||||||
|
|
||||||
|
New()
|
||||||
|
..()
|
||||||
|
var/blocked = list(/obj/item/clothing/glasses/chameleon)//Prevent infinite loops and bad hats.
|
||||||
|
for(var/U in typesof(/obj/item/clothing/glasses)-blocked)
|
||||||
|
var/obj/item/clothing/glasses/V = new U
|
||||||
|
src.clothing_choices += V
|
||||||
|
return
|
||||||
|
|
||||||
|
emp_act(severity) //Because we don't have psych for all slots right now but still want a downside to EMP. In this case your cover's blown.
|
||||||
|
name = "Optical Meson Scanner"
|
||||||
|
desc = "It's a set of mesons."
|
||||||
|
icon_state = "meson"
|
||||||
|
update_icon()
|
||||||
|
|
||||||
|
verb/change()
|
||||||
|
set name = "Change Glasses Appearance"
|
||||||
|
set category = "Object"
|
||||||
|
set src in usr
|
||||||
|
|
||||||
|
var/obj/item/clothing/glasses/A
|
||||||
|
A = input("Select glasses to change it to", "Chameleon Glasses")as null|anything in clothing_choices
|
||||||
|
if(!A)
|
||||||
|
return
|
||||||
|
|
||||||
|
desc = null
|
||||||
|
permeability_coefficient = 0.90
|
||||||
|
|
||||||
|
desc = A.desc
|
||||||
|
name = A.name
|
||||||
|
icon_state = A.icon_state
|
||||||
|
item_state = A.item_state
|
||||||
|
flags_inv = A.flags_inv
|
||||||
|
usr.update_inv_glasses() //so our overlays update.
|
||||||
|
|
||||||
|
//*****************
|
||||||
|
//**Chameleon Gun**
|
||||||
|
//*****************
|
||||||
|
/obj/item/weapon/gun/projectile/chameleon
|
||||||
|
name = "desert eagle"
|
||||||
|
desc = "A fake Desert Eagle with a dial on the side to change the gun's disguise."
|
||||||
|
icon_state = "deagle"
|
||||||
|
w_class = 3.0
|
||||||
|
max_shells = 7
|
||||||
|
caliber = ".45"
|
||||||
|
origin_tech = "combat=2;materials=2;syndicate=8"
|
||||||
|
ammo_type = "/obj/item/ammo_casing/chameleon"
|
||||||
|
var/list/gun_choices = list()
|
||||||
|
|
||||||
|
New()
|
||||||
|
..()
|
||||||
|
var/blocked = list(/obj/item/weapon/gun/projectile/chameleon)//Prevent infinite loops and bad hats.
|
||||||
|
for(var/U in typesof(/obj/item/weapon/gun/)-blocked)
|
||||||
|
var/obj/item/weapon/gun/V = new U
|
||||||
|
src.gun_choices += V
|
||||||
|
return
|
||||||
|
|
||||||
|
emp_act(severity) //Because we don't have psych for all slots right now but still want a downside to EMP. In this case your cover's blown.
|
||||||
|
name = "desert eagle"
|
||||||
|
desc = "It's a desert eagle."
|
||||||
|
icon_state = "deagle"
|
||||||
|
update_icon()
|
||||||
|
|
||||||
|
verb/change()
|
||||||
|
set name = "Change Gun Appearance"
|
||||||
|
set category = "Object"
|
||||||
|
set src in usr
|
||||||
|
|
||||||
|
var/obj/item/weapon/gun/A
|
||||||
|
A = input("Select gun to change it to", "Chameleon Gun")as null|anything in gun_choices
|
||||||
|
if(!A)
|
||||||
|
return
|
||||||
|
|
||||||
|
desc = null
|
||||||
|
permeability_coefficient = 0.90
|
||||||
|
|
||||||
|
desc = A.desc
|
||||||
|
name = A.name
|
||||||
|
icon_state = A.icon_state
|
||||||
|
item_state = A.item_state
|
||||||
|
flags_inv = A.flags_inv
|
||||||
|
usr.update_inv_r_hand()
|
||||||
|
usr.update_inv_l_hand() //so our overlays update.
|
||||||
@@ -135,4 +135,18 @@
|
|||||||
icon_state = "a762"
|
icon_state = "a762"
|
||||||
ammo_type = "/obj/item/ammo_casing/a762"
|
ammo_type = "/obj/item/ammo_casing/a762"
|
||||||
max_ammo = 0
|
max_ammo = 0
|
||||||
|
multiple_sprites = 1
|
||||||
|
|
||||||
|
/obj/item/ammo_magazine/chameleon
|
||||||
|
name = "magazine (.45)"
|
||||||
|
icon_state = "45"
|
||||||
|
ammo_type = "/obj/item/ammo_casing/chameleon"
|
||||||
|
max_ammo = 7
|
||||||
|
multiple_sprites = 1
|
||||||
|
|
||||||
|
/obj/item/ammo_magazine/chameleon/empty
|
||||||
|
name = "magazine (.45)"
|
||||||
|
icon_state = "45"
|
||||||
|
ammo_type = "/obj/item/ammo_casing/chameleon"
|
||||||
|
max_ammo = 0
|
||||||
multiple_sprites = 1
|
multiple_sprites = 1
|
||||||
@@ -105,3 +105,9 @@
|
|||||||
icon_state = "rocketshell"
|
icon_state = "rocketshell"
|
||||||
projectile_type = "/obj/item/missile"
|
projectile_type = "/obj/item/missile"
|
||||||
caliber = "rocket"
|
caliber = "rocket"
|
||||||
|
|
||||||
|
/obj/item/ammo_casing/chameleon
|
||||||
|
name = "chameleon bullets"
|
||||||
|
desc = "A set of bullets for the Chameleon Gun."
|
||||||
|
projectile_type = "/obj/item/projectile/bullet/chameleon"
|
||||||
|
caliber = ".45"
|
||||||
|
|||||||
@@ -58,4 +58,7 @@
|
|||||||
embed = 0
|
embed = 0
|
||||||
|
|
||||||
/obj/item/projectile/bullet/a762
|
/obj/item/projectile/bullet/a762
|
||||||
damage = 25
|
damage = 25
|
||||||
|
|
||||||
|
/obj/item/projectile/bullet/chameleon
|
||||||
|
damage = 1 // stop trying to murderbone with a fake gun dumbass!!!
|
||||||
@@ -1369,13 +1369,13 @@ datum/design/implant_free
|
|||||||
build_path = "/obj/item/weapon/implant/freedom"
|
build_path = "/obj/item/weapon/implant/freedom"
|
||||||
|
|
||||||
datum/design/chameleon
|
datum/design/chameleon
|
||||||
name = "Chameleon Jumpsuit"
|
name = "Chameleon Kit"
|
||||||
desc = "It's a plain jumpsuit. It seems to have a small dial on the wrist."
|
desc = "It's a set of clothes with dials on them."
|
||||||
id = "chameleon"
|
id = "chameleon"
|
||||||
req_tech = list("syndicate" = 2)
|
req_tech = list("syndicate" = 2)
|
||||||
build_type = PROTOLATHE
|
build_type = PROTOLATHE
|
||||||
materials = list("$metal" = 500)
|
materials = list("$metal" = 500)
|
||||||
build_path = "/obj/item/clothing/under/chameleon"
|
build_path = "/obj/item/weapon/storage/box/syndie_kit/chameleon"
|
||||||
|
|
||||||
|
|
||||||
datum/design/bluespacebeaker
|
datum/design/bluespacebeaker
|
||||||
|
|||||||
Reference in New Issue
Block a user