ID:140128
 
Code:
obj/Bump(A)
if(ismob(A))
var/mob/M=A
var/mob/O=src.user

if(src.Attribute=="Fire")
if(M.Ability=="Smelt"||M.Ability=="Spirit of Fire")
M.health+=src.power
view(M)<<"<b><font color=yellow>(System) [M]'s [M.Ability] absorbed [O]'s [src]..."
del(src)
return

if(src.Attribute=="Water")
if(M.Ability=="Absolute Zero"||M.Ability=="Scalemail"||M.Ability=="Spirit of Water"||M.Ability=="Spirit of Ice")
M.health+=src.power
view(M)<<"<b><font color=yellow>(System) [M]'s [M.Ability] absorbed [O]'s [src]..."
del(src)
return

if(src.Attribute in Anima&&M.Ability=="Anima Assimilation")
M.health+=src.power
view(M)<<"<b><font color=yellow>(System) [M]'s [M.Ability] absorbed [O]'s [src]..."
del(src)
return

if(src.Attribute=="Darkness"&&M.Ability=="Holy Ring")
src.power=round(src.power/2)
view(M)<<"<b><font color=yellow>(System) [M]'s [M.Ability] halved [O]'s [src]..."

if(src.Attribute=="Darkness")
if(M.Ability=="Total Darkness DigiCore"||M.Ability=="Lunar Aura"||M.Ability=="Eclipse Aura"||M.Ability=="Dark Vortex"||M.Ability=="Spirit of Darkness")
M.health+=src.power
view(M)<<"<b><font color=yellow>(System) [M]'s [M.Ability] absorbed [O]'s [src]..."
del(src)
return

if(M.Ability=="Speedster")
view(M)<<"<b><font color=yellow>(System) [M]'s [M.Ability] avoided [O]'s [src]..."
del(src)
return

if(src.Attribute=="Light")
if(M.Ability=="Seraphim"||M.Ability=="Ophan"||M.Ability=="Spirit of Light"||M.Ability=="Spirit of Steel")
M.health+=src.power
view(M)<<"<b><font color=yellow>(System) [M]'s [M.Ability] absorbed [O]'s [src]..."
del(src)
return

if(src.Attribute=="Darkness"&&M.Ability=="Seraphim")
src.power=0
view(M)<<"<b><font color=yellow>(System) [M]'s [M.Ability] negates [O]'s [src]..."
del(src)
return

if(M.Ability=="Solar Aura")
if(src.Attribute=="Light"||src.Attribute=="Fire")
M.health+=src.power
view(M)<<"<b><font color=yellow>(System) [M]'s [M.Ability] absorbed [O]'s [src]..."
del(src)
return

if(M.Ability=="Divine Blessing")
view(M)<<"<b><font color=yellow>(System) [M]'s [M.Ability] avoided [O]'s [src]..."
src.power=round(src.power/10)

if(src.Attribute=="Wind")
if(M.Ability=="Spirit of Wind")
M.health+=src.power
view(M)<<"<b><font color=yellow>(System) [M]'s [M.Ability] absorbed [O]'s [src]..."
del(src)
return

if(src.Attribute=="Lightning")
if(M.Ability=="Spirit of Lightning")
M.health+=src.power
view(M)<<"<b><font color=yellow>(System) [M]'s [M.Ability] absorbed [O]'s [src]..."
del(src)
return

if(src.Attribute=="Earth")
if(M.Ability=="Spirit of Earth"||M.Ability=="Spirit of Wood")
M.health+=src.power
view(M)<<"<b><font color=yellow>(System) [M]'s [M.Ability] absorbed [O]'s [src]..."
del(src)
return

if(src.Attribute in KaiserSpirit&&M.Ability=="Kaiser Spirit")
M.health+=src.power
view(M)<<"<b><font color=yellow>(System) [M]'s [M.Ability] absorbed [O]'s [src]..."
del(src)
return

if(src.Attribute in MagnaSpirit&&M.Ability=="Magna Spirit")
M.health+=src.power
view(M)<<"<b><font color=yellow>(System) [M]'s [M.Ability] absorbed [O]'s [src]..."
del(src)
return

if(M.Ability=="God Spirit")
var/list/GodSpirit=list()
GodSpirit.Add(Anima,Force)
if(src.Attribute in GodSpirit)
M.health+=src.power
view(M)<<"<b><font color=yellow>(System) [M]'s [M.Ability] absorbed [O]'s [src]..."
del(src)
return


Problem description:
Well... My brain probably went stupid... when this piece of code runs... only the first few lines are being executed but if the first "if" fails it doesnt work.... Any help what I might have done wrong? Seriously I feel brain dead right now lol
Goukaryuu wrote:
Code:
> obj/Bump(A)
> if(ismob(A))
> var/mob/M=A
> var/mob/O=src.user
>
> if(src.Attribute=="Fire")
> if(M.Ability=="Smelt"||M.Ability=="Spirit of Fire")
> M.health+=src.power
> view(M)<<"<b><font color=yellow>(System) [M]'s [M.Ability] absorbed [O]'s [src]..."
> del(src)
> return
>
> if(src.Attribute=="Water")
> if(M.Ability=="Absolute Zero"||M.Ability=="Scalemail"||M.Ability=="Spirit of Water"||M.Ability=="Spirit of Ice")
> M.health+=src.power
> view(M)<<"<b><font color=yellow>(System) [M]'s [M.Ability] absorbed [O]'s [src]..."
> del(src)
> return
>
> if(src.Attribute in Anima&&M.Ability=="Anima Assimilation")
> M.health+=src.power
> view(M)<<"<b><font color=yellow>(System) [M]'s [M.Ability] absorbed [O]'s [src]..."
> del(src)
> return
>
> if(src.Attribute=="Darkness"&&M.Ability=="Holy Ring")
> src.power=round(src.power/2)
> view(M)<<"<b><font color=yellow>(System) [M]'s [M.Ability] halved [O]'s [src]..."
>
> if(src.Attribute=="Darkness")
> if(M.Ability=="Total Darkness DigiCore"||M.Ability=="Lunar Aura"||M.Ability=="Eclipse Aura"||M.Ability=="Dark Vortex"||M.Ability=="Spirit of Darkness")
> M.health+=src.power
> view(M)<<"<b><font color=yellow>(System) [M]'s [M.Ability] absorbed [O]'s [src]..."
> del(src)
> return
>
> if(M.Ability=="Speedster")
> view(M)<<"<b><font color=yellow>(System) [M]'s [M.Ability] avoided [O]'s [src]..."
> del(src)
> return
>
> if(src.Attribute=="Light")
> if(M.Ability=="Seraphim"||M.Ability=="Ophan"||M.Ability=="Spirit of Light"||M.Ability=="Spirit of Steel")
> M.health+=src.power
> view(M)<<"<b><font color=yellow>(System) [M]'s [M.Ability] absorbed [O]'s [src]..."
> del(src)
> return
>
> if(src.Attribute=="Darkness"&&M.Ability=="Seraphim")
> src.power=0
> view(M)<<"<b><font color=yellow>(System) [M]'s [M.Ability] negates [O]'s [src]..."
> del(src)
> return
>
> if(M.Ability=="Solar Aura")
> if(src.Attribute=="Light"||src.Attribute=="Fire")
> M.health+=src.power
> view(M)<<"<b><font color=yellow>(System) [M]'s [M.Ability] absorbed [O]'s [src]..."
> del(src)
> return
>
> if(M.Ability=="Divine Blessing")
> view(M)<<"<b><font color=yellow>(System) [M]'s [M.Ability] avoided [O]'s [src]..."
> src.power=round(src.power/10)
>
> if(src.Attribute=="Wind")
> if(M.Ability=="Spirit of Wind")
> M.health+=src.power
> view(M)<<"<b><font color=yellow>(System) [M]'s [M.Ability] absorbed [O]'s [src]..."
> del(src)
> return
>
> if(src.Attribute=="Lightning")
> if(M.Ability=="Spirit of Lightning")
> M.health+=src.power
> view(M)<<"<b><font color=yellow>(System) [M]'s [M.Ability] absorbed [O]'s [src]..."
> del(src)
> return
>
> if(src.Attribute=="Earth")
> if(M.Ability=="Spirit of Earth"||M.Ability=="Spirit of Wood")
> M.health+=src.power
> view(M)<<"<b><font color=yellow>(System) [M]'s [M.Ability] absorbed [O]'s [src]..."
> del(src)
> return
>
> if(src.Attribute in KaiserSpirit&&M.Ability=="Kaiser Spirit")
> M.health+=src.power
> view(M)<<"<b><font color=yellow>(System) [M]'s [M.Ability] absorbed [O]'s [src]..."
> del(src)
> return
>
> if(src.Attribute in MagnaSpirit&&M.Ability=="Magna Spirit")
> M.health+=src.power
> view(M)<<"<b><font color=yellow>(System) [M]'s [M.Ability] absorbed [O]'s [src]..."
> del(src)
> return
>
> if(M.Ability=="God Spirit")
> var/list/GodSpirit=list()
> GodSpirit.Add(Anima,Force)
> if(src.Attribute in GodSpirit)
> M.health+=src.power
> view(M)<<"<b><font color=yellow>(System) [M]'s [M.Ability] absorbed [O]'s [src]..."
> del(src)
> return
>
>

Problem description:
Well... My brain probably went stupid... when this piece of code runs... only the first few lines are being executed but if the first "if" fails it doesnt work.... Any help what I might have done wrong? Seriously I feel brain dead right now lol

Adding to it... I tried ALL the abilities... and only Smelt works... please this is killing my brain even more
In response to Goukaryuu
Not directly a response to your question, but another approach you could take.

Bumped() is a common proc people will create to help divide up situations like you have right there.

You would create this proc like so:
atom/proc/Bumped(atom/movable/M)
atom/movable/Bump(atom/A)
A.Bumped(src)


This will let you define things in this manner:
obj/Rock
Bumped(mob/M)
if(ismob(M))
M<<"You are a mob and you bumped [src]!"


Something to keep in mind, even if you typecast M as a mob it doesn't necessarily mean it 'has' to be a mob. This is why you should always remember to put in if(ismob(M)) or if(isobj(M)) to make sure the thing that is bumping you is in fact what you want it to be.
In response to AJX
EDIT: o.O

You can kill me... lol... I found out the problem it was sooo stupid... Thanx anywayz... your idea improved my code =]