* Spells 1

* Barely functional, but more converted than before!
Now with more coderart!
Some bullshit to let you use charges and holder var at the same time!

* Renames plasma storage variable
Makes it so xenos once again get verbs and spells added on new()
Changes some code around so you can have holder var requirements and recharging time requirements

* AHHHHHHH FUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUCK

Fixes a bug with spell channeling switching
Makes it so plasma DOESN'T USE ADJUST TOX LOSS TO ADJUST ITSELF
RECODES CONJURE SO IT HAS A SPELL FLAG TO NOT PLACE DUPLICATE
**MAKES IT SO THE FUCKING CONJURE DOESN'T HAVE A WELDER SOUND FOR NO REASON FOR EVERY CHILD**

I DONT EVEN KNOW WHAT ELSE CHRIST

* WATAFAK

* readds screen spells

* Fixes more conflicts

* New sprites

* Removes Unacidable
Final pass on corrosive acid
Converts regurgitate to spell

* Final revision before testing and completion

Creates alien spellmaster

* More things

* Some spell master stuff and bugfixes

* Finishes the code, fixes the bugs, removes unacidable from fucking defficiency

* FUCK YOU DEFFICIENCY, FUCK YOU AGAIN

* This is more reasonable

* Arbitrary balance changes ahoy

* Resolve issues
This commit is contained in:
clusterfack
2016-08-24 11:05:13 -05:00
committed by sood
parent 67b83b47c1
commit 1b9fe86efb
88 changed files with 748 additions and 526 deletions

View File

@@ -105,6 +105,7 @@
#define ui_spell_master "EAST-1:16,NORTH-1:16" //Used as compile time value
#define ui_genetic_master "EAST-1:16,NORTH-3:16" //Used as compile time value
#define ui_alien_master "EAST-0:-4,NORTH-0:-6" //Used as compile time value
//Pop-up inventory
#define ui_shoes "WEST+1:[8*PIXEL_MULTIPLIER],SOUTH:[5*PIXEL_MULTIPLIER]"

View File

@@ -10,7 +10,6 @@
name = ""
icon = 'icons/mob/screen1.dmi'
layer = HUD_BASE_LAYER
unacidable = 1
var/obj/master = null //A reference to the object in the slot. Grabs or items, generally.
var/gun_click_time = -100 //I'm lazy.
var/globalscreen = 0 //This screen object is not unique to one screen, can be seen by many
@@ -780,3 +779,6 @@
if(!objects.globalscreen)
returnToPool(objects)
src.screen = null
/obj/screen/acidable()
return 0

View File

@@ -11,6 +11,7 @@
screen_loc = ui_spell_master
var/mob/spell_holder
var/length = 9
/obj/screen/movable/spell_master/Destroy()
..()
@@ -71,8 +72,8 @@
for(var/i = 1; i <= spell_objects.len; i++)
var/obj/screen/spell/S = spell_objects[i]
var/xpos = x_position + (x_position < 8 ? 1 : -1)*(i%7)
var/ypos = y_position + (y_position < 8 ? round(i/7) : -round(i/7))
var/xpos = x_position + (x_position < (world.view+1) ? 1 : -1)*(i%length)
var/ypos = y_position + (y_position < (world.view+1) ? round(i/length) : -round(i/length))
S.screen_loc = "[encode_screen_X(xpos)]:[x_pix],[encode_screen_Y(ypos)]:[y_pix]"
if(spell_holder && spell_holder.client)
spell_holder.client.screen += S
@@ -143,6 +144,16 @@
screen_loc = ui_genetic_master
/obj/screen/movable/spell_master/alien
name = "Alien Abilities"
icon_state = "alien_spell_ready"
open_state = "alien_open"
closed_state = "alien_closed"
screen_loc = ui_alien_master
length = 9
//////////////ACTUAL SPELLS//////////////
//This is what you click to cast things//
/////////////////////////////////////////
@@ -182,7 +193,7 @@
overlays -= spell.hud_state
if(spell.charge_type == Sp_RECHARGE || spell.charge_type == Sp_CHARGES)
if((spell.charge_type & Sp_RECHARGE) || (spell.charge_type & Sp_CHARGES))
if(spell.charge_counter < spell.charge_max)
icon_state = "[spell_base]_spell_base"
if(spell.charge_counter > 0)
@@ -222,8 +233,10 @@
/obj/screen/spell/proc/add_channeling()
var/image/channel = image(icon = icon, loc = src, icon_state = "channeled", layer = src.layer + 1)
channeling_image = channel
spellmaster.spell_holder.client.images += channeling_image
if(spellmaster && spellmaster.spell_holder && spellmaster.spell_holder.client)
spellmaster.spell_holder.client.images += channeling_image
/obj/screen/spell/proc/remove_channeling()
spellmaster.spell_holder.client.images -= channeling_image
if(spellmaster && spellmaster.spell_holder && spellmaster.spell_holder.client)
spellmaster.spell_holder.client.images -= channeling_image
channeling_image = null