Users browsing this thread: 1 Guest(s)
Condemned Spell Pointer?

#1
Posts: 3
Threads: 1
Thanks Received: 0
Thanks Given: 1
Joined: Aug 2013
Reputation: 0
Status
None
All right, so I'm working on a hack that involves a major overhaul of the spell/skill set. Essentially, I've made the 24 black spells into low-, mid-, and high-level elemental spells. In particular, I've changed the spell Doom (the spell at offset 0x0D, the 14th spell) to a spell called "Seism" that uses the Quake animation; and moved Doom to where Osmose was (at the 0x29 offset).

Interestingly, I noticed while fighting a modded Vargas that uses Doom Fist on a regular basis (sets Condemned status) that when the Condemned timer reaches 0, the effect is to cast Seism! That is, the Condemned timer reaching 0 has the effect of casting whatever spell is at the 0x0D offset.

Hit

I would actually like it to cast Doom. Does anyone know which hex offset controls the behavior of the Condemned status? I've milled around in the ROM endlessly looking for some kind of clue, but I'm not sure I'd recognize the code for it if it slapped me across the face. I'm reasonably sure that it's a jump to a subroutine that factors in 0x0D somehow. If I could find the address of the subroutine for casting spells, that'd be a start.
  Find
Quote  

#2
Posts: 290
Threads: 3
Thanks Received: 40
Thanks Given: 1
Joined: Apr 2012
Reputation: 9
Status
None
If you look at C2/4F5F, the spell ID is hardcoded to $0D when the countdown reaches zero. You'd simply need to change the two instances of #$0D to #$29.

Another place you may need to look is C2/5BC7, which should be Roulette. That's all the hardcoded Doom references I could find on a quick search.


GET A SILK BAG FROM THE GRAVEYARD DUCK TO LIVE LONGER.

Brave New World
  Find
Quote  
[-] The following 1 user says Thank You to Synchysi for this post:
  • rhodox (08-11-2013)

#3
Posts: 3
Threads: 1
Thanks Received: 0
Thanks Given: 1
Joined: Aug 2013
Reputation: 0
Status
None
Thanks! But I must have a different version of the ROM, because those addresses have 0xB0 and 0x5F as values... I'm using v. 1.0 with a header. I tried looking at +0x200 from those offsets but to no avail.

How did you find them? Can you give me a string to search for?
  Find
Quote  

#4
Posts: 290
Threads: 3
Thanks Received: 40
Thanks Given: 1
Joined: Apr 2012
Reputation: 9
Status
None
http://assassin17.home.comcast.net/~assa...code2i.txt

C2/4F5F is the beginning of the block of code that deals with condemn expiration (and a handful of other effects), while C2/5BC7 is the direct address of one of the other instructions you'll need to change.

More specifically, what you'll need to change are at C2/4F66 (C2/5166), C2/4F77 (C2/5177), and C2/5BC8 (C2/5DC8). The addresses in parentheses are where those should be in a headered ROM.


GET A SILK BAG FROM THE GRAVEYARD DUCK TO LIVE LONGER.

Brave New World
  Find
Quote  

#5
Posts: 3
Threads: 1
Thanks Received: 0
Thanks Given: 1
Joined: Aug 2013
Reputation: 0
Status
None
A million thanks! A very useful reference indeed. I found the spell pointer at C2/5DC8.
  Find
Quote  



Forum Jump:

Users browsing this thread: 1 Guest(s)


Theme by Madsiur2017Custom Graphics by JamesWhite