April sync (#360)
* Maps and things no code/icons * helpers defines globalvars * Onclick world.dm orphaned_procs * subsystems Round vote and shuttle autocall done here too * datums * Game folder * Admin - chatter modules * clothing - mining * modular computers - zambies * client * mob level 1 * mob stage 2 + simple_animal * silicons n brains * mob stage 3 + Alien/Monkey * human mobs * icons updated * some sounds * emitter y u no commit * update tgstation.dme * compile fixes * travis fixes Also removes Fast digest mode, because reasons. * tweaks for travis Mentors are broke again Also fixes Sizeray guns * oxygen loss fix for vore code. * removes unused code * some code updates * bulk fixes * further fixes * outside things * whoops. * Maint bar ported * GLOBs.
This commit is contained in:
@@ -79,47 +79,42 @@
|
||||
if(button)
|
||||
button.name = "Change [chameleon_name] Appearance"
|
||||
|
||||
|
||||
chameleon_blacklist |= typecacheof(target.type)
|
||||
for(var/V in typesof(chameleon_type))
|
||||
if(ispath(V, /obj/item))
|
||||
if(ispath(V) && ispath(V, /obj/item))
|
||||
var/obj/item/I = V
|
||||
if(chameleon_blacklist[V] || (initial(I.flags) & ABSTRACT))
|
||||
continue
|
||||
chameleon_list += I
|
||||
if(!initial(I.icon_state) || !initial(I.item_state))
|
||||
continue
|
||||
var/chameleon_item_name = "[initial(I.name)] ([initial(I.icon_state)])"
|
||||
chameleon_list[chameleon_item_name] = I
|
||||
|
||||
|
||||
/datum/action/item_action/chameleon/change/proc/select_look(mob/user)
|
||||
var/list/item_names = list()
|
||||
var/obj/item/picked_item
|
||||
for(var/U in chameleon_list)
|
||||
var/obj/item/I = U
|
||||
item_names += initial(I.name)
|
||||
var/picked_name
|
||||
picked_name = input("Select [chameleon_name] to change into", "Chameleon [chameleon_name]", picked_name) in item_names
|
||||
picked_name = input("Select [chameleon_name] to change into", "Chameleon [chameleon_name]", picked_name) as null|anything in chameleon_list
|
||||
if(!picked_name)
|
||||
return
|
||||
for(var/V in chameleon_list)
|
||||
var/obj/item/I = V
|
||||
if(initial(I.name) == picked_name)
|
||||
picked_item = V
|
||||
break
|
||||
picked_item = chameleon_list[picked_name]
|
||||
if(!picked_item)
|
||||
return
|
||||
update_look(user, picked_item)
|
||||
|
||||
/datum/action/item_action/chameleon/change/proc/random_look(mob/user)
|
||||
var/picked_item = pick(chameleon_list)
|
||||
var/picked_name = pick(chameleon_list)
|
||||
// If a user is provided, then this item is in use, and we
|
||||
// need to update our icons and stuff
|
||||
|
||||
if(user)
|
||||
update_look(user, picked_item)
|
||||
update_look(user, chameleon_list[picked_name])
|
||||
|
||||
// Otherwise, it's likely a random initialisation, so we
|
||||
// don't have to worry
|
||||
|
||||
else
|
||||
update_item(picked_item)
|
||||
update_item(chameleon_list[picked_name])
|
||||
|
||||
/datum/action/item_action/chameleon/change/proc/update_look(mob/user, obj/item/picked_item)
|
||||
if(istype(target, /obj/item/weapon/gun/energy/laser/chameleon))
|
||||
@@ -441,6 +436,7 @@
|
||||
chameleon_gun_vars = list()
|
||||
ammo_copy_vars = list("firing_effect_type")
|
||||
chameleon_ammo_vars = list()
|
||||
recharge_newshot()
|
||||
get_chameleon_projectile(/obj/item/weapon/gun/energy/laser)
|
||||
|
||||
/obj/item/weapon/gun/energy/laser/chameleon/emp_act(severity)
|
||||
@@ -480,7 +476,7 @@
|
||||
if(!istype(P))
|
||||
CRASH("[P] is not /obj/item/projectile!")
|
||||
return FALSE
|
||||
chameleon_projectile_vars = list("name" = "practice laser", "icon" = 'icons/obj/projectiles.dmi', "icon_state" = "laser")
|
||||
chameleon_projectile_vars = list("name" = "practice laser", "icon" = 'icons/obj/projectiles.dmi', "icon_state" = "laser", "nodamage" = TRUE)
|
||||
for(var/V in projectile_copy_vars)
|
||||
if(P.vars[V])
|
||||
chameleon_projectile_vars[V] = P.vars[V]
|
||||
|
||||
Reference in New Issue
Block a user