Mostly removes creation of throwaway objects from chameleon items

- Replaces the creation of throwaway items from New() with initial() calls for all chameleon items.
- Unfortunately throwaway items could not be removed when switch appearance, as initial() does not work very will with list vars.
- Makes chameleon item name cache lists global.
- Makes chameleon guns a subtype of energy guns, removes chameleon magazines.
- Moves chameleon.dm to clothing module root
- Items without icon or icon_state are no longer selectable as chameleon appearances.
- Chameleon verbs go in their own panel.
This commit is contained in:
mwerezak
2015-06-04 01:00:49 -04:00
parent 3434826eaf
commit 3906989eac
11 changed files with 436 additions and 523 deletions

View File

@@ -53,12 +53,12 @@
then click where you want to fire. To reload, click the weapon in your hand to unload (if needed), then add the appropiate ammo. The description \
will tell you what caliber you need."
/obj/item/weapon/gun/projectile/chameleon
/obj/item/weapon/gun/energy/chameleon
description_info = null //The chameleon gun adopts the description_info of the weapon it is impersonating as, to make meta-ing harder.
description_antag = "This gun can alter its appearance to mimick other weapons. To change the appearance, use the appropriate verb in the object tab. \
The ammo loaded by default makes the gun useless for actual combat."
/obj/item/weapon/gun/projectile/chameleon/change(picked in gun_choices) //Making the gun change its help text to match the weapon's help text.
/obj/item/weapon/gun/energy/chameleon/change(picked in gun_choices) //Making the gun change its help text to match the weapon's help text.
..(picked)
var/obj/O = gun_choices[picked]
description_info = initial(O.description_info)