scr_spellfunction
scr_spell(arg0, arg1)
{
spell = arg0;
caster = arg1;
star = global.chartarget[arg1];
global.spelldelay = 10;
var item_use = false;
switch (spell)
{
case 0:
break;
case 1:
cancelattack = 0;
if (global.monster[star] == 0)
scr_retarget_spell();
if (cancelattack == 0)
{
damage = ceil((global.battleat[arg1] * 10) - (global.monsterdf[star] * 3));
if (global.automiss[star] == 1)
damage = 0;
scr_damage_enemy(star, damage);
attack = instance_create(global.monsterx[star] + random(6), global.monstery[star] + random(6), obj_basicattack);
attack.sprite_index = spr_attack_mash1;
dm.delay = 8;
}
global.spelldelay = 30;
break;
case 2:
healnum = global.battlemag[arg1] * 5;
scr_heal(star, healnum);
global.charinstance[star].healnum = healnum;
with (global.charinstance[star])
{
ha = instance_create(x, y, obj_healanim);
ha.target = id;
dmgwr =
scr_dmgwriter_selfchar();
with (dmgwr)
{
delay = 8;
type = 3;
}
if (global.hp[global.char[myself]] >= global.maxhp[global.char[myself]])
{
with (dmgwr)
specialmessage = 3;
}
dmgwr.damage = healnum;
tu += 1;
}
global.spelldelay = 15;
break;
case 3:
if (global.monster[star] == 0)
scr_retarget_spell();
if (global.monster[star] == 1)
{
if (global.monsterstatus[star] == 1)
{
with (global.monsterinstance[star])
{
if (global.monstertype[myself] != 19 && global.monstertype[myself] != 3
Dummy)
{
global.flag[51 + myself] = 3;
event_user(10);
scr_monsterdefeat();
}
else
{
pacifycon = 1;
global.spelldelay = 999;
}
}
}
else
{
_pspell = instance_create(0, 0, obj_pacifyspell);
_pspell.target = global.monsterinstance[star];
_pspell.fail = 1;
}
}
global.spelldelay = 20;
break;
case 4:
cancelattack = 0;
global.spelldelay = 30;
if (global.monster[star] == 0)
scr_retarget_spell();
if (cancelattack == 0)
{
global.spelldelay = 70;
damage = ceil(((global.battlemag[arg1] * 5) + (global.battleat[arg1] * 11)) - (global.monsterdf[star] * 3));
if (global.automiss[star] == 1)
damage = 0;
attack = instance_create(obj_herosusie.x, obj_herosusie.y, obj_rudebuster_anim);
attack.damage = damage;
attack.star = star;
attack.caster = caster;
attack.target = global.monsterinstance[star];
}
break;
case 5:
...